Folks are well aware that I’m not exactly a screaming Microsoft advocate. While I concede they’ve done more to advance and stabilize the concept of ‘Computers for Everyone’ than virtually any other manufacturer (save perhaps Apple), they’ve done so in such a poor, disorganized, and ruthless fashion, it’s resulted in a global environment that is virtually impossible to be productive in without spending enormous amounts of time and money on licensing, virus protection, system tuning, configuration, and security auditing.
I offer as evidence, dear readers, my experience trying to set up my son’s computer this afternoon. It’s installed with a (licensed!) copy of Windows 2000, running on an AMD Duron 850mghz machine with 512meg of RAM. No slouch is this machine, and the goal today was simply to get it to the point where he could run his Reader Rabbit game.
What follows is a Rant. Read at your own risk.
First step was security updates. This required connecting the machine to the net (if we were not behind a firewall, this may have resulted in the machine being p0wn3d within 15 minutes). Fortunately, I had already invested in a cable router / firewall, and configured it to not allow unwanted traffic on the internal net. So far so good.
Running Windows Update took another 15 minutes of running, downloading, rebooting, and running to make sure it was up to patch levels necessary. Windows Update. Don’t leave your net without it!
Here’s where it gets fun. The goal of this exercise was to get a game working, right? Well, games require sound. When I started up the machine, no sound. “Hm, no sound” sez I, always the observant one. “Start->Settings->Control panel->Sounds” “Play that sound please” Huh. The ‘play’ button is not available. I’ll note at no point did this machine say “By the way, I failed to initialize the sound board you have in your machine.” – it’s just happily sitting there not making sound.
Alllrighty. Fine. Having a teensy bit of experience on Windows, I knew that the next step was to go to the device manager and see what’s up. Well, there in the list was “Multimedia Audio Device” with a big ? next to it. Obviously the failed initialization of a device. Wonderful. I guess I should examine that device, find out what it is, and see what can be done to get it started.
Nothing. Did you know that ther’es no way to get this WORLD CLASS, SERVER LEVEL, EXPENSIVE platform to simply say “The card is an Xxx model Yyy PCI device”. All the Properties, all the dialogs, simply said “Error code mumble”. No other information.
Well that’s just DANDY. So I have a card in my machine that nothing will identify, that the wonderful OS I have won’t initialize, and I have no idea where to find a DRIVER for it, because I don’t know what CARD it is. What, should I open up the machine and LOOK AT IT? No, there’s got to be a better way.
Well, there isn’t really, except for one small note. Since this wonderful OS is incapable of telling me what hardware it’s running on, I have to download a third party app (SCARY! Downloaded applications may contain viruses! You shouldn’t download things off the Internet unless they’re from Microsoft, remember??) from Belarc that generates a system profile for me. Why couldn’t Windows do this? Who knows. I give as a counter-example the command included with every Linux machine on the planet, ‘lspci’ (List out the PCI devices). Very simple, very easy, and gives me:
0000:00:00.0 Host bridge: Intel Corp. 82855PM Processor to I/O Controller (rev 03) 0000:00:01.0 PCI bridge: Intel Corp. 82855PM Processor to AGP Controller (rev 03) 0000:00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 01) 0000:00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 01) 0000:00:1d.2 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 (rev 01) 0000:00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 01) 0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 81) 0000:00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 01) 0000:00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 01) 0000:00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 01) 0000:00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01) 0000:00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 01) 0000:01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 02) 0000:02:00.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01) 0000:02:00.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01) 0000:02:01.0 Ethernet controller: Intel Corp. 82540EP Gigabit Ethernet Controller (Mobile) (rev 03) 0000:02:02.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
Simple! There’s my audio board, with a model number and manufacturer. Unfortunately, this is my laptop, running Linux. Back to my son’s machine.
Running the Belarc tool said “You have no audio board.” – Outstanding. How handy. But it did point out that I have a SiS-730 motherboard, and I knew (by careful examination of where the speakers were plugged in), that I was trying to use the audio system on that motherboard. Great! Now I just need that ‘driver’.
I’ll note for the record that a ‘driver’ in Microsoft land is the ONLY way to make a device work. If you have a device, you need a ‘driver’ for it. No matter that many of the drivers are identical to each other, they just have the hardware signature of a specific device, if you don’t have that specific ‘driver’, you can’t use that device.
So off I go looking for the driver for the audio board on this motherboard.
Go ahead, I dare you to try this with google. Google is FILLED with ‘devicedriver.com’ and ‘windows_devicedriver.com’ sites that just revel in slurping in the masses to download a driver for your card that Windows requires. Of the 10 I clicked on first, 9 of them a) had the wrong driver, and b) only someone who was really watching carefully would know that this was the case, and c) all of them asked for money to download said driver. A driver, I might add, that was available for free on the correct manufacturers website (in this case ECS in Taiwan). What the hell is up with this? Thank you Microsoft for making such an IDIOTIC driver mechanism for their top of the line platform (that still, by the way, runs a huge percentage of the computers on the ‘net at large).
So, I finally figure out that this driver needs to be installed. I install it, (oh, drivers are in ZIP form. Need a free application as well – download winzip, etc etc etc). Driver installs, reboot. No audio board. No sound. Driver is in, but it doesn’t work. Great, I must have a broken driver or card. But.. Hmm. This is plug and play. What happens if I remove the driver, remove the settings for it in system properties, then scan for new hardware, and select my driver dir as the new driver? *fiddlefiddlefiddle* Reboot (AGAIN), VOILA! I have sound! Saints be praised.
What do we learn from this exercise? First of all, I acknowledge this is an ‘old’ platform. Windows 2000 came out almost 5 years ago, and there must be some allowances. But also consider this – I’m running on old hardware, on common configurations, not on ‘cutting edge’ technology. PnP was old hat in 2000. I cannot IMAGINE the common user trying to do this on their own. It boggles the mind.
I have had similar experiences with all versions of Microsoft’s applications. Obscurity and obfuscation for no reason at all, and just plain bad design. Windows XP fixed many of these problems, but it introduces many of it’s own, and the core problems are still untouched (without extraordinary precautions, your machine WILL be infected by a virus or a trojan if you do not pay for other services, such as a firewall, virus scanning, etc etc. – and the vast majority of users out in the world will NOT bother with anything more than running ‘windows update’ on occasion, when they think about it.
The normal response to this, and an understandalbe one is, “Well, if you’re using a computer, you should be aware of these things.” Yes, absolutely. But Microsoft has been pushing their OS and their platform on everything with a pulse. They’ve flooded the world with computers whose purpose now seems to be running spam zombies and DOS servers. Microsoft takes no responsibility for this, even though the complete lack of system security in their design was pointed out YEARS ago, they continue to produce software and push it into the public without a though to the impact it is having on the computing experience.
The second response usually is “Well, Linux is no better! Try getting sound to run on THAT!”. A valid argument in the narrow confines of comparing what it takes to get sound working on Linux compared to what it takes to get sound running on Windows. But the context of this particular rant isn’t “Is linux better than windows”. The context is “Is Microsoft taking its role as the leading provider of desktop systems seriously, or is it doing the minimal work necessary to sell the maximum number of licenses?” I shan’t comment further on the obvious conclusion to that question
As it is now, partially due to Microsoft’s reckless handlig of it’s position of responsibility, the Internet is a vast wasteland of spam, worthless Google-seeding sites, and compromised machines owned by networks of unscrupulous geek-thugs who think nothing of sending out 50 million spams off a cluster of stolen computers, or bringing down a useful site because someone on said site holds a differing viewpoint than theirs.
As for me, I’ll continue deleting the spam piling up in my inbox (hundreds and hundreds and hundreds a day), knowing that the Windows machines in the world are doing what they do best. Provide a fertile ground for viruses, spammers, and other opportunists, while lining Microsofts pockets with billions of dollars in profits.
Did someone get out of bed the wrong side? ;o)
I think you’re pushing an awful lot of blame MS’s way, when much of your rant has nothing to do with them…
People (who aren’t Microsoft) make hardware. Microsoft’s OS needs to know how to talk to said hardware, in the form of drivers. Window’s can’t just invent them. If said drivers are on websites that are charging money (and even giving out wrong drivers), that’s not really through any fault of Microsoft.
If said drivers, on the manufacturers site are in ZIP format, and you’ve not installed a ZIP Application, that’s not really any fault of Microsofts either.
Looks like MS only play a minor part in your battle in setting up this PC, but you’ve directed everything their way!
You use Linux right? There’s still spam? Viruses? Hardware drivers? How can you pin that on MS/Windows?!
🙂
I don’t understand. You’ve been denouncing Microsoft products as crap for years, yet you chose to not only setup a computer with a Microsoft OS again, but you chose to install a version of their OS that’s older than the hardware it’s running on. Weren’t you just asking for trouble?
If Microsoft is so bad, and people shouldn’t use it, why not stop using their products or apps that run on their platform? Set your son up on a Mac or Linux box, and tell everyone all about *that* experience.
What’s your goal of this post anyway? To find a reason to gripe about Microsoft? …or to help people find an alternative?
There are versions of Reader Rabbit for both Linux and Mac. Why not download Debian or FreeBSD, set it up on your old system, and install Reader Rabbit. Wouldn’t it do more to further the anti-Microsoft cause to tell everyone about how to make *that* platform work for them?
Human nature makes people reluctant to change in nearly every situation in life, therefore things continue to stay the same (i.e. – people will continue feeding Microsoft money making them even bigger). If you want to affect change, help people overcome that fear and switch to the platform you contend superior.
This certainly isn’t a case where the OS manufacturer’s hands are tied. It is true that they don’t manufacture the hardware or write the drivers, but it’s nonsense to suggest that that puts them out of the loop.
Since we’re comparing Linux to Windows here, I will note that the various Linux distributions are also not built by the hardware manufacturers. So how do they solve this problem? When someone writes a driver for a particular hardware dongle, it gets packaged up as an RPM or APT package, or even submitted for inclusion with the kernel, so all that a user has to do is to ask the OS to search for a driver by name. It’s beyond me why Microsoft couldn’t make Windows say, “I don’t seem to have any drivers for this device…. here, let me check drivers.microsoft.com and see if I can find where to get one.”
(Okay, so it’s not really beyond me … MS doesn’t have any interest in making it easy for you to install Windows yourself on some random hardware platform, they want to make you go buy a new computer from an OEM with a whole new Windows license. But the technological challenge is trivial.)
Rick: are you sure that Reader Rabbit runs on Linux, or are you thinking of another program? I went to http://www.readerrabbit.com/ but found only Windows and Mac offerings there. I would love to have a version of Reader Rabbit Preschool that runs on Linux for my younger son so I wouldn’t have to boot into XP for it 🙂
Danny Sez:
You use Linux right? There’s still spam? Viruses? Hardware drivers? How can you pin that on MS/Windows?!
I said in my original posting that I’m not pinning those specifically on Windows. But Microsoft, in the rush to dominate the entire industry, distributed a product that makes it almost trivial for Uncle Joe’s PC in the living room to become infected with a remote control zombie app, and hence make it simple to become a spam relay.
Most spam that is generated today is coming from Zombie PC’s that are acting as relays for the spammers. This is why ‘blacklisting’ ‘servers’ being used for spam no longer works effectively. For every legitimate spam server blacklisted, 5 more zombie PC’s are infected and set up as relays. It becomes more of a problem with dynamic IP allocation for computers on cable modems and the like (This used to be solved via dialup blocks – where an ISP’s dialup IP address block was blacklisted out. Since cable modem users intermix serious power users – such as me – with Uncle Joe’s PC, wide-ranging blacklisting of IP groups impacted too many people).
Tim sez:
I went to http://www.readerrabbit.com/ but found only Windows and Mac offerings there.
Actually, I did a little digging, and Amazon in fact has Reader Rabbit Preschool… for Linux:
Reader Rabbit Preschool
and
Reader Rabbit First Grade
Sadly, it appears that the versiosn for linux stop there, and the entire line is not offered in that form. But I was not aware of these versions either. My son is 7 now, so he’s beyond these versions 🙁 but I’ll continue to look at their offerings.
Well, the majority of computer users, frankly, don’t go with homebuilt systems and look for options from Dell, Gateway, HP and others. All that stuff comes pre-installed and ready to go.
The reason Windows is the most popular system out there isn’t because of marketing – it’s because it’s the simplest solution out there for all the people who use their computer as a tool and not a lifestyle.
As for your problems – and I’m not trying to be nasty – they stem from unfamiliarity with the hardware. Hell, when I’m forced to play with hardware, I always run out and get BIOS flashes, new drivers and everything before I even open a case. Regardless of OS.
You make some good points about Windows, though. Especially as a network platform. I guess that’s why my company uses *nix and Solaris for the backbone, and uses the Windows stuff for application stuff.
Danny said: If said drivers, on the manufacturers site are in ZIP format, and you’ve not installed a ZIP Application, that’s not really any fault of Microsofts either.
Actually, I agree with Shayde that this one can be squarely laid at the feet of Microsoft. Zip has been the standard compression for Windows pretty much forever – it isn’t a stretch to expect M$ to include something to unzip things. They included an unzipper in at least one version of Win98, and Windows Me – so it’s not like they hadn’t realized by 2000 that Zip was the compression format that everybody needs to be able to uncompress.
it seems to me y’all are making distinctions between linux and windows in some weird places. windows’ driver model is extremely similar to that in linux (what do you think is different, dave?), and lspci will only give you such detailed info about hardware for which you *already* have drivers installed.
apt-get spread throughout the linuxes only very recently– redhat’s rpm distribution was a claw-your-eyes-out nightmare when i learned linux, which wasn’t very long ago– though i’ll grant that with their monopoly microsoft could impose a similar central distribution mechanism of their own (something like windows updates)
Regarding lspci – it will at a minimum supply you with the device class, manufacturer ID and device ID (and a lot more with -v). Kernel support / module for the device is not required in any distro I’ve ever used for lspci to tell you 0604 8086:244e – which happens to be a PCI bridge made by Intel.
The : separated numbers are all you need to find what device you actually have (assuming pciids.sourceforge.net is up to date), and from there a bit of research will tell you the module you want. Computers still aren’t an easily-useable commodity device though. Every OS, including MacOS, Win32 and *nix, requires some form of learning curve and frustration with how things are done. People claim Windows is easy to learn. It isn’t. Having had to teach my grandfather (who used to work in telephony and could probably fix a phone switch the same way you fix a computer) how things like Windows XP and Outlook work and quirk, I’ve got quite a few more grey hairs than I used to have.
wewf