- Software EngineerPlymouth Design Group2006 - PRESENT
- Upgraded a client's online store from X-Cart 3 to X-Cart 5. This involved writing X-Cart 5 modules to implement custom functionality that had previously been implemented as hacks to the X-Cart 3 core.
- Worked with a team to redesign the user interface for an online shipping marketplace. I acted as lead developer for the back-end software.
- Developed a utility to allow an Excel application on the Macintosh to generate several reports and combine them into a single PDF.
- Created a system to allow several Excel software products to be licensed for 30 days at a time. This included code on the server to calculate the expiration date, along with Excel macros to enforce it.
- Added a "what if" sheet to an investment analysis spreadsheet to let the customer make incremental changes to key assumptions, and immediately see the effect on various metrics.
- Developed a system to add a banner to each eBay listing for a given seller, encouraging buyers to use a particular company for shipping.
- Developed a web application to show market value for wet shaving gear, based on data from eBay sales, obtained through Terapeak.
- Enhanced the partnership section of an investment analysis spreadsheet to show the effects of waterfall tiers in partner distributions.
- Added macros to an Excel application to allow data to be imported from an earlier version of the application.
- Modified the admin section of a shipping marketplace to show a variety of sales analytics, and to download this information in CSV form.
- PNACL Chrome Extension DeveloperAtlas Learning (via Toptal)2016 - 2016
Technologies: C, Google Native Client
- Created a Google Native Client application to make a voice recording, encode it as MP3, and upload it to Google Drive.
- Software EngineerUTStarcom2000 - 2003
Technologies: C, RTEMS
- Developed a call control module to allow an analog phone to be connected to an H.323 network.
- Tracked down and fixed several bugs in a vendor's H.323 protocol stack.
- Systems AnalystTicketmaster1993 - 2000
Technologies: Pascal, VAX Assembler, Microsoft Access, C++, ODBC
- Developed firmware for a portable device to read barcodes on concert tickets, allowing venues to collect statistics about attendance.
- Developed an ODBC driver to allow direct access to a ticketing database from applications such as Microsoft Excel. This consisted of over 10000 lines of C++ written in about three months.
- Wrote a version of the Kermit file transfer program in Pascal, for use under a proprietary operating system used for ticketing.
- Rewrote some accounting reports to use a Microsoft Access database to store sales data.
- Wrote numerous utilities to import data about sold and reserved seats into a proprietary ticketing system.
- Software EngineerViasoft1988 - 1993
Technologies: Pascal, IBM Mainframe Assembler, COBOL
- Sped up several Viasoft product components by rewriting some database access modules. The performance of the analyzer improved by about 30%.
- Wrote a utility to take the JCL for a COBOL compile and convert it into JCL to run the Viasoft analyzer. This was important because customers had such varied ways of running the COBOL compiler.
- Developed a system to allow Viasoft products to be split into packages that would be dynamically loaded as needed.
- Integrated the Viasoft editor into the regular ISPF editor so that there would be no performance penalty until one of the special Viasoft commands was invoked.
- Found a bug in another vendor's product that was manifesting itself as a failure in a Viasoft product. Suggested a fix.
- Software EngineerVidnetics1987 - 1988
Technologies: Unix, C, Z80 Assembler, 6502 Assembler
- Helped port an interactive cable video system for hotels and cruise ships to Unix System V.
- Completely rewrote some firmware that served as a gateway between the in-room video board and the Unix System V head end. This was several thousand lines of Z80 assembler code.
- Software EngineerAnasazi1984 - 1987
Technologies: Unix, C, x86 assembler
- Developed general purpose network software for Unix.
- Software EngineerHoneywell1980 - 1984
Technologies: Honeywell 6000 Assembler (GMAP), PL6
- Developed and maintained components of the GCOS 8 operating system.