I have typed grep -r pattern . more times than I have typed my own name, and this month I finally stopped. ripgrep and fd have been sitting in my path for years, recommended by everyone, and I kept reaching for the old tools out of pure muscle memory. The thing that broke the habit was watching rg finish searching a large monorepo before grep -r had cleared its throat.
The speed is real and it comes from doing less work. ripgrep reads your .gitignore by default, so it never wades into node_modules or target or .git. Half of what made grep -r slow was searching directories I never wanted searched. The other half is that rg is genuinely well engineered underneath, but honestly the ignore-file respect alone would have sold me.
fd is the same story against find. Instead of find . -name '*.rs' -type f I type fd -e rs, and it is faster and the syntax is something I can remember without consulting the manual. find is a marvel of capability and a misery of ergonomics, and I will not miss reciting its incantations.
The lesson is small but real: a better tool only wins when it overcomes the habit, and habits are stubborn. The trigger was watching the wall-clock difference on a big repo, not anyone's blog post. The old tools are still there when I ssh into a box that doesn't have the new ones, and that's fine. Locally, I've given up, and I'm faster for it.