Stephen Brennan Stephen Brennan's personal website and blog. https://brennan.io Why I Don't Have Fun With Claude Code <p>LLM-based coding agents like Claude Code &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 <strong>love</strong> a tool like Claude Code, even if I do use it, because I value the task it automates.</p> Fri, 23 Jan 2026 00:00:00 +0000 https://brennan.io/2026/01/23/claude-code/ https://brennan.io/2026/01/23/claude-code/ Break my System, Please! <p>For what feels like a year at this point, I’ve been receiving this wonderful message from <code class="language-plaintext highlighter-rouge">pip</code> when I try running <code class="language-plaintext highlighter-rouge">pip install --user SOME_PACKAGE</code>:</p> Sat, 11 Jan 2025 00:00:00 +0000 https://brennan.io/2025/01/11/break-my-system/ https://brennan.io/2025/01/11/break-my-system/ What's Inside a Kernel Core Dump <p>My <a href="https://blogs.oracle.com/linux/post/whats-inside-a-linux-kernel-core-dump">article</a>, 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.</p> Thu, 29 Feb 2024 00:00:00 +0000 https://brennan.io/2024/02/29/vmcores/ https://brennan.io/2024/02/29/vmcores/ My experience being blocked by Google Safe Browsing <p>Since April of 2021, I’ve hosted a Mastodon server on the domain <code class="language-plaintext highlighter-rouge">snake.club</code>. 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.</p> Sat, 12 Nov 2022 00:00:00 +0000 https://brennan.io/2022/11/12/snake.club-blocked/ https://brennan.io/2022/11/12/snake.club-blocked/ Unwinding a Stack by Hand with Frame Pointers and ORC <p>My <a href="https://blogs.oracle.com/linux/post/unwinding-stack-frame-pointers-and-orc">article</a>, 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.</p> Wed, 23 Mar 2022 00:00:00 +0000 https://brennan.io/2022/03/23/unwinding-stack-frame-ORC/ https://brennan.io/2022/03/23/unwinding-stack-frame-ORC/ Use deadsnakes PPA on Ubuntu hirsute <p>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 <code class="language-plaintext highlighter-rouge">/etc/apt/sources.d/*.distUpgrade</code> 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.</p> Mon, 21 Jun 2021 00:00:00 +0000 https://brennan.io/2021/06/21/deadsnakes-hirsute/ https://brennan.io/2021/06/21/deadsnakes-hirsute/ When it comes to git history, less is more <p>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.</p> Tue, 15 Jun 2021 00:00:00 +0000 https://brennan.io/2021/06/15/git-less-is-more/ https://brennan.io/2021/06/15/git-less-is-more/ Subscribe to Kernel Mailing Lists over NNTP on Thunderbird <p>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.</p> Wed, 05 May 2021 00:00:00 +0000 https://brennan.io/2021/05/05/kernel-mailing-lists-thunderbird-nntp/ https://brennan.io/2021/05/05/kernel-mailing-lists-thunderbird-nntp/ Please Stop Form Validation on Key Strokes <p>Today I encountered a bug in a web form. A textbox required a numeric value, but when I attempted to enter it, I found that none of my keystrokes resulted in digits appearing in the box. I’ve experienced this bug once every few months for several years at this point. I always knew the reason for it, but today I felt just annoyed enough to fully research the issue and write about it.</p> Wed, 03 Mar 2021 00:00:00 +0000 https://brennan.io/2021/03/03/textboxes/ https://brennan.io/2021/03/03/textboxes/ Stack Overflow Users Rejoice as Pattern Matching is Added to Python 3.10 <p>INTERNET – Stack Overflow users today rejoiced at the prospect of Python’s upcoming 3.10 release including the controversial new pattern matching feature described in <a href="https://www.python.org/dev/peps/pep-0634/">PEP 634</a>.</p> Tue, 09 Feb 2021 00:00:00 +0000 https://brennan.io/2021/02/09/so-python/ https://brennan.io/2021/02/09/so-python/