<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Engineering on orndorff.dev</title>
    <link>https://orndorff.dev/categories/engineering/</link>
    <description>Recent content in Engineering on orndorff.dev</description>
    <generator>Hugo -- 0.138.0</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 09 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://orndorff.dev/categories/engineering/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Small LLMs, Big Reasoning: How a Neuro-Symbolic Expert System Makes Haiku Agents Reliable</title>
      <link>https://orndorff.dev/posts/neuro-symbolic-agents-nexus/</link>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/neuro-symbolic-agents-nexus/</guid>
      <description>&lt;p&gt;There&amp;rsquo;s a dirty secret in the AI agent space: most agent frameworks hand the model a bag of tools and pray. The model decides what to query, how to reason about results, and what conclusions to draw. For demos, this works great. For anything you&amp;rsquo;d actually bet your job on — compliance audits, student intervention decisions, infrastructure monitoring — it&amp;rsquo;s a liability.&lt;/p&gt;
&lt;p&gt;What if the model didn&amp;rsquo;t have to reason at all?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emergent Storytelling: How Simple Rules Create Compelling Narratives</title>
      <link>https://orndorff.dev/posts/emergent_storytelling_simulations/</link>
      <pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/emergent_storytelling_simulations/</guid>
      <description>&lt;p&gt;I have been working on the concept of &amp;lsquo;Dwarf Fortress for storytelling with LLMs&amp;rsquo; for years now and, I&amp;rsquo;ve finally managed to assemble all of the pieces needed to do this at scale.&lt;/p&gt;
&lt;p&gt;The following is a Claude summary of the project:&lt;/p&gt;
&lt;h2 id=&#34;the-story-that-wrote-itself&#34;&gt;The Story That Wrote Itself&lt;/h2&gt;
&lt;p&gt;The Captain of the Guard struck without warning. Dilol Caverncats, a human engraver, collapsed under the first blow to the hand—muscle bruising through the pig tail glove, wrist bending unnaturally, tendons tearing. Dilol stood up. The Captain struck again. Again, Dilol rose. Eleven times the combat logs recorded those three defiant words: &amp;ldquo;The engraver stands up.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>That terrible presentation, the enshittification of OpenAi</title>
      <link>https://orndorff.dev/posts/the-enshittification-of-openai/</link>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/the-enshittification-of-openai/</guid>
      <description>&lt;p&gt;Thinking about the GPT-5 presentation fiasco yesterday(friends don&amp;rsquo;t let friends use Dalle for charts) and the resulting, almost overwhelmingly negative reaction to the style of the speakers and the substance. I&amp;rsquo;m wondering if what we&amp;rsquo;re seeing is less a problem with LLMs having hit a &amp;lsquo;wall&amp;rsquo; and more with the &amp;rsquo;enshittification&amp;rsquo; of OpenAI itself?&lt;/p&gt;
&lt;p&gt;They&amp;rsquo;ve never been particularly strong on the pure research side of things. Their main strength has always been productizing scientific breakthroughs in consumer products. Take the fundamental &amp;lsquo;attention is all you need&amp;rsquo; paper and transformers architecture. Neither of those were OpenAI breakthroughs.
Instead, their incredibly talented early team identified ways to capitalize on those important insights with their own breakthroughs in model training and scaling.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What 50 First Dates can teach us about LLM memory</title>
      <link>https://orndorff.dev/posts/50-first-system-prompts/</link>
      <pubDate>Sat, 02 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/50-first-system-prompts/</guid>
      <description>&lt;p&gt;You’ve been there. You and your AI coding buddy are in the zone. It’s feeding you perfect snippets of code, it understands your weirdly named variables, it’s practically reading your mind. You’ve built half a dozen functions, and the project is humming along. Then you close the window.&lt;/p&gt;
&lt;p&gt;You come back an hour later, open a new chat, and ask it to build the next piece of the puzzle. The AI stares back at you with the digital equivalent of a blank expression. It has no idea what your project is, what a &lt;code&gt;user_auth_service&lt;/code&gt; is, or why you keep muttering about the &lt;code&gt;global_config.json&lt;/code&gt;. It has, for all intents and purposes, become incredibly dumb.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When Docker Says &#39;not found&#39; But ls Says &#39;it&#39;s right there&#39;: A glibc/musl Comedy of Errors</title>
      <link>https://orndorff.dev/posts/debugging-tailwindcss-alpine-linux-docker/</link>
      <pubDate>Sat, 12 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/debugging-tailwindcss-alpine-linux-docker/</guid>
      <description>&lt;p&gt;You know that moment when your computer is gaslighting you? When you run &lt;code&gt;ls&lt;/code&gt; inside a Docker container, see your executable sitting there with perfect permissions, but when you try to run it, the shell just shrugs and says &amp;ldquo;not found&amp;rdquo;?&lt;/p&gt;
