Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers

ArticlesDoing Something About Microsoft


March 1998 / Pournelle / Doing Something About Microsoft

Jerry wants to leave the definition of "operating system" to Microsoft -- but there's a catch.

Jerry Pournelle

Local and national papers are full of sound and fury denouncing Microsoft , but what it all signifies is a horse of another color. Unfortunately, it is very difficult to talk about Microsoft without triggering religious wars; but I don't think it can be avoided. There's too much pressure on government to "do something" about Microsoft, and that will affect all of us. Since whatever is done will be done on our behalf, it's important that we give this some thought and, with luck, come to some conclusions.

Start with my assumptions. They may not be your s, but think about them.

First, the industry has done pretty well without a lot of government intervention, and most government intervention in the computer business has done little good and much harm. This is hardly surprising given that most Congresscritters still don't know about e-mail.

Do you recall when the government poked around in the memory business? They ended up encouraging a cartel to charge us all higher prices for memory. Those were the days when clone makers competed by adding features to their systems. One feature was more memory. Higher memory prices helped keep computer prices up, aiding the big companies like IBM and hindering start-ups.

Fortunately, the government's effect was pretty short-lived. So far, Moore's law has guaranteed that computer capabilities have doubled every 18 months, and not even the FTC can do much about that, much as some of the old established outfits like the telephone companies wish they would.

Then there's the FCC, which insists that you meet its silly certifications for radio emissions, forcing us to have computer cases that seal up tight with stupid slots and grooves and slot covers. I say silly, because many of us run our machines with the covers off; but airplanes don't fall from the sky, and most of us don't even notice radio and television interference. If anyone has been arrested for running a machine without the cover on, I haven't heard about it.

The actual effect of the FCC regulations (besides providing jobs to regulators) is to make it much harder to enter the computer component business. Before you can sell anything, you must pay lots of upfront money to get FCC certification. This is good for the big established companies but hard on start-ups.

Adam Smith said that the worst enemy of capitalism is a successful capitalist, and the preferred method of capitalists who no longer love capitalism is to get the government to raise barriers to entry. Thus, my first assumption: we do not lightly i nvite the government into our industry. It's a lot easier to get the feds in our tent than to get them out again.

Second assumption: sometimes you have to invite the government in. David McCord Wright, one of my favorite economists, used to say that one reason Marx's analysis of the future of capitalism -- more and more wealth concentrated in fewer and fewer hands -- failed was the American antitrust actions. One need not be a big fan of government regulation to believe that monopolies are dangerous, and the government has both the right and duty to ensure competition. There's room for disagreement on just what constitutes a dangerous monopoly, but I think there's a wide consensus that sometimes there's a real need for trust-busting.

That doesn't mean you should lightly interfere with a successful company. Judge Learned Hand once said that having told a company to compete, we must not punish the company for successfully doing so.

Breaking up a successful company -- say Microsoft, into Operating System and Applications companies -- is not easy, involves massive confiscation of capital gains, and often leaves government watchdogs yapping at the heels of all the different branches. Witness Judge Green and the continuous involvement of the government in the affairs of the companies that used to be AT&T. You may have to resort to trust-busting, but it should be a last resort.

Third assumption: Microsoft's market share in the small computer world is getting up into the monopoly region. There's room for disagreement over whether it's at a critical point or not, but near universal agreement that any company with Microsoft's power in the OS field should not take unfair advantages in writing and marketing application programs.

In particular, Microsoft ought not use their dominance in the OS market to make it impossible for other companies to compete with Microsoft application programs. I've found there's surprisingly little disagreement with that position.

If we can agree on those three assumptions, I have a proposition for the computer community. We ask the Department of Justice to lay off Microsoft. In return, Microsoft agrees to fully document all API calls in all OSes it actively sells. In particular, if any Microsoft application designer uses or seriously contemplates using an undocumented feature or call, that fact will instantly be published (on the Web). As soon as possible thereafter, that feature or call will be publicly documented; and all Microsoft programmers will be instructed to implement this.

