Recently I have been finding myself becoming increasingly excited about developing software. I was noodling on the root cause of this a bit and I am not sure that I can identify that. But it makes me quite happy nonetheless, so I am not going to miss out on the forest for the trees.
I usually have one or two outside-of-work software-related projects that keep me busy. Most of these are small one-offs that are worked on for “technical vitality” – you know, acquiring enough practical development experience in a technology so that you can at least put it on the resume and answer the resulting interview questions about a technology without looking like a fool.
These side projects are usually just small programs to exercise my chops in languages or frameworks that I don’t use in the paying day job, but which are popular outside of The Mother Ship. Lately I have been doing my homework assignments working in the Ruby language and exploring Node.js. Fun stuff.
At work I am still working on the same product development team that I have been on since 2007, but over the last five weeks or so I have been working in a new part of the product – and with some new colleagues and it is going very well. Even though they are both remote (based in NYC), it is so pleasing to work with such bright and utterly competent professionals – who also happen to have great attitudes, the proverbial icing on the cake!
Yesterday I started out early in the morning to clean up some function that I have recently developed and that is just about to enter test. I ending up pretty much working on it the entire day – and just had a blast, getting lost in the work. I supposed if Pitt hadn’t gotten waxed in the Round of 64, I might have been otherwise occupied with hoops on the tube. A silver lining in the darkest of clouds?
The code I was working on was already basically doing what it was supposed to – a working prototype - but was in need of better structure and layering – it needed some tender loving refactoring. The actual software, as I am sure you are dying to know, is a data loader that extracts information about computers and OSes from IBM Endpoint Manager using their REST API and loads that data into our product. Yeah I know - Enterprise Software is so damn sexy and cool.
But I got on a roll. The ideas were flowing like crazy – refactoring common code here and there, reworking inheritance hierarchies, adding lots of tracing and useful comments, improving readability and maintainability. I liked what I was seeing – that fed on itself and the proverbial beast was being fed – and there went a Saturday in the third week of March. Along the way I was running my regression tests to make sure I didn’t break anything in the interest of my elegance of craft. At one point, my fingers were hammering the keyboard with such smooth force and pace, software flowing through them with such “passion and precision”, that I thought I was smelling smoke coming out of the Eclipse IDE running on my W530. I was en fuego – you can’t stop him, you can only hope to contain him! I was just totally roasting on that Java source code.
Unfortunately the smell of smoke that I picked up on wasn’t coming from Eclipse, but rather the stove downstairs in the kitchen. This software marathon was taking place at the workstation in my bedroom, where I have a hard-wired Ethernet connection to my D’link Cloud Router. Around 12:45, I walked downstairs and put a can of Campbell’s Chunky Savory Vegetable Soup on the stove – medium low heat setting – between 8 o’clock and 9 o’clock on your dial.
Then it was back upstairs to my coding bliss, ear buds perfectly inserted, the King’s X classic Gretchen Goes to Nebraska disk rocking on the Sansa Sandisk – life is good. Two hours later or so, the smell of burnt-to-a-crisp vegetable soup finally wafts upstairs – or at least I finally recognize the smell. Oh, snap! The damage was pretty complete. It is still to be determined whether the sauce pan can be salvaged. It is over 10 years old and clearly had seen better days, even before yesterday’s debacle.
I did derive some pleasure (however immature) in turning the sauce pan completely on its side (see picture above), illustrating that the liquid/solid mixture had been completely hardened and grafted onto the pan. I was also pondering if there is a specific chemical phrase that should be used to refer to the inch-and-a-half of caked-on-gook? I think it failed to qualify as a food stuff somewhere around 2:15 yesterday afternoon. The smell still hasn’t completely dissipated.
Lost in my own little world. Good thing the carbon monoxide alarm wasn’t triggering during the day. Although I find some charm in considering a Chep-based episode of Spike TV’s 1000 Ways to Die.