The Pebble and the Avalanche

Moshe Thumbnail
Current Revolutions in Business and Technology

by Dr. Moshe Yudkowsky,

author of The Pebble and The Avalanche: How Taking Things Apart Creates Revolutions


Mon, 2009-Apr-20, 08:44

Story Marker
Microsoft Rises to New Heights of Goofiness

Microsoft has never been on my list of favorite companies; as I've explained in my book, they've built their business around retarding, rather than advancing, innovations.

But sometimes they really astonish me. The latest is reports about their "Windows 7 Starter" package. Windows 7 is the successor to the ill-fated Windows Vista, which offered nothing to the computer owner except expense and headaches. Windows 7 Starter is even worse: according to reports, netbook computers with Windows 7 Starter will only be able to run three applications at a time. If you have email, instant messaging, and Skype open — and then you want to run another program, such as browse the web — you're out of luck.

Other reports I've seen claim that you won't even be able to change the "wallpaper" on a Windows 7 Starter netbook — you'll be stuck with whatever wallpaper comes with the machine.

I know what I'd do with a computer that could only run three programs at once: I'd return it to the store immediately. I'd like to say that I find the report unbelievable, but unfortunately I find the report all too believable: Microsoft has enough money and a defacto monopoly, and thus even the most spectacularly stupid ideas and spectacular failures don't seem to result in a reality check.

Wed, 2009-Mar-18, 09:01

Story Marker
The Fate of Java: Disaggregation Watch

Today's Wall Street Journal reports that IBM may purchase Sun Microsystems. While the focus is on Sun's very extensive collection of "servers" that power wide swaths of the Internet — and with the entry of Cisco into the server market, I expect IBM and Sun feel the pressure to combine to compete — the Journal does mention that both companies support open-source software.