Note that this isn't all that onerous for Microsoft: if they're going to use those calls, it's much to their own advantage that they be properly documented. By making sure that their application programmers understand this requirement, they help their technical-support and interface people.

On the other hand, it levels the playing field for application designers, something Microsoft have always said they want to do anyway. Realisticall y, competing with Microsoft is always going to be a tough proposition, but it shouldn't be made impossible by giving them a head start on using undocumented features of the OS.

Another advantage of my scheme is that it leaves the definition of OS to Microsoft. One of Microsoft's contentions is that they have every right to improve the OS by adding new features, and doing that can't be in violation of the rather loosely worded consent decree they signed the last time the feds paid them a lot of attention.

The consent decree says that Microsoft can't require a computer maker or reseller to buy an application as a condition of getting the OS. This sounds clear enough until you think about it; but can they require you to include Internet Explorer 4, which is free?

Microsoft has a long history of integrating new functions into the OS, and I for one am glad of it. It was hard lines for Novell and Artisoft when Microsoft incorporated peer-to-peer networking into all the shipping versions of Windows , but it certainly was a good thing for me.

Now what if Microsoft claims that proper integration into the Internet requires a browser -- Internet Explorer 4, again -- to be an integral part of the OS? Some say that's a reasonable thing to claim; others say that browsers are definitely applications and in no way belong in the OS.

My proposal would take care of that. If Microsoft insists that an application is part of the OS (and thus must be shipped with the OS whether the computer vendor wants to or not), it will have to be documented like the OS: file formats, hooks, calls, features, DLL hooks, the whole ball of wax must be published. (And here's an interesting wrinkle: at press time, Netscape announced plans to make their browser source code public, beginning with the first Communicator 5.0 developer release.)

I'll leave the details to people more technically competent than me; but it does seem to me this is one way to get the lawyers and the government and, worse yet, the government lawye rs out of our business, so that the resources they absorb can go into making computers faster and better and cheaper. If you like my idea, let Microsoft know. Now back to computing at Chaos Manor.

This month's tale of hope and glory started when I came back from a series of trips and turned on my computers. Princess, my Compaq Professional Workstation 5000 with dual 200-MHz Pentium Pro processors, came up all right, but when I tried to access the Internet, she reported that she didn't have a modem.

I'm not used to problems with Princess. She runs Windows NT 4.0, and, except for trips, she's never turned off. She does all my communications and most of my calculations, serves as the master control station for my networked computers, designs my Web pages, stores my digital pictures, and in general has become indispensable.

At this point, I did a foolish thing: I forgot Pournelle's laws, one of which states that if you have a computer problem, check the cables first. I didn't do that . Instead, I went mucking about in the software trying to see what was going on.

I thought I hadn't changed anything, but apparently I did. When I did come to my senses and checked cables, I discovered that while I was gone, the housekeeper triumphantly used the opportunity to get behind all my systems and thoroughly clean my office. In doing that, she managed to knock loose the cable that connects my U.S. Robotics 56-Kbps Sportster external modem to the serial cable port. Evidently, I hadn't screwed it in properly.

Both of Princess's serial ports are in use. One goes to the Sportster modem; the other goes to the Wacom ArtZ II drawing pad that serves as both an art input device and a mouse pad (both the mouse and the ArtZ II are connected; they don't fight unless you foolishly leave the Wacom pen on the pad and then try to control things with the mouse). I found the modem cable, reconnected it, tried the modem without success, and rebooted into NT.

NT is very good about reporting problems. " One or more processes did not start properly. Check the event log for details." The event log told me the modem software wasn't initializing properly; also that the serial ports were claiming overlapping I/O port numbers. I mucked about for an hour or so. At the end of that time, I was no better off than when I started.

Time to think. First thing: reboot Princess into Windows 95. Aha! Both the modem and the ArtZ II pad are working properly. There's no hardware problem. NT is just confused. Piece of cake. Only, of course, it wasn't: rebooting into NT left me where I'd been the last time, a conflict of serial ports and no modem.

