We want to control time

    We don't want a preferred center

    We want loose-coupled.

    I wanted to say something about systems, and three of the ideas here are that we want to control time. I mentioned this a little bit before: we do not want the CPU to control time. First, we want to control time, and we’ll do it by simulating our own time. We don’t want to have any preferred center, so we want to have something like the internet all the way down, and we want loose coupling.

    Now, of course, this has all been done before, again with networks, and here now we’re looking at physical computers on the internet or Ethernet. Ideally, we’d like our computations to be software versions of these hardware networks. Why? Because in most cases we will need to do load balancing. Sometimes we’ll be able to run all of these on a single machine, in which case we just have increased integrity and ability to design quickly, but a lot of the time—especially now with mobile—we want to have the same computations able to drift around the network to different kinds of devices. In some cases, not all of the computation is going to want to be in the machine that is next to the user interface. So if you think of the user interface here, it’s basically a set of views of processes that are giving it images to integrate up on the surface.

    Here’s a great thing: if you’re interested, read Dave Reed’s 1978 PhD thesis at MIT, The Design of an Operating System for the Internet. It was never done, but we validated it a few years ago at Viewpoints. So this is: if you want to make a system that is the size of the internet—a software system—what is it that you have to do to absolutely ensure that you’re going to have what people like to call data integrity always, so that no matter where you ask a question anywhere on the network about anything anywhere on the network, you will get the same answer for the pseudo-time referent of that question.

    A working version of a migratory system was done by Jerry Popek. I put this up here because this book was written in the 80s—you can still get it from MIT Press, The LOCUS Distributed System Architecture. You’ll find the entire book interesting—just a thin little volume—but the first two chapters are still a classic of the issues you have to think about and solve in order to do this.

    But again, this has all been done—this is almost 30 years old now—but nobody uses it. If you were to use it, all applications are now just mashups. We don’t want applications as smokestacks because we want to integrate. At Xerox PARC we didn’t have applications, and we did not have operating systems. The current web, which is getting more and more complicated, could immediately get simple—except for all the legacy stuff that has been done so far.

    Here’s something that Viewpoints has on its list, but we expect not to be able to solve this—at least in this path of doing things—and it may require a much larger effort than a small nonprofit can do. But if you think about analogies to what’s happening with the scaling that’s going on here, it basically starts looking like a biological ecology. These have their own dynamics, and they need to be thought about in special ways. So the ability for us to scale to what Moore’s Law is allowing right now is going to require us to start thinking more and more like this.

    We did this to some extent when we did the internet. I have a degree in molecular biology in my misspent youth, and a lot of the ways I think about this stuff is through tissue biology and how the hundred trillion cells in our body work without having a dedicated center and so forth. But in computing we have problems of our own that are special. The next step beyond this—the best book I’ve ever seen about it—is Minsky’s Society of Mind, which is actually about a model for human psychology, but in fact it is a very good model for what the internet is going to turn into.

    So the punchline here: we’ve got three main operating systems—I won’t say which one is the lemon—and down on the bottom here, our little Frankenstein monster that I’ve been showing you today is less than 20,000 lines of code. It’s worth pondering: we are not using any of the Macintosh software in order to do this demo.

    And here’s just to kick off—I think I’ll just show this thought and then quit. I organized the talk so I can stop at any place, but I’ll leave this one thought with you.

    Let’s think about this idea: something appears, and we’ve got two things about it that are very different—news and new. News is the stuff that is incremental to the categories that we already know. Almost every bit of news is a specific parameter into some category that we already understand. So it’s this war, that killing, this marriage, that—right? You can get quite a bit of this out in a few minutes. There’s almost no context to news that is not already inside our own head.

    “New,” on the other hand—real new—is invisible. We don’t have a category. McLuhan said, “Until I believe it, I can’t see it.” That’s the way it works in the human nervous system. So news is something that’s been going on for the entire existence of the human race—basically campfires. This is what we’re doing right now: a campfire. I’m doing the best I can in an hour of telling stories in a campfire.

    But the problem is, new can take two to five years to get the new categories that you need in order to actually see it. One of the unfortunate things that happens is that new, when you try to talk about it and people make an effort on it, usually gets transformed back into news.

    For instance, we did this as a way of boosting mankind—it was all about learning by doing—but in fact almost everybody in the world uses it only as a consumable device for their own convenience. I would spend twenty-eight thousand five hundred dollars, which is the price of an average American car, for a laptop if I could, because I know what computers are good for. But in fact people only value them about as much as they value their television sets, and they use them roughly the same way.

    So the big problem whenever something new comes along—like personal computing and the internet—is that when people see a convenience to themselves, they recast it back into the forms they already know. For instance, object-oriented programming never made it outside of Xerox PARC—only the term did. We got designer jeans, but designer jeans are just dungarees with a fancy label on them.

    Do you like what you are reading?. Subscribe to receive updates.

    Unsubscribe anytime