Section 2: Why Microsoft is an evil company

2.1 The undocumented functions

Q: What is so bad with having undocumented functions ?

A: It is OK that a program contains some undocumented functions, but if a company uses
properiary information such as undocumented system call to get an advantage over 3rd
party developers then it is clearly an unfair practice. Consider Micro$oft: they use such
methods to outrun competitors. Microsoft tells the 3rd party developers that using an
undocumented MS-DOS and Windows calls is a dangerous practice but their own
programs contains a lot of undocumented functions. The only explanation is that
Micro$oft intentionally did not document these functions to get an unfair advantage
over 3rd party developers !!! Here are some better known examples:

2.1.1 DOS function 52h.

DOS function 52h is the "Get list of lists" function.It returns the pointer to the list of
internal MS DOS variables. Seems like a perfect example of a good undocumented
function ? Not quite. If you want to get the list of drives, browse memory, get device
driver list and so on you have to use function 52h. In fact, Memory Control Block
format is documented in the Microsoft MS-DOS Programmer's Reference, but there is
nothing about getting the first MCB address. It's function 52h! I need not mention
that a lot of programs use this function: Windows, PC Tools, Norton Utilities,
Norton Commander...

2.1.2 The AARD code in Windows 3.1

(Source: Undocumented DOS by Anderw Schulman). Microsoft intentionally created a
special code (called the AARD code) that detects,wheter or not the DOS is a genue
Microsoft MS-DOS. Beta versions of Windows 3.1 displayed the following message
(as I remember):

	Non-fatal error detected.
	Press any key to continue.

This is a fine example of Microsoft policy: Use confidential information to trash

PS. AARD stands for Aaron Reynolds, the man that developed this code and one
of the key Microsoft programmers.

2.2 Microsoft Crapware

Q: Given that Microsoft uses unfair techniques as described before, does it mean
that Microsoft Products are actually better than 3rd party ?

A: No. In fact, some Microsoft products are infamous for being feature-crippled
and buggy.That's why I call them the Microsoft Crapware. Here are some
better-known examples of Microsoft Crapware :

2.2.1 The Visual C++ Bugware

The Visual C++ App Studio cannot read resource scripts (.rc files) that it generated
itself. It gives GPFs ( General-Protection Faults). What can I say about the
standards of quality control at Microsoft ???
BTW,Borland C++ Resource Toolkit handles these files just fine.

2.2.2 Protect My Privacy (The Registration Wizard in Windows 95)

Microsoft wants to spy on you. That's why they created a small program (called the Registration
Wizard) that is built into every copy of Windows 95. If you want to register Windows 95
online then the Registration Wizard gathers information about your system and applications
and transmits it to Microsoft. Microsoft probably wanted to deal with piracy (but piracy at Microsoft
is a different story). Even if you don't have a single pirated program this information can give
Microsoft an ability to finally conquer an applications market. Consider you owned Lotus 1-2-3.
Microsoft then offers you a very tentative offer on Excel that is valid only if you erase 1-2-3 from
your hard disk! Finally they may monitor my e-mail using this technology and (oh, GOD) format my hard
disk using this technology! Anyway, I want to protect my privacy.

2.2.3 The DoubleSpace Story

DOS 6.0 DoubleSpace cannot be uninstalled since the compressed volume cannot be uncompressed by
DOS 6.0 DoubleSpace! It reminds me of a Microsoft Lightbulb Joke. As you may know, the DoubleSpace software
uses the LZ (Lempel-Ziv) compression algorithm. The problem is that if a single bit is corrupted then
all the vollume will be trashed ! There were also some bugs in the DoubleSpace in DOS 6.0 that
caused groan and moan among the users that used this version of DoubleSpace. It was especially
annoying because the DoubleSpace was touted as one of the most important features of DOS 6.0.

P.S. DOS 6.2 fixed these problems. It is now possible to uncompress compressed volumes and
Microsoft improved safety of DoubleSpace. Even so, disk compression should be avoided as an
unsafe technique. It is better to buy a new hard disk.

2.3 Microsoft Piracy

	"imagine the disincentive to software development if after months of
	work another company could come along and copy your work and market it
	under it's own name...without legal restraints to such copying, companies
	like Apple could not afford to advance the state of the art" -Bill Gates '83

						Bill Gates

Q: Why does Microsoft so fiercely fight with piracy?

A: OK, did you know that Bill Gates and his company are one of the greatest software pirates of all
times? Did you know that Micro$oft did not write a single good (IMHO) program without 3rd part
help and even direct patent infringement??? There are at least 2 examples (known to me) when Microsoft
actually pirated source code and stole at least 2 patents.

2.3.1 DoubleSpace Again

When Microsoft released DoubleSpace in DOS 6.0 and 6.2 it infringed 2 Stac patents.
US Courts ordered Micro$oft to stop marketing DOS 6.2 and pay Stac Electronics some $100M
The DriveSpace in DOS 6.22 is "clean", but DOS 6.22 Backup cannot restore compressed
backups from DOS 6.2 !!

2.3.2 QuickTime(tm) Story

2.3.3 Windows 95 Preload Agreement.

Worried about possible lawsuits againist them, Microsoft
wanted to be sure that no such thing can happen in the future and thus
steal other's ideas and code more freely. So,if some PC manufacturer wants
to preload Windows95 it must sign a license agreement that says that it
cannot file a lawsuit againist Microsoft! Cool idea! Now Microsoft can
easily steal ideas from IBM OS/2, because under this license agreement
IBM cannot file a patent infringement lawsuit againist Microsoft !!!

I have only one small question: what the US Justice department should do in
this case.