Time to be systematic. First, remove the modem drivers and fool Princess into thinking she didn't have a modem. Next, reboot into Windows 95, see that both devices are working properly, go into System Manager, and record precisely which interrupt request (IRQ) and port number each wants. Then boot up in NT, reinstall the modem and pen devices, and manually force each into th e values reported by Windows 95.

Reboot again.

Voilà. After working for what seemed like all day, I was back where I'd expected to be just after I turned Princess on.

Then I changed monitors on Fireball, and his Ethernet and sound cards both died. Fixing that one required physically removing those devices and reinstalling.

The moral of this story is that Plug and Play is not ready for prime time. Before shutting down any working computer, make a rescue disk copy of all system software. Be prepared to use that disk. You have been warned.

Last month I told you about FreeSpace, from Mijenix. Since then, I've learned a bit more. FreeSpace is a selective file and folder compression program: you can use it on some files and not others. My recommendation is that until you're quite comfortable with it, don't use it on files you simply can't stand to lose.

It's a small memory-resident program that decompresses files on the fly. It does this so well that y ou don't really notice that it's there. Select and view those files with, say, Norton Commander for Windows 95 or Commander and QuickView, and you won't have any inkling that they're any different from any other files. You can edit them and run them if they happen to be programs; it won't matter.

I confess some residual doubts about the safety of compression programs. However, having said that, I've been running FreeSpace for six weeks now, and aside from having more disk space, I don't notice that it's there. I wouldn't recommend using it in systems with less than 32 MB, but then I don't recommend running Windows 95 with less memory than that anyway, and 64 MB is better.

FreeSpace is the second product from Mijenix; their flagship program is Zip Magic. Most of you know that I have long been a fan of WinZip; now it looks as if I'll be a convert to Zip Magic (hereafter referred to as ZM). ZM installs painlessly, with no need to reboot. When it's done, your ZIP files are transparent. Look at them wi th Explorer, and you'll see their constituent files. You can load, edit, execute, as if they weren't zipped at all.

Now true, you can do much of this with Norton Commander and WinZip. For that matter, Canyon Software's Drag and Zip utility has many useful features similar to ZM; but ZM, being memory-resident, makes it all even more transparent.

Moreover, it works with other compression formats, including the CAB format Microsoft uses for Windows components. If you double-click on a CAB file in Explorer, you'll see everything that's in it. If you need to restore a corrupted file, you can copy it, saving a lot of time over reinstallation. All told, ZM sets a new standard for archive management software.

The ZM manual says it requires 8 MB of memory. This is fine if it refers to running in Windows 3.1, but anyone running Windows 95 in 8 MB of memory is probably doomed to mysterious events, including crashes, even without adding a memory-resident program, however small. Of course, memory is chea p, and with 32 or more MB you won't have any problems, even with both ZM and FreeSpace installed; or at least I haven't.

Due to sloth (and that WinZip is pretty good) I came late to ZM, not trying it until I'd had experience with FreeSpace; but I have had no problems with ZM, and the few I've heard about from other users haven't amounted to much. Like FreeSpace, this seems to work like magic, and it won't take you long to forget it's there, even when you're using it. Mijenix seems to have a really good understanding of the way Windows 95 works.

Just be sure you have enough memory -- but you should do that anyway. The real secret to painless working with Microsoft products (including plug-ins to Windows 95) is to have lots of memory. Fortunately, that's fairly easy to do now.

And having said that, let me add a caution. It used to be that memory was memory; so long as it met the timing specifications, it would work, especially if you bought from a brand name such as Kingston. No lo nger. Larry Aldridge of PC Power & Cooling warns that if you are building a Pentium II system using the LX chip set, be extremely cautious. Find out from your motherboard manufacturer precisely what make and model of memory-chip boards are known to work with that particular motherboard, and get that memory and no other. Note that memory that works with Intel motherboards very likely won't work with Hewlett-Packard boards, and vice versa.

