<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>John C. Waters</title><description>John C. Waters, Platform Team Lead. Platform engineering, Azure infrastructure, and AI agent tooling in C#, Python, and TypeScript.</description><link>https://www.johncwaters.com/</link><item><title>128KB of RAM Made Better Games Than Unlimited Compute Does</title><link>https://www.johncwaters.com/blog/128kb-of-ram-made-better-games/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/128kb-of-ram-made-better-games/</guid><description>The best games came from people who couldn&apos;t do the obvious thing. The wall is gone, and now a limit only holds if something besides willpower enforces it.</description><pubDate>Sat, 26 Sep 2026 00:00:00 GMT</pubDate></item><item><title>How Developers Work With Agents; or Don&apos;t</title><link>https://www.johncwaters.com/blog/how-developers-work-with-agents-or-dont/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/how-developers-work-with-agents-or-dont/</guid><description>I scored 411 firsthand accounts of developers running AI agents. Most use a bare terminal and still read the diff. The ones with their own tooling stopped.</description><pubDate>Sun, 08 Nov 2026 00:00:00 GMT</pubDate></item><item><title>My Terminal Congratulated Me for Clearing the Screen</title><link>https://www.johncwaters.com/blog/my-terminal-congratulated-me-for-clearing-the-screen/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/my-terminal-congratulated-me-for-clearing-the-screen/</guid><description>My agent dashboard said a session finished when I&apos;d only cleared the scrollback. Three war stories from making Claude Code&apos;s signals tell the truth.</description><pubDate>Fri, 31 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Teaching an AI to Parse Emails Once, Then Never Again</title><link>https://www.johncwaters.com/blog/self-healing-email-parser/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/self-healing-email-parser/</guid><description>When an unknown email format shows up, call an LLM once to write a reusable extraction profile, then parse that format deterministically forever.</description><pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate></item><item><title>The 403 That Refused to Be a One-Line Fix</title><link>https://www.johncwaters.com/blog/the-403-that-refused-to-be-a-one-line-fix/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/the-403-that-refused-to-be-a-one-line-fix/</guid><description>A failing deploy, a hand-edited Azure role shared by three services, and why the fix was an IAM-as-code layer with a drift gate, not a permissions patch.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Waffle Fries Are the Worst Fry</title><link>https://www.johncwaters.com/blog/waffle-fries-are-the-worst-fry/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/waffle-fries-are-the-worst-fry/</guid><description>Waffle fries are the worst fry, and Five Guys fries are awful no matter how many land in the bag. Thirteen shapes and thirteen chains, ranked.</description><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate></item><item><title>We Audited 24 READMEs by Hand. Then We Deleted the Process.</title><link>https://www.johncwaters.com/blog/we-audited-24-readmes-then-deleted-the-process/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/we-audited-24-readmes-then-deleted-the-process/</guid><description>Twenty pull requests into a manual documentation cleanup, we abandoned the epic on purpose and replaced it with a linter and a required CI check.</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Four Runs, Same Wrong Number: What Context Actually Buys a Coding Agent</title><link>https://www.johncwaters.com/blog/what-context-actually-buys-a-coding-agent/</link><guid isPermaLink="true">https://www.johncwaters.com/blog/what-context-actually-buys-a-coding-agent/</guid><description>296 scored trials of a headless coding agent on real tasks, across four context regimes and two models, plus the bugs I found in my own harness.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate></item></channel></rss>