Ian Bicking: the old part of his blog

Comment

The key thing is having correct documentation for your file format, otherwise you're on a reverse engineering spree next time you need to work with that file. Working with binary files is quite easy, especially with an appropriate supporting framework (I've 90% written two for Python, neither really released though). However, data that is tightly bound to some fixed schema, like SQL or XML (sometimes) is definitely easier to reverse engineer than anything else (AWK-able files included).
Comment on Persistent Persistence
by Bob Ippolito