Worse, the failure modes are intermittent and generally not repeatable. You may -- probably will -- get mysterious lockups and crashes and generally weird behavior, even with memory that seems to meet or exceed the SPD and JEDEC standards, if it's not the exact memory specified by the board manufacturer. If that's all Greek to you, don't worry about it. Just be very careful to get memory that has been tested and recommended by the motherboard maker.

If you're building a Pentium II system, you will also need an OS patch that will let it recognize the added cont rollers present in LX systems. As an example, without that patch, the system won't know about the universal serial bus (USB) and will often exhibit bizarre operating characteristics. The patch is usually supplied on a floppy disk by the motherboard maker; be sure to get and use it.

We're about to build a Pentium II system here at Chaos Manor. I'll have more to say on this after we've done it. If you get one running first, let me know what happened.

If you use NT, you need Diskeeper 3.0. It's the only disk defragmenter for NT that I currently recommend. Diskeeper installs simply and quickly, runs in the background, can be scheduled to run daily, and appears to be utterly safe. Clearly, I have no way to guarantee the safe part; but I have been using it for more than a year on my big server as well as on all my NT workstations, Alex has it going for most of his clients, and we have had no problems whatever, nor have I any reader reports of problems.

Disk defragmenters aren't very ro mantic, but they are necessary. Disk fragmentation can not only slow things down, but actually cost you disk space.

Diskeeper 3.0 is for NT only (there is a version 7.1 for VMS). As I have previously reported, for DOS and Windows 95, I like Golden Bow Systems' Vopt. There are probably other reliable defrag programs out there, but these are the ones I use, and they're good enough. Recommended.

The U.S. has more lawyers than the rest of the world. I don't have to join the ranks of the "Let's kill all the lawyers" crowd to think there may be a few of them interested in drumming up business. It's interesting that the vast increase in supply hasn't produced a corresponding fall in prices; if that reminds you of the Adam Smith quote I gave earlier, perhaps it should. In any event, it has long been in the interest of most members of the legal profession to restrict access to legal information not mediated by lawyers.

