Command Line Tools that I Like

Back to Home | Back to Posts


It occured to me the other day that now that the application model for modern computing has largely shifted to the web, and therefore browsers, I find that I often don’t know what to call the silly, just-for-fun one-off projects that I build sometimes.

Take, for example, venmo-calculator - Is this an app? It is a program? It’s technically a compiled golang executable for the backend and a static html+js website that’s compiled in the sense that vue turned a vue component into javascript, but that javascript is itself interpreted?

And yet, when I think of an app, I think of a mobile app - venmo-calculator isn’t such an app, although it could be, if I shipped a PWA manifest. At the same time, something like Windows or MacOS is hard to describe as an app - but MS Paint or the snipping tool, despite not being targeted to mobile, could be described as apps? I could go on about this topic, and I might do that later…

And yet, I know it when I see it

There is, however, one category of programs/executables/applications/apps that I can clearly delineate - in the words of Potter Stewart - I know it when I see it - command line tooling. The purpose of this post (surprise!) is to discuss the different command line tools that I use frequently, and why I like them.

Quite a few of my favorite tools happen to programming language version managers - whenever I initialize a new system, I always start with these instead of directly installing programming languages

I also use a few different meta-installers for tools that use language-centric installers:

Python-related stuff:

Other terminal-related tooling: