Disgusted by security issues and poor performance, Winn Schwartau makes the switch from Windows to the Mac and details the bumps in the road along the way in his "Mad as Hell" series.
I have seen and heard all sorts of explanations, from both WinTel and Mac fanatics, and I am neither. Regardless, I don't truly subscribe to any of them because the vast majority of what I have seen is evangelistically 'rantish' or the writer has absolutely no clue about security.
Therefore, I had to come up with my own (hopefully rational) reasons as to why WinTel will fail – and has to fail. Worse yet, we have built a society and our national defense upon systems that we know are going to religiously fail for countless reasons; nonetheless, I will try.
First, some things you need to know about me. I grew up as a systems engineer in the recording and television industry. That's analogue and digital. Needed to know both. We had both signal and control paths to contend with and they tended to interfere with each other.
We designed, built, installed and maintained incredibly complex systems. Tens upon tens of thousands of color-coded wires had to be properly phased and terminated; low level audio, line level audio, speaker level power, video, digital paths, single and three phase mains, and different RF signals had to have proper electromagnetic isolation and filtering. Keeping 20Hz and 200KHz and 2MHz and 200MHz signals from messing with each other is no easy feat. Trust me. I missed my honeymoon because the Blues Brothers had a hum in their original recordings due to a British manufacturing problem.
Much of what we had to deal with on a systems level was the subjective beliefs of very famous people like John Lennon, Jimi Hendrix, Led Zeppelin, Liza Minnelli, Chicago and Paul Simon, to name a few. If they could "hear" something wrong, my crews and I had would have to diagnose these complex systems without a reliable technical reference point beyond "It just doesn't sound right."
Systems infrastructure is easy by comparison. We have measurement tools that simply do exist in the world of pure sight and sound. So, I tend to look at the world with a systems approach. The answers I am coming up with about endpoint PC security have surprised me.
Let's look at WinTel from that perspective.
- Forget about Win2K or XP or Service Packs. Take a look under "About Windows" and notice that there is a Build number. This means that there are constant refinements to the OS as part of its evolution. Some small, some large. Which one you get though, is not up to Microsoft; it's up to Dell, IBM, Sony, Moo or whoever. They pick the version and Build that goes with your machine.
- All OSes are betas. How can I say that? I remember Microsoft saying something like, "We have spent 500 man years testing Win2K…" and that sounds impressive. Except. A new OS is introduced to something like 25 million new users in the first year. There is no comparison between 500 man years of testing with 25,000,000 man years of use and testing. This is not an indictment of Microsoft– it's just a reality. They cannot possibly test every conceivable permutation and combination of hardware, software and configurations… even if it is performed in a constant known and stable hardware environment. It's mathematically impossible, so they have to pick a reasonable point to call it quits and start generating revenue. Real life.
- When Microsoft releases a new OS or service pack, there are tons of changes to the functionality. Some of them are intentional fixes and others are upgrade problems. Each release is subject to the same systems problems as above.
- WinTel machines have a BIOS chip that controls some of the basic functions of the machine. There are several manufacturers of BIOS, all of whom compete with each other. They all try to design to Windows' specifications, but because copyright infringement laws are pretty strong, there has to be different implementations. Ergo: Are they all equal? No. Do they all have the same level of compatibility? No. How much testing can they go through? BIOS firms don't have gazillions in the bank. It's a crapshoot between them and the various incarnations of Windows as to what will happen with the new this driver or that application. Works a lot of the time, but not enough for me anymore.
- Which version of the BIOS does your machine have and what are the known problems? Who knows. Why does your WinTel crash? Getting the idea here? Systems-wise that is. The user becomes the integrator after the cheap-as-all-hell WinTel PC vendor puts his bits together.
- What about software applications? Are they well written or do they cheat and take shortcuts? Shortcuts may work in some environments, but not all, and ultimately the consumer pays in lost time, availability and productivity. Does Buffer Overflow sound familiar? Some of the OS X problems I am documenting run into the same programming glitches.
- Windows source code is not generally available for the world to poke through. Microsoft wants to keep its secrets, and therefore (as the subject of many lawsuits) third-party software developers do not necessarily get the same "under-the-hood" view or have the experience on call as Microsoft application developers. Try designing a house when you have no idea what the ground is like. The OS X suite is sweet.
- Then there's hardware. How many WinTel "compatible" motherboards are there? I have no earthly idea and am not going to spend the energy to find out, but I know it's in the hundreds if not thousands. They all claim to better than the next one. Whatever. Some are going to be designed better, with more engineering reliance than others. Designing to the edge of performance is fine for tweakers and geeks, not Ma & Pa. They want it to work. All of the time.
- Hard drives in any space will fail at near the MTBF: Mean Time Between Failure. Cheap ones fail more.
- Finally, let's mention memory. Not all RAM is equal for either hardware space. There is really good RAM that has clean square waves with minimal ringing (also a motherboard issue) and is specified honestly. Then there is the cheap-ass RAM. It operates at the bleeding edge of reliability and is often the agent responsible for systemic problems in WinTel machines, but the blame falls to Microsoft. Use decent RAM no matter what.
People blame Windows for everything when it is much more accurate to view the problem as one of systems engineering. What is the best way to glue complex parts together?
- Test them individually in as many real-life scenarios as you can. The simpler the system or sub-system, the less that can go wrong and the easier it is to test thoroughly.
- Define an integrated system baseline. In PC Magazine laboratories (and all the others), multiple performance comparison tests are done using baseline performance specification. This is good. But all we hear in the WinTel world is "Pentium X at Gazillion GHz and SoMuch RAM." What I don't see is what concerns me most:
- I have no doubt that OS vendors have a reasonable idea of how their software behaves in certain hardware environments. But what are those idealized set ups? I would like to know. How is cache handled and what the performance hits for RAM, L1/2 cache? I would like to know how that affects reliability.
- What RAM is used, and how close to the edge is it? The Blue Screen of Death is often lousy hardware blaming Windows.
- Real life performance: Software suites, Internet connections, sharing settings, security, etc. We are the guinea pigs by necessity.
- Startup is a nightmare. Every software and hardware vendor is convinced that you want their icons on your task bar, your desktop and sitting in RAM. This is crazy. They have control of your machine and install drivers and TSR programs without your knowledge. That's permission controls gone to hell and a handbasket. If you permit an install, you give up control and your startup
- I find it almost amusing that the myriad WinTel vendors out there expect Ma&Pa to be the Systems Integrator. They claim to test. They do. A suite of generalized tests that do not and cannot take into account most of the real world.
Putting on my "systems integrator quasi-geek" hat is the same as you calling for Customer Service to New Delhi or SONY.
"My computer crashed."
"It's Windows, reinstall." And lose data and a full day.
"It's the hard drive. Send it in." And lose data and two weeks.
"It's the motherboard." Send back and wait.
The supposed interoperable open-architecture is the problem. The number of design variables is simply too many to create a long term stable desktop environment. Finger pointing is rampant (blame is always easy to assign; less so to accept).
One hundred million lines of code to run Office, e-mail and Firefox is insane. Ninety-eight percent of humanity would be happy with 1 million lines of code that work.
About the author
Winn Schwartau is one of the country's leading experts on information security, infrastructure protection and electronic privacy. Schwartau is president and founder of Interpact Inc., The Security Awareness Company, which develops information security awareness programs for private, public and government organizations.