After growing up in the Midwestern USA, I moved to the West coast to pursue my passion for developing efficient, usable software and writing electronic music. An autodidact by nature, I am always learning and adapting, constantly honing my craft.
I am fascinated by the inner workings and underpinnings of software and am looking for opportunities that let me work "close to the metal."
I have an approachable and easygoing personality, am good at explaining technical concepts in easy to understand terms, and learn new languages and APIs quickly.
Sabbatical (11.2012 - current)
- Honing skills in DSP with a focus on audio processing and synthesis
- Developing rutabaga, a user-interface widget library leveraging OpenGL for cross-platform hardware-accelerated UIs
- Writing and producing electronic music
- Developing a vector phase shaping synthesizer
- Ongoing work on a digital audio workstation package
Contract Software Engineer Monome (03.2011 - ongoing maintenance)
- Ported my existing libmonome project (originally developed for Linux) to Windows and Mac OS X
- Developed serialosc, a cross-platform serial-to-OpenSoundControl server leveraging my existing work on libmonome.
- Implemented the host-side serial protocol for communicating with the new grid and arc devices
- Built installers and distribution packages for the finished product
Software Engineer Native Instruments (04.2012 - 06.2012)
- Diagnosed rendering inefficiencies in QT on an embedded Linux platform
- Designed protocols for communication between a USB gadget and the host system
Contract Software Engineer Soundcloud (06.2011 - 03.2012)
- Developed a test harness for acoustic fingerprinting systems
- Implemented an audio classification algorithm for differentiating between music and speech signals
Software Engineer Twilio Inc. (10.2010 - 03.2011)
- Reverse-engineered Adobe's RTMP streaming media protocol and developed an implementation as a FreeSWITCH endpoint module
Software Developer Scrapblog Inc. (04.2010 - 10.2010)
- Developed an E-Commerce system in Python, interfacing with APIs from Authorize.net, USPS, FedEx, and others
- Part of a team developing a Facebook application for creating photo collages
Software Developer NeuralIQ Inc. (08.2007 - 10.2008)
- Ported an Actionscript 2 application to AS3/Flex
- Patched bugs in Adobe Flex 2
- Developed a VT100 terminal emulator in AS3
- Developed interactive Flex visualization components
Contract Web Developer Avanoo (06.2007 - 08.2007)
Web Developer The Next Wave (12.2006 - 05.2007)
- Maintained Wordpress sites for clients
- Developed custom PHP/MySQL sites
- Developed a captive WiFi portal based on NoCatAuth, OpenBSD, and PHP
- Worked as server administrator and technical support for a small, in-house hosting service
Technician Midwest Design Computers (01.2006 - 01.2007)
- Performed general repair work on customers' computers
- Built custom digital video recorders for an affiliated surveillance company
- Built and configured a router/firewall with OpenBSD and pf
My personal projects focus on the intersection between music and software, exploring new ways of computer-based performance and composition.
Developed rove, a program for live improvisation and performance of electronic music. Over the course of development, I have used rove to perform my music at a number of shows, including several I played while on tour in the western U.S.