Sensible Application Names

Published:

I often struggle to work out what a particular application I’m trying to run is called. bc or dc? cal or calendar? What was the command to print the current firewall ruleset?

1
2
# nft list ruleset
nft: command not found

Now.

If I want to open IRC, I want to have to type irc into my terminal, not catgirl.

xdg-open on Linux and open on macOS allows programms to be executed with the corresponding stored standard application. Ultimately, a mime type is assigned to a programme.

My idea on UNIX systems is rather to assign a specific application to a use case, for example the application type email-client to the specific application neomutt. This means Firefox can still be named Firefox. Or Firefox ESR. Think of it like the internal project name. To the end user it doesn’t matter how it’s named.

VyOS does it right with their operating system. I think that’s one thing Gnome does right too. I don’t have to tell someone who has never touched Fedora where to find the contacts program. I don’t have to call my contacts application rogues-from-the-underdawn. It’s contacts, plain and simple.

Giving installation instructions would be so easy if we could just write Install emacs by writing install emacs please install emacs in your terminal. The same goes for command line flags and subcommands. A terminal-based workflow would be much more accessible to new users and power users.

I am aware that it is difficult to come up with elegant names for some POSIX commands. I am also aware that it is difficult when, for example, OpenBSD uses a different list (ls) than GNU list. But: It’s just a thought and an experiment for me.

The programmes are nowadays named as they are named. ls is ls and not list. So, instead I need to add a layer of abstraction and wrap the commands into an alias and use them instead.

Below is a living list of aliases I have created so far. Feel free to drop me a line if you want to add something to the list.

*Note: The coreutils are from OpenBSD. They are not the GNU coreutils.

alias command
open xdg-open
edit $EDITOR
list ls -1A
goto cd
help man
print
tutorial
unique uniq
copy cp -r
move mv
reload exec $SHELL -l
please doas, sudo
commands
count wc
install pkg_add
uninstall pkg_delete
installed pkg_info -f | grep '^@depend' | cut -f 3 -d :
update syspatch && pkg_add -u
week date +%V
map xargs -n1
play amused
podcast podboat
irc catgirl
rss newsboat, sfeed,…
email neomutt
encrypt/decrypt age, gnupg,…
archive/extract fucking tar… god I hate tar for this…
remove rm -fr
calendar cal
reminder calendar
calculator dc