Painstaking

Writing software is almost nothing like going for a jog, except in that before you start they can both seem like a really good idea.

The best bit about programming is when you have a big job to do, and you just get stuck into it. It’s actually fun! You can go from having nothing to seeing preliminary results within a day, and a decent prototype might be happening within the week.

And then, it stops being fun, and instead becomes very very tedious, as you attempt to fix a gazillion little bugs and glitches, and keep all the functionality working as you add support for operations you failed to anticipate at the beginning. [A lot of people invest more time in the initial planning stages than I do, but I doubt that anyone maintaining an application doesn't relate to what I'm talking about.]

A dodgy metaphor

The first stage of programming is a bit like pulling a rabbit out of thin air. Both impressive and satisfying, it makes you feel like a true magician. The second part comes when you discover that your rabbit has tuberculosis and eczema, as well as several nervous disorders. You don’t want to tend to the sickly rabbit, you just want to toss it aside and yank a fresh one out of the air!

Minor Achievements

Fixed up a few things in JujuEdit, such as the replacement of line ending characters when swapping between LF and CRLF modes. Works well but makes me realize that I should really support CR as a potential line ending on its own (I believe it is not uncommon on the Mac?)

Tried a new installer and was pleased with it until I noticed that it failed to restore associations in the same way as my current installer does. Bah!