Twelve Years and Still Complaining

Dr. Dobb's Journal August 2000

By Al Stevens

Al is a DDJ contributing editor. He can be contacted at astevens@ddj.com.

This month is my 12-year anniversary writing this column, and I guess there's not going to be a surprise party. After 10 years, they at least gave Jon Erickson a lifetime supply of free coffee at a local espresso den a short walk from his office. That's all Jon needed -- more caffeine. Each morning, he takes a leisurely stroll to the coffee shop and sprints back to work in leaps and bounds, pirouetting along the way. Anyway, having lasted a dozen years, and with no free corporate cappuccino to jolt me into doing some real work, I get to lay back and cogitate a bit on what bugs me.

Loving Bugs

What bugs me this month are love bugs. Every now and then, a computer virus takes the world by storm and by surprise. The so-called "Love Bug" virus is now settling down, and we programmers are amazed once again by the simplicity with which a mischievous programmer can fool people. The Love Bug virus depends on the trustful nature of people and their relative technical naiveté. The virus is an attachment to an e-mail message in the form of a Visual Basic script. The e-mail message, which has the subject ILOVEYOU, promises an affectionate message in the attachment for the recipient. When you double-click the attachment's icon to run the script, the script does malevolent things to your files and then sends itself to everyone in your address book, assuming you use Microsoft Outlook for e-mail, which virtually everyone does. All your correspondents receive what looks like an affectionate message from someone they trust -- you.

The virus works because most people do not know the meaning of the VBScript icon and file extension, and they do not know not to double-click something they do not know anything about. The virus's effect is a two-edged sword. Not only does it maliciously damage the files of anyone who runs the script, it also clogs your inbox with numerous copies of itself from everyone who knows you and is similarly infected. And it also overloads the e-mail transport system worldwide. Media experts, whoever they are, estimate $10 billion in lost employee time. I wonder where they got that number. When employees read personal e-mail on the clock, it's difficult to measure the cost of time used, much less lost. How about the cost of time lost reading personal e-mail?

From my limited perspective, the real log jam came not from the virus itself, but from the well-intentioned messages warning me about it. I did not receive a single copy of the Love Bug virus. In fact, I've never received any virus of any kind. But I did, and always do, receive countless warnings. Where are the experts to measure the loss of employee time spent sending and receiving virus warning messages?

Microsoft posted a patch to Outlook that disables its ability to run executable attachments and warns you if any program tries to send e-mail to the folks in your address book. Where are the experts to measure the loss of employee time getting around the patch when legitimate executable attachments need to be run? What do we pay for the compromised functionality of mail-enabled applications that can no longer use the address book without user intervention?

The real irony would be if Bill Gates sent "I love you" to Janet Reno several hundred times a day. That would somehow make it all seem worthwhile.

The Blocking Bug

The Love Bug virus is not the love bug that bugs me today. I spend a lot of my time on the road in search of new stories to write, traveling in the RV, which was once christened the "Titanic," and is now rechristened the "DobbsMobile" (the picture at the bottom of page 120 shows why). Much of that travel is through the southeastern states. Those who visit Florida and south Georgia in the spring and fall know well the original love bug. Those kids in Manila think they made things uncomfortable with their Love Bug virus. They should try driving through swarm after swarm of Florida love bugs.

The Florida love bug is an insect indigenous to the southeast whose peculiar mating ritual gave the bug its name. They do it in flight. In fact, that's all they do. Or, at least, that's all anyone has ever seen them do. Occasionally, you'll find a love bug staggering around on the ground by itself, basking in the afterglow and smoking a cigarette, but mostly they fly -- I suppose love bug foreplay is taxiing -- and you run into them in pairs in the air. Literally. During their airborne trysts, each couple maintains an altitude ranging from the top of a vehicle's windshield to the bottom of its grill. That's their strike zone. Being gregarious creatures with no concept of propriety or privacy, they do it in orgies, er, swarms at those altitudes. Several thousand couples happily inducting one another into the meter-high club, almost always directly over well-traveled pavement. You're tooling down Florida's scenic route A1A just fresh from the carwash and listening to Jimmy Buffet when, "Splat!" Reproductus interruptus several thousand times over.

