10x Design in Claude Code and Codex

TL;DR
Ginger Bill argues that the best tools disappear during use - and that celebrating workarounds is a sign your tool has failed you.
Ginger Bill, creator of the Odin programming language, published an essay arguing that quality tools should fade into the background during use. The Hacker News discussion that followed became a spirited debate about Vim, multiple cursors, and whether productivity can be measured at all.
Bill's thesis is straightforward: a tool is good when you forget you're using it. The friction of working around limitations should not be celebrated as "fun" or treated as evidence that the tool is great.
From the article:
I've had people tell me how "fun" it was to build a macro to handle some one-off text-refactoring problem. But when I looked at what they were doing and how long it took, my honest reaction was: I could have done that in Sublime in a minute with multiple cursors, or just written a quick script.
The essay targets several developer habits:
Bill has used Sublime Text for 15 years and specifically praises multiple cursors as more practical than macros for most editing tasks.
The thread split into predictable camps, but with some interesting nuance.
Pushback on the Vim framing: One commenter wrote: "It's weird how much the author fixates on Vim being 'visible' and implies multiple cursors and features in Sublime aren't. Just because your brain is trained to not think about it anymore doesn't make it any less visible."
The Vim defense: Multiple commenters pushed back on the claim that macros are inferior to multiple cursors. One noted: "I'm not sure I've ever heard anyone describe vim as a puzzle that's fun to solve. The most common sentiment is that it has a learning curve, but ends up being worth it."
Bill's clarification: The author showed up in the thread to clarify: "I used vim macros specifically as an example, not Vim as a whole... If you can effectively use vim macros, then GREAT! But if you cannot, even with using vim for decades, then please don't advertise them as the 'fun' part."
The feedback loop argument: Bill expanded on why he prefers multiple cursors: "With multiple cursors, I am seeing instant visual feedback on all instances of the cursor at once. I am getting literally 2D spatial information, compared to the 1D spatial information per each replay. The multiple cursors approach is better not because it's a different mindset, but it produces a different feedback loop to correct mistakes."
Counterpoint on power tools: A thoughtful response came from a commenter who noted: "Both vim and emacs (which have the steep learning curve) are aimed at power users. It's best to compare them to professional tools like CAD, DAW, industrial appliances... After a while, it becomes like an extension of your thinking and the tool disappears."
The LLM angle: One commenter connected the thesis to current AI tooling: "I would love for things like LLMs to be way more out of your way, more 'invisible', more tool-like. I hate the current UX of having to tame a patronizing, annoying fake human just to get things done the way I want them to be done."
From the archive
Jul 10, 2026 • 5 min read
Jul 10, 2026 • 7 min read
Jul 10, 2026 • 7 min read
Jul 10, 2026 • 6 min read
What tools actually pass the "invisible" test? The thread struggled with this question.
One commenter offered a framework: "All tools I've used are either simple and heavily limited (so, not 'invisible' because hard things are hard) or powerful but heavily specialized (so, not 'invisible' because the learning curve is very evident). I feel the trade off is inescapable."
Examples that came up as "close to invisible":
The counterargument: these tools are only invisible because you've already internalized them. To someone who's never used a tiling window manager, it's anything but invisible.
The essay's core challenge is worth sitting with: are you actually more productive with your current toolchain, or do you just feel more productive?
Bill's test is simple: wall-clock time and accuracy. If you're spending 10 minutes crafting a clever macro for something that would take 2 minutes with multiple cursors or a script, the macro isn't serving you - it's serving your desire to feel clever.
This doesn't mean you should abandon Vim or Emacs. It means you should be honest about whether your tool investments are paying dividends in output, not just in the satisfaction of mastery.
Read next
The colon builtin is the shell's most underrated command - it evaluates arguments, discards results, and unlocks parameter expansion tricks that simplify scripts. HN debate: readable or cryptic?
5 min readA technical deep dive into AM halftoning with ImageMagick hit the HN front page at 195 points. We break down the technique, the HN debate on dithering vs halftoning, and why this matters for developers.
6 min readNew research shows Claude Code's system prompt and tool scaffolding consume 4.7x more tokens than OpenCode before processing user input. The HN thread debates whether that overhead buys better outcomes.
7 min readTechnical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.
A hosted infinite canvas your headless AI agents drive over MCP. Any MCP-speaking agent - Claude Code, Codex, Cursor, or...
View ToolAI-native code editor forked from VS Code. Composer mode rewrites multiple files at once. Tab autocomplete predicts your...
View ToolGives AI agents access to 250+ external tools (GitHub, Slack, Gmail, databases) with managed OAuth. Handles the auth and...
View ToolAI voice dictation for macOS. Works in any app - code editors, browsers, notes. Understands context and formats output...
View ToolA practical walk-through of how to design, write, and ship a Claude Code skill - from choosing when to trigger, through allowed-tools, to the steps the agent will actually follow.
Getting StartedFires after a successful tool call. Good for feedback and follow-ups.
Claude CodeInstall the dd CLI and scaffold your first AI-powered app in under a minute.
Getting Started
In this video, learn how to leverage convex components, independent modular TypeScript building blocks for your backend. This tutorial focuses on one of the latest integrations with the Resend...

Sign up for Runbear with the below link to receive a 25% discount! https://runbear.io/?utm_source=developerdigest Coupon Code: DEVELOPERDIGEST Valid until February 2025 In this video, I demonstrat...

Agent-Manager wraps tmux into a Go TUI that groups AI coding agents by project, shows live status for each, and lets you...

Mitchell Hashimoto (Vagrant, Terraform, Ghostty) launched Superlogical - a new company building a terminal multiplexer t...

PGSimCity is an explorable 3D city that models PostgreSQL internals - shared buffers, WAL, autovacuum, checkpoints, and...

Vercel Labs released Scriptc, a TypeScript-to-native compiler that produces self-contained binaries of 170-200KB with ~2...

Ruff v0.16.0 ships 413 default rules (up from 59), Markdown code-block formatting, and a new ruff: ignore system. Here i...

The colon builtin is the shell's most underrated command - it evaluates arguments, discards results, and unlocks paramet...

New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.