Posted Wed, 31 Dec 2008
Basic life summary: Left Google for a startup company. Got married.
This year was a great year of learning and exploration. The learning started by evaluating different regular expression systems: from Oniguruma and C, to Boost and C++, to PCRE and C - all in trying to find a non-perl platform for grok. Learning flex and bison for grok's config parsing was fun. I also learned how to write C modules for Ruby and Python.
Greater expansion of my X11 knowledge occured in an effort to improve xdotool and keynav; other X11 work was in toying with the idea of writing my own window manager. The window manager was never completed, but I learned a great deal more about how things in X work. I also learned ruby, ruby on rails, more automation skills and more networking knowledge. Being one to always use the tool that most easily and appropriately solves a problem, I went into the realm of Windows. This journey has so far taught me VBScript, PowerShell, WMI, sysprep, and a host of random windows management tricks.
My new job brought me exactly what I needed - a fresh pool of things to learn and problems to solve. Since leaving Google, I never found myself wishing I had stayed. It doesn't hurt that I haven't had to carry a pager in the past eight months (something we'll be changing in the future as SLAs will demand it). The various projects I've been working on at the office are pretty cool, and some day I may write about them here.
In consumerland, I signed up for Rhapsody and haven't regretted it. I tried the iTunes store, but I don't fit iTunes. I love Rhapsody. It would cost me more than $3500 (at $0.99/song) to replicate my growing Rhapsody library in iTunes, but it's cost me less than $100 (6 months of service, so far). For Christmas, I got a Sansa Fuze which I can use with Rhapsody (For a $2/mo increase in service to upgrade to 'Rhapsody To Go') and most any music I want. Rhapsody is awesome, and iTunes can suck it. As a bonus, I don't have to deal with any retarded headphone adapters to listen to music on my iPhone anymore, thanks to my new Sansa Fuze.
Event happenings this year seemed less frequent than past years. Still, there were good ones. I did a cool hack at Yahoo! Open Hack Day with Delicious and Yahoo! Pipes. I again helped run the Hack or Halo competition at Shmoocon 2008, which went smoothly. The annual trip to Vegas for Defcon occured, too. Lastly, but not leastly, I flew out to Rochester for BarCamp Rochester 3 and hung out with lots of college friend folk.
It feels like I coded less this year. Reviewing this year's posts, I see less significant project work than previous years. Grok got ported to C++, then distaste for that lead to porting it to C. After months of barely hacking on it, the C version finally got a beta release. Tabsearch, keynav, and xdotool received some love and attention in the form of updates, features, and bug fixes.
I started giving up my habit of running things myself (AKA, love the cloud). One change I made this year was to start using Google code hosting. Despite my odd usage (multiple projects under the same name "semicomplete"), it's been awesome. Publishing and tagging releases is trivial, subversion change logs are easily viewable, and the source code viewer is easy to read. There are other features, but I don't use them.
I also switched from using mh as my mail reader to using google hosted apps. My familiarity with using gmail at Google made the transition easy. This switch has let me stop caring about training spam assassin and stop wonderng why so much spam gets through, because my spam experience with google hosted mail is much much nicer. Gmail good.
December was spent writing articles for sysadvent - a systems administration advent calendar. Despite the stress of forcing myself to write so much, it was one of the most valuable things I've done online this year. Sysadvent is part of a response to my realization that I don't really have any community ties. I'm a community of one. I work on my own tools and projects. I'd like to help elsewhere, outside of the office, but nothing has so far attracted me.
Lastly, some of this year's notable hacks included an attempt at speeding up build systems with caching, vim function to make C++ Template error messages readable, and a few gnu screen scripts to make life easier. I also keep sample code in revision control in an effort to provide sample code to help searching.
Here's to a fantastic 2009 :)