Why I Love the Command Line
Sat 26 July 2025
I was going to post a much more serious blog post about anhedonia yesterday, but I didn't get to do so, as I was feeling... anhedonic!
One thing I do when I'm struggling to feel... anything (because I've spent way too much time feeling way too much, but that's a blog post for another time!) is think about things that deeply satisfy my mind on purely cold-and-rational level. If emotional joy is too much to muster because emotional pain is far too present, then absolutely robotic, cold, Vulcan joy is my ticket out of the shadow zone of utter inaction and inertness.
One of the things that gives me a ton of joy is using the command line.
Why?
I really don't have a bullseye answer on that, but I can shoot around it and trace it out:
Resource-efficiency
Command line utilities are usually very efficient. They spool up in an instant, do their thing, and GTFO, if you'll pardon a coarse idiom. Or in the case of interactive/TUI tools, they still run very quickly, execute their tasks quickly, and don't use a ton of resources while they're... resident (to use an archaic, MS-DOS
-ish term).
Elegance of function
I find CLI and TUI programs very elegant to use. They hearken back to a much older era of human interface design and interaction, and they just seem to have a lot less pomp, bluster and artifice.
Avoiding that blasted rodent
I actually love mice. I mean standard, old-fashioned mice: wired or wireless, definitely preferably optical (I used ball mice for 20 years, I won't be going back! 😅), but not trackpads, trackpoints/nubs, touchscreens, gesture interfaces (as in, waving your hand in the air, because that was actually a product category at one point), neural interfaces, or whatever.
The first time I used a mouse was in 1984, and it was a revelation. It was about on par with the introduction of the iPhone/iPad, and we all discovered we could just reach out and touch our digital world. It was amazing!
Like the touch interfaces that came two decades afterward, the mouse is both an amazing demo (in its era), and a very useful tool in the right circumstances. But as a primary driver for human interaction, both the mouse and the touchscreen are rather bad.
The typewriter keyboard, whether you use QWERTY, Dvorak, Colemak, Workman, or something entirely different, is an incredibly efficient interface. The average person, once they have learned touch typing, possessing average dexterity and a tiny bit of discipline, can reach 80-100 words per minute. While this isn't as fast as machine voice dictation (which has finally gotten pretty good in just the last decade), it is far less error-prone.
Every time I have to reach for a pointing device, it seriously crimps the flow of what I was doing until that point, unless the task at hand is inherently pointer-oriented, like drawing or visually/spatially organizing something (such as desktop layout).
Tactility
The biggest bummer with touchscreens is that there is zero tactility. I remember in the early teens there was a research project involving small air bladders in a clear plastic layer on top of the screen to allow a part of the screen to be raised off of the surface of the glass, but that never got beyond prototyping, for understandable reasons. It makes a neat research project, but wouldn't be durable or even all that usable.
There was also a product for the iPhone 3G/3GS that was a clear plastic overlay with bumps where all of the keyboard keys went, so you could put the cover on, which would be precisely aligned, and then feel little bumps where all the keys are. I don't know how well that sold — it was a repectably neat idea, but not incredibly practical, because the cover would have to be parked behind the phone (which had a curved back at that time), and then be placed on the phone when it was time to type.
Mice are a little bit better, because there is a tactile click, and back in the halcyon days of skeumorphism in UI design, clicking on a button actually looked like a physical button being depressed, which your brain would connect to the click of the momentary switch inside of the mouse itself.
But even that pales to the tactility of a good keyboard. Even the flat, "Island-style" (MacBook-style) keyboard on this Thinkpad is satisfying to type on, and gives just enough tactile feedback for me to know that I'm typing, and hitting the keys right.
But it's more than just tactile feedback for the sake of efficient typing. On a good keyboard, the tactility is an extremely pleasant sensory experience.
The command line, being a keyboard-driven interface, is a far more tactile experience than a GUI. That may not be a big deal to some, but I find the different enjoyable enough to prefer it to GUIs. I'm not saying that if that was the only difference that it'd be enough by itself, but it is one of many.
Scriptability
Now, GUIs have been scriptable for a long time. Macintoshes had HyperCard (with the HyperTalk language) and its child, AppleScript. Windows has had various scripting languages and addons over the years; the Windows sysadmins at the job I had in the 2000s actually just used ActiveState Perl for all of their scripting, and made great use of it.
But there's a rare pleasure in being able to just take commands, one per line, appending them to a file, adding a shebang, and making it executable. So much like the MS-DOS
BATCH
language some of my fellow GenXers may be familiar with, shell scripting just starts with throwing commands into a text file and running it.
That is freaking incredible. What a delightfully easy start to programming. Just throw commands together, and have the computer execute them, one after the other, like dutiful robot.
And then learn about conditionals, variables, and other more complex subjects.
I understand that Python is much more sane and powerful in so many ways, C is so much faster, Go has so much more features, and Rust is... whatever it is ( ͡° ͜ʖ ͡°)
But shell scripting will always be a dear favorite of mine, and an entire category of utilities (CLI programs) that are inherently scriptable are always going to be far more useful to me than stand-alone utilities.
100 Days to Offload 2025 - Day 45
Category: Tech Tagged: 100DaysToOffload ADHD Computing FOSS (Free and Open Source Software) Humor Life Linux Non-religious post Philosophy Productivity