Here are some toy projects I occasionally tinker with:
Repo created | Last commit | Name | Description |
---|---|---|---|
dop | Rust. A minimal local-first habit tracker that lets you track your positive and negative actions from the command line. | ||
mpcemu | Rust. Emulator of NEC V53 CPU, as used in AKAI MPC2000XL. I've implemented about half of the instruction set - it runs the MPC3000 ROM about as far as printing the initial boot string. | ||
hfedisk | Rust. Partial implementation of HFE disk image format used by the Gotek HxC floppy emulators, like the one I have in my S3000XL sampler. Used by dawless to load drum kits into that old beast. |
||
laterna | Rust. Renders piano rolls to the terminal. Used by dawless when browsing Electribe patches. |
||
midichka | Zig. This was supposed to be a MIDI message router and processor. I got as far as some of the TUI, ran against an actual compiler bug in Zig 0.x and moved on to other things. At least I got to write some Zig, which was fun! | ||
dothot | NodeJS. CommonJS hot reloading by purging the require cache on file change. Add some late binding and clever state-management, and Node becomes live-codable. Made obsolete by the prevalence of ESM which still does not support this. |
||
redux-helper | React. My attempt at making React Redux less annoying to use. Made obsolete by the prevalence of React Hooks as a preferred state-management mechanism. | ||
xmonad-equalspacing | Haskell. I'm quite proud of being able to figure this one out while having absolutely zero idea what I was doing. I miss XMonad! I haven't used it in many years, but I fondly remember its workspace switching behavior when coding on dual displays. | ||
postmelodic | C. A musical instrument that chopped samples and let you juggle them over OSC. Another early project I'm proud with, even though it has probably succumbed to bitrot long since I laid eyes upon its glorious mess of a codebase. I did not know the first thing about low-level programming when I did it, and learned tons about how things really work under the hood by writing out my entire though process on paper. |
Your usage, feedback, and contribution to these projects are most welcome 🫀
“A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”
― Robert A. Heinlein