Since you're a computer guru, can you give me some free advice?

(I find it interesting that of all the sections in this profile, this section is the one that women are most likely to skip.)

To do that properly would take a memo longer than this profile. My "Statement of Mission" has lots of good advice. But here are some good tips:

Purchase only brand name, high quality computers and components. For PCs, I would only consider Dell, IBM and HP. (I purchase Dells servers and desktops and IBM notebooks.)

When purchasing a new computer, most people are too concerned with processor speed and not concerned enough with memory. Unless you're an unusual user, it will make little difference whether your CPU runs at 2 or 3 gigahertz. It will probably make a substantial difference whether your PC has 256 MB of RAM or 512 MB. (If I were purchasing a PC in 2004 or later, I would purchase 1 gigabyte of RAM.)

Consider purchasing an ergonomic keyboard, such as the Microsoft Natural keyboard. If you're really serious, Adesso makes several high end ergonomic keyboards.

Except for emerging technology or technology involving miniaturization (e.g., mobile devices such as notebook computers), computer technology is now so mature that useful lives of new computers are now quite long. In short, you don't need to upgrade nearly as often as you did a decade ago. Going forward, in purchasing desktop computers, I aim to keep them at least 4 years; servers, 6 years; black and white laser printers, 8 years. Notebook computers have a much shorter useful life, perhaps 2 to 2.5 years. (This is true of all miniaturized technology, namely that it has a shorter useful life than other technologies.)

I rarely have a need to upgrade software (either an operating system or a new version of an application package) when it first comes out. Instead, I wait until at least one service pack (a collection of bug fixes) has been releases, and perhaps two service packs if the software offers a lot of new features over the previous version.

I almost never upgrade an operating system on an existing computer. Rather, I wait until I purchase a new computer and it will have the new operating system already installed with me. This means I time the purchase of a new computer so that at least one service pack has been released (i.e., don't buy a new computer immediately after Windows XP was released). The exception would be if the next version of Windows offered better security, which I suspect it will.

Assuming you don't need genuine Postscript (as opposed to a Postscript clone), Hewlett-Packard makes excellent laser printers. They are highly reliable, they last forever, they rarely jam, and when the do jam, clearing the jam is easier than with other printers. If you need genuine Postscript (I use a lot of Postscript type faces), I am partial to Xerox laser printers, which unfortunately are not as well engineered as HP printers. (The Xerox laser printer I have jams so often that I purchased a second laser printer to use as a backup while I'm waiting for the Xerox service technician to arrive.)

When purchasing any computer hardware, consider not only the initial purchase price but also the total cost of ownership ("TCO"). Ink jet printers, for example, are less expensive than laser printers, but their supplies (on a per page basis) are much more expensive. If you will be printing more than X pages per month, the TCO of an ink jet printer will be higher than the TCO of a laser printer.

Consider multifunction devices — combination printers, scanners and fax machines — only if your budget is tight and you volume requirements are low. If you have high volume and are not on a tight budget, you'll have better luck purchasing a separate scanner, fax machine and printer.

