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?
|
|
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 |
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 ,… |
neomutt |
|
encrypt/decrypt | age , gnupg ,… |
archive/extract | fucking tar … god I hate tar for this… |
remove | rm -fr |
calendar | cal |
reminder | calendar |
calculator | dc |