<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Stephen Brennan</title>
    <description>Stephen Brennan&apos;s personal website and blog.</description>          
    <link>https://brennan.io</link>
    <atom:link href="https://brennan.io/feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>Space Cadet Pinball on Linux</title>
        <description>&lt;p&gt;To my fellow Linux users who grew up using Windows XP: did you know, you can
have Space Cadet Pinball on your Linux machine? This is not breaking news, but
it’s exciting to me, and I’m the one who decides what I write about. So here’s
your PSA!&lt;/p&gt;

</description>
        <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2026/05/09/pinball-and-escrow/</link>
        <guid isPermaLink="true">https://brennan.io/2026/05/09/pinball-and-escrow/</guid>
      </item>
    
      <item>
        <title>A Silver Lining of Slop</title>
        <description>&lt;p&gt;To state the obvious: when reading text on the Internet in 2026, there&apos;s really no guarantee that it was written by a human....&lt;/p&gt;
</description>
        <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2026/05/04/llmfree/</link>
        <guid isPermaLink="true">https://brennan.io/2026/05/04/llmfree/</guid>
      </item>
    
      <item>
        <title>Why I Don&apos;t Have Fun With Claude Code</title>
        <description>&lt;p&gt;LLM-based coding agents like Claude Code &amp;amp; Codex are all the rage right now.
Rightfully so, because these tools are actually getting good. They’re actually
at the point where people, both programmers and less technical users, can use
them to create features or even entire projects with decent results. I have a
lot of feelings that I can’t cover in one blog post, but one thing feels like
it’s becoming clear to me: I’ll likely never &lt;strong&gt;love&lt;/strong&gt; a tool like Claude Code,
even if I do use it, because I value the task it automates.&lt;/p&gt;

</description>
        <pubDate>Fri, 23 Jan 2026 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2026/01/23/claude-code/</link>
        <guid isPermaLink="true">https://brennan.io/2026/01/23/claude-code/</guid>
      </item>
    
      <item>
        <title>Break my System, Please!</title>
        <description>&lt;p&gt;For what feels like a year at this point, I’ve been receiving this wonderful
message from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pip&lt;/code&gt; when I try running &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pip install --user SOME_PACKAGE&lt;/code&gt;:&lt;/p&gt;

</description>
        <pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2025/01/11/break-my-system/</link>
        <guid isPermaLink="true">https://brennan.io/2025/01/11/break-my-system/</guid>
      </item>
    
      <item>
        <title>What&apos;s Inside a Kernel Core Dump</title>
        <description>&lt;p&gt;My &lt;a href=&quot;https://blogs.oracle.com/linux/post/whats-inside-a-linux-kernel-core-dump&quot;&gt;article&lt;/a&gt;, again posted on the Oracle Linux Blog, goes into
“excruciating detail” on the contents of kernel core dumps, or vmcores. It
describes common data, metadata, and formats, as well as tools for
introspecting, and of course debugging them.&lt;/p&gt;

</description>
        <pubDate>Thu, 29 Feb 2024 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2024/02/29/vmcores/</link>
        <guid isPermaLink="true">https://brennan.io/2024/02/29/vmcores/</guid>
      </item>
    
      <item>
        <title>My experience being blocked by Google Safe Browsing</title>
        <description>&lt;p&gt;Since April of 2021, I’ve hosted a Mastodon server on the domain &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;snake.club&lt;/code&gt;.
It’s mostly for me and friends I know personally – nothing like the bigger,
public ones. Until the last week or two, the server was mostly dead. Then Elon
finally bought Twitter, triggering a mass exodus from Twitter, right into
Mastodon. Conveniently, my server was already there, so it was a nice place for
me and my friends to jump right in and grab some popcorn while we all watch
Twitter implode.&lt;/p&gt;

</description>
        <pubDate>Sat, 12 Nov 2022 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2022/11/12/snake.club-blocked/</link>
        <guid isPermaLink="true">https://brennan.io/2022/11/12/snake.club-blocked/</guid>
      </item>
    
      <item>
        <title>Unwinding a Stack by Hand with Frame Pointers and ORC</title>
        <description>&lt;p&gt;My &lt;a href=&quot;https://blogs.oracle.com/linux/post/unwinding-stack-frame-pointers-and-orc&quot;&gt;article&lt;/a&gt;, posted on the Oracle Linux Blog, goes in depth on how the
Linux kernel creates stack traces at runtime. It describes the common frame
pointer approach, as well as the newer approach for x86_64 called ORC, which
allows omitting the frame pointer.&lt;/p&gt;

</description>
        <pubDate>Wed, 23 Mar 2022 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2022/03/23/unwinding-stack-frame-ORC/</link>
        <guid isPermaLink="true">https://brennan.io/2022/03/23/unwinding-stack-frame-ORC/</guid>
      </item>
    
      <item>
        <title>Use deadsnakes PPA on Ubuntu hirsute</title>
        <description>&lt;p&gt;Today I upgraded a computer of mine from Ubuntu Groovy Gorilla (20.10) to
Hirsute Hippo (21.04). The process was mostly painless, but I had to go through
the standard process of evaluating each file in
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/apt/sources.d/*.distUpgrade&lt;/code&gt; to determine how all of my PPAs or other
software repositories needed to be updated. The one that took the most work was
the Deadsnakes PPA.&lt;/p&gt;

</description>
        <pubDate>Mon, 21 Jun 2021 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2021/06/21/deadsnakes-hirsute/</link>
        <guid isPermaLink="true">https://brennan.io/2021/06/21/deadsnakes-hirsute/</guid>
      </item>
    
      <item>
        <title>When it comes to git history, less is more</title>
        <description>&lt;p&gt;At a previous company, there was an “infamous” commit in our main repository.
The commit was about 10 years old, and it replaced every tab with 4 spaces. When
the commit was authored, the repository was likely in the hundreds of thousands,
or maybe millions, of lines of code. For folks like me, who liked to go
“spelunking” through git history, it was a frustrating barrier, but no more than
a moderate frustration. It didn’t impact day-to-day work. After all, this repo
was a regularly-deployed web application. Development happened on the master
branch, deploys happened multiple times per business day, and old revisions were
quickly forgotten.&lt;/p&gt;

</description>
        <pubDate>Tue, 15 Jun 2021 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2021/06/15/git-less-is-more/</link>
        <guid isPermaLink="true">https://brennan.io/2021/06/15/git-less-is-more/</guid>
      </item>
    
      <item>
        <title>Subscribe to Kernel Mailing Lists over NNTP on Thunderbird</title>
        <description>&lt;p&gt;Linux kernel mailing lists are really important to watch and learn. They’re the
best place to watch what’s happening upstream, you can see (almost) every change
and the review process that goes into it. They can help you build an
understanding for what sort of development is taking place on a particular
subsystem, and how the maintainer and reviewers feel about certain types of
changes.&lt;/p&gt;

</description>
        <pubDate>Wed, 05 May 2021 00:00:00 +0000</pubDate>
        <link>https://brennan.io/2021/05/05/kernel-mailing-lists-thunderbird-nntp/</link>
        <guid isPermaLink="true">https://brennan.io/2021/05/05/kernel-mailing-lists-thunderbird-nntp/</guid>
      </item>
    
  </channel>
</rss>
