I don't have to be up this late but I got pathetically little done during the day. Last week I got a change request, one of those "can you add xx to this screen". It was something small and simple that was missing from the specifications. Ok, sure, no problem, that should be easy... This small change has already taken 3 more days than it should and required major architectural changes! That's ok, the product is probably better off for it. Oh and now I can produce a whole new slew of new reports, which no one will ever look at, that previously weren't possible.
But it's so not good to make major architectural changes to an application that's already late, deployed in alpha/beta form to live users, and you have a very inflexible timeframe. See, it won't be long before those live users need to run payroll reports and they can't do that yet! Oops. I've got a planned deployment tomorrow need to get a few hundred more things done for it.
The big reason I'm up so late is because I had a case of "coders block" today. I hate that. I know when something is "right" but nothing I did felt "right" today. I've never used the revert function in Subversion so much. Sometimes I can be blocked for days but I found a solution that works well for me: just don't stop coding. Don't leave the computer. Type and type. Eventually something will come to me, and even if I have undo everything I've done previously, at least I've made some progress. Because the alternative is reading ?off and Digg and Slashdot and Google News and playing some Space Cadet Pinball and Subspace Continuum (some JOS bastard got me addicted to that game). This is better, I think.
I really should be going to bed now. If my wife knew I was writing this post, she'd kill me. Luckily she won't check ?off until sometime tomorrow at work.