The Switching Windows to Linux Experiment

(Beware of the many text)

For the longest time I have been a Windows user. My first computer came with Windows 98 SE (ignoring the Amiga before it) and I’ve used Windows as the main operating system for almost all that time since then. There was a brief excursion into the Apple world for about a year or two, but apart from that: Microsoft’s creation. It’s not that I have not tried using Linux, it’s just that for many years my needs could not be easily satisfied by a Linux based operating system. For one, I have always enjoyed PC gaming and I still do. I’ve tried going with a console, but that was one of the worst decisions I had made in 2019. There also was a long period where I had used my computer as a TV, a time where Youtube and all the other streaming services hadn’t existed. And although I had managed to get the TV tuners to somehow work, it was not comparable to the experience on Windows. For my use case, over all those years, Microsoft’s OS simply was the Vulkan choice. But now in 2020, this isn’t the case anymore. Things have changed, including the maturity of Linux as well as my own needs and my views. Therefore, it’s about time that I revisit this topic.

But before I continue I need to write a little disclaimer.

At some point last year I had decided that I would try to stay away from blog posts like this. Blog posts that do not really contain any factual content, like a coding how-to or a problem analysis or an opinion piece of something, e.g. one of my video game reviews. What I’m writing now is more like a brain dump, a way to express my thoughts on why I’m doing something – only to do the complete opposite just a short while later, as it has happened so often. I have a good idea, good reasoning, write about it and some time later it has all been thrown out the window for… other reasons. It makes me feel unreliable and hence I’d rather not share. At this point, it’s not like anyone really reads these pieces and cares about it. I get the most hits on a few specific programming related topics where I try to explain how to solve a problem. Long story short: for all the reasonable things I may mention in the following sections, this experiment may be doomed to fail from the start. I don’t want it to, but historical evidence suggests it might.

So, with this little disclaimer in mind, why am I writing this then? Bluntly, I’m certain I can get more content out of this topic (and I don’t mean just rambling). I want to have more content on my site and I want to publish more regularly. I need to get back into a groove and a Windows user switching to Linux might provide some low hanging fruit. I’m certain I will have to solve a few issues along the way and by writing about it, I can deepen my own knowledge and also help somebody else that has a similar question or is in a similar situation. That means, in the best case, I manage to stay on Linux and I can write a few blog posts in a From-Windows-To-Linux series. And if anybody were to go browse through a few of my blog posts, she or he would notice that I like to "talk" a lot – using written words. I like to explain, expand on the topic and provide the background and the reasoning for why I’m writing what I’m writing.

(Or maybe I should see a shrink instead…)

This multi-thousand word behemoth is the introduction into a series of blog posts on my journey to using Linux full time. And because I tend to write a lot, I’m separating my reasoning from the informational content so as to not obscure important stuff with rambling.

As I mentioned earlier, I’m not new to Linux. I had used Linux on the side when I started my internship to become a professional software developer. My first distribution was SuSE Linux (I can’t remember the full name and version any more) and I have also dabbled with Ubuntu, Gentoo and Arch, to name only a few. At one time, I had even patched and compiled my own kernel to push lower voltages to a notebook CPU – with good results and pretty satisfying as well. However, Linux never really managed to become my main system because my focus was always on gaming and multimedia, especially in my younger years. I still game today, but not as much. It’s mainly on the weekend, coop most of the time, and on vacations. Right now, I am actually more interested in the developer side of things and altough I can do that just as well on Windows, at least for what I am doing at the moment, Linux just feels more "right" for a developer. Putting that subjective feeling aside, I am not a Windows developer anymore, as I had been in my previous job. All of this server-side cloud stuff that I’m doing now is Linux based and it makes sense to become more acquainted with that platform on a daily basis to become more proficient. You might now think: "Wait a minute, bro. You just said a moment ago that you’ve compiled kernels and used advanced distros like Gentoo and Arch. And now you’re trying to tell me you are not proficient using Linux? What are you trying to pull here?".

That’s fair. But tinkering for the sake of tinkering is different from actively using a platform on a daily basis. I’m not afraid of the terminal, I know how to use Vi for the most basic things and I have a decent theoretic knowledge about the Linux kernel and the software that makes a distribution. I have, however, never productively used a Linux based operating system as a daily driver. I know the in’s and out’s of Windows and how to diagnose problems and monitor the system and the hardware. I have no clue how to do that on Linux. I’ve seen a few edge cases, like compiling a kernel, but that doesn’t make me an experienced user. I’m way past the basics, that’s for sure. But there’s much more to learn from simply using the operating system day in and day out.

That’s the intellectual part of the story, now comes the Windows rant everybody has been waiting for. But I’m not going to rant about Microsoft and Windows because that’s what you do. There are legitimate reasons besides Windows being closed source and crap and Microsoft is the devil. First of all, Microsoft is not the devil. The company has changed immensely and I honestly applaud them for their open source efforts. I think Microsoft has become a good citizen – mostly out of necessity, but you can’t argue with result. I am also not a Windows hater. Windows and I usually get along just fine. It does what it’s supposed to and it does it pretty efficiently.

