Difference between revisions of "Rethinking Design, Risk, and Software (2012)"

From Viewpoints Intelligent Archive
Jump to: navigation, search
(Created page with "{{#evt: service=youtubeIA |id=QboI_1WJUlM |alignment=left |autoresize=false }}")
 
Line 5: Line 5:
 
|autoresize=false
 
|autoresize=false
 
}}
 
}}
 +
 +
== Introduction by Joel Orr ==
 +
<note for="0:06">
 +
Joel Orr was Chief Visionary (Emeritus) at Cyon Research.
 +
</note>
 +
<subtitle id="0:06">I'm Joel Orr.</subtitle>
 +
 +
<subtitle id="0:1:35">this title the topic central topic of  this symposium and I'm</subtitle>
 +
 +
<subtitle id="0:1:38"> also using the  words engineering and science and</subtitle>
 +
 +
<subtitle id="0:1:41"> I'm taking the</subtitle>
 +
 +
<subtitle id="0:1:44"> larger sense of those terms larger</subtitle>
 +
 +
<subtitle id="0:1:47"> sense of engineering and the larger sense</subtitle>
 +
 +
<subtitle id="0:1:50"> of what science is and I want to apply</subtitle>
 +
 +
<subtitle id="0:1:53"> it to our thoughts</subtitle>
 +
 +
<subtitle id="0:1:56"> and needs about software</subtitle>
 +
 +
<subtitle id="0:1:59"> viewpoints Research Institute is a 501c3 nonprofit public benefit
 +
organization so so we don't have a product, we're not trying to sell you anything.</subtitle>
 +
 +
<subtitle id="0:2:11"> Brad invited me here to provide some alternative points of view on how we might think about software, and how we might make software because the time is going to be dire</subtitle>
 +
 +
<subtitle id="0:2:26"> I put my email address up there. I should put it at the end but I'll put it here so that if people have a question that didn't get answered while I'm here. I welcome email I like email.</subtitle>
 +
 +
<subtitle id="0:2:47"> I love it better than almost any other form of communication because I can decide when not to use it.</subtitle>
 +
 +
<subtitle id="0:2:56"> You all know what I mean. Okay, let's tackle engineering first.</subtitle>
 +
 +
<subtitle id="0:2:59"> One way of thinking about engineering is that in the world we're presented with situations. Here's a really nice beautiful one but it has a couple of drawbacks from practical human need that gives rise to an idea.</subtitle>
 +
 +
<subtitle id="0:3:20"> We design something we make a thing that caters to that</subtitle>
 +
 +
<subtitle id="0:3:26"> And, if we don't extract principles from this thing, then we're not doing engineering yet we're just tinkering.</subtitle>
 +
 +
<subtitle id="0:3:32"> tinkering is kind of the thing that is built</subtitle>
 +
 +
<subtitle id="0:3:35"> in to many mammals if you have</subtitle>
 +
 +
<subtitle id="0:3:38"> a at imagine what a cat would be like</subtitle>
 +
 +
<subtitle id="0:3:41"> if it had hands it would be basically</subtitle>
 +
 +
<subtitle id="0:3:44"> a monkey it would you'd come home from</subtitle>
 +
 +
<subtitle id="0:3:47">vacation in your house would be dismantled</subtitle>
 +
 +
<subtitle id="0:3:50"> so we want to extract principles we</subtitle>
 +
 +
<subtitle id="0:3:53"> want to push them back into the things</subtitle>
 +
 +
<subtitle id="0:3:56"> so we start doing principles building of things</subtitle>
 +
 +
<subtitle id="0:3:59"> those principles leak back into how we design things</subtitle>
 +
 +
<subtitle id="0:4:2"> and they even leak back into</subtitle>
 +
 +
<subtitle id="0:4:5"> how we have ideas and so</subtitle>
 +
 +
<subtitle id="0:4:8"> this has been going along on a lot longer than</subtitle>
 +
 +
<subtitle id="0:4:11"> mathematics and and science and</subtitle>
 +
 +
<subtitle id="0:4:14"> in the twentieth century one of the ideas that gave</subtitle>
 +
 +
<subtitle id="0:4:17"> rise to was a really really tall</subtitle>
 +
 +
<subtitle id="0:4:20"> building done very</subtitle>
 +
 +
<subtitle id="0:4:23"> quickly here's what it looked like when</subtitle>
 +
 +
<subtitle id="0:4:26"> they got done with it and I'm not going to spend a</subtitle>
 +
 +
<subtitle id="0:4:29"> lot of time with this but when</subtitle>
 +
 +
<subtitle id="0:4:32"> you talk about engineering this is one of the three</subtitle>
 +
 +
<subtitle id="0:4:35">that comes up is the Empire State Building</subtitle>
 +
 +
<subtitle id="0:4:38"> so here's an article in one</subtitle>
 +
 +
<subtitle id="0:4:41">the engineering magazines that says planning</subtitle>
 +
 +
<subtitle id="0:4:44"> control permit erection of 85 stories of steel</subtitle>
 +
 +
<subtitle id="0:4:47"> in six months and wasn't just 85 stories of steel</subtitle>
 +
 +
<subtitle id="0:4:50"> it was 85 stories of steel and and granite</subtitle>
 +
 +
<subtitle id="0:4:53"> and here's what it looked like here's the site</subtitle>
 +
 +
<subtitle id="0:4:56"> after they demolished the old Waldorf Astoria Hotel and</subtitle>
 +
 +
<subtitle id="0:4:59"> then Bing Bing Bing Bing</subtitle>
 +
 +
<subtitle id="0:5:2"> Bing and</subtitle>
 +
 +
<subtitle id="0:5:5"> so they clad the thing as they went up</subtitle>
 +
 +
<subtitle id="0:5:8"> and the entire</subtitle>
 +
 +
<subtitle id="0:5:11"> building of the Empire State</subtitle>
 +
 +
<subtitle id="0:5:14"> Building took less than 12 months and was done by about 3,000</subtitle>
 +
 +
<subtitle id="0:5:17"> people so we could not muster</subtitle>
 +
 +
<subtitle id="0:5:20"> 3,000 people to do something major in less than</subtitle>
 +
 +
<subtitle id="0:5:23"> a year in computing so whatever we mean</subtitle>
 +
 +
<subtitle id="0:5:26"> when we say software engineering we don't mean real</subtitle>
 +
 +
<subtitle id="0:5:29"> engineering we mean something that we're aspiring</subtitle>
 +
 +
<subtitle id="0:5:32"> to and this is the way the</subtitle>
 +
 +
<subtitle id="0:5:35"> term software engineering was intended back</subtitle>
 +
 +
<subtitle id="0:5:38"> in the 60s at the Garmisch conference in 1968</subtitle>
 +
 +
<subtitle id="0:5:41"> where it was coined was an aspiration</subtitle>
 +
 +
<subtitle id="0:5:44"> today if you go to a university</subtitle>
 +
 +
<subtitle id="0:5:47"> or many companies and ask them what is software engineering that</subtitle>
 +
 +
<subtitle id="0:5:50">hey'll say it's what we're doing that is</subtitle>
 +
 +
<subtitle id="0:5:53"> manifestly not the case</subtitle>
 +
 +
<subtitle id="0:5:56"> and there's some really interesting things</subtitle>
 +
 +
<subtitle id="0:5:59"> so anybody who aspires to being an engineer</subtitle>
 +
 +
<subtitle id="0:6:2"> of any kind should be intimately familiar with</subtitle>
 +
 +
<subtitle id="0:6:5"> how this was done</subtitle>
 +
 +
<subtitle id="0:6:8"> and what's wonderful</subtitle>
 +
 +
<subtitle id="0:6:11"> if there are many good books about</subtitle>
 +
 +
<subtitle id="0:6:14"> it including this facsimile of the Foreman's</subtitle>
 +
 +
<subtitle id="0:6:17"> notebook one of the foremen every</subtitle>
 +
 +
<subtitle id="0:6:20"> night typed on his pike a</subtitle>
 +
 +
<subtitle id="0:6:23"> typewriter and took a picture and pasted</subtitle>
 +
 +
<subtitle id="0:6:26"> it in there and this has come down to us but we don't</subtitle>
 +
 +
<subtitle id="0:6:29"> know who the foreman was and a few years</subtitle>
 +
 +
<subtitle id="0:6:32"> ago it was a facsimile into</subtitle>
 +
 +
<subtitle id="0:6:35"> a book that you can buy and are many interesting things</subtitle>
 +
 +
<subtitle id="0:6:38"> in there one of</subtitle>
 +
 +
<subtitle id="0:6:41"> the questions that was asked</subtitle>
 +
 +
<subtitle id="0:6:44"> the aspiring contractors was</subtitle>
 +
 +
<subtitle id="0:6:47"> what tools do you have for this job one of</subtitle>
 +
 +
<subtitle id="0:6:50"> them was Paul Starret who was one of two</subtitle>
 +
 +
<subtitle id="0:6:53"> Starret brothers they had built some very</subtitle>
 +
 +
<subtitle id="0:6:56"> large buildings in Manhattan previously</subtitle>
 +
 +
<subtitle id="0:6:59">they were one of three big companies bidding for this job</subtitle>
 +
 +
<subtitle id="0:7:2"> in Paul Starr and they'd all said to</subtitle>
 +
 +
<subtitle id="0:7:5"> this question well we have all the tools we need in blah blah blah</subtitle>
 +
 +
<subtitle id="0:7:8"> blah what Starrett said is not a blankety-blank</subtitle>
 +
 +
<subtitle id="0:7:11"> thing not even a pick and shovel gentlemen</subtitle>
 +
 +
<subtitle id="0:7:14"> this building of yours is going to present unusual problems</subtitle>
 +
 +
<subtitle id="0:7:17"> ordinary building equipment won't be built</subtitle>
 +
 +
<subtitle id="0:7:20"> worth a damn on it will buy and make new stuff fitted</subtitle>
 +
 +
<subtitle id="0:7:23"> for the job that's what we do on every big job it</subtitle>
 +
 +
<subtitle id="0:7:26"> costs less than renting secondhand stuff and it's</subtitle>
 +
 +
<subtitle id="0:7:29"> more efficient okay now in software</subtitle>
 +
 +
<subtitle id="0:7:32"> a first order theory that's obtained</subtitle>
 +
 +
<subtitle id="0:7:35">long as I've been in the field which is 50 years is</subtitle>
 +
 +
<subtitle id="0:7:38"> that you should never build your own</subtitle>
 +
 +
<subtitle id="0:7:41"> tools it's a black hole don't</subtitle>
 +
 +
<subtitle id="0:7:44">build your own operating system don't build your own computer</subtitle>
 +
 +
<subtitle id="0:7:47"> for god sakes don't build your own programming</subtitle>
 +
 +
<subtitle id="0:7:50">languages get all this stuff from the vendors and that</subtitle>
 +
 +
<subtitle id="0:7:53"> way you're actually going to and speed</subtitle>
 +
 +
<subtitle id="0:7:56"> up your ability to</subtitle>
 +
 +
<subtitle id="0:7:59"> produce the thing that you want to do it turns</subtitle>
 +
 +
<subtitle id="0:8:2"> out this isn't true or it's true</subtitle>
 +
 +
<subtitle id="0:8:5">if you can't if you don't know how to build your own tools</subtitle>
 +
 +
<subtitle id="0:8:8"> you can certainly get into a black hole we all</subtitle>
 +
 +
<subtitle id="0:8:11"> know of them but in fact the second-order</subtitle>
 +
 +
<subtitle id="0:8:14"> theory is also true which is if you know how to build</subtitle>
 +
 +
<subtitle id="0:8:17"> your own tools then you better because</subtitle>
 +
 +
<subtitle id="0:8:20"> you can bypass the not just</subtitle>
 +
 +
<subtitle id="0:8:23">workarounds that you have to do but you bypass</subtitle>
 +
 +
<subtitle id="0:8:26"> an entire set of perspectives that may have</subtitle>
 +
 +
<subtitle id="0:8:29"> nothing whatsoever to do with what you're trying to do</subtitle>
 +
 +
<subtitle id="0:8:32"> and they might even be antagonistic to it so</subtitle>
 +
 +
<subtitle id="0:8:35">these guys did a lot of wonderful things like this is</subtitle>
 +
 +
<subtitle id="0:8:38"> a narrow gauge railway that was on every floor</subtitle>
 +
 +
<subtitle id="0:8:41">Building they also built</subtitle>
 +
 +
<subtitle id="0:8:44"> twice as many elevators that are then are there</subtitle>
 +
 +
<subtitle id="0:8:47"> now just as temporary</subtitle>
 +
 +
<subtitle id="0:8:50"> elevators but going up 85</subtitle>
 +
 +
<subtitle id="0:8:53"> stories in order to move equipment</subtitle>
 +
 +
<subtitle id="0:8:56"> around and when they got the building up they</subtitle>
 +
 +
<subtitle id="0:8:59"> took down these elevators sounds</subtitle>
 +
 +
<subtitle id="0:9:2">ridiculous right not really</subtitle>
 +
 +
<subtitle id="0:9:5"> now the other thing about engineering</subtitle>
 +
 +
<subtitle id="0:9:8"> real engineering that makes it</subtitle>
 +
 +
<subtitle id="0:9:11"> rather different still from what we attempt to do in software</subtitle>
 +
 +
<subtitle id="0:9:14"> is this problem this</subtitle>
 +
 +
<subtitle id="0:9:17"> is the Tacoma Narrows Bridge</subtitle>
 +
 +
<subtitle id="0:9:20"> we have much</subtitle>
 +
 +
<subtitle id="0:9:23"> of our infrastructure is crumbling here's one</subtitle>
 +
 +
<subtitle id="0:9:26">that wasn't as funny as the two Acoma net Tacoma Narrows Bridge was</subtitle>
 +
 +
<subtitle id="0:9:29"> funny because nobody got hurt</subtitle>
 +
 +
<subtitle id="0:9:32"> it was predicted by a University</subtitle>
 +
 +
<subtitle id="0:9:35"> of Washington professor and the</subtitle>
 +
 +
<subtitle id="0:9:38"> reason they got good movies of it is he said when a wind comes</subtitle>
 +
 +
<subtitle id="0:9:41"> up that's over 55 miles an hour this bridge is</subtitle>
 +
 +
<subtitle id="0:9:44"> going down and so when that wind came up they went down</subtitle>
 +
 +
<subtitle id="0:9:47"> to a now-famous camera</subtitle>
 +
 +
<subtitle id="0:9:50"> store in Seattle famous for supplying the</subtitle>
 +
 +
<subtitle id="0:9:53"> movie cameras which they then took out to the bridge set them</subtitle>
 +
 +
<subtitle id="0:9:56"> up and watch the thing shake</subtitle>
 +
 +
<subtitle id="0:9:59"> itself apart this one though</subtitle>
 +
 +
<subtitle id="0:10:2"> in Minneapolis was not so</subtitle>
 +
 +
<subtitle id="0:10:5"> funny because many people got killed and</subtitle>
 +
 +
<subtitle id="0:10:8"> a whole school bus full of children</subtitle>
 +
 +
<subtitle id="0:10:11"> just missed getting demolished and</subtitle>
 +
 +
<subtitle id="0:10:14"> so there are many casualties on this</subtitle>
 +
 +
<subtitle id="0:10:17">the trace back on this</subtitle>
 +
 +
<subtitle id="0:10:20"> one was first they thought the</subtitle>
 +
 +
<subtitle id="0:10:23"> rivets were substandard but they turned out</subtitle>
 +
 +
<subtitle id="0:10:26"> to be right and they finally found out that those gusset</subtitle>
 +
 +
<subtitle id="0:10:29"> plates those square things that the rivets are</subtitle>
 +
 +
<subtitle id="0:10:32"> joining those beams with</subtitle>
 +
 +
<subtitle id="0:10:35"> by a clerical error were</subtitle>
 +
 +
<subtitle id="0:10:38"> about 3/8 of an inch not</subtitle>
 +
 +
<subtitle id="0:10:41"> 3 3/16 of an inch too</subtitle>
 +
 +
<subtitle id="0:10:44"> thin and 20 years</subtitle>
 +
 +
<subtitle id="0:10:47"> later that defect</subtitle>
 +
 +
<subtitle id="0:10:50"> in the structural engineering plus the clerical Arab</subtitle>
 +
 +
<subtitle id="0:10:53"> brought down the entire bridge</subtitle>
 +
 +
<subtitle id="0:10:56"> so the point here is that</subtitle>
 +
 +
<subtitle id="0:10:59"> one of the reasons you can fly in a jet plane and</subtitle>
 +
 +
<subtitle id="0:11:2"> not feel upset and if you</subtitle>
 +
 +
<subtitle id="0:11:5"> knew what was going on in the jet engine that's right outside there</subtitle>
 +
 +
<subtitle id="0:11:8"> and you should if your aspire</subtitle>
 +
 +
<subtitle id="0:11:11"> to be an engineer you will know that inside</subtitle>
 +
 +
<subtitle id="0:11:14"> that jet engine there are temperatures that</subtitle>
 +
 +
<subtitle id="0:11:17"> are higher than the melting point of any of the materials in</subtitle>
 +
 +
<subtitle id="0:11:20"> the jet engine it's</subtitle>
 +
 +
<subtitle id="0:11:23"> just one of those great things and</subtitle>
 +
 +
<subtitle id="0:11:26"> but jet engines run</subtitle>
 +
 +
<subtitle id="0:11:29"> for thousands and thousands and thousands of hours</subtitle>
 +
 +
<subtitle id="0:11:32"> they're one of the most</subtitle>
 +
 +
<subtitle id="0:11:35"> perfect engineering creations</subtitle>
 +
 +
<subtitle id="0:11:38"> especially given the the</subtitle>
 +
 +
<subtitle id="0:11:41"> difficulties that they labor under they</subtitle>
 +
 +
<subtitle id="0:11:44"> have to spin at 30,000 rpm they have</subtitle>
 +
 +
<subtitle id="0:11:47"> these temperature problems they have enormous shear</subtitle>
 +
 +
<subtitle id="0:11:50">everything else going on they're just fan fantastic</subtitle>
 +
 +
<subtitle id="0:11:53"> so the the thing that has</subtitle>
 +
 +
<subtitle id="0:11:56"> allowed engineering to advance is that people</subtitle>
 +
 +
<subtitle id="0:11:59"> get really pissed off when</subtitle>
 +
 +
<subtitle id="0:12:2"> their friends and relatives wind</subtitle>
 +
 +
<subtitle id="0:12:5"> up dying on some engineering failure and</subtitle>
 +
 +
<subtitle id="0:12:8"> so the forces of</subtitle>
 +
 +
<subtitle id="0:12:11"> nature plus the social forces have</subtitle>
 +
 +
