Work History

Work History
Feb 2002 - Present



Three years Ruby/Rails consulting

  • Still the RubyForge sysadmin; now hosting 8K projects and 40K users.  Received "Ruby Hero" award at RailsConf 2008 for my work on RubyForge.
  • Helped Beanstalk migrate from Engine Yard to Rackspace.
  • Configured complex Sphinx (full text searching engine) installation; used the Riddle API.
  • Wrote - a Rails application to let folks track which books they've read from various military reading lists. Uses Sphinx with the thinking_sphinx plugin.
  • Worked with an application that used backgroundrb with monit to handle background jobs.
  • Fixed a bug in the rcov native code.
  • Stood up where I post about interesting Rails + PostgreSQL technical details.
  • Wrote "GForge Sites" - a little Rails application to track GForge installations.
  • Wrote lots of "back end" Rails code; e.g., controllers and models.
  • Rewrote proprietary content management package resulting in 10x performance gain and much better manageability.
  • Integrated Rails app with open source "Beast" forum package.
  • Set up numerous Rails deployments; wrote Capistrano tasks, used Capistrano multistage, configured mod_proxy_balancer, wrote mod_rewrite rules, set up virtual hosts, troubleshot Mongrel, converted many applications over to Passenger.
  • Many hours of Linux sysadmin work - OS installations, security tweaks, application installation, Puppet configuration, etc.
  • Wrote Rails log analysis plugin that reported on database query usage and times.
  • Integrated Rails app with SilverPop email service

One year Ruby product development

  • Wrote a book: PMD Applied.
  • Wrote Ruby BitTorrent client library.
  • Wrote Ruby extension for Evolution.
  • Wrote Amazon S3 client library.
  • Wrote several Rails apps and services, including a set of AJAXy admin pages.

Three years DARPA consulting -  Ultralog

  • System administrator for RubyForge.
  • Oracle Open Source Programmer of the Year, 2003.
  • Wrote popular open source Java code analysis tool PMD
  • CVS administrator, introduced continual builds.
  • Wrote Ruby utility to generate DOOM maps.
  • Translated C artificial intelligence examples into Ruby.
Jul 2001 - Jan 2002


  • Worked on J2EE app (WebLogic/Oracle/Solaris), member of core team, fixed bugs, implemented features, etc.
  • Wrote Swing client for customer support folks to use with production applicationn.  Delivered it via Java Web Start. Used Java<->COM bridge to generate Excel reports.
  • Introduced Ant for cross-platform builds.
Sep 1999 - Jun 2001


  • Replaced large RNI codebase with JNI.
  • Wrote Java servlet-based web site/service.
Aug 1996 - Aug 1999

Project Manager

  • Managed bar code program; wrote C utilities, tracked hardware, resolved problems, traveled to customer sites.
  • Managed inventory data warehouse; wrote SQL queries, Korn shell scripts.
Aug 1994 - Jul 1996

Deck Watch Officer

  • Stood deck watches
  • Boarding officer qualified; conducted over 100 at-sea boardings
  • Helo control officer qualified; was HCO for many, many helo landings both day and night.
  • Served as communications, classified materials, and weapons officer.


Jun 1990 - Jun 1994


Go Bears!