website/content/posts/computer-problems.md
Anthony Wang 850dbdda70
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Add an essay from a long time ago
2022-05-20 15:24:55 -05:00

17 KiB
Raw Blame History

title date draft type
Computer Problems 2020-09-15 true page

Originally unpublished

“Imagine if every Thursday your shoes exploded if you tied them the usual way. This happens to us all the time with computers, and nobody thinks of complaining.” I think this quote, from the computer scientist Jef Raskin, perfectly encapsulates how we all feel about computers sometimes, especially considering the increase in technology usage thats been forced on us by COVID-19. When computers work: yay, everythings great! But when they dont, we are too often left helpless without any idea how to fix it, trapped in an infinite maze, wondering, why couldnt the developers design it better? How am I supposed to fix it? Adults often see young people as being tech-savvy and good with computers, but even my computer breaks much more often than I can tolerate. And I dont mean the actual physical components of my computer, which are quite resilient and havent had any issues for the half decade that Ive used it. No, its the software, the stuff that doesnt really physically exist, that gives me problems all the time. And one of the prime suspects was Microsoft Windows.

You may have noticed the ominous use of past tense in that last sentence, but Ill get to that soon. Anyways, lets be honest here: Windows sucks. Ive been a lifelong Windows user for at least the past ten years, but Windows 10 in particular has just been one hot mess after another, whether its the disastrous Windows updates responsible for the majority of my breakages, or the sweeping amounts of my personal data that it collects, or forcing Microsofts own Edge browser on me. So, after yet another catastrophic Windows update left me frustrated, troubleshooting my broken computer for two hours, I decided to switch operating systems to Linux.

Youre probably thinking, wait what? How can you switch operating systems and whats Linux?

Like most people, I had viewed operating systems as something that just came with my computer. If I want to use Windows, I get a Windows computer. If I want to use MacOS, I get an Apple computer. If I want to use Linux, whatever it is, I get a Linux computer? Not quite. Although there are quite a few companies selling Linux computers, most Linux users install it onto a pre-existing computer. I had always perceived the Windows on my computer as something static set in stone at the factory, but computers are flexible pieces of silicon; they arent just limited to whatever OS they came with. After all, the OS is software: its malleable and changeable.

And for the second question: like many people, I only had a faint idea of what Linux was, discouraged by its reputation as a curiosity for nerds and hackers. But what really is Linux? For that, we need to take a short detour through history.

In 1983, a thick-bearded MIT programmer named Richard Stallman was feeling uneasy about the growing number of software developers and publishers who were hiding their source code, hoping to sell their software and make millions. Some background for those who arent programmers: source code is the stuff that people write. It usually looks like random English words with weird symbols mixed in. For example, a simple program could be print("Hello, world!"), which is not hard to decode what it does. But computers cant understand that! It just looks like a meaningless jumble to a computer. Computers can only understand a very basic language consisting of only ones and zeros. If we translate the program above into a computer language, we get basically a bunch of seemingly random ones and zeros. Can you understand that? No, and only a few very smart and clever people can. Anyways, software developers were keeping the code to themselves and giving the users the ones and zeros to run on their computers. So what was Stallman concerned about?

Richard Stallman once said, “If the users don't control the program, the program controls the users. With [closed-source] software, there is always… [an] owner… that controls the program—and through it, exercises power over its users.” In particular, he was frustrated with the lack of a completely free and open-source operating system. So, he and a small team of volunteers set off on an impossibly difficult mission: to create a new open-source OS, called GNU, completely from scratch. Fast forward to 1991, and they had almost accomplished their formidable task, with only a single component left, and it would finally be usable. However, development of that final component stalled. But fortunately, an independent Finnish developer named Linus Torvalds created his own open-source replacement for the final missing component in only a few months, which he named Linux. Now there was only one step left: package it all together so people could start using it. Stallmans GNU team was still committed to finishing their version of the final component,1 but since the project was open-source, other independent people and groups took on the job. Their packaged versions of the GNU operating system plus the Linux component were distributed on the infant Internet and became known as distributions, or “distros” for short. Unfortunately, most of these groups neglected GNU, so the OS became known by the misnomer “Linux.”

During this time, another OS, Microsoft Windows, was rapidly rising. By Windows 95, Microsoft had managed to squeeze out almost all of their competitors from the market, and the US government actually sued them for creating a monopoly. But its ascendance to domination was not the result of shrewd business tactics or brilliant innovation on the side of Microsoft, but the mistakes and blunders of its many competitors such as Apple which fell to record lows in the 1990s. Since then, Windows has been in a sort of unstable equilibrium, with competitors such as MacOS, Linux, and mobile devices attacking from all sides.

