Moving to the Dark Side: Linux vs. Windows from a Windows guy


For the last few months, I have done something that many of my geek friends would never have imagined: I have spent 90+% of my computing time using Linux. This is a huge deal for me for many reasons, but one of the biggest is that I have railed against Linux in the past. Furthermore, I do not retract my rants, and predict you will see more in the future. However, over time, my hate-hate relationship with Linux has migrated, first to love-hate, and mow mostly just love. So here’s a brief review.

First, I have spent most of my time on three distros: CentOS 6.4, Mint 15, and Ubuntu (12.04 and 13.04). So all of my observations are based on an admittedly narrow, primarily Debian-based experience. I’ll give a brief overview of my thoughts on each of these individual distros in a moment, but first let me give my general impressions of Linux.

First and foremost, my overall impression of Linux can be summarized as: Almost infinitely configurable and modifiable, but unpolished and buggy. Now I want to add on to that with some general observations in no specific order, and since I think in bullets, that’s how I’ll present my observations.

On the plus side:

  • Linux is very easy on RAM. For instance, right now I have 324 processes running (using command ‘ps -eaf | wc -l’), including an Evolution email client with a 30,000+ message mailbox (a little under 2GB in size) open, and I am using only 3.9 GB of RAM. 
  • The ‘everything as a file’ model is really liberating once you get used to it. For example, you can ‘query’ the status of hardware by using the ‘cat’ command against the correct file path. 
  • The complete openness of the OS and its components means you can probably find an app or script to do almost anything you want. And if you can’t, you can always code it up yourself (or hack something together from code used elsewhere).
  • RAM used for caching is much less obtrusive than in Windows. While both OSes cache things they think you will need to RAM preemptively, Linux does so in a way that, from a user perspective, seems to work better. For example, I can think of many, many cases where I’ve had to use RAMMap to clear out cached RAM in Windows 7 to get the system to allocate RAM correctly to applications, but I have yet to see a case in Linux where this is a problem. 
  • User definable, open-source full disk encryption solutions are free and built-in (more on this later).
  • The package management scheme is, in general, awesome. I like how all I have to do is add the repository and app, and it will automatically install the necessary dependencies, put it in the right places, set all the correct permissions, and autoupdate from then on. This is something Windows could really use, because God knows I’m sick to tears of installing the Goddamn .NET framework for every stupid app. 
  • It’s pretty much impervious to viruses and malware. This is largely a function of obscurity, as Linux holds (at most) 2% of the desktop market share. Sure, Linux also (largely) makes you ‘sudo’ before doing anything damaging to the system, but this relies on users not being idiots, which is only true for Linux largely because the only people who can be productive on the OS are technical people. In other words, I have to give Linux a nod for being impervious to malware, but since this is largely a function of the OS being ‘end user hostile’, it’s a very reluctant nod.
On the minus side:
  • Linux is buggy. Anyone who tells you it’s more stable than Windows is either delusional, poorly informed, or a true believer ™. Some of these problems are driver related (just like Windows, actually), but a lot of them aren’t. If you get super upset at every app crash, you should probably stay with the sheeple and use a Mac. 
  • Linux is unpolished (though Ubuntu has mad a lot of strides here). Lots of things don’t work exactly as expected, and options are often missing from apps and sometimes from the OS itself. This is, actually, part of its charm for those of us who despise Apple largely because of their tendency to overpolish to the point of constriction.
  • Gaming on Linux mostly sucks. Steam and (to a much lesser extent) GOG are making strides towards improving this, and tools like Unity3D make it much easier to port games to Linux, but the current state is pretty sad for Linux gaming in general. 
  • Driver support is getting better, but your first step before buying any hardware for your Linux device should still be to check for driver support. Sadly, Linux is behind Mac on this front. These problems are exacerbated on laptop hardware as well.
  • There is a huge lack of commercial apps on Linux. Again, this is improving, but you will likely still need a Windows or Mac box for critical apps. Luckily, you can use Wine or a VirtualBox VM to resolve this in most cases. 
  • Enterprise network solutions are still very primitive compared to the competition. In my opinion, there is no comparable solution in Linux for AD/GP that just works out of the box, and Linux’s implementations of DNS (BIND) and DHCP are clunky comparatively.
Additionally, there are some comments I’d like to make regarding some specific distros:
CentOS: CentOS is a free version of Red Hat Enterprise Linux (RHEL), and is designed to be highly stable for an enterprise business crowd. I worked with CentOS in a VM for a few weeks in relation to a side project I am working on, and I’m not hugely impressed. Overall, I prefer Ubuntu LTS on the server side to CentOS, but I’ll admit that this is mostly a preference-based decision. 
Mint: My initial impression of Mint was that it was ‘Ubuntu, without all the shit that makes Ubuntu suck’. However, this is based on my experience with older versions of Ubuntu compared to Mint 15, which is the latest version of Mint. Mint is a very user friendly (for Linux, anyhow) version of Ubuntu that makes it really easy for Windows users to break into Linux. However, it doesn’t seem to have the same user base volume as Ubuntu, so you often have to expend more effort to find solutions to issues.
Ubuntu: Ubuntu, especially when using Unity, is without a doubt the most polished Linux distro I’ve used. I’ve installed it on three laptops, a few VM’s, and from a few cloud providers (including Amazon), and it’s been a mostly pleasant experience. Again, however, this is partially due to the huge install base and user base. Unity, in particular, is a hot topic for Linux people, but I mostly enjoy it. It is a bit on the Apple side of the fence, limiting configuration options in favor of polish, but so far, it has not gone too far in that regard. One thing I hate, however, is the capitalism rampant in the UI. From paid software suggestions that can’t be filtered out to the Amazon search built in, it’s kind of sickening. You can easily remove the Amazon add-on, but the paid apps cannot be filtered, which is a huge letdown. This annoys me so much that I have vowed to never buy an app through Software Center. If I find an app I like enough to buy, I will go out of my way to buy it through a different channel, just to keep Canonical from getting the money. Annoying users is never a good path to profitability.
So what’s my final analysis? Well, I’m still using Linux daily for my primary OS, and in fact just bought a new laptop for that purpose, but the answer is more complex than just ‘Linux is better’. It turns out that Linux is a very good OS for certain things, and is livable enough to be my primary OS on my laptop, but that’s not enough to make me switch. What actually made me switch was two allegations and the general thrust of the evolution of Windows.
The two allegations that I am speaking of are these:
Neither of these are bulltproof, though the first one is pretty substantial, but both are worrisome enough to make me distrust Microsoft. And coming on the heels of Lavabit and Silent Circle killing their encrypted email over NSA pressure, I have no confidence in the security of any closed-source computing software or service in the US, including Microsoft. After the PRISM allegations, I wanted a solution for full disk encryption that the government did not have a key for, and Linux is the best bet for that use case.
As far as Microsoft’s general direction regarding the Windows OS, I am highly disappointed. Each revision of the OS sees tighter lockdowns on user freedom, all in the name of security and user friendliness, while introducing new features that no one wants and arrogantly refusing to change. Each revision, I see more and more Apple influences, and it makes me want to scream ‘Get the Mac out of my Windows!’ Perhaps Microsoft will begin catering to the core user base again now that Balmer has finally been forced out, but I’m not holding my breath. Instead, I’m moving to a platform that at least allows me to change the parts of it that suck. 

  1. No comments yet.
(will not be published)