Workbench

The toolshed. Engineering essays with the codebase clipped to the back. Builds, opinions, post-mortems.

6 entries

  1. DISPATCH 006STATUS · SHIPPED

    Five thousand mockups and no way to search them

    Building an MCP server on the Mockuuups Studio API, and the four undocumented behaviours that shaped every design decision in it.

    • mcp
    • fastmcp
    • python
    • cloudflare
    • docker
  2. DISPATCH 005STATUS · SHIPPED

    Moving data you can't afford to lose

    The boring disciplines behind a data migration you can actually prove: irreplaceability order, checksum gates, offsite-restore tests, uid preservation, and verifying by function.

    • zfs
    • rsync
    • restic
    • nfs
  3. DISPATCH 004STATUS · SHIPPED

    The Quiet Press: a newspaper that turns itself off

    A Raspberry Pi, an e-paper panel, and a battery that lasts because the device spends almost all its life switched off. The architecture, the design, and what the schedule taught me.

    • raspberry-pi
    • fastapi
    • playwright
    • home-assistant
    • mcp
    • e-paper
  4. DISPATCH 003STATUS · SHIPPED

    Draining a server with the lights on

    Retiring a flaky, load-bearing box in an afternoon: DNS, public ingress, home automations and all, with nobody noticing.

    • docker-swarm
    • dns
    • cloudflare-tunnel
    • observability
  5. DISPATCH 002STATUS · SHIPPED

    Blueprint: Migrating a 70-Device Zigbee Network to a New Coordinator Stack — Without Re-Pairing

    A field-tested runbook for moving Zigbee2MQTT from an ember (EFR32) coordinator to a zstack (CC2652P) one in place — including the undocumented channel_mask trap, a socket-contention root cause, and what an AI pair-operator actually contributed. With three postscripts: the beta-firmware auto-update ambush, the week-long hunt that ended in a wrong-board-variant firmware and a Wi-Fi AP squatting on the mesh's spectrum, and a 72-hour soak that finally turned the claim into proof.

    • zigbee2mqtt
    • zigbee-herdsman
    • zstack
    • home-assistant
    • mqtt
  6. DISPATCH 001STATUS · SHIPPED

    An EPUB, via email.

    why mcp-readwise has fourteen tools, but the one that actually mattered ships markdown to your Reader Library by SMTP — and what that detour says about API design.

    • python
    • fastmcp
    • pandoc
    • aiosmtplib
    • resend
    • docker