There comes a time…

When coding a largish application from the ground up there comes a time when things look bleak. This usually happens shortly after the application becomes too complex to hold the whole thing in your memory. Either the levels of abstraction get too disorienting or, if you’ve foregone abstraction, keeping all of the “meaningful indexes” straight feels daunting.

And then, perhaps a few hours of panic and toil later (if you’re lucky) it all kind of comes together. You’ve moved from running against test data and start running “live”. Not truly live, of course, unless you want to live dangerously but you get the point. If you’re unlucky it just bogs down into a horrible mess.

Today we are lucky. The thinger I’ve been pounding on for the past week and a half generates useful stuff. If I were a gambling man, I’d go ahead and make the changes to build something that other folks will see. But I’m not. So come Monday I’ll be rabbiting away at swotting up a production asset, doing some tweaking in the build system, and then releasing my WIX generator on the QA resources. This gets my team out of the game of slogging through an ever increasing number of modules when making across-the-board changes. New changes are as simple as writing a new IGenieJob.

It also forces strict standardization on a collection of installer products that have grown organically over the past three years. At the end of last year I managed to normalize a number of things. This is the final step to making this an automated, predictable, and easily troubleshot process for $COMPANY_NAME.

Not to mention, spinning up new installer projects just got a whole lot easier. Also, I get to check off one of my big 2012 annual review goals before it ever gets officially assigned to me. :)

A good way to end the week. I will possibly be quite intoxicated within the next five hours.