Recent Posts

Rails, AI, Open Source, and Getting Too Old for Late-Night Punk Shows

October 26, 2026

I recently joined Errol Schmidt on his Tech for Humans podcast for a conversation about Ruby on Rails, AI, running a software consultancy, open source, and somehow… punk rock.

We started by revisiting my recent Rails World keynote and why I think engineers should spend more time improving the environments they work in. From there, we wandered into what it’s like running Planet Argon in an increasingly AI-assisted industry, why Rails upgrades keep getting postponed, and whether AI might change how we think about open source dependencies.

We also talked about my early days as an anarcho-punk kid experimenting with Linux, how that eventually led to starting a software consultancy, and why I’ve somehow come full circle… selling stickers on the internet.

Oh, and apparently… I’ve reached the age where I’d prefer punk shows to start a couple of hours earlier. How rebellious. šŸ¤˜šŸ»

Thanks to Errol for having me on and making room for all those tangents.

Watch the full conversation on YouTube

Errol also shared a short clip from our conversation on X.

The Keynote I Thought I Was Going to Give

October 09, 2026

A couple of weeks ago, I gave my keynote, ā€œThe Most Valuable Engineer Isn’t Shipping Features,ā€ at Rails World 2026 in Austin, Texas.

If you want to just go ahead and watch it, here it is.

If you’re interested in the backstory… read on.

What Happens When Your Dotfiles Get Ideas

July 08, 2026

I was recently a guest on Scaling DevTools, hosted by the gracious Jack Bridger.

We talked about how Oh My Zsh went from a messy little config I shared with a few coworkers into one of the more widely used open source developer tools in the world. Which still feels a little absurd, especially when I look back at the original blog post where I announced it and remember how little grand strategy was involved.

The original goal was not world domination. There was no developer platform strategy. No roadmap. No monetization funnel wearing a fake mustache.

As I said in the conversation:

I literally wanted, like, eight of my coworkers to have this on their computer so that I could be lazy and not have to remember all these complex Git commands.

That was basically it.

A few of the things we covered:

  • why Oh My Zsh started in the first place
  • how themes and plugins came out of coworkers wanting to customize things
  • why Git felt so strange and useful in the late 2000s
  • designing developer tools for beginners instead of optimizing for the loudest experts in the room
  • why automatic updates ended up being one of the accidental ingredients that helped the project spread
  • what it feels like to ā€œcreateā€ something that is probably more accurately described as something I curated
  • how AI-assisted pull requests are showing up in open source
  • why software consultancies might need to rethink what they actually sell

The fun part of revisiting this story is realizing how many of the ā€œfeaturesā€ were really just small decisions made to keep a few coworkers from stepping on each other’s toes.

Themes happened because someone did not like my color choices. Rude, obviously.

Plugins happened because someone wanted Python and Django shortcuts without dragging along all my Ruby on Rails assumptions.

Automatic updates happened because nobody was going to remember to cd ~/.oh-my-zsh and run a Git pull on a regular basis. Which is fair. That is not a lifestyle anyone should aspire to.

A lot of Oh My Zsh grew out of trying to make the command line feel a little less intimidating for people who were still getting comfortable there. Not the person shaving milliseconds off shell startup time with a jeweler’s loupe. The person who wanted their prompt to show the Git branch, make the terminal feel less hostile, and maybe feel slightly more like a hacker in a movie where nobody ever mistypes.

Anyway… Jack and I got into all of that, along with open source maintenance, developer experience, AI-assisted contributions, software consulting, and the strange career consequences of accidentally starting a project that outlives your original intentions.

You can listen to the episode over on Scaling DevTools, or watch the interview above. And if you prefer the conference-talk version of the Oh My Zsh story, I gave one at SquiggleConf that lives on my speaking page.

Thanks again to Jack for having me on.

On ShopTalk Show: Rails in 2026, Dependencies, and the Long Tail of Decisions

April 27, 2026

I recently joined ShopTalk Show… episode 711 to be exact. Which… now has me thinking I should probably go get myself a Slurpee.

A few things we got into…

  • Oh My Zsh started as shared aliases for teammates… and turned into a plugin ecosystem that keeps growing.
  • Ruby on Rails in 2026… scaling isn’t the question anymore. Teams are wrestling with restraint and keeping systems understandable.
  • LLMs and contribution… more people can open meaningful PRs now. Conventions and structure matter more than ever.
  • Dependencies… every one feels small when added. Over time… they stack up and stick around longer than expected.

