TJ Singleton

Software Engineer, Baptist Preacher

Certifiable Ruby Nerd

You can contact me via email at

My resume is available for download in PDF or Word. I’ve also filled out profiles on sites like Linked In and Careers 2.0 where you can read it online.

Sample Work

Product: Crunched

I’ve spent the last 3 years working on Crunched. It is a slide sharing and meeting platform that offers you insights in to the behaviors of your audience. Sign up for a free account at Crunched to demo my work.

Demo: StatsD Server

At Crunched we use statsd to track interesting metrics. We wanted a simple way to deploy it to our servers without having to manage Node.JS, so we chose a ruby version. At the time the ruby version did not support gauges. I was inspired by the simple server to try my hand at an implementation. One interesting aspect is the ragel parser I wrote for it which proved to be crazy fast.

Demo: IP Geolocation

This is a simple project that allows you to look up geolocation data for an IP address. It uses a database from MaxMind which is provided as a binary file. I did not want to check this file into git since it would bloat the repository each month as the binary changed. Instead, I packaged it as a gem which lets me package and deploy it simply.

RMU Projects

I took part in the first session of Ruby Mendicant University and these are the projects that I worked on as part of it.

  • IPTables Parser: a recursive decent parser for the output of iptables-save
  • Zip Reader: a pure ruby library for extracting files out of zip archives
  • Fishing Log: a simple dsl for recording your fishing trip and a cli tool to filter the data
  • Export Assignments: allow assignments to be exported in gzipped json or yaml

Find out more

You can check out my github profile for more examples.

Writing & Reading

Here are some technical posts that I’ve written:

I am subscribed to a couple hundred feeds and am know for sharing the juicy bits I find. I started posting them as a way to share them with my friends en masse. I’ve failed to post as regularly as I’d like and have about 75 links queued up in evernote to post. Here are some recent clips: