<?xml version='1.0' encoding='utf-8'?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>Ryan Nelson's Blog</title>
    <link>https://ryan.net/blog/</link>
    <description>Infrastructure archaeology and other constraints</description>
    <language>en-us</language>
    <atom:link href="https://ryan.net/blog/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SpaceX Trails Over Venice Beach</title>
      <link>https://ryan.net/blog/2026-02-14-spacex-venice.html</link>
      <description>We're visiting Venice Beach tonight, got a lucky photo of cool SpaceX trails.</description>
      <pubDate>Fri, 14 Feb 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://ryan.net/blog/2026-02-14-spacex-venice.html</guid>
    </item>
    <item>
      <title>Intrusion Countermeasures, Recreationally</title>
      <link>https://ryan.net/blog/2026-02-11-icm.html</link>
      <description>There's a line people like to repeat about cyberpunk. William Gibson imagined cyberspace, simstim, decks, the Sprawl. He missed the cell phone, but he got the mood exactly right. The network is alive. It's hostile in a curious way. What's been interesting about running local AI lately is that it feels like play again.</description>
      <pubDate>Tue, 11 Feb 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://ryan.net/blog/2026-02-11-icm.html</guid>
    </item>
    <item>
      <title>My AI Agent Has a Kill Switch Now</title>
      <link>https://ryan.net/blog/2026-01-31-killswitch.html</link>
      <description>Like many dotcom Gen-X hipsters this week, I'm playing with OpenClaw - an AI agent in a Slack channel where I'm the only member. I can reach it from my phone. It has shell access to a Linux workstation in my barn. Also terrifying. So I built otp-challenger - TOTP verification for AI agents.</description>
      <pubDate>Fri, 31 Jan 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://ryan.net/blog/2026-01-31-killswitch.html</guid>
    </item>
    <item>
      <title>Stealing Fire: Why My New Open Source Tools Borrow from Hackers</title>
      <link>https://ryan.net/blog/2026-01-20-stealing-fire.html</link>
      <description>I came to New York City in 1995. The dotcom explosion was happening. I was working as a sysadmin at an ISP.
                    Here is a statistic that might terrify a modern Hiring Manager: I have never held a job where I did not have "root."
                    This is "gonzo-sysops." But you learn things when you are five hops deep in a server that is currently on fire.</description>
      <pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://ryan.net/blog/2026-01-20-stealing-fire.html</guid>
    </item>
    <item>
      <title>The Desire Path: Teaching 2025 AI to Survive 1990s Infrastructure</title>
      <link>https://ryan.net/blog/2026-01-18-desire-path.html</link>
      <description>There is a specific kind of intellectual satisfaction in building a ship in a bottle.
                    For the last few months, this has been my reality with AI—asking Claude to SSH into jump hosts,
                    launch tmux sessions, and type commands into shells. It turns out that modern Large Language Models
                    have zero intuition for "terminal physics".</description>
      <pubDate>Sun, 18 Jan 2026 00:00:00 GMT</pubDate>
      <guid isPermaLink="true">https://ryan.net/blog/2026-01-18-desire-path.html</guid>
    </item>
  </channel>
</rss>
