Senior Software Engineer
With over 17 years of experience in the industry, I have a very broad background. I cut my teeth on C but prefer working with dynamic languages like Python, Perl, or Javascript. While my specialty is full-stack web development, I also have experience in Unix/Linux system administration, database management (MySQL or PostgreSQL), and general systems integration and automation using various glue languages.
My advantage is my big-picture understanding of technology. Having worked at many levels of various technology stacks, I have a thorough understanding of how all the pieces fit together. I am a generalist.
While experience has tempered my sense of adventure, I am drawn to the cutting edge of technology. I continually seek new and better ways to solve problems. I thrive when I am able to choose and develop cutting edge technologies.
Developed content management solutions for the Python/Django based Ellington content management system.
Engineered, developed, and tested priority queue system for batching of search index updates and deletes. Utilized heapq for prioritization in conjunction with Kombu, Haystack, RabbitMQ, and Solr.
Designed and developed photo batch upload and editing feature for Marketplace businesses. Incorporated drag-and-drop uploading, rotation, scaling, and delete using jQuery and Tastypie for both ajax and client-side operations.
Refactored obituary feature, providing moderated condolences, additional meta data, and presentation layer enhancements.
I developed with Python in environments ranging from hosted Linux/MySQL to Google Appengine for both web-based applications and command-line tools. I also acted as a resource for junior python developers.
Engineered, developed, and tested a platform for developing personalized online reports
Engineered and Developed an education and work experience search tool for recruiters
Extended and maintained mail-merge tool, focusing on improved stability and security - (Django, MySQL, Openoffice)
Extended and maintained an application for rewarding bonuses - (Webapp, Google Closure, Appengine)
Extended and Maintained a proration analysis tool - (SQLite, Google Docs API)
I work on a variety of web-development projects for various businesses and non-profits using both Python/Django and PHP/Symfony, Redhat and Ubuntu Linux, and MySQL and PostegreSQL.
Visit the Parkside Church site. In this role I developed a significant number of features for the site including:
I participated in the development of a new PHP/Symfony-based site for Biblica.
I acted as the primary developer for a Satchmo-based ecommerce site for Eternal Perspective Ministries.
I acted as the secondary developer for a Real Estate search engine for Century Sales and Management. In this role I participated in implementation of a MongoDB repository of properties integrated into a Django-based site.
As lead developer I was involved in a variety of projects. I worked closely with the Ellington and Jazbox content management systems. I was involved in some data conversion projects and some internal applications.
Visit the Tide Chart site.
This application was never released to the public due to ethics concerns.
This is an internal database reporters use to keep track of "sources."
At the Rocky I was the primary Django developer. I built our Django environment from the ground up using PostgreSQL and Apache. I configured an Ubuntu RAID system for developement and hosted our public site on Webfaction. I wrote 90% of the Django code and helped train other developers to use Django. I used jQuery on the client. I developed numerous applications in a very short period of time.
NOTE: since the Rocky closed in March of 2009, many of the portions of the site I built have been shut down and so are unavailable for your viewing pleasure.
This application allows people to submit their holiday lights displays and provides our readers with an interface for plotting driving routes and rating displays.
The Colorado County Election Profiles was on a very tight deadline because of the impending election. I worked with a designer/CSS artist and Flash/Flex developer to finish this project in just over 2 weeks.
Denver Public Schools Report Cards
MR publishes reviews of research mathematics publications and provides a search engine to our database of reviews and bibliographic information. MR's production systems run Ubuntu Linux with Apache, mod_perl and Ingres. Internal application are developed using the HTML::Mason Perl templating system.
MathSciNet is the primary public-facing product of Mathematical Reviews.
This application is a web-based tool to scan and archive the mathematical publications MR reviews. It is for in-house use only.
ADA is an in-house application for identification of authors on reviewed publications. This project was a conversion from a combination of a legacy terminal-based application and a collection of printouts to an entirely web-based paperless tool.
I like to give back to the community. I started the Sheepology project for church management and church web content management. I will be spinning off several modules from that project as projects in their own right including a Django/Flex based visual tree editor and a Django webcam. If you'd like to see some of my source-code, visit this project.
Tidey is a Python tide prediction site built on the Tornado asynchronous web server to make asynchronous calls to XTide. It uses Raphael.js for the charts. I built this as an experiment in asynchronous web servers. You can view the source-code for this project on Github.
I developed a basic Python API for the Harvest time tracking system using Harvest's RESTful XML-based API. You can review the source-code on Github.
When I was working for the Rocky Mountain News, I built an application that helped people find convenient routes to the nearest Holiday Lights. I have excerpted the Python function for finding fairly efficient routes using a dynamic programming approach and a unique combination of the nearest-neighbor and full-search method for longer routes - see source code.