Backup regularly. Since this is something most people neglect to do, you should consider an Internet backup service (such as Connected, which automatically downloads every night copies of all files that have changed in the last 24 hours.

If you backup to tape, always use the verify option, which reads what was written and compares it to what is on your hard disk. It slows the backup down considerably but the extra protection is worth it.

Don't maintain your only copy of a file on a floppy disk. They're simply too unreliable.

If you're archiving to a CD-ROM or DVD, I would make three separate copies on three separate CDs or DVDs. Use only name brand CDs or DVDs. PC Magazine and other publications have published articles about which brands of CDs and DVDs last longest.

I like PC Connection for purchasing peripherals and software. Their Web site is well designed and their prices are reasonable. For a computer store, I like CompUSA.

Get a broadband Internet connection, such as cable modem or DSL.

If you're choosing computers and software for your business, the easiest way to reduce TCO is to standardize, standardize, standardize.

Be very, very skeptical of studies and reports from third party information technology ("IT") consulting firms that analyze, say, the advantages of deploying Windows as opposed to Linux. Many of these studies are commissioned and paid for by a vendor, and thus their objectivity is doubtful. (Microsoft in particular is notorious for commissioning studies that inevitably prove that Microsoft software has a lower total cost of ownership than competitive software.) I would trust the three leading computer magazines (PC Magazine, InfoWorld and eWeek).

What advice would you give me in purchasing notebook computers?

When I purchase notebook computers, I am most concerned with light weight, a large screen and battery life.

The batteries should have some kind of lights or display that indicate how fully charged they are; otherwise, purchase a different notebook.

I choose notebooks from manufacturers that will sell a separate battery charger — that way, I can charge four batteries at once. Dell does not sell separate battery chargers and for that reason, I purchase IBM notebook computers.

What advice would you give me in purchasing software?

To accomplish a certain task, consider whether you want to purchase software that you install on your computer or would you rather use a Web-based software system that does not require you to install software on your PC. It makes sense to install a word processor, for example, on your PC; the idea of having to access the Internet every time you want to write and edit is silly. At the other extreme, consider tax software (software that calculates how much federal income tax you owe and prints out the necessary tax forms for you). You're only going to use that once a year, and you know next year the software will be different, if for no other reason than the tax laws will change. Using a Web-based service to calculate your income taxes might make much more sense than purchasing and installing a software package that you use only once a year.

If I am going to purchase and install software, I always purchase software on a CD, rather than downloading it from the Internet. It's just much easier if your computer crashes to restore the software from a CD. I save all my CDs in a special filing cabinet, and now have several hundred CDs.

If you're running a Microsoft operating system other than Windows XP, I would seriously consider upgrading to XP, which is more stable than previous versions. Installing Service Pack 2 is highly recommended, as it adds many security protections missing in earlier versions of XP.

Install a good anti-virus software package and have it upgrade its virus profiles once a week. I use Symantec Norton Anti-Virus. (By the way, don't ever download a file that purports to be a security patch from Microsoft or any other software publisher. It's actually a virus in disguise. No software publisher distributes security patches by e-mail. Instead, you log onto their Web site and download the patches from their Web site.)

You should install a firewall to protect yourself from malicious hackers on the Internet. This is particularly true if your computer is attached to the Internet all the time (e.g., if you have a DSL or cable modem connection). Symantec makes a good personal firewall called Personal Firewall. They bundle it with Norton Anti-Virus in a suite called Internet Security.

Consider installing Mozilla's Firefox Web browser. It has many features Internet Explorer ("IE") is lacking (such as popup blocking and tabbed browsing), and even more important, it doesn't have as many security holes as IE does. However, some Web sites are coded to be IE-specific, so you'll still need IE on your computer.

I live a life of synchronization. My notebook computer is synchronized with my server, so that I have a copy of all files on my notebook, with updates being uploaded and downloaded every time I log in. (The synchronization in Windows XP Professional is quite good.) My mobile phone has a PDA built in which synchronizes with my Act! database.

You should also consider installing a software package to detect and remove spyware. Webroot Software's Spy Sweeper is highly recommended.

Most people should get a good contact management system. Act! is appropriate for most people. If you need a more powerful solution, you may want to consider GoldMine or Maximizer. Maintain your contact information in that package, and then synchronize with your mobile phone or PDA (e.g., a Palm Pilot). That way, if you lose your phone or PDA, you still have your data.

If you're going to be using a particular package — such as Microsoft Word — the rest of your life, then invest the time to learn how to use that package well. I recommend a series of books entitled "Special Edition Using ..." or "Platinum Edition Using ..." by Que Publishing (e.g., the book for Microsoft Word is titled "Special Edition Using Microsoft Word"). The "Bible" series (e.g., "Microsoft Excel 2003 Bible") is also excellent. John Walkenbachhas written several books on Excel that are excellent.

Many computer reference books have a CD in the back that contains an Acrobat .pdf file of the book. This allows you to load the book on your notebook computer so that you can reference the book without having to carry it around. I try to avoid purchasing computer reference books that do not have such a CD.

Microsoft has two e-mail packages: Outlook and Outlook Express. One would logically assume that Outlook Express was a stripped down version of Outlook, but in fact it's a completely different package. I do not recommend Outlook Express. Either go with Outlook or Eudora.

PC Magazine is outstanding. I usually agree with their "Editor's Choice."

Starting in 2000, I decided not to upgrade every version of Microsoft Office, but rather upgrade every other version — e.g., if you have version 9, skip version 10 and wait until version 11 comes out (including a service pack) before you upgrade. Going forward, I'll probably upgrade every third version — e.g., if you have version 9, skip versions 10 and 11, and upgrade when version 12 comes out. Office simply does not offer that many new features in each version that make an upgrade compelling.

If you want to be a power user of Office, learn Microsoft Visual Basic for Applications ("VBA"). VBA is a scripting language that is built-in to Office and other software packages. It is very similar to Microsoft Visual Basic, a well-regarded visual programming language that is easier to learn than most other programming languages. "PC Magazine" published an excellent yet very short introduction to VBA (May 24, 2005, pp. 60-61).

If you're particularly interested in Microsoft Windows or Office, Woody Leonard publishes several free electronic newsletters, which you can subscribe to at www.WOPR.Com.

If your desktop productivity suite needs are not demanding and you don't need to open complex Office files, and you want to avoid Microsoft's monopoly in desktop productivity software, consider Open Office, which is free, or Star Office, which is Sun's version of Open Office and which costs $80. Open Office is reasonably powerful; its biggest problem is that it has trouble opening complex Word, Excel and PowerPoint files.

What are your thoughts Windows vs. the Apple Macintosh?

Overall, my advice is don't get religious about computers, particularly operating systems ("OSs"). Choose the computer and OS that makes the most sense for you. I don't know any Windows user who is blindly loyal to Windows, but I do know several Macintosh users who get emotional about this issue and are blindly loyal to the Macintosh.

For me, the most important factor in choosing an OS is the availability of application software packages for that OS. On that score, it's no contest — Windows wins. There are thousands of specialized packages that only run on Windows. True, I will never use 99.9 percent of these packages, but 0.1 percent still means there are a few dozen packages I will use, and that factor alone is enough to make me choose Windows.

Purchasing a Macintosh can make sense if you have basic needs — the standard version of Office (which does not include Microsoft Access (a development tool used to design database information systems); Access is only available in the Professional edition of Office), e-mail, surfing the Web, and so on. If you know you will not need specialized packages, then purchasing a Mac could make your life a lot easier.

First, although there is no reason why a virus could not be written for the Mac OS, virus writers go where the market share is, and that is Windows. If you're a virus writer looking to make an impact, writing a virus for Windows is how you will spend your time, rather than targeting an OS with 3 percent market share. Thus, if you have a Macintosh, the odds of being infected by a virus are vastly less than if you have Windows, if only because virus writers rarely target the Macintosh.

Second, the Mac is in many ways much easier to use. Its design is outstanding (Apple has always been an outstanding design company).

If you're a graphic artist, then in almost all cases you'll want to use a Mac. Even though almost all of the Adobe and Macromedia software packages are available for Windows, graphics packages simply work better on a Mac. (Windows, for example, has never had a good color model, while Mac has had a good color model from the beginning.)

If you purchase a Mac, expect to pay more than you would for an equivalent computer with equivalent horsepower. The ruthless competition that exists in the Windows PC industry means you can acquire a very powerful PC for little money. Apple, on the other hand, has a monopoly in manufacturing Mac computers. Thus, for the same power, you'll pay 25 to 33 percent more.

One thing that particularly bugs me about Mac computers is that they use a one-button mouse. Windows PCs use a two-button mouse. The right button is quite useful. In almost all cases, if you click the right button, you can view the properties of the selected object.

The current version of the new Mac OS is based on Free BSD, an open source variant of Unix, which means one will enjoy Unix-level stability (i.e., high stability). Apple has done a good job of hiding the complexities and user-unfriendliness of Unix by writing a very good graphic user interface ("GUI") which sits on top of BSD. My impression is that Apple has done an outstanding job with its current new OS.

A very good review of the advantages and disadvantages of switch to the Macintosh, see "While Switching to Mac Will Improve Security, It Isn't for Everyone" by Walter S. Mossberg, The Wall Street Journal, February 17, 2005, p. B1.

What wrong with e-mail packages?

The two most powerful e-mail packages are Microsoft Outlook and Qualcomm's Eudora. Neither one takes into account how most people process their messages and how they manage their workflow. Both need substantial improvement.

First, for many e-mails you sent, you want to keep track of whether the recipient ever responds to your e-mail. Assume you've loaned Tom your favorite book and now you'd like to ask him to return it. When you sent your e-mail, you calculate it should take one week for him to read the message, put your book in the mail, and for your book to arrive. You add an extra week for slack time. Thus, in two weeks you want to be reminded that you sent this e-mail to Tom, so that if your book has not arrived, you can send another e-mail or perhaps call him. What you'd like is when you send the message, you would have the ability to click an icon that says, "Remind me of this e-mail in the future" and a calendar would pop up and you'd be able to pick the date when your e-mail package would remind you.

(There is a primitive way I kind of do this. I send myself a blind cc of the e-mail and then file it in my "Waiting for a Response" folder. But I have to remember to check that folder every week or so, and the e-mails in that folder are not sorted by the date I want to be reminded of them, but rather by the date I sent them. So this doesn't work very well.)

Second, neither of these packages automatically files incoming and outgoing e-mails. Assume you have ten friends that you regularly with whom you regularly e-mail. You would probably create ten folders, one for each of them. The first folder is your folder for Peter. What I'd like is that you tell your package, "This e-mail address is Peter Smith's address. Store all incoming and outgoing e-mails to and from him in this folder." When you receive an e-mail from Peter, it would automatically create a copy and store it in his folder. His e-mail to you would also be stored in your In Box, so you knew to read it. It would be coded in a different color, so that you knew that a copy has already been filed in his folder. You could thus simply read his e-mail and then delete it, knowing that a copy was already stored in his folder, and you would not have to spend time moving that e-mail to his folder.

For sent e-mail, in most cases you want these e-mails automatically moved to his folder, rather than having them in your Sent folder. After all, presumably you know that you sent him a message.

In addition, there might some incoming e-mails that you want stored in a folder automatically without them ever showing up in your In Box. For example, I subscribe to a few electronic newsletters which I don't read very often. Rather, I just want to keep them in a folder and then when I'm interested in the subject, I can go to the folder and read them. An e-mail package should be able to do this.

This second feature is partially possible using Outlook's Rules Wizard and completely possible if you write some VBA code. But it doesn't work very well and I have found the Rules Wizard to be clumsy.

I would also like my e-mail package to handle group lists in a different way. I have a social e-mail list which has about 200 friends and acquaintances on it. As I receive announcements of various social events in Boston, I forward these e-mails to that group, which sends that e-mail as a forwarded e-mail, listing each person as a blind cc. (This prevents each person from seeing the e-mail addresses of the other 199 people.) The problem is that many anti-spam programs say, "James Mitchell is sending a blind cc to 200 people. He's probably sending spam." So they delete the e-mail. What Outlook should be able to do is say, "There are 200 e-mail addresses on that distribution list. I'm going to send this e-mail to each one of the 200 separately." In short, it would send 200 separate e-mails. That way, the anti-spam packages would simply see an incoming e-mail to one person and would have no reason to block it.

Both packages need to offer more flexibility in how they handle attachments that you e-mail. I have a brochure on my firm, Kensington Partners, which I update now and then. When I e-mail it to someone, I want to send the most current version. With Eudora, I can simply resend the e-mail, change the addressee, and it will send the current version and it will not store a copy of the brochure in my Out Box, but rather just the link. Outlook does it differently. When it saves the e-mail, it includes the attachment that you sent, consuming the extra disk space. If you resent it, it sends a copy of what you previously sent, even if the file has been changed in the meantime. This is good if you want to know exactly which version of a file you sent to someone, but is undesirable if (like me) you just want to send the most current version. Ideally Outlook and Eudora would offer you both options, and when you sent an attachment, it would ask you which option you want.

What is the coolest thing on the Internet?

I don't know if it is the coolest, but Google Maps is cool.

How would you improve the Internet?

1) InterNIC (one of the governing boards for the Internet) should create a few hundred new first level domain names. (First level domain names are the domain name to the right of the dot in an e-mail address, such as .com, .edu or .org.) Each of these new names would be used for a specific purposes. There would be a .law domain name to be used exclusively by lawyers. The law firm Cravath, Swaine & Moore, for example, would use Cravath.Law, not Cravath.Com, thus not tying up a name in .com (which is by far the most crowded of the first level domain names). Each of the professions would have a separate domain name — .acct for accountants, .md for physicians, .eng for engineers, etc.

There would be a .movie domain name for movies. Currently most new motion pictures have a Web site. Currently, "Cold Mountain" might have something like "ColdMountaintheMovie.Com" or even worse, www.Sony.Com/coldmountain. Wouldn't it make more sense to simply have www.ColdMountain.Movie? TV stations would use .tv, radio stations .radio, newspapers .newspaper, cultural organizations .cult, restaurants .rest, etc.

2) There ought to be an easy way for everyone to have a lifetime e-mail address. Assume you have a friend Lisa Smith, whom you met in high school. She goes to college, then to graduate school, then works for ten different companies in his career, and then when she retires she has yet another e-mail address. This would mean 14 different e-mail addresses for Lisa throughout her life, which is a pain to keep track of.

