Difference between revisions of "Alan Kay: Programming and Scaling"
From Viewpoints Intelligent Archive
(Created page with "{{#evt: service=youtubeIA |id=YyIQKBzIuBY |alignment=left |autoresize=false }}") |
|||
Line 3: | Line 3: | ||
|id=YyIQKBzIuBY | |id=YyIQKBzIuBY | ||
|alignment=left | |alignment=left | ||
− | |autoresize= | + | |autoresize=true |
}} | }} | ||
+ | |||
+ | <subtitle id="0:0:11">so</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:14"> of course we never want to spend too much time looking</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:17"> back especially when talking to students</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:20"> because the world is in front of you</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:23"> but one</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:26"> point I wanted to make and this has always been</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:29"> true and has never reflected adequately</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:32"> in any rewards that a person might receive</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:35"> and that is that when</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:38"> good work gets done it almost always gets done</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:41"> first in a powerful research</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:44"> community of</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:47"> very friendly and very critical</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:50"> colleagues who know how to argue</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:53"> the right way so as you're looking</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:56"> ahead for yourself finding</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:59"> these people in general is</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:2"> critical and finding them in particular</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:5">is critical so these are just some of the people that</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:8"> have</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:11">associated with some of the work we've been doing it</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:14"> viewpoints Research Institute</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:17"> and</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:20"> very few awards actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:23"> are given to groups</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:26"> that this is a real mistake in our field</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:29"> because I believe in our field that you not only have</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:32"> ideas you have to get them implemented and</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:35"> it is often the case that people</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:38"> with ideas are not so good at implementing and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:41"> you need to have a kind of a team of</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:44"> different kinds of talents who are able to</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:47"> work together</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:50">one little look-back though</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:53"> it could be so I as we as the</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:56"> term is meant today I made up the term object-oriented</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:59"> programming but I made it up for something</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:2"> different than the term stands for today</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:5"> and what the term stands for</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:8"> today this could be the 50th anniversary</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:11"> of it so that's quite surprising to think it</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:14">nineteen 61</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:17"> and it goes back to a very surprising</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:20"> form which is</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:23"> actually a machine so</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:26">there's no object-oriented programming language in 1961</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:29"> that I'm aware of I actually started</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:32"> in computing myself in 1961</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:35"> so there was nothing like an object-oriented programming</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:38">back then but there is a piece of hardware that</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:41"> can most easily be</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:44"> explained to you is that this was a</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:47"> computer hardware that</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:50"> executed a</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:53"> set of instructions that look like the byte</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:56"> coded VMs that you're familiar with from Java</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:59"> in fact those byte coded VMs that Java</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:2"> have came originally because they were the</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:5"> basic instruction set on this machine</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:8"> so this is one of the first attempts</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:11"> at a building a higher-level machine</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:14"> to reflect the idea in the early 60s that</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:17"> we were going to program in levels of language</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:20"> higher than C and</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:23"> Bob Barton here invented</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:26"> this machine and sadly the</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:29"> hardware of the day is not as advanced as this machine</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:32"> was so for those of you</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:35"> who think we've been engaged in steady progress</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:38"> in some form</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:41"> of Darwinian processes that are making</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:44">things better for us it's actually quite the opposite quite</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:47"> the opposite in history</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:50"> you can find really incredible</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:53"> geniuses like this man who anticipated</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:56"> so strongly that we</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:59"> can only emulate his ideas and software</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:2"> today intel hasn't gotten around to understanding</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:5"> them yet so this I find</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:8"> really quite sad on the other hand it</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:11"> gives you a sense of this person</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:14"> and if you want to read an interesting paper probably</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:17"> the shortest greatest paper ever written</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:20"> in computer science you can read this one</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:23"> written in 1961 by Bob</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:26"> Barton new approach to the functional design</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:29"> of a digital computer it's only six pages long</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:32"> and it lays out what</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:35"> a felicitous</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:38"> execution environment for</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:41">language would be like and how it would be realized in</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:44"> a computer this computer was built by</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:47"> the way it lived on longest in Germany the</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:50"> German banking system loved it</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:53"> because it was uncrashable why was it uncrashable</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:56"> because it was the first hardware or software system</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:59"> to have what we call capabilities today</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:2"> an application programmer simply could not</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:5"> write a program that could hurt any</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:8"> other program on the computer that was</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:11">built directly into the into the hardware of this</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:14"> machine and the reason</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:17"> I'm showing you this just because</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:20"> part of it is everybody should understand the history</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:23"> of our field if we were physicists and we failed</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:26"> to understand what Newton did we should be shot and</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:29"> but in fact in computing we</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:32"> are very happy not to understand what most</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:35"> of the founders of our field actually did so</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:38"> I always like to pick one of them in</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:41"> the generation before me and</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:44"> explain what he did but reason I brought it up</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:47"> here is that I had a course</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:50"> from this guy this guy was took</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:53"> a leave of absence from borrows to come teach</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:56"> at the graduate school I was at and in</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:59"> this course which was</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:2"> about advanced systems design instead of teaching</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:5"> this course he handed out a list</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:8"> of all the papers we should read he</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:11"> said there are a few things known about advanced</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:14"> systems design in 1966</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:17"> they're written down in these papers and I expect you to read</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:20">every single one of these papers and understand them and</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:23"> then he said but it is my job</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:26"> to firmly disabuse</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:29"> you of any fondly held ideas</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:32"> you might have brought into this classroom and translated</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:35"> into less flowery English what he proposed</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:38"> to do is to take all of our beliefs</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:41"> about computing and destroy them</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:44"> and that is what this class was</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:47"> the best class I've ever had in a</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:50"> university or graduate school and</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:53"> why was this a good idea well</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:56"> we'll see in a second that the biggest problem</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:59"> we have as human beings</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:2"> is that we confuse our beliefs with</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:5"> reality so we seem</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:8"> to live in a reality here but actually it's a construction</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:11"> that we look at one way and</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:14">another culture might look at it another way and my</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:17"> little dog Watson might look at this</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:20"> whole thing from a completely different point of view and when</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:23"> we treat a construction as</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:26"> reality you are actually binding the kinds of thoughts</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:29">that we can actually have and worse than that we're picking a</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:32"> tiny part of the past that led to this</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:35"> particular construction as the only past</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:38"> we ever drawn so</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:41"> what this guy did is just demolished everything that</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:44"> we thought including things that he actually believed</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:47"> in so he demolished everything no no</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:50"> proposition was safe</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:53"> and at the end of it we</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:56"> actually were free so we could</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:59"> then learn computing from the point</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:2"> of view of it being simply opinions</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:5"> and a little bit</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:8">hat have been done so far up that way but might</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:11"> not have anything particular to do with</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:14"> a desirable future so here's a paradigm</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:17"> that existed back then and</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:20"> is pretty much what we do today and I call it the make</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:23"> and fix paradigm and it</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:26">started off with data structures and procedures they</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:29"> were like tinker toys maybe a little bit like clocks</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:32"> we fit we</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:35"> make gears we fit them together called</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:38"> api's they have to fit pretty closely</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:41"> for the thing to work and</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:44"> that's pretty much the only architecture we have and</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:47">of course you can make a tic-tac-toe computer</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:50"> out of tinker toy this is Danny Hillis has a few</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:53">it but like</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:56"> such things was once dismantled to</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:59"> be shipped to a museum and when they put it back together</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:2"> and never worked again and the reason</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:5"> was it was just luck that all</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:8"> of these Tinkertoy actually work because there was play there</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:11"> there strings inside the</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:14"> strings weren't the same length anymore and</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:17"> that reminds you of any programs and</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:20"> this is this murky thing is actually Mexico</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:23"> City has anybody ever been to Mexico City</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:26"> so it's 20 million people</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:29"> couldn't be more smoggy</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:32"> and it's kind of a mess</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:35"> and it's just the kind of it's just a slightly</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:38"> more extreme version of a lot of American cities</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:41"> where individuals</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:44"> have carpenters have</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:47">decided to do a house here or a house there and</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:50"> the problem is is that each</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:53"> individual little ant doing something</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:56"> has led to a</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:59"> totality that is almost unbearable</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:2"> and yet 20 million people are forced to live in it and to</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:5"> me this is what software today is kind of</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:8"> like it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:11"> basically using almost the exact same architectures</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:14"> as we're known 50</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:17"> years ago because even</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:20"> the so called object-oriented languages today have lots</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:23"> of setters in the objects and when you have a setter in an object</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:26">urned an object back into a data structure and</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:29"> so you get this huge</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:32"> amount of scaling of</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:35"> complications but you don't get a lot</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:38"> of bang for the buck</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:41"> it's not clear what to do with it but</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:44"> what</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:50">yeah</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:53"> so if</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:56"> we look at software in terms of lines</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:59"> of code for instance</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:2"> a one book</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:5">of software is about 20,000 lines of code and a</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:8"> foot of books is about I have</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:11"> it here a meter is about a million lines</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:14"> of code so if you stack up a meters height</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:17"> high a book it's about only a million lines of code</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:20"> okay so</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:23"> if we look at some software systems</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:26"> for instance Vista has</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:29"> 120 million lines of code in it so</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:32"> that's a hundred and twenty meters of</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:35"> books to read and</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:38"> six thousand books and another</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:41"> 140 million for the apps another seven thousand</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:44"> books so we're talking thirteen thousand books</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:47"> for the simplest part of</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:50"> personal computing that we're all used to anybody</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:53"> here read thirteen thousand books</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:56"></subtitle> | ||
+ | |||
+ | <subtitle id="0:11:59"> anybody here read one book</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:2"> okay just checking</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:5">so</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:8"> there's a lot and I know a</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:11"> big software company whose</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:14"> name you might have heard that has</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:17"> to deal with a live</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:20"> base of about 350 million lines of code and</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:23"> as they say about 145,000</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:26"> screens so screens</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:29"> is a term that was used a long time ago for 3270</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:32"> terminals and so if they call</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:35"> their user interface today made out of screens it's probably that they</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:38"> just adapted those old 3270</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:41"> screens so this is about seventeen</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:44"> thousand five hundred books worth of software</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:47"> nobody in that company knows what it is</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:50"> but they have thousands and thousands of people</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:53"> maintaining it so the question we should be asking as</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:56"> computer scientists first let alone engineers</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:59"> there's computer scientists we should be asking</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:2"> is that how</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:5">rite to get that much</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:8"> functionality or is something</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:11"> wrong</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:14"> so one way of looking at it is if your</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:17"> are two curves so</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:20"> the complication curve</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:23"> here I just put up</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:29">you know about a a factor</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:32"> of a hundred this</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:35"> and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:38"> we could see that while we like the complication curve to</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:41"> run at the same rate as the complexity curve it actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:44"> is way ahead of the game so for</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:47"> a certain level of complexity like say in personal</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:50"> computing the actual complication</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:53"> might be a factor of a hundred or a factor of a thousand</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:56"> like all</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:59"> but one tenth of one percent in the Microsoft</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:2"> software suite might be useless</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:5"> code code that</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:8"> is there perhaps for compatibility reasons code</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:11"> that they don't dare take out</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:14"> in fact I know that for</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:17"> example if everybody here is probably used Microsoft</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:20"> Word and it's quite surprising that</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:23"> Microsoft Word when you have paragraph justification</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:26"> on actually has selection</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:29"> errors to this day if you ever had</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:32"> that happen got justification on you click in</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:35"> there and you start typing and the type</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:38"> character goes somewhere else that bug</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:41">there for more than twenty five years it's been reported</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:44"> literally thirty or forty thousand times and</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:47"> they cannot find the bug</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:50"> this is the most elementary</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:53">thing that you ever do in a word processor is to</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:56"> be able to select where you want the character go</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:59"> they can't find it and fact</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:2"> I've heard that part of Microsoft words listing has</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:5">been lost they've had to recreate it from</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:8"> from assembly code</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:11"> so that's kind of a state of affairs that</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:14"> we probably should be thinking about</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:17">because when you start getting into factors</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:20"> of a hundred and factors of a thousand and factors of 10,000</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:23">actually talking about the difference between somebody</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:26"> being able to comprehend something and maybe</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:29"> not be able to comprehend it at all</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:32"> so</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:35"> if we go back to our diagram here we</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:38"> can pick up some issues that we might care</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:41"> about now</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:44">say something about the communication with aliens issue</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:47"> a little bit later what that is</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:50"> and</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:53"> if we look in this morass</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:56"> of stuff there's one interesting</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:59"> thing that isn't like this that</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:2"> is huge and yet it is tidy</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:5"> its level of complication</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:8"> exactly balances its level</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:11"> of complexity and that's the Internet so</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:14">it's worthwhile thinking about that that even in a poorly</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:17"> done C program the Internet is actually controlled</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:20">than twenty thousand lines of code itself</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:23"> and that twenty thousand lines of code can be written in</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:26"> about a thousand lines of code so tcp/ip is</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:29"> a kind of a universal DNA</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:32"> for an architecture of billions</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:35"> of nodes in a</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:38"> dynamic system that has never been stopped</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:41"> has never been stopped from when it first</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:44"> got turned on in September 1969</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:47"> so replaced all of its atoms at</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:50"> least once and has never been stopped</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:53"> it has been changed</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:56"> it has been improved</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:59"> but in fact it's an eternal system</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:2"> it is scaled well and so forth and I'm</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:5"> not talking about the web of course web is</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:8"> a mess but the internet was done by</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:11"> experts you had a couple of those guys Vint Cerf and</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:14"> Bob Kahn here at different times these</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:17"> guys knew what they were doing and boy</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:20"> when you look at this I</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:23"> think why it is why</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:26"> did the internet turn out so well and why can't we</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:29">that way because you could imagine taking the</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:32"> inner as a model for doing software modules why</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:35"> don't people do it</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:38"> and it's the way I look at</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:41"> it is a little</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:44"> jump of</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:47">qualitative kind happen here and that</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:50">jump is kind of a little jump from gear type things to</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:53"> biological type things</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:56"> and in fact those of us who had</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:59"> been biologists contribute some pilot</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:2">biological ideas to the design of the Internet because</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:5"> of course the Internet is one of the few human</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:8"> artifacts that</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:11"> we've made that behaves like about like something</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:14"> that's alive in that</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:17"> it repairs itself while it is</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:20"> still running it is able</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:23"> to expand and grow and so forth and</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:26"> so</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:29"> we can think of the Internet is in</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:32"> it was made but</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:35"> it has some of these biological ideas in it</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:38"> so some of the</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:41"> same kinds of ideas for scaling</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:44"> were done in software also around the</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:47"> same time and some of those were successful</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:50"> at Xerox PARC but</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:53"> one of the problems</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:56"> of these</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:59"> some of these semi new ideas here is when</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:2"> they got translated into sea based forms</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:5"> in order to be recognizable</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:8"> to people the things</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:11"> that were like this old paradigm were emphasized</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:14"> here so for example you got this</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:17"> really terrible idea of having a so-called object-oriented</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:20"> system and turning it back into data structures by putting</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:23"> setters in which allow the very same disastrous</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:26"> remote assignment</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:29">statements to to be done and turns the system into</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:32"> a much more fragile way of thinking about things</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:35"> but I think that</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:38"> what's actually going on here</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:41"> is that there's a new way of thinking</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:44">things that represents a brighter future</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:47"> for programming and if</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:50"> this is makin fix for</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:53"> instance you can fix a clock but you have to negotiate with</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:56"> the system so at some point the</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:59">systems are too complicated for a human being to go into too many</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:2"> feedback loops too many self regulatory</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:5"> systems and stuff and you wind up at</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:8"> best negotiating with the system now the</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:11"> stuff we're doing in here so far is</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:14"> in</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:17"> between we built</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:20"> it by hand but we made a system</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:23"> as we've made up many other systems</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:26"> in software but we haven't made the systems capable</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:29"> enough to be able to be negotiated</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:32"> with so I just want to have you think</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:35"> of it in your head of what it would be like if you're</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:38"> doing a software system in some new form</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:41"> of development</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:44"> interactive development kit</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:47"> what would that software system actually do</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:50"> besides just doing what you asked it to</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:53"> do could it for</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:56"> instance participate in readapting</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:59"> the software for future needs about</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:2"> 80% of the cost of all</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:5"> software that is deployed in industry</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:8"> comes after the software</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:11"> has been successfully put out the first time</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:14"> so the life cycle changes</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:17"> that are required of the software and the integration and</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:20">reintegration actually dominate</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:23"> all the costs of software but</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:26"> because of the way companies have</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:29"> to report their earnings and their expenses</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:32"> companies cannot charge</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:35"> upfront for</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:38"> all of the stuff that you really need</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:41"> to do to software to allow it to be changed downstream so</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:44">what they tend to pay for is just enough money to make the thing</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:47"> run to its original specs and hardly any money to</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:50"> be able to fix it up later because they just amortize</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:53"> those costs of the future and the costs are enormous</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:56">o</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:59"> if we take the</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:2"> internet as one area and then a slightly</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:5"> more advanced way of thinking about things is that</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:8"> once we start thinking in biological terms</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:11"> we also are thinking about Ecology's</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:14"> and I hope many</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:17"> of you have thought enough about the Internet to realize that there</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:20"> are levels of communication protocols</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:23"> that could be put on top of</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:26"> tcp/ip</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:29"> for example interoperation protocols</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:32"> that could eliminate the</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:35"> dependence on specific operating systems</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:38"> and I hope to get to that in</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:41"> a few minutes okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:44"> way down the road</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:47"> what</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:50"> is actually being put together is something</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:53"> that is going to have to be discussed in psychological</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:56"> or mental terms because</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:59"> the if this</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:2"> is manipulation</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:5"> up there just wanted to make a little comment about</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:8"> biology because</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:11"> sometimes</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:14"> if we study computers we don't learn</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:17"> other things</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:20"> so we can I'm going to read this diagram both</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:23"> way so at the</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:26"> inch scale</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:29">now there's</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:32"> what twenty five</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:35"> thousand Mike</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:38"> twenty five thousand four hundred</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:41"> microns per inch and a ecoli</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:44"> is about two microns long so it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:47"> about 13,000 microns</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:50"> per inch a little over ten thousand per</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:53"> per centimeter</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:56"> and so if we blow it up by</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:59"> eighty thousand we get to see this and</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:2"> of course it's very active so we wouldn't</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:5"> see this we would see a blur and if</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:8"> we take the next section up there</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:11">we get something that looks like this where we see a bunch of large molecules</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:14"> we take a section of that so</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:17"> we're now a magnification of about 10</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:20"> million we see a medium-sized molecule</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:23"> has about five thousand atoms in it and these are actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:26"> water atoms so if you like books</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:29"> like this it's called the machinery light of life</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:32"> by David Goodsell this is a molecular</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:35"> biologist who likes to paint and he</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:38"> realized that doing watercolors of</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:41"> what is actually going on there could be more clear than</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:44"> computer graphics or anyway this is</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:47">marvelous book for getting an idea so these are individual water molecules these</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:50"> are calcium ions 5,000</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:53"> atoms or so</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:56"> and if</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:59"> you see the size of this thing compared to it in there</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:2"> and see it in the size of the larger thing they're</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:5"> about 120 million molecules</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:8"> that are not water in</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:11"> a single living thing</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:14"> so one of the things to think about in computer</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:17"> terms is the scale jump from the</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:20">lower level of architecture which is polymers like</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:23"> proteins chains of</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:26"> atoms to make</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:29"> long molecules the scale jump to what what</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:32"> it needs to do to make a living thing is</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:35"> incredible compared to the scale jump we do when we try</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:38"> to make objects and I think one of the</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:41"> mistakes we made years ago was to make objects too</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:44"> small and we missed</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:47"> this idea that you might get a lot more out of</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:50"> making a much more capable more universal</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:53"> object and try to build things in terms of that</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:56"> and just for comparison</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:59"> there are just slightly fewer tinker toys</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:2"> in Danny Hillis tinker toy</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:5"> tic-tac-toe playing computer as</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:8"> there are in one of these proteins so so</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:11"> a protein you could imagine assembling by hand but you could not imagine assembling</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:14"> a bacterium by hand</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:17"> okay got aggro on</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:20"> okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:23"> so here's a</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:26"> piece of context that</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:29"> I always like to ask students about</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:32"> so here's an interesting thing</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:35"> about all of us is pretty</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:38"> much from the time we were born every</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:41"> person in this room was praised for being bright</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:44"> right</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:47"> we just talked up a</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:50"> storm and we were interested in this and we were so</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:53"> clever and we were encouraged most</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:56"> of the time to be clever</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:59"> it</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:2"> seems like a good thing and maybe it is because here</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:5"> we are but imagine</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:8"> being born with twice the</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:11"> intellectual capacity of Leonardo</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:14"> smarter than any of us no</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:17"> question twice the</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:20"> intellectual capacity of Leonardo but in 10,000</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:23"> BC how</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:26"> far are you going to get how</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:29"> far did Leonardo get Leonardo could not invent a single</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:32"> engine for any of his vehicles think about that</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:35"> maybe the smartest person of his time but he's born in</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:38"> the wrong time his IQ could not transcend</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:44">so IQ is</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:47"> really not worth that much because</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:50"> talking about vehicles here's</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:53"> Henry Ford nowhere</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:56"> near Leonardo but he happened to be born in the right century</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:59"> century in which people had already done</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:2">a lot of work in making mechanical things and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:5"> it was Duck Soup to make a car that worked and sell</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:8"> millions of them for four hundred and seventy five</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:11"> dollars apiece and of</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:14"> course we have Daimler and Benz here</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:17"> in Germany so basically when you born at</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:20"> the right time a whole bunch of things are open to you</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:23"> so knowledge in many</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:26"> many cases just Trump's IQ</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:29">I</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:32"> and this is because</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:35"> there are certain special people who invent new</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:38"> ways of looking at things so</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:41"> Ford was powerful because Isaac</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:44"> Newton changed the way new with the way Europe thought</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:47"> about things so he changed</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:50"> an entire way of things and it's one</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:53"> of the wonderful things about the way knowledge works if you can get a supreme</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:56"> genius to invent calculus those</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:59"> of us with more normal IQs can learn it</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:2"> so we're not shut out from</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:5"> what the genius does we just can't</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:8">calculus by ourselves but once one of these guys turns</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:11"> things around the knowledge</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:14"> of the era changes completely this</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:17"> is why in the United States at least computer science</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:20"> is almost dead because</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:23"> of course I would get a lot of argument about that because there are</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:26"> many people there but the</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:29"> outlook there has gotten pretty weak</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:32"> and so the way I think of it</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:35"> is the</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:38"> outlook at you have on something is what is</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:41"> going to give you those extra IQ points but</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:44">have a really powerful outlook the knowledge you'll gather</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:47"> will be powerful and then if you have some extra</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:50"> brights if you happen to be clever</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:53"> when you have those first couple of things then</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:56"> you can be very powerful</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:59"> so I think of knowledge</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:2"> as silver and outlook as gold</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:5"> and IQ is kind of a lead weight</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:8"> this is killing</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:11"> computer science because a lot of people in computing don't</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:14"> bother learning anything because it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:17"> not that difficult to learn how to program badly</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:20"> right and you can be clever and</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:23"> write a program in JavaScript to do lots of different</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:26"> kinds of things the problem is you there's no</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:29"> place to go with it</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:35">so when I look at our field today</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:38"> from this 50-year perspective</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:41"> well</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:44"></subtitle> | ||
+ | |||
+ | <subtitle id="0:30:47"> looking back I would</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:50"> say the absolute number of four</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:53"> four and five Sigma IQs is</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:56"> actually has actually increased</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:59"> so if we were to take all</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:2"> of the people in our field vastly</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:5"> more and look at the superbright there's</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:8"> just more than there were 40 50 years ago</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:11"></subtitle> | ||
+ | |||
+ | <subtitle id="0:31:14"> but the relative number is much</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:17"> worse because the</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:20"> total number is increased tremendously and the</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:23">number of the superbright is not increased commensurately</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:26"> and so there's an enormous amount of noise</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:29"> from the middle today in the field</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:32"> an enormous number of artifacts from them</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:35"> similarly there's</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:38"> a lot more knowledge of computer science today than there was</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:41"> 40 50 years ago</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:44"> but the general knowledge of</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:47">the practitioners has only increased a little bit the</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:50"> level the small size</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:53"> of this increase is almost staggering</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:56"> given what</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:59"> there is to know that has been written</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:2"> down in various places and</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:5"> then the</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:8"> number of outlooks that are powerful</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:11"> has gone way up</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:14"> over those years and</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:17"> but the general outlook is hardly more powerful</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:20"> than it was I'm talking about programming here this</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:23"> is quite static so something</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:26"> something is going on that reminds me a lot of pop music</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:29"> right there if</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:32"> you sit down and learn music there and</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:35"> look back over the last six centuries and</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:38"> it's just some of the most incredible</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:41"> talking just about classical music I'm talking</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:44"> about jazz any kind of develop music it just</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:47"> amazing the riches that are there</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:50"> yet pop music uses 1/100</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:53"> of 1% of that and</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:56"> so I think what what's happened is computing</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:59"> has turned into a pop culture and</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:2"> the universities are not helping</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:5"> in general at least in the u.s.</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:8"></subtitle> | ||
+ | |||
+ | <subtitle id="0:33:11"> so Cicero anybody</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:14"> know a good quote about Cicero having to do with</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:17"> present and past let's</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:20"> check out your classical education here</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:23"> so you know who Cicero was</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:26"> he was one of those old Roman guys</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:29"> so Cicero once wrote</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:32"> he who knows only his own generation remains</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:35"> forever a child</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:38">and</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:41"> basically what McLuhan</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:44"> is saying here is we tend to be trapped</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:47"> in a single conception of the present</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:50">makes it hard for us to see it in any terms except</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:53"> the terms that led up to the present that we're in</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:56"> and he said and</subtitle> | ||
+ | |||
+ | <subtitle id="0:33:59"> that means it's hard to conceive of a future that</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:2"> is an incremental on the present makes</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:5"> sense right the president is</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:8"> overwhelming to us and there are all these little things that we can do</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:11"> a little bit better on it</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:14"> that gives us a kind of a model that's like this</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:17"> so</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:20"> here's some rain falling outside making</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:23"> a little gully by random</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:26"> and it happens that a gully by random</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:29"> just happens to be more efficient</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:32"> at making the gully bigger so</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:35"> if you just let that go on for a bit you</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:38"> get these guys there's no</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:41"> reason for where these are just some</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:44"> random rain disturbing some things</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:47"> there but once it got set up it</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:50"> got interested in itself just</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:53"> like our brains do so this</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:56"> is not a bad model of the way human memory</subtitle> | ||
+ | |||
+ | <subtitle id="0:34:59"> works we start learning something it was very hard</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:2"> for us to see what else is going on and</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:5"> so there's this famous picture of Conrad</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:8"> Lorentz who discovered that the first thing</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:11"> a duckling saw when it came out of the egg it thought was his mother</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:14"> and so if Lawrence</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:17"> arranged it so he was the first thing they saw so</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:20"> the little ducks would follow him around and when he</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:23"> went out swimming they'd follow him around and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:26"> I think that's the way people often approach well</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:29"> your first programming language right</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:32"> so probably the most disastrous thing</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:35">learn is your first programming language even if it's a good programming</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:38"> language and the reason is is it's tends</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:41"> to become computing and</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:44"> so it might be a better idea to learn two or three</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:47">programming languages at the same time even though that's a different</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:50"> kind of struggle but at least relativize</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:53"> what people think computing</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:56"> might be so we got this present</subtitle> | ||
+ | |||
+ | <subtitle id="0:35:59"> it</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:2"> comes out of one set of things in the past that</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:5"> we're daily aware of it</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:8"> gives rise to an incremental future this</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:11"> is a lot like academic paper writing in the US</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:14"> I don't know whether you have to do it here but so</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:17"> almost all the papers written in in the US and computing</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:20"> academia are counted so the University</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:23"> of California counts all papers written by</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:26"> academics they don't care whether the papers are good or bad they</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:29"> don't care whether a professor</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:32"> has a really great idea every five years they</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:35"> do care if the professor writes 10</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:38"> or 15 or 20 papers each year</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:41"> and the same with graduate</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:44"> students because graduate students are taught to follow in</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:47"> this mold and often the professor has his name on that very same paper</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:50"> the graduate student in increases his count</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:53"> so there are a lot of factors here</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:56"> but the truth is that the</subtitle> | ||
+ | |||
+ | <subtitle id="0:36:59"> past is vast</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:2">enormous there are billions</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:5"> of people contributing to the past and every</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:8"> time we think the present is real we</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:11"> actually cannot see the rest of the past</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:14">so we have to destroy the present</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:17"> one of the ways of doing it is to</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:20"> try spend a little time each day trying</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:23"> to think of what you take as reality as</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:26"> being just a result of</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:29"> that rain falling on the ground and</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:32"> being intensified</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:35"> get rid of it</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:38"> once you get rid of it</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:41"> it's a scary situation</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:44"> because you've said I'm not going to have anything based</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:47"> on the course that's not possible you're</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:50"> just trying but sometimes you get</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:53"> a little feeling this</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:56"> is not an idea it's just a feeling</subtitle> | ||
+ | |||
+ | <subtitle id="0:37:59"> it's like</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:2"> an odor of perfume</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:5"> but the fun thing is that little feeling can</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:8"> actually lead you to look in the past in different</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:11"> places then</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:14"> you would normally do and you can bring those up</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:17"> to that feeling and once</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:20"> you do that that feeling starts</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:23"> expanding into a vision and the</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:26"> vision expands into an actual idea</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:29"> so this is one way of doing</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:32"> it and some of the most creative people I know actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:35"> operate this way this is where these ideas come</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:38"> from that are not just incremental to the</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:41"> present they come out of</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:44"> vague even muscular sensations</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:47"></subtitle> | ||
+ | |||
+ | <subtitle id="0:38:50"> that you have to go chasing to try</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:53">out what they are you try and get the idea too early it</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:56"> can only be in terms of the present</subtitle> | ||
+ | |||
+ | <subtitle id="0:38:59"> what we do</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:2"> so everything that human humans</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:5"> make is technically technology</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:8"> so I'm going to and we</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:11"> have a different meaning for technology so I'm going to change the</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:14"> Greek root of technology is technique</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:17"> technique means whatever human make</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:20"> humans make don't let's call it the arts</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:23">and</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:26"> in the arts we have tinkering I'm</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:29"> going to do these in historical order so</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:32">mammals are creatures who tinker especially</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:35"> primates especially us and</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:38"> engineering is a kind of principle</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:41"> tinkering so</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:44"> it came before math and science</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:47"></subtitle> | ||
+ | |||
+ | <subtitle id="0:39:50"> what does it mean by principles</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:53">if you don't have math and science well if you build a building</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:56"> and it falls down you just build it with twice the</subtitle> | ||
+ | |||
+ | <subtitle id="0:39:59">cross-sections of all the beams you don't need any math and</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:2">if it doesn't fall down you write it down in a book and</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:5"> you wind up with this big cookbook that by</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:8"> the way is the way Babylonians did math the</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:11"> Greeks hated long books of things like that that</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:14"> led them to invent the company math we use today</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:17"> that came next</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:20"> science as we know it today came</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:23"> about 400 years ago so</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:26"> anybody here know how</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:29"> long our strain of humans has been on the planet</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:32"> how</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:35"> long have we been here this is it's kind</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:38"> of important isn't it for context</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:41"> so you know about so</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:44"> it happens that we inherit more from our mother</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:47"> than our Father because</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:50"> mitochondria and its</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:53"> DNA don't fit into sperm but they do fit into OVA</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:56"> and so when</subtitle> | ||
+ | |||
+ | <subtitle id="0:40:59"> we got a fertilized egg we cannot only get the union of</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:2"> the two nuclear DNA s</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:5"> but we also get the female mitochondrial</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:8"> DNA and mitochondria are a</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:11">little bacteria that were captured a long time ago</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:14"> to help with energy production in cells they were originally separate</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:17"> organisms so it turns out you can actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:20"> run computer simulations</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:23"> on the amount of change in the</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:26"> female line of humanity should</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:29"> do this sometime because it's kind of interesting and it</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:32"> turns out that if you run it back we were all defendi</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:35"> descended from one female</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:38">now of course there are other females around back then but</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:41"> that female lived 192 thousand</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:44"> years ago so our particular strain</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:47"> of humanity has been here but for about 192 thousand</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:50">that we only invented science</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:53"> 400 years ago</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:56"> that's how dumb we are think</subtitle> | ||
+ | |||
+ | <subtitle id="0:41:59"> about it that's why IQ doesn't count</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:2"> we never were smart enough to invent science</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:5"> we blundered around</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:8"> amusing ourselves with stories for</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:11"> hundreds of thousands of years so</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:14"></subtitle> | ||
+ | |||
+ | <subtitle id="0:42:17"> almost everybody in these fields winds</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:20"> up doing a combination of them and you kind of want to be in the sweet</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:23"> spot you want to do a little tinkering a little engineering</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:26"> a little math a little science and really</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:29">difference between the fields is more of temperament than the kinds</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:32"> of things that you learn some people are idealist</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:35"> some are pragmatists</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:38"> now if we look at computing</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:44">it's mostly tinkering a</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:47"> little bit of engineering</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:50"> maybe a little math hardly any science</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:53"> and when we say engineering</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:56"> we don't mean real engineering real</subtitle> | ||
+ | |||
+ | <subtitle id="0:42:59"> engineering uni Empire State Building in New</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:2"> York was built in less than a year by less than three thousand people</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:5"> including dem Demmel it demolishing</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:8"> the original site and occupancy</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:11"> so it's built at the rate of two stories a</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:14"> day the steel was still</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:17"> 110 degrees 40 degrees centigrade when</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:20"> it came from the factories in Pittsburgh</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:23"> to make the Empire State Building</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:26"> that's Engineering so whatever it is we do is</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:29"> like maybe what Egyptians did making</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:32"> pyramids piling things on top of each other but</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:35"> in computing we</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:38"> could not organize 3,000 people to do a major</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:41"> thing in less than a year right</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:44"> have you ever heard of it ever</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:47"> No so</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:50">the word engineering seriously and I do I</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:53"> don't mean it as a metaphor I'm</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:56"> saying engineering let's not do away with</subtitle> | ||
+ | |||
+ | <subtitle id="0:43:59">engineering has meant the last three or four thousand years we</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:2"> take that word seriously we haven't got it yet in</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:5"> software we really</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:8"> don't know how to do it okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:11"> so this is my favorite hairball</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:14"> it's actually from</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:17"> a woolly mammoth so that's a big</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:20"> hairball I'm</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:23"> gonna get rid of it because but you</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:26">something complicated I'm going to replace it with stars because</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:29">nicer to look at but if you think of we're given</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:32"> this phenomena that's the basic</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:35"> thing it could be a hairball it could be they're</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:38">hairballs and what we want to do is make sense of</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:41"> it in science and we</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:44"> have language which is computer</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:47"> scientists you know can all be made out</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:50"> of the operation NAND or nor which</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:53">invented by a guy by the name of Charles purse in</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:56"> the 19th century so</subtitle> | ||
+ | |||
+ | <subtitle id="0:44:59"> we can make all things having to do with language out</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:2"> of that one operation and</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:5"> what we</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:8"> want to do is to come up with something in language</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:11"> that closely mimics mimics the phenomena</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:14"> that we're interested in and forget in</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:17"> fact because of the limitations of our brain that's</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:20">about as far as we can go because the brain contains</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:23"> various kinds of languages that does not contain stars and</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:26"> so we're interested in the relationships</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:29"> between those so the reason</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:32"> I'm explaining this is because when I ask graduate</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:35">United States what is their meaning of computer science</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:38"> they always give me an engineering definition which implies</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:41">that they have no idea what the word science actually means this</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:44"> is what it means</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:47"> but science</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:50"> doesn't care whether nature made it or whether</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:53"> humans made it so we can take a bridge do</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:56"> exactly the same thing</subtitle> | ||
+ | |||
+ | <subtitle id="0:45:59"> make a t-shirt explains</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:2"> how this bridge works and what's cool about engineering</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:5"> is once you make that t-shirt you</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:8"> can make another bridge get</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:11">hose engineers to make more interesting bridge for a scientist</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:14"> to look at and you can take</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:17"> this rather far those are</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:20"> my favorite bridge in Japan longest</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:23"> suspension bridge in the world and to give</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:26"> you an idea of how big it is</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:29">there's the Great Pyramid of Egypt and the</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:32"> Empire State Building next to it so it its towers</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:35"> are actually the size of the</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:38"> greatest building created in the early 30s</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:41"> this is some kind of bridge</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:44">makes</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:47"> you feel good to be an engineer at least it makes me</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:50"> feel good because I this is you know the</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:53"> ability to really make engineering and science</subtitle> | ||
+ | |||
+ | <subtitle id="0:46:56"> harmonize with each other there's no greater</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:2"></subtitle> | ||
+ | |||
+ | <subtitle id="0:47:5">so computing we've</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:8"> got computers we got software here's</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:11"> John McCarthy he</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:14">the abstraction of all that stuff on a t-shirt that's</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:17"> the Lisp interpreter in itself one</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:20"> of my favorite things for more than 50 years</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:23"> ago 1958</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:26"> if you don't have</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:29"> a little tear in your eye when you look at that you're missing something</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:32"> really really important about our field this</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:35"> is like one of the greatest things that has ever done because</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:38"> the same thing with the bridge once somebody does that</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:41"> man you</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:44"> can start inventing things that are much more</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:47"> you can invent computer things that are like</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:50"> like living things and make</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:53"> Internet's and so forth so this is</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:56"> really cool stuff and you</subtitle> | ||
+ | |||
+ | <subtitle id="0:47:59"> can also look at personal computing and ask</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:2"> how many t-shirts we</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:5">Empire State Building worth of code from Microsoft</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:8"> but we should ask how many t-shirts does it really take</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:11"> and so one</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:14">of the things that we've done in our approach is</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:17"> finding that problem difficult</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:20"> it's really hard</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:23">thing through because geez we</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:26"> murse tin this stuff it looks large it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:29"> complicated so</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:32"> what you can do is make</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:35"> a little Frankenstein's monster of</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:38"> a system it isn't</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:41"> the one you actually want exactly but it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:44"> kind of cute and it's kind of scary and</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:47"> if it's also kind of small then</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:50"> you've actually made the thing that will allow you to think</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:53"> about this other</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:56"> guy</subtitle> | ||
+ | |||
+ | <subtitle id="0:48:59"> and Olay enable you to make a baby step</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:2"> towards capturing millions</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:5"> of lines of code in a few</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:8"> tens of thousands of lines of code</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:11">that's one of the things we've been doing so</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:14"> my website the website of</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:17">viewpoints search Institute is Vpr</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:20"> i.org and</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:23"> there you will read</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:26"> more about this project and I'll just show you</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:29"> one example here</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:32"> from a bunch of principles</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:35"> one will be the math wins one</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:38"></subtitle> | ||
+ | |||
+ | <subtitle id="0:49:41"> tiny Model T</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:44"> t-shirt programming and a little bit of particles</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:47"> and fields so this is one</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:50"> of our colleagues dan amma lang and</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:53"> he was charged with the</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:56"> goal of doing all of the computer graphics that you see</subtitle> | ||
+ | |||
+ | <subtitle id="0:49:59"> on a personal computer and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:2"></subtitle> | ||
+ | |||
+ | <subtitle id="0:50:5"> that's several millions</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:8"> of lines of code for instance we took Cairo as an</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:11">Cairo is the rendering system and composing</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:14"> system that's used by Firefox so</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:17"> it does most of the graphical tricks a few million lines of</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:20"> code and turns out dan has a mother</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:23"> and his mother as</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:26">high school geometry teacher and she asked him well what are you doing son</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:29"> a few years ago and he told her and</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:32"> they sat down didn't come back to work sat</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:35">down between Thanksgiving and Christmas and worked out a new way</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:38"> of thinking about the involvement of arbitrary polygons</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:41"> with pixels in</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:44"> math and it looks like this</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:47"> so this is the formula they came</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:50"> up with so with that this is without any super</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:53"> sampling or anything else like that you just execute do what that formula</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:56"> says and it will give you the exact shading for</subtitle> | ||
+ | |||
+ | <subtitle id="0:50:59"> perfect anti-aliasing so</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:2"> of course you can't run that formula so</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:5"> the next thing he did was to make up a language</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:8"> there was rather like this mathematical</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:11"> language but which was executable so</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:14"> you can think of this as a domain-specific language</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:17"> although it's fairly general and</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:20"> it has math in it it's stream-based</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:23"> it's highly parallel</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:26"> and so forth and these the 40</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:29"> lines of math over here comes out to</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:32"> be about 80 lines of runnable code now you can run</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:35"> it</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:38"> and you get</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:41"> something like this so the</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:44"> rendering part will render high quality</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:47"> characters and simple shading and</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:50"> and so forth like that so so that's 80 lines</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:53"> of code and of course</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:56"> there's more features and Dan also has</subtitle> | ||
+ | |||
+ | <subtitle id="0:51:59"> a brother and this brother is very</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:2"> good at math also so he and Dan one summer made</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:5"> up the 26 standard</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:8"> compositing rules that are used in</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:11"> Cairo and all of them together was</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:14"> about 90 lines of code all right</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:17"> because if you think about it if you don't worry about optimization</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:20"> or anything else like that the mathematics</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:23"> here in the right kind of language</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:26"> it just falls out you're actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:29">down what a mathematician to write down is the actual relationships</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:32"> and you get each one of these</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:35"> things does a different compositing there's the rendering</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:38"> stuff sampling for making pictures</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:41"> pen stroking so</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:44"> the total today is a little bit under 400 because</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:47"> we added a few more features to it but</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:50"> basically all of the graphics that were used</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:53"> to in 2d on a personal computer</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:56"> can be done in under 400 lines of code okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:52:59"> that is a big difference compared to maybe</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:2"> one or two millions of lines of code in Cairo like you</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:5"> can look at all of it 400 lines of code is just a few</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:8"> pages well as a hitch</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:11"> and I'm going to end this talk with just</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:14">we get written the hitch of course is you have to make this language run</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:17"> right so you don't want to spend three</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:20"> year you'll come up with the perfect language and</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:23"> then spend three years trying to get it run so you have to have</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:26"> another language and</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:29"> this is based out of a paper</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:32"> from 1964 about how</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:35"> to make the swirls</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:38"> simplest compiler compiler done</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:41"> by a guy at UCLA Val sharee</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:44"> and we did a modern version</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:47">here's Alex Werth who did it and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:50"> the parser for making</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:53"> the graphics language is 130 lines of this language</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:56"> which is called Omata and the</subtitle> | ||
+ | |||
+ | <subtitle id="0:53:59"> the optimizer</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:2"> and the compiler to a language like C is</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:5"> another seven hundred some-odd lines so that's what it takes</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:8"> to make the graphics language so it's a little bit</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:11"> larger but the nice thing about this compiler</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:14"> compiler language is you use it for each of the domain-specific</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:17"> languages that you're making things from and</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:20"> of course you have to make that language but</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:23"> what's nice about it it can make itself and it can make itself</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:26"> in only 76 lines of code and it can optimize itself</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:29"> in 30 lines of code so you get the idea here all</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:32">right so the idea here is that each problem space</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:35"> has a particularly</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:38"> felicitous point of view</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:41"> point of view is worth a D IQ points if you find</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:44">point of view you're going to be able to write down the</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:47"> relationships more or less directly</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:50"> and that helps you think about the problem you're working on and</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:53">then if it's easy to make that domain-specific language</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:56"> you just came up with run you're</subtitle> | ||
+ | |||
+ | <subtitle id="0:54:59"> in business because all of a sudden you've got a system</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:2"> that's actually it's actually working so</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:5"> I'm gonna so we're out of time</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:8"> here and I think I'll leave you</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:11"> with that I was gonna I think that's more than enough information</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:14"> but this is I think one</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:17">the points here that's interesting is that this idea</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:20"> is not only not new today that's</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:23"> why they're called dsls today it's a</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:26"> term we have today turns out this idea was in full</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:29"> flower 50 years ago nobody</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:32"> knows about it today because the terms change it</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:35">were called problem oriented languages 50 years ago POS</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:38"> and for</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:41"> a variety of reasons this whole technique of</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:44"> making software systems very quickly and very</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:47"> in small form got dropped</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:50"> when the commercialization of personal computing</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:53"> happened in the early 80s note it's not</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:56"> taught as a as a major technique and very</subtitle> | ||
+ | |||
+ | <subtitle id="0:55:59"> few kids in the United States know that it's easy to make a</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:2"> compiler compiler language that is much more general</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:5"> and much easier to use than say yak so</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:8"> you learn yak and you're convinced that it is</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:11"> hard to make a language but in fact yak is bad</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:14"> the actual techniques of making a</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:17"> language or actually run much easier to do so</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:20"> let me leave you with this idea</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:23">whatever it is that we think we know today</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:26"> we should shut it off periodically and</subtitle> | ||
+ | |||
+ | <subtitle id="0:56:29"> see if we can find other things to learn about thank</subtitle> |
Latest revision as of 21:58, 6 December 2017
so
of course we never want to spend too much time looking
back especially when talking to students
because the world is in front of you
but one
point I wanted to make and this has always been
true and has never reflected adequately
in any rewards that a person might receive
and that is that when
good work gets done it almost always gets done
first in a powerful research
community of
very friendly and very critical
colleagues who know how to argue
the right way so as you're looking
ahead for yourself finding
these people in general is
critical and finding them in particular
is critical so these are just some of the people that
have
associated with some of the work we've been doing it
viewpoints Research Institute
and
very few awards actually
are given to groups
that this is a real mistake in our field
because I believe in our field that you not only have
ideas you have to get them implemented and
it is often the case that people
with ideas are not so good at implementing and so
you need to have a kind of a team of
different kinds of talents who are able to
work together
one little look-back though
it could be so I as we as the
term is meant today I made up the term object-oriented
programming but I made it up for something
different than the term stands for today
and what the term stands for
today this could be the 50th anniversary
of it so that's quite surprising to think it
nineteen 61
and it goes back to a very surprising
form which is
actually a machine so
there's no object-oriented programming language in 1961
that I'm aware of I actually started
in computing myself in 1961
so there was nothing like an object-oriented programming
back then but there is a piece of hardware that
can most easily be
explained to you is that this was a
computer hardware that
executed a
set of instructions that look like the byte
coded VMs that you're familiar with from Java
in fact those byte coded VMs that Java
have came originally because they were the
basic instruction set on this machine
so this is one of the first attempts
at a building a higher-level machine
to reflect the idea in the early 60s that
we were going to program in levels of language
higher than C and
Bob Barton here invented
this machine and sadly the
hardware of the day is not as advanced as this machine
was so for those of you
who think we've been engaged in steady progress
in some form
of Darwinian processes that are making
things better for us it's actually quite the opposite quite
the opposite in history
you can find really incredible
geniuses like this man who anticipated
so strongly that we
can only emulate his ideas and software
today intel hasn't gotten around to understanding
them yet so this I find
really quite sad on the other hand it
gives you a sense of this person
and if you want to read an interesting paper probably
the shortest greatest paper ever written
in computer science you can read this one
written in 1961 by Bob
Barton new approach to the functional design
of a digital computer it's only six pages long
and it lays out what
a felicitous
execution environment for
language would be like and how it would be realized in
a computer this computer was built by
the way it lived on longest in Germany the
German banking system loved it
because it was uncrashable why was it uncrashable
because it was the first hardware or software system
to have what we call capabilities today
an application programmer simply could not
write a program that could hurt any
other program on the computer that was
built directly into the into the hardware of this
machine and the reason
I'm showing you this just because
part of it is everybody should understand the history
of our field if we were physicists and we failed
to understand what Newton did we should be shot and
but in fact in computing we
are very happy not to understand what most
of the founders of our field actually did so
I always like to pick one of them in
the generation before me and
explain what he did but reason I brought it up
here is that I had a course
from this guy this guy was took
a leave of absence from borrows to come teach
at the graduate school I was at and in
this course which was
about advanced systems design instead of teaching
this course he handed out a list
of all the papers we should read he
said there are a few things known about advanced
systems design in 1966
they're written down in these papers and I expect you to read
every single one of these papers and understand them and
then he said but it is my job
to firmly disabuse
you of any fondly held ideas
you might have brought into this classroom and translated
into less flowery English what he proposed
to do is to take all of our beliefs
about computing and destroy them
and that is what this class was
the best class I've ever had in a
university or graduate school and
why was this a good idea well
we'll see in a second that the biggest problem
we have as human beings
is that we confuse our beliefs with
reality so we seem
to live in a reality here but actually it's a construction
that we look at one way and
another culture might look at it another way and my
little dog Watson might look at this
whole thing from a completely different point of view and when
we treat a construction as
reality you are actually binding the kinds of thoughts
that we can actually have and worse than that we're picking a
tiny part of the past that led to this
particular construction as the only past
we ever drawn so
what this guy did is just demolished everything that
we thought including things that he actually believed
in so he demolished everything no no
proposition was safe
and at the end of it we
actually were free so we could
then learn computing from the point
of view of it being simply opinions
and a little bit
hat have been done so far up that way but might
not have anything particular to do with
a desirable future so here's a paradigm
that existed back then and
is pretty much what we do today and I call it the make
and fix paradigm and it
started off with data structures and procedures they
were like tinker toys maybe a little bit like clocks
we fit we
make gears we fit them together called
api's they have to fit pretty closely
for the thing to work and
that's pretty much the only architecture we have and
of course you can make a tic-tac-toe computer
out of tinker toy this is Danny Hillis has a few
it but like
such things was once dismantled to
be shipped to a museum and when they put it back together
and never worked again and the reason
was it was just luck that all
of these Tinkertoy actually work because there was play there
there strings inside the
strings weren't the same length anymore and
that reminds you of any programs and
this is this murky thing is actually Mexico
City has anybody ever been to Mexico City
so it's 20 million people
couldn't be more smoggy
and it's kind of a mess
and it's just the kind of it's just a slightly
more extreme version of a lot of American cities
where individuals
have carpenters have
decided to do a house here or a house there and
the problem is is that each
individual little ant doing something
has led to a
totality that is almost unbearable
and yet 20 million people are forced to live in it and to
me this is what software today is kind of
like it's
basically using almost the exact same architectures
as we're known 50
years ago because even
the so called object-oriented languages today have lots
of setters in the objects and when you have a setter in an object
urned an object back into a data structure and
so you get this huge
amount of scaling of
complications but you don't get a lot
of bang for the buck
it's not clear what to do with it but
what
yeah
so if
we look at software in terms of lines
of code for instance
a one book
of software is about 20,000 lines of code and a
foot of books is about I have
it here a meter is about a million lines
of code so if you stack up a meters height
high a book it's about only a million lines of code
okay so
if we look at some software systems
for instance Vista has
120 million lines of code in it so
that's a hundred and twenty meters of
books to read and
six thousand books and another
140 million for the apps another seven thousand
books so we're talking thirteen thousand books
for the simplest part of
personal computing that we're all used to anybody
here read thirteen thousand books
anybody here read one book
okay just checking
so
there's a lot and I know a
big software company whose
name you might have heard that has
to deal with a live
base of about 350 million lines of code and
as they say about 145,000
screens so screens
is a term that was used a long time ago for 3270
terminals and so if they call
their user interface today made out of screens it's probably that they
just adapted those old 3270
screens so this is about seventeen
thousand five hundred books worth of software
nobody in that company knows what it is
but they have thousands and thousands of people
maintaining it so the question we should be asking as
computer scientists first let alone engineers
there's computer scientists we should be asking
is that how
rite to get that much
functionality or is something
wrong
so one way of looking at it is if your
are two curves so
the complication curve
here I just put up
you know about a a factor
of a hundred this
and so
we could see that while we like the complication curve to
run at the same rate as the complexity curve it actually
is way ahead of the game so for
a certain level of complexity like say in personal
computing the actual complication
might be a factor of a hundred or a factor of a thousand
like all
but one tenth of one percent in the Microsoft
software suite might be useless
code code that
is there perhaps for compatibility reasons code
that they don't dare take out
in fact I know that for
example if everybody here is probably used Microsoft
Word and it's quite surprising that
Microsoft Word when you have paragraph justification
on actually has selection
errors to this day if you ever had
that happen got justification on you click in
there and you start typing and the type
character goes somewhere else that bug
there for more than twenty five years it's been reported
literally thirty or forty thousand times and
they cannot find the bug
this is the most elementary
thing that you ever do in a word processor is to
be able to select where you want the character go
they can't find it and fact
I've heard that part of Microsoft words listing has
been lost they've had to recreate it from
from assembly code
so that's kind of a state of affairs that
we probably should be thinking about
because when you start getting into factors
of a hundred and factors of a thousand and factors of 10,000
actually talking about the difference between somebody
being able to comprehend something and maybe
not be able to comprehend it at all
so
if we go back to our diagram here we
can pick up some issues that we might care
about now
say something about the communication with aliens issue
a little bit later what that is
and
if we look in this morass
of stuff there's one interesting
thing that isn't like this that
is huge and yet it is tidy
its level of complication
exactly balances its level
of complexity and that's the Internet so
it's worthwhile thinking about that that even in a poorly
done C program the Internet is actually controlled
than twenty thousand lines of code itself
and that twenty thousand lines of code can be written in
about a thousand lines of code so tcp/ip is
a kind of a universal DNA
for an architecture of billions
of nodes in a
dynamic system that has never been stopped
has never been stopped from when it first
got turned on in September 1969
so replaced all of its atoms at
least once and has never been stopped
it has been changed
it has been improved
but in fact it's an eternal system
it is scaled well and so forth and I'm
not talking about the web of course web is
a mess but the internet was done by
experts you had a couple of those guys Vint Cerf and
Bob Kahn here at different times these
guys knew what they were doing and boy
when you look at this I
think why it is why
did the internet turn out so well and why can't we
that way because you could imagine taking the
inner as a model for doing software modules why
don't people do it
and it's the way I look at
it is a little
jump of
qualitative kind happen here and that
jump is kind of a little jump from gear type things to
biological type things
and in fact those of us who had
been biologists contribute some pilot
biological ideas to the design of the Internet because
of course the Internet is one of the few human
artifacts that
we've made that behaves like about like something
that's alive in that
it repairs itself while it is
still running it is able
to expand and grow and so forth and
so
we can think of the Internet is in
it was made but
it has some of these biological ideas in it
so some of the
same kinds of ideas for scaling
were done in software also around the
same time and some of those were successful
at Xerox PARC but
one of the problems
of these
some of these semi new ideas here is when
they got translated into sea based forms
in order to be recognizable
to people the things
that were like this old paradigm were emphasized
here so for example you got this
really terrible idea of having a so-called object-oriented
system and turning it back into data structures by putting
setters in which allow the very same disastrous
remote assignment
statements to to be done and turns the system into
a much more fragile way of thinking about things
but I think that
what's actually going on here
is that there's a new way of thinking
things that represents a brighter future
for programming and if
this is makin fix for
instance you can fix a clock but you have to negotiate with
the system so at some point the
systems are too complicated for a human being to go into too many
feedback loops too many self regulatory
systems and stuff and you wind up at
best negotiating with the system now the
stuff we're doing in here so far is
in
between we built
it by hand but we made a system
as we've made up many other systems
in software but we haven't made the systems capable
enough to be able to be negotiated
with so I just want to have you think
of it in your head of what it would be like if you're
doing a software system in some new form
of development
interactive development kit
what would that software system actually do
besides just doing what you asked it to
do could it for
instance participate in readapting
the software for future needs about
80% of the cost of all
software that is deployed in industry
comes after the software
has been successfully put out the first time
so the life cycle changes
that are required of the software and the integration and
reintegration actually dominate
all the costs of software but
because of the way companies have
to report their earnings and their expenses
companies cannot charge
upfront for
all of the stuff that you really need
to do to software to allow it to be changed downstream so
what they tend to pay for is just enough money to make the thing
run to its original specs and hardly any money to
be able to fix it up later because they just amortize
those costs of the future and the costs are enormous
o
if we take the
internet as one area and then a slightly
more advanced way of thinking about things is that
once we start thinking in biological terms
we also are thinking about Ecology's
and I hope many
of you have thought enough about the Internet to realize that there
are levels of communication protocols
that could be put on top of
tcp/ip
for example interoperation protocols
that could eliminate the
dependence on specific operating systems
and I hope to get to that in
a few minutes okay
way down the road
what
is actually being put together is something
that is going to have to be discussed in psychological
or mental terms because
the if this
is manipulation
up there just wanted to make a little comment about
biology because
sometimes
if we study computers we don't learn
other things
so we can I'm going to read this diagram both
way so at the
inch scale
now there's
what twenty five
thousand Mike
twenty five thousand four hundred
microns per inch and a ecoli
is about two microns long so it's
about 13,000 microns
per inch a little over ten thousand per
per centimeter
and so if we blow it up by
eighty thousand we get to see this and
of course it's very active so we wouldn't
see this we would see a blur and if
we take the next section up there
we get something that looks like this where we see a bunch of large molecules
we take a section of that so
we're now a magnification of about 10
million we see a medium-sized molecule
has about five thousand atoms in it and these are actually
water atoms so if you like books
like this it's called the machinery light of life
by David Goodsell this is a molecular
biologist who likes to paint and he
realized that doing watercolors of
what is actually going on there could be more clear than
computer graphics or anyway this is
marvelous book for getting an idea so these are individual water molecules these
are calcium ions 5,000
atoms or so
and if
you see the size of this thing compared to it in there
and see it in the size of the larger thing they're
about 120 million molecules
that are not water in
a single living thing
so one of the things to think about in computer
terms is the scale jump from the
lower level of architecture which is polymers like
proteins chains of
atoms to make
long molecules the scale jump to what what
it needs to do to make a living thing is
incredible compared to the scale jump we do when we try
to make objects and I think one of the
mistakes we made years ago was to make objects too
small and we missed
this idea that you might get a lot more out of
making a much more capable more universal
object and try to build things in terms of that
and just for comparison
there are just slightly fewer tinker toys
in Danny Hillis tinker toy
tic-tac-toe playing computer as
there are in one of these proteins so so
a protein you could imagine assembling by hand but you could not imagine assembling
a bacterium by hand
okay got aggro on
okay
so here's a
piece of context that
I always like to ask students about
so here's an interesting thing
about all of us is pretty
much from the time we were born every
person in this room was praised for being bright
right
we just talked up a
storm and we were interested in this and we were so
clever and we were encouraged most
of the time to be clever
it
seems like a good thing and maybe it is because here
we are but imagine
being born with twice the
intellectual capacity of Leonardo
smarter than any of us no
question twice the
intellectual capacity of Leonardo but in 10,000
BC how
far are you going to get how
far did Leonardo get Leonardo could not invent a single
engine for any of his vehicles think about that
maybe the smartest person of his time but he's born in
the wrong time his IQ could not transcend
so IQ is
really not worth that much because
talking about vehicles here's
Henry Ford nowhere
near Leonardo but he happened to be born in the right century
century in which people had already done
a lot of work in making mechanical things and so
it was Duck Soup to make a car that worked and sell
millions of them for four hundred and seventy five
dollars apiece and of
course we have Daimler and Benz here
in Germany so basically when you born at
the right time a whole bunch of things are open to you
so knowledge in many
many cases just Trump's IQ
I
and this is because
there are certain special people who invent new
ways of looking at things so
Ford was powerful because Isaac
Newton changed the way new with the way Europe thought
about things so he changed
an entire way of things and it's one
of the wonderful things about the way knowledge works if you can get a supreme
genius to invent calculus those
of us with more normal IQs can learn it
so we're not shut out from
what the genius does we just can't
calculus by ourselves but once one of these guys turns
things around the knowledge
of the era changes completely this
is why in the United States at least computer science
is almost dead because
of course I would get a lot of argument about that because there are
many people there but the
outlook there has gotten pretty weak
and so the way I think of it
is the
outlook at you have on something is what is
going to give you those extra IQ points but
have a really powerful outlook the knowledge you'll gather
will be powerful and then if you have some extra
brights if you happen to be clever
when you have those first couple of things then
you can be very powerful
so I think of knowledge
as silver and outlook as gold
and IQ is kind of a lead weight
this is killing
computer science because a lot of people in computing don't
bother learning anything because it's
not that difficult to learn how to program badly
right and you can be clever and
write a program in JavaScript to do lots of different
kinds of things the problem is you there's no
place to go with it
so when I look at our field today
from this 50-year perspective
well
looking back I would
say the absolute number of four
four and five Sigma IQs is
actually has actually increased
so if we were to take all
of the people in our field vastly
more and look at the superbright there's
just more than there were 40 50 years ago
but the relative number is much
worse because the
total number is increased tremendously and the
number of the superbright is not increased commensurately
and so there's an enormous amount of noise
from the middle today in the field
an enormous number of artifacts from them
similarly there's
a lot more knowledge of computer science today than there was
40 50 years ago
but the general knowledge of
the practitioners has only increased a little bit the
level the small size
of this increase is almost staggering
given what
there is to know that has been written
down in various places and
then the
number of outlooks that are powerful
has gone way up
over those years and
but the general outlook is hardly more powerful
than it was I'm talking about programming here this
is quite static so something
something is going on that reminds me a lot of pop music
right there if
you sit down and learn music there and
look back over the last six centuries and
it's just some of the most incredible
talking just about classical music I'm talking
about jazz any kind of develop music it just
amazing the riches that are there
yet pop music uses 1/100
of 1% of that and
so I think what what's happened is computing
has turned into a pop culture and
the universities are not helping
in general at least in the u.s.
so Cicero anybody
know a good quote about Cicero having to do with
present and past let's
check out your classical education here
so you know who Cicero was
he was one of those old Roman guys
so Cicero once wrote
he who knows only his own generation remains
forever a child
and
basically what McLuhan
is saying here is we tend to be trapped
in a single conception of the present
makes it hard for us to see it in any terms except
the terms that led up to the present that we're in
and he said and
that means it's hard to conceive of a future that
is an incremental on the present makes
sense right the president is
overwhelming to us and there are all these little things that we can do
a little bit better on it
that gives us a kind of a model that's like this
so
here's some rain falling outside making
a little gully by random
and it happens that a gully by random
just happens to be more efficient
at making the gully bigger so
if you just let that go on for a bit you
get these guys there's no
reason for where these are just some
random rain disturbing some things
there but once it got set up it
got interested in itself just
like our brains do so this
is not a bad model of the way human memory
works we start learning something it was very hard
for us to see what else is going on and
so there's this famous picture of Conrad
Lorentz who discovered that the first thing
a duckling saw when it came out of the egg it thought was his mother
and so if Lawrence
arranged it so he was the first thing they saw so
the little ducks would follow him around and when he
went out swimming they'd follow him around and so
I think that's the way people often approach well
your first programming language right
so probably the most disastrous thing
learn is your first programming language even if it's a good programming
language and the reason is is it's tends
to become computing and
so it might be a better idea to learn two or three
programming languages at the same time even though that's a different
kind of struggle but at least relativize
what people think computing
might be so we got this present
it
comes out of one set of things in the past that
we're daily aware of it
gives rise to an incremental future this
is a lot like academic paper writing in the US
I don't know whether you have to do it here but so
almost all the papers written in in the US and computing
academia are counted so the University
of California counts all papers written by
academics they don't care whether the papers are good or bad they
don't care whether a professor
has a really great idea every five years they
do care if the professor writes 10
or 15 or 20 papers each year
and the same with graduate
students because graduate students are taught to follow in
this mold and often the professor has his name on that very same paper
the graduate student in increases his count
so there are a lot of factors here
but the truth is that the
past is vast
enormous there are billions
of people contributing to the past and every
time we think the present is real we
actually cannot see the rest of the past
so we have to destroy the present
one of the ways of doing it is to
try spend a little time each day trying
to think of what you take as reality as
being just a result of
that rain falling on the ground and
being intensified
get rid of it
once you get rid of it
it's a scary situation
because you've said I'm not going to have anything based
on the course that's not possible you're
just trying but sometimes you get
a little feeling this
is not an idea it's just a feeling
it's like
an odor of perfume
but the fun thing is that little feeling can
actually lead you to look in the past in different
places then
you would normally do and you can bring those up
to that feeling and once
you do that that feeling starts
expanding into a vision and the
vision expands into an actual idea
so this is one way of doing
it and some of the most creative people I know actually
operate this way this is where these ideas come
from that are not just incremental to the
present they come out of
vague even muscular sensations
that you have to go chasing to try
out what they are you try and get the idea too early it
can only be in terms of the present
what we do
so everything that human humans
make is technically technology
so I'm going to and we
have a different meaning for technology so I'm going to change the
Greek root of technology is technique
technique means whatever human make
humans make don't let's call it the arts
and
in the arts we have tinkering I'm
going to do these in historical order so
mammals are creatures who tinker especially
primates especially us and
engineering is a kind of principle
tinkering so
it came before math and science
what does it mean by principles
if you don't have math and science well if you build a building
and it falls down you just build it with twice the
cross-sections of all the beams you don't need any math and
if it doesn't fall down you write it down in a book and
you wind up with this big cookbook that by
the way is the way Babylonians did math the
Greeks hated long books of things like that that
led them to invent the company math we use today
that came next
science as we know it today came
about 400 years ago so
anybody here know how
long our strain of humans has been on the planet
how
long have we been here this is it's kind
of important isn't it for context
so you know about so
it happens that we inherit more from our mother
than our Father because
mitochondria and its
DNA don't fit into sperm but they do fit into OVA
and so when
we got a fertilized egg we cannot only get the union of
the two nuclear DNA s
but we also get the female mitochondrial
DNA and mitochondria are a
little bacteria that were captured a long time ago
to help with energy production in cells they were originally separate
organisms so it turns out you can actually
run computer simulations
on the amount of change in the
female line of humanity should
do this sometime because it's kind of interesting and it
turns out that if you run it back we were all defendi
descended from one female
now of course there are other females around back then but
that female lived 192 thousand
years ago so our particular strain
of humanity has been here but for about 192 thousand
that we only invented science
400 years ago
that's how dumb we are think
about it that's why IQ doesn't count
we never were smart enough to invent science
we blundered around
amusing ourselves with stories for
hundreds of thousands of years so
almost everybody in these fields winds
up doing a combination of them and you kind of want to be in the sweet
spot you want to do a little tinkering a little engineering
a little math a little science and really
difference between the fields is more of temperament than the kinds
of things that you learn some people are idealist
some are pragmatists
now if we look at computing
it's mostly tinkering a
little bit of engineering
maybe a little math hardly any science
and when we say engineering
we don't mean real engineering real
engineering uni Empire State Building in New
York was built in less than a year by less than three thousand people
including dem Demmel it demolishing
the original site and occupancy
so it's built at the rate of two stories a
day the steel was still
110 degrees 40 degrees centigrade when
it came from the factories in Pittsburgh
to make the Empire State Building
that's Engineering so whatever it is we do is
like maybe what Egyptians did making
pyramids piling things on top of each other but
in computing we
could not organize 3,000 people to do a major
thing in less than a year right
have you ever heard of it ever
No so
the word engineering seriously and I do I
don't mean it as a metaphor I'm
saying engineering let's not do away with
engineering has meant the last three or four thousand years we
take that word seriously we haven't got it yet in
software we really
don't know how to do it okay
so this is my favorite hairball
it's actually from
a woolly mammoth so that's a big
hairball I'm
gonna get rid of it because but you
something complicated I'm going to replace it with stars because
nicer to look at but if you think of we're given
this phenomena that's the basic
thing it could be a hairball it could be they're
hairballs and what we want to do is make sense of
it in science and we
have language which is computer
scientists you know can all be made out
of the operation NAND or nor which
invented by a guy by the name of Charles purse in
the 19th century so
we can make all things having to do with language out
of that one operation and
what we
want to do is to come up with something in language
that closely mimics mimics the phenomena
that we're interested in and forget in
fact because of the limitations of our brain that's
about as far as we can go because the brain contains
various kinds of languages that does not contain stars and
so we're interested in the relationships
between those so the reason
I'm explaining this is because when I ask graduate
United States what is their meaning of computer science
they always give me an engineering definition which implies
that they have no idea what the word science actually means this
is what it means
but science
doesn't care whether nature made it or whether
humans made it so we can take a bridge do
exactly the same thing
make a t-shirt explains
how this bridge works and what's cool about engineering
is once you make that t-shirt you
can make another bridge get
hose engineers to make more interesting bridge for a scientist
to look at and you can take
this rather far those are
my favorite bridge in Japan longest
suspension bridge in the world and to give
you an idea of how big it is
there's the Great Pyramid of Egypt and the
Empire State Building next to it so it its towers
are actually the size of the
greatest building created in the early 30s
this is some kind of bridge
makes
you feel good to be an engineer at least it makes me
feel good because I this is you know the
ability to really make engineering and science
harmonize with each other there's no greater
so computing we've
got computers we got software here's
John McCarthy he
the abstraction of all that stuff on a t-shirt that's
the Lisp interpreter in itself one
of my favorite things for more than 50 years
ago 1958
if you don't have
a little tear in your eye when you look at that you're missing something
really really important about our field this
is like one of the greatest things that has ever done because
the same thing with the bridge once somebody does that
man you
can start inventing things that are much more
you can invent computer things that are like
like living things and make
Internet's and so forth so this is
really cool stuff and you
can also look at personal computing and ask
how many t-shirts we
Empire State Building worth of code from Microsoft
but we should ask how many t-shirts does it really take
and so one
of the things that we've done in our approach is
finding that problem difficult
it's really hard
thing through because geez we
murse tin this stuff it looks large it's
complicated so
what you can do is make
a little Frankenstein's monster of
a system it isn't
the one you actually want exactly but it's
kind of cute and it's kind of scary and
if it's also kind of small then
you've actually made the thing that will allow you to think
about this other
guy
and Olay enable you to make a baby step
towards capturing millions
of lines of code in a few
tens of thousands of lines of code
that's one of the things we've been doing so
my website the website of
viewpoints search Institute is Vpr
i.org and
there you will read
more about this project and I'll just show you
one example here
from a bunch of principles
one will be the math wins one
tiny Model T
t-shirt programming and a little bit of particles
and fields so this is one
of our colleagues dan amma lang and
he was charged with the
goal of doing all of the computer graphics that you see
on a personal computer and so
that's several millions
of lines of code for instance we took Cairo as an
Cairo is the rendering system and composing
system that's used by Firefox so
it does most of the graphical tricks a few million lines of
code and turns out dan has a mother
and his mother as
high school geometry teacher and she asked him well what are you doing son
a few years ago and he told her and
they sat down didn't come back to work sat
down between Thanksgiving and Christmas and worked out a new way
of thinking about the involvement of arbitrary polygons
with pixels in
math and it looks like this
so this is the formula they came
up with so with that this is without any super
sampling or anything else like that you just execute do what that formula
says and it will give you the exact shading for
perfect anti-aliasing so
of course you can't run that formula so
the next thing he did was to make up a language
there was rather like this mathematical
language but which was executable so
you can think of this as a domain-specific language
although it's fairly general and
it has math in it it's stream-based
it's highly parallel
and so forth and these the 40
lines of math over here comes out to
be about 80 lines of runnable code now you can run
it
and you get
something like this so the
rendering part will render high quality
characters and simple shading and
and so forth like that so so that's 80 lines
of code and of course
there's more features and Dan also has
a brother and this brother is very
good at math also so he and Dan one summer made
up the 26 standard
compositing rules that are used in
Cairo and all of them together was
about 90 lines of code all right
because if you think about it if you don't worry about optimization
or anything else like that the mathematics
here in the right kind of language
it just falls out you're actually
down what a mathematician to write down is the actual relationships
and you get each one of these
things does a different compositing there's the rendering
stuff sampling for making pictures
pen stroking so
the total today is a little bit under 400 because
we added a few more features to it but
basically all of the graphics that were used
to in 2d on a personal computer
can be done in under 400 lines of code okay
that is a big difference compared to maybe
one or two millions of lines of code in Cairo like you
can look at all of it 400 lines of code is just a few
pages well as a hitch
and I'm going to end this talk with just
we get written the hitch of course is you have to make this language run
right so you don't want to spend three
year you'll come up with the perfect language and
then spend three years trying to get it run so you have to have
another language and
this is based out of a paper
from 1964 about how
to make the swirls
simplest compiler compiler done
by a guy at UCLA Val sharee
and we did a modern version
here's Alex Werth who did it and so
the parser for making
the graphics language is 130 lines of this language
which is called Omata and the
the optimizer
and the compiler to a language like C is
another seven hundred some-odd lines so that's what it takes
to make the graphics language so it's a little bit
larger but the nice thing about this compiler
compiler language is you use it for each of the domain-specific
languages that you're making things from and
of course you have to make that language but
what's nice about it it can make itself and it can make itself
in only 76 lines of code and it can optimize itself
in 30 lines of code so you get the idea here all
right so the idea here is that each problem space
has a particularly
felicitous point of view
point of view is worth a D IQ points if you find
point of view you're going to be able to write down the
relationships more or less directly
and that helps you think about the problem you're working on and
then if it's easy to make that domain-specific language
you just came up with run you're
in business because all of a sudden you've got a system
that's actually it's actually working so
I'm gonna so we're out of time
here and I think I'll leave you
with that I was gonna I think that's more than enough information
but this is I think one
the points here that's interesting is that this idea
is not only not new today that's
why they're called dsls today it's a
term we have today turns out this idea was in full
flower 50 years ago nobody
knows about it today because the terms change it
were called problem oriented languages 50 years ago POS
and for
a variety of reasons this whole technique of
making software systems very quickly and very
in small form got dropped
when the commercialization of personal computing
happened in the early 80s note it's not
taught as a as a major technique and very
few kids in the United States know that it's easy to make a
compiler compiler language that is much more general
and much easier to use than say yak so
you learn yak and you're convinced that it is
hard to make a language but in fact yak is bad
the actual techniques of making a
language or actually run much easier to do so
let me leave you with this idea
whatever it is that we think we know today
we should shut it off periodically and
see if we can find other things to learn about thank