I am very active in the Ruby programming language community and I’ve authored a few gems:

Goodall – Provides an easy interface for documenting your API while you write your tests.

Tolerate JSON – A JSON formatter written in pure Ruby that works “good enough” and has no gem dependencies. 60% of the time, it works every time.

Dhl-GetQuote – Connects to the DHL Capabilities interface in order to get shipping cost and time estimates.

middleman-target – Give Middleman the ability to specify build targets for a projects, created for use with Phonegap/Cordova projects but useful elsewhere, too.

Ruby-UCI – A ruby interface for the Universal Chess Interface that allows ruby to communicate with various chess AI engines.

LoopLingo – Interacts with the merchant API of LoopLingo to automate working with loops.

shared_book – A ruby connecter to allow easy publishing through the SharedBook.com service.


Not including what I’ve done for various employers, I’ve had many, many little side projects over the years.

Codeify - My personal version of the Tao de Ching.  A collection of the tidbits of knowledge I have collected over the years.

Two Problems - Some people, when confronted with various problems, will say something funny and then have unintended consequences.  TwoProblems.com is meant to be the canonical place to see all the various mutations of the “two problems” meme — even the original.

MailPing – At one of my jobs there were tasks that sent email.  If the email didn’t get sent I’d hear about it, loudly.  After having that happen a few times I decided to create an online tool to inform me if there was a problem sending an email message before my superiors told me.

RateMyTenants – Conceived, designed and built in one weekend for Startup Weekend SLC 2012.  Our team had 48 hours to design it, make it, sell it and get market validation.  And we did it.  We came SECOND out of a field of 14.