<subtitle id="0:12:14"> conspired to make engineers rather careful</subtitle>
 +
 +
<subtitle id="0:12:17"> and of course if you think about the parallel</subtitle>
 +
 +
<subtitle id="0:12:20"> situation inside of a computer the forces</subtitle>
 +
 +
<subtitle id="0:12:23"> and the masses are slight so</subtitle>
 +
 +
<subtitle id="0:12:26"> many software systems are starting a crash</subtitle>
 +
 +
<subtitle id="0:12:29"> that will take 10 years to happen</subtitle>
 +
 +
<subtitle id="0:12:32">from this instant they are actually deployed they're</subtitle>
 +
 +
<subtitle id="0:12:35"> completely buggy but the gusset plate is</subtitle>
 +
 +
<subtitle id="0:12:38"> going to take a long time</subtitle>
 +
 +
<subtitle id="0:12:41"> to gradually come apart as</subtitle>
 +
 +
<subtitle id="0:12:44"> it gets more and more complicated and so</subtitle>
 +
 +
<subtitle id="0:12:47"> when you move from something where</subtitle>
 +
 +
<subtitle id="0:12:50">doing something out in the world of forces</subtitle>
 +
 +
<subtitle id="0:12:53"> and masses</subtitle>
 +
 +
<subtitle id="0:12:56"> into a world where you don't have</subtitle>
 +
 +
<subtitle id="0:12:59"> these you have to have an artificial sense of discipline this</subtitle>
 +
 +
<subtitle id="0:13:2">omething we are still learning how to do</subtitle>
 +
 +
<subtitle id="0:13:5"> now we don't know what happened</subtitle>
 +
 +
<subtitle id="0:13:8"> to the Roman engineers who failed</subtitle>
 +
 +
<subtitle id="0:13:11"> I</subtitle>
 +
 +
<subtitle id="0:13:14"></subtitle>
 +
 +
<subtitle id="0:13:17"></subtitle>
 +
 +
<subtitle id="0:13:20"></subtitle>
 +
 +
<subtitle id="0:13:23"></subtitle>
 +
 +
<subtitle id="0:13:26"></subtitle>
 +
 +
<subtitle id="0:13:29"></subtitle>
 +
 +
<subtitle id="0:13:32"></subtitle>
 +
 +
<subtitle id="0:13:35"></subtitle>
 +
 +
<subtitle id="0:13:38"></subtitle>
 +
 +
<subtitle id="0:13:41"></subtitle>
 +
 +
<subtitle id="0:13:44"></subtitle>
 +
 +
<subtitle id="0:13:47"></subtitle>
 +
 +
<subtitle id="0:13:50"></subtitle>
 +
 +
<subtitle id="0:13:53"></subtitle>
 +
 +
<subtitle id="0:13:56"></subtitle>
 +
 +
<subtitle id="0:13:59"></subtitle>
 +
 +
<subtitle id="0:14:2">cement the world has ever known took a long time for us to find out just</subtitle>
 +
 +
<subtitle id="0:14:5"> really about 10-15 years ago to find</subtitle>
 +
 +
<subtitle id="0:14:8">exactly what the secrets were of the Roman</subtitle>
 +
 +
<subtitle id="0:14:11"> cement and how about</subtitle>
 +
 +
<subtitle id="0:14:14"> this one same age again</subtitle>
 +
 +
<subtitle id="0:14:17"> if you walk right up to it looks holy smokes</subtitle>
 +
 +
<subtitle id="0:14:20"> this thing looks like it was built yesterday if</subtitle>
 +
 +
<subtitle id="0:14:23">ever been to how many people have ever been to the Pantheon in Rome she's</subtitle>
 +
 +
<subtitle id="0:14:26"> been to Rome you've been to the Pantheon</subtitle>
 +
 +
<subtitle id="0:14:29"> first time I went I thought wow</subtitle>
 +
 +
<subtitle id="0:14:32"> you know looked like it was made out of granite and then I found</subtitle>
 +
 +
<subtitle id="0:14:35"> it was made out of reinforced concrete how many people Rios</subtitle>
 +
 +
<subtitle id="0:14:38">people here might have found Atta do you realize how</subtitle>
 +
 +
<subtitle id="0:14:41"> many people realize it was made out of reinforced concrete</subtitle>
 +
 +
<subtitle id="0:14:44"></subtitle>
 +
 +
<subtitle id="0:14:47"></subtitle>
 +
 +
<subtitle id="0:14:50"></subtitle>
 +
 +
<subtitle id="0:14:53"></subtitle>
 +
 +
<subtitle id="0:14:56"></subtitle>
 +
 +
<subtitle id="0:15:0"></subtitle>
 +
 +
<subtitle id="0:15:2"></subtitle>
 +
 +
<subtitle id="0:15:5">far to say that the big art forms of the 20th century were science</subtitle>
 +
 +
<subtitle id="0:15:8"> and engineering that's a lot to</subtitle>
 +
 +
<subtitle id="0:15:11"> live up to for something that wants to call itself</subtitle>
 +
 +
<subtitle id="0:15:14">a science like computer science and wants to call itself</subtitle>
 +
 +
<subtitle id="0:15:17"> an engineering discipline like software engineering</subtitle>
 +
 +
<subtitle id="0:15:20"></subtitle>
 +
 +
<subtitle id="0:15:23"></subtitle>
 +
 +
<subtitle id="0:15:27"></subtitle>
 +
 +
<subtitle id="0:15:30"></subtitle>
 +
 +
<subtitle id="0:15:32">some comparisons here I just note that a 400 page book has</subtitle>
 +
 +
<subtitle id="0:15:36"> 20,000 lines of text in</subtitle>
 +
 +
<subtitle id="0:15:39"> it each one of those could be a line of</subtitle>
 +
 +
<subtitle id="0:15:41"> code so 20,000 line program</subtitle>
 +
 +
<subtitle id="0:15:44"> is 1 400 page book and foot</subtitle>
 +
 +
<subtitle id="0:15:48"> of books is about 300 thousand</subtitle>
 +
 +
<subtitle id="0:15:51"> lines million lines of code per meter there's</subtitle>
 +
 +
<subtitle id="0:15:53"> an easy one to remember and</subtitle>
 +
 +
<subtitle id="0:15:57"> the Empire State Building is about 441</subtitle>
 +
 +
<subtitle id="0:16:0"> million lines of code high as stacked</subtitle>
 +
 +
<subtitle id="0:16:3"> books is 20,000</subtitle>
 +
 +
<subtitle id="0:16:5"> 5050 lines of code at a time stacked</subtitle>
 +
 +
<subtitle id="0:16:8"> up that</subtitle>
 +
 +
<subtitle id="0:16:11"> sounds like a lot but in fact a</subtitle>
 +
 +
<subtitle id="0:16:15">companies are wrestling with about this much code</subtitle>
 +
 +
<subtitle id="0:16:17"> personal computing</subtitle>
 +
 +
<subtitle id="0:16:21"> which I had something to do with a long time ago Microsoft's</subtitle>
 +
 +
<subtitle id="0:16:23"> essays into it provide</subtitle>
 +
 +
<subtitle id="0:16:27">operating systems over a hundred million lines of code and</subtitle>
 +
 +
<subtitle id="0:16:30"> application Suites of well</subtitle>
 +
 +
<subtitle id="0:16:32"> over a hundred million lines of code you</subtitle>
 +
 +
<subtitle id="0:16:35"> look at that you think good that are</subtitle>
 +
 +
<subtitle id="0:16:38"> we really getting that much bang for a</subtitle>
 +
 +
<subtitle id="0:16:41"> couple hundred billion lines of code I hope</subtitle>
 +
 +
<subtitle id="0:16:45"> you're saying no I hope you haven't</subtitle>
 +
 +
<subtitle id="0:16:47"> gotten complacent about this so personal</subtitle>
 +
 +
<subtitle id="0:16:51"> computing 250 say 200 million</subtitle>
 +
 +
<subtitle id="0:16:54"> lines of code but of course it's not really</subtitle>
 +
 +
<subtitle id="0:16:56"> that much the problem is that when you make a lot of code</subtitle>
 +
 +
<subtitle id="0:17:0">there's a point where people their dependencies</subtitle>
 +
 +
<subtitle id="0:17:2"> are so intertwined the engineering has been done</subtitle>
 +
 +
<subtitle id="0:17:6"> so poorly that people start becoming</subtitle>
 +
 +
<subtitle id="0:17:8"> afraid to remove things so</subtitle>
 +
 +
<subtitle id="0:17:11"> they just let it stay there and they start layering over</subtitle>
 +
 +
<subtitle id="0:17:14"> it</subtitle>
 +
 +
<subtitle id="0:17:18"> big this big software</subtitle>
 +
 +
<subtitle id="0:17:21"> company has now gone over 400 million lines of</subtitle>
 +
 +
<subtitle id="0:17:24"> code I haven't changed the slide yeah I used to use this</subtitle>
 +
 +
<subtitle id="0:17:27"> analogy because I mean a pyramid is kind</subtitle>
 +
 +
<subtitle id="0:17:30"> of a garbage dump plastered over with limestone so it looks</subtitle>
 +
 +
<subtitle id="0:17:32"> nice just a big accretion but</subtitle>
 +
 +
<subtitle id="0:17:36"> when I look at this picture I think I can't use that metaphor</subtitle>
 +
 +
<subtitle id="0:17:38"> anymore because look at how modular these pyramids are</subtitle>
 +
 +
<subtitle id="0:17:41"> we would love to have that modularity in the</subtitle>
 +
 +
<subtitle id="0:17:44"> code that we write so I think the picture</subtitle>
 +
 +
<subtitle id="0:17:47"> that fits our code better is a slum</subtitle>
 +
 +
<subtitle id="0:17:51"></subtitle>
 +
 +
<subtitle id="0:17:53"></subtitle>
 +
 +
<subtitle id="0:17:57"></subtitle>
 +
 +
<subtitle id="0:17:59"></subtitle>
 +
 +
<subtitle id="0:18:2"></subtitle>
 +
 +
<subtitle id="0:18:5">bulldozers out some stuff but just leaves the stuff lying</subtitle>
 +
 +
<subtitle id="0:18:8"> around never carts it off and and so forth</subtitle>
 +
 +
<subtitle id="0:18:11"> so the real question is not whether we</subtitle>
 +
 +
<subtitle id="0:18:14"> can improve on this but</subtitle>
 +
 +
<subtitle id="0:18:17"> what is the actual level</subtitle>
 +
 +
<subtitle id="0:18:20"> of improvement which is</subtitle>
 +
 +
<subtitle id="0:18:23"> tantamount to asking how</subtitle>
 +
 +
<subtitle id="0:18:26"> complex is the</subtitle>
 +
 +
<subtitle id="0:18:29"> actual problems were trying to solve compared</subtitle>
 +
 +
<subtitle id="0:18:32"> to the complexity we're creating by just bumbling around</subtitle>
 +
 +
<subtitle id="0:18:35"> so let's</subtitle>
 +
 +
<subtitle id="0:18:38"> ask a question about what science is now that</subtitle>
 +
 +
<subtitle id="0:18:41"> we've talked about engineering so real science</subtitle>
 +
 +
<subtitle id="0:18:44"> looks at hairballs this is my favorite hairball</subtitle>
 +
 +
<subtitle id="0:18:47"> it's about this big recovered from the stomach</subtitle>
 +
 +
<subtitle id="0:18:50"> of a woolly mammoth found in a glacier</subtitle>
 +
 +
<subtitle id="0:18:53"> but because hair balls are ugly to</subtitle>
 +
 +
<subtitle id="0:18:56"> look at but it got your attention especially</subtitle>
 +
 +
<subtitle id="0:18:59"> and I say how big it is</subtitle>
 +
 +
<subtitle id="0:19:2"> and it represents complications</subtitle>
 +
 +
<subtitle id="0:19:5"> but know the universe is good enough</subtitle>
 +
 +
<subtitle id="0:19:8"> the starry night it's pretty air but it's still</subtitle>
 +
 +
<subtitle id="0:19:11">spent thousand of years misunderstanding</subtitle>
 +
 +
<subtitle id="0:19:14"> it in a bunch of ways and</subtitle>
 +
 +
<subtitle id="0:19:17"> we little creatures with our brains have languages</subtitle>
 +
 +
<subtitle id="0:19:20"> we can make all of our languages out of</subtitle>
 +
 +
<subtitle id="0:19:23"> the scheffers stroke here this is the NAND</subtitle>
 +
 +
<subtitle id="0:19:26"> operator and</subtitle>
 +
 +
<subtitle id="0:19:29"> because we have tiny little brains we</subtitle>
 +
 +
<subtitle id="0:19:32"> invented mathematics and we</subtitle>
 +
 +
<subtitle id="0:19:35">up with something like Maxwell's equations or heavy sides</subtitle>
 +
 +
<subtitle id="0:19:38"> version of Maxwell's equation and put</subtitle>
 +
 +
<subtitle id="0:19:41"> a large part of the phenomena</subtitle>
 +
 +
<subtitle id="0:19:44"> that we're looking at out there on a t-shirt and</subtitle>
 +
 +
<subtitle id="0:19:47"> this represents complexity so</subtitle>
 +
 +
<subtitle id="0:19:50"> the complexity of the electromagnetic field</subtitle>
 +
 +
<subtitle id="0:19:53"> in large amounts</subtitle>
 +
 +
<subtitle id="0:19:56"> of it enough to invent a radio</subtitle>
 +
 +
<subtitle id="0:19:59"> and radar and etc etc</subtitle>
 +
 +
<subtitle id="0:20:2"> can be represented by a couple of these equations and</subtitle>
 +
 +
<subtitle id="0:20:5"> these equations should</subtitle>
 +
 +
<subtitle id="0:20:8"> be symmetrical</subtitle>
 +
 +
<subtitle id="0:20:11"> because the magnetic field and the electric field are</subtitle>
 +
 +
<subtitle id="0:20:14"> trade off against each other with the art so</subtitle>
 +
 +
<subtitle id="0:20:17"> if you worry about that and you happen to be</subtitle>
 +
 +
<subtitle id="0:20:20"> named Einstein you will come up with the special</subtitle>
 +
 +
<subtitle id="0:20:23"> theory of relativity which will symmetric</subtitle>
 +
 +
<subtitle id="0:20:26"> put symmetry into the whole thing and you get down to two</subtitle>
 +
 +
<subtitle id="0:20:29">equations just like you should have one for the electric</subtitle>
 +
 +
<subtitle id="0:20:32"> field and one for the magnetic field now science is not</subtitle>
 +
 +
<subtitle id="0:20:35"> this so the problem is when most people take</subtitle>
 +
 +
<subtitle id="0:20:38">science courses they're taught the t-shirt but</subtitle>
 +
 +
<subtitle id="0:20:41"> science is actually that</subtitle>
 +
 +
<subtitle id="0:20:44"> science is the the</subtitle>
 +
 +
<subtitle id="0:20:47"> realm of the relationship</subtitle>
 +
 +
<subtitle id="0:20:50"> between the phenomena that we can't get to and</subtitle>
 +
 +
<subtitle id="0:20:53"> similarly we can</subtitle>
 +
 +
<subtitle id="0:20:56"> do science with engineering</subtitle>
 +
 +
<subtitle id="0:20:59"> because it's an artifact that has phenomena so</subtitle>
 +
 +
<subtitle id="0:21:2"> we can actually look at that bridge that we</subtitle>
 +
 +
<subtitle id="0:21:5"> built there and scientists can look at what engineers</subtitle>
 +
 +
<subtitle id="0:21:8"> do and make a t-shirt of it so</subtitle>
 +
 +
<subtitle id="0:21:11"> we have t-shirts of what bridges are</subtitle>
 +
 +
<subtitle id="0:21:14"> their theories of bridges then the cool thing this</subtitle>
 +
 +
<subtitle id="0:21:17"> is why it's great to be alive today the</subtitle>
 +
 +
<subtitle id="0:21:20"> cool thing is you can take that t-shirt and</subtitle>
 +
 +
<subtitle id="0:21:23"> make one hell of a bridge</subtitle>
 +
 +
<subtitle id="0:21:26"></subtitle>
 +
 +
<subtitle id="0:21:29">so engineering was around for a long time but it didn't hit</subtitle>
 +
 +
<subtitle id="0:21:32"> its stride until it had this beginning</subtitle>
 +
 +
<subtitle id="0:21:35"> the yang here event of making things and</subtitle>
 +
 +
<subtitle id="0:21:38"> looking at them the special way that science does</subtitle>
 +
 +
<subtitle id="0:21:41"> and how</subtitle>
 +
 +
<subtitle id="0:21:44"> big is this bridge well see those little boats down there those</subtitle>
 +
 +
<subtitle id="0:21:47"> are super tankers so</subtitle>
 +
 +
<subtitle id="0:21:50"> just for comparison there is our Empire State</subtitle>
 +
 +
<subtitle id="0:21:54">Building so the pylons on this bridge are the height of the Empire</subtitle>
 +
 +
<subtitle id="0:21:57">Building and there's the Great Pyramid of Egypt so</subtitle>
 +
 +
<subtitle id="0:22:0"> this is the asahi bridge in Japan</subtitle>
 +
 +
<subtitle id="0:22:2"> just can't beat it so</subtitle>
 +
 +
<subtitle id="0:22:5"> lovely and so this is</subtitle>
 +
 +
<subtitle id="0:22:8"> what we want to think about we want to think about real engineering</subtitle>
 +
 +
<subtitle id="0:22:11">we want to think about real science computer</subtitle>
 +
 +
<subtitle id="0:22:14"> science is not real science ask anybody to give</subtitle>
 +
 +
<subtitle id="0:22:17">will give you an engineering definition and part</subtitle>
 +
 +
<subtitle id="0:22:20"> of is because computer science persists in only building</subtitle>
 +
 +
<subtitle id="0:22:23">doesn't spend a lot of time trying to understand them</subtitle>
 +
 +
<subtitle id="0:22:26"> so</subtitle>
 +
 +
<subtitle id="0:22:29"> you can look you know computers</subtitle>
 +
 +
<subtitle id="0:22:32"> we're built there you have their</subtitle>
 +
 +
<subtitle id="0:22:35"> complicated artifacts programming languages a complicated artifacts</subtitle>
 +
 +
<subtitle id="0:22:38"> you can do the same thing John McCarthy looked</subtitle>
 +
 +
<subtitle id="0:22:41"> at them and being a mathematician you</subtitle>
 +
 +
<subtitle id="0:22:44"> want a G shirt so this is the</subtitle>
 +
 +
<subtitle id="0:22:47">programming language Lisp on the t-shirt and once</subtitle>
 +
 +
