The Best Thing That's Happened to Python in Decades Is Written in Rust

TL;DR: Python tooling has been a fragmented, slow mess for years. The revolution didn’t come from within the ecosystem: it came from Rust. uv, Ruff and ty — all written in Rust by Astral — have replaced half a dozen tools and are between 10x and 100x faster. Looks like the Cult of Ferris had a point after all. Have you ever tried to explain to someone how to install dependencies in Python? ...

March 26, 2026 · Fernando

150 Lines of Apologies Removed

TL;DR: My AI agent had a 246-line instruction file for managing issues in Linear. 150 of those lines were workarounds: hardcoded UUIDs, curl fallbacks, notes like “the CLI doesn’t support X.” I didn’t rewrite them — I built a tool that made them unnecessary. Now those 150 lines are gone. Have you ever written a set of instructions so long that its sheer length proves something is fundamentally wrong? I’m not talking about legitimate documentation. I mean those files that start with “use tool X” and then spend 80% of the text explaining when tool X doesn’t work and what to do instead. Instructions that are, effectively, a list of apologies for the tool you should have built in the first place. ...

March 26, 2026 · Fernando

Linear Agent Isn’t What You Need. Your Agent Was Already in the Terminal

TL;DR: Linear just launched an integrated AI agent. Cool, but it doesn’t address the problem developers face when working with coding agents in the terminal. What we actually need isn’t another AI agent but a rock-solid CLI that our existing agents can use seamlessly. And if we’re going to build one, it should be in Rust — which is why lql exists: a CLI for Linear, purpose-built for agents. Yesterday, Linear launched their AI agent. It’s an integrated chatbot that gets your roadmap, your issues, and even your code. You can chat with it on Slack, mention it in a comment, and it’ll synthesize context, suggest actions, and even create issues for you. ...

March 25, 2026 · Fernando

Mole: The Mac Cleanup Tool You Didn’t Know You Needed (But Only Two Commands Matter)

How many gigabytes of junk are sitting on your Mac right now without you even noticing? I’m not talking about duplicate photos from that 2019 barbecue or your Downloads folder looking like a digital landfill. I’m talking about build artifacts. node_modules from projects you haven’t touched since the pandemic. Build caches for frameworks you barely remember installing. Xcode’s derived data piling up like dust under the bed. I spent months with my drive hovering at 85% full, juggling what to delete. Then I found Mole, ran mo purge --dry-run, and the screen spat out a number: 17 GB recoverable. Three hundred and fifty forgotten build artifacts quietly rotting in the dark. ...

March 23, 2026 · Fernando

Working with an AI agent is like living with the protagonist of Memento

Imagine you have a brilliant coworker. Solves complex problems, writes clean code, understands what you ask on the first try. But every morning, when you tell them “open the course project,” they look at you with a poker face and ask: “What course? Where is it?” Every day. Without exception. It’s exactly like living with Leonard Shelby, the protagonist of Memento. The guy who can’t form new memories and has to tattoo important things on his body to remember them. ...

March 14, 2026 · Fernando

I've Declared Email Bankruptcy (Again), but This Time I Have a Plan

In 2004, Lawrence Lessig sent out a mass email to his entire contact list saying, more or less: “Sorry, I deleted all your emails without reading them. If it was important, send it again.” He had spent 80 hours that week trying to empty an inbox cluttered with emails dating back to 2002. He was getting 200 emails per day. Lessig wasn’t disorganized. He was a Law Professor at Stanford. And even so, email defeated him. ...

March 11, 2026 · Fernando

Beads Is Dead. Long Live the Linear CLI

Less than a month ago I wrote an entire post explaining how to use three memory layers with Claude Code: Linear for strategy, Beads for tactics, and Tasks for execution. A nice, elegant pyramid. Yeah, no. Today I’m retiring Beads. Not on a whim, but because reality has made it abundantly clear that a tool causing more problems than it solves isn’t a tool. It’s dead weight. What Beads Brought to the Table For those who didn’t read the original post, Beads was a git-backed issue tracker. A Claude Code plugin that stored issues in JSONL files inside your repo. Brilliant idea on paper: ...

February 18, 2026 · Fernando

Git Worktrees: How to Have Multiple AI Agents Working Simultaneously Without Conflicts

The Single Checkout Bottleneck I’m developing a macOS menu bar app. I have three features in the backlog: a consumption sparkline, native notifications, and a desktop widget. All three are independent. I’m building all three with Claude Code. The problem: Claude Code works in one directory. One directory has one branch. And git checkout is like a single-lane roundabout: only one gets through. If I want to advance all three simultaneously, my classic options are: ...

February 16, 2026 · Fernando

MEMORY.md: the field notebook your AI writes itself

“Didn’t we decide this yesterday?” I was migrating my email out of Google. I’d spent two Claude Code sessions working on it: issues in Linear, decisions made, scripts executed. I open a third session and ask “what’s left pending from the degoogle?” Silence. Total amnesia. It’s like working with a brilliant teammate who shows up to the office every morning with absolutely no memory of what you did the day before. Not the decisions, not the mistakes, not the discoveries. Every session is a blank slate. ...

February 12, 2026 · Fernando

Linear, Beads and Tasks: Three Memory Layers for Claude Code

The memory problem Claude Code has a problem: it forgets everything. Close the session, open another one, and it’s like talking to someone who doesn’t know you. You can load context with CLAUDE.md, sure, but what about half-finished tasks? Bugs you found but didn’t fix? The plan you had for tomorrow? There are three complementary solutions: Linear (or your product tool), Beads (git-backed plugin) and Tasks (integrated in Claude Code). Each one for a different time horizon. ...

January 23, 2026 · Fernando