Gentle Reader: Just because you've found my resume doesn't mean that I am looking for a job. In fact, I'm quite happy where I am. If you think you want to contact me about potential employment, please use the contact form on this website. Please specify some actual details about the job (ie, who it's for) and PLEASE DO NOT COLD CALL ME.
- [email me]
- 22 Taylor Hill Road
Montague, MA 01351
- Well-rounded developer with over ten years experience building software applications and websites for a variety of businesses and organizations.
- Skilled at analyzing needs and determining requirements for projects of all complexity levels and implementing solutions tailored to the client's wants, involving them in every step of the process.
- Expert knowledge of web-scripting languages (PHP, Perl, Ruby on Rails, ColdFusion), C/C++, C# and .NET, HTML, XML, database design and implementation, SQL, game development, and Linux server administration.
Montreal, QC. July 2006 - Present
Member of team maintaining and advancing custom CMS which powers websites for musicians and several other niche industries. We host over 10,000 websites. The system is written in ColdFusion and uses Linux, Apache, MySQL, postfix and EC2/S3. Our team is distributed over several time-zones, and we all work remotely.
- Custom Asset Generation for templates
- MP3 encoding
- Paypal integration for user stores
- Custom stats using Google Analytics
- API Interface with Zimbra for mail/webmail
- Ported system from Windows/IIS to Linux/Apache
- Server Maintenance
- Facebook and Twitter integration
- Flash-based headers
- Switching from static file generation to a dynamic system using mod_rewrite
- Amazon EC2 and S3
Worcester, MA. April 2005 - June 2006
Programmed several websites and open source tools enabling video producers to publish, promote, and distribute their content.
VideoBomb: Main programmer for a community site to bring people together and share popular videos on the web. I did the majority of object modeling and database design for the site and wrote the bulk of the code, using Ruby on Rails as the framework and MySQL as the database. I wrote code to generate RSS feeds, designed and developed an algorithm to determine how videos reach the front page of the site, wrote the tagging system, and built a large amount of the rest of the site. I also implemented an interface with the Democracy channel guide, and wrote code to allow videos to be added from the Democracy video player.
Broadcast Machine: Developed an open source software package for videocasting, creating video channels, and distributing content. I took over the project from another developer that wasn't able to proceed beyond the early stages of development and implemented a large amount of the functionality. Wrote code to automatically generate RSS feeds which contain publishing information, licensing rights, length of the video, etc. I worked to ensure that Broadcast Machine worked on as many platforms as possible while being very simple to install and manage. I communicated with users of the software to resolve bugs, implement requested features, and help with installation questions. Broadcast Machine is written in PHP and can use MySQL or a flat-file system as a database. My code for this project runs on as many different webservers/platforms as possible, and is designed to be very easy for the user. My work also involved:
- Implementing transparent MySQL/flat-file support
- Writing support for custom, user-generated themes
- Writing unit tests to ensure high code quality
- Developing an XML-RPC interface for 3rd party applications
Old Saybrook, CT. 2003 - 2005
Softpower writes business management software for the outdoor power equipment industry. I was the lead programmer on a project to completely rewrite the flagship software product, which handles point-of-sale, inventory management, purchasing, work orders/repairs, etc. I designed all aspects of the system, including a SQL Server database, an object model in C#, and a Windows user interface. I met with dealers and users of the old software to determine a list of requirements, get input on design, and get feedback on beta versions of the software. I implemented a web service interface between dealers and manufacturers to handle registration of new hardware, warranty claim submission, parts inquiries, and purchase orders. Other work included:
- Barcode support - reading in UPC labels, custom manufacturer labels, etc, to speed data entry for users. Also implemented support for label printers so that dealers could print their own barcodes and use them to sell/manage equipment.
- Reporting system using Access and Crystal Reports, which allowed for creation of custom reports by dealers
- Designed and implemented the database, object model, user interface
- Wrote a patch system to make it easy for dealers to manage periodic database updates
- Wrote a basic installer which would check for prerequisites, install them, manage the database installation, etc.
Worcester, MA. January - December 2002
I designed and implemented a C++ application for the Palm OS used by drivers at trucking companies, which provides real-time GPS location data sent via SMS messaging. I wrote code to allow drivers to track time spent driving according to federal requirements, track trip data, starting/ending odometers, manifests, tolls/expenses, etc. I also wrote a more general tractor/trailer logistics system for a GPS/SMS unit called the Trim Trac. This system is written is C# and uses SQL Server, and integrates with a Java application which processes incoming/outgoing SMS messages. Other aspects of my work included:
- Report generation/Data processing using MS Access and Crystal Reports
- Synchronization of data from Palms to SQL Server
- Integration of all data in SQL Server
- Website using C#/ASP.NET for real-time tracking and configuration of units
- A C#/MapPoint desktop application for tracking vehicles
Boston, MA. April 2000 - January 2002
Technical lead for http://www.wgbh.org/ during two complete rebuilds of the website. I helped to determine needs, communicated with people throughout the organization to define goals for the website, served as liaison to the programming firm that built the site, and participated in the coding of individual elements of the site. Helped to specify a design for a content management system used to generate content for the website, and developed several portions of the CMS. Built a search engine which indexes content from the site to return results to users, as well as allowing the editorial staff to rank some results higher when needed. I integrated the website with several external sources of data, including TV schedules, the pledge system/member database, and external news sites. I also supported the editorial and design staff that produces all of the content for the site, as well as building special websites on a regular basis, such as a database of local candidates and voting districts for Massachusetts during the 2000 election, which was the only database of its sort at the time.
Chatham, NY. October 1998 - April 2000
Troy, NY. December 1997 - October 1998
Worked on the websites PowerAdz.com and CarCast.com. Developed programs that involve generating HTML for websites using information stored in databases, which is put together using a customized template system. Worked primarily in ColdFusion and Microsoft SQL/Microsoft Access.
March 1999 - March 2003
IMUNA is the non-profit corporation that oversees two Model UN Conferences along with several other educational projects. My role was to improve our Internet presence and to work on the Classroom To Conference project. The position also involved choosing the leadership of both conferences each year, approving their budgets, and participating in the long-term decision making process for IMUNA.
- Website building/programming
- Database design/implementation
- PalmOS/Handheld programming
- Network programming
- HTML, CSS, XML, PHP
- Ruby/Ruby on Rails
- C/C++, C# and .NET
- Java, Perl, Tcl
- MySQL, MS SQL, Oracle
- SQL, PL/SQL
- Windows 98/NT/XP/2000
- UNIX (Linux, Solaris, others)
- Apache/MySQL servers
- Rensselaer Polytechnic Institute, Troy, New York
- Bachelor of Science, Computer Science, Minor in Electronic Art. Graduated May 1997.