Search this site





Goodbye, 2011.

This year's been pretty good, but the last two months were pretty lame.

In the last six weeks, I found out Caramel has lymphoma, got unemployed, and had emergency surgery to remove my appendix on Christmas Day. The unemployment caused me to lose an in-progress mortgage refinance.

I'll pick up the mortgage thing once I remedy the employment problem, but I'm staying quite happily unemployed until after my kid is born - should be any day now!

Most of my career-growing moves were outside of work: at meetups, in open source efforts, or in networking with folks on IRC or twitter. Lots of awesome folks out there, so go introduce yourself. Don't be a dick. :)

I didn't write much on this site, but mainly, that was due to an increase in my activities on IRC and twitter. Most of what I published this year was code and was less writing about said code. I'd like to fix that, though.

This years successes were topped by two new major projects, fpm and logstash. I also released some major improvements to xdotool and other tools.

The current implementation of logstash isn't very old, but prototypes, hacks, and other incarnations of pretty much the same thing date back to at least 2005 and probably earlier. This project has been a long-time-coming, and Pete Fritchman and I have been talking about logstash for years, so it's nice to finally have some code shipped and a community building around it.

FPM had a crazy positive response. I wrote it as a hack, and it's used all over the place now. Bonus that people are contributing patches and other improvements as well.

Sysadvent was another excellent success, the end of which marked the 4th year and 100th article posted to the project. It is awesome seeing such community involvement from so many different authors.

This year also cemented my move to git from svn. Why? Github, mostly, and not really the features of git itself. Sharing code and patches is so much easier on github than it is with other services.

I went to CarolinaCon and OSCON to talk about logstash. I also went to DevOps Days Mountain View and gave a lightning talk on logstash.

My OSCON talk was overflowing with people standing at the back of the room, etc; it went awesomely. I've also been able to do lunchtime logstash presentations at places like Square and others. I also gave talks at BayLISA meetings. It was a good year for getting out of the house and talking about code.

I tried to get a count of how much code I'd written this year, but I had lots of web-based projects that included third-party stuff like jquery, and I'm too lazy to pick through the results and trim that stuff out. I'm up to about 70 different projects on github now, some useful; some not; all fun!

Looking forward to 2012 :)

Goodbye, 2008!

Another year later, and much has changed.

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 :)

Goodbye, 2007!

To make this year's review cooler than last year, I wrote a python script to generate a tag cloud and fed it only the list of tags mentioned in posts I've made this year.

This year was pretty sweet.

Basic life summary: Still loving it at Google. Got a house. Getting married soon.

This year started off me using EC2 for a side project. Along with EC2, I had to think about scaling mysql and tomcat . This same side project made me rant about mysql's query cache.

I also spent many hours putting crazy features into grok. Unsatisfied with the original predicate implementation, I came up with this hack to run arbitrary pattern-matching code within a regular expression to affect the outcome of the match, and then implemented it in grok. A few months after that, I checked off another todo item by implementing pattern discovery.

I also started working on monitoring. I mentioned this idea in some detail last year, and had a really crappy prototype. This year, I experimented with Berkeley DB and Python to get simple key-value pair storage. All of the work so far is still very primitive, but I did have a working prototype

I've put thousands of miles of travel in this year: Shmoocon (Washington, DC), MashupCamp Dublin (Dublin, Ireland), Defcon 15 (Las Vegas), Barcamp Block (Palo Alto, CA), SuperHappyDevHouse 18 (Hillsborough, CA).

As expected, a few projects stayed on the backburner. One of these is my FreeBSD work redoing the mouse driver system. Given that I've had commit access to FreeBSD for a year now and haven't done much with it, I'm hoping I can spend more time working on that project; as it is my favorite platform. The code has been ready to commit for a long time, and I just haven't gotten around to it :\

New projects: fex, firefox-tabsearch, firefox-urledit, liboverride, xdotool. and xpathtool,

Some of my favorite hacks this past year included pulling album covers from amazon, muting music when your screen is locked, fast log splitting, a mini-freebsd script, and shell shortcuts

With that I bid farewell to 2007, and continue to eagerly look forward to the future. The only plans I have set this year are helping again run Hack or Halo at Shmoocon in addition to putting serious time into FreeBSD.

Goodbye, 2006!

It's very hard to believe that 2006 is gone. What a year!

Basic life summary: Graduated from RIT and started working for Google.

This year has been great fun for me. I've had a chance to work on a very wide range of projects. Some of them were silly, some of them were serious, and some were useful.

Taking the silly category by storm was my Yahoo! Hack Day '06 demo of TastyDrive. That same day involved my presentation of keynav. If you missed Yahoo!'s event, then you certainly missed the amazing concert Beck put on! My presentation at this event resulted in a kick-ass article about me in the Wall Street Journal.

Runner-up for silly is definitely pam_captcha, a PAM module implementing a text-based captcha system. My favorite captcha was obviously Dance Dance Authentication which received wide angst at the 2006 SPARSA security competition.

However, pam_captcha ended up being useful in that it caused me to study the behavior of brute-force ssh zombies. Good times ;)

Looking over my last year of posts, I am reminded of many project ideas that I never worked on. Grok, my expert-like pattern matching tool, has fallen victim to forgetfulness. Furthermore, many grok-related projects have fallen to the wayside: sysadmin secret sauce and the obvious children temporal (ooh, fancy word!?) data storage, grok and eventdb marraige, and some neat rrdtool tricks.

Hacks were a-plenty this year. Not all of them received written notes, but some of the neater ones are my wakeup script, a hack using squid and selenium to allow you to unit-test webpages by injecting functionality (xss using squid), and a long-forgotten touch-screen keyboard in javascript.

And how can I forget BarCamp? I attended three BarCamp events this year: New York, San Francisco, and Stanford. Many friends made. These kinds of conferences are absolutely my kind of events. Signal-to-noise at BarCamp is bliss by comparison to standard computer conferences.

This year also brought me a new hat, as a FreeBSD src committer so I can further my work on the mouse system changes.

I miss the free time and opportunities granted as a student. I haven't made up my mind about the "real world" quite yet, but I'm glad there's no homework.

With that, I say goodbye to 2006. It was a good year. I'm looking forward to 2007!