Free OTA TV Anywhere, Using a Box I Already Had

My TV antenna lived behind my TV in the living room. Reception was inconsistent: if someone walked between the antenna and the window, the signal dropped. If I forgot to pull it out and angle it before sitting down, I got nothing. I had an HDHomeRun FLEX DUO from a previous place where I had the antenna setup dialed in. I moved and never got around to setting it up again at the new apartment. The antenna behind the TV was the placeholder that never got fixed. This week I fixed it, and the same day I finished, I used it to watch the FIFA World Cup from an airport lounge and a plane on the way home from a trip, free, with no cable subscription. That felt worth writing up. ...

July 19, 2026 · 7 min · Derek Welty

Self-Hosted Obsidian Sync on a Raspberry Pi with Tailscale

Two spare Pis sitting around. Already running AdGuard, so Pi-hole was off the table. I wanted something actually useful. I’ve been paying $10/month for Obsidian Sync. The vault lives on my hardware anyway — it felt like paying rent on my own stuff. The alternative: run CouchDB on a Pi, point the Self-hosted LiveSync plugin at it, and use Tailscale to make the Pi reachable from anywhere without port forwarding or a public IP. E2E encrypted, zero ongoing cost, fully under my control. ...

June 26, 2026 · 8 min · Derek Welty

TRMNL X BYOS: Self-Hosting the Server Before the Device Arrives

Correction, October 2026. The display arrived and is running, and parts of this post are wrong or no longer used. Part 2 has what ended up on the screen. I’ve left the original below as a record of what I did before the device arrived, so don’t follow it as written. Wrong: the panel is 10.3 inches at 1872 × 1404 with 16 grays, not 7.5 inches. BYOS doesn’t need the Developer Edition (step 1 under “What’s next”). And the server I run is TRMNL’s own byos_fastapi, not the project linked under “The server”. ...

April 23, 2026 · 4 min · Derek Welty