Brandon's Blog

3/26/2009

Wasn't That Footloose?

In addition to no umbrella, I have no music today at my desk.  Consequently, I have virtually no energy.  It’s been a pretty good day, and I’m glad about that, but I just can’t get going the way I normally can when the work flows like this.

The other leg of this problem is that my heart has passed back into Sigma in a big way.  Something about sitting down on our own green couch must have drawn out the spirit of programming in me.  And, while Meta is out building entire wings onto our little edifice here, I am trimming the topiaries outside the front door.  It’s a good combination, and it leads the way toward bigger and better things.

There is kind of a point in a project like this where the code gets big enough that you no longer feel it completely in an intrinsic way.  You can look at parts, and you see stories, biases, misconceptions, strokes of insight, and reluctant compromises.  You remember all this, but the whole thing isn’t like one entity anymore.  It’s just too big.

When you first start (my favorite part, which is why so many of these hobby efforts languish under my supervision), every line of code is part of a whole that you understand and are building.  It is a very close relationship with the creative forces involved.  The emerging reality comes in quickly and is welcome at first, but after some time I start to feel limitations.

Teamwork ensures this doesn’t completely kill the project.  Sigma has never, in any of its incarnations, been about finishing, but to live it needs to continue to grow.  We are already much farther along then any other iteration of the project.  We are getting somewhat close to a playable demo!  This is going to be a fascinating and exciting time.  People otherwise uninvolved can become the most important contributors!

This probably reads as pathetically and strangely sappy, but I needed to do something to nurture the code.  This is helping me get both the “new” feeling back, and to refamiliarize myself with the internals.  Python is great at keeping projects organized and understandable, and it’s no problem getting back into the groove.  And fixing warts that have existed from nearly the beginning is really exciting.

I’m giving the worst part of the code (XML parsing) a complete overhaul.  As things knit back together (the programming community refers to “breaking” the code: solving a hard problem rarely allows the code to remain intact while fixes are being applied) I feel like we’re getting lean and mean, ready to move on to the next challenges.

It’s fun.  I don’t know if there’s anything else quite like programming.