<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Howdy on AaronEaton.com</title>
    <link>https://aaroneaton.com/</link>
    <description>Recent content in Howdy on AaronEaton.com</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 03 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://aaroneaton.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Skill-Evolution Retrospective</title>
      <link>https://aaroneaton.com/walkthroughs/claudecode-skill-evolution-retrospective/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://aaroneaton.com/walkthroughs/claudecode-skill-evolution-retrospective/</guid>
      <description>&lt;h1 id=&#34;we-built-an-ai-powered-prompt-optimizer-and-it-taught-us-we-were-solving-the-wrong-problem&#34;&gt;We Built an AI-Powered Prompt Optimizer and It Taught Us We Were Solving the Wrong Problem&lt;/h1&gt;&#xA;&lt;p&gt;&lt;em&gt;We built a system to rigorously test whether our AI instructions actually worked. Halfway through, we discovered our test environment had been handing the model its own answer key.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;the-idea&#34;&gt;The Idea&lt;/h2&gt;&#xA;&lt;p&gt;Claude Code lets you package instructions into &lt;strong&gt;skills&lt;/strong&gt; — persistent system prompts for specific domains, packaged as markdown files. A skill for code review. A skill for infrastructure decisions. A skill for knowing when to stop and ask a question instead of charging ahead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taking the Pager is Taking the Wheel, Not the Title</title>
      <link>https://aaroneaton.com/analogies/atthewheel/</link>
      <pubDate>Sat, 16 Dec 2023 00:00:00 +0000</pubDate>
      <guid>https://aaroneaton.com/analogies/atthewheel/</guid>
      <description>&lt;p&gt;This post was partly inspired by Sean Kilgore&amp;rsquo;s recent blog about &lt;a href=&#34;https://logik.al/posts/common-errors-in-paved-path-metaphor/&#34;&gt;Common Errors&#xA;in the Paved Path&#xA;metaphor&lt;/a&gt;. Sean&amp;rsquo;s&#xA;language mirrors a metaphor that surfaced within my team about our On-Call&#xA;Rotation. Sean contrasts the &amp;ldquo;paved path&amp;rdquo; an organization provides to its&#xA;developers with the &amp;ldquo;vehicles&amp;rdquo; each team puts on that path. My team talks about&#xA;being on-call in terms of &amp;ldquo;taking the wheel of the vehicle,&amp;rdquo; instead of the more&#xA;common &amp;ldquo;being responsible for fixing anything that goes wrong.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Teaching Crossplane to Play Poker</title>
      <link>https://aaroneaton.com/walkthroughs/crossplane-configuration-development-with-poker/</link>
      <pubDate>Thu, 10 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://aaroneaton.com/walkthroughs/crossplane-configuration-development-with-poker/</guid>
      <description>&lt;h2 id=&#34;lets-teach-crossplane-to-play-poker&#34;&gt;Let&amp;rsquo;s Teach Crossplane to Play Poker&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;a href=&#34;https://www.amazon.com/dp/B002XHNNX4&#34;&gt;Penguin Book of Card Games&lt;/a&gt; lists over 250 games which can be played with a standard deck of playing cards. Most of those games don&amp;rsquo;t require any changes to the deck. Blackjack, poker, gin, go fish, crazy eights, old maid&amp;hellip; these games all use the same 4 suits of 13 ranks.&lt;/p&gt;&#xA;&lt;p&gt;When we start composing infrastructure with Crossplane, it&amp;rsquo;s a lot like learning a new game with playing cards. We know the pieces. We know what they do. What we need to learn is how we&amp;rsquo;re going to arrange them to play a new game.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Conformance Testing Crossplane Configuration Packages with Sonobuoy</title>
      <link>https://aaroneaton.com/walkthroughs/crossplane-package-testing-with-sonobuoy/</link>
      <pubDate>Fri, 28 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://aaroneaton.com/walkthroughs/crossplane-package-testing-with-sonobuoy/</guid>
      <description>&lt;h2 id=&#34;conformance-tests-for-crossplane-configuration-packages&#34;&gt;Conformance Tests for Crossplane Configuration Packages&lt;/h2&gt;&#xA;&lt;p&gt;When crossplane&#xA;&lt;a href=&#34;https://www.cncf.io/blog/2021/09/14/crossplane-moves-from-sandbox-to-cncf-incubator&#34;&gt;graduated&lt;/a&gt;&#xA;to Incubation status we published a&#xA;&lt;a href=&#34;https://github.com/crossplane/conformance&#34;&gt;conformance&lt;/a&gt; for crossplane and its&#xA;providers. I started to wonder if we could use the same tools and framework for&#xA;testing Configuration Packages, as well as Provider Packages.&lt;/p&gt;&#xA;&lt;p&gt;A unified testing strategy for all crossplane packages could simplify our&#xA;build and test pipelines. And it would provide a method for testing and&#xA;validating external packages. Especially if we adopted a tool and framework&#xA;which were already community standards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TDD For Crossplane Packages with Skaffold</title>
      <link>https://aaroneaton.com/walkthroughs/crossplane-package-tdd-with-skaffold/</link>
      <pubDate>Fri, 14 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://aaroneaton.com/walkthroughs/crossplane-package-tdd-with-skaffold/</guid>
      <description>&lt;h2 id=&#34;crossplane-package-development&#34;&gt;Crossplane Package Development&lt;/h2&gt;&#xA;&lt;p&gt;Crossplane Packages, and specifically the Composition Engine, allow Platform&#xA;Teams to publish Composite Resources for use by Development Teams or Platform&#xA;Operators. The end result of a Crossplane Composition is always going to be a&#xA;set of valid YAML documents which define Crossplane Managed Resources.&lt;/p&gt;&#xA;&lt;p&gt;Because the output of our compositions is this declarative set of YAML&#xA;documents, we have the ability to &lt;a href=&#34;https://aaroneaton.com/crossplane/crossplane-package-testing-with-kuttl/&#34;&gt;write&#xA;tests&lt;/a&gt;&#xA;for our configurations. And once we can write tests, we can do test-driven&#xA;development.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testing Crossplane Packages with Kuttl</title>
      <link>https://aaroneaton.com/walkthroughs/crossplane-package-testing-with-kuttl/</link>
      <pubDate>Fri, 07 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://aaroneaton.com/walkthroughs/crossplane-package-testing-with-kuttl/</guid>
      <description>&lt;h2 id=&#34;crossplane-package-test-loop&#34;&gt;Crossplane Package Test Loop&lt;/h2&gt;&#xA;&lt;p&gt;The test loop for Crossplane Packages is always going to be an end-2-end test in&#xA;a working kubernetes cluster. In order to validate that a package behaves as&#xA;desired, we must:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Access a Kubernetes Cluster&lt;/li&gt;&#xA;&lt;li&gt;Install Crossplane and required providers on that cluster&lt;/li&gt;&#xA;&lt;li&gt;Configure our Composite Resources (XRs) on that cluster&lt;/li&gt;&#xA;&lt;li&gt;Submit a Composite Resource or Claim&lt;/li&gt;&#xA;&lt;li&gt;Validate that we got the desired Resources in response&lt;/li&gt;&#xA;&lt;li&gt;Repeat the last 3 steps for each Resource&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;kuttl&#34;&gt;Kuttl&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://kuttl.dev&#34;&gt;kuttl&lt;/a&gt; (The KUbernetes Test TooL) is a toolkit for writing&#xA;tests against Kubernetes. Using kuttl, engineers can apply manifests, helm&#xA;charts, or run kubectl commands against a kubernetes cluster, then compare the&#xA;cluster state against a yaml file to validate the result.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About Me</title>
      <link>https://aaroneaton.com/pages/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://aaroneaton.com/pages/about/</guid>
      <description>&lt;h2 id=&#34;writer&#34;&gt;Writer&lt;/h2&gt;&#xA;&lt;p&gt;Do I write science fiction? I wear a watch that Dick Tracy never dreamed of and I&amp;rsquo;m typing this on a device that would look at home on Captain Picard&amp;rsquo;s desk. I write fiction about people trying to make sense of a world that runs on science.&lt;/p&gt;&#xA;&lt;h2 id=&#34;engineer&#34;&gt;Engineer&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;m a kubernetes fan boy and I &lt;em&gt;will&lt;/em&gt; talk about it at parties if not monitored.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve worked with a lot of great people on projects like &lt;a href=&#34;https://en.wikipedia.org/wiki/Call_of_Duty:_Elite&#34;&gt;Call of Duty: Elite&lt;/a&gt;, &lt;a href=&#34;https://society6.com&#34;&gt;Society6&lt;/a&gt;, &lt;a href=&#34;https://procore.com&#34;&gt;Procore&lt;/a&gt;, and &lt;a href=&#34;https://upbound.io/&#34;&gt;Upbound&lt;/a&gt;, the company behind the open source &lt;a href=&#34;https://crossplane.io&#34;&gt;Crossplane&lt;/a&gt; project.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
