<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Mario Ruiz Sánchez - Blog</title>
    <link>https://marioruiz.net/blog/</link>
    <description>Commands, old machines, and experiments. Agents and APIs, and the history and language around the tools.</description>
    <language>en</language>
    <lastBuildDate>Fri, 30 Oct 2026 12:00:00 GMT</lastBuildDate>
    <atom:link href="https://marioruiz.net/blog/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Your coding agent is only as good as what it reads</title>
      <link>https://marioruiz.net/blog/agent-reads-the-docs/</link>
      <guid isPermaLink="true">https://marioruiz.net/blog/agent-reads-the-docs/</guid>
      <pubDate>Fri, 30 Oct 2026 12:00:00 GMT</pubDate>
      <description>Every chat starts by reading the same file. If that file is long and stale, every answer starts a little wrong.</description>
    </item>
    <item>
      <title>Tests are the spec your AI actually reads</title>
      <link>https://marioruiz.net/blog/tests-are-the-spec/</link>
      <guid isPermaLink="true">https://marioruiz.net/blog/tests-are-the-spec/</guid>
      <pubDate>Fri, 23 Oct 2026 12:00:00 GMT</pubDate>
      <description>A ticket in prose is advice. A failing test is an order. When an agent writes the code, only the second one holds.</description>
    </item>
    <item>
      <title>Code used to be a place for beauty</title>
      <link>https://marioruiz.net/blog/code-and-poetry/</link>
      <guid isPermaLink="true">https://marioruiz.net/blog/code-and-poetry/</guid>
      <pubDate>Tue, 20 Oct 2026 12:00:00 GMT</pubDate>
      <description>Writing poetry taught me that every line has to earn its place. Code is the same craft, and with AI writing the words for us, we are quietly letting it go.</description>
    </item>
    <item>
      <title>A generated test is a diff</title>
      <link>https://marioruiz.net/blog/generated-tests-are-a-diff/</link>
      <guid isPermaLink="true">https://marioruiz.net/blog/generated-tests-are-a-diff/</guid>
      <pubDate>Tue, 13 Oct 2026 12:00:00 GMT</pubDate>
      <description>Which line in that diff is worth reading, and why the agent must not be the one who updates the suite.</description>
    </item>
    <item>
      <title>Boards from childhood</title>
      <link>https://marioruiz.net/blog/boards-from-childhood/</link>
      <guid isPermaLink="true">https://marioruiz.net/blog/boards-from-childhood/</guid>
      <pubDate>Sun, 05 Oct 2026 12:00:00 GMT</pubDate>
      <description>Childhood boards, a Nokia mancala, and the experiments I still make for fun. Online rooms with voice and camera for the boards that need a link.</description>
    </item>
    <item>
      <title>One payload, three clients</title>
      <link>https://marioruiz.net/blog/one-payload-three-clients/</link>
      <guid isPermaLink="true">https://marioruiz.net/blog/one-payload-three-clients/</guid>
      <pubDate>Tue, 30 Sep 2026 12:00:00 GMT</pubDate>
      <description>Slack, the web, and the IDE share one JSON payload for health checks. If an agent paraphrases it, a failed check becomes mostly fine.</description>
    </item>
  </channel>
</rss>
