Drivers. You'd think it would be something that we'd have a better solution for - especially for devices that are not performance critical. I've got my hands on Canon CanoScan LIDE 25 scanner. I tried to get it working recently and found I couldn't find a driver for it for Windows or OSX. It just so happens my disposable laptop has Ubuntu installed, the primary reason being that under windows it's just too slow to be usable. With Ubuntu it's pretty usable. I plugged it in and was surprised to find that it not only worked but the scanning quality was pretty good, arguably better than the quality I get from my combined scanner printer.
Now I could get the scanner to work for windows by buying some scanner software but for 50 - 80 USD it seems a bit steep for something you'd expect to just work.
Windows has in the past been good about backwards compatibility. I think the 'new' post Balmer Microsoft doesn't really care so much about that anymore. Certainly Canon seems pretty terrible at making their drivers for older devices work on newer versions of the OS.
OSX seems to have taken a different path with many drivers coming as standard. Plug in something new and it will likely work on the other hand if it doesn't work you are probably out of luck.
I feel I'm slowly turning my back on Windows/Microsoft and OSX/Apple.
I think the OSX UI has ended up better than Windows 8/10 even though I primarily use Windows. Part of the OSX appeal was it was unix with a nice UI. I mainly use MacMinis and whilst not a bargain, they weren't too bad value when you could upgrade the memory and hard disk yourself. In their latest iteration though you get half the amount of cores for roughly the same money and no ability to upgrade(!) Moreover Apple upgrades keep braking things seemingly on purpose. First it was CUPS, which I used for printing - every time I got an upgrade printing would be broken/disabled. Next it was samba used for having drives shared with windows over the network. In the end I had to use SmbUp to fix the problem. With their last upgrade they broke subversion. It's getting rather dull to constantly have to fight and fix - if I just had linux server I wouldn't have these problems or at least as many. I guess I also somewhat resent having to have an Apple device to develop for iOS - but at least that is more understandable.
Anyways with my surprising Ubuntu win I thought I'd set up virtual box, attach the usb device to a linux installation and I'll be able to scan from windows. I'd read about Linux Mint and that it is based on ubuntu so I thought I'd give that a go. Unfortunately several hours of messing around and it still didn't work. For some reason VirtualBox won't allow the scanner attach through USB forwarding correctly.
In the process of all this I found that I quite liked the Linux Mint user interface. It also feels really nippy. At least my initial impressions are better than Ubuntu. So I've set up my main dev machine to be able to triple boot - Windows 8.1, Windows 10 and now Mint. I doubt I'm going to use Windows 10 much - not that it's a terrible OS per se, it's more that it seems like an operating system that is at odds with its users from the telemetry point of view as well how you can configure it.
The main thing that has been keeping me on Windows is Visual Studio. But perhaps the is just the push I need to step away from Windows as my main development platform. I'll perhaps get around to writing about how that turns out.
Update 1: Have been trying out codelite. Had a few bumpy starts - but having an environment where you can edit and debug is so much nicer than running ddd, or worse gdb directy(!). Still early days - and I don't think it's going to be as slick as Visual Studio, but it does seem at least plausible.
On looking up IDE solutions you see many people post answers that the command line IS the IDE. Well whilst the command line can do lots of powerful stuff, it's a pretty crappy IDE IMHO.