Right now, there are a couple of ways for Lisa to handle this. She could use a portal such as Hotmail or Yahoo. The problem, of course, is that she is stuck with, say, Hotmail unless she wants to notify everyone of her new e-mail address. And Hotmail and the other portals have severe storage constraints.

If she was technologically sophisticated, she could get her own second level domain name. A friend of mine, Brad Feld, acquired Feld.com in 1994, and he's been using it ever since. He'll have one e-mail address his entire life. Most people don't do this, however, and there is some cost to do so — Brad pays about $50 a year to a registry for the Feld.Com domain name and another $50 a year to his ISP for maintaining the domain name.

My solution would be to assign an unique e-mail number to every American who is alive, and to every American as they are born. It would be like a social security number but it would be a different number than one's SSN. Assume that the number assigned to me was 109-298-398. Each ISP would have a directory (like the domain name server that translates domain names into physical IP addresses) containing all of the e-mail numbers that have a e-mail address assigned to them. My e-mail address is jmitchell@kensingtonllc.com, for example, so this directory would know that 109-298-398 should be sent to jmitchell@kensingtonllc.com. If you wanted to send me an e-mail, in the To: field you would type #109-298-398. Your ISP's e-mail server would then look that number up in the directory and then know to send it to jmitchell@kensingtonllc.com. For the rest of my life, I would only have to give out one number and if you wanted to keep in touch with me throughout your life, you would only have one number to keep track of. As I changed e-mail addresses (not e-mail numbers), I would simply let the directory know that my e-mail address had changed. You would not need to know about this change because you would continue to use my e-mail number, which you could use forever.

