Software Engineer
2006 - PRESENTPlymouth Design Group- 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.
Technologies: Visual Basic for Applications (VBA), Microsoft Excel, JavaScript, PHPPNACL Chrome Extension Developer
2016 - 2016Atlas Learning (via Toptal)- Created a Google Native Client application to make a voice recording, encode it as MP3, and upload it to Google Drive.
Technologies: Google Native Client (NaCl), CSoftware Engineer
2000 - 2003UTStarcom- 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.
Technologies: RTOS, CSystems Analyst
1993 - 2000Ticketmaster- 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.
Technologies: Assembler, ODBC, C++, Microsoft Access, PascalSoftware Engineer
1988 - 1993Viasoft- 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.
Technologies: Assembler, Mainframe, COBOL, PascalSoftware Engineer
1987 - 1988Vidnetics- 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.
Technologies: Assembler, C, UnixSoftware Engineer
1984 - 1987Anasazi- Developed general purpose network software for Unix.
Technologies: Assembly, Assembler x86, C, UnixSoftware Engineer
1980 - 1984Honeywell- Developed and maintained components of the GCOS 8 operating system.
Technologies: Assembler