Though a bit niche, my #FreeSoftwareAdvent today is ed(1). As the goofball behind
@ed1confed(1) conference, I certainly play it up, but I certainly use it more than the average Unix/BSD/Linux user.
A while ago I wrote up list of reasons¹ why one might use ed, and some are more obscure/improbable reasons (though I've encountered all of them in that post), there are a couple of those that drive me back to ed regularly:
• I can still see the output of previous commands on the screen while I edit, where a full-screen editor would obscure that output that I need to incorporate in my edit
• it's just darn fast for a quick edit, changing a variable name or adding/removing an entry in a list, etc. No startup costs for a honkin' huge $VISUAL with dozens of plugins and language-server processes and GUI rendering
• very usable on low-bandwith/high-latency connections like I sometimes get when I remote into machines (less of a problem now, but I still experience sessions where I'll SSH in, invoke ed, make the change, write & quit, and exit the shell, in a couple seconds, while the screen repaints things oh-so-slowly
• and most importantly, there's quality geek-cred for using it in front of others 😆
⸻
¹ https://blog.thechases.com/posts/cli/why-ed1/