2009 to present
San Francisco, CA (remote)
Senior Developer, Operations, Build/Release
Started out with Seesmic working on their messaging infrastructure using XMPP and also working with the web team for Seesmic Video.
My responsibilities were to help with the design of the server architecture to enable the back-end and front-end to be
seperate entities while also doing the initial implementation of the Seesmic API in Ruby.
After Seesmic Video was large enough to require more server resources I moved to being more of the full time operations person
while supporting the developers who were doing the web front-end and also integrating the Java back-end. I also was responsible
for all developer tools.
When the company transitioned to be a Twitter client toolset I remained the operations person and also started being responsible
for the build/release resources that allows Seesmic to have web, server, iPhone, Android and Blackberry teams all working on
code at the same time. I'm now responsible all server operations and new server deployments.
Seesmic tasks
- Server Operations
- Server deployment/configuration management, monitoring and infrastructure support
- Developer Support
- Server resources: SVN, Jira, Hudson and helpdesk
- Customer Support and QA liason
- Work with both Customer Support and QA to answer questions and be a goto person for information before they have to escalate to the developers
- Build/Release
- Established best-practices knowledge, installed and manage the build environments for Java, iPhone, Android and Blackberry
1999 to 2008
San Francisco, CA (remote)
Build/Release Engineer
Responsible for all build/release tasks for the Chandler and Cosmo teams. Software support and setup, tools and computer hardware configuration.
Created tools as required to support the Chandler and Cosmo development teams. Modified open source tools to work with the OSAF environment. Directly support development team in the care and feeding of the various OSAF development resources.
- Directly responsible for Tinderbox, Bonsai, Maven 2, Subversion (prev CVS) and other resources for the dev teams
- Responsible for the setup and ongoing support for all of the test computers for the Chandler (Tinderbox) and Cosmo (Tinderbox and Hudson)
- Developer support contact for any of the developer tools, i.e. they came to me when something wasn't working properly and I went to IT if needed
- Setup and supported the IRC environment for OSAF - various support bots and other management tasks
UT&I Solutions
1999 to 2005
Cherry Hill, NJ
Systems Analyst and Senior Developer
Lead or sole coder for a data aggregation, mining and reporting company serving multiple small to mid-sized restaurant companies with extremely high data collection rates. Source control, unit tests and bug tracking were used to ensure quality and on-time delivery (often the deadlines were measured in days.)
Delivered applications to communicate with Point of Sale (POS) systems, customer databases, translate data formats, mine useful information from the large datasets (frequently over fifty megabytes per day) and present reports, both directly to the users and for export to third-party enterprise management systems. Designing and implementing the above programs required competency in database design, data mining, TCP/IP, UI design for touch-screen and other non-standard interfaces, dedicated hardware interfaces and enterprise reporting systems often with minimal specifications.
The applications I designed allowed UT&I to increase the active customer base by over 200 percent without having to increase the technical support staff. This also allowed UT&I to move from the one-or-two store operations to the medium-sized companies with fifty plus locations.
- Developed customer data import programs to take Point of Sale (POS) transaction information from quick-service and fine-dining systems and import them into a set of common databases.
- Developed custom code to interface to Unix, PC and Mainframe systems to extract data when the POS vendors would not provide specifications or could not when they no longer were in business.
- Wrote the front-end program to manage the payroll, inventory, menu and financial information imported from the various POS systems.
- Developed export programs to allow the data to be processed by third-party payroll and accounting applications.
- Developed scripts to run on POS terminals to interface with the back-office services.
- Developed server programs to listen for events from multiple terminals and store the transactions.
- Implemented touch-screen POS programs and other data-interface clients to send transactions to the back-office server.
- Designed and developed communication routines to synchronize transactions across multiple locations in real-time.
- Refactored the legacy applications, written in a combination of Clipper and C, using Delphi.
- Primary administrator for the in-house Windows network (NT, Win2k) and in-house Linux servers (SMTP, FTP and DHCP.)
Malvern Scale Data Systems
1996 to 1999
Malvern, PA
Senior Developer and QA Team Lead
Assisted in the development of the Package Shipping System for Roadway Package Services (RPS), which allowed small and large shippers to generate all the required information needed by the major ground and air carriers (RPS, UPS and FedEx) to get the boxes shipped using the most cost effective carrier. The application managed all aspects of package shipping for small and large operations. This includes the electronic delivery of a shipping request, the printing of required labels in the carrier's required format, to the generation of the final waybill to be delivered to the carrier.
- Member of the team that was responsible for the transition from a DOS-based Clipper program to the Windows-based Delphi program.
- Involved with the collection of use-case information, prototype design, implementation and customer support. Primary development responsibility was for back-end integration to the UI module, creation of system libraries used by other team members, and label routines that allowed printing across a wide variety of commercial high-speed label printers.
- Responsible for the daily build and QA team interface. Tasks involved running the build scripts, writing unit tests, performing white-box and black-box testing and working with the Product and QA Managers.
- Assisted the Product Manager to design and implement custom features as required.
- Assisted installers in the proper use of the program and any pre/post installation issues.
- Assisted tech support with any questions they had or with issues that were outside their area of expertise.
Mail Advertising
1994 to 1996
Colmar, PA
System Administrator and Developer
Developed and maintained job support programs to allow the in-house customer and product teams to collect address data from the customer, generate samples for review, merge data into the print stream, and delivery of the printed data to either the post office or to the post-production teams.
- Maintained and supported 100+ users across three sister companies.
- Primary administrator for the Windows NT network.
- Administrator for the multiple high-speed line printers and the spooling computers that feed them data.
- Maintained the microVax server and its interface (Pathworks) to the NT (and Windows for Workgroups!) network.
- Developed in-house job tracking and customer support systems used by the product managers and other in-house developers. The system was used to manage the job process from sales all the way to pre-press.
- Brought the company onto the Internet, which involved installation and configuration of the router, firewall and SMTP, DNS, DHCP servers
- Supported PC, Mac and various network printers.
Legal Intelligencer
1992 to 1994
Philadelphia, PA
Systems Analyst and Developer
The Legal Intelligencer is the paper of record for Philadelphia and the surrounding counties in which large quantities of small information parcels had to be printed accurately and in a timely manner. In order to handle this volume of information, automated procedures were introduced from the beginning. Early versions used floppy diskettes to transfer the data between the various steps; later versions took advantage of a common network between the PC's (used for data-entry and editing) and the Mac's (used to generate the typeset-ready copy.)
- Primary support for the 50+ user Novell network (PC and Mac.)
- Supervised the transition from Novell to Windows NT.
- Supervised the move from Packard Press to the new offices when the Legal Intelligencer was sold.
- Developed custom programs to gather, sort and generate typeset information for the many directory publications that were published. This involved data entry and output to files for direct use by QuarkXpress.
- Wrote utilities to convert the data that came from various legal sources: court documents, court reporters, directories and sheriff-sale notices.
Packard Press
1987 to 1992
Philadelphia, PA
Programming and Systems Support
- Developed in-house programs in C, Clipper and Pascal to convert incoming data into formats that could be imported into the typesetting system.
- Supported the 100 user Novell network.
- Supported the various laser and dot matrix printers in-house.
- Setup and ran the year-end financial reporting blitz network - close to 25 Unix computers, all networked and running custom C code along with the Xerox page printers.
- Development team member for the Fund Publishing System used by Mutual Fund companies to submit data for publication by Packard Press.
United States Marine Corps
1982 to 1986
Camp Lejeune, NC
Computer Programming and Support
- Managed deployment of the new Z100 computers.
- Programmed for, and performed field support on, the IBM Series I field portable computers.
- Performed maintenance programming for the mainframe-based inventory control programs.
- Interfaced field computers (Z100 and Series I) to various communications equipment: satellite phone, field switchboards, paper tape and magnetic tape readers.
Open Source Projects
- Leo Laporte's Sites
- I manage the server back-end for Leo and also I'm working on creating a real-time webpage that uses RabbitMQ, Tigase XMPP and numerious Python bots to allow the new Drupal based front-end to receive live data
- Parsedatetime
- Created and maintain a human-readable date/time parsing module for Python
- OSAF Chandler
- OSAF Chandler is a project started by Mitch Kapor and is run by the Open Source Application Foundation. This excerpt from their FAQ describes what Chandler is to be:
Chandler is a next-generation Personal Information Manager (PIM), integrating calendar, email, contact management, task management, notes, and instant messaging functions.
- Bonsai and Tinderbox 2
- Was the co-maintainer for Tinderbox 2 and Bonsai
- BuildBot
- Helped with testing and some coding for earlier versions of BuildBot