I'm currently interested in hearing about both contract work and full-time opportunities.
- Reverse engineering Vine - I reverse engineered the Vine API, including extracting AWS keys from the iOS app.
- kqfm - A file change monitoring utility
written in C against the
- goto fail POC - I wrote a proof of concept for the Apple "goto fail" flaw in Go.
- Stripe CTF - I completed the Stripe Capture The Flag 2.0 security challenge.
- tinygem - A small hack to build a
RubyGem from a single
- Yak Shaving Day: Rails Asset Precompilation to Kernel Debugging - A very deep investigation of a bug in a Rails application.
- instagram_challenge - Ruby solution to the Instagram engineering challenge.
- Snow-Leopard-Formatting-Fix - Adium plugin in Objective-C that fixed a formatting issue brought on by Snow Leopard.
Contract Software EngineerMay 2013 - Current
I work on a wide variety of projects. I've helped launch a financial technology startup, building out high security infrastructure in Ruby, Go, and C, including a two-man rule deployment system and banking website browser automation. I've also worked on image processing, OCR, and security for an iOS application, security review and fixes for a legacy Rails application, React front-end work for a new Rails application, and Node.js code to run on AWS Lambda.
Lightspeed Systems Senior Software Engineer, Jan 2013 - Apr 2013
At Lightspeed, I worked on a mobile device management application for K-12 education. I instrumented the application to collect metrics, set up a continuous integration system (Jenkins) for the team, helped optimize our MySQL setup, introduced used of Chef, and performed extensive refactors on the Rails application.
Desktime Software Roustabout, Feb 2012 - Jan 2013
I worked predominantly in Rails and Coffeescript, building an application that allows owners of co-working spaces to manage booking and payments. Duties also included release engineering and participating in product development discussions. Desktime is an offshoot of a design and development agency, One Design, and I also worked on light systems administration, and performed maintenance work on older Rails apps.
Centro Engineer/Development Lead, Feb 2008 - Feb 2009, Aug 2009 - Feb 2012
I worked at Centro in two separate stints, taking time off to pursue some contract opportunities in between. I worked on a multitude of Rails applications built to manage the complexities of large digital advertising campaigns. Before I left I was reporting to the CEO in a management capacity.
In my time there I introduced continuous integration to the team, patched our deployment tool for better git support, wrote a server-side JS testing framework, worked on ERP integration, lead an effort to split a very large monolithic Rails app into multiple smaller RESTful services, and herded a large number of cats, amongst many other things.
Rosetta Stone Developer, Apr 2006 - Feb 2008
I worked on a team that largely focused on building Rails web services as a backend to language learning applications. We ported various Apache Cocoon and EJB applications to Rails successfully, allowing us to move more quickly, build new features, and fix bugs again.
During my time there I ended up building a Win32 service based version of
mongrel_cluster, wrote a Ruby C extension to allow for shipping obfuscated
Ruby code to customers, worked on a web crawler, and fixed a Rails security hole
before an official fix was released.
Byrne & Gilles IT Solutions Developer, Mar 2005 - Mar 2006
I was originally brought on as a PHP web developer, working on a CMS for a financial services provider. We started using Rails early on and I worked on various apps such as a resume creation system and a small digital advertising management app. I also performed systems administration duties such as configuring new servers and writing backup scripts.
HiTech Telecom VoIP Network Engineer, 2001 - 2003
I was the first employee, working in a "go-to technical person" capacity. In my time there I ended up performing Cisco IOS, BSD, Solaris, and Linux administration duties, as well as working on integrating with other telephony providers, and building small web applications in Perl.