6 ms·
Courgette: better binary diffing by understanding x86
- spitfire 17y agoI did this in the 90's in pascal as shareware. No one bought it. Cool idea though.
- jws 17y agoI did this in the 90's in pascal as shareware. No one bought it. – This may be one of the best lines I heard in weeks. I will use it to dismiss uninteresting ideas until someone threatens bodily injury upon me.
- cperciva 17y agoThis is the approach used by Exediff (B.S. Baker, U. Manber, and R. Muth, Compressing Differences of Executable Code, ACM SIGPLAN Workshop on Compiler Support for System Software, 1999). I can't say that I'm very surprised that it's making an appearance in Chrome, given that one of the authors (Udi Manber) is a VP Engineering at Google.
- litewulf 17y agoI believe Udi Manber works in Search or online something or other, and not Apps. There are 10,000 engineers (in varying capacities) at Google, who have all done lots of disparate and random things. Sometimes, by sheer stroke of luck, people will happen to have already done something, but due to size, it will simply be reinvented.
- cperciva 17y agoI didn't say that Udi Manber was directly involved in this project -- but that doesn't mean that his presence at Google didn't contribute. Firefox uses bsdiff, and I know Chrome people have looked at it; it wouldn't surprise me in the slightest if they saw the name "Udi Manber" in my thesis, said "hey, we've heard of that guy", and were consequentially encouraged to replicate his approach (well, his student's approach, technically) to the problem.
- litewulf 17y agoSure, thats reasonable. I think I'm just a bit frustrated by the "so and so works at Google, therefore they must have chosen technology X or approach Y because of their presence!" when its very hard to know what everyone in (or formerly at) Google has ever worked on and remember to call them up.
- plaes 17y agoWell, it might work with Windows, but it's really a no go on distributions which are using package management and un-privileged user accounts.
- samlittlewood 17y agoSimilar idea gets used for compression of code - transform it to a more amenable form. http://www.paul.sladen.org/projects/compression/ http://www.paul.sladen.org/projects/compression/ Make sure that the transform and its inverse are robust in the face of random data - and it can be completely hidden from the user.