The consequence of all this lover's suicide is a mess of coupled bug corpses all over the front of your vehicle. To combat the invasion, accessory manufacturers invented the vehicle "brassiere," a titillating but descriptive name for a vinyl cover that protects the front finish and radiator from a massive smear that would spoil paint and block airflow. As we speak, the DobbsMobile's brassiere, shown in the picture sporting its new Dobb's logo and without any buggy blemish, is a mass insect grave that I have to clean up.

I wish those pesky love bugs would just go take a flying...er, I wish they'd just go away.

Mixed, Muddled Metaphors

We programmers can't get our metaphors straight. Our thinking is all mixed up. Look at the things we design. We love metaphors but don't understand how to use them properly. Consider Windows, created by programmers, and used by so many people that it violates antitrust laws, or so they said. The ubiquitous Windows user interface is a morass of mixed metaphors that just don't fit. Some were pilfered, er, inherited from earlier operating environments, and others were contrived by programmers who built Windows. Let's consider some real things that Windows uses to represent GUI components.

Let's start with the desktop. I'm looking at my desktop, what I can see of it. My real desktop. The top of my desk. First off, it's horizontal not vertical. Otherwise everything would slide off. Duh. My desktop contains my computer, telephone, books, a coffee cup, some CD-ROM cases with and without CD-ROMs (which may or may not match the labels on the cases), random notes and papers, diskettes, car keys, an uneaten wedge of pizza from sometime last month, five empty soda cans, several pencils that need sharpening, an electric pencil sharpener that quit working last year, back issues of newspapers and magazines, and clutter. There's not a folder, window, or shortcut anywhere on this desktop. Okay, there could be a folder or two, but I'm not that well organized, and folders not in use ought to be in file cabinets, not on desktops.

Folders? If I had a folder on my desktop I could open it and look inside, whereupon it would certainly not transform itself into a window, that's for sure. That would be scary. Hey, what happened to my folder? It's a window now, not a folder. Huh?

What's a window? I'm looking out my office window now. I can see through it to my yard, which needs mowing. The office window is transparent like a window ought to be. I can see what's beyond it, not what's in it. It's closed, too, to keep the flies out. When I open the window, I see the same things that I see when it's closed except that I see them better, without the dirt and spiderwebs. When I close the window, guess what? It doesn't disappear! I wish it would so I wouldn't be reminded that my window needs washing and my lawn needs mowing.

Can't find any shortcuts on this old desktop, either. I took a shortcut yesterday into the woods behind the house so Judy couldn't find me. She wanted me to take her to Wal-Mart. We had a dialogue about that later. (Notice I used the preferred spelling.)

What's a dialogue, er, dialog box? Wait a minute. A box? Not a window? Certainly not a window box. No, it's a box and it's also a dialog. Huh? I know what a box is. It's a three-dimensional rectangular container into which I throw stuff. I use a box for a trash can whenever I clear my desktop. I don't drag the stuff to the trash can, though. Some of it, like that old pizza, would leave a smear. Can't be dragging stuff around here. I pick it up and throw it. Unless I eat it.

A dialogue, on the other hand, is a conversation between two people. Unless one of them is your wife. Then it's a monologue. Output only. Shut up and listen. How come Windows has "dialog boxes" that only tell us something? Why aren't they called "monologue boxes?" The OK button by itself doesn't constitute two-way communication. Judy's monologues have an OK button. I press it by saying, "Yes, Dear." I have to use it, but it doesn't add any information. I am not permitted to press her Cancel button; it is disabled. Her Help button always delivers the same dialogue, er, monologue, which says, "You know perfectly well what I mean." "Yes, Dear."