<subtitle id="0:22:50"> you look at that you realize whoops programming is not</subtitle>
 +
 +
<subtitle id="0:22:53"> as complicated as I thought all the semantics</subtitle>
 +
 +
<subtitle id="0:22:56"> I really care about are not in these in humongous</subtitle>
 +
 +
<subtitle id="0:22:59"> Fortran or Java compilers but they</subtitle>
 +
 +
<subtitle id="0:23:2"> actually very small and when I make them</subtitle>
 +
 +
<subtitle id="0:23:5">small enough for my tiny little brain I can actually think about to manipulate</subtitle>
 +
 +
<subtitle id="0:23:8"> them whereas trying to go</subtitle>
 +
 +
<subtitle id="0:23:11"> over on the other side and mess around with</subtitle>
 +
 +
<subtitle id="0:23:14">directly to make it better it just never happened so</subtitle>
 +
 +
<subtitle id="0:23:17"></subtitle>
 +
 +
<subtitle id="0:23:20"> John came up with a mathematical theory of computation</subtitle>
 +
 +
<subtitle id="0:23:23"> and those</subtitle>
 +
 +
<subtitle id="0:23:26"> of us who came in the next generation after McCarthy</subtitle>
 +
 +
<subtitle id="0:23:29"> got to do some really fun things with</subtitle>
 +
 +
<subtitle id="0:23:32"> this idea I should mention that what</subtitle>
 +
 +
<subtitle id="0:23:35"> I'm talking to you about actually happened</subtitle>
 +
 +
<subtitle id="0:23:38"> in the 60s and it</subtitle>
 +
 +
<subtitle id="0:23:41"> bore some real fruits but in fact it never made</subtitle>
 +
 +
<subtitle id="0:23:44"> it into the world of the 60s which was</subtitle>
 +
 +
<subtitle id="0:23:47"> dominated by IBM or the world of</subtitle>
 +
 +
<subtitle id="0:23:50"> the 80s and 90s which is dominated by Microsoft</subtitle>
 +
 +
<subtitle id="0:23:53">didn't happen so most</subtitle>
 +
 +
<subtitle id="0:23:56"> people program in a way that is strikingly</subtitle>
 +
 +
<subtitle id="0:23:59"> similar to the way programming was done around 1965</subtitle>
 +
 +
<subtitle id="0:24:2"></subtitle>
 +
 +
<subtitle id="0:24:5"> so let's take a look at the idea</subtitle>
 +
 +
<subtitle id="0:24:8"> of tactics versus strategies the</subtitle>
 +
 +
<subtitle id="0:24:11"> simplest thing when we have materials is to think tactically</subtitle>
 +
 +
<subtitle id="0:24:14"> have a bunch of these</subtitle>
 +
 +
<subtitle id="0:24:17"> materials piles and stacks</subtitle>
 +
 +
<subtitle id="0:24:20"> simplest things we can get out of those hardly</subtitle>
 +
 +
<subtitle id="0:24:23">any design effort at all as pyramids and walls and people</subtitle>
 +
 +
<subtitle id="0:24:26"> did this with bricks for thousands of</subtitle>
 +
 +
<subtitle id="0:24:29"> years before somebody had a strategic thought</subtitle>
 +
 +
<subtitle id="0:24:32"> which is hey</subtitle>
 +
 +
<subtitle id="0:24:35">let's make something out of the bricks before we make the thing</subtitle>
 +
 +
<subtitle id="0:24:38"> let's make a new kind of building component</subtitle>
 +
 +
<subtitle id="0:24:41">a different kind of structural integrity than</subtitle>
 +
 +
<subtitle id="0:24:44"> a pyramid does and all of a sudden we can kick ass</subtitle>
 +
 +
<subtitle id="0:24:47"> took thousands</subtitle>
 +
 +
<subtitle id="0:24:50"> of years to get beyond what</subtitle>
 +
 +
<subtitle id="0:24:53"> the brick forced into our minds by being in front of us</subtitle>
 +
 +
<subtitle id="0:24:56"> to this very odd thing that</subtitle>
 +
 +
<subtitle id="0:24:59"> requires more building materials to make than</subtitle>
 +
 +
<subtitle id="0:25:2">when you're done this is one of the hard things about an arch it's</subtitle>
 +
 +
<subtitle id="0:25:5"> hard to imagine it because it doesn't work until</subtitle>
 +
 +
<subtitle id="0:25:8"> it works so people just ignored it</subtitle>
 +
 +
<subtitle id="0:25:11"> and the same thing happened in computing</subtitle>
 +
 +
<subtitle id="0:25:14"> where we build things out of Nan's</subtitle>
 +
 +
<subtitle id="0:25:17"> basically computing is all about comparing</subtitle>
 +
 +
<subtitle id="0:25:20"> things so you can take</subtitle>
 +
 +
<subtitle id="0:25:23"> materials like even two</subtitle>
 +
 +
<subtitle id="0:25:26">something that first graders love is they can do any</subtitle>
 +
 +
<subtitle id="0:25:29"> fractional arithmetic problem</subtitle>
 +
 +
<subtitle id="0:25:32"> their ten-year-old brother can't do and</subtitle>
 +
 +
<subtitle id="0:25:35"> they can do it in two seconds with two rulers</subtitle>
 +
 +
<subtitle id="0:25:38"> all right because the ruler is an addition slide rule you</subtitle>
 +
 +
<subtitle id="0:25:41"> show this to a kid they'll love you for life</subtitle>
 +
 +
<subtitle id="0:25:44"> just compute the whole thing out ahead of time</subtitle>
 +
 +
<subtitle id="0:25:47"> and say here's</subtitle>
 +
 +
<subtitle id="0:25:50"> what it is and by the way you're teaching them vectors at the same time</subtitle>
 +
 +
<subtitle id="0:25:53"> and so it beats regular fractions in many many</subtitle>
 +
 +
<subtitle id="0:25:56"> ways and of course the Romans and the Greeks</subtitle>
 +
 +
<subtitle id="0:25:59"> Romans had a socially</subtitle>
 +
 +
<subtitle id="0:26:2"> accepted QWERTY form of numbers called Roman numerals</subtitle>
 +
 +
<subtitle id="0:26:5"> but they didn't use them most</subtitle>
 +
 +
<subtitle id="0:26:8"> people use this the wrong way the Romans and the Greeks had</subtitle>
 +
 +
<subtitle id="0:26:11"> abacuses to compute with this is</subtitle>
 +
 +
<subtitle id="0:26:14"> a Roman abacus and those stones are called calculi the</subtitle>
 +
 +
<subtitle id="0:26:17"> calculus came from this</subtitle>
 +
 +
<subtitle id="0:26:20"> notion of what they pull out of your teeth</subtitle>
 +
 +
<subtitle id="0:26:23"> also when they you go to the dentist to get the plaque</subtitle>
 +
 +
<subtitle id="0:26:26"> removed they call them calculi and</subtitle>
 +
 +
<subtitle id="0:26:29"> flip-flops didn't come</subtitle>
 +
 +
<subtitle id="0:26:32">people wanted to do computers but because a couple</subtitle>
 +
 +
<subtitle id="0:26:35"> of Brits wanted to see if they could make a memory</subtitle>
 +
 +
<subtitle id="0:26:38"> that could do some of the things human memory could do</subtitle>
 +
 +
<subtitle id="0:26:41"> out of materials because</subtitle>
 +
 +
<subtitle id="0:26:44">there's a vitalism was a big deal back then</subtitle>
 +
 +
<subtitle id="0:26:47"> and ENIAC</subtitle>
 +
 +
<subtitle id="0:26:50"> but the problem is matter is inconvenient for</subtitle>
 +
 +
<subtitle id="0:26:53"> this it's just</subtitle>
 +
 +
<subtitle id="0:26:56"> you know basically the scaling problems</subtitle>
 +
 +
<subtitle id="0:26:59"> overwhelm you very little return so</subtitle>
 +
 +
<subtitle id="0:27:2"> you need to go strategically and</subtitle>
 +
 +
<subtitle id="0:27:5"> of course this was done a long time before with</subtitle>
 +
 +
<subtitle id="0:27:8"> a jacquard loom von Neumann architecture x'</subtitle>
 +
 +
<subtitle id="0:27:11"> by anointment style programming languages and</subtitle>
 +
 +
<subtitle id="0:27:14"> even the programming languages of today like Java which</subtitle>
 +
 +
<subtitle id="0:27:17"> is also a von Neumann style language in</subtitle>
 +
 +
<subtitle id="0:27:20"> spite of a few trappings it has on it and</subtitle>
 +
 +
<subtitle id="0:27:23"> basically the programming that we're doing</subtitle>
 +
 +
<subtitle id="0:27:26"> today has</subtitle>
 +
 +
<subtitle id="0:27:29"> not stirred from this in 50 years</subtitle>
 +
 +
<subtitle id="0:27:32"> there have been about 3000 different programming languages</subtitle>
 +
 +
<subtitle id="0:27:35"> invented and some of them really useful but</subtitle>
 +
 +
<subtitle id="0:27:38">style of programming that is used today is almost</subtitle>
 +
 +
<subtitle id="0:27:41"> entirely this style and it's</subtitle>
 +
 +
<subtitle id="0:27:44">tyle where the programming language is rather similar</subtitle>
 +
 +
<subtitle id="0:27:47"> to the underlying storage mechanisms</subtitle>
 +
 +
<subtitle id="0:27:50"> and control structures of the machine there</subtitle>
 +
 +
<subtitle id="0:27:53"> are few convenience is there but not a lot and not</subtitle>
 +
 +
<subtitle id="0:27:56"> enough but of</subtitle>
 +
 +
<subtitle id="0:27:59"> course there are always weird people out on the fringes</subtitle>
 +
 +
<subtitle id="0:28:2"> who like Turing himself</subtitle>
 +
 +
<subtitle id="0:28:5"> who did things are completely</subtitle>
 +
 +
<subtitle id="0:28:8"> different for instance sketchpad which is having its 50th anniversary this</subtitle>
 +
 +
<subtitle id="0:28:11"> year computed by</subtitle>
 +
 +
<subtitle id="0:28:14"> you programmed it by putting in</subtitle>
 +
 +
<subtitle id="0:28:17"> constraints that sketchpad had to figure out</subtitle>
 +
 +
<subtitle id="0:28:20"> so instead of writing solutions</subtitle>
 +
 +
<subtitle id="0:28:23"> to problems you just gave sketchpad what the problem what</subtitle>
 +
 +
<subtitle id="0:28:26"> the nature of the problem was what the nature that would</subtitle>
 +
 +
<subtitle id="0:28:29"> characterize a solution and sketchpad had three problem solvers</subtitle>
 +
 +
<subtitle id="0:28:32"> and in 1962 it</subtitle>
 +
 +
<subtitle id="0:28:35"> would solve those problems for you by</subtitle>
 +
 +
<subtitle id="0:28:38"> the way he also invented computer graphics while</subtitle>
 +
 +
<subtitle id="0:28:41">it and also this is the first object-oriented</subtitle>
 +
 +
<subtitle id="0:28:44"> system I know of so those three things were</subtitle>
 +
 +
<subtitle id="0:28:47"> done by Ivan Sutherland as a thesis project in one</subtitle>
 +
 +
<subtitle id="0:28:50"> year one person and I once they asked</subtitle>
 +
 +
<subtitle id="0:28:53"> Ivan how could you do these three things in</subtitle>
 +
 +
<subtitle id="0:28:56"> one year he says well I didn't know it was hard</subtitle>
 +
 +
<subtitle id="0:28:59"> Ivan as a genius but</subtitle>
 +
 +
<subtitle id="0:29:2"> he had also had the advantage of just</subtitle>
 +
 +
<subtitle id="0:29:5"> aiming for what we really needed he</subtitle>
 +
 +
<subtitle id="0:29:8">worry about whether it was hard because nobody knew</subtitle>
 +
 +
<subtitle id="0:29:11"> what was easy and hard in 1962 he just went for</subtitle>
 +
 +
<subtitle id="0:29:14"> what we needed which is an interactive system that</subtitle>
 +
 +
<subtitle id="0:29:17"> you could show sort of what</subtitle>
 +
 +
<subtitle id="0:29:20"> you wanted then tell it what the criteria were to</subtitle>
 +
 +
<subtitle id="0:29:23">the job up and it finished the job up great</subtitle>
 +
 +
<subtitle id="0:29:26"> too bad we don't have it today the</subtitle>
 +
 +
<subtitle id="0:29:29"> Internet another thing which</subtitle>
 +
 +
<subtitle id="0:29:32"> is almost completely ignored by computer people why</subtitle>
 +
 +
<subtitle id="0:29:35"> because it works too well most</subtitle>
 +
 +
<subtitle id="0:29:38">computer people certainly most people in the world but most computer</subtitle>
 +
 +
<subtitle id="0:29:41"> people even don't even think of this as technology it's</subtitle>
 +
 +
<subtitle id="0:29:44"> completely different from the technology</subtitle>
 +
 +
<subtitle id="0:29:47"> they're used to the internet has never gone down</subtitle>
 +
 +
<subtitle id="0:29:50"> started running in 69 but</subtitle>
 +
 +
<subtitle id="0:29:53"> not continuously since then to replace all of its atoms and</subtitle>
 +
 +
<subtitle id="0:29:56"> it's bits without ever being shut down</subtitle>
 +
 +
<subtitle id="0:29:59"> people are shutting down their software systems</subtitle>
 +
 +
<subtitle id="0:30:2">the time they shut down individual servers even though</subtitle>
 +
 +
<subtitle id="0:30:5"> a server is just a name you never have to do that</subtitle>
 +
 +
<subtitle id="0:30:8"> so what we've got is two cultures here we got</subtitle>
 +
 +
<subtitle id="0:30:11">culture that was able to make something get scaled successfully</subtitle>
 +
 +
<subtitle id="0:30:14">of magnitude we've got</subtitle>
 +
 +
<subtitle id="0:30:17"> another culture who that who can't even appreciate the</subtitle>
 +
 +
<subtitle id="0:30:20"> feat of engineering and science that</subtitle>
 +
 +
<subtitle id="0:30:23"> took to do so</subtitle>
 +
 +
<subtitle id="0:30:26"> the Internet is really the only extant true object-oriented</subtitle>
 +
 +
<subtitle id="0:30:29"> system in the world right now and then</subtitle>
 +
 +
<subtitle id="0:30:32"> there's of course AI which</subtitle>
 +
 +
<subtitle id="0:30:35"> people have lost interest in just as</subtitle>
 +
 +
<subtitle id="0:30:38"> it was starting to get really well work done</subtitle>
 +
 +
<subtitle id="0:30:41"> so we should</subtitle>
 +
 +
<subtitle id="0:30:44">be spending more time thinking about about</subtitle>
 +
 +
<subtitle id="0:30:47"> this now one little</subtitle>
 +
 +
<subtitle id="0:30:50"> blast from the past 1973</subtitle>
 +
 +
<subtitle id="0:30:53"> we showed this machine and this the</subtitle>
 +
 +
<subtitle id="0:30:56"> system notice</subtitle>
 +
 +
<subtitle id="0:30:59"> overlapping windows there was a view</subtitle>
 +
 +
<subtitle id="0:31:2"> oriented object-oriented system</subtitle>
 +
 +
<subtitle id="0:31:5"> desktop publishing was</subtitle>
 +
 +
<subtitle id="0:31:8"> essentially the views</subtitle>
 +
 +
<subtitle id="0:31:11"> without the borders on them these</subtitle>
 +
 +
<subtitle id="0:31:14">split up when they came out into the real world but it's Xerox</subtitle>
 +
 +
<subtitle id="0:31:17"> theory one thing there was no operating system</subtitle>
 +
 +
<subtitle id="0:31:20"> because you don't need one</subtitle>
 +
 +
<subtitle id="0:31:23"> okay and</subtitle>
 +
 +
<subtitle id="0:31:26"> so when Xerox asked us what we</subtitle>
 +
 +
<subtitle id="0:31:29"> were we're doing we gave them</subtitle>
 +
 +
<subtitle id="0:31:32"> our own version of Paul starts</subtitle>
 +
 +
<subtitle id="0:31:35"> speech not even a pick and shovel so so</subtitle>
 +
 +
<subtitle id="0:31:38"> part of the deal at Xerox PARC was we built every bit</subtitle>
 +
 +
<subtitle id="0:31:41"> of the hardware and software ourselves from scratch</subtitle>
 +
 +
<subtitle id="0:31:44"> we did not go out and buy</subtitle>
 +
 +
<subtitle id="0:31:47"> commercial computers we did</subtitle>
 +
 +
<subtitle id="0:31:50"> not go out and buy commercial software</subtitle>
 +
 +
<subtitle id="0:31:53"> the reason is this stuff was so different that</subtitle>
 +
 +
<subtitle id="0:31:56"> we would have spent all of our time running</subtitle>
 +
 +
<subtitle id="0:31:59"> into walls that were simply irrelevant</subtitle>
 +
 +
<subtitle id="0:32:2"> to what we were trying to do</subtitle>
 +
 +
<subtitle id="0:32:5"> then the cool thing was this was</subtitle>
 +
 +
<subtitle id="0:32:8"> a tiny machine 128 K Ram</subtitle>
 +
 +
<subtitle id="0:32:11"> and we used half of it for the display</subtitle>
 +
 +
<subtitle id="0:32:14"> so it had a display about 800</subtitle>
 +
 +
<subtitle id="0:32:17"> by 600 and</subtitle>
 +
 +
<subtitle id="0:32:20"> all the software from the end-user down to</subtitle>
 +
 +
<subtitle id="0:32:23"> the non-existent operating system down to the</subtitle>
 +
 +
<subtitle id="0:32:26"> metal of the machine was only about 10,000</subtitle>
 +
 +
<subtitle id="0:32:29">of code it was done in a language we invented specifically</subtitle>
 +
 +
<subtitle id="0:32:32"> for the purpose so</subtitle>
 +
 +
<subtitle id="0:32:35"> one way of thinking about this is in the end no</subtitle>
 +
 +
<subtitle id="0:32:38"> matter what it is you think you're doing</subtitle>
 +
 +
<subtitle id="0:32:41"> math wins the</subtitle>
 +
 +
<subtitle id="0:32:44"> thing that is math the mathematize ation</subtitle>
 +
 +
<subtitle id="0:32:47"> of an idea dominates</subtitle>
 +
 +
<subtitle id="0:32:50"> all other things once you've done the</subtitle>
 +
 +
<subtitle id="0:32:53"> spadework around the edges at some point you have to</subtitle>
 +
 +
<subtitle id="0:32:56"> sit down and do something like mathematical thinking in</subtitle>
 +
 +
