Difference between revisions of "Alan Kay: Programming and Scaling"

From Viewpoints Intelligent Archive
Jump to: navigation, search
(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=false
+
|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