<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Jason Worden</title><description>Engineering essays by Jason Worden.</description><link>https://jasonworden.com/</link><item><title>Not an iPad App: Why the Show Engine Lives on a Pi</title><link>https://jasonworden.com/posts/01-not-an-ipad-app/</link><guid isPermaLink="true">https://jasonworden.com/posts/01-not-an-ipad-app/</guid><description>Supervision looks like an iPad app from the front. Underneath, it is a Pi-hosted control system built around live reliability.</description><pubDate>Wed, 10 Jun 2026 17:00:00 GMT</pubDate></item><item><title>Offline on Purpose: Designing the Show Network and Telemetry to Survive Failure</title><link>https://jasonworden.com/posts/02-offline-on-purpose/</link><guid isPermaLink="true">https://jasonworden.com/posts/02-offline-on-purpose/</guid><description>Supervision runs on a dedicated local network by design. That choice simplifies the control path and changes how telemetry has to work.</description><pubDate>Wed, 10 Jun 2026 16:00:00 GMT</pubDate></item><item><title>Building a 44 Hz Engine That Doesn&apos;t Flinch</title><link>https://jasonworden.com/posts/03-44hz-engine/</link><guid isPermaLink="true">https://jasonworden.com/posts/03-44hz-engine/</guid><description>The Supervision engine runs at about 44 Hz inside a worker thread, with a hot path designed to stay simple, isolated, and allocation-free.</description><pubDate>Wed, 10 Jun 2026 15:00:00 GMT</pubDate></item><item><title>Never Go Dark: Designing Crash Recovery for a Live Show</title><link>https://jasonworden.com/posts/04-never-go-dark/</link><guid isPermaLink="true">https://jasonworden.com/posts/04-never-go-dark/</guid><description>Supervision persists the live performance state on every change, so a restart comes back to a coherent show state instead of a blank rig.</description><pubDate>Wed, 10 Jun 2026 14:00:00 GMT</pubDate></item><item><title>One Protocol, Two Different Clients</title><link>https://jasonworden.com/posts/05-one-protocol-two-different-clients/</link><guid isPermaLink="true">https://jasonworden.com/posts/05-one-protocol-two-different-clients/</guid><description>Supervision uses one typed protocol across the iPad and iPhone, with the Pi as authority and each client doing a different job.</description><pubDate>Wed, 10 Jun 2026 13:00:00 GMT</pubDate></item><item><title>mermaid-lint: Stop Shipping Broken Diagrams</title><link>https://jasonworden.com/posts/06-mermaid-lint/</link><guid isPermaLink="true">https://jasonworden.com/posts/06-mermaid-lint/</guid><description>mermaid-lint runs the official Mermaid parser over every diagram in your Markdown — as a Vitest/Jest suite, a CLI, or a library — so broken diagrams fail CI instead of shipping as error boxes.</description><pubDate>Tue, 16 Jun 2026 12:00:00 GMT</pubDate></item><item><title>&quot;It&apos;s Not an iPad App&quot; Series: The Distributed System Behind the Lights</title><link>https://jasonworden.com/posts/its-not-an-ipad-app-series/</link><guid isPermaLink="true">https://jasonworden.com/posts/its-not-an-ipad-app-series/</guid><description>A five-part engineering series on Supervision: a Raspberry Pi show engine, an iPad primary controller, an intentionally scoped iPhone companion, CRMX lighting, and Radiator-backed laser control.</description><pubDate>Wed, 10 Jun 2026 18:00:00 GMT</pubDate></item></channel></rss>