I have been doodling with programming, operating systems, servers, and web design since the mid-nineties. During that time I have become a proficient and disciplined programmer in a handful of languages, a capable [Gentoo] Linux admin, and a rusty graphic designer.
Sometime around the start of 2006 I drank the Rails kool-aid, which caused me to nearly forget C++ and to shudder at the sight of PHP. As a result my focus came back to creating web applications and creating the next Google. Thanks to Rails and the surrounding buzz, I've found myself creating, contributing to the creation of, and/or setting up Linux production environments for brand new Rails applications.
While I've been living and breathing lots of Ruby these last two years, that doesn't mean that my knowledge is forgotten or static. I still retain some working knowledge of C/C++, XMPP, OpenGL, and other technologies that I spent a signifigant amount of time using prior to Rails. Recently I've begun exploring Erlang and creating circuits based around an Arduino.
Ideally to use Ruby, Rails, Erlang, Linux, and/or XMPP while working with a genuine agile team composed of people who are great at what they do.
Though I would be open to flipping bits in raw machine code if the price is right and if I get to keep the hex-decoder glasses.
Dealerflow Corporation. |
Sept. 2007 — Feb. 2008 |
|---|---|
| Developer / Sys Admin | http://www.dealerflow.com/ |
At Dealerflow I worked on a Rails application targetted at auto-dealerships with a handful of people with varying skill sets and specialities in an environment of ever shifting priorities.
While there I:
Tools & Technology: Capistrano, Debian, Ejabberd, Erlang, Gentoo, JSJaC, Javascript_test, Lowpro, Monit, MySQL, Nginx, Prototype, RSpec, Rails, Restful_authentication, SVN, Scriptaculous, Trac, Will_paginate
GoodServer, Inc. |
Oct. 2006 — July 2007 |
|---|---|
| Developer / Sys Admin | http://www.goodserver.com/ |
I designed and implemented a project called SVNApp, short for Subversion Appliance. I created a Ruby on Rails application to make managing Subversion repositories much easier, and then packaged it up to run and install from a bootable CD.
Tools & Technology: Apache, Bind, C, Collaboa, Gentoo Linux, Rake, Ruby on Rails, SuSE Linux, Subversion, Swig, VMWare, XPlanner
Progressive Lawnscaping |
Summer 2005 |
|---|---|
| Contractor | http://www.progressivelawnscaping.com/ |
I was contracted by Andrew Shoaf to setup and theme a Drupal powered web site for a local landscaping company. I had to convert a Photoshop design into an HTML/CSS template usable with Drupal. Various Drupal modules were also setup to meet PL's specialty uses.
Progressive Indiana, Inc. |
April 2005 — Nov. 2006 |
|---|---|
| Webmaster/Director | http://www.progressiveindiana.org/ |
I maintained Progressive Indiana's web site, developed new sites for specific purposes, and sat on the board of directors providing assistance and input on the group's activities until a majority of the board decided to divert their energies elsewhere.
Tools & Technology: Ruby on Rails, Drupal, MySQL, HMTL, CSS, OpenSSL, and GnuPG
[David] Sanders for Congress |
Sept. — Nov. 2004
June 2006 — present |
|---|---|
| Webmaster/Mass mailer | |
During the last few months of the 2006 campaign I became David Sanders' web master and mass mailer. While doing this I migrated an ASP based site to a Linux host using wget, created a half-baked Rails CMS to manage new content, and put together a mass emailer using Rails and ActionMailer to email over 2,000 people.
Prior to 2006, I offered to put together the technology to have an online chat which was used in a small post-election chat in 2004. This was initially planned to be a Javascript and HTML interface to a Jabber chat room using a PHP script and a persistent HTTP connection using class.jabber.php, but resulted in being completely database driven due to constraints and problems with jabberd 1 and my host at the time..
Tools & Technology: PHP, MySQL, HTML, JavaScript, Jabberd 1.4.3, Python, Jabberpy, WebClientService, class.jabber.php
Bitter |
http://bitter.rubyforge.org/ |
|---|---|
| Sole user/promoter/developer | December 2007 — present |
This is the microblogging platform that I use at bitter.nolan.eakins.net. It's the result of being prodded to join Twitter while working for Dealerflow. Its highlights are RSS support, SMS sending and receiving via TextMarks.com and a broken XMPP bot.
Tools & Technology: Rails, TextMarks, MySQL, XMPP4R, bzr, RubyForge
Psi |
http://nolan.eakins.net/taxonomy/page/or/20
http://psi.affinix.com/ |
|---|---|
| Prospective Contributor | Aug. 2004 — Spring 2005 |
Psi, an open source Jabber client, only supported the undocumented group-chat protocol. I offered to add support for JEP-0045, Multi-User Chat. I ended up partially implementing the full MUC spec along with bookmark storage before the core Psi team decided to switch to Qt 4 before my changes were committed. While working, I generalized multiple use cases used to change an occupant's role into a simple to use role/affiliation editor that used drag and drop.
Tools & Technology: C++, Qt, qmake, CVS, GNU arch
MyPasswordSafe |
http://www.semanticgap.com/myps/ |
|---|---|
| Project Lead | Dec. 2003 — Sometime in 2004 |
| Maintaining | … — Present |
When I reinstalled Linux on my computer, I lost the ability to access my list of passwords that was created with Password Safe. MyPasswordSafe is the result of that need. It's a program that provides similar functionality to Password Safe, but under Linux and any other operating system Trolltech's Qt supports.
Tools & Technology: C++, Qt, qmake, make, CVS, g++, gdb, doxygen, CppUnit, Portage
Pong |
http://www.semanticgap.com/pong/ | |
|---|---|---|
| Creator | Fall 2003 | |
After I read Cleanroom Software Engineering and The Pragmatic Programmer, I wanted to try some of the approaches that were described out on a simple game. Pong was the game that I chose, while taking some liberties with the Cleanroom process. I made use of various design tools such as a specification, sequence enumeration, and a "tracer bullet". The result was my first working game of pong that included a menu system that I created, some basic AI, and time accurate collisions. And did I mention that I finished?
Tools & Technology: SDL, C++, make, g++, gdb, Adobe Photoshop, SmartDraw, CVS, cygwin
Various Web Sites |
|---|
Pragmatic Studios |
|---|
Purdue University |
2001 — 2002 |
|---|---|
| Freshman Engineering | West Lafayette, IN |
Greenwood Community High School |
1997 — 2001 |
|---|
Last updated on June 2nd, 2008