Anybody who has sat with me in front of a computer might have heard me randomly ranting at Windows. Sometimes I fear I am not qualified enough to rant in such a way. Sometimes I’m reminded anyway that no rants are enough in this matter. Either way, the day has come. While I still have a Windows-based job, I’m finally eradicating Windows at home. It’s time to learn something new. I installed Linux on my new laptop.
For the last three years, I’ve been living on an old inherited Sony Vaio. As soon as I got it, I upgraded memory and drive, the memory to a 16GB DDR3 Kingston HyperX Impact, and the drive to a 512GB SSD Samsung 850 EVO. Most especially getting away from the old spinning disks to the SSD was the biggest difference, and I can’t recommend this enough: do not ever again run a computer on HDD. This upgrade made the computer usable for some time, but eventually, a slow Intel i5 3rd-gen with very noisy fans and a poor screen bogged me too much.
And after a summer of savings, I got a new laptop. Dell XPS 15 9570, with 32GB DDR4 RAM, 1TB M.2 Samsung SSD, a six-core i9-8950HK with UHD 630 integrated graphics and a dedicated NVIDIA GeForce GTX 1050Ti with 4GB GDDR5 (that is giving me nothing but trouble, btw, Nvidia people…). Just raw horsepower here.
And it was my goal for a long time: the next computer I buy, it will only have Linux on it!
Now, time for the lessons.
Windows doesn’t like any neighbours
Thinking I might someday need Windows, for any reason, my original plan was to keep Windows installed on that SSD I would rescue from the old computer. But Windows, unlike Linux (and most Unix-based OSs for that matter), is too selfish to let you give him nothing that a main internal drive. And even if you do and go for dual booting, how many times a Windows“ update does reset the booting system to boot only Windows reaches unbelievable numbers.
So with this, I surrendered. Hey, I still have a Windows“ based job, in case I need for whatever reasons a Windows computer. And there’s VirtualBox, and Wine, and my girlfriend’s old laptop… And talking about VirtualBox, a generous 32GB of DDR4 memory is a good chance to set up some virtual machines and experiment: NixOS, FreeBSD, and DragonFly, are the ones I’m having fun with at the moment, so far learning a lot about filesystems, the hard way, but that’s a topic for another day.
Manufacturers rarely care for what doesn’t pay
Yes, this is perhaps the only reason why Windows would be any better than Linux, and it comes from very unfair reasons. If you’re a computer manufacturer, you want your product to pay off. You sell with whatever gives you more money. If most people use their computers with Windows, you make sure your product is 100% compatible with Windows. If very few people use anything else, the costs of ensuring compatibility are often not enough to equal the payoff from how many customers would you actually get. So here Linux is left alone, it is the Linux community who does the dirty job. Just have a look at that infamous opinion Linus Torvalds has on NVIDIA for example.
And it goes not only to NVIDIA. Most motherboards face the same problems. When ACPI – the protocol for hardware communication – was standardised (by no one else than Intel and Microsoft – monopoly smell here), the Ubuntu community compared it quite accurately with Trojan Horses. And to add insult to injury, hardware manufacturers would deactivate features of their hardware upon detecting that they were booting Linux because these were never tested with Linux, and as we all know, boring hardware is better than crashing hardware. Hence putting Linux in disadvantage and making the kernel since somewhere around version 2 to have to fake being a Windows kernel, so it could get the full features.
The internet has been the most useful tool in my life
Once, in high school, a teacher, actually of informatics, by the way, said once that in this age of the internet, you won’t measure your capabilities, nor predict how your future will look like, by how much you know. Rather, your abilities to find information and digest it quickly will pay a much bigger role.
Every problem found a solution there. ACPI configuration, recommended drivers, extensive comparisons of Linux distros (although in the end, I went for simple-start Ubuntu 18.10, although on continuous kernel upgrades, just to be a bit more bleeding-edge – and yes, sometimes it bleeds).
Linux is just unbelievably modular and extensible
And I want to make my software like that! If you think of Windows or MacOS, it’s a one-big-thing kind of product. Everything in your computer comes bundled together in a way you wouldn’t think it could actually be broken in very independent pieces. And this is what makes Linux so complicated, decision-making-wise: Linux is only the kernel. But a stand-alone kernel doesn’t make it for a pleasant computer experience. Bundle it together with a Desktop Environment, and Initialization Daemon, a File Manager, a Terminal, your favourite apps, and a ton of packages, in pretty much any way you’d like to mix, shake it, and serve yourself your custom-made Operating System.
Including the option of having a customised window manager that can virtualize entire new monitors, that can then be projected over the network and displayed in an entirely different device: precisely what I’m doing with my very old iPad using an x11vnc server!
A TL;DR;
My biggest take from this whole experience is that computers are, well, just a bunch of pieces of metal that serve a computational purpose. Why shouldn’t they be fully customizable?