If you haven’t listened to ShopTalk Show… go subscribe.

Less Opinions. More Data. The 2026 Rails Survey

April 27, 2026

Every two years, the team at Planet Argon runs the Rails Developer Survey. And every two years, I go through the same process… a long list of questions, a hard look at how much time we’re asking of respondents, and a lot of cutting.

If you’ve filled it out before, thank you. If this is new to you, here’s the short version: it’s an open survey for Rails developers at all experience levels and across all kinds of organizations. We compile the results and share everything publicly. No paywalls. No vendor spin. Just a snapshot of what the community is actually doing.

We first ran this in 2009… back when ā€should I use Rails?ā€ was still a serious question… and have been doing it every two years since 2012.

AI Increased Your Output. It Also Increased Your Variance.

April 23, 2026

You gave a handful of your devs access to Claude Code Max… and things moved fast. Output went up. Then things started to drift. Not just formatting or naming. Structure. Approach. Assumptions. One developer builds guardrails around it. Another uses it like autocomplete. A third treats it like a thinking partner. Same tool, same codebase… different results. The code starts to reflect how each person uses the tool, not how the team builds software together.

Your codebase doesn't care how it got written

April 14, 2026

Every design team I’ve worked with has had the same complaint about clients.

ā€œThey sent over a PowerPoint with mockups.ā€ Eye rolls. Crossed arms. The unspoken accusation: you’re stepping on my domain.

I got it. The client would shortcut the process. Fall in love with their own wireframes. Hand the designer a solution instead of a problem.

That friction was real.

But here’s what nobody said out loud… the designers were doing the same thing to the developers.

Using Claude Code with Ruby on Rails: Field Notes

March 12, 2026

Over the past few months, a few of us at Planet Argon have been experimenting with Claude Code on real client Ruby on Rails projects. Not demos or greenfield apps, but the kind of long-lived codebases where a backtrace can eat forty-five minutes before you even understand the call chain.

The part that surprised us is how often some of those debugging sessions now wrap up closer to ten minutes.

We’re not ready to make big claims. But we’ve developed enough of a feel for when to reach for it, which model to use, and how to keep it from making a mess of your codebase that it felt worth writing down.

The guide covers things like model selection (Sonnet vs Opus and when to switch mid-session), RSpec and Minitest workflows, debugging with error monitoring payloads, and how we’re structuring CLAUDE.md without turning it into a dumping ground. It’s written for developers who are skeptical of the hype but curious enough to run an experiment.

šŸ‘‰ Claude Code for the Semi-Reluctant, Somewhat Curious Ruby on Rails Developer

The engineers on your team who’ve already started experimenting with tools like this probably have a small head start. The gap closes quickly once you see where they actually help.

From AppSignal Alert to Fix to Deploy — Without Leaving the Terminal

March 03, 2026

I’ve been running a few experiments to streamline our development workflow, and I keep talking with folks on teams who haven’t been granted the budget or access to this kind of tooling yet. So I’m writing some of these up to help demystify what the experience is actually like.

For this one.. I wanted to see if I could take an AppSignal error and go from alert → fix → deploy without leaving the terminal.

Building a RAG Tool in Ruby 4: What Actually Happened

February 26, 2026

One of my priorities this quarter was running a few AI pilot experiments. This was one of them.

When I mentioned the project to a teammate, he said, ā€œYou should write this up.ā€ So here we are.

Others on our team had already been exploring embeddings, vector databases, and RAG. I’d been watching from the sidelines… until it was time to roll up my sleeves and build something myself.

Most Developers Don’t Build New Things

February 18, 2026

The industry tends to celebrate beginnings.

New repositories. Clean architecture diagrams. The excitement of choosing tools before real constraints show up. First commits get attention because they feel like authorship.

Most developers, though, don’t spend their careers starting from scratch. They spend them stepping into systems that already exist, already have users, and already have decisions embedded in them.

You open the repository and there are hundreds of thousands of lines of code waiting for you. Patterns layered over time. Workarounds that solved real problems in earlier moments. Comments that hint at context you weren’t there for. You didn’t choose the framework version. You didn’t pick the database. You didn’t design the way billing logic is structured.

You inherited it.

That inheritance is the work.