A selection of some simple hobby projects that have fun experiences for me, or might be useful for others poking around in similar areas. Most of this is nonserious, for my own enjoyment/entertainment, or for exploring new technologies. I don’t expect these to be production-quality or employ novel algorithms (or even be novel systems). My goal with these is to do fun, simple things that I find useful. I am trying to share more of this work, and will try to keep this updated.
My professional work is available in my CV.
- altex: A tool for post-processing LaTeX-generated PDFs to add accessibility structure, including alt text and natural language math text-to-speech. Accessibility tooling for LaTeX is surprisingly sparse. Live at altex.ml8.sh.
- 3x3 Macropad: A 3x3 macropad with tooling for custom keymaps using qmk and a tool for programming the built-in OLED. One of the few examples of using the qmk USB HID and qmk EEPROM features that I was able to find.
- sg: A bare-bones static site generator in Go. It’s what generates this site. I wrote a little about why I do these sorts of projects here.
- rss2rm: A tool and web service for polling RSS feeds and rendering them for reading/marking on a reMarkable tablet. Built for me and my dad to get our reading on our tablets. π©π»βπΌπ΄π»
- tinyr: A poorly-written URL shortener in Go with support for multiple storage backends, OIDC authentication, and GCP deployment via Helm and Terraform. Built to experiment with some things. Live at tinyr.us and serves my personal short links.
- Skate Dryer: A toy skate dryer using an ATtiny85 microcontroller to run a fan on a timer. Press a button a few times to set how long it runs. Not exactly cutting-edge embedded systems, but it dries my skates, and I found it to be a nice way to explore the microcontroller, maybe others would find it a useful minimal example.
- Rhodes CS JupyterHub: A bespoke JupyterHub environment on GCP/Kubernetes for students learning Python at Rhodes College, along with a set of custom libraries for the introductory CS course. This became the standard platform for how the course is delivered across 6+ sections per year by multiple faculty and is fairly easily adaptable for other institutions. The documentation is extensive and doesn’t assume prior knowledge, so this could be a useful reference for other educators looking to set up a similar environment.
- Slack Queue: A Slack bot for managing per-channel queues. Users can enqueue themselves, administrators can manage the queue. I developed this in 2020 as Rhodes College Computer Science transitioned to remote learning, and was used for our tutoring program for a few years. I planned for the project to be maintained by students.
- 6502 Computer: Assembly source and tooling for a hand-designed 6502-based computer architecture with EEPROM, RAM, I/O via a 65c22 VIA, an LCD, and a serial interface. Very much a work in progress—a partially-built project that was moving toward being integrated into my COMP251 course at Rhodes, but ultimately was shelved as a I left teaching.