A variation on this would also make it easier to remember what to type in. Assume the U.S Government does a survey of common names and concludes that even the most popular names have no more than 10,000 of them — i.e., there are no more than 10,000 John Smiths in the world. Thus, one of the John Smith's could have e-mail sent as #John_Smith_09871, which presumably is a bit easier to remember than 109-298-398.

(Some schools offer a similar service such as this. Students at Harvard Business School, for example, are assigned a life-time e-mail address. If Alexandra Jones is entering the MBA class of 2007, she is assigned AJones@MBA2007.HBS.Edu, which she can use the rest of her life if she lets HBS know which e-mail address e-mails should be forwarded to.)

3) Each document available on the Internet should be assigned an unique number which can then be easily located. Assume Paul Smith is a professor of materials science at the University of Southern California, and he has published 10 articles in his career, which he has put on the Internet. The School of Engineering has offered him a Web page. If you want to read his first research paper, you might type in this URL:

www.USC.edu/engineering/smith_paul/article_01

Various documents that cite Smith's first document would then list this URL.

The problem is what happens if Smith moves to Northwestern University? All of those URLs that cite how to get to Smith's article are now incorrect.

My solution is to have an international directory of documents; each document would be assigned an unique number. This directory would then keep track of these numbers and their associated URL. Assume that Smith's research paper I is assigned the document number 1098-2987-2987. If you wanted to read that paper, you would type into your Web browser DN#1098-2987-2987. Your Web browser would then query the document database and find the correct URL. When Smith left USC and moved to Northwestern, each of his research papers would now have a new URL. He would update the directory with these new URLs. The document numbers would stay the same, however, and you would always be able to find his research papers.

What an document would be would be broadly defined. Every article in every periodical that publishes on the Web would be assigned an unique number. Every essay, working paper, white paper, etc. would be assigned an unique number. In addition, one might want to have the ability to have version numbers, since people often have drafts of documents on the Web. Assuming that no document needed more than 10,000 versions, the 16th draft of Smith's research paper would have 1098-2987-2987.0016 as its document number.

What are your thoughts about publicly-funded research being available to the public?

[To be added.]

(As of 2004, there is a proposal to remove all copyright protection for publicly-funded research.)

[Universities providing their curriculum on-line, as MIT does]

What would you do about spam?

First, we need to ask ourselves, "What is spam?" Spam is simply e-mail that none or almost none of the recipients want to receive. Almost all spam is commercial spam — i.e., e-mail that is trying to sell you a product or service, in exchange for money, either in the e-mail itself or by convincing you to go to a Web site.

The essential part of spam is that almost none of the recipients want to receive it, yet each recipient has to spend a few seconds or more dealing with it. Assume that you send out 1 million e-mails, trying to sell the recipients brand new snow tires for $100. If 1 percent of the recipients (10,000) decides to purchase your snow tires, I would not call that spam, since a meaningful number of the recipients find it worthwhile to read your e-mail and then purchase your tires. (I'm assuming that you're selling good tires and that your e-mail is truthful.) The other 99 percent of the recipients did not find your offer worthwhile and had to spend time reading your e-mail, but that's life. I would argue that the cost imposed on these other 99 percent is small enough to justify the benefit the 1 percent received by being able to purchase good snow tires at a fair price. So I would not call your e-mails spam.

At some point, the number of people who want to purchase your snow tires becomes so small that I would call it spam. At that point, the cost in time to the people who are not interested in purchasing your snow tires outweigh the benefits received by the few that want to purchase your snow tires. If only one out of a million people want to purchase your snow tires, most people would agree that your e-mails are spam and are therefore undesirable.

Why is spam more bothersome than junk mail? There's simply a lot more of it, and the reason for that is that it costs almost nothing to send spam, while it costs money to send junk mail. Because it costs money to send junk mail, you don't receive that much of it (as compared with how much spam you receive) and those who send junk mail would not attempt, for example, to sell snow tires to Florida residents. They are more careful about who they send junk mail to, because each junk mail piece they mail costs them money. Since sending spam costs almost nothing, spammers are not concerned about sending completely unwanted solicitations. If you send a million spam e-mails which lead to ten sets of snow tires being sold, you've made a profit.

With both junk mail and spam, the recipient pays a small cost in the time he must spend in throwing the junk mail away and in deleting the spam. The crucial difference between junk mail and spam is that junk mail costs the sender some money while sending spam is basically free for the spammer.

If you're a spammer, since almost no one wants your e-mails, you must send millions of them to get any response at all. The other defining characteristic of spammers is that they almost always operate by opening up a new e-mail account, sending millions of e-mail messages (or more), and then closing down the account or having it closed down for them by their ISP. In short, their e-mail accounts stay open for a very short period of time.

