Today I returned to one of the topics I daydream about and wax poetic on: what
would it look like to evolve the POSIX toolset? Folks frequenting Hackernews
will occasionally find me climbing atop* (pun intended) this hobby
horse. I want to be clear that I don't mean the periodic changes to POSIX made
by "The Austin Common Standards Revision Group", I'm thinking about
what are the evolved versions of the individual tools. I guess, in that way,
what I'm talking about isn't the "POSIX toolset" per se, but the atomic binary
implementations of the tools. The tools like at, man, ulimit, awk, or
mkfifo. The thing called coreutils on Linux. I guess what I envision is an
evolved version of coreutils, a newutils if I may be so bold. This is the
evolution of how I manage my system and how things have changed over time. I
mean like the way I (mostly) replace ls with lsd or cat with bat.
This is especially interesting to me because of the folks I call friend and
happily engage in repartee with. Yes, bluKnight (303 represent), I hear you
from thousands of miles away screaming "systemd sucks" 😂. I hear all of the
folks telling me that the first thing they do to a system is setenforce 0.
Y'all are my friends, but you're also dinosaurs.
I'm confounded by the simultaneous fetishization of a failure to evolve with the times, but also the polar opposite: fresh faced children tearing down Chesterton's Fences and re-implementing the POSIX tools (while failing to abide by POSIX conformance).
To this end, this is my current list of "replacement" tools:
| Original Tool | Reimplemented Tool |
|---|---|
cat |
bat |
ls |
lsd |
vi |
nvim (Neovim) |
grep |
ripgrep |
Neovim is 100% coming from working with Geoff Greer at CoreOS. He pretty much nailed his thoughts in this blog post.
Now, there are also some tools which I can't live without even if they aren't POSIX compliant (I'm looking at you ripgrep). These tools are unabashed in their fixation on getting the job done efficiently.
None of this is a finished list. It's a running argument I have with myself
every time I ssh into a box that only has the originals installed and my
fingers type bat out of muscle memory before my brain catches up.