<subtitle id="0:32:59"> order to collapse all the</subtitle>
 +
 +
<subtitle id="0:33:2"> things that seem to be artificially dissimilar</subtitle>
 +
 +
<subtitle id="0:33:5"> into things that are similar this is called</subtitle>
 +
 +
<subtitle id="0:33:8"> making an algebra and this</subtitle>
 +
 +
<subtitle id="0:33:11"> was a technique that we use pretty generally at Parc and</subtitle>
 +
 +
<subtitle id="0:33:14"> so in a</subtitle>
 +
 +
<subtitle id="0:33:17"> few years we did this the</subtitle>
 +
 +
<subtitle id="0:33:20"> bitmap screen the GUI</subtitle>
 +
 +
<subtitle id="0:33:23"> WYSIWYG in desktop</subtitle>
 +
 +
<subtitle id="0:33:26"> publishing real objects laser</subtitle>
 +
 +
<subtitle id="0:33:29"> printers Ethernet pierre-pierre</subtitle>
 +
 +
<subtitle id="0:33:32"> and client-server and about half of the internet</subtitle>
 +
 +
<subtitle id="0:33:35"> now what was interesting about that perhaps is</subtitle>
 +
 +
<subtitle id="0:33:38"> it was only two dozen people</subtitle>
 +
 +
<subtitle id="0:33:41"> any company</subtitle>
 +
 +
<subtitle id="0:33:44"> here could have afforded to do this two</subtitle>
 +
 +
<subtitle id="0:33:47"> dozen people just ten million dollars a year in</subtitle>
 +
 +
<subtitle id="0:33:50"> today's dollars you could do it right now</subtitle>
 +
 +
<subtitle id="0:33:53"> you won't</subtitle>
 +
 +
<subtitle id="0:33:56"> do it though nobody is doing it you</subtitle>
 +
 +
<subtitle id="0:33:59"> won't do it in spite</subtitle>
 +
 +
<subtitle id="0:34:2">fact that it returned 30 plus trillion bucks</subtitle>
 +
 +
<subtitle id="0:34:5"> returning about a trillion dollars a year still</subtitle>
 +
 +
<subtitle id="0:34:8"> so this is a huge win but</subtitle>
 +
 +
<subtitle id="0:34:11"> in fact it is against what</subtitle>
 +
 +
<subtitle id="0:34:14"> most people think is good practice I</subtitle>
 +
 +
<subtitle id="0:34:17"> don't mean in computing only</subtitle>
 +
 +
<subtitle id="0:34:20"> I mean in management okay</subtitle>
 +
 +
<subtitle id="0:34:23">so we'll leave that because we don't want to talk about the past too much but</subtitle>
 +
 +
<subtitle id="0:34:26">I just most people do not realize it was only two dozen</subtitle>
 +
 +
<subtitle id="0:34:29"> people that is only four to five years</subtitle>
 +
 +
<subtitle id="0:34:32"> to do all this stuff and doing it all from scratch</subtitle>
 +
 +
<subtitle id="0:34:35"> okay</subtitle>
 +
 +
<subtitle id="0:34:38"> now let's take a look at a</subtitle>
 +
 +
<subtitle id="0:34:41"></subtitle>
 +
 +
<subtitle id="0:34:44">science project in the present same idea</subtitle>
 +
 +
<subtitle id="0:34:47">here so all of these ideas I've been talking about here</subtitle>
 +
 +
<subtitle id="0:34:50"> we're going to apply them to this big thing</subtitle>
 +
 +
<subtitle id="0:34:53"> called personal computing and it's got all kinds of stuff</subtitle>
 +
 +
<subtitle id="0:34:56"> in it so</subtitle>
 +
 +
<subtitle id="0:34:59"> again we're interested in this area that</subtitle>
 +
 +
<subtitle id="0:35:2"> goes from the end-user</subtitle>
 +
 +
<subtitle id="0:35:5"> all the way down to the metal so there's a lot of</subtitle>
 +
 +
<subtitle id="0:35:8"> stuff we want to know</subtitle>
 +
 +
<subtitle id="0:35:11"> how many t-shirts does it take right</subtitle>
 +
 +
<subtitle id="0:35:14"> so this is a completely different thing</subtitle>
 +
 +
<subtitle id="0:35:17"> here we are not interested we're doing</subtitle>
 +
 +
<subtitle id="0:35:20"> science here now we're going to have to do a little bit</subtitle>
 +
 +
<subtitle id="0:35:23"> of engineering because the only way we can validate this science is by</subtitle>
 +
 +
<subtitle id="0:35:26"> making it run but this is</subtitle>
 +
 +
<subtitle id="0:35:29"> a science project we want those t-shirts</subtitle>
 +
 +
<subtitle id="0:35:32"> so let's take a look</subtitle>
 +
 +
<subtitle id="0:35:35"> so let's say half of</subtitle>
 +
 +
<subtitle id="0:35:38"> what Microsoft or Moore has in there is just</subtitle>
 +
 +
<subtitle id="0:35:41"> code they can't get rid of but still most</subtitle>
 +
 +
<subtitle id="0:35:44"> of these you know Linux and</subtitle>
 +
 +
<subtitle id="0:35:47"> OpenOffice and stuff</subtitle>
 +
 +
<subtitle id="0:35:50"> it's like a hundred billion lines of code so it's a lot</subtitle>
 +
 +
<subtitle id="0:35:53"> of a lot of stuff of different</subtitle>
 +
 +
<subtitle id="0:35:56"> kinds and</subtitle>
 +
 +
<subtitle id="0:35:59"> so</subtitle>
 +
 +
<subtitle id="0:36:2"> now here here we have the</subtitle>
 +
 +
<subtitle id="0:36:5"> we're kind of behind the eight-ball of</subtitle>
 +
 +
<subtitle id="0:36:8"> having a brief talk so this part</subtitle>
 +
 +
<subtitle id="0:36:11"> to do this part in a</subtitle>
 +
 +
<subtitle id="0:36:14">reasonable way would take a couple of days so</subtitle>
 +
 +
<subtitle id="0:36:17"> I'm and I hate bullets so please do</subtitle>
 +
 +
<subtitle id="0:36:20"> not regard these as bullets just look they're ten blobs</subtitle>
 +
 +
<subtitle id="0:36:23"> out of twelve or thirteen blobs that</subtitle>
 +
 +
<subtitle id="0:36:26"> we used and what they</subtitle>
 +
 +
<subtitle id="0:36:29"> are are things a couple</subtitle>
 +
 +
<subtitle id="0:36:32"> of those we invented but most of them were things that have been around</subtitle>
 +
 +
<subtitle id="0:36:35"> for 50 years that didn't make it into</subtitle>
 +
 +
<subtitle id="0:36:38"> the particulars einer that</subtitle>
 +
 +
<subtitle id="0:36:41"> computing is see the difference here</subtitle>
 +
 +
<subtitle id="0:36:44"> is nature helps physicists be</subtitle>
 +
 +
<subtitle id="0:36:47"> honest because in the end you're</subtitle>
 +
 +
<subtitle id="0:36:50"> supposed to submit your theories back to nature but the problem is</subtitle>
 +
 +
<subtitle id="0:36:53"> we're a design field so our trade is bullshit</subtitle>
 +
 +
<subtitle id="0:36:56"> that's what design is and it's</subtitle>
 +
 +
<subtitle id="0:36:59"> good and there's bad and there's indifferent a lot</subtitle>
 +
 +
<subtitle id="0:37:2"> a lot of stuff in between and so</subtitle>
 +
 +
<subtitle id="0:37:5"> we can have a fad like</subtitle>
 +
 +
<subtitle id="0:37:8"> for instance semaphores semaphores</subtitle>
 +
 +
<subtitle id="0:37:11"> were known to be a bad idea when they were first invented by</subtitle>
 +
 +
<subtitle id="0:37:14"> Dykstra and whore but in fact</subtitle>
 +
 +
<subtitle id="0:37:17"> in that culture they took</subtitle>
 +
 +
<subtitle id="0:37:20"> on and for a variety of different reasons</subtitle>
 +
 +
<subtitle id="0:37:23">being taught today and they're still being used today why</subtitle>
 +
 +
<subtitle id="0:37:26"> are they a bad idea anybody know</subtitle>
 +
 +
<subtitle id="0:37:29"> what's wrong with a semaphores</subtitle>
 +
 +
<subtitle id="0:37:32"> gets a</subtitle>
 +
 +
<subtitle id="0:37:35"> system lock up and there</subtitle>
 +
 +
<subtitle id="0:37:38"> is no way to do something</subtitle>
 +
 +
<subtitle id="0:37:41">time that will tell you you won't get system melaka so</subtitle>
 +
 +
<subtitle id="0:37:44"> this is like the world's worst idea to</subtitle>
 +
 +
<subtitle id="0:37:47"> let the cpu control the time base</subtitle>
 +
 +
<subtitle id="0:37:50"> of your computations you're screwed</subtitle>
 +
 +
<subtitle id="0:37:53"> may take a while may</subtitle>
 +
 +
<subtitle id="0:37:56"> happen quickly but it's just basically</subtitle>
 +
 +
<subtitle id="0:37:59"> a bad idea and there was already a good idea also thought</subtitle>
 +
 +
<subtitle id="0:38:2"> up by John McCarthy in the early 60s</subtitle>
 +
 +
<subtitle id="0:38:5"> that actually works and works much</subtitle>
 +
 +
<subtitle id="0:38:8">it's just not generally used and it won't be used for</subtitle>
 +
 +
<subtitle id="0:38:11"> a while because these things take decades</subtitle>
 +
 +
<subtitle id="0:38:14"> to get rid of things that are you</subtitle>
 +
 +
<subtitle id="0:38:17"> know de facto religions so I'm</subtitle>
 +
 +
<subtitle id="0:38:20"> just going to pick on a couple of these I already talked about math wins</subtitle>
 +
 +
<subtitle id="0:38:23"> and I want to talk about this</subtitle>
 +
 +
<subtitle id="0:38:26"> now in this area</subtitle>
 +
 +
<subtitle id="0:38:29"> up</subtitle>
 +
 +
<subtitle id="0:38:32"> around in here because we have to</subtitle>
 +
 +
<subtitle id="0:38:35"> one of the things we have to do in personal computing</subtitle>
 +
 +
<subtitle id="0:38:38"> today is make anti-alias two and a half d computer</subtitle>
 +
 +
<subtitle id="0:38:41"> graphics and we have to make it look really</subtitle>
 +
 +
<subtitle id="0:38:44"> good and if we didn't have it look really</subtitle>
 +
 +
<subtitle id="0:38:47"> good then we will be sloughing</subtitle>
 +
 +
<subtitle id="0:38:50"> off part of making something</subtitle>
 +
 +
<subtitle id="0:38:53"> that is like computer graphics that</subtitle>
 +
 +
<subtitle id="0:38:56"> we can recognize today so</subtitle>
 +
 +
<subtitle id="0:38:59"> of course whenever you have a hard problem you</subtitle>
 +
 +
<subtitle id="0:39:2"> get a graduate student to do it because</subtitle>
 +
 +
<subtitle id="0:39:5"> they are just so much smarter than we are</subtitle>
 +
 +
<subtitle id="0:39:8"></subtitle>
 +
 +
<subtitle id="0:39:11"></subtitle>
 +
 +
<subtitle id="0:39:14"></subtitle>
 +
 +
<subtitle id="0:39:17"></subtitle>
 +
 +
<subtitle id="0:39:20"></subtitle>
 +
 +
<subtitle id="0:39:23">a mom of course we all do but his mom happens to be a high</subtitle>
 +
 +
<subtitle id="0:39:26"> school geometry teacher of that special kind that</subtitle>
 +
 +
<subtitle id="0:39:29"> actually understands math and so</subtitle>
 +
 +
<subtitle id="0:39:32"> they</subtitle>
 +
 +
<subtitle id="0:39:35"> do exist and so he went home Thanksgiving</subtitle>
 +
 +
<subtitle id="0:39:38"> three four years ago and his</subtitle>
 +
 +
<subtitle id="0:39:41">well son what are you doing at viewpoints and he</subtitle>
 +
 +
<subtitle id="0:39:44"> said well I'm I need to reduce</subtitle>
 +
 +
<subtitle id="0:39:47"> the amount of code to do computer graphics on</subtitle>
 +
 +
<subtitle id="0:39:50"> a personal computer by a factor of a thousand and</subtitle>
 +
 +
<subtitle id="0:39:53"> she said oh that</subtitle>
 +
 +
<subtitle id="0:39:56"> sounds interesting what are you</subtitle>
 +
 +
<subtitle id="0:39:59"> going to do and in fact her expertise was in</subtitle>
 +
 +
<subtitle id="0:40:2"> projective geometry so Dan</subtitle>
 +
 +
<subtitle id="0:40:5"> did not come back from Thanksgiving he stayed</subtitle>
 +
 +
<subtitle id="0:40:8"> working with his mom he and his</subtitle>
 +
 +
<subtitle id="0:40:11"> mom worked together on this thing through Janney finally</subtitle>
 +
 +
<subtitle id="0:40:14"> showed up in January with this formula</subtitle>
 +
 +
<subtitle id="0:40:17"> and so this is one of these serendipitous</subtitle>
 +
 +
<subtitle id="0:40:20"> things that you can't completely</subtitle>
 +
 +
<subtitle id="0:40:23"> supply by method but because this stuff has been kicked</subtitle>
 +
 +
<subtitle id="0:40:26"> around by the best people in the world for</subtitle>
 +
 +
<subtitle id="0:40:29"> forty five years but in fact they found a new way of thinking</subtitle>
 +
 +
<subtitle id="0:40:32"> about the involvement of an arbitrary polygon</subtitle>
 +
 +
<subtitle id="0:40:35"> with a pixel that computes</subtitle>
 +
 +
<subtitle id="0:40:38"> exactly the right shade of the pixel</subtitle>
 +
 +
<subtitle id="0:40:41"> to give you perfect anti-aliasing and it's</subtitle>
 +
 +
<subtitle id="0:40:44"> only that big and the next thing Dan</subtitle>
 +
 +
<subtitle id="0:40:47"> did was to make a math</subtitle>
 +
 +
<subtitle id="0:40:50"> a language out</subtitle>
 +
 +
<subtitle id="0:40:53"> of the mathematics that looked like the mathematics but</subtitle>
 +
 +
<subtitle id="0:40:56"> could run on a computer and when you tell this</subtitle>
 +
 +
<subtitle id="0:40:59"> these 45 lines of code to do it</subtitle>
 +
 +
<subtitle id="0:41:2"> they can do things like this they can render anti-alias text</subtitle>
 +
 +
<subtitle id="0:41:5"> and anti-aliased</subtitle>
 +
 +
<subtitle id="0:41:8"> graphic objects so that was a great</subtitle>
 +
 +
<subtitle id="0:41:11"> start and this</subtitle>
 +
 +
<subtitle id="0:41:14"> language that he devised he decided to</subtitle>
 +
 +
<subtitle id="0:41:17"> make it a dataflow language with kind of</subtitle>
 +
 +
<subtitle id="0:41:20"> functional engines at the nodes and</subtitle>
 +
 +
<subtitle id="0:41:23"> because of that it is highly amenable to automatic</subtitle>
 +
 +
<subtitle id="0:41:26"> use of parallel resources</subtitle>
 +
 +
<subtitle id="0:41:29"> so here's</subtitle>
 +
 +
<subtitle id="0:41:32"> one of our benchmarks so this is 5000</subtitle>
 +
 +
<subtitle id="0:41:35"> anti-aliased</subtitle>
 +
 +
<subtitle id="0:41:38"> translucent characters</subtitle>
 +
 +
<subtitle id="0:41:41"> being re rendered every time</subtitle>
 +
 +
<subtitle id="0:41:44"> by this these 45</subtitle>
 +
 +
<subtitle id="0:41:47"> lines of code so there's no caching or anything</subtitle>
 +
 +
<subtitle id="0:41:50">here and we can take a look at the CPU usage</subtitle>
 +
 +
<subtitle id="0:41:53"></subtitle>
 +
 +
<subtitle id="0:41:56"> and we can see that it's basically using so</subtitle>
 +
 +
<subtitle id="0:41:59"> this is a fork or Mac but</subtitle>
 +
 +
<subtitle id="0:42:2"> the the cores can handle two highly</subtitle>
 +
 +
<subtitle id="0:42:5"> interleaved threads at once so</subtitle>
 +
 +
<subtitle id="0:42:8">seeing that one of those is being devoted to this task and</subtitle>
 +
 +
<subtitle id="0:42:11"> the fan has come on and</subtitle>
 +
 +
<subtitle id="0:42:14"> as I say go faster it says</subtitle>
 +
 +
<subtitle id="0:42:17"> okay give me another thread there it is</subtitle>
 +
 +
<subtitle id="0:42:20"></subtitle>
 +
 +
<subtitle id="0:42:23"></subtitle>
 +
 +
<subtitle id="0:42:26"></subtitle>
 +
 +
<subtitle id="0:42:29"></subtitle>
 +
 +
<subtitle id="0:42:32"></subtitle>
 +
 +
<subtitle id="0:42:35">go faster and faster it starts interleaving them I can start zooming in</subtitle>
 +
 +
<subtitle id="0:42:38">here so you can sort of see what's going on a little better you</subtitle>
 +
 +
<subtitle id="0:42:41"></subtitle>
 +
 +
<subtitle id="0:42:44"></subtitle>
 +
 +
<subtitle id="0:42:47"> got enough monkeys</subtitle>
 +
 +
<subtitle id="0:42:50"> yeah so</subtitle>
 +
 +
<subtitle id="0:42:53"> so we're actually quite surprised that</subtitle>
 +
 +
<subtitle id="0:42:56"> this is a lot of computing</subtitle>
 +
 +
<subtitle id="0:42:59"> but</subtitle>
 +
 +
<subtitle id="0:43:2"> we're getting a lot of a lot out of it so</subtitle>
 +
 +
<subtitle id="0:43:5"> I thought was wow we</subtitle>
 +
 +
<subtitle id="0:43:8">should be able to make a whole system just out of this math</subtitle>
 +
 +
<subtitle id="0:43:11"> and so this is in fact</subtitle>
 +
 +
<subtitle id="0:43:14"> what I'm using so I'm not using PowerPoint here it's</subtitle>
 +
 +
<subtitle id="0:43:17"> probably obvious by now but here is this</subtitle>
 +
 +
<subtitle id="0:43:20"> system that</subtitle>
 +
 +
<subtitle id="0:43:23"> is this replacement</subtitle>
 +
 +
<subtitle id="0:43:26"> for personal computing and</subtitle>
 +
 +
<subtitle id="0:43:29"> now here's my next slide and</subtitle>
 +
 +
