untode.su

Windows antics and a spiteful fallback to Linux

Back in the summer I got a software development job. Said job requires you to at least have Windows on office machines because the entire project is initially developed targeting AMD64 Windows and Visual C++ environment. Eventually, I got kind of tired using remote desktop software to connect to the office computer to work in case I got sick or was unable to show up, so I caved and installed Windows 10 on my laptop… to only then snap half a year later and go back to Linux out of spite.

NOTE: This is a very subjective and rant-filled review of what I did and didn’t like about Windows and why I’d never ever put this wretched system on my own computer ever again.

Gaming

Despite all the efforts, Windows still remains the de-facto “industry-standard” operating system to play PC games: most game developers target Windows for their games and only then they fix issues arising from gluing it with Linux via Proton; GPU drivers (mostly) are also most actively developed and released for Windows and… whatever, you get the point.

After the initial “honeymoon period” of playing games on Windows that I wouldn’t even bother running on Linux (specifically games like Satisfactory and Space Engineers) I fell back to my old habit of just occasionally playing TF2 and Minecraft (because I’m already a 22 years-old rust bucket) and very rarely play Lethal Company with my friends from university.

In fact, here’s a screenshot of my Steam profile. All these games run PERFECTLY FINE natively on Linux. Yep!

Software development

Using Visual Studio (the purple logo one, not the community one) went fine only for either a joke program that BSODs your system with a 1/6 chance (we literally called it the Russian Roulette program) or for the actual work. Every other project has been developed in VSCode, just like on Linux.

Both classic command prompt and PowerShell absolutely suck. The first thing I did on a fresh install was to download Git and use their Windows port of bash for the rest of the time Windows ran on my laptop. In fact, I do the exact same thing on my work machine:

Besides an absolute lack of standard build tools that I got used to whilst living inside POSIX environments, there is no tools to operate with FAT32 images as files on Windows: you can’t make a GPT partition table inside an image binary, you can’t format a filesystem inside that image, you can’t copy files to that filesystem on that image. I wasn’t able to mess around with my hobby osdev project because of that!

NOTE: granted, there is WSL but it was working half the time and mostly would work only once. After you opened it the first time, all other consecutive attempts to open a new terminal instance were met with a blank terminal screen.

The one good thing

What I like about Windows is that it’s labeled virtual filesystem allows you to just… dedicate an entire drive to serve as a file wasteland without bothering to figure out a correct location to mount the drive’s partition into or bothering that you might accidentally unmount it. Windows conveniently assigns a letter to the drive and you can guarantee that it will be there whenever it is mounted.

The last straw

One day all public key authentications I ever tried to do on my laptop just… stopped? Every single server was rejecting my public key. I tried grafting an exitsting identity pair from my work computer, refreshing the SSH-agent and it still didn’t work. Most bizzarely, the reverse process (using laptop identities on the work computer) actually worked. Why is that? Why Windows has to be this way? I have no clue.

I actually tried to fix this a couple of months ago but eventually gave up.

However, that day I finally got the classic Minecraft phase and decided to start up the server that has been laying dormant for two months. Guess what? I was hit in the face with this fucking thing:

permission denied (publickey)

I tried figuring out what happened, running SSH with verbose flags. Apparently the thing was going through possible keys, it was DETECTING the identity but just didn’t bother to use it, complained that all login methods have been exhausted and died on me. Wow. Just wow.

Mind you this this is a stock Microsoft-supplied distribution of OpenSSH, I didn’t use a third-party library (in fact, I’ve set up Git For Windows to use the built-in distribution as well). Dear Microsoft, WTF?

Anyways; I just… snapped? Maybe I’ve had enough of a bad day already. One hour passes and the laptop is cleansed of Windows once again and hopefully it never touches my computer ever again.