Cleaning up abandoned tooling taught me two things npm and git don't tell you
An npm uninstall that leaves a 44MB binary behind, and a stash whose label records where HEAD was pointing, not what the diff is about.
Notes on the software, games, and music coming out of Imperfect Systems.
RSS feedAn npm uninstall that leaves a 44MB binary behind, and a stash whose label records where HEAD was pointing, not what the diff is about.
SQLite treats a zero-byte file as a valid fresh database, so every corruption check passed - and the backup pruning would have deleted the good copies within a week.
The trust gate exists because a real tap got compromised. Twenty minutes of reading the formula, the permissions, and the maintainer beat ten seconds of running the suggested command.
Closing the hero-image loop: insertion-only frontmatter patching, a guard that distrusts the database and caught real drift on its first run, and a Turbo broadcast with no listener.
A monotonic counter for out-of-order refreshes, a cancelable dialog event, a timestamp key that collides within a second - and a regression test that couldn't fail.
Page 26 of 53