In 1999, a few years into the Windows era, a science fiction author, Neal Stephenson, wrote a meandering and thought-provoking essay titled In the Beginning... Was the Command Line, exploring the rise of Windows and the fall of its competitors.2 In the essay, he also pointed out two rising stars, one of them Linux, and predicted that “ten years from now, most of the worlds computer users may end up owning these cheaper OSes.” It was a bold prediction, and he was right—but not a way that anyone could expect. Today, the most popular OS in the world is Android, which is based on Linux, and Linux also dominates in the area of servers (Phones are just pocket computers and servers are just giant computers). But in one area, Linux has curiously never gained a foothold, even thirty years later, the one area that it was originally designed for: laptops and desktop personal computers. Why?

Well, look back at my own experiences. Installing Linux nowadays is not hard, but I just didnt know that it was an option for me. People simply just dont know or recognize that they have an alternative. In my experience, Windows and MacOS definitely do “just work” 99% of the time. And many people are satisfied with that and dont want to go through the fuss of installing another OS. But for 1% of the time when it fails, it fails miserably, and the closed-source nature of these operating systems often makes it extremely frustrating for me to fix anything. With Linux however, my OS does not work 99% of the time, maybe more like 90%. But with a little bit of effort and perseverance, I can fix almost all of the remaining 10%. If I encounter a problem, someone else has probably had it before, too, and the Internet has made it extremely easy for people to share their solutions. I typically start by firing off a Google search for my problem which provides me with a whole list of Wiki and forum links, and it usually takes only one or two of the links before my problem is solved. That said, Linux has definitely increased my computer problems, but now they are also much easier to solve.

Theres another commonly cited reason for Linuxs low market share, illustrated by this question that every brand-new Linux user has: Which distro? Linux is free and open-source, so anyone can make their own distro, resulting in hundreds of distros, each with their own idiosyncrasies, to choose from. Its confusing, even overwhelming. Having five alternatives might be healthy, but five hundred is excessive fragmentation. This is especially a problem for app developers who are forced to make a version for each of the common distros, further disincentivizing developers from targeting an OS that already suffers from chronically low market share. A lack of apps leads to fewer potential users of Linux, which in turn discourages developers from making Linux apps. Low market share perpetuates low market share, trapping Linux in a vicious Catch-22. In my personal experience, this has gotten somewhat better, and I didnt have too much trouble finding the apps that I used on Windows. But even when there is a Linux version of an app, Ive seen that they usually are the lowest priority for the developers, and they often end up less featured and supported. Consider the Linux version of Zoom: it still does not have the thumbs-up and clapping reactions that are on every other platform. I cant even see them when other people do them! I feel excluded. And its not just random indie publishers, many significant and important apps like Microsoft Office and Adobe Photoshop are simply nowhere to be found on Linux. There are alternatives, but they just arent the real thing.

However, some also consider fragmentation to be Linuxs biggest strength. I started out with a Linux distro called Ubuntu, but I didnt really like its default desktop interface. Now if this was Windows, and I hated its ugly flat desktop interface, theres not much I can do about it other than whine to Microsoft to change it. But with Ubuntu Linux, I just installed a different desktop interface that I liked better. Whoa, you can do that? Its as if I swapped out Windows desktop interface with MacOS. Or consider having over five hundred distros: yes, its a huge pain for app developers, but on the other hand, there is truly a distro for every possible person. Total beginner? There are dozens of “beginner-friendly” distros, like Ubuntu and Android (Yes, Android is a Linux distro, and you can install it on your computer), rejecting the common misconception that Linux is only for geeks and nerds. Worried about your privacy and Big Tech spying on you and stealing all of your data? There are distros for that. Ultra control freak who wants to configure everything yourself? There are distros for that. After a while of using Ubuntu, I got tired of its supposed “user-friendliness” which sometimes got in my way and decided that it wasnt my thing. So, I tried another distro, the one that Im using right now, called Arch Linux, with more of a do-it-yourself user-centric philosophy. And so far, its been a much better fit for me. Its not fragmentation, really, thats the strength, but rather the flexibility and freedom that results from it.