<subtitle id="0:43:32"></subtitle>
 +
 +
<subtitle id="0:43:35"></subtitle>
 +
 +
<subtitle id="0:43:38">here's Dan's brother and here's all the compositing rules and</subtitle>
 +
 +
<subtitle id="0:43:41"> so for instance here's</subtitle>
 +
 +
<subtitle id="0:43:44"> this one is invert</subtitle>
 +
 +
<subtitle id="0:43:47"> here's another</subtitle>
 +
 +
<subtitle id="0:43:50"> combination rule here so</subtitle>
 +
 +
<subtitle id="0:43:53">it's 95 lines to do all of the compositing rules that</subtitle>
 +
 +
<subtitle id="0:43:56"> you use so now that you've now</subtitle>
 +
 +
<subtitle id="0:43:59"> that you've seen and of course there</subtitle>
 +
 +
<subtitle id="0:44:2"> are those</subtitle>
 +
 +
<subtitle id="0:44:5"> 45 lines there's gradients so</subtitle>
 +
 +
<subtitle id="0:44:8"> I should actually now this user interface</subtitle>
 +
 +
<subtitle id="0:44:11"> here is made out of the system also because</subtitle>
 +
 +
<subtitle id="0:44:14"> it's all one sort of one big desktop publishing document</subtitle>
 +
 +
<subtitle id="0:44:17"> and I'm going to the system is also live</subtitle>
 +
 +
<subtitle id="0:44:20"> so this has not been compiled away into</subtitle>
 +
 +
<subtitle id="0:44:23"> C code down there so I'm actually going</subtitle>
 +
 +
<subtitle id="0:44:26"> to pick an object here like this</subtitle>
 +
 +
<subtitle id="0:44:29"></subtitle>
 +
 +
<subtitle id="0:44:32"> this menu</subtitle>
 +
 +
<subtitle id="0:44:35"> here and I'm going to say</subtitle>
 +
 +
<subtitle id="0:44:38"> okay let's change the gradient fill on this</subtitle>
 +
 +
<subtitle id="0:44:41"> and</subtitle>
 +
 +
<subtitle id="0:44:44"></subtitle>
 +
 +
<subtitle id="0:44:53">yeah something like that maybe or maybe we</subtitle>
 +
 +
<subtitle id="0:44:56"> don't want as hard an edge so we'll zoom</subtitle>
 +
 +
<subtitle id="0:44:59"> this out okay get the idea so the whole system</subtitle>
 +
 +
<subtitle id="0:45:2"> is live it's using its own stuff</subtitle>
 +
 +
<subtitle id="0:45:5"> here and</subtitle>
 +
 +
<subtitle id="0:45:8"> we keep on chugging along we</subtitle>
 +
 +
<subtitle id="0:45:11"> can see here's pen stroking</subtitle>
 +
 +
<subtitle id="0:45:14"> filtering and so all of</subtitle>
 +
 +
<subtitle id="0:45:17"> the graphics for personal computing in this little science exercise</subtitle>
 +
 +
<subtitle id="0:45:20"> came out to be four hundred and fifty seven lines of code</subtitle>
 +
 +
<subtitle id="0:45:23"> how do we know is 457 because you can count</subtitle>
 +
 +
<subtitle id="0:45:26"> 457 things</subtitle>
 +
 +
<subtitle id="0:45:29"> it's hard to count 400 thousands or</subtitle>
 +
 +
<subtitle id="0:45:32"> 440 million or so on so this</subtitle>
 +
 +
<subtitle id="0:45:35"> is about a thousand times smaller than the way it is</subtitle>
 +
 +
<subtitle id="0:45:38"> done say in Firefox right</subtitle>
 +
 +
<subtitle id="0:45:41"> so a thousand should get your attention right you</subtitle>
 +
 +
<subtitle id="0:45:44"> have to learn a new language on the other hand here</subtitle>
 +
 +
<subtitle id="0:45:47"> it is the whole thing is just a</subtitle>
 +
 +
<subtitle id="0:45:50"> few pages of code and it's live and you you</subtitle>
 +
 +
<subtitle id="0:45:53"> can run and use it okay</subtitle>
 +
 +
<subtitle id="0:45:56"> so now</subtitle>
 +
 +
<subtitle id="0:45:59"> of course where did this language</subtitle>
 +
 +
<subtitle id="0:46:2"> come from I have to build that and so</subtitle>
 +
 +
<subtitle id="0:46:5">there's actually quite a distance between one of these compositing</subtitle>
 +
 +
<subtitle id="0:46:8"> rules a one-liner of code and getting</subtitle>
 +
 +
<subtitle id="0:46:11"> the result at the other end and so I might need</subtitle>
 +
 +
<subtitle id="0:46:14">remove the hood and show you what's there and this looks a little more daunting</subtitle>
 +
 +
<subtitle id="0:46:17"> because I have to</subtitle>
 +
 +
<subtitle id="0:46:20"> translate this language into a standard</subtitle>
 +
 +
<subtitle id="0:46:23"> form I have to</subtitle>
 +
 +
<subtitle id="0:46:26"> translate this into another language that is sort of like see</subtitle>
 +
 +
<subtitle id="0:46:29"> I have to translate to</subtitle>
 +
 +
<subtitle id="0:46:32"> something that eventually will run on the 86 architecture</subtitle>
 +
 +
<subtitle id="0:46:35"> that's on this machine that looks</subtitle>
 +
 +
<subtitle id="0:46:38"> like a lot of work and of course I run the system</subtitle>
 +
 +
<subtitle id="0:46:41"> runs on multiple processors so I have to do that and</subtitle>
 +
 +
<subtitle id="0:46:44"> so one way of thinking about it is gee looks</subtitle>
 +
 +
<subtitle id="0:46:47"> like there's a lot of work in these square boxes here</subtitle>
 +
 +
<subtitle id="0:46:50"> and all so we need another special</subtitle>
 +
 +
<subtitle id="0:46:53"> language so we've just showed</subtitle>
 +
 +
<subtitle id="0:46:56"> you a domain-specific language</subtitle>
 +
 +
<subtitle id="0:46:59"> in the old days you are called problem</subtitle>
 +
 +
<subtitle id="0:47:2"> oriented languages I like old terminology because I'm old</subtitle>
 +
 +
<subtitle id="0:47:5"> and so we need another problem oriented</subtitle>
 +
 +
<subtitle id="0:47:8"> line language here whose problem domain</subtitle>
 +
 +
<subtitle id="0:47:11"> is transforming languages and of course there are tools</subtitle>
 +
 +
<subtitle id="0:47:14"> around for doing this but this is one of the</subtitle>
 +
 +
<subtitle id="0:47:17"> big stoppers for people doing this themselves is</subtitle>
 +
 +
<subtitle id="0:47:20"> making a language the way it is</subtitle>
 +
 +
<subtitle id="0:47:23"> a daunting procedures usually taught through</subtitle>
 +
 +
<subtitle id="0:47:26"> some set of tools like yak this is not the way</subtitle>
 +
 +
<subtitle id="0:47:29"> to do it but the poor student comes</subtitle>
 +
 +
<subtitle id="0:47:32"> out either not understanding it all or convinced that it's</subtitle>
 +
 +
<subtitle id="0:47:35"> too hard but in fact you</subtitle>
 +
 +
<subtitle id="0:47:38"> can make a much better language so here's</subtitle>
 +
 +
<subtitle id="0:47:41"> one we did called Omata and here's a simple</subtitle>
 +
 +
<subtitle id="0:47:44"> arithmetic expression and here's</subtitle>
 +
 +
<subtitle id="0:47:47"> the program and if I say do it it</subtitle>
 +
 +
<subtitle id="0:47:50"> transforms that expression into a tree</subtitle>
 +
 +
<subtitle id="0:47:53"> and if I come down here</subtitle>
 +
 +
<subtitle id="0:47:56"> and</subtitle>
 +
 +
<subtitle id="0:47:59"> pick this more</subtitle>
 +
 +
<subtitle id="0:48:2"> complicated expression up and paste it in</subtitle>
 +
 +
<subtitle id="0:48:5"> here and say do it I</subtitle>
 +
 +
<subtitle id="0:48:8"> get that and so that this</subtitle>
 +
 +
<subtitle id="0:48:11"> translation system isn't just for translating</subtitle>
 +
 +
<subtitle id="0:48:14"> things that have strings it translates any kind</subtitle>
 +
 +
<subtitle id="0:48:17"> of objects into any other kind of objects so you want to</subtitle>
 +
 +
<subtitle id="0:48:20">do it in that generality because you're going to use this everywhere</subtitle>
 +
 +
<subtitle id="0:48:23"> and so</subtitle>
 +
 +
<subtitle id="0:48:26"> this graphical language winds up being 130</subtitle>
 +
 +
<subtitle id="0:48:29"> lines of code to make the trees and another 700</subtitle>
 +
 +
<subtitle id="0:48:32"> lines of code to make the</subtitle>
 +
 +
<subtitle id="0:48:35">lower-level stuff that is actually run on the machine so</subtitle>
 +
 +
<subtitle id="0:48:38"> you could say a thousand lines of code 900 lines of</subtitle>
 +
 +
<subtitle id="0:48:41"> code to make that graphical language</subtitle>
 +
 +
<subtitle id="0:48:44"> but this</subtitle>
 +
 +
<subtitle id="0:48:47"> like a shaggy dog story right because well now I</subtitle>
 +
 +
<subtitle id="0:48:50"> have to make the language transforming language and but</subtitle>
 +
 +
<subtitle id="0:48:53"> of course it can make itself and</subtitle>
 +
 +
<subtitle id="0:48:56"> Alex Wirth did it particularly nicely so it can make</subtitle>
 +
 +
<subtitle id="0:48:59"> itself in 100 lines of code and</subtitle>
 +
 +
<subtitle id="0:49:2"> as you get closer and closer down</subtitle>
 +
 +
<subtitle id="0:49:5"> to the bottom of the system you start using these base</subtitle>
 +
 +
<subtitle id="0:49:8"> things over and over again and the</subtitle>
 +
 +
<subtitle id="0:49:11">problem oriented language is stay on the top</subtitle>
 +
 +
<subtitle id="0:49:14"> okay but we have to do</subtitle>
 +
 +
<subtitle id="0:49:17"> the internet so tcp/ip</subtitle>
 +
 +
<subtitle id="0:49:20"> 20,000 lines of</subtitle>
 +
 +
<subtitle id="0:49:23"> c-4 that so one book one of</subtitle>
 +
 +
<subtitle id="0:49:26"> those books this happened the C code and most</subtitle>
 +
 +
<subtitle id="0:49:29"> computers is a good nice job and</subtitle>
 +
 +
<subtitle id="0:49:32"> tcp/ip was invented by experts and</subtitle>
 +
 +
<subtitle id="0:49:35"> so we didn't expect to get a</subtitle>
 +
 +
<subtitle id="0:49:38"> factor of thousand on this in</subtitle>
 +
 +
<subtitle id="0:49:41"> pia Marta only got a little more</subtitle>
 +
 +
<subtitle id="0:49:44"> than a factor of a hundred so</subtitle>
 +
 +
<subtitle id="0:49:47"> tcp/ip is about 160 lines of code</subtitle>
 +
 +
<subtitle id="0:49:50"> using these techniques and if you're interested I can</subtitle>
 +
 +
<subtitle id="0:49:53"> exceed this is particularly elegant the way he did it I'll</subtitle>
 +
 +
<subtitle id="0:49:56"> explain it later for people who are interested so</subtitle>
 +
 +
<subtitle id="0:49:59"> this is represents taking</subtitle>
 +
 +
<subtitle id="0:50:2"> something it was done by very good people but in the wrong language</subtitle>
 +
 +
<subtitle id="0:50:5"> and done essentially the in a way that</subtitle>
 +
 +
<subtitle id="0:50:8"> generated unnecessary code the</subtitle>
 +
 +
<subtitle id="0:50:11"> big key here was not so much the language</subtitle>
 +
 +
<subtitle id="0:50:14"> as the method</subtitle>
 +
 +
<subtitle id="0:50:17"> the method came first and then we did the language</subtitle>
 +
 +
<subtitle id="0:50:20"> too to do it and so the whole thing collapses down</subtitle>
 +
 +
<subtitle id="0:50:23"> okay</subtitle>
 +
 +
<subtitle id="0:50:26"> let's take another one of these metaphors particles</subtitle>
 +
 +
<subtitle id="0:50:29"> and fields everybody understands this as a kind</subtitle>
 +
 +
<subtitle id="0:50:32"> of a metaphor for iron filings</subtitle>
 +
 +
<subtitle id="0:50:35"> in a magnetic field the iron filings seem</subtitle>
 +
 +
<subtitle id="0:50:38"> to know what to do they're feeling this field</subtitle>
 +
 +
<subtitle id="0:50:41"> and they're doing individual things that look like they're somewhat</subtitle>
 +
 +
<subtitle id="0:50:44"> coordinated and in fact there</subtitle>
 +
 +
<subtitle id="0:50:47"> are animals that do this also like ants</subtitle>
 +
 +
<subtitle id="0:50:50"> so here's a little ant simulation</subtitle>
 +
 +
<subtitle id="0:50:53"> this is their nest these guys are</subtitle>
 +
 +
<subtitle id="0:50:56"> their food and if we start this thing going</subtitle>
 +
 +
<subtitle id="0:50:59"> then we see that the</subtitle>
 +
 +
<subtitle id="0:51:2"> ants are finding the food going to</subtitle>
 +
 +
<subtitle id="0:51:5"> the nest and they're leaving this pheromone trail so this is using</subtitle>
 +
 +
<subtitle id="0:51:8"> about eleven thousand parallel</subtitle>
 +
 +
<subtitle id="0:51:11"> processes because each little cell is</subtitle>
 +
 +
<subtitle id="0:51:14"> being used to diffuse the perfume</subtitle>
 +
 +
<subtitle id="0:51:17"> the ants lay down you see right now all</subtitle>
 +
 +
<subtitle id="0:51:20"> of the ants have been captured by the field</subtitle>
 +
 +
<subtitle id="0:51:23">they're not communicating directly with each other they're communicating</subtitle>
 +
 +
<subtitle id="0:51:26"> in directly with each other and we would call this</subtitle>
 +
 +
<subtitle id="0:51:29"> loose coupling well</subtitle>
 +
 +
<subtitle id="0:51:32"> if you have crazy brains you</subtitle>
 +
 +
<subtitle id="0:51:35"> could imagine that a paragraph of text</subtitle>
 +
 +
<subtitle id="0:51:38"> is one of those things</subtitle>
 +
 +
<subtitle id="0:51:41"> who's who said you could do the encyclopedia</subtitle>
 +
 +
<subtitle id="0:51:44"> over here thank you</subtitle>
 +
 +
<subtitle id="0:51:47"></subtitle>
 +
 +
<subtitle id="0:51:50"></subtitle>
 +
 +
<subtitle id="0:51:53"></subtitle>
 +
 +
<subtitle id="0:51:56"></subtitle>
 +
 +
<subtitle id="0:51:59">simplest thing that you can get fifth graders to figure out is well when you have to do</subtitle>
 +
 +
<subtitle id="0:52:2"> something follow the guy who is in front of you and if there's nobody in front of you</subtitle>
 +
 +
<subtitle id="0:52:5"> go to the upper left-hand corner and if</subtitle>
 +
 +
<subtitle id="0:52:8"> you find yourself over the the right-hand margin tell</subtitle>
 +
 +
<subtitle id="0:52:11"> the guy in front of you and eventually somebody will know what</subtitle>
 +
 +
<subtitle id="0:52:14"> to do like go to the next line right so</subtitle>
 +
 +
<subtitle id="0:52:17"> let's just say go do this</subtitle>
 +
 +
<subtitle id="0:52:20"></subtitle>
 +
 +
<subtitle id="0:52:23"> so I just gave you like a three</subtitle>
 +
 +
<subtitle id="0:52:26"> line formatter</subtitle>
 +
 +
<subtitle id="0:52:29"> right so this is bath</subtitle>
 +
 +
<subtitle id="0:52:32"> I'm going to set it off again</subtitle>
 +
 +
<subtitle id="0:52:35"> and I'm going</subtitle>
 +
 +
<subtitle id="0:52:38"> to point out that I can edit this let's let it</subtitle>
 +
 +
<subtitle id="0:52:41"> so I can turn general here into</subtitle>
 +
 +
<subtitle id="0:52:44"> justify</subtitle>
 +
 +
<subtitle id="0:52:47"> and it's</subtitle>
 +
 +
<subtitle id="0:52:50"> just redoing this over and over again all</subtitle>
 +
 +
<subtitle id="0:52:53"> right so the editor is actually working</subtitle>
 +
 +
<subtitle id="0:52:56"></subtitle>
 +
 +
<subtitle id="0:52:59"></subtitle>
 +
 +
<subtitle id="0:53:2">faster is to say hey don't follow the leader here because this is just for the crowd</subtitle>
 +
 +
<subtitle id="0:53:5"> when it's time to</subtitle>
 +
 +
<subtitle id="0:53:8">wait until the guy in front of you gets to the right place</subtitle>
 +
 +
<subtitle id="0:53:11"> and then go right behind him so this</subtitle>
 +
 +
<subtitle id="0:53:14"> is called jump and here's what that looks like now</subtitle>
 +
 +
<subtitle id="0:53:17"> they're all standing still</subtitle>
 +
 +
<subtitle id="0:53:20"> okay</subtitle>
 +
 +
<subtitle id="0:53:23"></subtitle>
 +
 +
<subtitle id="0:53:29">and so if I start jump here and I just say now do this in between frame times</subtitle>
 +
 +
<subtitle id="0:53:32"></subtitle>
 +
 +
<subtitle id="0:53:35">bunk</subtitle>
 +
 +
<subtitle id="0:53:38"></subtitle>
 +
 +
<subtitle id="0:53:41">okay so</subtitle>
 +
 +
<subtitle id="0:53:44"> all of the editing here is done like this and</subtitle>
 +
 +
<subtitle id="0:53:47"> in fact this is another</subtitle>
 +
 +
<subtitle id="0:53:50">one of the documents in this Universal document system</subtitle>
 +
 +
<subtitle id="0:53:53"> remember we have to do Microsoft Office here but</subtitle>
 +
 +
<subtitle id="0:53:56"> why would anybody in the right mind give you</subtitle>
 +
 +
<subtitle id="0:53:59"> seven applications that all do almost the same thing</subtitle>
 +
 +
<subtitle id="0:54:2"> but not quite</subtitle>
 +
 +
<subtitle id="0:54:5"> well the answer is</subtitle>
 +
 +
<subtitle id="0:54:8"> simple because amazingly people will put</subtitle>
 +
 +
