<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ai on // TODO(craig): name this blog</title><link>https://blog.beaumo.net/tags/ai/</link><description>Recent content in Ai on // TODO(craig): name this blog</description><generator>Hugo</generator><language>en-GB</language><lastBuildDate>Wed, 04 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.beaumo.net/tags/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>Give Your AI Assistant the Docs, Not the Search Bar</title><link>https://blog.beaumo.net/blog/local-docs-submodules-for-ai</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://blog.beaumo.net/blog/local-docs-submodules-for-ai</guid><description>Web search hands an AI assistant stale forum posts and deprecated APIs. Shallow submodules of the Home Assistant and HACS docs, symlinked under &lt;code&gt;docs/&lt;/code&gt; and described in &lt;code&gt;CLAUDE.md&lt;/code&gt;, give it the real thing.</description></item><item><title>Learning in Reverse</title><link>https://blog.beaumo.net/blog/learning-in-reverse</link><pubDate>Wed, 25 Feb 2026 12:00:00 +0000</pubDate><guid>https://blog.beaumo.net/blog/learning-in-reverse</guid><description>An AI assistant showed me C#&amp;rsquo;s &lt;code&gt;$$&lt;/code&gt; raw interpolated strings while I was getting something else done. Learning now happens sideways, and knowing a feature exists doesn&amp;rsquo;t replace judgement about when to use it.</description></item><item><title>Safer AI Scripting: Using Deno Permissions as a Trust Boundary</title><link>https://blog.beaumo.net/blog/safer-ai-scripting</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><guid>https://blog.beaumo.net/blog/safer-ai-scripting</guid><description>Have the AI write two files: a short wrapper you read and approve, and a Deno script that runs with only the permissions the wrapper grants. What that protects against, what it doesn&amp;rsquo;t, and why &lt;code&gt;--allow-run&lt;/code&gt; breaks it.</description></item><item><title>The Negation Paradox: Why 'Don't Do X' Makes AI Do X</title><link>https://blog.beaumo.net/blog/negation-paradox</link><pubDate>Fri, 09 Jan 2026 01:00:00 +0000</pubDate><guid>https://blog.beaumo.net/blog/negation-paradox</guid><description>Telling a model not to do something puts that thing in its context, and attention has no way to subtract it. Describe the output you want, not the one you don&amp;rsquo;t.</description></item><item><title>Instructions for AI Coding Assistants</title><link>https://blog.beaumo.net/blog/instructions-for-ai-coding-assistants</link><pubDate>Thu, 08 Jan 2026 21:00:00 +0000</pubDate><guid>https://blog.beaumo.net/blog/instructions-for-ai-coding-assistants</guid><description>A starting template for the instructions file an AI coding assistant reads before it touches your repository. It gets what you know about boundaries and shared code out of your head and into a file the tool reads.</description></item><item><title>Teaching AI to Code Like a Senior Developer: SOLID Principles as Guardrails</title><link>https://blog.beaumo.net/blog/solid-principles-as-ai-guardrails</link><pubDate>Thu, 08 Jan 2026 20:00:00 +0000</pubDate><guid>https://blog.beaumo.net/blog/solid-principles-as-ai-guardrails</guid><description>AI coding assistants are too helpful: the code works, but it doesn&amp;rsquo;t belong. SOLID principles, used as constraints on the assistant, give it the pause an experienced developer has before changing things.</description></item></channel></rss>