So once again I can’t sleep (despite the 3.75mg of Zopiclone flowing uselessy through my veins). After a few fruitless hours of lying in bed, I got up. I intended to read a book, but instead I got to thinking about a prototype I’d been wanting to build.
One thing led to another and now it’s 2ish and I’m sitting in a quiet house furiously churning out code. Because I just started building, I’m writing a lot of config and glue and not all that much functionality. Which isn’t the fun part, as any non-weird programmer will tell you.
But I’m having a wonderful time. In my day job, I work with a creaky old (and generally hated) application written in very very old languages where you have to do an awful lot of kicking to squeeze out every drop of new functionality. For example, we have the functionality to email copies of certain pages to users as PDFs. This unexciting, really-ought-to-be-simple function is achieved using several different scripts in several different languages, a homemade asynchronous messaging system running on hackery and optimism, and an impressively unstable plugin of unknown age. It takes a good 15 minutes for the PDF to arrive.
I’m using Rails for my prototype. I could talk for days about my love of Rails, but I won’t, because I’m limiting how long I spend writing this so I can write more code 🙂
Anyway, I decided I wanted to use multiple-table inheritance, a slightly esoteric piece of design which I think is appropriate in this case. So I installed a gem, and now I have it. It cost me about half-a-dozen lines of config code and it Just Works.
You know what’s great about modern programming? All the shitty, repetitive, fragile, unmaintainable, dull code that we don’t have to write anymore.