<subtitle id="0:54:11">up with this silliness enough to buy it from them and thus</subtitle>
 +
 +
<subtitle id="0:54:14"> encourage them further</subtitle>
 +
 +
<subtitle id="0:54:17"> this is nonsense</subtitle>
 +
 +
<subtitle id="0:54:20"> really</subtitle>
 +
 +
<subtitle id="0:54:23"> what you want is a universal document in just different</subtitle>
 +
 +
<subtitle id="0:54:26"> ways really don't</subtitle>
 +
 +
<subtitle id="0:54:29">a different system for the World Wide Web do</subtitle>
 +
 +
<subtitle id="0:54:32"> you know because it's just a different way of accessing</subtitle>
 +
 +
<subtitle id="0:54:35"> these multimedia Docs so</subtitle>
 +
 +
<subtitle id="0:54:38"> this is a this is actually how we write code so</subtitle>
 +
 +
<subtitle id="0:54:41"> this is an explanation to somebody</subtitle>
 +
 +
<subtitle id="0:54:44"> like you to</subtitle>
 +
 +
<subtitle id="0:54:47"> show in a</subtitle>
 +
 +
<subtitle id="0:54:50"> little essay how the how the code actually how</subtitle>
 +
 +
<subtitle id="0:54:53"> the code actually works so</subtitle>
 +
 +
<subtitle id="0:54:56"> we start off here and</subtitle>
 +
 +
<subtitle id="0:54:59">thing we want to do is just get these guys</subtitle>
 +
 +
<subtitle id="0:55:2"> out there randomly</subtitle>
 +
 +
<subtitle id="0:55:5"> so these two lines of these two little boxes of</subtitle>
 +
 +
<subtitle id="0:55:8"> code do this and here's</subtitle>
 +
 +
<subtitle id="0:55:11"> one that just does this without the worrying</subtitle>
 +
 +
<subtitle id="0:55:14"> about the next line</subtitle>
 +
 +
<subtitle id="0:55:17"> and here</subtitle>
 +
 +
<subtitle id="0:55:20"> are some special cases</subtitle>
 +
 +
<subtitle id="0:55:23"> so</subtitle>
 +
 +
<subtitle id="0:55:26"> this is a reminiscent of the way Knuth sometimes</subtitle>
 +
 +
<subtitle id="0:55:29"> likes to program so</subtitle>
 +
 +
<subtitle id="0:55:32"> you actually learn the thing while you're while</subtitle>
 +
 +
<subtitle id="0:55:35"> you're looking at it you can do little experiments and</subtitle>
 +
 +
<subtitle id="0:55:38"> by the time you've done that bingo</subtitle>
 +
 +
<subtitle id="0:55:41"> you've got the thing</subtitle>
 +
 +
<subtitle id="0:55:44"> and so here the this</subtitle>
 +
 +
<subtitle id="0:55:47"> is a yet another problem oriented language but with</subtitle>
 +
 +
<subtitle id="0:55:50"> rules this time so rule base</subtitle>
 +
 +
<subtitle id="0:55:53"> so two seven rules for doing the layout</subtitle>
 +
 +
<subtitle id="0:55:56"> and</subtitle>
 +
 +
<subtitle id="0:55:59"> the whole editor</subtitle>
 +
 +
<subtitle id="0:56:2"> like microsoft word paragraphs</subtitle>
 +
 +
<subtitle id="0:56:5"> is 35 rules</subtitle>
 +
 +
<subtitle id="0:56:8"> okay so that's all you have</subtitle>
 +
 +
<subtitle id="0:56:11"> to do for that</subtitle>
 +
 +
<subtitle id="0:56:14"></subtitle>
 +
 +
<subtitle id="0:56:17">'s very useful to have is problem-solvers</subtitle>
 +
 +
<subtitle id="0:56:20"> but the problem with problem solvers and</subtitle>
 +
 +
<subtitle id="0:56:23"> these these problem oriented languages they're problem solvers they</subtitle>
 +
 +
<subtitle id="0:56:26"> aren't integrated so you</subtitle>
 +
 +
<subtitle id="0:56:29">wind up with a hodgepodge of different things</subtitle>
 +
 +
<subtitle id="0:56:32"> serving different things and you want to be able to integrate them so</subtitle>
 +
 +
<subtitle id="0:56:35"> so here are we can have a simplex solver</subtitle>
 +
 +
<subtitle id="0:56:38">differential equations propagation dynamic programming</subtitle>
 +
 +
<subtitle id="0:56:41"> relaxing the rules for</subtitle>
 +
 +
<subtitle id="0:56:44"> the paragraph these all have different problem domains</subtitle>
 +
 +
<subtitle id="0:56:47"> and what we want to do is to approach</subtitle>
 +
 +
<subtitle id="0:56:50">strategically as I've been talking about here through</subtitle>
 +
 +
<subtitle id="0:56:53"> general relational languages that</subtitle>
 +
 +
<subtitle id="0:56:56"> talk to a kind of a little</subtitle>
 +
 +
<subtitle id="0:56:59"> operating system for solvers and often</subtitle>
 +
 +
<subtitle id="0:57:2"> with the help of an expert system that helps make</subtitle>
 +
 +
<subtitle id="0:57:5"> a strategy for using these things the</subtitle>
 +
 +
<subtitle id="0:57:8"> further stuff here is beyond the scope of this</subtitle>
 +
 +
<subtitle id="0:57:11"> short talk so I'll just move on here</subtitle>
 +
 +
<subtitle id="0:57:14"> okay</subtitle>
 +
 +
<subtitle id="0:57:17"> here's an important idea too</subtitle>
 +
 +
<subtitle id="0:57:20"> many ideas in this talk right but</subtitle>
 +
 +
<subtitle id="0:57:23"> here's something that happened in</subtitle>
 +
 +
<subtitle id="0:57:27"> the 60s except nobody noticed it except maybe</subtitle>
 +
 +
<subtitle id="0:57:29"> the ARPA researchers and the outgrowth</subtitle>
 +
 +
<subtitle id="0:57:32"> of that to Xerox PARC and that is that</subtitle>
 +
 +
<subtitle id="0:57:35"> the entire paradigm of computing because</subtitle>
 +
 +
<subtitle id="0:57:38"> of Moore's law was going to be able to shift</subtitle>
 +
 +
<subtitle id="0:57:41"> from a gear like way of doing things</subtitle>
 +
 +
<subtitle id="0:57:44"> basically tight coupling a</subtitle>
 +
 +
<subtitle id="0:57:47"> brittle code to something</subtitle>
 +
 +
<subtitle id="0:57:50"> more like ecology something more biological and</subtitle>
 +
 +
<subtitle id="0:57:53"> we use these ideas very strongly in</subtitle>
 +
 +
<subtitle id="0:57:56"> the invention of the internet and in the invention</subtitle>
 +
 +
<subtitle id="0:57:59">object-oriented techniques that we used for software at</subtitle>
 +
 +
<subtitle id="0:58:2"> Xerox PARC and the deal here is</subtitle>
 +
 +
<subtitle id="0:58:5"> you can fix a clock but you can only make clocks of a</subtitle>
 +
 +
<subtitle id="0:58:8"> certain size maybe a thousand gears B for the</subtitle>
 +
 +
<subtitle id="0:58:11"> dis class this is what happens in today's programming</subtitle>
 +
 +
<subtitle id="0:58:14"> you have to negotiate with the system and</subtitle>
 +
 +
<subtitle id="0:58:17"> a lot of what growing the old world into this new world</subtitle>
 +
 +
<subtitle id="0:58:20"> is learning what it means to do this kind of negotiation as</subtitle>
 +
 +
<subtitle id="0:58:23"> you add more system elements so</subtitle>
 +
 +
<subtitle id="0:58:26"> the</subtitle>
 +
 +
<subtitle id="0:58:29">is just a couple of minutes of gloss because</subtitle>
 +
 +
<subtitle id="0:58:32"> I'm getting close to the end here but I wanted</subtitle>
 +
 +
<subtitle id="0:58:35"> to say something about systems and</subtitle>
 +
 +
<subtitle id="0:58:38"> three of the ideas here are that</subtitle>
 +
 +
<subtitle id="0:58:41"> we want to control time I mentioned this a little</subtitle>
 +
 +
<subtitle id="0:58:44"> bit before we do not want to CPU to control time first we</subtitle>
 +
 +
<subtitle id="0:58:47">control time and we'll do it by simulating</subtitle>
 +
 +
<subtitle id="0:58:50"> our own time we don't want to have</subtitle>
 +
 +
<subtitle id="0:58:53"> any preferred center so we want to have something like the internet</subtitle>
 +
 +
<subtitle id="0:58:56"> all the way down and we want loose coupling</subtitle>
 +
 +
<subtitle id="0:58:59"> now of course this has all been done before again</subtitle>
 +
 +
<subtitle id="0:59:2"> with networks and</subtitle>
 +
 +
<subtitle id="0:59:5"> here's here now we're looking at physical computers on the</subtitle>
 +
 +
<subtitle id="0:59:8"> internet or Ethernet and ideally</subtitle>
 +
 +
<subtitle id="0:59:11"> we'd like our computations</subtitle>
 +
 +
<subtitle id="0:59:14"> to be software versions of</subtitle>
 +
 +
<subtitle id="0:59:17"> these hardware networks why</subtitle>
 +
 +
<subtitle id="0:59:20"> because</subtitle>
 +
 +
<subtitle id="0:59:23"> in most cases we will need to do load</subtitle>
 +
 +
<subtitle id="0:59:26">we'll be able to run all of these guys on a single</subtitle>
 +
 +
<subtitle id="0:59:29"> machine in which case we just have increased</subtitle>
 +
 +
<subtitle id="0:59:32"> integrity and ability to</subtitle>
 +
 +
<subtitle id="0:59:35"> design quickly but a lot of the time</subtitle>
 +
 +
<subtitle id="0:59:38"> especially now with mobile we want to have the same</subtitle>
 +
 +
<subtitle id="0:59:41"> computations able to drift around</subtitle>
 +
 +
<subtitle id="0:59:44"> the network to different kinds of devices</subtitle>
 +
 +
<subtitle id="0:59:47"> and in some cases not all of the computation</subtitle>
 +
 +
<subtitle id="0:59:50"> is going to want to be in the machine that is next</subtitle>
 +
 +
<subtitle id="0:59:53"> to the user interface so if you think of the user</subtitle>
 +
 +
<subtitle id="0:59:56"> interface here it's basically a set of views</subtitle>
 +
 +
<subtitle id="0:59:59"> of processes that are</subtitle>
 +
 +
<subtitle id="1:00:2"> giving it images to integrate</subtitle>
 +
 +
<subtitle id="1:00:5"> up on the surface so</subtitle>
 +
 +
<subtitle id="1:00:8">here's a great thing if you're interested Dave reads</subtitle>
 +
 +
<subtitle id="1:00:11"> 1978 PhD thesis at</subtitle>
 +
 +
<subtitle id="1:00:14"> MIT the design of</subtitle>
 +
 +
<subtitle id="1:00:17"> an operating system for the internet was</subtitle>
 +
 +
<subtitle id="1:00:20"> never never done but we validated it a</subtitle>
 +
 +
<subtitle id="1:00:23">viewpoints so this</subtitle>
 +
 +
<subtitle id="1:00:26"> is what if you want to make a system that is the size of the internet</subtitle>
 +
 +
<subtitle id="1:00:29">hat is a software system what is it that you have to</subtitle>
 +
 +
<subtitle id="1:00:32"> do to absolutely ensure that</subtitle>
 +
 +
<subtitle id="1:00:35"> your going to be that your you're going</subtitle>
 +
 +
<subtitle id="1:00:38"> to have what people like to call data integrity</subtitle>
 +
 +
<subtitle id="1:00:41"> always so that no matter where you</subtitle>
 +
 +
<subtitle id="1:00:44"> ask a question anywhere on the network about anything anywhere</subtitle>
 +
 +
<subtitle id="1:00:47"> on the network you will get the same answer for</subtitle>
 +
 +
<subtitle id="1:00:50"> the pseudo time referent</subtitle>
 +
 +
<subtitle id="1:00:53"> of that question and</subtitle>
 +
 +
<subtitle id="1:00:56"> a working version of a</subtitle>
 +
 +
<subtitle id="1:00:59"> migratory system was done by Jerry</subtitle>
 +
 +
<subtitle id="1:01:2"> Popek I put this up here because this</subtitle>
 +
 +
<subtitle id="1:01:5">written in the 80s you can still get it from MIT press</subtitle>
 +
 +
<subtitle id="1:01:8"> the locusts distributed system architecture you'll</subtitle>
 +
 +
<subtitle id="1:01:11"> find the entire book interesting just a</subtitle>
 +
 +
<subtitle id="1:01:14">little volume but the first two chapters are a classic</subtitle>
 +
 +
<subtitle id="1:01:17"> still of the issues you have to</subtitle>
 +
 +
<subtitle id="1:01:20"> think about and solve in order to do this but</subtitle>
 +
 +
<subtitle id="1:01:23"> again this has all been done this is almost 30 years</subtitle>
 +
 +
<subtitle id="1:01:26"> old now but nobody uses it</subtitle>
 +
 +
<subtitle id="1:01:29"> but if</subtitle>
 +
 +
<subtitle id="1:01:32"> you were to use it all applications are now just mashups</subtitle>
 +
 +
<subtitle id="1:01:35"> right we don't want applications as smoke stacks</subtitle>
 +
 +
<subtitle id="1:01:38"> because we want to integrate so we didn't have</subtitle>
 +
 +
<subtitle id="1:01:41">at Xerox PARC and we did not have operating systems</subtitle>
 +
 +
<subtitle id="1:01:44"> and the current web</subtitle>
 +
 +
<subtitle id="1:01:47">which is getting more and more complicated can immediately get</subtitle>
 +
 +
<subtitle id="1:01:50"> simple except for all the legacy stuff that</subtitle>
 +
 +
<subtitle id="1:01:53"> has been done so far so</subtitle>
 +
 +
<subtitle id="1:01:56"> here's something that viewpoints has</subtitle>
 +
 +
<subtitle id="1:01:59"> on its list but it's we</subtitle>
 +
 +
<subtitle id="1:02:2"> expect not to be able to solve this at least in</subtitle>
 +
 +
<subtitle id="1:02:5"> this path of doing things and it</subtitle>
 +
 +
<subtitle id="1:02:8"> may be beyond may require a much larger</subtitle>
 +
 +
<subtitle id="1:02:11"> effort than a small nonprofit</subtitle>
 +
 +
<subtitle id="1:02:14"> can do but if you think about analogies</subtitle>
 +
 +
<subtitle id="1:02:17"> to what's happening with the scaling that's</subtitle>
 +
 +
<subtitle id="1:02:20"> going on here it basically starts looking like</subtitle>
 +
 +
<subtitle id="1:02:23"> a biological ecology</subtitle>
 +
 +
<subtitle id="1:02:26"> and these have their own dynamics</subtitle>
 +
 +
<subtitle id="1:02:29"> and they need to be thought about in special ways</subtitle>
 +
 +
<subtitle id="1:02:32"> so the ability for us</subtitle>
 +
 +
<subtitle id="1:02:35"> to scale to what Moore's law</subtitle>
 +
 +
<subtitle id="1:02:38">allowing right now is going to require us to start thinking more and</subtitle>
 +
 +
<subtitle id="1:02:42">this and we did this to some extent when we did the internet</subtitle>
 +
 +
<subtitle id="1:02:44"> like I have a degree in molecular biology in my</subtitle>
 +
 +
<subtitle id="1:02:47"> misspent youth and so</subtitle>
 +
 +
<subtitle id="1:02:50"> a lot of the ways I think about this stuff is through</subtitle>
 +
 +
<subtitle id="1:02:53"> tissue biology and how</subtitle>
 +
 +
<subtitle id="1:02:56"> the hundred trillion cells in our body work</subtitle>
 +
 +
<subtitle id="1:02:59"> without having a dedicated Center and so forth</subtitle>
 +
 +
<subtitle id="1:03:2"> but in computing we have problems of</subtitle>
 +
 +
<subtitle id="1:03:5"> our our own that are special then the next step</subtitle>
 +
 +
<subtitle id="1:03:8">beyond this the best book I've ever seen about it is</subtitle>
 +
 +
<subtitle id="1:03:11"> Minsky society of Mind book which is actually</subtitle>
 +
 +
<subtitle id="1:03:14"> about a model for human psychology but in</subtitle>
 +
 +
<subtitle id="1:03:17"> fact it is a very good model for</subtitle>
 +
 +
<subtitle id="1:03:20"> what the Internet is going</subtitle>
 +
 +
<subtitle id="1:03:23"> to turn into okay</subtitle>
 +
 +
<subtitle id="1:03:26"> so the punchline here we've got three main operating systems</subtitle>
 +
 +
<subtitle id="1:03:29"> I won't say which one is the lemon and</subtitle>
 +
 +
<subtitle id="1:03:32"> down</subtitle>
 +
 +
<subtitle id="1:03:35"> on the bottom here our little</subtitle>
 +
 +
<subtitle id="1:03:38"> Frankenstein monster that we made is that I shall</subtitle>
 +
 +
<subtitle id="1:03:41"> been showing you today is less than 20,000 lines of code so</subtitle>
 +
 +
<subtitle id="1:03:44"> it's worth pondering we</subtitle>
 +
 +
<subtitle id="1:03:47"> are not using any of the Macintosh software</subtitle>
 +
 +
<subtitle id="1:03:50"> in order to do this demo</subtitle>
 +
 +
<subtitle id="1:03:53"> and</subtitle>
 +
 +
<subtitle id="1:03:56"> here's just to kick off I</subtitle>
 +
 +
<subtitle id="1:03:59"> think I'll just show this slide and then quit</subtitle>
 +
 +
<subtitle id="1:04:2"> I organized the talk so I can</subtitle>
 +
 +
<subtitle id="1:04:5"> stop now at any place and I need to in about a minute</subtitle>
 +
 +
<subtitle id="1:04:8"> but I'll just leave this one thought</subtitle>
 +
 +
<subtitle id="1:04:11"> with you maybe we can have a few questions and then</subtitle>
 +
 +
<subtitle id="1:04:14"> maybe more will happen I think there's</subtitle>
 +
 +
<subtitle id="1:04:17"> a smaller group question session</subtitle>
 +
 +
<subtitle id="1:04:20"> coming up later but</subtitle>
 +
 +
<subtitle id="1:04:23">let's think about this idea something appears and we've</subtitle>
 +
 +
<subtitle id="1:04:26"> got two things about it that are very different there's</subtitle>
 +
 +
<subtitle id="1:04:29"> news and new news is the stuff that</subtitle>
 +
 +
