What happens when you rush a delayed product out the door while trying to imitate another product. Vista, now forced down your throat at a computer near you.
Windows Vista is, in retrospect after trying it out for a couple of months, simply a skip me version of Windows. I can just note my own folly in buying it. To give you a little bit of background; I saw a pretty cheap quad core computer on Dell almost half a year ago and the evil that is convenience led me to buy it since my old computer was a little bit on the old side. Ironically it was a rottening windows installation that caused me to think that I either needed to reinstall windows on my main machine or buy a new one. So the latter. This was during the period when Dell offered Vista only on their machines. I thought for a brief moment that Vista might not be such a good idea, but then I had a thought "hey, how bad can it be? I'm sure that people are just whining and Microsoft bashing". Turns out that I joined the ranks of those people soon after. I recently wrote this article whining about the unusable state of Vista.
Since then I've noticed several other issues which brought me over the edge (of sanity). Today, I'm writing this on an XP machine. Might not be as flashy, but it (semi) works. Apple is looking better and better from where I'm sitting.
I have quite a lot of files on my network, which is quite a nice thing when you reinstall machines since you can download files once and then just have them at your fingertips. Some installs like the Nvidia driver pack takes quite a lot of time to download. Copying files in Windows XP over the network was fairly pain free, you typed in you UNC address and off you went. It wasn't snazzy nor pretty, but it basically worked. Especially the error conditions. For example, if the remote host for some reason goes down (e.g. you accidentally close the lid on your laptop, or your router decides to reboot) Vista simply locks up. The processes that accessed the network resource that went down are now forever zombies. They are stuck waiting for the network and you can not kill them! However much you want, killing them in taskmanager will simply not make them go away. Bringing the remote resource up again (e.g. turning the laptop on again) will not break the deadlock. The kicker: logging off or shutting down is not possible either, it seems like windows needs to kill all processes before logging off... and it has no more luck than I had. So in the end the only solution is to pull the plug. Literally. Gaaah.
One of the things I really liked back for Windows 2000 was the fact that Windows finally had caught up with some decent form of access control like UNIX had since 1970. It was finally somewhat possible to have users run as non privileged users (unless they needed to do silly things like debug programs etc). Of course, there were a whole legion of programs that absolutely could not work unless they got read/write access to a certain registry key, and then promptly turned around and simply read from the key. Sloppy programming, just opening the key (or file for that matter) requesting all the permissions and then just reading from it. Very common in Windows for some reason.
Anyhow, there is something similar in Vista called UAC (also read this link). Apparently they're starting to take security more seriously in Redmond, which is a good thing. But I think they're doing it the wrong way. Say you are running as a user with restricted privileges and want to write to an area where the permissions don't let you. What happens? You succeed! WTF? Turns out that there is some look aside directory that is the fallback for when you are not allowed to save files at a certain location.
Now why is this a bad idea you ask. Funny you should mention it. Say for example you have an executable installed under "C:\Program Files\MyCompany\Foobar.exe". The program expects a configuration file in the same directory, "C:\Program Files\MyCompany\Foobar.ini". Happily you open up the ini file and edit it. Save. Load the executable. Funny. Nothing seems to be saved.... Ahhhrg! What's happening? Opening up the file reveals that your changes are gone. So you edit again. Save. Load. Nothing.
Turns out that this is what is happening.
- Open "C:\Program Files\MyCompany\Foobar.ini"
- Save "C:\Program Files\MyCompany\Foobar.ini" failes.
- Silently saves "C:\Users\YourName\AppData\virtualstore\Program Files\MyCompany\Foobar.ini" instead.
- Executable tries to load "C:\Program Files\MyCompany\Foobar.ini" which holds none of your changes.
- You lost a couple of years of your life due to high blood pressure.
There is apparently a way to turn UAC off as well...
Since I do quite a lot of programming at home (for fun ?!?) I also require that there are some decent drivers for my video card. CUDA is a technology that lets you program the GPU as an almost general purpose stream processor. Unfortunately there are no drivers for Vista. Ack. No accelerated Nvidia Texture Tools for me (oh, I spent quite some while scratching my head as to why there was not speed increase). I didn't even dare to ask for the drivers for my scanner... Forget about it.
Running Team Fortress 2 was an adventure. Switching from full screen to another application seemingly hung TF2 for several minutes before finally recovering and switching back. Not really impressed. Hopefully now that I have XP installed again I can get back to trying it out. Guild Wars, another game that I play sometimes, worked fine on Vista though. As it freaking should, I mean how can these games not work? Vista is supposed to support DX9...? I shudder when I think of games like Alan Wake that was practically announced to be Vista only... Good luck with that.
Some good things
So not everything was bad with Vista. I really liked the fact that they've tried to make the user interface somewhat prettier. Don't laugh, it's important. If I'm going to stare at this thing so much, why can't it be pretty? Apple has got this thing down, OSX is gorgeous. Obviously Vista is a very sad attempt to copy much of the features (or respond to) OSX. Sad since they completely miss the point often and it's just emphasizing how far ahead OSX is.
Another thing that Vista tried to copy from OSX was the search functionality. Sadly this is not as fast as OSX, and it's index based instead of journal based as the OSX counterpart. This makes it not so useful, more of a gimmick. Again, MS completely missed the point, but it's a step up from ordinary Windows XP I guess. Not that I miss it that much, I can search and wait in the old interface just as well.
The little widgets or gadgets that OSX has also made an appearance in Vista. The sidebar has occupied my secondary monitor for quite some while and although it has a arguably limited use, I find myself looking to the second monitor for the Swedish currency exchange rate and the current weather and missing it a bit. It ate a lot of memory though, so I guess I'm more happy to have 200MB back instead of having that monster run. Sure was pretty though...
Outlook Express also had a facelift and rebranded as Windows Mail. Worked as expected, some minor annoyances but it works for connecting to gmail over IMAP and getting a local cached copy of your inbox. Yes, I'm trying to be a default program junkie, it's so much easier to not have to install programs from all over the place. However it works pretty much only on Mac so far...
Finally, the Vista suspend/resume functionality was much faster than the XP one. And I really liked it and started to not turn off main computer, instead I suspended it. Worked like a charm most of the times.
So I drove down to the local computer store, which normally is a dangerous place for me. You spend too much money in a place like that on things that you really don't need. But this time I came with a purpose. I bought a OEM copy of Windows XP Pro. Since I was there I also bought a new 500GB harddrive to install windows on (that way I just shelved my old drive with the data in case I needed it. You see how that worked? The computer store is dangerous!). Total bill:
|Windows XP Pro OEM||$149.99|
|Maxtor 500GB SATA drive||$89.99|
Which is more than a third of what I paid for the computer to start with ...
The real thing that gripes me is that not only did I make Microsoft money twice for the same computer, I also made the Vista account some money. I wonder if I can send the disc back to them and get a refund?
Windows XP takes about 190MB after a clean install. After adding all the silly things like iTunes, Acrobat Reader, Antivirus, Skype and pagent it takes about 300MB. Although quite a lot, it is still significantly less than the 1000MB Vista took out of my main memory after booting up.
Just now I'm downloading Solaris for my old main machine, it's still a decent box, a P4 3.2GHz with 2GB of ram. Should probably be able to run a Samba server for me so that I can have domain login at home. The image is a little bit on the large side, about 2GB but since I have this spare computer that doesn't do anything and Sun and Dell are also advertising that Solaris is supposed to run on their computers... We'll see how that goes with this quest for the home fileserver / NAS / UPnP server.
-  A common way to lower the cost of ownership for products with regular release cycles is to skip every other version (e.g. for Microsoft Windows and Office) and thus gain some benefit from the infrastructure and the fixed mistakes before jumping onto yet another leaking ship.
-  How do you find out what the programs are doing? Short of dtrace (and truss) there are some programs from sysinternals.com that can help you out, in particular filemon, regmon and process explorer are invaluable.
-  This is solved in the Solaris world by something called LD_PRELOAD. Very very powerful. Thinking about it for a while, it's crazy the stuff you can do here. An old colleague of mine wrote a similar thing for Windows NT, DLL_PRELOAD, mainly to work around silly things like programs insisting on write privileges to something they never had any intention to write to. With this and a completely locked down Windows box, you can actually let people log onto the machine remotely and the Windows installation will not rot! And it's secure, in fact the basic security features in Windows are very good, it's just that the default mode (or the usable mode) practically turns every one of these features off. It's almost as if they had to put the security features as bulletpoints on the box when they sell it to you ... hey, wait a minute...
Random related links
- Vista, I'm breaking up with you.
- ctrl-alt-del's take on Vista
- Mick West on Vista, read here, here and here.
- Tim Sneath has some entries about Vista Secrets.
- Press release about the next version of windows after Vista. Seems like they're going to make it slimmer at least.
I've included a couple of strips from the great comic Userfriendly, along the rules at their FAQ. I of course don't assume any of the copyrights etc etc. As a courtesy I've not hotlinked the comics themselves, but rather cached them locally.