Samuel Hunter

My Personal Projects

Wayflan - From-scratch Wayland client for Common Lisp (2022)

Wayflan is a re-implementation of Wayland's reference implementation libwayland, for Common Lisp. My favorite thing about this project is because Wayland protocols are defined in XML documents, this library enables dependents to expand XML into Lisp code directly without doing anything special to the standard build system!

Noded - Minimalist concurrent esolang (2020)

Functions replaced by machines! Inspired by puzzle games TIS-100 and MHRD, this programming language only gives you little fantasy microprocessors sending 8-bit numbers between each other.

Kablature - Kalimba music score compiler (2019)

When I received a kalibma as a Christmas present, I had trouble playing it from a normal music score because the keys on the kalimba alternated in pitch.. I wrote a program that arranged the keys of music sheets from the pitch to the position of the key on my instrument so that I could better interpret where to play the notes.

Tagmage - Save, list, and manage a large collection of files through tags (2019)

I used to have a large collection of photos in a mudball of folders -- one from a camera in this trip, one imported from my phone, folders inside folders -- and so on. When I realized that this wasn't manageable, I wrote a couple programs meant to integrate with customizable file browsers to interact with a tag-based database that stores its files in a directory next to a SQLite database file.

The Royal Game of Ur, online (2019)

I found this video (2017) of The Royal Game of Ur, and I wanted to play it so much that I implemented it myself.