<subtitle id="1:04:32"> is incremental to the categories</subtitle>
 +
 +
<subtitle id="1:04:35"> that we already know almost every bit of news</subtitle>
 +
 +
<subtitle id="1:04:38"> is a specific parameter</subtitle>
 +
 +
<subtitle id="1:04:41"> into some category that we already understand</subtitle>
 +
 +
<subtitle id="1:04:44"> so it's this war that killing</subtitle>
 +
 +
<subtitle id="1:04:47"> this marriage</subtitle>
 +
 +
<subtitle id="1:04:50"> that hems is that</subtitle>
 +
 +
<subtitle id="1:04:53"> right and you can get a quite a bit</subtitle>
 +
 +
<subtitle id="1:04:56"> of this out in a few minutes</subtitle>
 +
 +
<subtitle id="1:04:59"> so there's almost no context to news that it's</subtitle>
 +
 +
<subtitle id="1:05:2"> not already inside of our own head</subtitle>
 +
 +
<subtitle id="1:05:5"> new on the other hand real new</subtitle>
 +
 +
<subtitle id="1:05:8"> not news</subtitle>
 +
 +
<subtitle id="1:05:11"> real new is invisible we don't</subtitle>
 +
 +
<subtitle id="1:05:14"> have a category McLuhan said until</subtitle>
 +
 +
<subtitle id="1:05:17"> I believe it I can't see it that</subtitle>
 +
 +
<subtitle id="1:05:20"> is the way it works in the human nervous system and</subtitle>
 +
 +
<subtitle id="1:05:23"> so news is something</subtitle>
 +
 +
<subtitle id="1:05:26"> that's been going on for the entire existence</subtitle>
 +
 +
<subtitle id="1:05:29"> of the human race about two hundred thousand years</subtitle>
 +
 +
<subtitle id="1:05:32">it's basically campfires and this is what we're doing right now this</subtitle>
 +
 +
<subtitle id="1:05:35"> is a campfire I'm doing the best I can do</subtitle>
 +
 +
<subtitle id="1:05:38"> in an hour of telling stories in a campfire</subtitle>
 +
 +
<subtitle id="1:05:41"> but the problem is new</subtitle>
 +
 +
<subtitle id="1:05:44"> can take two to five years</subtitle>
 +
 +
<subtitle id="1:05:47"> to get the new categories</subtitle>
 +
 +
<subtitle id="1:05:50">that you need in order to actually see it and one</subtitle>
 +
 +
<subtitle id="1:05:53"> of the unfortunate things that happens is that</subtitle>
 +
 +
<subtitle id="1:05:56"> new when you try to talk about it and people make</subtitle>
 +
 +
<subtitle id="1:05:59">on it they usually transform it</subtitle>
 +
 +
<subtitle id="1:06:2"> back into news so for instance</subtitle>
 +
 +
<subtitle id="1:06:5"> we did this as a way of boosting</subtitle>
 +
 +
<subtitle id="1:06:8"> mankind it was</subtitle>
 +
 +
<subtitle id="1:06:11"> all about learning by doing but</subtitle>
 +
 +
<subtitle id="1:06:14"> in fact almost everybody in the world uses it only as a</subtitle>
 +
 +
<subtitle id="1:06:17"> consumable device for their</subtitle>
 +
 +
<subtitle id="1:06:20"> own convenience I would spend</subtitle>
 +
 +
<subtitle id="1:06:23">thousand five hundred dollars which is the price of an average</subtitle>
 +
 +
<subtitle id="1:06:26"> American car for a laptop if</subtitle>
 +
 +
<subtitle id="1:06:29"> I could because I know what computers are good for</subtitle>
 +
 +
<subtitle id="1:06:32"> but in fact people only value them as as much as</subtitle>
 +
 +
<subtitle id="1:06:35">they value their television sets and they use them roughly the way they</subtitle>
 +
 +
<subtitle id="1:06:38"> use their television sets so the big</subtitle>
 +
 +
<subtitle id="1:06:41"> problem whenever something new comes along like</subtitle>
 +
 +
<subtitle id="1:06:44">personal computing and the internet is that</subtitle>
 +
 +
<subtitle id="1:06:47"> people when they see a</subtitle>
 +
 +
<subtitle id="1:06:50"> convenience to themselves they recast it back</subtitle>
 +
 +
<subtitle id="1:06:53">the forms that they know about so for instance object-oriented</subtitle>
 +
 +
<subtitle id="1:06:56"> programming never made it outside of Xerox PARC</subtitle>
 +
 +
<subtitle id="1:06:59"> only the term did we got designer jeans</subtitle>
 +
 +
<subtitle id="1:07:2"> but designer jeans are just dungarees</subtitle>
 +
 +
<subtitle id="1:07:5"> with a fancy label on them thank</subtitle>

Revision as of 23:43, 9 November 2017

Introduction by Joel Orr

(time: 0:06)

Joel Orr was Chief Visionary (Emeritus) at Cyon Research.

