Blog

Things I build, break, and fix.

Occasional write-ups. Mostly practical: what broke, what I measured, and what turned out to be the actual cause.

2026-08-25

A dead-key bug, fixed by reading the Compose table

The apostrophe key on my Linux keyboard was composing accents on consonants, not just vowels, so "I'm" came out as "Iḿ". How Claude Code found the exact system file responsible and fixed it with a three-line personal override.

2026-08-24

Disabling the Bluetooth toggle in GNOME's Quick Settings

A small GNOME Shell extension that blocks the click-to-toggle body of the Quick Settings Bluetooth button, so it can no longer disconnect Bluetooth by accident, while the caret that opens the device menu keeps working.

2026-08-08

I gave Claude Code a photo of a hand-drawn plan

A photographed floor plan whose measurements did not close by 50 cm. How I used Claude Code to find the error, how it identified the culprit by measuring the drawing itself, the round where it contradicted its own earlier answer, and where it was stuck until someone went outside with a tape.

2026-08-03

Claude Code RCPing a Xerox printer

A Xerox Phaser 3020 that printed nothing and called every job a success. How I debugged it with Claude Code, the confident misdiagnosis it made, and the piece of paper in the output tray that only I could read.

2026-07-30

Claude Code, pointed at a 3D printer

I use a coding agent every day for software. I pointed it at a hardware problem instead. What it was better at than me, where it was confidently wrong, and the one discovery it could not have made.