This is a list of some of the things I've worked on. It includes side projects, games, experiments, and open-source projects. For my professional experience, see my LinkedIn profile instead. For more older or retired projects, see my BitBucket page.

Number Namer

Demo Source
An Elm app that displays the names of large numbers as they might be spoken.

Catan Deck

Demo Source
A phone-portable deck of cards to replace the confoundedly fickle dice in Settlers of Catan.

TrackSuit

Demo Source
A Card-counting tool built in with Elm.

Auto Sage

source
A de-make of Zach Gage's Sage Solitaire that does the card counting for you. Built with Rust and BearLibTerminal.

Rhiz

source
A deliberately minimal task-runner built with Rust.

By Sea, Land, or Air

source demo
A non-violent rogue-like game about piloting a vessel than can transform into a wagon, boat, or hot-air balloon. Written for the 2019 Seven Day Roguelike Challenge .

Celaut and Celaut-Explorer

source demo
A cellular automaton written in Rust inspired by @lorenschmidt . In addition to the automaton itself, there's a visualizer written in TypeScript and Rust.

Ballistic Smashbing

source demo
A Breakout-like game written in Rust that cross-compiles to native code and WebAssembly.

Divarema, the didactic vanity register machine

source
An an interpreter that implements an abstract Random Access Machine (described in Cook and Reckhow, 1973 ) implemented in Rust.

Mander

source demo
A puzzle game about hacking democracy built with Elm and GitHub pages.

Clappify

source demo
Because clapping in tweets is for everyone…

ABL Mode

source
An Emacs major mode for editing Progress OpenEdge/ABL files.

Thesis

I worked towards an MSc at Dalhousie University under the supervision of Dr. Randall Martin . Before I dropped out, I was working on using the GEOS-Chem Adjoint Model to study the changes in emissions of black carbon aerosols over North America during the 1990s and early 2000s.

NAC

source demo
A Clojurescript/Om implementation of Tic-Tac-Toe.

Powers

source demo
A Clojurescript/Om clone of 2048.

SPAML

source
A recursive-descent parser for a markup language in the style of Haml replacing Ruby with Python. Also a vivid illustration of "beginner expert" syndrome.