Sun is the home of Java, which is not open-source but is available for free. You may not have heard of Java but it's a language used everywhere in all sorts of computers and devices, and in particular on the World Wide Web. Sun makes Java freely available; IBM supports open-source and free technologies; the world's programmers would rise up in rebellion if Java were to disappear (or they'd switch to an alternative open-source Java). Even so, if IBM acquires Sun, I would not be surprised to see IBM spin Java off into a separate company.

Mon, 2008-Oct-20, 08:55

Story Marker
Curse that Curses!

I've decided to migrate to a better Internet-based phone system — one that works would be nice — and as an experiment I'm trying to use some open source software. All's well, but of course each open source package relies on another open source package, and so and and so forth.

One package, often called "curses," controls the cursor on your terminal screen. I have a version installed, but for some reason my computer couldn't seem to find that version when I tried to use it. I've come up with a work-around, but I dread trying to get this straightened out "upstream" with the people who make up the packages...

Disaggregation works wonders with computers, but we on the leading edge have to invest work to make it safe for the rest of humanity.

Wed, 2008-Sep-03, 08:12

Story Marker
Google's Chrome: Swift Disagggregated Pieces

I really enjoyed Google's presentation of their new Chrome browser: I found the format, a comic book, to be quite compelling — as if though I were watching a presentation video with excellent special effects.

Aside from the user interface, one of Google's most important decisions is to disaggregate the browser into many independent processes. Unlike today's browsers, which run all the browser tabs and all browser windows as one large process, Chrome runs each tab as an independent process. Disaggregating the browser this way brings many technical advantages; for example, if one tab crashes due to problems with the web site or a bug in the browser, only that tab crashes while the other tabs continue to function.

Based on my experience with Mozilla's Firefox, a browser that uses disaggregated processes will go a long way towards solving problems I've had with Firefox's use of computer memory and web sites that consume computer power to no purpose.

Thu, 2008-May-22, 08:51

Story Marker
Microsoft to Enslave the Third World via the One Laptop Per Child Project

One of Microsoft's worse nightmares is that one day ordinary consumers may wake up and discover that, fundamentally speaking, there's no real need for Microsoft at all. Microsoft received a foretaste of this during Vista's disasterous release; Vista provides no benefits to its users relative to previous versions of Windows, and companies clearly saw that the emperor had no clothes. This brings companies closer to the realization that Microsoft's inferior, bug-ridden, resource-intensive operating system and applications can be replaced — for free — with open-source software running on less-expensive hardware that's relatively immune to viruses and spyware. One way for Microsoft to avoid that dreadful fate is to capture children at a young age and indoctrinate them with the idea that computers mean Windows and vice-versa.

Microsoft hated the One Laptop Per Child initiative. The OLPC project puts computers into the hands of children in less-developed countries, places where computers are prohibitively expensive. OLPC distributes small, rugged laptops with easy-to-use software and child-sized keyboards; the cost of these laptops continues to drop towards the OLPC goal of $100 each. The criteria of easy-to-use and low cost led the developers to create an interface just for children based on the Linux operating system. Linux requires less memory, less computational power, and let the software developers exercise remarkable creativity.

While the OLPC project successfully distributed their machines in some parts of the world, in other places the educational authorities demanded that the laptops be available with Microsoft Windows. (Given Microsoft's history, I have dark suspicions about the possible sources of this requirement.) Recently the OLPC project agreed to provide Microsoft's Windows XP on their computers.

This decision spells the end of the OLPC project. Some developers immediately quit the project because they have no desire to work in Microsoft Windows' proprietary and frustrating environment (and some for other reasons). The cost of the laptops will increase by about 5%, which is a big step backwards. But most of all, I believe the utility of the OLPC will suffer in several important ways — even if the project survives, it will still be a failure.

First, a Microsoft version of this product will lose many of the remarkable pieces of software that are in the current version. For example, the innovative "mesh" networks that allow a classroom full of children to connect effortlessly to each other's computers is not compatible with Windows.

Worse than this, the children will become Microsoft serfs. They'll learn to believe that it's reasonable to go to the "Start" menu to stop the computer. They'll think that odd quirks, strange commands, annoying pop-up notifications, and "My This" and "My That" are reasonable methods to approach a computer system. A cesspool of viruses, spyware, and other dangers will probably infect entire classrooms.

Finally, the students and their teachers lose the chance to become computer experts themselves. The current OLPC environment, an open-source effort, provides all the right tools for experimentation with computers. The deal with Microsoft will snatch all that away.

Mon, 2007-Jun-25, 08:11

Story Marker
The Fierce Struggle Between the Internet and Your Computer

Your computer's operating system — Linux, Mac OS, or even Windows — is a collection of services that programmers use to create applications. For example, in a word processing application, the application uses services to access the hard drive; other services update the screen. Browsers such as Firefox and Internet Explorer access the Internet through operating system services.

In this article, the authors update the long-standing discussion about how the Internet has become a giant operating system. While this has been true for a long time for other operating systems, the authors claim that now even Windows, under competitive pressure from the Internet, is rapidly relinquishing its monolithic control of your computer by disaggregating into individual services ("APIs"), ones that compete with services provided over the Internet.

The competition, "local" services vs. Internet services, is fierce. Google, for example, has become the de facto service that provides maps; eBay is trying hard to be the de facto commerce service; Paypal (purchased by eBay long ago) is the de facto method to transfer money. All of these companies avoid the enormous costs associated with writing an operating system, and they also have a constant stream of revenue as people use their services. Microsoft, on the other hand, only gets one bite: when you purchase your operating system. That's the reason behind their struggle to introduce "Microsoft Live," subscription anti-virus protection, and other products that even they barely understand: they want a constant revenue stream from each computer running Windows, and as yet they don't have one.

Thu, 2006-Oct-05, 05:38

Story Marker
Another Arrogant Attack by Microsoft

Before the invention of the videotape recorder, local broadcast stations controlled your TV. Sure, you paid for the television set; but what appeared on the set was under the control of the station owners. All that changed with the advent of videotape recorders; VCRs took schedule and content authority away from the station owners and gave it to the TV owners.

Now there's Microsoft, which views your computer as an appliance that you own but they control. The lastest manifestation of this is Microsoft's draconian "Windows Genuine Advantage" program, now renamed the "Windows Software Protection Platform."

This isn't a virus protection scheme for your benefit: it's a Microsoft protection scheme. If Microsoft's watchdog software — "spyware" is probably not too harsh a term — suspects your computer is running an unauthorized copy, "Windows Software Protection Platform" automatically disables your system and will even boot you off the computer without warning. And of course Microsoft never makes a mistake, right?

What's most distressing about the SPP [Windows Software Protection Platform] announcement is Microsoft's continued insistence that its anti-piracy tools are nearly perfect and that innocent victims never suffer from errors in their code.
I can just see this happening to me on a business trip to Europe or Asia; wouldn't it be fun to scramble and try to fix this problem? Do I get to bill Microsoft for my time as I work to clean up their mess?

Windows Software Protection Platform is another attempt by Microsoft to run the wheels backwards — to reverse the benefits of disaggregation and assert total control over how you use your computer. I stand by my chapter title: "Marx, Lenin, and Gates: Failed Counterrevolutions."

Thu, 2006-Jun-22, 21:03

Story Marker
Battlefield Map: Microsoft vs. Open Source

A funny map that shows the current state of the war Microsoft is waging against open-source software, or perhaps vice-versa.

Wed, 2006-May-17, 09:08

Story Marker and the Transition to Full Disaggregation

In the early days, Amazon's online business was One Big Application that held

all the business logic, all the display logic, and all the functionality that Amazon eventually became famous for: similarities, recommendations, Listmania, reviews, etc.
In 2001, Amazon simply couldn't grow that system any longer, but they still needed to innovate. Amazon pioneered what's now called "service-oriented architecture" — dozens of different "services" devoted to one aspect of their business:
If you hit the gateway page [today], the application calls more than 100 services to collect data and construct the page for you.

Mon, 2006-Apr-17, 10:19

Story Marker
Diagrams: The Complexity of Microsoft's Internet Services

One of the reasons that Microsoft's security is so poor is that they refuse to disaggregate their software into easily maintained modules. They've got what they believe are solid business reasons for that choice, along with a good strong dose of institutional intertia and corporate arrogance.

To see just how tangled Microsoft's software is, here are two diagrams of how "servers" send web pages. The first diagram shows the "system calls" that go into serving up a web page using the free, open-source Apache's web server; think of it as the path a request takes from the time you request a web page until it shows up at your computer's browser. While it looks pretty complicated, the paths are actually fairly clean.

Now take a look at how Microsoft's IIS system treats that same request. It's a tangle of spaghetti that makes the first one look like a walk in the park. And I agree with the blogger who commented that the more tangled the code, the more opportunities for security holes.