These two characteristics of spammers — that they must send millions of e-mail and they do so from new e-mail accounts that stay open for a short period of time — combine in a nice way to permit a simple, technological solution to spam. Simply put, the idea is to impose a certain cost for sending spam that would it make it uneconomical to send spam unless a meaningful number of the recipients wanted to receive it.

The cost could be monetary. One could simply impose a tax of, say, 1/100 of one cent ($.0001) for every e-mail sent. This would be politically infeasible, however, and could impose problems for low-budget non-profit foundations and for poor people.

Microsoft Research ("MR") has proposal a solution that involves imposing a cost in computer time. Within one year every ISP would be required to install certain software on their e-mails services. (These algorithms have been written by MR, which would put them into the public domain.) The first time any e-mail account sends a message to a new recipient, it would have to create an unique token number, which it would do so by running an algorithm on the sender's computer, running in the background. The first such running of such algorithm during a 24 hour period would take about 30 seconds of computer time, the second would take 45 seconds, the third would take 60 seconds, etc.

This algorithm would need to be run only the first time an e-mail account sent an e-mail to a certain recipient. After that, every time you sent an e-mail to that recipient, you would not need to run this algorithm. Assume this policy has just been implemented. You send 100 e-mails the first day to 100 different recipients. Since this was the first time your e-mail account had sent an e-mail to each of these recipients, this algorithm would have to be run 100 different times, in the background, for a total of 77,250 seconds, which is about 21.5 hours. Thus, during the first 24 hours you would be able to send your 100 e-mails, with this program running in the background. But you couldn't send 1,000 e-mails.

The second day, you send another 100 e-mails. But 75 of these are to people you've contacted during the first day, and only 25 people are new. So your algorithm would be running in the background for 1.45 hours. Within a month, you're probably not writing to more than 10 new people a day, so you're not burning up much computer time.

Now look at it from the spammer's point of view. He's sending e-mails to millions of recipients. Each new recipient costs him an ever increasing amount of computer time. And he can't say, "Well, I'll pay this price once for each recipient and then I'm home free" because his e-mail account won't stay open that long. ISPs don't want to have millions of messages sent through their e-mail servers, or to have their IP addresses blocked by anti-spam packages, so they'll quickly close his account. So he has to open a new account and start over.

There's simply no way for the spammer to afford to do this; he would have to purchase tens of thousands of computers. He could afford to do this only if a meaningful number of his recipients wanted to receive his e-mails and purchase his products. By then he wouldn't be a spammer, because my definition of a spammer is someone that sends lots of e-mails that no one wants to receive.

If the spammer is able to find a product that a meaningful number of people want to buy, then he can afford to stay in business. One way he could stay in business would be to be careful about who he sends e-mails to. If you're a spammer and you purchase the e-mail addresses of every person who subscribes to "Samoyed Magazine" and you send an e-mail trying to sell a book on Samoyeds to such subscribers, it might make economic sense to purchase the computer power to do so, because there might be enough readers of Samoyed Magazine that want to purchase a book on Samoyeds. If so, that's OK with me, because then it is no longer spam, since a meaningful number of people want to buy your book.

MR's proposal would not cripple legitimate commercial enterprises. If Sears wants to send an e-mail to its customers, that's OK. Sears operates from the same e-mail address, unlike spammers, whom you can't even find. Presumably a meaningful number of Sears' customers want to receive e-mails from Sears. And Sears' customers would be able to easily opt out of receiving such e-mails.

This proposal would not eliminate all spam, but would so radically reduce the number of spam e-mails you received that spam would no longer be a problem. This proposal does not suffer from the very difficult problem of defining exactly what is spam, since it applies to every e-mail that an e-mail account sends for the first time. And it permits those who send e-mails that a meaningful number of people want to receive stay in business. It harms only those who sends millions of unwanted e-mails from newly created e-mail accounts, i.e., the classic spammer.

