12-13-12 - Windows 8

With each version of Windows it takes progressively longer to install and set up into a cbloom-usable state. Windows 8 now takes 3-4 days to find all the crud they're trying to shove down my throat and disable it. I've gotten it mostly sorted out but there are a few little things I haven't figured out how to disable :

1. The Win-X key. Win-X is mine; I've been using it to mean "maximize window" for the last 10 years. You can't have it. I've figured out how to disable their Win-X menu, but they still seem to be eating that key press somewhere very early, before I can see it. (they also stole my Win-1 and various other keys, but those went away with the NoWinKeys registry setting; Win-X seems unaffected by that setting).

2. Win 8 seems to have even more UAC than previous verions. As usual you can kill most of it by turning UAC down to min, setting Everyone to Full Control, and Taking Ownership of c:\ recursively. But apparently in Win 8 when you turn the UAC slider down to min, it no longer actually goes to off. Before Win 8, with UAC set to min all processes were "high integrity", now processes have to request elevation from code. One annoyance I haven't figured out how to fix is that net-used and subst'ed drives are now per-user. eg. if you open in admin cmd and do a subst, the drive doesn't show up in your normal explorer (and vice-versa).

3. There seems to be no way to tweak the colors, and the default colors are really annoying. Somebody thought it was a good idea to make every color white or light gray so all the windows and frames just run together and you can't easily spot the edges. You *can* tweak individual colors if you choose a "high contrast" theme (it's pretty standard on modern Windows that you only get the options you deserve by pretending to be disabled (reasonable things like "no animations" are all hidden in "accessibility")) - however, the "high contrast" theme seems to confuse every app (devenv, firefox) such that they use white text on white backgrounds. Doh.

Once you get Win 8 set up, it's basically Win 7. I don't understand what they were thinking putting the tablet UI as the default on the desktop. Mouse/keyboard user interface is so completely different from jamming your big fat clumsy fingers into a screen that it makes no sense to try to use one on the other. You wouldn't put tiny little buttons on a tablet, so why are you putting giant ham-finger tablet buttons on my desktop? Oh well, easy to disable.

So far the only improvement I've noticed (over Win 7) is that Windows Networking seems massively improved (finally, thank god). It might actually be faster to copy files across a local network than to re-download them from the internet now.

Some general OS ranting :

An OS should be a blank piece of paper. It is a tool for *me* to create what *I* want. It should not have a visual style. It should not be "designed" any more than a good quality blank piece of paper is designed.

(that said I prefer the Win 8 look to anything MS has done since Win 2k (which was the pinnacle of Windows, good lord how sweet it would be if I could still use Win 2k); Aero was an abortion, you don't base your OS GUI design on WinAmp for fuck's sake, though at least with the Aero-OS'es you could easily get a "classic" look, which is not so easy any more)

It's almost impossible to find an OS that actually respects its users any more. I want control of *everything*. If you add some new feature, fine, let me turn it off. If you change my key mappings, fine, let me put them back the way I'm used to.

I despise multi-user OS'es. In my experience they never actually work for security, and they are a constant huge pain in the ass. If you all want to make multi-user OS'es, please just give me a way to get a no-users install with a flat file system and just one set of configs. Nobody but me will ever touch my computer, I don't need this extra layer of shit that adds friction every single day that I use a computer (is that config under "cbloom" or is it under "all users"? Fuck, why do I have to think about this, give me a god damn flat OS. Oh wait the config was under "administrators" or "local machine". ARG). I know this is not gonna happen. Urg.

While we're at it can we talk about how ridiculously broken Windows is in general now?

One of the most basic thing you might want to do with an OS is to take your apps and data and config from one machine and put it on another. LOL, good luck. I know, let's just take all the system hardware config and the user settings and the app installs and let's just shuffle them all up in a big haystack.

Any serious developer needs to be able to clone their dev software from one machine to another, or completely back up their code + dev tools (but without backing up the whole machine, and be able to restore to a different machine).

Obviously the whole DLL mess is a disaster (and now manifests, packages, SxS assemblies, .net frameworks, WTF WTF). It's particularly insane to me that MS can't even get it right with their own damn runtimes. How in hell is it that I can run an exe on Windows and get an "msvcrxx not found" error? WTF, just ship all your damn runtimes with Windows, it can't be that big. And even if you don't want to ship them all, how can you not just have a server that gives me the missing runtimes? It's so insane.

God help you if you are trying to write software that can build on various installs of windows. Oh you have Win Vista SP1 with Platform SDK N, that's a totally different header which is missing some functions and causes some other weird warning, and you need .net framework X on this machine and blah blah it's such a total mess.


Caleb Gingles said...

Your examples, and many others I've read about, are exactly why I don't plan to "upgrade" to Windows 8. Windows 7 works just fine, don't touch my stuff.

Regarding OS rants... Yes. Amen to that. I'm slowly trying to move all of my personal data either to a separate server, or to the cloud, to avoid a lot of the Windows-specific hassles. And also to ease my gradual migration to Linux.

Blaine Allen Brown said...

Config files spread all over the computer are why I switched all that I could to portable apps. With the exception of a few commercial apps that I need, everything I use on a daily basis is in a 10gb directory on my desktop (which I might move to C:\ to more easily access it). I like being able to find all my config files within the install directory.

I haven't used osx much, but it seems like it works like that for most (but not all) applications.

How does linux distribute config files? Are they all in the program install directory?

Unknown said...

Linux config files usually end up somewhere below /etc (for system-wide config) or in the user home directory (for per-user settings). Primarily they're stored as "dot files" (files with names starting with ".", which ls doesn't display by default). Usually in some kind of text format.

cbloom said...

I miss .ini files, though even they were abused too often.

It's so sweet to get an app (MPlayerC for example) that you can just unzip to a dir and it runs without any install, and it stores all its config right there in the dir. Sweet.

Really well behaved apps should separate out the user-config stuff that people will want to save (and apply to later versions) from stuff that's more temporary (like recent file paths or window positions, which too often were crammed into the same .ini).

Plain text is also a must. You can source control it, you can edit it by hand.

old rants