I’m a long time Linux user, who switched to Arch in 2019. Here’s a bit of my history with operating systems.
I used this my trusty 128kb ZX Spectrum+. Given that I was 7 at this time, I mainly used this to play 48k (sometimes 128k) games. I would patiently wait 15 minutes for each of these games to load from my tape drive…
Once I retired my trusty ZX Specturm, I spent a few years without owning a computer. My high-school however had FOUR BBC Micro computers, which we were allowed to use once we reached 9th grade. I wrote a typing tutor program on this, riddled with spelling errors.
When we reached 11th grade, we had FOUR 8088 PC’s which were available to us. None of the computers had a network connection, or hard disk. Each of us carried our trustable 5 1/4″ MS-DOS floppy, and were required to write our high school projects in GW Basic. I occasionally got my hands on a 286, and played Solitaire on Windows 3.1.
Once I went to college, I got a 386 (33Mhz, 2MB RAM) for myself. I still didn’t have regular internet access, and didn’t even know what Linux was. I’d mainly use my computer to play games. I think my favourite games was “The Secret of Monkey Island”, it’s sequel, and Full Throttle. I also enjoyed playing Prince, Prince II, Mortal Kombat 4. Though I would spend most of my time running “Speccy”, a ZX Spectrum emulator, and playing all my old favourite Spectrum games on it.
I got my hands on the DOS based “Turbo C Compiler” and wrote a C program to play Othello. However I quickly lost interest in C programming, and learnt assembly in order to write a “proof of concept” virus, that would not be detected by the current virus scanners. (Of course, I never circulated this virus.)
I’d also become extremely proficient in re-installing Windows after a crash. On our college computers, I’d sometimes do this two or three times a day. One of my friends did this on a system that was in use during a live event.
I sold my old Windows computer, and moved to the US for grad school. The department had a number of computers with Redhat on it (they were later upgraded to Fedore Core computers). At this time I was tired of the blue screen of death, and a clunky GUI which I never really cared for anyway. So when I saw a vanilla Linux console login on the department computers, I was quite eager to try it out.
After a little RTFM’ing, I really really liked Linux and would only use Windows very rarely. Sometime in 2003, I went to two talks at the university which completely changed my computing habits: The first talk was by Richard Stallman. He was quite amusing and gave a very nice talk. After listening to it, I followed his advice, swore to never use Windows again. The second talk, by Steven Wolfram, had the complete opposite effect on me. After Wolfram’s talk I swore to never participate in any project affiliated with Wolfram, and completely stopped using Mathematica!
Sometime in 2004, I scrounged up spare parts from the department and assembled an AMD K6 based machine (500Mhz, 256MB). I immediately put Gentoo on it.
What I really liked about Gentoo was the configurability, and the interface. I could configure most everything by editing a beautifully syntax highlighted file in /etc. I doubted I would get any real speed boost from Gentoo (especially since most of the time my box was compiling updates), but I wanted the tweakability, and to learn the inner workings of Linux.
While I enjoyed my first couple of years with Gentoo, my free time was becoming more and more scarce. I eventually switched from my AMD K6 desktop to a 1.6Ghz Intel Pentium M laptop, and I my machine spent 3 days initially installing the OS.
In 2007, I decided to buy a Tablet PC (the HP 2710p). This has a Intel Core 2 U7600 (1.2Ghz) processor, and when I bought it required the very latest and greatest kernel and Xorg to get most of the hardware (esp. wireless) working. This is when I was quite thankful to have Gentoo. Since on Gentoo I would use gentoo-sources, and compile my kernel anyway, it was quite easy to switch to the upstream vanilla kernel sources and put the latest greatest GIT sources on my box (2.6.24/5 at that time).
After reading countless forum posts, and writing a patch for the Wacom drivers, and pulling a few GIT patches for the X server, I finally got everything on my precious Tablet PC working in Gentoo, and was quite happy with it for a few months.
Then came the downfall of Gentoo. I never had the time, to run regular updates. I could of course do the compilation at night. However each update in Gentoo meant also runing , and editing the new config files by hand. This usually involved a fair amount of RTFM too. Consequently I would run updates only once every 4–6 months.
Now updating every 6 months in some distributions (such as Debian) not a problem. But in Gentoo, updating every 4–6 months meant your compile time itself was at least a day or two. Further, such large updates, compilation was expected to fail in places (and certainly did), at which point one would have to RTFM, look up forum posts and beg for help on IRC to get past these issues. To make things worse, after running a day of updates, Gentoo would update a critical library used by numerous packages, and you would have to spend another hour or two running to recompile those packages. But all this is only the easy first half of the battle! After your updates are compiled, you have to RTFM and for all the config files.
At this point I’d come a full circle. What I now really liked about Gentoo was the configurability, and the interface 😄. I decided to stop updating my laptop except for security advisory’s. I also bought a server at home, and decided to switch distributions. After considering Slackware and Ubuntu, I went with Debian.
I initially installed Debian on my (headless) server at home. It took me a little time to get the installation going — I didn’t have a CD drive, and the online docs weren’t too clear on how I should get started from my USB drive. But when I got started, the installation was a breeze! I was up and running in an hour or so. It took a little bit longer to configure the system (firewall, WiFi hotspot/home router, Time Machine backups (for my wife’s computer), etc.). I was a lot happier with Debian that I was with Gentoo.
Finally, I reformated my tablet’s hard disk and switched even my tablet from Gentoo (32bit) to Debian (64bit), and it was quite easy to get all my hardware working since all the hardware now had upstream support. Here are the notable differences I’ve seen so far,
All in all, I was very happy with Debian. I got a new laptop in 2016 (Lenovo X1 Yoga, i5 6300U, 8GB RAM), and Debian installed painlessly on it. I thought the switch was permanent…
Welp. It wasn’t permanent 🙄 10 years with Debian, but I had to switch. One of my constant annoyances with Debian was the long release times, and how long it took for upstream changes to make it into Debian stable. I tried switching to Testing, but that wasn’t as stable / usable as I would have liked. I decided use testing for packages I absolutely had to have the latest and greatest versions of, and use stable for everything else. This made the system a little harder to maintain; but wasn’t a deal breaker, so I wasn’t considering switching.
The deal breaker, unfortunately, was a Kernel bug that affected my laptop sleeping. It was fixed in upstream, but hadn’t made it into the Debian kernel yet. My kernel compiling days were long gone, so I needed to use one of the distribution kernels. Given my annoyance with the long release times in Debian I decided to distroshop. After considering Slackware and Ubuntu, I went with Arch.
The migration wasn’t too bad. Most of my time was spent migrating from Debian’s networking scripts to and . My Docker containers and everything else moved over seamlessly.
After using Arch for a few years, my biggest complaint is the fact that Arch is minimal. And neutral! For most major things Arch doesn’t have a default. It lists choices, and gives you excellent documentation; but the choice is yours to make. Here are a few examples when this caused me some grief:
Interestingly, the one place that Arch did choose a default, and did so definitively, was in the init system. Arch choose systemd back in 2012 for reasons that are beautifully explained here.