Windows does have its flaws though and they have nothing to do with the look and feel, the core concepts and the resulting user experience. I could ding Microsoft for releasing a new version of Windows twice a year when nobody asks for that. Distros like Ubuntu do the same thing, so I guess I’m leaving this topic out of the discussion. What is a real issue are the ever-annoying updates. On my private PC I rarely run into problems because I shut it down when I’m done. If it wants to install updates, it does it then. When I know a new version is out, I usually actively trigger the installation to get it over with. Thus, Windows rarely ever wants to reboot while I’m using my computer. It’s a different story with my work laptop. I only shut it off friday evening. All the other days it’s in standby, or so you’d think. Once or twice a month, when I come into the office the next morning, none of the programs I had open the day before are there anymore. Windows woke the computer and installed updates. I have never lost any data due to this, but I have to open everything up again, getting my dev environment ready for work. It’s annoying. Yes, it’s outside of the working hours, but, it might stop a long running task that is supposed to do something at night. The only thing one can do to prevent Windows from automatically updating is to never let Windows connect to the Internet. Unfortunately, I couldn’t do my job then, with the cloud-stuff and all.

(Don’t ask why that computer runs Windows instead of Linux, that’s not the point.)

In addition to that, there have been a few updates in the past that have led to users losing their data. I’m not talking about unsaved content in open documents. I’m talking all data. That’s about the worst thing that can happen and that leaves a very bad taste in the mouth when you read stories like that. The quality of Windows updates has been very lackluster over the past few years and it certainly has to do something with the bi-yearly release cadence and internal restructurings that led to the QA team being let go. I guess we’re now seeing how well that went. Personally, I’ve been lucky so far, but for how long is that going to last?

(Trying to find some wood to knock on)

In preparation for this experiment, I went ahead and backed-up all of my data to multiple hard drives. I also have a copy on OneDrive because I’m an Office 365 user. My data is safe. While doing that, I noticed that Windows had redirected the "Documents" folder, which usually resides in the user’s home directory, to one of the OneDrive folders. I’m very certain that I did not do that. It was like that in the past, but not on this particular installation. And the worst thing about it: it was the wrong folder. Some quick background: I have two "Documents" folders. One is named "Documents", basically the default on every operating system, and one is called "Files". The latter is for the important stuff. It contains my files, the data that I create and maintain. The "Documents" folder on the other hand is used by everybody else that thinks it’s necessary to dump data somewhere. This includes applications like Visual Studio or games that write their configs and saves to "Documents". It’s not like there is no dedicated "Saved Games" folder. Oh wait, what do we have on this page? FOLDERID_SavedGames with the GUID {4C5C32FF-BB9D-43b0-B5B4-2D72E54EAAA4}. I guess there’s a better place for save games after all… And it’s been there since Windows Vista, so for a long, long time. But I digress. Long story short, Windows somehow thought it has to redirect the crap "Documents" folder to my "Files" and thus contaminated my data with all the other garbage. It took a while to clean up the mess and also to remove the redirects, manually – because Windows cannot undo some of its own creation. But I had to, because the SSD the data was on was supposed to become the Linux drive. To sum things up: Windows did something to my data setup and I hated it for it.

These are three rational reasons why trying to get away from Windows is a good idea. Not to mention that you cannot disable all the telemetry data that it sends to Redmond. I personally don’t think this is particular nefarious or a big privacy concern, I do mind though, that it cannot be disabled on the non-enterprise versions. I mean, it seams like the option is there. Why not just shut everybody up and provide it to all users?

But what about gaming? Well, although gaming on Linux has apparently come a long way, I will stick to Windows for now – simply because it just works. I like playing online coop games and some of them come with nasty anti-cheat and copy protection software. They either don’t work on Linux or they may think you’re a cheater and issue a ban. I’d rather not deal with that. In addition, this clearly separates gaming fun and productive coding and writing fun. Like a gaming console and a personal computer.

While I’m on the topic of what Linux has to replace, let’s quickly go over the list of things that I was doing on Windows and will now have to find a way to do on Linux.

  • Gaming: stays on Windows
  • Office 365: LibreOffice
  • OneDrive: rclone (separate blog post)
  • C++ with Qt: same on Windows as on Linux
  • Java: same on Windows as on Linux
  • iPhone: stays on Windows
  • Music: works everywhere

I think that’s the most noteworthy stuff. Let me share a few quick thoughts.

The Office applications themselves can be easily replaced by LibreOffice. I don’t particularly like it, but it gets the job done and it’s free. It might even have improved so much since I last used it heavily, that I’d even enjoy it now. I try to write in Markdown going forward, hence I don’t need Word anymore. [Although I like it’s spelling and grammar checks]( on-conundrum/). What I do still need is a spreadsheet application and LibreOffice Calc will do that just fine. I won’t be able to use the Office mobile apps any more, at least with OpenDocument files, but I don’t rely on them so it shouldn’t be a big loss. The bigger issue is the OneDrive sync. For me, this is a very convenient off-site backup. I’m thinking about not renewing this year, but until this day comes, I’d like to make use of it. I only backup to external drives maybe once a month and that’s because this convenient sync gives me a little piece of mind. I don’t change data much, so I have no automation as of yet. But, as you can see in the list above, I have found a hopefully good enough solution that will get its own blog post. One downer is the iPhone music sync. No, I don’t use any music streaming. I buy music on discs and then rip it to mp3 and then sync it to my phone. Fortunately, that’s not a task I do every day. While we’re on the topic of music: mp3 files work everywhere, that is not the issue, but I have an external USB sound card that drives my headphones. Luckily, this works out of the box, much unlike the internal version, the Soundblaster Z, that did not (about a year ago).

There you have it. I’m now officially starting my journey to move away from Redmond based operating systems to an open source system. Let the experiment begin.

2 thoughts on “The Switching Windows to Linux Experiment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.