Part of being a full time software consultant is dealing with the downtime. When you specialize in such a specific niche as I do, you are bound to have spells where there is nothing really to do except market yourself. Despite this being a full time consultant gives you the power to approach what Nigel Marsh was seeking in his Work — Life balance TED talk. Luckily for the last few years my downtimes have been aligning pretty closely to the worst winter months here (January and February) so I have been spared commuting during blizzards for two years in a row. I ramp up on a pretty exciting project on Monday so I guess today is officially the end of my winter downtime.

The key I have found to surviving downtime is “catching up”. There are millions of things that one needs to catch up on especially when it comes to technology. There is the boring catching up, like finally setting up my blog and using this domain for something more than a MX record, but still its an achievement to finally have something here again after all these years. But the fun parts of catching up are awesome. Finally my personal Wiki is now up to date as my development toolkit. All the tools, wisdom and information I gathered in working on two huge e-commerce sites in 2010 (virginmobile.ca and west49.com) are all documented and safe from my unreliable memory.
But the real joy comes in getting an opportunity for unbridled experimentation with new technologies. Its the joy of making toys. In this two weeks, I have finally had a chance to get node.js running and start learning all that is it about. For some reason server side Javascript is very exciting to me. Javascript is as amazing as it is flawed. Given that I stuck with PHP all through the Python and Ruby waves in the last decade or so, I haven’t ever had a chance to experiment with the new server technology on the scene. This time it is different. Now I am already very familiar with the language itself and already love it. I just have to see what I can do with it on the server side. Tons of little ideas are brewing in my head.
What I haven’t gotten to in the last two months includes starting to play with Arduino. I really want to start tinkering with Arduino in my spare time. The simple bridge between the virtual world of software and the physical world of matter is very very tempting. Also next on the list of things to look into is Erlang, but less so. A language that has such robustness built into is very intriguing. But it will probably have to wait until I am done experimenting with node.js and CouchDB.
All in all a very productive winter downtime.