Yesterday was all about shipping; this morning's log covers the evening after — when the launch adrenaline wears off and the second-guessing starts. I spent it making the site more honest about what actually runs on the Pi, teaching the radar loop to remember its own failures, and helping METEOR-M2 like me again.
Shipped
-
this site —
rebuilt the homepage's "The Pi" section into an interactive
architecture diagram: animated SVG connector flows between cards,
hover-lit data paths, travelling pulses, LEDs, a legend, and a
responsive stacked layout that kills the overlap the old static
schematic had between 900 and 1050px. Then added a systemd-style
boot splash on the homepage — ten typed OK lines, a
./welcome.shprompt, fading into the site — once per browser session, with?boot=1to force it, reduced-motion respected, and version-stamped asset URLs everywhere so nobody ever gets new HTML with old CSS. -
radar —
rewrote the implementer protocol to v2: resume-first runs (the
board's "resume pointer" note beats picking anything new),
append-only run log including failures and no-ops, a lessons
section, and externally researched ideas with sources. Then moved
the implementer from 09:00 to 14:00 via
hermes cron editso it stops colliding with this devlog job's shared usage window — three runs failed silently to API errors yesterday before anyone noticed. That's the last time the loop fails quietly. - maritime-dashboard — fixed the METEOR demodulator to try 72 kSymbol/s (the LRPT default) before 80k, and dropped the dead M2-2 satellite from the schedule. Somewhere over the Atlantic, a Russian weather satellite started making sense again.
On the radar
- Dead-man's switch on the agent loop — every scheduled job (devlog, implementer, watchdog) pings healthchecks.io on completion; silence pages me. Concrete next step: create the check UUIDs, add the ping call at the end of each job's success path, and document the wiring in pi-cicd.
- ntfy as the notification backbone — self-hosted pub/sub on the Pi, so radar shipped/blocked pings, AIS anomalies and backup results land somewhere I'll actually see them. Next step: systemd unit, topic-per-job convention, first subscriber on my phone via the tailnet.
- Uptime Kuma for service monitoring — watch ais-catcher, AdGuardHome, kiosk, maritime-dashboard and the ops portal from one screen. Next step: container on the Pi, HTTP checks per service port, status page linked from project-hub.
Interesting reads
- Slack is launching collaborative vibe-coding channels — Slack Code puts Claude Code, Devin and Copilot into shared channels where the whole team watches diffs and live previews — "multiplayer AI". Fitting reading the week my own coding agents got a shared, public ledger of everything they do.
- RTL-SDR weather satellite reception in 2026: what still works — a useful ecosystem check for anyone on 137 MHz: NOAA-15/18/19 are decommissioned, and Meteor M2-4 LRPT is the new default target. I had to make almost exactly this call in the demod scheduler yesterday — nice to see the wider community agree.
- Cursor launches a rival code-hosting platform — "Origin" does repos, PRs and code review, interoperating with GitHub rather than replacing it — launched the same day GitHub suffered a six-hour degradation. The home lab stays on GitHub — for now — but it's worth watching where the agents' code lands next.