It's fun reading these retrospectives, especially having lived somewhat close to them. I was as much a full time developer back during the NT to Vista days as I am, today. Most of my development career centered around Windows technologies. I got my start, in the professional sense, writing apps in C++/(cough)VB and quickly moved on to C# -- which I still really love. It was both interesting and sad to watch Microsoft during these days. I'll never forget the SCO(/IBM/Microsoft) vs. Linux(/TheGPL/etc) days. Such a strange time to think back on Microsoft hating on Open Source ... or trying to create a competitor in the MSPL/CodePlex mess. It was almost comical to see a company that thrived in a world of "general purpose tools to solve many computing problems" (a.k.a. Office)[0] live in their own NIH world.

It was a hard time as a developer to feel proud of being part of that world. I saw a company that I admired behaving idiotically and under poor management[1]. I loved developing in C# (especially after .Net 2.0 with Generics), but I was generally unsatisfied with my operating system (Windows XP and later Windows 7 ... my company never went Vista). Because of the massive numbers of competing factions that this author points out, Windows tended to get everything but the kitchen sink and managed to do so in a sub-par manner. Oh, how I loved, killing the file/URI associations to Internet Explorer and Windows Media Player on my own PC in favor of Firefox and VLC only to have to make sure that all of the crap I wrote played well with both of those if they applied to the project[2]. The classic Bill Gates rant about Windows Movie Maker summed up that time pretty well[3].

The last few years under Nadella have been something special to me. Windows 10, despite its flaws/spyware bordering on malware, is enjoyable to use. I have bash (well, zsh, in my case) that functions far better than cygwin/msys ever did, PowerShell -- despite my general hate for its syntax and performance -- can basically handle any scripting task I need to throw at it and is far superior to cmd. Heck, in Windows 10, I can even have a True Color experience in conhost. Visual Studio Code, unlike Visual Studio, is an editor I actually go out of my way to use (as do all of my Linux-only coworkers). Microsoft is developing .NET out in the open and has embraced open-source in a way that a decade ago would have been met with suspicion related to "Embrace and Extend". And when I mention that I write code in C#, I don't have to listen to Java/other folks yelling at me about how evil Microsoft is.

And then there's my home-computing life. Despite my previous statements about Windows 10, some of my love for Ubuntu on Windows actually turned me away from Windows. I'd always run Linux at home. All of my servers are bare-metal Linux with one Windows host in a KVM virtual. I started loathing any time I had to do something that took me out of the tooling I use in the Linux world. Just try fighting with gpg-agent on Windows to get SSH key-auth working using the vanilla command-line SSH. It sucks and PuTTY/Pageant is far from a suitable alternative. Jumping and moving things among hosts via SSH, shell and just generally interacting with Linux is far less painful than Windows. So when I got my new laptop this Christmas, I had no intention of ever running Windows 10 on it. I actually booted it and it hung on "set up Windows Hello". I'm not even sure why I bothered to boot it to the hard drive in the first place. This is the first time in a decade of running Linux that I'm actually running it full-time on the machine I spend the (second) most time on. And I discovered, much to my surprise, Windows 10 flies in a KVM virtual with virtio drivers set up in the relevant places. Any time I'd tried to run any Linux variant in Hyper-V and actually use KDE, Gnome or any graphical interface, I gave up after swearing a bit. No clipboard support, and performance was unacceptably laggy. The other way around, I can barely tell I'm in a virtual (I toss the console off to Desktop 2 and I can flip between Windows and Linux) all without doing fancy things like GPU pass-through. And I really only have it there so I can compile a program with MSVC and test the Windows side of it. At this point I don't ever see going back (or switching to fruit). I love endless configurability (even if it comes at the cost of things not being close to "quite right" at the start) and having a mountain of good, free, choices at my disposal. And that work computer is getting reloaded next month when I'm done with the project I'm working on and have a free moment to do so.

[0] The bane of my existence being Excel and Access -- which employees at the company I worked at at the time used to solve incredibly complicated problems, incorrectly, and then panicked when their drive failed or the Access database become corrupted to the point of no return and we discovered how many hundreds of thousands of dollars was about to be lost due to worker creativity.

[1] Ballmer less so than Gates. That's my opinion, which I would normally be happy to back up, but I'm leaving it alone, today.

[2] Don't use that particular CSS, or worse, mangle it in this manner in case of IE 5/6. And why do we have this massive extra video file, oh yeah, that's the best format we can encode it in to guarantee playback on stock Windows without additional codecs installed -- because expecting a codec installation to work across all PCs always ends in tears.

[3] I'm not actually sure if that's urban legend or not and don't care to dig into finding out -- even if it is, and wasn't spoken by The Bill, every statement made described the mess that had become Windows at that time pretty well.