<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Theo Zourzouvillys — Writing</title><description>Longer-form essays on engineering, leadership, and life on the water.</description><link>https://zrz.io/</link><item><title>Was This Different Two Years Ago?</title><link>https://zrz.io/blog/2026-09-was-this-different-two-years-ago/</link><guid isPermaLink="true">https://zrz.io/blog/2026-09-was-this-different-two-years-ago/</guid><description>LLMs are getting the blame for slop, bad reviews, bad architecture and even bad leadership. None of those problems are new. The rate of output changed, and every weakness an organisation already had now shows up ten times as often.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Fifteen Years of Bullet Points</title><link>https://zrz.io/blog/2026-08-fifteen-years-of-bullet-points/</link><guid isPermaLink="true">https://zrz.io/blog/2026-08-fifteen-years-of-bullet-points/</guid><description>Extraction and generation look identical from the outside. Forty-six of my field notes share a publication date, and the difference between the two is the only thing worth arguing about.</description><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Nobody Reviews the Assembly</title><link>https://zrz.io/blog/2026-08-nobody-reviews-the-assembly/</link><guid isPermaLink="true">https://zrz.io/blog/2026-08-nobody-reviews-the-assembly/</guid><description>Nobody reviews the assembly a compiler emits. Increasingly nobody reads the code a model writes either, so the specification becomes the thing you review.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Proof of Transfer: Billing Signup Abuse by the Gigabyte</title><link>https://zrz.io/blog/2026-08-proof-of-transfer/</link><guid isPermaLink="true">https://zrz.io/blog/2026-08-proof-of-transfer/</guid><description>Residential proxies killed IP reputation — but they&apos;re billed per gigabyte, and that&apos;s the crack. Make a client move a large block of unforgeable bytes and you&apos;ve built a control that costs an honest user seconds and costs an abuser a real invoice, on every attempt. Here&apos;s how to enforce it, and everywhere it hurts.</description><pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Engineering Field Notes: Writing Down What I&apos;d Otherwise Just Say</title><link>https://zrz.io/blog/2026-06-engineering-field-notes/</link><guid isPermaLink="true">https://zrz.io/blog/2026-06-engineering-field-notes/</guid><description>Most of what I know about building software lives in my head and in scattered Slack threads. Field Notes are my attempt to write it down once, carefully — numbered, dated, status-tracked notes on the practices I keep reaching for, published openly so I can point at them instead of retyping them.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Sign the Request, Not the Session: Announcing httpsig</title><link>https://zrz.io/blog/2026-06-httpsig/</link><guid isPermaLink="true">https://zrz.io/blog/2026-06-httpsig/</guid><description>A bearer token is a password you mail to everyone you talk to. HTTP Message Signatures (RFC 9421) sign the request itself instead — provable, per-request, tamper-evident. I built httpsig, a library for it in five languages, and a jwt.io-style playground you can sign and verify in right now, in your browser.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Comox — Low Water</title><link>https://zrz.io/blog/2026-06-comox-low-water/</link><guid isPermaLink="true">https://zrz.io/blog/2026-06-comox-low-water/</guid><description>Logbook: tied up at low tide in Comox Harbour.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Let the Machine Draw It: Using AI to Visualize Algorithms</title><link>https://zrz.io/blog/2026-06-visualizing-algorithms-with-ai/</link><guid isPermaLink="true">https://zrz.io/blog/2026-06-visualizing-algorithms-with-ai/</guid><description>I had a rolling-canary routing algorithm sketched on a whiteboard. Twenty minutes of conversation later I had an interactive emulator I could scrub through. Why building throwaway visualizations is one of the highest-leverage things you can do with an LLM.</description><pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Context Is King: Human Language in Code Matters More Than Ever</title><link>https://zrz.io/blog/2026-05-context-is-king/</link><guid isPermaLink="true">https://zrz.io/blog/2026-05-context-is-king/</guid><description>Code is the what; comments, commit messages, and PR descriptions are the why. Why the LLM era makes writing down context non-negotiable.</description><pubDate>Thu, 28 May 2026 00:00:00 GMT</pubDate></item><item><title>Understanding Navionics Accuracy and Limitations in Marine Navigation</title><link>https://zrz.io/blog/2024-12-navionics-accuracy-inside-passage/</link><guid isPermaLink="true">https://zrz.io/blog/2024-12-navionics-accuracy-inside-passage/</guid><description>Why &quot;Navionics is inaccurate&quot; usually isn&apos;t the app or the charts — it&apos;s your GPS source. Reading chart data quality (ZOC) and getting reliable positioning in the Inside Passage.</description><pubDate>Thu, 12 Dec 2024 00:00:00 GMT</pubDate></item></channel></rss>