Of course, there are a few rebels. You can find some of the best mater ial at Nolo Press ( http://www.nolo.com ). Nolo has long published books exposing some of the arcana of the legal profession, making access to the law available at nonlawyer prices. They have software for making wills, forming corporations, patenting software, prenuptial and even pre-living-together agreements, sales, and much more.

Their latest is Small Business Legal Pro 3, a CD-ROM containing six legal books on small business activities, from tax law to marketing to using small-claims court. I'm not advising small business start-ups to do without legal advice, but I'm quite certain you can use these books as a good start. The best way to save money on legal fees is to have your case organized as well as you can before you start paying for billable hours; this CD is nearly certain to save you far more than it cost s. Recommended, and while you're at it, get Nolo's catalog and get on their mailing list. It's worth it for the lawyer jokes alone.

I am still playing last month's runner-up game of the month, Interplay's Fallout, a post-atomic war role-playing game. I have to say it hooked me: my character is now powerful enough to not be in much danger, but I have acquired a nonplayer character dog. I seem to have made it a major goal to get through the game without letting the dog get killed, which isn't easy since he loyally attacks anything that menaces me.

When I wrote about this last month, I railed against DOS games now that Windows 95 exists. In fact, Fallout is a Windows 95 game that has a way of running on DOS machines. It runs right out of the box in Windows 95; right now, it is my choice of role-playing game of the year.

The game of the month is The Great Battles of Alexander, from Interactive Magic, the best classical era war game I've ever come across. It has all the look an d feel of a good miniatures game, as well it should, since it's adapted from tabletop gaming rules.

In classical era warfare, the casualty counts were extremely one-sided, because the actual battles were rather short -- hand-to-hand combat in bronze armor is tiring -- and usually ended when one side broke and ran. Most casualties were then taken by the loser in the pursuit. (It's an old military maxim: battles are won in the battle line, but victories are won in the pursuit.)

Miniatures war games have very complex formulas for determining the outcome of battles through morale checks. Morale-check factors include such things as can you see enemies fleeing or friendly troops routed, are you in communication with your leader, etc., as well as how many losses the outfit has taken. All this tends to slow things down, so that tabletop games often consist of 10 minutes of movement and 40 minutes of calculations.

The Great Battles of Alexander keeps the complex calculations, but they're all done ver y rapidly behind the scenes; what you see is the clash of spears and push of pikes, and then the results: casualties (your formation gets smaller), and one side (rarely both) may break and run. The game is simple enough to play, but winning is none so easy: Alexander has better troops than his enemies, but usually fewer of them, and you can't afford to make many mistakes. If you like classical era war, you will love this.

The computer book of the month is the "Special Edition" series of Que's Using books. The one I have in mind is Using Java by Joseph Weber (ISBN 0-789709-368), but all of them are good. Books in the Using series tend to be rushed out at the same time as the products. While they're often quite good, I tend to find Learn X in 21 Days titles better organized for first looks. Later, though, when you need explanations and some of the professional-level details, the Special Edition Using books pull ahead; or so I find. Anyway, Special Edition Using Java is useful as a reference an d a learning guide, with many examples.

The book of the month is by Chaim Herzog and Mordechai Gichon, Battles of the Bible (Greenhill Books, ISBN 1-85367-266-1), a 1997 reissue of an 1978 book. Herzog is a former Israeli general who made use of his Biblical knowledge in the Arab/Israeli Wars: the strategic terrain has not changed much in 2500 years. The book traces all the known Biblical battles, including some previously thought to be legendary, shows the terrain, and examines what may have happened. It's fascinating reading. One caution: there are some good detail maps, but there's no good strategic map. If you get this book, you may want a good Old Testament atlas.

Chaos Manor is filling up, mostly with excellent software and equipment. Prominent among new arrivals is a 21-inch Eizo monitor; you may or may not know that Nanao is the parent company of Eizo. For a long time, my 15-inch Nanao was the best monitor in the house. Then I switched to 21-inch ViewSonic monitors, a move I have ne ver regretted. Now, Nanao/Eizo is doing a great job of winning me back. I'll do some more tests, but to me the bottom line is, if you mostly do text and line drawing (e.g., CAD), you'll find ViewSonic more than good enough; but if you need really great color fidelity, you may want to spend the extra bucks on Nanao/Eizo. Either way, once you go to a 21-inch screen, you will never be satisfied with anything smaller. Trust me.

Next month, the Chaos Manor Users Choice awards and the annual Orchids and Onions parade. Stay well.


Product Information

Diskeeper 3.0 Server..........................$399.00
Workstation...................................$ 75.00
Executive Software
Glendale, CA
Phone:    800-829-6468
Phone:    818-547-2050
Fax:      818-545-9241
Internet: http://www.execsoft.com

The Great Battles of Alexander................$ 39.95
Interactive Magic
Research Triangle Park, NC
Phone:    800-559-0434
Phone:    919-461-0722
Fax:      919-461-0723
Internet: http://www.imagicgames.com

Small Business Legal Pro 3....................$ 79.95
Nolo Press
Berkeley, CA
Phone:    800-992-6656
Phone:    510-549-1976
Fax:      510-548-5902
Internet: http://www.nolo.com

Zip Magic 1.0.................................$ 39.95
Mijenix Corp.
Boulder, CO
Phone:    800-645-3649
Phone:    303-245-8000
Fax:      303-245-8111
Internet: http://www.mijenix.com


Jerry Pournelle is a science fiction writer and BYTE's senior contributing editor. You can write to Jerry c/o BYTE, 29 Hartwell Ave., Lexington, MA 02173. Please include a self-addressed, stamped envelope and put your address on the letter as well as on the envelope. Due to the high volume of letters, Jerry cannot guarantee a personal reply. You can contact him on the Internet or BIX at jerryp@bix.com . Visit Chaos Manor at http://home.earthlink.net/~jerryp/ .

Up to the Pournelle section contentsGo to next article: WEB EXCLUSIVE:  Ask the Stars
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network