I thought this article (‘Learning the iTunesDB file format’) was an excellent background on the principles of reverse-engineering existing binary file-formats. I’ve done some ‘clean room’ reverse-engineering too and at the end of the project, I was able to extract and cross-reference data from an existing accounting package. The most interesting part of the process is that after figuring out the patterns and the essential algorithms (reading and writing the proper bytes) every byte just falls into place. To this day, I can still dream up the code, which is a kind of funny. That random-looking 8 or 9 in front of each formatted numeric amount? That was just a joke from the original designers of that accounting package.
So, I have a couple of left over links I’d like to get rid of: Way long ago, I noticed that the ODF (the people who are in charge of the Open Office document specifications) announced the (initial) release of the ODF Toolkit, which includes AODL, a .Net module that supports well, you know, Open Office documents. For a complete set of features, look here.
Months ago, Slashdot featured the topic ‘Please list your Useful Stupid Unix trick’. While the discussion (predictably) heads into the typical Slashdot direction, the posting actually has some good and useful commands and hints:
I’ve seen Windows people go slack-jawed in astonishment as I ssh to the other side of the world and run X programs over forwarding.
Some refuse to believe it, others shake their heads and walk away.
And believe it or not: Unix systems have been able to do that since decades.