% This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
\item Programming language theory, type theory, strongly-typed functional programming languages. Haskell, Elm, Scala. I've been writing Rust since before the 1.0 release in 2015.
\item Linux system administration for production cloud environments, Docker containerization, AWS/Terraform/CDK. I run a 4U VM server on a shelf in my kitchen for personal projects.
\item Full-stack web development in multiple web frameworks in multiple languages. Frontend web development in the modern Javascript/Typescript ecosystem.
\item Network programming and troubleshooting, hardware and software packet processing, embedded Linux hardware bringup, writing clear and maintainable C and C++. Can solder if necessary.
\resitem{Updated old Python codebase to modern typed Python + Rust execution core for improved performance and maintainability. Frequent Rust/Python FFI and Python metaprogramming.}
\resitem{Routinely collaborated with external contributors in a spirit of good open-source citizenship.}
\resitem{Contributed to internal React/Typescript frontend work, Django/AWS backend work at early-stage startup (\textless 10 employees) when all hands needed on deck. }
\resitem{One of two members of the backend/devops team. Primarily responsible for feature development for API microservices in Scala (Akka/Couchbase NoSQL),
and AWS provision of the same (Docker, Terraform).}
\resitem{Built systems for processing GDAL geospatial data, efficiently running TensorFlow/OpenCV ML workflows on quadrotor drone photos.}
\resitem{One time I grabbed a Windows laptop and set up a
Visual C++ environment so I could apply a 10-line bugfix patch
\resitem{Primarily responsible for feature development and support of several different models of cloud-managed Ethernet switches and WiFi access points.}
\resitem{Healthy mix of embedded Linux firmware development on networking hardware (C++) and full stack web development (Ruby on Rails/PostgreSQL + some Scala).}
\resitem{Designed and built WiFi statistics monitoring widget with d3 and React, looked cool in demos and saved at least one deal.}
\resitem{Regular troubleshooting and debugging of hardware and software in production network environments. The 802.1Q protocol identifier value 0x8100 is burned into my memory
An open-source browser-based roguelike game. Every level is unbeatable and requires the player to modify the Javascript code defining the level in order to progress.
This started out as a college hackathon project by me and a friend, that we decided to keep working on and release publicly. A surprisingly large number of
people around the world have contacted us telling us they've enjoyed playing it, or found it to be a fun and useful pedagogical tool for teaching programming.
Rust port (with a few new features) of Hilite, a simple command-line utility to highlight stderr output. I used this for making errors especially visible
among the mostly-stdout output from lengthy C++ builds.