diff --git a/content/posts/clirenaissance/index.md b/content/posts/clirenaissance/index.md index a3299f4..e1b853f 100644 --- a/content/posts/clirenaissance/index.md +++ b/content/posts/clirenaissance/index.md @@ -218,6 +218,21 @@ but its an extremely usable IDE out of the box thanks to having all of its featu ### Common usecases should be easy +Where possible, documentation should not even be required for the most common use cases. +Whenever I want to use `find`, I almost always have to first look at the man page, +as I dont use it quite often enough to memorize it. +But thats totally unnedded! 90% of my uses of `find` take the form of `find ./ -name "*foo*"`. +with [fd](https://github.com/sharkdp/fd), the exact same invocation is a simple `fd foo`, dead simple, no man page needed. +Of course, 10% of the time im doing something else and have to look at the manual even with fd, +but the point is that manuals are for when you want to do someing with the tool that is not the most common usecase. + +There are many other examples as well. How many of your grep invocations are in the form of `grep -R 'foo' ./`? +most of mine are. [Ripgrep](https://github.com/BurntSushi/ripgrep) shortens that to `rg foo` +while still having all the power of grep when I need it, and it is faster to boot! + +This isnt to say that tools should 'dumb themselves down' or hobble themselves to make them easier to use. +Tools abosultuely should not shy away from being powerful; however they should keep in mind the first time user experience +and what the first time user is likely to want to use the tool for; as that is likely also what power users will want to use the tool for 90% of the time. ## Shedding historical baggage