<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
    <title>Working Title</title>
    <link>https://blog.turdcraft.com/</link>
    <description>One or two guys writing about tech.</description>
    <atom:link xmlns:atom="http://www.w3.org/2005/Atom" href="https://blog.turdcraft.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Colophon: a blog we own, top to bottom</title>
      <link>https://blog.turdcraft.com/2026/07/colophon/</link>
      <guid isPermaLink="true">https://blog.turdcraft.com/2026/07/colophon/</guid>
      <pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[<p>This site is a deliberate exercise in owning the whole stack. There is no web
framework here, no content management system, and no third-party newsletter
service. Posts are Markdown files in a git repository. A small Python script
turns them into static HTML. That's the entire machine.</p>
<!--more-->
<p>The reasoning is simple: for a personal blog, every one of those &quot;conveniences&quot;
is a set of constraints you inherit and then fight the moment you want something
slightly different. A static site generator you wrote in an afternoon does
exactly what you need and nothing you don't — and when you want to change how a
page looks, you change the page.</p>
<p>The one thing worth <em>not</em> building is the Markdown parser. Turning CommonMark
into HTML correctly is a genuine project with no payoff, so that's a small,
single-purpose library doing a bounded job. Everything else is a few hundred
lines of code that fit in one head.</p>
<p>Two kinds of posts live here. <strong>Articles</strong> like this one get their own page and
show up on the front page as an excerpt. <strong>Linked-list</strong> items are short — a
headline that links straight out to something worth reading, plus a sentence or
two on why. Both flow together in reverse-chronological order, the way a blog
should.</p>
]]></description>
    </item>
    <item>
      <title>The case for boring, static websites</title>
      <link>https://blog.turdcraft.com/2026/07/the-case-for-boring-static-websites/</link>
      <guid isPermaLink="true">https://blog.turdcraft.com/2026/07/the-case-for-boring-static-websites/</guid>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[<p>&rarr; <a href="https://example.com/boring-static-websites">https://example.com/boring-static-websites</a></p><p>A good reminder that a pile of static HTML files outlives every framework you
could have reached for. No build server to babysit, no runtime to patch, no
vendor to migrate off of in three years. Boring is a feature.</p>
]]></description>
    </item>
    <item>
      <title>Own your tools or they own you</title>
      <link>https://blog.turdcraft.com/2026/06/own-your-tools-or-they-own-you/</link>
      <guid isPermaLink="true">https://blog.turdcraft.com/2026/06/own-your-tools-or-they-own-you/</guid>
      <pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[<p>&rarr; <a href="https://example.com/own-your-tools">https://example.com/own-your-tools</a></p><p>The whole essay is worth reading, but the core is one line: the tools you build
bend to you; the tools you rent bend you to them. For anything small enough to
build, that trade is almost always worth making.</p>
]]></description>
    </item>
    <item>
      <title>Opinions need a system underneath</title>
      <link>https://blog.turdcraft.com/2026/06/opinions-need-a-system/</link>
      <guid isPermaLink="true">https://blog.turdcraft.com/2026/06/opinions-need-a-system/</guid>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <description><![CDATA[<p>There is no shortage of takes on AI security. Feeds are full of them — confident,
abstract, and untethered from anything that runs. The supply of opinion is
effectively infinite, which means opinion by itself is worth almost nothing.</p>
<!--more-->
<p>What's scarce is opinion with a working system underneath it. If you've actually
built the agent, wired the retrieval, watched the thing fail in a way the blog
posts didn't warn you about, and then fixed it — your take is a different kind of
object. It carries evidence. It can't be faked without doing the work.</p>
<p>That's the bet this blog makes. Where a piece here makes a claim about how to
build or secure these systems, there's usually a real repository behind it that
you can open and use however you like. The extra-nerdy five percent will do
exactly that, and that's where the interesting conversations start.</p>
<p>The format is the argument: readable for the practitioner who will never open a
repo, with a link on the back end for the one who will.</p>
]]></description>
    </item>
</channel></rss>
