Escaping Windows Part 1: The Why

Well, it has finally happened. I have officially eliminated the last full-time Windows device on my network. This is something I have been striving for for nearly 2 years now, since the release of Windows 10. So, in honor of this momentous occasion, I thought I’d talk a bit about what it took for a long-time Windows power user to jump ship in favor of Linux.

Of course, the first thing I need to address is why I would want to stop using Windows, anyway. It’s ubiquitous, well-supported, and holds a giant lead in the computing market share. Well, especially as a software developer, a large part of this has to do with the process for updating software. The first time I took a look at Ubuntu (way back in the yester-year of 2012), I was amazed at how simple and elegant the system for installing and updating software was. The centralized software repository and package manager made it a breeze to install most software that I would need, and updating all of the software on my computer could be done in one command.

That’s right, Windows users. No more annoying “would you like to check online for updates” dialog boxes. Now I update my entire computer in one go:

sudo apt upgrade -y

After tasting the elegance of centralized software, rebooting back to my daily driver, Windows 7, and being prompted to update Java for the 9 millionth time seems all the more ridiculous.

What’s more, since the Linux kernel updates are distributed in a similar way, this means that most operating system updates are also installed through that one command. Also, as someone who likes to remote in to my computer, I was amazed by how infrequently I had to restart Ubuntu. Software could be installed and configured without a restarting, the OS could update, and, short of a kernel patch, the computer would continue to run. (Nowadays, even kernel patches can be done live.) This means that I no longer have to wait fifteen minutes for my computer to install updates before turning off…

On the subject of uptime, I have found that, by a huge margin, Linux is more stable than Windows. Every Windows user has experienced it. That heart stopping moment when the mouse stops working, the cursor stops blinking, and then bam! everything disappears and you are greeted with the famous Windows BSOD.

All of that combined with a host of small usability tools that make Linux feel faster, more efficient, and just generally more fun to use (like SSH. or an interactive shell of any kind, for that matter. Seriously, Microsoft. You really expect me to believe that PowerShell is the best you can do?) But, all of this combined still wasn’t enough to convince me to make the switch. I could overlook the occasional crash and could ignore the Java update prompts if it meant I didn’t have to go through the hassle of converting my entire Windows Active Directory domain, file server, DHCP and DNS servers, and CloneDeploy server over to Linux alternatives, and I begrudgingly continued to use Windows as my main platform until 2015.

What happened in 2015? I’m glad you asked.

2015 brought us the release, and subsequent forced-install of Windows 10, Microsoft’s latest testament in their inability to properly count. Windows 10 takes the credit for being the thing that finally convinced me to get off my proverbial high-horse and make the change. Waking up one morning to find that my computer had, without my approval, updated itself to Windows 10 was an unwelcome surprise. As someone who likes to tinker, this update had broken a lot of tiny customizations I had made to my environment, from registry settings to custom shell mods. Instead, it replaced my beautiful Windows 7 start menu with a buggy Metro-esque interface without a working search bar. While many of those issues have been addressed, Windows 10 also greatly expanded the operating system’s phone-home capabilities. As someone who is fairly concerned about my digital privacy, learning that even when I had supposedly turned off these features, my computer was still sending data back to Microsoft was the final straw.

Since then, I have been on a quest to eliminate Windows from my computing network. In the next part, I’ll talk more about what this transition looked like, practically, and why it took so long.

Hi, there. I’m a software developer and speaker who likes to make things: https://garrettmills.dev/