If I have developed greater software, it is by standing on the shoulders of giants.
— not quite Isaac Newton (or Bernard of Chartres)
With so much in software and technology dependent on the open sharing of information and past effort, I would be remiss not to do so myself. Much of my work is owned by the companies for which I’ve worked, but some of it—and much of my personal effort—is open source.
In particular, I’m proud of:
@jaredreisinger/react-crossword (npm): A flexible, responsive, and easy-to-use crossword component for React apps. After some dissatisfaction with the existing crossword component libraries (all apparently forked from the same original source), I decided to create my own, and it quickly shot to the top of the npm search results for “react crossword”.
puppycam.turehounds.com: A site that periodically hosts a 24/7 live-stream (only live for a couple of months every two or three years!) of the puppies we’re raising with news and other details about the puppies as they grow. The site is designed to auto-deploy and auto-refresh any time changes are made to the source.
order-fetcher (npm): An easy-to-use command-line for extracting order/item data from a WooCommerce site. As the technical point-of-contact for both the Seattle Kennel Club and Evergreen Basenji Club, I use order-fetcher to generate detailed order information for other club members.
specialty-slurper: Fills a niche need for the annual Basenji Club of America Yearbook, which includes the winners of all Basenji specialties for the year. There’s more hard-coded logic in this tool than I’d prefer, but it saves hours of time for the Yearbook editor every year.
xyzzybot (with fizmo-json): Still a work-in-progress, xyzzybot brings the glory of Infocom-style text adventures (Zork, anyone?) to Slack. I particularly like the way that xyzzybot attempts to automatically distinguish game commands (
give flower to troll) from out-of-band chatter in the channel (
hey, why don't we try giving the flower to the troll?), with the goal of completely disappearing as the broker between the game and the players.
Automatic mapping layout: An Observable HQ notebook that explores using D3’s “force layout” tools to create text-adventure-style game maps from minimal easy-to-write input.
Commentator: Although way out-of-date (it’s for Visual Studio 2012 and 2013!), Commentator shows the type of user interaction I’m really proud of: when it’s doing its job, things just work and you hardly even notice it’s there.
I’ve also contributed odds-and-ends to several open-source projects:
- Compromise: fix build on non-Macs, automated build pipeline, and regexp-style matching
- pg_hashids: fixed a bug in low-level C code that calls the PostgresQL API; the bug had been present for years, since the creation of the library
- Discourse: pagination, developing via Docker, email whitelisting/blacklisting with GitHub auth, and benchmarking when running in Docker
And, of course, you can always look at all of my public repositories on GitHub.