ripgrep, fd, and the Joy of Fast Tools

There's a specific kind of happiness in a tool that returns before your finger leaves the Enter key. A lot of the Rust CLI renaissance is built on that feeling, and once you have it you can't go back.

The new muscle memory

I retrained my fingers this year. The old commands still work; I just don't reach for them anymore.

rg "borrow"        # instead of grep -rn
fd config          # instead of find . -name '*config*'
bat src/main.rs    # instead of cat, but readable

ripgrep respects your .gitignore by default, which sounds minor until you realize how much of every old grep result was node_modules noise you had to mentally filter out.

Why fast changes behavior, not just speed

Speed isn't only about the seconds saved. It's about what you're now willing to do because it's cheap:

  • I search the whole codebase mid-thought instead of guessing, because it costs nothing.
  • I explore unfamiliar repos by grepping around freely, because results are instant.
  • I run the query three different ways to be sure, because I can.

A tool fast enough stops being a tool you use and becomes a way you think.

That's the throughline from the camera days: the best gear disappears. You stop managing the instrument and you're just left alone with the work. rg and fd disappear. That's the highest compliment I can pay a piece of software.