I’ve been using Neovim (and before that, Vim) for 20 years, and as such spend most of my day in the terminal. I like it there. As dumb as it sounds, it makes me happy.
That doesn’t mean I’ve mastered Neovim though, much less the other tools that make the terminal so powerful. The esoteric superpowers of sed and awk still elude me. The dream of effortlessly piping text through a series of small, precision tools, to achieve exactly the output I desire is still just a dream.
If anything, I feel as though my knowledge narrowed over the last decade or so, as I fell into familiar patterns of use which work well enough.
A few months ago, I decided it was time to learn my tools properly. To focus on the fundamentals that do not change.
Today, that seems almost embarrassingly naive.
It’s not that I’ve been completely oblivious to the rise of AI coding agents. I’ve used them, on and off, for at least the past couple of years, particularly for throwaway code that I have no intention of reusing (much less maintaining). For real work, though, they pretty much sucked.
In mid-2025, after several joyless (and expensive) weeks giving Claude Code a decent shot, I decided enough was enough. The much-vaunted productivity gains were nowhere to be found, and in their stead was the misery of wrangling a hyperactive toddler who cannot be left alone for even the briefest of moments, lest they trash the entire house.
Hence my decision to double down on the nerd tools, and step away from the AI hype. On reflection, this may have been pure psychological self-preservation.
I was recently drawn back in, and being completely honest, I’m freaking out ever so slightly.
It’s not that the agents are now producing flawless code. I spent a good 20 minutes yesterday watching one tie itself in knots trying to write a regex: first in Sed, then in Bash, and finally in Python (six times). By the time I pulled the plug, it had ruined all of the correct files without doing anything to fix the original problem.
... continue reading