When I was eleven years old, for spring break I visited family in Boston, where my uncle ran the family-owned business that my grandfather had started deacdes earlier, in 1949. I had long been fascinated with buttons, and so the office computers immediately caught my eye. They were old and filthy; the monotonous amber glow of their character-based screens forbade employees and curious nephews alike from playing games, because there weren't any to play.
I was excited when my uncle told me that he would need to order a new computer to work with a large client's fulfillment database, and that he wanted my help. We picked out a system based on Intel's 90MHz Pentium microprocessor, and it arrived in time for me to help set it up. Connecting the new system—which ran on MS-DOS and Windows 3.1—to my uncle's SCO XENIX-based order management system was a challenge, but with enough trial and error, the two systems finally began to communicate in an intelligible manner.
About four years later, my uncle's company moved across the street into larger offices. By this point he had ordered several Windows PCs, and they had gradually begun to replace the dumb terminals. By using serial port gender changers, it was possible to connect up all of the new systems with the old XENIX server, which was actually the most important computer in the company, provided that each computer was equipped with terminal emulation software that cost several hundred dollars per copy.
At this point I advised my uncle that he really needed to take advantage of the internet, meaning that it was time to set up a corporate network. There was as much in this for him as there was for me. While he really did need to catch up with modern networking technology, I thought it would be a worthwhile experience to learn how to set it all up. I had recently incorporated my own consulting company, and so I was ready to do the work as long as I had the "go" signal.
Eventually, after learning that other consulting vendors apparently agreed with my advice enough to copy it verbatim in their own proposals, my uncle let me go ahead and start creating his corporate network. A contractor installed Category 5 ethernet cabling in the walls of the aging office building. There were now three sets of wires in the walls: one for the XENIX system and the serial cables, one for the new ethernet network, and one for the telephones. I was amazed that anything worked at all in corporate America, given how complex the communications had suddenly become for a business with around fifteen employees.
Next, I quoted out and purchased a server from Dell, pre-installed with a new Windows NT-based operating system product from Microsoft, which seemed appropriate for the company's size and industry. It was called BackOffice Small Business Server (SBS).
SBS was supposed to centralize the company's IT operations with one medium-powered server, which was exactly what I wanted to do. Setting it up was a challenge. The manual assumed that you—presumably the small-business owner—were already familiar with such concepts as TCP/IP netmasks and the WINS computer naming system. Even as a so-called "whiz kid," I was starting off with zero knowledge of either concept, let alone my uncle, who actually was the business owner. It was readily apparent that the process of setting up SBS would be the learning experience that I had been hoping for, and maybe even a little more.
Relatively quickly, I used up both of the two free support calls that Microsoft offered as part of the SBS license agreement. Once we figured out that we had a defective network hub, an ill-thought-out IP address scheme, and that we were a network card short for the server, there were still problems. The company didn't have an overwhelming number of employees, but I still wanted to enter the data for all fifteen at once, instead of typing in each employee one at a time. With SBS, there was no way to enter data in batches. Microsoft insisted that you type in each employee's name, address, title, telephone number, fax, e-mail address, and web site separately, using the supplied wizard. They had apparently forgotten that in most small businesses, employees typically have the exact same contact information, with the possible exception of the phone extension assigned to each person. The wizard also refused to sort the employees I had already typed in alphabetically, requiring the user to look through a random list to find the right person. My first impression of SBS was that it offered very little in the way of flexibility.
Despite this and other annoyances, I thought I could manage the system. Yet no matter how hard I tried, there always seemed to be something else that was wrong at any given moment. Exchange Server, which was supposed to manage the company's e-mail, sometimes decided to take up 100% of the available microprocessor resources, bringing the server—not to mention the company that depending on it—to a screeching halt. Proxy Server, which regulated internet access, turned out to be basically incompatible with the two Apple Macintosh computer systems in the art department. I finally figured out a workaround that granted them internet access as long as they re-typed the same exact password every three minutes or so. If they managed to retain their sanity, they could browse the World Wide Web. We didn't actually use the third component of SBS, SQL Server, for anything, but Microsoft strongly recommended that we upgrade it from version 6.5 to 7.0, lest we subject ourselves to hidden security flaws. I wasn't about to take a chance; I upgraded.
In an admirable gesture of gratuity, Microsoft gave SBS customers a free upgrade to version 4.5, to correct a lot of the bugs found in the first version, 4.0a. From what I could tell, the plan backfired. Version 4.5 had just as many bugs as its predecessor, if not more. During the upgrade process, Proxy Server failed to install for an unspecified reason, made even more confusing because the error messages alerting me of the problem were full of misspellings and grammatical errors. Employee names still weren't sorted alphabetically, which was arguably the most annoying flaw in the entire product. The internet access logs simply stopped working. Even when I followed the instructions given to me by Microsoft's Knowledge Base web site (with which I became very friendly) on how to correct my exact problem with the logs, they still didn't work.
Some nights I stayed at the office until 10:00 P.M. so that I could get the server to a point where it would simply be stable enough to get through the next day. Even so, I was slowly coming to accept the fact that maybe I simply didn't know enough to run a small business server. The expensive DAT tape drive that came with the server had never worked properly. There was also the classic trade-off between the Uninterruptible Power Supply (UPS) and the modems: if I wanted one device to work, I could kiss the others goodbye. Yet, I thought, if I didn't know enough to operate the server, then besides Microsoft, who did? The entire point of the product, I had thought, was to avoid the need for a dedicated IT technician, or worse, IT department. Small businesses just didn't have the budget required for either.
No matter how hard I worked, the state of the network continued to deteriorate. The tape backup software (which I already knew wasn't backing anything up) did come with some anti-virus software, but judging from the number of viruses on employees' computers, it wasn't particularly effective. Finally, the problem grew so out of hand that I told my uncle he had no choice but to buy a corporate anti-virus solution. We settled on InnocuLAN from Computer Associates, which came with a very professional and very corporate-looking box. The program was worthless; the number of viruses kept on increasing at an alarming rate. Next, I tried Norton AntiVirus Corporate Edition. Thankfully, it worked. It was the first program that I had purchased for the network that actually did exactly what its manufacturer claimed it would.
I set up my uncle's network in the summer of 1998, and with the exception of occasional check-up visits, it was left alone until 2004. By that time, it was a disaster, even with the anti-virus software working as planned. "Spyware," or software that monitored your activity in various ways, was present on almost every computer, sometimes to the extent that ten programs were spying on one employee. Many of these programs were easy to remove, but some were not, and some were called "Windows SR 2.0" to trick you into thinking that they were actually valid Microsoft software that would harm your computer if removed. Performance was so slow that on average it took several minutes to conduct a simple e-mail search in Microsoft Outlook, even with the top-of-the-line networking hardware we had purchased. A backup of the server literally hadn't been made in years. In eerie sporadic fits, some of the computers had started turning themselves on at night, leaving employees to wonder who had been at their desk after they left work the previous day. I simply did not have the time to worry about the network while I was writing papers for school, leaving my uncle, Microsoft's typical small business owner, to oversee his own network. The end result was not good.
The biggest problem of all seemingly came out of nowhere: spam. Exchange Server, I discovered after a panicked call from the bookkeeper one day, was simultaneously more vulnerable to being used as a gateway for spam, and less adept at dealing with spam once it was received, than any other e-mail server on the market. The first problem meant that the company's already insufficient internet connection was painfully slow, since most of the traffic wasn't even directly related to my uncle's business to start with. The second problem meant that every day, the Administrator mailbox filled up with two thousand or more messages unnecessarily informing me of every message that had failed to get delivered to its intended address. With most of the messages addressed to randomly-generated e-mail addresses such as "yyuAwhFFfhuyxx@yahoo.com," the notices turned what could have been one nuisance into two, several thousand times over. On more than one occasion, the company's domain name had been "blacklisted" by organizations that claimed to be helping us, due to the fact that our server was relaying spam. This prevented anyone on the internet from becoming the victim of our poorly-configured server. It also prevented all of the company's employees from sending or receiving e-mail. Having the entire company yell at me negated the need for Exchange Server to deposit reminders in the Administrator inbox informing me ofa problem.
Only because I refused to hang up the telephone after calling its support line yet again, Microsoft eventually confirmed that Exchange Server versions 5.5 and 2000 had a problem that allowed spam to pass through when the Windows NT Guest Account was enabled, even if the sender supplied an incorrect password. (Normally, when a sender supplies an incorrect password, the server responds by saying something along the lines of "Your password was incorrect.") As it so happened, one of the side-effects of the Code Red virus, which swept the internet in the summer of 2001, was that it enabled the Guest account on thousands of servers like ours, by exploiting security problems in Microsoft Windows NT and 2000. Microsoft apparently forgot to include a remedy for this problem in its patch for the virus.
When I published a White Paper about the problem, which was affecting at least the ten users I noticed who had found their way to Microsoft's Exchange support message board (meaning hundreds of thousands of spam recipients), I was sharply criticized by several Microsoft Partners for not being up-to-date on my server's Guest account status. They didn't seem to understand that by notifying the public about the problem, it could cut down on spam significantly.
When I came back to my uncle's company after graduating from school, I had my work cut out for me. With the never-ending task of fighting spam taking up the majority of my time, and the battle against spyware taking up the rest, it took three full months to diagnose all of the problems with the network and then correct them. The network itself hadn't grown much in size; due to economic condition, there were actually fewer employees at the company than there had been when I started. Most of the computers weren't even vulnerable to the majority of documented Microsoft security problems because they were running the Windows 95 operating system, which was apparently too old for hackers to bother with. Had we upgraded the company at some point to Windows 2000 or Windows XP, my life would have been made all the more miserable.
At the beginning of July, the server stopped working once again, this time because the SBS Fax Server, which we barely used, was single-handedly taking up 100% of the microprocessor's resources. After pleading for help from Microsoft on its on-line forums, and as usual, getting no response, I called the company's Texas-based support center once more. I demanded that the woman on the other end waive the $275-per-incident fee, even though my four support incidents (two per version of SBS) were already used up. Amazingly, she complied.
It took Microsoft three days of "live debugging," which involved a technician controlling our server remotely to analyze the contents of RAM on an instruction-by-instruction basis, to figure out that there was indeed a bug in their source code. Apparently, it had gone unnoticed for the six years that the program had been on the market. I was told that it had only manifested itself because I had too many programs running on the server. Exchange Server, Proxy Server, and SQL Server were running since they were part of SBS, but we also had anti-virus software and UPS software. That was simply too much, Microsoft said. Yet the network wouldn't last five minutes without the anti-virus and UPS software running, and it still did not explain why the tiny fax program required all of the server's resources. That, of course, was the nature of the bug. Microsoft claimed it would publish a Knowledge Base article on the topic, which as of yet I have been unable to find.
By September, I called it quits. I had tried my best to be a good Microsoft customer. Aside from SBS, I had even inconvenienced every employee by making them wait as I installed five separate patches on each of their computers for Microsoft Office 97 and Microsoft Outlook 2000. It was simply too obvious after six years of fighting with Microsoft that BackOffice Small Business Server didn't work—at least not for small businesses. Exchange couldn't handle the volume of e-mail, there was no way to stop the spam, Proxy Server still made the one remaining artist type in his password every three minutes, and SQL Server was simply worthless, because as Microsoft should have known, most small businesses already depend on arcane custom software that they simply cannot convert over to Microsoft-based solutions, even if they want to.
It just so happened that a Linux-based server had been sitting in my closet at Harvard for three years. Linux was receiving a lot of hype in the press, which meant that I had some way to convince my uncle that it was worth using. I dusted it off, disabled all of the SBS services on the Dell server (though I kept it available on the network for file and printer sharing), and went to work.
Compared to Exchange Server, sendmail, the mail program running on the Linux server had no trouble dealing with spam, which I already knew since I had been using the same model server to run my own company for years, trouble-free. If a message was undeliverable, sendmail simply made a note in the mail log, and went on with life. Spam relay tests confirmed that my uncle's company was no longer a relay for pornography, Viagra advertisements and Russian mail-order brides.
The biggest challenge was simply convincing the employees to start using the open-source Mozilla web browser and e-mail client to browse the World Wide Web and check e-mail, instead of Internet Explorer and Microsoft Outlook. Some of them, unfamiliar with the quirkiness of the IMAP mail protocol, had a tendency to double-click on everything in sight, leading to file locking battles on the server as one instance of Mozilla wrestled with another for control of the employee's mailbox. Sometimes the employees' overzealousness brought down the entire server. Many meetings took place where everyone wanted to know why we couldn't just go back and use Outlook again.
It was during those meetings that my Catch-22 presented itself in its entirety. As the lone IT administrator for a very small business, I was stuck between a solution which simply didn't work, and one that didn't work well enough in an enterprise setting to satisfy its users, who weren't even very demanding. Yet I didn't have any other choices to offer.
Upgrading to the latest version of SBS on the server would also require upgrading all of the workstations from Windows 95 to Windows 2000 or XP. The computers themselves couldn't support anything from Microsoft later than Windows 98SE; some of them were just too old. Furthermore, the company didn't use any software that really necessitated such an upgrade, and I knew that with any new Microsoft operating system would come new security threats that were actually quite real.
Despite my uncertainty, my uncle was all for upgrading. When I estimated the total cost of the switch from SBS 4.5 to SBS 2003 at $50,000 (just to get an e-mail server that actually worked), he suddenly seemed less enthusiastic.
Switching all of the employees' computers over to Linux from Windows wasn't a realistic option. If they couldn't handle Mozilla running on Windows, I could hardly imagine them using an operating system which was still fundamentally command-driven.
On the other hand, even without upgrading all of the computers, I could have used Outlook's IMAP features to work with the new Linux-based server, thus saving our employees some confusion. However, in "Internet Only" mode, Outlook refused to interface with Exchange Server anymore. That would have eliminated access to the company calendar, which employees still used on a regular basis.
There was, of course, only one company to blame for this conundrum: Microsoft. Their operating system software, server software, and application software had either created or compounded my problems every step of the way. Their support staff was arrogant enough to charge large sums for assistance, which was often not very helpful. Their Knowledge Base, while occasionally helpful, was almost impossible to navigate unless you already worked for Microsoft and knew the relevant keywords. Given the actual performance of their products, their pricing was outrageous.
Back in 1994, my uncle and I were both incredibly satisfied just to be able to use his Windows 3.1 system with his XENIX system. With the internet, the stakes rose, as e-mail became a virtual necessity for any business. Now, I just wish we could go back to the days when everything was so much simpler.
Microsoft is not an awful company, and contrary to the beliefs of some, it should not be wiped off the face of the Earth. If that happened, we would only have open-source software left to work with, and the fact of the matter is that some of it really isn't very good. Microsoft has a great deal to offer: it's a great place to work, it does extremely well for its shareholders, and its products have arguably advanced modern society more than any other company's in the history of mankind.
To me, that's just not good enough, though. If I buy something from a company, then it should work. If it doesn't work, the company should assume the burden of supporting it until it does. If that exact process doesn't happen, simple though it may seem, then I tend to get angry.
And so I am angry. It seems to me that we all tolerate spyware, spam, General Protection Faults, Application Execution Errors, Illegal Actions, and an assortment of other inconveniences a little bit too much. (Though these same kinds of problems exist on other platforms, such as Apple's Mac OS, Microsoft is responsible for the day-to-day operations of 90% of computer users, and it is apparently aware of this fact.)
This is not how computing has to be, nor is it how computing should be. There are other ways to approach the same problems that Microsoft software is meant to solve. It's up to us to find them.