&lt;p&gt;Welcome to my Saturday morning.&lt;/p&gt;
&lt;h2 id=&#34;the-setup-a-simple-go--tailwindcss-build&#34;&gt;The Setup: A Simple Go + TailwindCSS Build&lt;/h2&gt;
&lt;p&gt;I was working on a straightforward Dockerfile for a Go web app that uses TailwindCSS. Nothing fancy—just download the tailwindcss binary, make it executable, run it to process some CSS, and move on with life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Factory Must Grow... And So Must Your Engineering Intuition</title>
      <link>https://orndorff.dev/posts/factorio-and-engineering-intuition/</link>
      <pubDate>Mon, 21 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/factorio-and-engineering-intuition/</guid>
      <description>Factorio is more than a game; it&amp;rsquo;s a powerful tool for training your engineering intuition. Discover how it mirrors the challenges of software development and why you should be playing it.</description>
    </item>
    <item>
      <title>Rethinking AI in Education: Veritasium and Cognitive Science</title>
      <link>https://orndorff.dev/posts/edtech-veritasium/</link>
      <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/edtech-veritasium/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;My Notes after watching Derek Muller&amp;rsquo;s talk on AI in education.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/0xS68sl2D70?si=n1B0iyg7b0r-NBf7&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;As someone working in EdTech, especially focusing on what we can do with LLMs, you hear it constantly: AI is going to &amp;ldquo;revolutionize&amp;rdquo; education. Personalized tutors, instant feedback, access like never before – the whole pitch. But I caught a talk recently by Derek Muller – you know, the Veritasium guy – and he offered this really grounded take that hit home for me. It’s making me rethink the hype and actually consider the cognitive science underneath it all.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI Plays: The Elevator Saga</title>
      <link>https://orndorff.dev/posts/ai-plays-elevator-saga/</link>
      <pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/ai-plays-elevator-saga/</guid>
      <description>&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/yghB-cCi96k?si=nE7KMdj1Kv2nlWpw&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;p&gt;Ever tried &lt;a href=&#34;https://play.elevatorsaga.com/&#34;&gt;Elevator Saga&lt;/a&gt;? It&amp;rsquo;s that addictive JavaScript challenge where you control elevators to transport impatient virtual humans. Sure, you &lt;em&gt;could&lt;/em&gt; spend hours crafting the perfect algorithm&amp;hellip; or you could do what I did and let AI handle the heavy lifting.&lt;/p&gt;
&lt;h2 id=&#34;tools&#34;&gt;Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://www.anthropic.com/claude&#34;&gt;Claude 3.5&lt;/a&gt;&lt;/strong&gt;: Model I prefer for generating code and specifications. It&amp;rsquo;s like having a coding buddy who never sleeps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://openai.com/research/whisper&#34;&gt;Whisper&lt;/a&gt;&lt;/strong&gt;: For transcribing my ramblings into something resembling a coherent spec.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;https://llm.datasette.io/&#34;&gt;LLM&lt;/a&gt;&lt;/strong&gt;: A command-line tool to interact with AI models like Claude and generate code from my documentation and spec.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;my-lazy-developer-workflow&#34;&gt;My Lazy Developer Workflow&lt;/h2&gt;
&lt;p&gt;I built a four-step AI pipeline that took me from &amp;ldquo;what even is an elevator API?&amp;rdquo; to passing the first four levels with minimal effort:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Software Engineering is a Team Sport: From Rookie to All-Star</title>
      <link>https://orndorff.dev/posts/engineering-is-a-team-sport/</link>
      <pubDate>Mon, 04 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/engineering-is-a-team-sport/</guid>
      <description>&lt;p&gt;The stadium buzzed with electric anticipation. It was the final seconds of the Super Bowl, and the underdog team trailed by four points. Everything hinged on this last play. The quarterback scanned the defense and noticed a telltale formation—the opponents had fallen into a pattern they&amp;rsquo;d dissected tirelessly in practice. Seizing the moment, he called an audible at the line of scrimmage. Instantly, the offensive line adjusted their stances, receivers altered their routes, and the running back shifted to provide crucial protection. The ball was snapped. In a seamless display of teamwork and adaptability, the play unfolded flawlessly, culminating in a game-winning touchdown.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Complexity Bombs in Distributed Systems: When &#39;Good Enough&#39; Bites You</title>
      <link>https://orndorff.dev/posts/good-enough-complexity-balloons/</link>
      <pubDate>Sun, 18 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/good-enough-complexity-balloons/</guid>
      <description>&lt;p&gt;In many engineering organizations I&amp;rsquo;ve been part of, the drive for rapid
delivery often results in shortcuts and &amp;ldquo;good enough&amp;rdquo; solutions. When
managed effectively, this ability to quickly provide value can be a
significant competitive advantage. However, poor management or defaulting to
this approach can lead to what I call &amp;ldquo;complexity bombs&amp;rdquo; – ticking time
bombs of technical debt that explode into major issues as systems grow and
evolve. These can sometimes manifest unexpectedly, particularly in
distributed systems, causing sudden leaps in complexity.ystems.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Old School Engineering for Modern Software Development</title>
      <link>https://orndorff.dev/posts/old-school-engineering/</link>
      <pubDate>Sat, 10 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://orndorff.dev/posts/old-school-engineering/</guid>
      <description>&lt;h2 id=&#34;hello-and-what&#34;&gt;Hello and What?&lt;/h2&gt;
&lt;p&gt;My software engineering career began in industrial manufacturing with a paid internship at O&amp;rsquo;Sullivan Films Inc, a company specializing in plastic and vinyl sheeting for products like pool liners and car dashboards that, like so many American businesses was bought by and international conglomerate and folded into its parent&amp;rsquo;s generic embrace. The experience I gained while working at O&amp;rsquo;Sullivan, along with my years working in &amp;lsquo;agile&amp;rsquo; tech startups over the years has me thinking about the differences between how manufacturing and pure software businesses approach product design, development.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
