22 February 2023
What is the "shell" of Bearers of the Shells?
Sure, we found out that may people don't understand the shell thing we mean for the term "Bearers of the Shells". We're not selling seashells and don't own some shares on the Royal Dutch Shell, anyway.
The shell, as in BOTS here is the computer shell, and we found it difficult to translate its meaning into non-English languages. Most languages just transliterate the word, anyway, because at the world of computing, the shell is a metaphor to a kind of the computer program that allows you to interact with other computer programs.
Today, you can say that computer shells are quite similar to "skins" in Android (Samsung's One UI, MIUI, Google Pixel, etc.) or "desktop environments" in Linux and BSD operating systems. However, it's not always true.
So, to understand what is the true meaning of the computer shell and the shell of BOTS, let's look at this research article (PDF) from 1965 written by the authors who first coined the word "shell".
Shell, as the computer program.
We may envision a common procedure called automatically by the supervisor whenever a user types in some message at his console, at a time when he has no other process in active execution under console control (presently called command level).
This procedure acts as an interface between console messages and subroutine. The purpose of such a procedure is to create a medium of exchange into which one could activate any procedure, as if it were called from the inside of another program.
Hereafter, for simplification, we shall refer to that procedure as the ''SHELL".The SHELL: A Global Tool for Calling and Chaining Procedures in the System
Wait, what is procedure? supervisor? console? interface? To make you understand these meanings: computers run instructions in a logical order, most commonly (from the era of punch cards) from top to bottom. That's why we call these ordered set of instructions as procedures. You can call them as subsets of computer algorithms, though.
Next, just like real-life supervisors, supervisors handles the execution of these instructions to prevent some technical conflicts like dividing numbers by zero. The console is all the physical buttons and switches which humans can use to communicate with the computer (today, they are completely replaced with keyboards and touch screens).
And interface is a way for computers to pass information between computers, programs/procedures, or with humans (hence the name, User Interface (UI)).
The SHELL here is neither an acronym or backronym. It is a metaphor of an outer part of the computer system that is intentionally exposed to interact with the user. The SHELL was invented during the early days of command-line interfaces, and that's why people often exchange the term shell with command-line.
Note that, the command-line is the interface, aka. how do you interact with the computer system, but the shell is the program that acts at the computer end of that interface, or in other words, who are you writing these commands for.
So, how about the Shells of the Bearers of the Shells?
We name ourselves the Bearers of the Shells because we own and use multiple computer shells to achieve our goals. In reality, we mostly use Fish, PowerShell, Python (if you consider one), and ZSH.
However, we also took the word "shell" differently, which now means "the spherical 🔮 thing we have in our heads". Those spheres are then decorated with symbols commonly found in computer shells: (>_ ) from DOS and Windows, ($_ ) from Unix and lookalikes (Linux, BSD, etc.), and (#_ ) for Unix that belongs to a special user named root. You'll also see that those symbols act as our faces, because we're not just interacting with those computer shells, we are the computer shells!
So, in conclusion, we are BOTS because we wear these 🔮 things, and we're the ambassador of computer systems, ready to help people who are using us.