Behind the Looking Glass: How I Stepped Out of the Interface and into the Shell


We as humans are drawn to shiny objects. They draw our attention naturally. I remember as a child, when I first saw a television, I was immediately drawn to the screen and I just wanted to see the images flashing and changing. As an adult I’m gradually beginning to see how powerless I truly was in this regard.

I first put my hands on the keyboard of a computer when I was probably 5 years old. The elementary school I was attending had built its very first Computer Lab! It was something unheard of and we couldn’t wait for that half-hour every day when we would be allowed to make pictures using MS paint or play simple video games.

That initial foray into computing developed into a fascination with computer games. My parents bought a personal computer when I was 8 years old. We were one of the first families on the block to have such a privilege and it was just a few years before the dot-com era and the internet was still only just taking off. The company that set up our computer installed some free versions of games for us. They used to be called ‘Freeware’ or ‘Demos’. They’re not much of a thing these days but I remember playing the same demo over and over again and never imagining I would play the full game because my parents would never allow spending any money on that type of thing.

My fascination with playing video games eventually lead me to figuring out ‘cheats’. I discovered that games had hidden mechanics you could activate by learning secret combinations of keys and phrases or commands! The first one I learned was ‘megahit’. If you typed this while launching the famous side-scrolling platformer “Prince of Persia”, it activated the ability to increase your total hearts and even resurrect from death!

It opened my eyes to the existence of a world behind the curtain. The world I was experiencing in a video game was created by someone else and they had setup backdoors for the curious to access and take control over the games that normal players were not supposed to! This was happening in the backdrop of movies like “The Matrix” being released and I was hooked!

I watched the world evolve and change as computers entered the mainstream and became a part of our daily lives. Our schools and colleges, banks, hospitals and every other institution was soon being run by computers. And soon, these computers would all be able to connect to “The Internet”!

It was magical to watch as messages from my computer could be relayed across the globe in the blink of an eye. Growing up, the idea of a ‘pen-pal’ meant writing physical letters on paper and waiting weeks or months by the mailbox for a reply from someone on the other side of the world. Now, through an early web directory, I was suddenly exchanging instant emails with a schoolgirl my age in Turkey, wondering what her neighborhood was like. It was an age of innocence—though looking back with what I know today about the web, I sometimes wonder if she even truly existed.

With the advent of the internet came social networks. Nowadays these are just called ‘Social Media’. But in the past, these started out as networks where you could build connections to other people that you knew (either in real life, or just as penpals like I described before). You could log-in to your social network account and go check the pages of your friends to see what they were up to or leave a message to them, for anyone to see! No one really thought about ‘privacy’ at this time. Like I said, it was an age of innocence.

Although we might have been ‘innocent’ participants or users of the social network, we were going to be in for a rude awakening. Gradually social networks took over and replaced many of the physical gatherings. People started to become closer with other people they had never met but shared some type of allegiance or special belief with. You didn’t have to hang out with friends in your city around you anymore if you could just log-in and message only the friends that cared about some niche topic you were interested in.

This happened slowly and I think we were slow to realize this. The social network that promised to bring us all together and connect us more than ever before was really pulling us apart. This was also the moment that social networks started to transition in to social media. We began to see the rise of ‘feeds’. You no longer were looking at only the posts from your friends. Instead when you logged in to social media, you would see messages from your friends interspersed with ads and ‘content’ created by folks who could pay to have their posts presented to you. You would be looking at a cute picture of your friend’s cat in one moment and be told to go vote for a particular candidate in an election in the next one! There were no rules.

The story after this has been told countless times now. Social Media and influencers disrupted how ads and marketing worked and soon they were adept at capturing your attention. Making you stay glued to your screen while each post kept you hooked. Only for you to be served ads and agendas without your control. Cory Doctorow explains this platform decay cycle in his writings on “enshittification.”1

Somehow as this was happening, I rediscovered the ‘terminal’. It started out as just a curiosity. I wanted to learn how to use ‘vim’. I’d been a computer programmer for a few years at this point, but I had only ever written code using an “IDE”—a heavy desktop application crowded with sidebars, buttons, and menus. I didn’t really grasp how engineers had written code before those complex tools existed. I just assumed you always needed a GUI (the graphical user interface of windows, icons, and buttons). So, I fired up ‘vimtutor’ and slowly the curtain began to fall back once again, Just like it once did when I discovered cheat codes for games. I realized that modern apps and programs are all wired up by simple scripts and programs that can be inspected, run and tested from a terminal, using simple commands and tools like Vim. I had opened another backdoor.

The GUI, the apps, social media, the ‘feeds’—these were the new video games that were grabbing your attention. The developers don’t bother creating any cheat codes. The cheat code is to simply figure out that you don’t need these apps. True freedom in computing comes when you learn how to use the terminal and use the commands that you can install and run on the terminal. GUI tools can be used sparingly, for just a few use cases where you need them.

You can walk away from the attention sucking highly designed world of clever UIs and flashy images. Instead you can walk into the welcome embrace of the ‘cursor’. It just blinks, and waits, for your intention. It doesn’t demand your attention and it doesn’t do anything until you ask it to.

It might be daunting at first. But I now firmly believe that to truly learn how to use a computer, you must start at the terminal and learn how to use a simple text editing program like vim. From there you learn how to write ‘configs’ for that program or ‘scripts’ to do simple things on your system or more complex programs that can be executed and run indefinitely or on a schedule.

We are now entering an age of AI. There is no better time to begin this journey. My mission with this blog is to guide you along the way. You will realize that many of the ‘convenient services’ that you pay for are easily replaced with better alternatives that you can run on your own hardware. You will re-learn how to store and manage your own data, away from cloud services and breathe a sigh of relief when you read in the news about the next data breach because your exposure will be minimal. Most importantly (I hope) you will learn that a computer is a tool for creation, rather than just an algorithmic trap for consumption. The real world is outside and around you. You cannot enjoy your life to the fullest without exploring that real world and that is the only world that matters.

I hope you will enjoy this and that it will benefit you.

Footnotes

  1. Cory Doctorow, “Enshittification,” See: https://craphound.com/category/enshittification/