I'm Joel Orr.
this title the topic central topic of  this symposium and I'm
also using the  words engineering and science and
I'm taking the
larger sense of those terms larger
sense of engineering and the larger sense
of what science is and I want to apply
it to our thoughts
and needs about software
viewpoints Research Institute is a 501c3 nonprofit public benefit organization so so we don't have a product, we're not trying to sell you anything.
Brad invited me here to provide some alternative points of view on how we might think about software, and how we might make software because the time is going to be dire
I put my email address up there. I should put it at the end but I'll put it here so that if people have a question that didn't get answered while I'm here. I welcome email I like email.
I love it better than almost any other form of communication because I can decide when not to use it.
You all know what I mean. Okay, let's tackle engineering first.
One way of thinking about engineering is that in the world we're presented with situations. Here's a really nice beautiful one but it has a couple of drawbacks from practical human need that gives rise to an idea.
We design something we make a thing that caters to that
And, if we don't extract principles from this thing, then we're not doing engineering yet we're just tinkering.
tinkering is kind of the thing that is built
in to many mammals if you have
a at imagine what a cat would be like
if it had hands it would be basically
a monkey it would you'd come home from
vacation in your house would be dismantled
so we want to extract principles we
want to push them back into the things
so we start doing principles building of things
those principles leak back into how we design things
and they even leak back into
how we have ideas and so
this has been going along on a lot longer than
mathematics and and science and
in the twentieth century one of the ideas that gave
rise to was a really really tall
building done very
quickly here's what it looked like when
they got done with it and I'm not going to spend a
lot of time with this but when
you talk about engineering this is one of the three
that comes up is the Empire State Building
so here's an article in one
the engineering magazines that says planning
control permit erection of 85 stories of steel
in six months and wasn't just 85 stories of steel
it was 85 stories of steel and and granite
and here's what it looked like here's the site
after they demolished the old Waldorf Astoria Hotel and
then Bing Bing Bing Bing
Bing and
so they clad the thing as they went up
and the entire
building of the Empire State
Building took less than 12 months and was done by about 3,000
people so we could not muster
3,000 people to do something major in less than
a year in computing so whatever we mean
when we say software engineering we don't mean real
engineering we mean something that we're aspiring
to and this is the way the
term software engineering was intended back
in the 60s at the Garmisch conference in 1968
where it was coined was an aspiration
today if you go to a university
or many companies and ask them what is software engineering that
hey'll say it's what we're doing that is
manifestly not the case
and there's some really interesting things
so anybody who aspires to being an engineer
of any kind should be intimately familiar with
how this was done
and what's wonderful
if there are many good books about
it including this facsimile of the Foreman's
notebook one of the foremen every
night typed on his pike a
typewriter and took a picture and pasted
it in there and this has come down to us but we don't
know who the foreman was and a few years
ago it was a facsimile into
a book that you can buy and are many interesting things
in there one of
the questions that was asked
the aspiring contractors was
what tools do you have for this job one of
them was Paul Starret who was one of two
Starret brothers they had built some very
large buildings in Manhattan previously
they were one of three big companies bidding for this job
in Paul Starr and they'd all said to
this question well we have all the tools we need in blah blah blah
blah what Starrett said is not a blankety-blank
thing not even a pick and shovel gentlemen
this building of yours is going to present unusual problems
ordinary building equipment won't be built
worth a damn on it will buy and make new stuff fitted
for the job that's what we do on every big job it
costs less than renting secondhand stuff and it's
more efficient okay now in software
a first order theory that's obtained
long as I've been in the field which is 50 years is
that you should never build your own
tools it's a black hole don't
build your own operating system don't build your own computer
for god sakes don't build your own programming
languages get all this stuff from the vendors and that
way you're actually going to and speed
up your ability to
produce the thing that you want to do it turns
out this isn't true or it's true
if you can't if you don't know how to build your own tools
you can certainly get into a black hole we all
know of them but in fact the second-order
theory is also true which is if you know how to build
your own tools then you better because
you can bypass the not just
workarounds that you have to do but you bypass
an entire set of perspectives that may have
nothing whatsoever to do with what you're trying to do
and they might even be antagonistic to it so
these guys did a lot of wonderful things like this is
a narrow gauge railway that was on every floor
Building they also built
twice as many elevators that are then are there
now just as temporary
elevators but going up 85
stories in order to move equipment
around and when they got the building up they
took down these elevators sounds
ridiculous right not really
now the other thing about engineering
real engineering that makes it
rather different still from what we attempt to do in software
is this problem this
is the Tacoma Narrows Bridge
we have much
of our infrastructure is crumbling here's one
that wasn't as funny as the two Acoma net Tacoma Narrows Bridge was
funny because nobody got hurt
it was predicted by a University
of Washington professor and the
reason they got good movies of it is he said when a wind comes
up that's over 55 miles an hour this bridge is
going down and so when that wind came up they went down
to a now-famous camera
store in Seattle famous for supplying the
movie cameras which they then took out to the bridge set them
up and watch the thing shake
itself apart this one though
in Minneapolis was not so
funny because many people got killed and
a whole school bus full of children
just missed getting demolished and
so there are many casualties on this
the trace back on this
one was first they thought the
rivets were substandard but they turned out
to be right and they finally found out that those gusset
plates those square things that the rivets are
joining those beams with
by a clerical error were
about 3/8 of an inch not
3 3/16 of an inch too
thin and 20 years
later that defect
in the structural engineering plus the clerical Arab
brought down the entire bridge
so the point here is that
one of the reasons you can fly in a jet plane and
not feel upset and if you
knew what was going on in the jet engine that's right outside there
and you should if your aspire
to be an engineer you will know that inside
that jet engine there are temperatures that
are higher than the melting point of any of the materials in
the jet engine it's
just one of those great things and
but jet engines run
for thousands and thousands and thousands of hours
they're one of the most
perfect engineering creations
especially given the the
difficulties that they labor under they
have to spin at 30,000 rpm they have
these temperature problems they have enormous shear
everything else going on they're just fan fantastic
so the the thing that has
allowed engineering to advance is that people
get really pissed off when
their friends and relatives wind
up dying on some engineering failure and
so the forces of
nature plus the social forces have
conspired to make engineers rather careful
and of course if you think about the parallel
situation inside of a computer the forces
and the masses are slight so
many software systems are starting a crash
that will take 10 years to happen
from this instant they are actually deployed they're
completely buggy but the gusset plate is
going to take a long time
to gradually come apart as
it gets more and more complicated and so
when you move from something where
doing something out in the world of forces
and masses
into a world where you don't have
these you have to have an artificial sense of discipline this
omething we are still learning how to do
now we don't know what happened
to the Roman engineers who failed
I
cement the world has ever known took a long time for us to find out just
really about 10-15 years ago to find
exactly what the secrets were of the Roman
cement and how about
this one same age again
if you walk right up to it looks holy smokes
this thing looks like it was built yesterday if
ever been to how many people have ever been to the Pantheon in Rome she's
been to Rome you've been to the Pantheon
first time I went I thought wow
you know looked like it was made out of granite and then I found
it was made out of reinforced concrete how many people Rios
people here might have found Atta do you realize how
many people realize it was made out of reinforced concrete
far to say that the big art forms of the 20th century were science
and engineering that's a lot to
live up to for something that wants to call itself
a science like computer science and wants to call itself
an engineering discipline like software engineering
some comparisons here I just note that a 400 page book has
20,000 lines of text in
it each one of those could be a line of
code so 20,000 line program
is 1 400 page book and foot
of books is about 300 thousand
lines million lines of code per meter there's
an easy one to remember and
the Empire State Building is about 441
million lines of code high as stacked
books is 20,000
5050 lines of code at a time stacked
up that
sounds like a lot but in fact a
companies are wrestling with about this much code
personal computing
which I had something to do with a long time ago Microsoft's
essays into it provide
operating systems over a hundred million lines of code and
application Suites of well
over a hundred million lines of code you
look at that you think good that are
we really getting that much bang for a
couple hundred billion lines of code I hope
you're saying no I hope you haven't
gotten complacent about this so personal
computing 250 say 200 million
lines of code but of course it's not really
that much the problem is that when you make a lot of code
there's a point where people their dependencies
are so intertwined the engineering has been done
so poorly that people start becoming
afraid to remove things so
they just let it stay there and they start layering over
it
big this big software
company has now gone over 400 million lines of
code I haven't changed the slide yeah I used to use this
analogy because I mean a pyramid is kind
of a garbage dump plastered over with limestone so it looks
nice just a big accretion but
when I look at this picture I think I can't use that metaphor
anymore because look at how modular these pyramids are
we would love to have that modularity in the
code that we write so I think the picture
that fits our code better is a slum
bulldozers out some stuff but just leaves the stuff lying
around never carts it off and and so forth
so the real question is not whether we
can improve on this but
what is the actual level
of improvement which is
tantamount to asking how
complex is the
actual problems were trying to solve compared
to the complexity we're creating by just bumbling around
so let's
ask a question about what science is now that
we've talked about engineering so real science
looks at hairballs this is my favorite hairball
it's about this big recovered from the stomach
of a woolly mammoth found in a glacier
but because hair balls are ugly to
look at but it got your attention especially
and I say how big it is
and it represents complications
but know the universe is good enough
the starry night it's pretty air but it's still
spent thousand of years misunderstanding
it in a bunch of ways and
we little creatures with our brains have languages
we can make all of our languages out of
the scheffers stroke here this is the NAND
operator and
because we have tiny little brains we
invented mathematics and we
up with something like Maxwell's equations or heavy sides
version of Maxwell's equation and put
a large part of the phenomena
that we're looking at out there on a t-shirt and
this represents complexity so
the complexity of the electromagnetic field
in large amounts
of it enough to invent a radio
and radar and etc etc
can be represented by a couple of these equations and
these equations should
be symmetrical
because the magnetic field and the electric field are
trade off against each other with the art so
if you worry about that and you happen to be
named Einstein you will come up with the special
theory of relativity which will symmetric
put symmetry into the whole thing and you get down to two
equations just like you should have one for the electric
field and one for the magnetic field now science is not
this so the problem is when most people take
science courses they're taught the t-shirt but
science is actually that
science is the the
realm of the relationship
between the phenomena that we can't get to and
similarly we can
do science with engineering
because it's an artifact that has phenomena so
we can actually look at that bridge that we
built there and scientists can look at what engineers
do and make a t-shirt of it so
we have t-shirts of what bridges are
their theories of bridges then the cool thing this
is why it's great to be alive today the
cool thing is you can take that t-shirt and
make one hell of a bridge
so engineering was around for a long time but it didn't hit
its stride until it had this beginning
the yang here event of making things and
looking at them the special way that science does
and how
big is this bridge well see those little boats down there those
are super tankers so
just for comparison there is our Empire State
Building so the pylons on this bridge are the height of the Empire
Building and there's the Great Pyramid of Egypt so
this is the asahi bridge in Japan
just can't beat it so
lovely and so this is
what we want to think about we want to think about real engineering
we want to think about real science computer
science is not real science ask anybody to give
will give you an engineering definition and part
of is because computer science persists in only building
doesn't spend a lot of time trying to understand them
so
you can look you know computers
we're built there you have their
complicated artifacts programming languages a complicated artifacts
you can do the same thing John McCarthy looked
at them and being a mathematician you
want a G shirt so this is the
programming language Lisp on the t-shirt and once
you look at that you realize whoops programming is not
as complicated as I thought all the semantics
I really care about are not in these in humongous
Fortran or Java compilers but they
actually very small and when I make them
small enough for my tiny little brain I can actually think about to manipulate
them whereas trying to go
over on the other side and mess around with
directly to make it better it just never happened so
John came up with a mathematical theory of computation
and those
of us who came in the next generation after McCarthy
got to do some really fun things with
this idea I should mention that what
I'm talking to you about actually happened
in the 60s and it
bore some real fruits but in fact it never made
it into the world of the 60s which was
dominated by IBM or the world of
the 80s and 90s which is dominated by Microsoft
didn't happen so most
people program in a way that is strikingly
similar to the way programming was done around 1965
so let's take a look at the idea
of tactics versus strategies the
simplest thing when we have materials is to think tactically
have a bunch of these
materials piles and stacks
simplest things we can get out of those hardly
any design effort at all as pyramids and walls and people
did this with bricks for thousands of
years before somebody had a strategic thought
which is hey
let's make something out of the bricks before we make the thing
let's make a new kind of building component
a different kind of structural integrity than
a pyramid does and all of a sudden we can kick ass
took thousands
of years to get beyond what
the brick forced into our minds by being in front of us
to this very odd thing that
requires more building materials to make than
when you're done this is one of the hard things about an arch it's
hard to imagine it because it doesn't work until
it works so people just ignored it
and the same thing happened in computing
where we build things out of Nan's
basically computing is all about comparing
things so you can take
materials like even two
something that first graders love is they can do any
fractional arithmetic problem
their ten-year-old brother can't do and
they can do it in two seconds with two rulers
all right because the ruler is an addition slide rule you
show this to a kid they'll love you for life
just compute the whole thing out ahead of time
and say here's
what it is and by the way you're teaching them vectors at the same time
and so it beats regular fractions in many many
ways and of course the Romans and the Greeks
Romans had a socially
accepted QWERTY form of numbers called Roman numerals
but they didn't use them most
people use this the wrong way the Romans and the Greeks had
abacuses to compute with this is
a Roman abacus and those stones are called calculi the
calculus came from this
notion of what they pull out of your teeth
also when they you go to the dentist to get the plaque
removed they call them calculi and
flip-flops didn't come
people wanted to do computers but because a couple
of Brits wanted to see if they could make a memory
that could do some of the things human memory could do
out of materials because
there's a vitalism was a big deal back then
and ENIAC
but the problem is matter is inconvenient for
this it's just
you know basically the scaling problems
overwhelm you very little return so
you need to go strategically and
of course this was done a long time before with
a jacquard loom von Neumann architecture x'
by anointment style programming languages and
even the programming languages of today like Java which
is also a von Neumann style language in
spite of a few trappings it has on it and
basically the programming that we're doing
today has
not stirred from this in 50 years
there have been about 3000 different programming languages
invented and some of them really useful but
style of programming that is used today is almost
entirely this style and it's
tyle where the programming language is rather similar
to the underlying storage mechanisms
and control structures of the machine there
are few convenience is there but not a lot and not
enough but of
course there are always weird people out on the fringes
who like Turing himself
who did things are completely
different for instance sketchpad which is having its 50th anniversary this
year computed by
you programmed it by putting in
constraints that sketchpad had to figure out
so instead of writing solutions
to problems you just gave sketchpad what the problem what
the nature of the problem was what the nature that would
characterize a solution and sketchpad had three problem solvers
and in 1962 it
would solve those problems for you by
the way he also invented computer graphics while
it and also this is the first object-oriented
system I know of so those three things were
done by Ivan Sutherland as a thesis project in one
year one person and I once they asked
Ivan how could you do these three things in
one year he says well I didn't know it was hard
Ivan as a genius but
he had also had the advantage of just
aiming for what we really needed he
worry about whether it was hard because nobody knew
what was easy and hard in 1962 he just went for
what we needed which is an interactive system that
you could show sort of what
you wanted then tell it what the criteria were to
the job up and it finished the job up great
too bad we don't have it today the
Internet another thing which
is almost completely ignored by computer people why
because it works too well most
computer people certainly most people in the world but most computer
people even don't even think of this as technology it's
completely different from the technology
they're used to the internet has never gone down
started running in 69 but
not continuously since then to replace all of its atoms and
it's bits without ever being shut down
people are shutting down their software systems
the time they shut down individual servers even though
a server is just a name you never have to do that
so what we've got is two cultures here we got
culture that was able to make something get scaled successfully
of magnitude we've got
another culture who that who can't even appreciate the
feat of engineering and science that
took to do so
the Internet is really the only extant true object-oriented
system in the world right now and then
there's of course AI which
people have lost interest in just as
it was starting to get really well work done
so we should
be spending more time thinking about about
this now one little
blast from the past 1973
we showed this machine and this the
system notice
overlapping windows there was a view
oriented object-oriented system
desktop publishing was
essentially the views
without the borders on them these
split up when they came out into the real world but it's Xerox
theory one thing there was no operating system
because you don't need one
okay and
so when Xerox asked us what we
were we're doing we gave them
our own version of Paul starts
speech not even a pick and shovel so so
part of the deal at Xerox PARC was we built every bit
of the hardware and software ourselves from scratch
we did not go out and buy
commercial computers we did
not go out and buy commercial software
the reason is this stuff was so different that
we would have spent all of our time running
into walls that were simply irrelevant
to what we were trying to do
then the cool thing was this was
a tiny machine 128 K Ram
and we used half of it for the display
so it had a display about 800
by 600 and
all the software from the end-user down to
the non-existent operating system down to the
metal of the machine was only about 10,000
of code it was done in a language we invented specifically
for the purpose so
one way of thinking about this is in the end no
matter what it is you think you're doing
math wins the
thing that is math the mathematize ation
of an idea dominates
all other things once you've done the
spadework around the edges at some point you have to
sit down and do something like mathematical thinking in
order to collapse all the
things that seem to be artificially dissimilar
into things that are similar this is called
making an algebra and this
was a technique that we use pretty generally at Parc and
so in a
few years we did this the
bitmap screen the GUI
WYSIWYG in desktop
publishing real objects laser
printers Ethernet pierre-pierre
and client-server and about half of the internet
now what was interesting about that perhaps is
it was only two dozen people
any company
here could have afforded to do this two
dozen people just ten million dollars a year in
today's dollars you could do it right now
you won't
do it though nobody is doing it you
won't do it in spite
fact that it returned 30 plus trillion bucks
returning about a trillion dollars a year still
so this is a huge win but
in fact it is against what
most people think is good practice I
don't mean in computing only
I mean in management okay
so we'll leave that because we don't want to talk about the past too much but
I just most people do not realize it was only two dozen
people that is only four to five years
to do all this stuff and doing it all from scratch
okay
now let's take a look at a
science project in the present same idea
here so all of these ideas I've been talking about here
we're going to apply them to this big thing
called personal computing and it's got all kinds of stuff
in it so
again we're interested in this area that
goes from the end-user
all the way down to the metal so there's a lot of
stuff we want to know
how many t-shirts does it take right
so this is a completely different thing
here we are not interested we're doing
science here now we're going to have to do a little bit
of engineering because the only way we can validate this science is by
making it run but this is
a science project we want those t-shirts
so let's take a look
so let's say half of
what Microsoft or Moore has in there is just
code they can't get rid of but still most
of these you know Linux and
OpenOffice and stuff
it's like a hundred billion lines of code so it's a lot
of a lot of stuff of different
kinds and
so
now here here we have the
we're kind of behind the eight-ball of
having a brief talk so this part
to do this part in a
reasonable way would take a couple of days so
I'm and I hate bullets so please do
not regard these as bullets just look they're ten blobs
out of twelve or thirteen blobs that
we used and what they
are are things a couple
of those we invented but most of them were things that have been around
for 50 years that didn't make it into
the particulars einer that
computing is see the difference here
is nature helps physicists be
honest because in the end you're
supposed to submit your theories back to nature but the problem is
we're a design field so our trade is bullshit
that's what design is and it's
good and there's bad and there's indifferent a lot
a lot of stuff in between and so
we can have a fad like
for instance semaphores semaphores
were known to be a bad idea when they were first invented by
Dykstra and whore but in fact
in that culture they took
on and for a variety of different reasons
being taught today and they're still being used today why
are they a bad idea anybody know
what's wrong with a semaphores
gets a
system lock up and there
is no way to do something
time that will tell you you won't get system melaka so
this is like the world's worst idea to
let the cpu control the time base
of your computations you're screwed
may take a while may
happen quickly but it's just basically
a bad idea and there was already a good idea also thought
up by John McCarthy in the early 60s
that actually works and works much
it's just not generally used and it won't be used for
a while because these things take decades
to get rid of things that are you
know de facto religions so I'm
just going to pick on a couple of these I already talked about math wins
and I want to talk about this
now in this area
up
around in here because we have to
one of the things we have to do in personal computing
today is make anti-alias two and a half d computer
graphics and we have to make it look really
good and if we didn't have it look really
good then we will be sloughing
off part of making something
that is like computer graphics that
we can recognize today so
of course whenever you have a hard problem you
get a graduate student to do it because
they are just so much smarter than we are
a mom of course we all do but his mom happens to be a high
school geometry teacher of that special kind that
actually understands math and so
they
do exist and so he went home Thanksgiving
three four years ago and his
well son what are you doing at viewpoints and he
said well I'm I need to reduce
the amount of code to do computer graphics on
a personal computer by a factor of a thousand and
she said oh that
sounds interesting what are you
going to do and in fact her expertise was in
projective geometry so Dan
did not come back from Thanksgiving he stayed
working with his mom he and his
mom worked together on this thing through Janney finally
showed up in January with this formula
and so this is one of these serendipitous
things that you can't completely
supply by method but because this stuff has been kicked
around by the best people in the world for
forty five years but in fact they found a new way of thinking
about the involvement of an arbitrary polygon
with a pixel that computes
exactly the right shade of the pixel
to give you perfect anti-aliasing and it's
only that big and the next thing Dan
did was to make a math
a language out
of the mathematics that looked like the mathematics but
could run on a computer and when you tell this
these 45 lines of code to do it
they can do things like this they can render anti-alias text
and anti-aliased
graphic objects so that was a great
start and this
language that he devised he decided to
make it a dataflow language with kind of
functional engines at the nodes and
because of that it is highly amenable to automatic
use of parallel resources
so here's
one of our benchmarks so this is 5000
anti-aliased
translucent characters
being re rendered every time
by this these 45
lines of code so there's no caching or anything
here and we can take a look at the CPU usage
and we can see that it's basically using so
this is a fork or Mac but
the the cores can handle two highly
interleaved threads at once so
seeing that one of those is being devoted to this task and
the fan has come on and
as I say go faster it says
okay give me another thread there it is
go faster and faster it starts interleaving them I can start zooming in
here so you can sort of see what's going on a little better you
got enough monkeys
yeah so
so we're actually quite surprised that
this is a lot of computing
but
we're getting a lot of a lot out of it so
I thought was wow we
should be able to make a whole system just out of this math
and so this is in fact
what I'm using so I'm not using PowerPoint here it's
probably obvious by now but here is this
system that
is this replacement
for personal computing and
now here's my next slide and
here's Dan's brother and here's all the compositing rules and
so for instance here's
this one is invert
here's another
combination rule here so
it's 95 lines to do all of the compositing rules that
you use so now that you've now
that you've seen and of course there
are those
45 lines there's gradients so
I should actually now this user interface
here is made out of the system also because
it's all one sort of one big desktop publishing document
and I'm going to the system is also live
so this has not been compiled away into
C code down there so I'm actually going
to pick an object here like this
this menu
here and I'm going to say
okay let's change the gradient fill on this
and
yeah something like that maybe or maybe we
don't want as hard an edge so we'll zoom
this out okay get the idea so the whole system
is live it's using its own stuff
here and
we keep on chugging along we
can see here's pen stroking
filtering and so all of
the graphics for personal computing in this little science exercise
came out to be four hundred and fifty seven lines of code
how do we know is 457 because you can count
457 things
it's hard to count 400 thousands or
440 million or so on so this
is about a thousand times smaller than the way it is
done say in Firefox right
so a thousand should get your attention right you
have to learn a new language on the other hand here
it is the whole thing is just a
few pages of code and it's live and you you
can run and use it okay
so now
of course where did this language
come from I have to build that and so
there's actually quite a distance between one of these compositing
rules a one-liner of code and getting
the result at the other end and so I might need
remove the hood and show you what's there and this looks a little more daunting
because I have to
translate this language into a standard
form I have to
translate this into another language that is sort of like see
I have to translate to
something that eventually will run on the 86 architecture
that's on this machine that looks
like a lot of work and of course I run the system
runs on multiple processors so I have to do that and
so one way of thinking about it is gee looks
like there's a lot of work in these square boxes here
and all so we need another special
language so we've just showed
you a domain-specific language
in the old days you are called problem
oriented languages I like old terminology because I'm old
and so we need another problem oriented
line language here whose problem domain
is transforming languages and of course there are tools
around for doing this but this is one of the
big stoppers for people doing this themselves is
making a language the way it is
a daunting procedures usually taught through
some set of tools like yak this is not the way
to do it but the poor student comes
out either not understanding it all or convinced that it's
too hard but in fact you
can make a much better language so here's
one we did called Omata and here's a simple
arithmetic expression and here's
the program and if I say do it it
transforms that expression into a tree
and if I come down here
and
pick this more
complicated expression up and paste it in
here and say do it I
get that and so that this
translation system isn't just for translating
things that have strings it translates any kind
of objects into any other kind of objects so you want to
do it in that generality because you're going to use this everywhere
and so
this graphical language winds up being 130
lines of code to make the trees and another 700
lines of code to make the
lower-level stuff that is actually run on the machine so
you could say a thousand lines of code 900 lines of
code to make that graphical language
but this
like a shaggy dog story right because well now I
have to make the language transforming language and but
of course it can make itself and
Alex Wirth did it particularly nicely so it can make
itself in 100 lines of code and
as you get closer and closer down
to the bottom of the system you start using these base
things over and over again and the
problem oriented language is stay on the top
okay but we have to do
the internet so tcp/ip
20,000 lines of
c-4 that so one book one of
those books this happened the C code and most
computers is a good nice job and
tcp/ip was invented by experts and
so we didn't expect to get a
factor of thousand on this in
pia Marta only got a little more
than a factor of a hundred so
tcp/ip is about 160 lines of code
using these techniques and if you're interested I can
exceed this is particularly elegant the way he did it I'll
explain it later for people who are interested so
this is represents taking
something it was done by very good people but in the wrong language
and done essentially the in a way that
generated unnecessary code the
big key here was not so much the language
as the method
the method came first and then we did the language
too to do it and so the whole thing collapses down
okay
let's take another one of these metaphors particles
and fields everybody understands this as a kind
of a metaphor for iron filings
in a magnetic field the iron filings seem
to know what to do they're feeling this field
and they're doing individual things that look like they're somewhat
coordinated and in fact there
are animals that do this also like ants
so here's a little ant simulation
this is their nest these guys are
their food and if we start this thing going
then we see that the
ants are finding the food going to
the nest and they're leaving this pheromone trail so this is using
about eleven thousand parallel
processes because each little cell is
being used to diffuse the perfume
the ants lay down you see right now all
of the ants have been captured by the field
they're not communicating directly with each other they're communicating
in directly with each other and we would call this
loose coupling well
if you have crazy brains you
could imagine that a paragraph of text
is one of those things
who's who said you could do the encyclopedia
over here thank you
simplest thing that you can get fifth graders to figure out is well when you have to do
something follow the guy who is in front of you and if there's nobody in front of you
go to the upper left-hand corner and if
you find yourself over the the right-hand margin tell
the guy in front of you and eventually somebody will know what
to do like go to the next line right so
let's just say go do this
so I just gave you like a three
line formatter
right so this is bath
I'm going to set it off again
and I'm going
to point out that I can edit this let's let it
so I can turn general here into
justify
and it's
just redoing this over and over again all
right so the editor is actually working
faster is to say hey don't follow the leader here because this is just for the crowd
when it's time to
wait until the guy in front of you gets to the right place
and then go right behind him so this
is called jump and here's what that looks like now
they're all standing still
okay
and so if I start jump here and I just say now do this in between frame times
bunk
okay so
all of the editing here is done like this and
in fact this is another
one of the documents in this Universal document system
remember we have to do Microsoft Office here but
why would anybody in the right mind give you
seven applications that all do almost the same thing
but not quite
well the answer is
simple because amazingly people will put
up with this silliness enough to buy it from them and thus
encourage them further
this is nonsense
really
what you want is a universal document in just different
ways really don't
a different system for the World Wide Web do
you know because it's just a different way of accessing
these multimedia Docs so
this is a this is actually how we write code so
this is an explanation to somebody
like you to
show in a
little essay how the how the code actually how
the code actually works so
we start off here and
thing we want to do is just get these guys
out there randomly
so these two lines of these two little boxes of
code do this and here's
one that just does this without the worrying
about the next line
and here
are some special cases
so
this is a reminiscent of the way Knuth sometimes
likes to program so
you actually learn the thing while you're while
you're looking at it you can do little experiments and
by the time you've done that bingo
you've got the thing
and so here the this
is a yet another problem oriented language but with
rules this time so rule base
so two seven rules for doing the layout
and
the whole editor
like microsoft word paragraphs
is 35 rules
okay so that's all you have
to do for that
's very useful to have is problem-solvers
but the problem with problem solvers and
these these problem oriented languages they're problem solvers they
aren't integrated so you
wind up with a hodgepodge of different things
serving different things and you want to be able to integrate them so
so here are we can have a simplex solver
differential equations propagation dynamic programming
relaxing the rules for
the paragraph these all have different problem domains
and what we want to do is to approach
strategically as I've been talking about here through
general relational languages that
talk to a kind of a little
operating system for solvers and often
with the help of an expert system that helps make
a strategy for using these things the
further stuff here is beyond the scope of this
short talk so I'll just move on here
okay
here's an important idea too
many ideas in this talk right but
here's something that happened in
the 60s except nobody noticed it except maybe
the ARPA researchers and the outgrowth
of that to Xerox PARC and that is that
the entire paradigm of computing because
of Moore's law was going to be able to shift
from a gear like way of doing things
basically tight coupling a
brittle code to something
more like ecology something more biological and
we use these ideas very strongly in
the invention of the internet and in the invention
object-oriented techniques that we used for software at
Xerox PARC and the deal here is
you can fix a clock but you can only make clocks of a
certain size maybe a thousand gears B for the
dis class this is what happens in today's programming
you have to negotiate with the system and
a lot of what growing the old world into this new world
is learning what it means to do this kind of negotiation as
you add more system elements so
the
is just a couple of minutes of gloss because
I'm getting close to the end here but 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 to CPU to control time first we
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's here now we're looking at physical computers on the
internet or Ethernet and 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
we'll be able to run all of these guys 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
and 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 so
here's a great thing if you're interested Dave reads
1978 PhD thesis at
MIT the design of
an operating system for the internet was
never never done but we validated it a
viewpoints so this
is what if you want to make a system that is the size of the internet
hat is a software system what is it that you have to
do to absolutely ensure that
your going to be that your 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 and
a working version of a
migratory system was done by Jerry
Popek I put this up here because this
written in the 80s you can still get it from MIT press
the locusts distributed system architecture you'll
find the entire book interesting just a
little volume but the first two chapters are a classic
still 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
but if
you were to use it all applications are now just mashups
right we don't want applications as smoke stacks
because we want to integrate so we didn't have
at Xerox PARC and we did not have operating systems
and the current web
which is getting more and more complicated can immediately get
simple except for all the legacy stuff that
has been done so far so
here's something that viewpoints has
on its list but it's we
expect not to be able to solve this at least in
this path of doing things and it
may be beyond 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
and 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
allowing right now is going to require us to start thinking more and
this and we did this to some extent when we did the internet
like I have a degree in molecular biology in my
misspent youth and so
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 our own that are special then the next step
beyond this the best book I've ever seen about it is
Minsky society of Mind book 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 okay
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 we made is that I shall
been showing you today is less than 20,000 lines of code so
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 slide and then quit
I organized the talk so I can
stop now at any place and I need to in about a minute
but I'll just leave this one thought
with you maybe we can have a few questions and then
maybe more will happen I think there's
a smaller group question session
coming up later but
let's think about this idea something appears and we've
got two things about it that are very different there's
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 hems is that
right and you can get a quite a bit
of this out in a few minutes
so there's almost no context to news that it's
not already inside of our own head
new on the other hand real new
not news
real new is invisible we don't
have a category McLuhan said until
I believe it I can't see it that
is the way it works in the human nervous system and
so news is something
that's been going on for the entire existence
of the human race about two hundred thousand years
it's basically campfires and this is what we're doing right now this
is a campfire I'm doing the best I can do
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 and one
of the unfortunate things that happens is that
new when you try to talk about it and people make
on it they usually transform it
back into news so 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
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 as as much as
they value their television sets and they use them roughly the way they
use their television sets so the big
problem whenever something new comes along like
personal computing and the internet is that
people when they see a
convenience to themselves they recast it back
the forms that they know about so 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 thank