24 April 2006
Most programmers hate writing documentation and avoid doing so whenever possible. It's a pain, and a waste of time. After all, anyone who can't "use the source" really has no business mucking around in there anyway. Right?
A couple of years ago I discovered the selfish benefits of documentation. The documentation process can be seen as the porting of a program from one language into another (e.g. Python to English). This forces one to reexamine every part of the program in a new light. Things which seemed obvious when it was being programmed suddenly look questionable. Bugs are found, optimisations are made, features are added.
Last month's difference algorithm is no exception. I started scribbling out everything you never wanted to know about diff strategies. The more I described it, the more improvements I discovered. It turned into a project that simply would not die. Until today.
Unrelated video which has been floating around for a while: Multi-Touch Interaction Experiments. Slick.