
Rhythm Brown Box, Rebuilt
Rebuilding the four-track browser drum machine I built as a freeCodeCamp deliverable, and actually used to practice guitar against, gets a real audit and a v2 rebuild.
Notes that aren’t tied to a single product — the tooling, process, and engineering decisions that carry across everything I build.
Some of this is workflow: how I run Claude Code sessions, what actually persists between them, which parts of a build belong in version control versus in my head. Some is practice: treating security as a design constraint rather than a pre-launch checklist, and picking up iOS development again after years focused on the web.
These entries tend to be the ones I write after something broke, which makes them more useful than the ones written while everything was working.

Rebuilding the four-track browser drum machine I built as a freeCodeCamp deliverable, and actually used to practice guitar against, gets a real audit and a v2 rebuild.

You’ve got a video with no narration and a script you want timed to specific moments on screen. Here’s the whole path from nothing to a finished, muxed file — one terminal, zero paid tools.

You’ve been deep in a Claude Code session for an hour, you close the terminal, and twenty minutes later you need to get back into that exact conversation. So you dig through claude –resume history, squint at a list of session IDs with no context, and hope you pick the right one. It’s a small tax, but it’s one you pay every single day.

A beginner’s guide to installing and using nnn on Fedora — plus how it compares to ranger and feh. Ever opened a graphical file manager just to glance at a folder of screenshots, and watched it take three full seconds to load? Terminal users solved this problem years ago.

I had a demo video with no narration and a stack of AI tools that could hand me a working script in about the time it takes to make coffee. I used them. I’m not going to pretend otherwise, and I’m not going to apologize for it either — that would be its own kind of dishonesty, and I’ve got no patience left for either the “AI wrote my whole app” victory laps

Eventually I realized it wasn’t me. It was the key. The song wasn’t too hard — it was just too high. If I could nudge the whole thing down a few steps, it would land right inside the range I actually have.
Home » Developer Notes » Engineering