Some
Notes on Computer Systems, the Microsoft Lawsuit and How Webmind Works.
Revised: June 12. 2001
-
Stephenson
talks about the odd idea of selling "operating systems" which are intangible,
just files of code.
-
"Webmind's
Digital Environment" explains what an Operating
System is and why it is important.
-
Apple was the first to market a GUI operating
system, although it was first developed by Xerox who made a corporate decision
that it was not worth developing. We see this in the Revenge
of the Nerds.
-
Stephenson likes the BeOs
operating system, which he finds esthetically superior. Yet almost
everyone uses Windows. Why? The Windows
Monopoly which we will discuss below:.
-
Differences between BeOs, Windows, MSDOS
and Linux, Unix, Appledos and other operating systems. Apple
just introduced a new OS.
-
Supercomputers vs. MainFrames vs. Personal
Computers. Essentially a matter of computing power, the number of
calculations that can be done per second. However, computing power
is becoming cheaper and cheaper, so the distinctions are less meaningful
-
Parallel vs. Serial architecture - does
the computer do one many things at once or one thing at a time? The
brain is parallel, vonNeumann design computers are serial. Early
AI was done on parallel computers, but today almost everything is done
on serial computers because they are cheap. But for super-powerful
applications, developers are going back to parallel architecture: IBM
Plans New Computer to Work at the Speed of Life
-
Parallel computers vary between SIMD, "single-instruction,
multiple dataset" and MIMD, "multiple instruction, multiple dataset" which
is more brain-like.
-
Analog vs. Digital - almost all computers
today are digital but there are still some analog computers.
-
Networking has made it possible to have
a number of Serial computers working simultaneously and exchanging information.
This seems to be the way more powerful artificial intelligence will evolve
Some Software Distinctions
-
The earliest computer software was written
in "machine language" which consisted of 0’s and 1’s, that gave specific
instructions to registers in the Central Processing Unit. Programmers had
to know exactly how the machine did everything it did.
-
The next step was "assembly language" which
uses alphabetic key words to write patterns of 0's and 1's. This
was still pretty close to the logic of the machine, but was a lot faster
to write.
-
Next came "high level" languages such as
FORTRAN and BASIC, which used words and numbers similar to mathematical
algorithms, e.g., one might write:
-
FOR N = 1-190; GRADE(N) = TESTS(N)
+ HOMEWORK(N) + ATTENDANCE(N); NEXT N
-
A better example of "high language" programming
language is the BASIC
code for the Eliza Catterbot program.
-
With high level languages, programs were
not specific to a computer - there was a program called a "compiler" which
converted the high level program to a form that could be understood by
the "operating system" of a given computer. The operating
system is software which enables standard programs to run on any compatible
computer. Programmers did not have to know as much about hardware.
-
JAVA is another step away from the details
of the machine. In a JAVA program, instructions are sent to a program
called the "JAVA virtual machine" which translates them into codes which
can be read by different operating systems.
-
Early computer programs were organized
around procedures (e.g., SORT, ADD, PRINT). Programmers called up
the procedures they needed them to process data, which was stored in a
separate place. As programs got larger and larger, and especially when
many programmers worked on them, this became cumbersome. "Object-oriented"
programs were created. In these programs, the procedures and data
are bundled together. If one programmer needs to modify procedures
for his or her purposes, those modified procedures can go into his or her
"objects" without messing everyone else up.
-
But programmers cannot be constantly reinventing
the wheel each time they create an object. They have general models
or patterns or archetypes they rely on - in programming language these
are called "classes".
-
This "object-oriented" approach analogous
to the logic of the brain, where there are thousands of independent units
which have many features in common.
Webmind - An
example of an ongoing software project aimed at advancing the idea of a
Global Brain
Webmind was first
written in JAVA, now being rewritten in C++ - its basic units are "nodes"
which are "objects" in JAVA or C++, which runs much faster.
The nodes are arranged
in a hierarchy: from lobes to pods to nodes. Nodes relate
more easily to others
in the same place in the hierarchy. But they can also form form
heterarchical links,
crossing hierarchical lines.
There are several
types of links between nodes:
similarity links, representing the belief that one actor is similar to
another.
inheritance links, representing the belief that one actor is a special
case of another.
spatiotemporal links, representing the belief that one actor represents
something
occurring near the other one in time or space.
containment links, representing the belief that the entity represented
by one actor
is contained inside another one.
associative links, representing simply the fact that Webmind's dynamics
tend to
associate one actor with another.
Webmind is not created
with a fixed body of knowledge, it learns by reading text,
numerical data and
(in the future) other kinds of information
As a Webmind assimilates
information, it organizes it into modules. It also develops
modules to record
its memories of how it does things, such as the:
The Categorization Module which creates new categories
The Text-Numerical Interrelation Module, which remembers how text and numbers
are interrelated
The Query Module which remembers how to interact with humans and respond
to
their questions
The Social Module which manages relationships between Webminds and between
Webmind and people
The Self Module, which maintains a simplified image of everything going
on within
the Webmind
The really tricky
thing about Webmind is how all these nodes and modules are
coordinated to make
a coherent whole. This coordination is what makes true
intelligence possible.
There are several methods of coordination:
Each of Webmind's components learns how to take the needs of other components
into account, giving them the information they can best use
Sometimes, one module is defined as dominant, and others are forced to
defer to it
Sometimes, modules take turns being dominant, each of them adjusting to
the
others for a period of time. New thoughts emerge from this
process of mutual
readjustment.
Sometimes, the Self module intervenes and sorts things out.
The Microsoft Lawsuit - A
legal case involving the dominance of an operating system.
-
The Microsoft
anti-trust case is different in many ways from previous cases.
-
It does not involve a merger or "trust"
but rather a single corporation which rose to a monopoly position.
-
It involves highly technical issues, so
much so that Microsoft seemed to assume the Judge and lawyers really could
not understand them. If you read the Findings
of Fact in the case, they go to considerable pains to explain basic
technical issues, such as:
-
the components of a personal computer
-
the functions of an "operating system"
and an "Application Program Interface"
-
the nature of the Internet, the WWW, a
home page, an Internet Access Provider - includes Online Services such
as AOL and Internet Service Providers that provide little but Internet
access
-
a "network computer system" - a possible
future competitor to PC based systems, in effect Internet Terminals.
These are likely to be marketed in a big way especially to schools over
the next few years. No hard drive, but provide WEB access and
access to the institution's internal systems.
-
the likely impact of bandwith improvements
- people may stop using their own PC's for many functions and rely on online
software. Microsoft is producing this also.
-
browsers could also serve as platforms
for running software
-
the case is based on the argument that
Intel-compatible PC operating systems have a monopoly, although this is
challenged by Apple and Linux. This is disputed:
-
The court's "findings of fact" say: "Viewed
together, three main facts indicate that Microsoft enjoys monopoly power.
First, Microsoft's share of the market for Intel-compatible PC operating
systems is extremely large and stable. Second, Microsoft's dominant
market share is protected by a high barrier to entry. Third, and largely
as a result of that barrier, Microsoft's customers lack a commercially
viable alternative to Windows." and that "Consumer demand for Windows
enjoys positive network effects. A positive network effect is a phenomenon
by which the attractiveness of a product increases with the number of people
using it. The fact that there is a multitude of people using Windows
makes the product more attractive to consumers."
-
Microsoft contests these allegations, asserting
in its Revised
Proposed Findings of Fact that "events of the last 16 months
have made it painfully obvious that Microsoft does not possess monopoly
power - the ability to control prices or exclude competitors - in
a "market" narrowly defined as operating systems for Intel-compatible personal
computers"
-
The case does not involve a claim of price
fixing to raise prices, instead the court's "findings of fact" state that
the "the debut of Internet Explorer and its rapid improvement gave Netscape
an incentive to improve Navigator's quality at a competitive rate. The
inclusion of Internet Explorer with Windows at no separate
charge increased general familiarity with the Internet and reduced
the cost to the public of gaining access to it, at least in part because
it compelled Netscape to stop charging for Navigator. These actions thus
contributed to improving the quality of Web browsing software, lowering
its cost, and increasing its availability, thereby benefitting consumers."
Despite the fact that consumers have benefitted from what has been, in
effect, a price war between Microsoft and Netscape, the court argues that
Microsoft's actions have been harmful because "the ultimate result is
that some innovations that would truly benefit consumers never
occur for the sole reason that they do not coincide with Microsoft's self-interest."
-
The
outcome of the trial in Judge Penfield Thomas' court has revolved largely
around his perception of Bill Gates' attitude, his refusal to admit wrongdoing
and insistence on fighting the allegations. This is his rationale
for accepting the government's demand to split up the company instead of
just imposing limitations on its conduct.
-
There is great division of opinion on the
issue, as one can see in published commentary, a few examples of which
I have linked here: Arizona
Republic, Newsweek.
Indianapolis
Star.
The Economist. Philadelphia
Inquirer.
Paul Krugman in NY Times. Washington
Post. This largely follows an ideological line - pro business
and free markets vs. pro government and regulation.
-
The main beneficiaries of this lawsuit
have been Microsoft's
competitors, especially Sun and Netscape/AOL, not the general public,
which generally is sympathetic to Microsoft. Microsoft has belatedly
begun a Public
Relations and Lobbying Campaign to fight politically.
They may do better on appeal than they
did in Judge Penfield Jackson's court. They might also fare much
better under a Republican administration
-
My conclusions: it my view it is
true that Microsoft has been arrogant, and has used its monopoly position
with the Windows operating system to strong-arm customers and especially
to fight the Browser war with Netscape. Microsoft's strength has
not been its "great software" as it claims, but its superior business strategies
and its attention to the needs for compatibility of software. Windows
was successful because it was backward compatible with DOS software and
it was cheaper than Apple's operating system which was technically superior.
On the fundamental technical issue, Microsoft is right that the Internet
should be integrated into the operating system. Microsoft has played
a necessary role in integrating and coordinating the system - the need
for a degree of hierarchal control. This is the "network effect"
the government's findings of fact talked about, and it is an inherent need
of the system. The lawsuit has been motivated largely by envy and
resentment and the desire to punish success, and may be harmful to the
US economy. I do not believe that Microsoft should be forcibly split
into two companies - it should pay some kind of financial penalty (less
than Gates is giving away anyhow) and be forced to follow some regulations
giving Netscape and others better the ability to place their software on
the desktops of new computers. I think this will be the likely outcome
on appeal.
-
The latest information on the case can
be found on the Microsoft
Lawsuit page.