I have Linux on my phone right now (I’ve finally switched from Apple -> Android). My terror of malware aside, it’s a delightful experience. I see people using Linux on their desktops/laptops, and it JUST WORKS.

This continues to amaze me. In the 90s, back when I started using Linux, one did not simply ‘install’ Linux.

I ran Linux as my desktop throughout high school (dual-booted) and, along with a brief stint with NetBSD, as my primary OS in college. Thinking back, I’m not sure why, other than a) I was cheap, and b) it was what the other cool kids on IRC were doing. Linux, as a desktop, unequivocally sucked.

You kids these days. You have it easy. Here are some of the things I remember fondly about Linux in the olden days that still trigger my PTSD:

1. Trying not to blow away your computer when partitioning your disk.

Ah yes. Most of us started our Linux journeys with computers that had Windows already installed on it. Despite what the free software hippies of the day said, you still needed Windows occasionally to do useful work (Open Office? lol). This was before the days of virtualization, so using both meant you literally had to physically reboot between your Linux and Windows installs.

Before you could install Linux, you had to re-partition your disk — i.e. resizing the space allocated to Windows so you had enough disk space for Linux. Then, configure a bootloader to switch between your operating systems. Then (if you were smart) you provided a burnt offering and prayed.

To do these things, you were forced to use arcane command line tools written by developers before the concepts “User Experience” and “Documentation” were invented. And if you were doing this on the family computer (like I was) you’d better not mess it up, or you’d have a bunch of angry people knocking at your door unable to log into AOL, or worse. Goodbye dad’s TurboTax records!

which option would you like? choose wisely. hope you didn’t like booting windows!

2. Nothing worked until you recompiled your kernel at least 10 times.

Sound? Video drivers? Networking?? Lollll. Nope. To get that device driver support you needed, you had to know how to recompile your kernel. Kernel modules were not really a thing yet, and they certainly didn’t come precompiled and ready for you on distro install. Remember, your ISOs took EIGHT BILLION YEARS to download on dial-up. We ain’t shipping no extra binaries.

Because of this, every install had a bespoke, monolithic kernel, crafted by you, like a special snowflake. Did you know what a kernel was before this? Or a compiler? Too bad. Go troll forums and mailing lists for what you need to enable when you run `make menuconfig`over and over again. Enjoy.

THANKS FOR THE HELPFUL GRAPHICAL USER INTERFACE, LINUX!

3. You want a GUI? Be prepared to edit XF86Config over, and over, and over again.

When it came to GUIs, Linux was especially stupid. Today, you can just plug in a display, and your operating system will automagically detect what display driver to use, and what resolution and frame refresh rate and horizontal sync range you need for your monitor. “Horizontal sync range”, you might say. “Are these words even words a computer user needs to know?”

xf86config tool. kill me

Well, you did. Because you literally had to configure this yourself. And beware if you chose the wrong values. Starting X windows would yield a weird distorted world where your whole UI was rendered in one third of your screen and oozed like a Salvador Dali painting. Or at worst, you ruin your monitor. Godspeed.

4. Your filesystem was a house of cards made of spiderwebs and magic.

Journaling filesystems. Two magical, magical words. Back then, when we were all using ext2, we did not have such luxuries. God help you if you powered off with the power button instead of issuing a clean shut down command, or say, hit the power cord with your foot, or the power cut out in the neighborhood, or you just looked at it weirdly when restarting.

Basically, just try not to reboot ever, ok?

Because on the next startup, your boot up process will halt mid-way, and your filesystem will barf screaming about inconsistencies and lost inodes and generally stomp its feet around pissed off. You will now be mounting your filesystem in read only and running fsck on the partition and saying, “there there now” in soothing tones until your filesystem is placated.

Or if you’re bold: start fsck with ‘y’ enabled, and go make a coffee. Come back when the command completes, and cross your fingers that it worked and didn’t just wipe out like, all of that code you wrote for that CS assignment due tomorrow. “FIXED THAT FOR YOU” — thanks Linux!

5. PPP

I did not just randomly type these letters. Suffice to say, back when we were all on dialup, you had to know what this was and configure it to get a modem to work and connected online, and like everything else it was a bitch to get working.

In conclusion

Linux today is awesome. You have no idea. THINGS JUST WORK. And hell: everything I develop is for Linux (via a Mac running Virtualbox).

You never know. This may be (for me) the year of Linux on the Desktop — all over again. ;)