Martin Tithonium


I've just started putting this together, so there's obviously a LOT missing.
Last Updated 16dec21 16:01

Bidirectional data sync between Rails/Postgres and legacy UniData database

Co-designed a system for representing legacy flat-file multi-value database records in a modern relational database, and synchronizing that data with Rails ActiveRecord models. Achieved high-throughput bi-directional sync with strong atomicity constraints.

Custom convention scheduling system

Built a custom programming scheduling system for Norwescon, allowing the programming department to gather information from panelists, and assign them to panels, replacing a system based on emailed spreadsheets.

Bespoke convention registration system

Built a custom attendee-registration system for Steamcon, allowing people to register and pay online or at-con. Data fed into badge printers and financial analytics.

Improved Customer Service tool

At Popcap Games, replaced a bug-ticket-and-shared-word-doc based customer service workflow with a Rails application, integrating with email queues, templated responses, and external tools to improve response throughput.

Front-end and middleware for Amazon Wishlists

Spent 2004 rebuilding Amazon Wishlists in the new Perl/Mason frontend and PerlInside middleware. Worked with designers as well as SDEs building the backend. At launch, 100% of the middle and front code was mine. That number declined slowly over the next decade or so.

Simulated Wishlist service to support Target

When Amazon was building Target's new platform, they wanted to provide Wishlist and Wedding Registry services. However, Target was being built on the new Gurupa system, while Wishlists were only supported on the legacy Obidos platform. The SDE team estimated nearly a year to build out a new service to support the new system, while we had only a few months to launch. I was able to build out a 'pseudoservice', using an Obidos-based backend to render XML templates, instead of HTML, and provide a mechanism for the new front-end to talk to the existing backend. We were able to launch on the new platform in plenty of time.

Mancala Game Client/Server in Java/MOOCode

Wrote a Mancala game server in MOOCode while writing the GUI as an in-browser Java applet. Users could play against other users on the web, or against text-based users in the MOO.

🐄 Pure MOOCode DNS Client 🔗

Wrote the first, and to my knowledge only, dns client in pure-moocode

🐄 Pure MOOCode SMTP Server 🔗

Wrote the first, and to my knowledge only, full send/receive smtp mta in pure-moocode

👑 Invited to take graduate-level AI course by CS department chair

Impressed the instructor enough in undergrad 400-level Programming Paradigms course that I was invited to take his 700-level AI course the next semester.

Taught self to program in BASIC at age 6

I was given a TRS-80 Color Computer, but quickly grew bored with the games it came with. If you booted it up without a cartridge, it dropped you to a prompt where you could write BASIC. So I started teaching myself to program.