Writing

50 posts
Builds · 7 min read

Hears Everything, Heard by No One

My Meshtastic station could still hear the mesh as well as it ever had, but nobody outside my house could hear it. Receive stayed flat; transmit went to zero. That cleared the antenna, cable and connectors before I ...

Home · 6 min read

Half a Light Curtain Said “Success” and Did Nothing

For months, a smart LED light curtain in my house wouldn't reliably do what Home Assistant told it. In August 2026 I took it apart, one hypothesis at a time, and learned the one curtain was two devices. One answered ...

Builds · 6 min read

Two Tiers for Local AI

In August 2026 I sketched what it would take to run my AI work at home: a fast GPU for high-volume background jobs, and a big-memory machine for the long conversation. Over 37 days, 96.6% of the tokens my setup ...

Builds · 7 min read

The Radio That Lied About Dying

The radio in my new Meshtastic base station was dead for ten days, and the service manager logged all fourteen restarts as clean exits. The real cause was a full node database crashing the radio software. I found it by ...

Builds · 7 min read

An E-Ink Truck Dashboard That Admits When It Doesn't Know

In July I built an e-ink dashboard for my Rivian in one day. It sits on a TRMNL and shows charge, range, cabin temperature and anything left open. Most of the work went into one question: what should the screen do when ...

Music · 6 min read

Every Wireless Turntable Is Late

I set out to answer a small question: can a Wi-Fi turntable send records to a WiiM multiroom system? On paper, yes. The catch: a wireless turntable is late in every room, even its own. Bluetooth adds 34 to 300 ms, per ...

Home · 5 min read

My Motion Sensor Gave Up Above 100°F

My PIR motion sensor started firing on its own and kept my patio misters cycling. I moved the start to camera person detection, left motion only as a hold, and put a hard 30-minute cap over both.