(This is almost entirely the idea of five researchers at Microsoft Research, the pure research lab funded by Microsoft. I have added the discussion about what is spam, as well as increasing by 15 seconds each additional e-mail.

I have tweaked it a little. See also "How to Stop Junk E-Mail: Charge for the Stamp" by Randall Stross, The New York Times, February 13, 2005, Business section, p. 5 and "Spam is Different" by Paul Graham.

What about pornography on the Internet?

(In this section, I'm not making any judgments about the morality or immorality of pornography, the legality or illegality of pornography, or whether pornography should be legal or illegal. Rather, I have assumed the existing state of affairs exists — child pornography is illegal, consent of adults who are photographed must be obtained, and other than that, pretty much anything goes.)

An .xxx first level domain name should be created. Starting one year from now, any pornography as or more sexually explicit than, say, Playboy magazine would have to be moved to the .xxx domain name. By having a separate first level domain name for pornography, containing pornography would be much easier.

If you never wished to viewed such images, you could install a Web browser that was programmed never to go to the .xxx domain. The same would be true if you had children and wished to deny them access to such sites — simply make certain that on your computer and theirs, the Web browser installed could not go to that domain name.

(If your child was technically sophisticated, he would probably realize that he could go to www.Microsoft.Com and download the latest version of Internet Explorer, which could access that domain name. Perhaps Microsoft could in the future write its operating system so that if a certain switch was set, one could not install a browser that could access .xxx. You could disable this switch only if you had a certain password.)

This would make it much easier to handle spam for pornography. Almost all of such spam tries to coax you to visit their pornographic Web site. If you checked a certain switch in your e-mail software package, it would read each incoming e-mail, and if such e-mail had an URL with a link to .xxx, it would automatically delete such e-mail, or move it to a certain folder. (If you didn't want this, you could always turn this feature off.)

After one year, what would I do about the pornography that was on .com and had not been moved? Rather than impose civil or criminal penalties, you simply turn it off   i.e., that domain name is delisted from the .com directory, and thus anyone typing in that URL would get an error message. An extremely simply and 100 percent effective solution that doesn't require expenditures by prosecutors or the courts.

What do you think of software patents?

Issuing patents for software algorithms is a bad, bad idea. As a former software engineer, I know first hand how every software advance is a small incremental step, based on the work of thousands of others. Large companies such as Microsoft, IBM and Oracle spend tens of millions of dollar a year obtaining software patents solely for defensive reasons — i.e., when someone claims they are violating a software patent, they look closely at the complainer's source code and point out how the alleger is violating a dozen of THEIR patents. It's an absurd system. The U.S. Patent Office is clueless in deciding whether to issue a patent, since the patent examiners are rarely software engineers (and if there are, clearly not good software engineers), and thus they often grant patents to ideas that software engineers knew about decades before. If I were running the patent office, I would not issue any software patents and I would retroactively rescind all patents issued for software. Copyright and licenses provide more than enough protection for software publishers.

What would you do about Microsoft?

Aw, one of my favorite subjects. As someone who thinks he knows a lot about software, the computer industry, microeconomics, industry and competitive analysis and law, I believe I had some expertise on this subject.

Government regulation of private enterprises — whether administrative or antitrust lawsuits — should be based on microeconomic theory. Classical microeconomic theory, such as the works of Alfred Marshall, are based on diminishing returns — products or companies eventually run into limitations, so that a predictable equilibrium of prices and market share is reached. Classical microeconomics is based on the bulk-processing (e.g., metal ores, pig iron, coal, lumber, heavy chemicals, soybeans, coffee), smokestack economy of Marshall's day. If a coffee plantation expands production, it is driven to use land less suitable for coffee — it would run into diminishing returns. The market would be shared by many plantations, and a market price would be established at a reasonable level. Classical microeconomics works fairly well in describing and explaining these kinds of companies. Intelligent government regulation of these industries is and should be based on classical microeconomic theory.

A new type of enterprise and economy has developed, primarily starting after World War II. It is based on increasing returns. Increasing returns are the tendency for that which is ahead to get further ahead, for that which loses advantage to lose further advantage. Increasing returns generate not equilibrium but instability: If a product or company or a technology gets ahead by chance or clever strategy, increasing returns can magnify this advantage, and the product or company or technology can go on to lock in the market.

The leading scholar on increasing returns is Brian Arthur of the Sante Fe Institute and Stanford, whose Harvard Business Review article on this subject provides a good summary.

Mechanisms of increasing returns exist alongside those of diminishing returns in all industries. But roughly speaking, diminishing returns hold sway in the traditional part of the economy, which increasing returns reign in the newer part, knowledge based industries. Since World War II, knowledge based companies have become an ever increasing part of our economy. (This is particularly true because the classic processing industries have mostly become hyper efficient — we can grow enough food to feed our country and to export food with less than 3 percent of our labor force working in agriculture.)

Operating systems are the classic example of increasing returns. You're probably using the Microsoft Windows operating system, and you're doing so probably not because you consider it to be the paradigm of well designed software, stability or good security, but because almost everyone else uses it. Since almost everyone else uses it, software developers primarily write for the Windows platform, making it increasingly attractive to users, and thus increasingly attractive to developers, and then to users, and then to developers, and so on. This is the classic positive feedback cycle.

The government's primary attempt to regulate Microsoft has been to file antitrust lawsuits against Microsoft. Antitrust law is based primarily on two statutes: the Sherman Antitrust Act (1890) and the Clayton Antitrust Act (1914). These statutes were passed approximately 100 years ago, when the economy was based almost entirely on diminishing returns and thus the economic theory behind such statutes was based entirely on classical microeconomics. Subsequent case law interpreting these statues has also been primarily based on classical microeconomics.

Therein lies the fundamental problem with how the government is seeking to control Microsoft — it is using laws and methods based on antiquated and inappropriate economic theory. The people suing Microsoft (the Department of Justice and the Federal Trade Commission) and the people adjudicating the dispute (the trial judge and the justices on the appellate courts) need to understand increasing returns. Regulating a knowledge based company is completely different than regulating a steel company. In addition, they need to understand technical concepts in computer science as well as the computer industry. The number of lawyers and judges in the U.S. who understand computers can be counted on your fingers, with lots of fingers left over.

Given that the prosecutors and judges need to understand this new form of economics as well as computer science and the computer industry, and they clearly don't, it should not be surprising that they got it wrong. Given their lack of knowledge, what would be truly amazing would be if they got it right.

One needs to start with an assessment of what benefits Microsoft has provided to our society and economy. Microsoft has provided extraordinary benefits. The most important is that Microsoft has provided a common ubiquitous platform — the Windows operating system — for which developers can write software. This has huge advantages for consumers, who can purchase tens of thousands of software packages which would not exist if there were 100 operating systems, each with 1 percent market share, creating a world where it didn't make economic sense to write a software package for each small market.

In addition, by separating the operating system from computer hardware, Microsoft has commoditized the hardware industry, creating a hyper efficient industry that continually provides extraordinary improvements in price-performance. Every year you can purchase more and more of a computer for less and less money. The trend will continue for the foreseeable future. (Some believe that at some point we will hit a wall as we reach certain fundamental physical limits, such as the speed of light. For a variety of technical reasons I believe they are clearly wrong.)

People with little understanding of the history of the computer industry underestimate these two advantages provided by Microsoft. I used to work for Digital, which manufactured minicomputers (in fact, they manufactured very good minicomputers). Although Digital was the market leader in minicomputers, there were numerous other minicomputer manufacturers, such as IBM, Data General, Prime, Wang, Tandem and others. Numerous software packages were simply not written because a software publisher would have to write for so many platforms. There is radically more choice in software packages today than when I worked at Digital.

And if you were a Digital customer, Digital controlled everything. They made the CPU, the memory, the disk drives, the printers AND the operating system. (The same was true if you had an IBM minicomputer, or a Prime.) If you wanted to upgrade memory, you paid through the nose. Today, you can purchase memory from 100+ different companies, thus ensuring a very low price.

Accordingly, Microsoft has provided an enormous benefit to you and me in what it has done. We can purchase computers more powerful than supercomputers of a decade ago for less than $1000, and we have an almost infinite choice in software packages to use.

The problem is that along with these enormous benefits, Microsoft has caused considerable harm, and does so more and more each day. Some of this is inevitable in an increasing return industry. Much of this harm, however, is caused by business practices that are clearly unethical and immoral, and as adjudicated by the trial court and affirmed by the appeals court, illegal. (Although that case was primarily concerned with Microsoft's illegal conduct under the browser market and particularly with its actions toward Netscape, that conduct is a very small part of business conduct by Microsoft that is illegal.)

Microsoft's dominance over the computer industry is hard to exaggerate. It is a monopolist in desktop operating systems and desktop productivity software. It is a significant player in local area network and wide area network operating systems (Windows Server). It is the most important publisher of development tools and languages, such as Visual Basic and C++. It is the most important developer of Internet software and tools, and its Internet browser has dominant market share. Its database management system (SQL Server) is one of the three leading DBMSs and its market share is growing. As of January, 2004, Microsoft is generating more than $1 billion a month in excess cash, after taxes. As of July, 2004, Microsoft had more than $60 billion in cash (this was before they declared their $30 billion dividend). The interest on its cash is greater than the revenues of all but a few of its competitors. It has so much cash on its balance sheet that under normal SEC rules, it would be classified as a mutual fund rather than an operating company and it must obtain an exemption from these rules every year.

The issue is what to do about this, particularly going forward. My goal is not to punish Microsoft, nor am I looking to enrich Microsoft's competitors. My only concern is what is best for consumers. In medicine there is a saying, "First, do no harm." If you are going to regulate Microsoft, your first concern should be not eliminate these two enormous benefits provided by Microsoft. So let's look first at what not to do. Putting Microsoft out of business clearly makes no sense. There are tremendous advantages in having a monopoly operating system that provides a common platform for developers and which commoditizes the computer hardware market. And whatever you think of Windows, it is clearly becoming over time a better operating system. Stability in the current versions of Windows — XP for the desktop and Windows Server 2003 for the server — is no longer much of a concern. Security is now the primary concern in Windows, and I'm confident that Microsoft will over time solve that reasonably well, if for no other reason than a good chunk of the Fortune 500 companies will start to consider alternatives such as Linux on the desktop if Microsoft doesn't.

Breaking Microsoft into two separate companies — the proposal accepted by Judge Jackson, which was overturned on appeal — makes little sense if you understand microeconomic theory. Judge Jackson accepted the plaintiff's theory that since Microsoft was primarily a monopolist in two large markets — operating systems (Windows) and desktop productivity software (Microsoft Office) — it would make sense to have two separate monopolists, one for Windows and one for Office. The problem is that these two monopolies are interdependent on each other and thus in the current system, Microsoft has a strong economic incentive to keep the price of these two monopoly products lower than they otherwise be. Microsoft finds it economically rational to price Windows lower than it would otherwise be because it knows that if you purchase Windows, you will likely also purchase Office, and thus Microsoft gets paid twice. If there are two separate companies, the operating system monopolist would increase the price of Windows, because it would no longer care whether a sale of Windows also meant a sale of Office. And the Office monopoly company would also raise the price of Office, since it would no longer care about what happens to Windows' market share. The fact that Judge Jackson accepted the plaintiffs' proposal to create two separate monopolies clearly indicates that he is clueless about microeconomics and the computer industry (as are the plaintiffs).

There was even a dumber proposal on the table — create, say, five companies that each owns the rights to Windows. Each would be free to develop Windows, creating five different versions of Window, each incompatible with each other. Very quickly, there would be no common platform for which to write software, so many if not most software developers would not be able to afford to develop software packages. (This is what happened in the Unix world, where there are 10+ flavors of Unix, each slightly incompatible with each other. Linux offers the chance to remedy this absurdity, although some worry that even inux may become fragmented. (Some are concerned, for example with what Red Hat is doing.)

If one wants a structural remedy (i.e., breaking Microsoft up), I would divide Windows into, say, six companies: one R&D company and five marketing companies. One of these companies would own the rights to Windows and the right to develop and enhance Windows; this would be the R&D company. It would not sell Windows, however. Windows would be sold by the five marketing companies. Each marketing company would have the right to sell the Windows operating system ("OS") that is being developed by the R&D company. The R&D company would be a non-profit company. It would receive revenues from the marketing companies to fund future Windows development, but not to earn a profit. The five marketing companies would sit on the Board of Directors of the R&D company, along with various computer experts appointed by a federal commission.

Let's assume that the Board of Directors concludes that $1 billion a year going forward was needed to develop Windows, and that the five marketing companies estimated they could sell 100 million copies of Windows a year. Each of the five marketing companies would pay $10 a year to the R&D company for every Windows license they sold. The five marketing companies would then be free to sell Windows for whatever price they could charge, to cover their marketing costs, a profit, and whatever services they wanted to provide. Since these five marketing companies are selling the same identical version of Windows, they will be selling a commodity product with all of the advantages that provides for consumers, while at the same time consumers would enjoy the advantages of having a platform that software developers want to write for. If one marketing company charged too much for Windows, the other four marketing companies would undercut it. These five marketing companies would compete with each in providing service. You may choose to buy a more expensive version of Windows from marketing company III because it provided better technical support than the others. (The same is currently true in purchasing commodity computer hardware — you can purchase a high quality computer from Gateway and get lousy technical support, or you can pay a little more to Dell and get great technical support.)

The same would be done for Microsoft Office: one R&D company and five marketing companies. One could also do this for Windows Server, but there is less need to, since the server market is fairly competitive and Linux's market share is growing faster than Windows Server's share.

Putting aside structural remedies, there are numerous clearly unobjectionable remedies that should have implemented if the courts knew what they are doing. (Unobjectionable assuming you're not Microsoft, that is.)

The first is that Microsoft should be required to provide much more technical information so that people can use its software better and so that potential competitors could develop competing products.

  1. Microsoft should be required to publish its source code. Not some of it, but all of it. (In doing so, its legal ownership of this source code would not be changed. You still could not legally pirate its software, it's just that you could see what is going on.)
  2. Any customers who has paid the standard license fee to Microsoft would be allowed to modify the source code (and enhance it) for its own internal use. That way, if there was a huge security hole that really bothered you and that Microsoft would not fix in the foreseeable future, you could always fix it yourself, or hire a consultant to fix it for you. (Richard Stallman, founder of the open source software movement (he prefers the term "free software") asks, "Even if you're mechanically inept, would you ever purchase a car where you could not open up the hood?")
  3. Microsoft should be required to adhere to the coding standards espoused in its own technical books published by Microsoft Press. If the source code provided to the pubic is not properly commented, for example, it is much harder to understand what is going on.
  4. Microsoft should be required to publish all of its internal technical manuals and specifications for all of its software packages. For Microsoft Office, for example, Microsoft has over 500 notebooks of technical specifications used by its development team. One notebook, for example, covers solely the topic of how to convert 1-2-3 spreadsheets into Excel spreadsheets, while another covers how icons should be standardized across Office applications. This information would be extremely valuable to technical customers trying to understand why Office is causing certain problems.
  5. Microsoft should be required to publish all of its standard Application Programming Interfaces ("APIs") and be forbidden to use any "hidden" APIs that it does not publish. APIs are the mechanism by which an application program communicates with the OS. There have been many allegations that the Office developers have an unfair advantage because they use secret, unpublished APIs.
  6. Microsoft should be required to published the data file formats of all of its software packages. It's very hard to develop a product to compete with Word since one of the features a competitive word processor must offer is to be able to open all Word documents flawlessly. Since the data file formats of Word .doc files are not published, it is basically impossible to do this flawlessly. At the same time, Microsoft should be required to convert its data file formats into ASCII files, rather than binary files (ASCII is much easier to read), that are understandable, based on XML, making it easier to understand its file formats and making repair of corrupted files much easier.
  7. Microsoft should be required to publish all of its technical specifications, such as the layout of its file systems.

There are several other things Microsoft could be required to do.

The first is to publish versions of Office for the Linux and Macintosh operating systems, releasing such versions at the same time or before it released the same version for Windows. These versions would be required to work as well, or better, than the Windows version. (Microsoft currently publishes a version of Office for the Macintosh OS, but it is only the basic edition of Office, which excludes packages such as Microsoft Access.)

Microsoft should be required to distribute competing versions of software that are currently provided for free by their publishers. Thus, when you purchase Windows, you would not only receive the Internet Explorer browser, but also the current version of Netscape, Opera, and other browsers, all already installed so you don't have to find them, download them and install them. When you install the OS, the default browser would not be Internet Explorer, but another browser chosen at random. (You would always have the choice to make Internet Explorer your default browser.)

Microsoft should be required to distribute as part of Internet Explorer a version of Java that is acceptable to Sun.

Given that the most serious problems of Windows is its terrible security, Microsoft would be required to fund an independent security foundation, at a cost of $100 million a year. ($100 million is about a week's worth of interest on the $50+ billion in cash that Microsoft has.) This foundation would hire the smartest, most diabolical teenage hackers in the world and pay them well to find every conceivable security loophole in Windows and other Microsoft products. Microsoft would be required to fix these problems as they were found within 90 days.

Some consider my proposed measures too harsh toward Microsoft. My response is that Microsoft has been found guilty of illegal practices and that verdict was sustained on appeal. (The appeals court overturned the proposed remedy (namely the court-ordered breakup of Microsoft) but not the finding of liability.) A federal court adjudicating an antitrust court sits as a court of equity and thus has very broad powers to structure remedies it sees fit.

I should add that in many ways I admire Microsoft. Unless most companies that have become fabulously successful, they are rarely complacent. Their hiring standards are exceptionally high. Their managers are extremely smart; even the middle managers I've met there are extremely impressive. Microsoft learns from its mistakes and rarely makes the same mistake twice. Bill Gates is one of the smartest and most forward thinking people in the world. His idea to step down as CEO of Microsoft in favor of Steve Ballmer, so that he can do what he does best (product design and thinking about the future) while Ballmer does what he does best (day-to-day administration), has created one of the most successful Chairman/President relationships in the history of capitalism. (The Michael Dell - Kevin Rollins partnership is also unusually productive.) If properly regulated, Microsoft could continue to provide enormous benefits to our society and economy.

(If this subject interests you, I highly recommend the last few chapters of "High St@kes, No Prisoners: A Winner's Tale of Greed and Glory in the Internet Years" by Charles H. Ferguson (New York: Random House, 392 pp., 1999). It is a captivating account of how Ferguson started Vermeer Technologies, which published FrontPage (a Web authoring tool) which Microsoft purchased for $130 million. Ferguson is perhaps the most insightful analyst of the computer industry.)

Is Bill Gates as brilliant as everyone says he is?

He's actually smarter. [To be added.]

How involved are you in administering your own computer systems (and the computer systems owned by companies you purchase)?

I break down thinking about computers into six categories:

  1. Understanding the technology — the fundamentals of computer hardware and architect and of software design and programming
  2. Understanding the industry — who is doing what to whom, long-term implications of decisions made by the various players, how various software/platform ecosystems will evolve, the implications of Microsoft's dominance
  3. Hardware and software package selection — What makes the most sense to purchase, given 1 and 2
  4. Installation of hardware and software systems
  5. Using software systems in a sophisticated way — advanced usage of various software packages, designing and writing Visual Basic for Applications routines, designing and implementing databases using Access
  6. Maintenance of hardware and software systems (such as keeping patches up to date), troubleshooting and housekeeping tasks such as doing backups.

1, 2, 3 and 5 interest me greatly, while I have no interest in 4 and 6. Thus, I spend a lot of time thinking about how the computer industry will evolve, which hardware and software packages to purchase given the evolution that I anticipate, learning how to use Microsoft Office in an advanced way, and designing various databases I maintain. I spend no time installing software systems or maintaining patches, but rather use in-house staff or a consultant.