Skip to content
View egasimus's full-sized avatar
🐒
all our telepaths are on leave and the ascended master is currently downshifting
🐒
all our telepaths are on leave and the ascended master is currently downshifting
Block or Report

Block or report egasimus

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
egasimus/README.md

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.
dawless Rust. Sample converter for AKAI S3000XL - the only working one out there! Can also read Korg Electribe 2 patch dumps.
thatsit Rust. My take on a functional-ish UI library. Currently does TUIs, though the model is designed to be portable to graphical environments. Powers dawless.
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

@egasimus's activity is private