In 2000, if you wanted to use Linux, you had to hand-pick all of your computers parts yourself or else it wouldnt work. Nowadays, most hardware has decent support—my computers hardware pretty much worked out-of-the-box—but the unfortunate truth is that Windows support will always be better. After all, the hardware manufacturers need their hardware to work with Windows, and other operating systems are just an afterthought. Its the thousands of volunteers around the world who labor to support every single piece of hardware out there. This is definitely not a fair fight: its a few thousand independent volunteers against one of the largest companies in the world with the support of almost all computer app publishers and hardware manufacturers. Theres a recurring theme with Linux: anything that Windows does, Linux has to do it ten times better and has to innovate, in order to stand out and convince people to switch. Linux may be free, but you do have to put in the time commitment to learn the ins and outs and quirks of Linux.

I have a friend who recently tried Ubuntu Linux. He was initially impressed with it, but a whole load of problems plagued his system. I suspect his hardware may have been the cause of much of his issues, and he simply didnt have the time or motivation to troubleshoot his problems. A few days later, he was back to Windows 10. But I also suspect there might be another reason to blame: he tried to avoid terminals at all costs, and in the Linux world, thats just not something you can do. Even a mundane task like enabling hibernation requires at least half-a-dozen terminal commands on every distro that Ive seen. Maybe he was afraid of destroying his computer with one command, which is definitely possible, but thats an overexaggerated fear. I was also hesitant to use terminals at first, but I gradually saw their usefulness and became accustomed to using them.

Switching to Linux is hard. At least for me it was. Years of work have been put into making it as effortless and seamless as possible, but as you saw with my friend, things can still go wrong. Heres roughly what it looked like for me, a typical experience: First, I needed to pick a distro out of the hundreds out there, but for absolute beginners, Ubuntu is a solid choice. Installing Ubuntu might be a bit challenging for a beginner, but there are plenty of online tutorials to hold your hand while youre doing it. Anyways, after I had the OS installed, it was time to install my favorite apps. Ubuntu has an app store—yes, app stores are one of Linuxs most impactful innovations, way before they phones started using them—or I could use the command line to install apps. For the most part, this went smoothly, except for a few such as Microsoft Office that had to find alternatives for. Ubuntu is often said to be a good distro for Windows and MacOS refugees to ease the transition to Linux, but for me, it wasnt easy. I guess if you spend all of your hours in a web browser, you might not even notice the difference if you switched, but I was well accustomed to Windows. In the beginning, I would mash Windows keyboard shortcuts before realizing why they werent working. I had to learn to use Google to search for my problems and read forums to find fixes. And I had to get comfortable with opening up a terminal and pasting a few commands in.

Maybe this is sounding like too much for you. No one has infinite patience, and I get frustrated too when theres just so many things to fix. Every time I update my current Arch system, Im always nervous that its going to cause everything to fall apart and ruin my fine-tuned OS. Sometimes, I just wish my OS would “just work” like Windows or MacOS. You may have noticed that Ive bashed Windows much more than MacOS, but honestly, many of my critiques are simply less effective against MacOS. Sure, MacOS is less flexible and its closed-source, but its actually just Apple polish over a Linux-like core. It has a much larger market share than Linux and isnt fragmented into hundreds of distros, which gives it a solid app library, with many apps exclusive to MacOS. If you want the power and flexibility of Linux and the “just works” of Windows, MacOS is a fine compromise.

I had written this essay twenty or ten years ago, it would have looked very different. Linux has gone a long way since its first releases nearly 30 years ago, but it still has a long way ahead on the road to mainstream adoption. Theres always been people saying that the domination of Windows has its days numbered since the 1990s, but theres just never been a compelling alternative. MacOS has always been restricted to only Apple computers, and Linux, even in 2010, was still not mature and ready to accommodate mainstream adopters. Switching to Linux was hard, but it would have probably been almost equally hard to switch to MacOS. App support is also getting better: I didnt have much trouble installing my favorite apps, and even the ones that werent available for Linux had compelling alternatives. Based on my experiences, Linux is right at the cusp of mainstream adoption, with just some rough edges that need to be smoothed out. The data at least seems to suggest that Linux adoption is growing fast. More and more computer manufacturers are beginning to ship computers with Linux preinstalled. Theres just one obstacle that Linux still needs to overcome: peoples perception of it. I know that I used to think this way, but Linux is really not just something for geeks and hackers—you might even already use it, if you have an Android phone! And I hope that my personal experiences have helped you, the reader, recognize that, too.3