Feature Complete is a fantastic cure for depression. Not that I've reached that milestone yet, but delivering functionality always makes me feel good.
(as an aside, speaking of depression, the Buffy "Once More with Feeling" soundtrack has been in almost constant rotation in my CD player. Why I'm still using a CD player is a long story, though. Sigh.)
I was reflecting on how cool it is to be able to string together these incredible components and build useful, helpful tools for people. Over the past few nights, I've taught the Monkey (our content management system) to render PDFs on its own, without the aid of any silly print-from-Web or HTML translation tools. I'm rendering the content into an XML template, then using XSLT to transform that XML to XSL-FO, then running it all through FOP to generate the PDF.
The whole system has a lot of tweaking, robustness enhancements, and so forth to go, but the fact is that it renders PDFs now. And that is an incredibly sweet feeling.
Anyway, back to my reflection. I realized how much more rewarding programming is for me in the Free Software continuum. It's tremendously liberating for me to be able to build so easily on the work of others without always degenerating into cursing their names, skills, existences, etc. :)
Seriously, in my (now long past) days as a Windows programmer, I spent an awful lot of time with my blood boiling. I spent long, livid moments debugging incredibly opaque systems. Granted, Microsoft has made available a prodigious amount of documentation on the various shortcomings of their systems. But no amount of documentation will, in a pinch, substitute for the source. That is, as they say, the ultimate doc.
Home Destruction^H^H Improvement Dept.:
My bathroom remodeling project is also approaching Feature Complete. It's been a doozy. I'm learning all sorts of fantastic things about construction techniques in the U.S. in the sixties. I'm also learning about how leaks cause wood rot, and how many layers of tile, flooring, etc., you can pile up before it's really time to tear things out and start over.
In many ways, it's an awful lot like software development :)
The saddest part of it all is that I'm a renter. Oh, well. At least I'm a renter who's lucky enough to be married to a woman endowed with (more or less) saintly patience and endurance.
Oh, yeah, this would be a good time to point out that the marriage is still quite fantastic, even after almost eighteen months. I say "even after" because I often hear tales of the honeymoon ending after the first year. Well, I guess we chose wisely, because I still like to sit and try to figure out what I did to deserve this gift.
Philosophy Wars Dept.:
I really want to respond eloquently to the various concerns I've heard voiced by and linked from by a few notable bloggers. Add to that the recent letter (now withdrawn) suggesting "banning" the GPL from government-funded projects in favour of differently-restrictive licenses.
But I lack the energy and focus right now to do so in a manner consistent with my abilities, so I won't. I promise, as soon as I get my own damned blog up (which is a major project, because I'm not really happy with any of the tools available, which, of course, means writing code), I'll weigh in. As if anyone cares. "Does anybody even notice? Does anybody even care?"