<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
  <title>Karl Livesey · coding</title>
  <link>https://livesey.io/tags/coding/</link>
  <description>Posts filed under coding.</description>
  <item>
  <title>Reed–Solomon Erasure Coding Without the Magic</title>
  <link>https://livesey.io/posts/reed-solomon-erasure-coding-without-the-magic/</link>
  <guid isPermaLink="false">urn:uuid:e30e59e4-c6ed-5a9a-a30b-95c737151e19</guid>
  <pubDate>Wed, 29 Jul 2026 12:00:00 GMT</pubDate>
  <description>Build a tiny Reed–Solomon code step by step, erase half its shards, and recover your own input without treating the maths as magic.</description>
</item>
<item>
  <title>The Prompt Wasn&apos;t Wrong. The Handover Was.</title>
  <link>https://livesey.io/posts/the-prompt-wasnt-wrong-the-task-was-underspecified/</link>
  <guid isPermaLink="false">urn:uuid:b8bea256-59ec-56e1-8f1b-1d5e0fd72efd</guid>
  <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
  <description>Before giving work to a coding agent, ask what you would need to tell a developer who already knew the codebase.</description>
</item>
<item>
  <title>Most Race Conditions Are Ownership Problems</title>
  <link>https://livesey.io/posts/most-race-conditions-are-ownership-problems/</link>
  <guid isPermaLink="false">urn:uuid:8a9bde8b-01ea-5a59-895c-86df9825f438</guid>
  <pubDate>Sun, 26 Jul 2026 12:00:00 GMT</pubDate>
  <description>Before adding a lock, decide which operation owns the right to commit a result and when that ownership expires.</description>
</item>
<item>
  <title>The API Returned 200. The Operation Still Failed.</title>
  <link>https://livesey.io/posts/the-api-returned-200-the-operation-still-failed/</link>
  <guid isPermaLink="false">urn:uuid:bcc27f9e-098c-59cf-9c15-520ea1b9bb4d</guid>
  <pubDate>Sat, 25 Jul 2026 12:00:00 GMT</pubDate>
  <description>HTTP success, application success and business success are separate outcomes. Clients need to check the one they actually depend on.</description>
</item>
<item>
  <title>Logs Are Not Observability</title>
  <link>https://livesey.io/posts/logs-are-not-observability/</link>
  <guid isPermaLink="false">urn:uuid:f6eec4ca-c338-5086-809d-a2a5a072fb6a</guid>
  <pubDate>Fri, 24 Jul 2026 12:00:00 GMT</pubDate>
  <description>Producing more log lines does not make a system easier to understand. Start with the questions an operator must be able to answer.</description>
</item>
<item>
  <title>Timeouts Need a Deadline, Not Just a Number</title>
  <link>https://livesey.io/posts/timeouts-need-a-deadline-not-just-a-number/</link>
  <guid isPermaLink="false">urn:uuid:371e9333-bd65-560d-9591-ad09ed4b6956</guid>
  <pubDate>Thu, 23 Jul 2026 12:00:00 GMT</pubDate>
  <description>Giving every operation its own timeout can make one request take several times longer than intended. Pass the remaining deadline instead.</description>
</item>
<item>
  <title>GPT-5.6: Which Model and Effort Should You Actually Use?</title>
  <link>https://livesey.io/posts/gpt-5-6-sol-terra-luna-model-effort-guide/</link>
  <guid isPermaLink="false">urn:uuid:e616187a-b692-57af-986f-af8111e3a03e</guid>
  <pubDate>Sun, 12 Jul 2026 12:00:00 GMT</pubDate>
  <description>GPT-5.6 is a meaningful step beyond GPT-5.5, but choosing well means using Terra by default, Sol deliberately, and Luna only for bounded work.</description>
</item>
</channel>
</rss>