Recycle bin? Give me a break. I have a real recycle bin in the garage. Someday I'll get around to putting those empty soda cans and newspapers in it, and the county will come get the stuff and process it for reuse. (Hmm, maybe they can make penicillin out of the pizza.) How, pray tell, does my real recycle bin relate to the Windows recycle bin? Well, Microsoft had to come up with a name other than "trash can" because Jobs already used that one and he and Gates weren't exactly chummy when Windows was ripping off, er, being influenced by the Mac's metaphors. "Shredder" might have worked except for the sinister connotation associated with people shredding evidence. There are better metaphors for deep-sixing stuff than a recycle bin. Maybe an icon with a flush handle?

"Icon" used to mean a sacred religious image of a saint. I don't keep any pictures of saints on my real desktop. No analogy to that anywhere on my Windows desktop, either, for that matter.

Go to your desktop -- the virtual one -- and open My Computer. (Actually, open yours.) See those little drive letters. We hairy-chested he-man command-line users understand one letter and a colon. That's something a guy can get his hands around. Those sissy GUI dependency geeks need icons, or so say the designers of Windows. Now, select a drive icon that represents a hard drive. Windows calls it a "Local Disk." Select a CD-ROM drive. Windows calls it a "CD-ROM Disc." What is the difference between a disk and a disc? Windows calls the diskette drive a "3 1/2 Inch Floppy Disk." Hey guys, catch up to the 21st century. They're encased in hard plastic. They don't flop anymore.

And finally, how about menus? Who decided to call them that? Real menus don't have commands, they have food -- lists of items from which you may choose something to eat. Imagine a menu commanding you, "You will have the catch of the day!" And by the way, where's my senior citizen discount?

Breaking Up Is Hard to Do (continued from last month)

Several weeks ago, the Justice Department forwarded its recommendations to the judge who found Microsoft guilty of nefarious business practices. By now, everyone knows the recommendation -- that Microsoft follow in the footsteps of Standard Oil, American Tobacco, and AT&T and be broken up, in this case into two companies -- one to do Windows and one to do applications software and Internet stuff. Justice didn't say who gets the developer stuff, at least not in the media coverage of the recommendation. I wonder which company gets Bob. Who? Oh, you've already forgotten.

The Justice Department postponed its announcement until just after the stock market closed on Friday hoping investors would forget about it over the weekend and the decision would not cause any panic selloffs and cut into the billions of Gates and Ballmer. Nice of them to do it that way. Microsoft stock went up three bucks on Monday, down three bucks on Tuesday, and almost nowhere the rest of the week. Business as usual. Nothing at all like the drop following the guilty verdict a month before. I guess it's more shameful to be guilty than it is to be cut down the middle. Do you suppose someone read the parable of King Solomon and the baby and missed the point?

None of the media caught the irony in the government's use of Gates' e-mail as evidence. Doesn't anyone ever learn? Isn't that how they nailed Ollie North? You'd expect it from an officer, but hey, Bill! Hey, techiest of the new age technocrats! Hey, world's smartest, richest nerd! ENCRYPTION!

Under the Justice recommendation, the operating-system company is allowed to license Internet Explorer from the application company until the operating-system company develops its own browser. Huh? I thought the idea was to separate the operating-system guys from the browser guys to eliminate unfair competition with other browser developers. Furthermore, the application company is free to continue supporting its applications on Windows but is equally free to develop its own operating system. Huh? Oh, I already said that. The applications guys are permitted to port all their heavy-duty applications to other operating systems, such as GO, the Mac, and Linux. Yeah, right, just like all the other high-end applications developers who were never constrained to develop for only one operating environment and who want to grab a piece of that vast untapped market. You think Microsoft wouldn't have already been doing that if there was any money in it?

This Justice Department recommendation shows no promise of remedying anything; it seems punitive, nothing more, nothing less, and, as such, serves only the interests of civil servants who want to justify their jobs, self-aggrandizing politicians who want to monopolize the limelight, and Microsoft's competitors who want a government-subsidized advantage without working for it. The rest of us will be better off if hizonner da judge sentences Gates and Ballmer to community service and forgets this whole breakup thing.

Next month, I quit complaining (until next year) and get back to programming.

DDJ