Difference between revisions of "Keynote: Making Progress - Alan Kay"

From Viewpoints Intelligent Archive
Jump to: navigation, search
(Created page with " {{#evt: service=youtubeIA |id=9MqVfzxAp6A |alignment=left |autoresize=true }}")
 
 
Line 6: Line 6:
 
|autoresize=true
 
|autoresize=true
 
}}
 
}}
 +
 +
<subtitle id="0:0:26">pinnacle 21 is the leader in software for</subtitle>
 +
<subtitle id="0:0:29"> clinical trial data we enable a clean data pipeline from</subtitle>
 +
<subtitle id="0:0:32">sponsors to health authorities smooth submissions bring life-saving</subtitle>
 +
<subtitle id="0:0:35">medicines to patients faster we are enthusiastic</subtitle>
 +
<subtitle id="0:0:38"> supporters of the philadelphia technical community and proud</subtitle>
 +
<subtitle id="0:0:41"> to sponsor today's keynote it is hard</subtitle>
 +
<subtitle id="0:0:44"> to fairly summarize the career and experience of our speaker today</subtitle>
 +
<subtitle id="0:0:47"> he is a pioneer in programming language design the</subtitle>
 +
<subtitle id="0:0:50"> father of the modern gui and a decorated recipient of just about</subtitle>
 +
<subtitle id="0:0:53">award the software field has to offer</subtitle>
 +
<subtitle id="0:0:56"> today i have the pleasure of introducing</subtitle>
 +
<subtitle id="0:0:59">a visionary mind who happened to cross paths with a fledgling industry</subtitle>
 +
<subtitle id="0:1:2">invention more than 50 years ago and it has managed</subtitle>
 +
<subtitle id="0:1:5"> to hold its interest ever since</subtitle>
 +
<subtitle id="0:1:8">our modern software industry stands on the shoulders</subtitle>
 +
<subtitle id="0:1:11">of them here today philly ete</subtitle>
 +
<subtitle id="0:1:14"> please welcome dr alan kaye</subtitle>
 +
<subtitle id="0:1:17"> thank you</subtitle>
 +
<subtitle id="0:1:20"> it's great to come to phil to philly</subtitle>
 +
<subtitle id="0:1:23"> even if it's by the internet no</subtitle>
 +
<subtitle id="0:1:26"> cheese steak sandwiches but</subtitle>
 +
<subtitle id="0:1:29"> uh we'll get there next year</subtitle>
 +
<subtitle id="0:1:32"> uh this talk is about making progress</subtitle>
 +
<subtitle id="0:1:35"> uh i always like to</subtitle>
 +
<subtitle id="0:1:38">acknowledgements first because they</subtitle>
 +
<subtitle id="0:1:41"> get lost at the end so these</subtitle>
 +
<subtitle id="0:1:44"> people were especially helpful for</subtitle>
 +
<subtitle id="0:1:47"> me preparing this talk</subtitle>
 +
<subtitle id="0:1:50">so</subtitle>
 +
<subtitle id="0:1:53"> making progress the traditional</subtitle>
 +
<subtitle id="0:1:56"> way going back hundreds of thousands</subtitle>
 +
<subtitle id="0:1:59"> of years is just through smarts</subtitle>
 +
<subtitle id="0:2:2"> and here's a very smart guy leonardo</subtitle>
 +
<subtitle id="0:2:5">smarter than any of us</subtitle>
 +
<subtitle id="0:2:8"> uh he had big ideas many</subtitle>
 +
<subtitle id="0:2:11"> kinds of vehicles to roll around</subtitle>
 +
<subtitle id="0:2:14">and fly but none of them worked</subtitle>
 +
<subtitle id="0:2:17"> because his normal</subtitle>
 +
<subtitle id="0:2:20"> the normal of his century failed</subtitle>
 +
<subtitle id="0:2:23"> him and he wasn't smart enough to transcend it</subtitle>
 +
<subtitle id="0:2:26"> and in fact you can imagine what it might</subtitle>
 +
<subtitle id="0:2:29"> be like to have twice leonardo's iq</subtitle>
 +
<subtitle id="0:2:32"> but be born in uh</subtitle>
 +
<subtitle id="0:2:35"> say 10 000 bc</subtitle>
 +
<subtitle id="0:2:38">you're not going to get too far before they burn you</subtitle>
 +
<subtitle id="0:2:41"> at the stake so here's a guy</subtitle>
 +
<subtitle id="0:2:44"> henry ford who was nowhere near as smart</subtitle>
 +
<subtitle id="0:2:47"> as leonardo but he didn't</subtitle>
 +
<subtitle id="0:2:50"> have to be because he was born in the right century</subtitle>
 +
<subtitle id="0:2:53"> and normal was enough for</subtitle>
 +
<subtitle id="0:2:56"> him he was able to make millions of the vehicles</subtitle>
 +
<subtitle id="0:2:59"> that leonardo couldn't</subtitle>
 +
<subtitle id="0:3:2"> and the reason normal was enough for ford was because of</subtitle>
 +
<subtitle id="0:3:5"> this guy isaac newton</subtitle>
 +
<subtitle id="0:3:8"> who changed the context of the century</subtitle>
 +
<subtitle id="0:3:11"> that he was in</subtitle>
 +
<subtitle id="0:3:14">this book which is</subtitle>
 +
<subtitle id="0:3:17"> uh about many things including</subtitle>
 +
<subtitle id="0:3:20"> the system of the planets</subtitle>
 +
<subtitle id="0:3:23"> has nothing about it about</subtitle>
 +
<subtitle id="0:3:26"> automobiles except everything about it</subtitle>
 +
<subtitle id="0:3:29"> because it changed what normal was</subtitle>
 +
<subtitle id="0:3:32"> about and so one way of thinking about this is</subtitle>
 +
<subtitle id="0:3:35"> knowledge is silver</subtitle>
 +
<subtitle id="0:3:38"> context is gold and very often</subtitle>
 +
<subtitle id="0:3:41"> iq is led</subtitle>
 +
<subtitle id="0:3:44"> you have to couple iq with the right</subtitle>
 +
<subtitle id="0:3:47"> kind of knowledge and you get that most</subtitle>
 +
<subtitle id="0:3:50"> strongly by finding the right kind of</subtitle>
 +
<subtitle id="0:3:53"> context now in computing</subtitle>
 +
<subtitle id="0:3:56"> draws smart people</subtitle>
 +
<subtitle id="0:3:59"> they tend not to have enough knowledge</subtitle>
 +
<subtitle id="0:4:2"> and they tend to be in very weak context there are a bunch</subtitle>
 +
<subtitle id="0:4:5"> of reasons for this but this talk is</subtitle>
 +
<subtitle id="0:4:8"> really about finding the context</subtitle>
 +
<subtitle id="0:4:11"> that are available and making use</subtitle>
 +
<subtitle id="0:4:14"> of them so</subtitle>
 +
<subtitle id="0:4:17"> one way of thinking about today we have a</subtitle>
 +
<subtitle id="0:4:20"> all have a perception</subtitle>
 +
<subtitle id="0:4:23"> of normal that is somewhat subjective</subtitle>
 +
<subtitle id="0:4:26"> it's what we think is normal</subtitle>
 +
<subtitle id="0:4:29"> and these normals are embedded in now</subtitle>
 +
<subtitle id="0:4:32">hich has a lot of stuff in it that we're not</subtitle>
 +
<subtitle id="0:4:35"> aware of we can't see much in</subtitle>
 +
<subtitle id="0:4:38"> normal because we think of it as reality so we have to look at</subtitle>
 +
<subtitle id="0:4:41"> it really closely to start finding</subtitle>
 +
<subtitle id="0:4:44"> distinctions everything that's going on</subtitle>
 +
<subtitle id="0:4:47"> in normal is definitely not good there's</subtitle>
 +
<subtitle id="0:4:50"> also this concept of bad there's worse</subtitle>
 +
<subtitle id="0:4:53"> there's qualitatively better</subtitle>
 +
<subtitle id="0:4:56">and so we</subtitle>
 +
<subtitle id="0:4:59"> can make choices here</subtitle>
 +
<subtitle id="0:5:2"> but as engineers</subtitle>
 +
<subtitle id="0:5:5"> as technical people in general making</subtitle>
 +
<subtitle id="0:5:8"> progress is about what is actually needed</subtitle>
 +
<subtitle id="0:5:11"> that is a threshold it's the</subtitle>
 +
<subtitle id="0:5:14">important threshold we can ever determine</subtitle>
 +
<subtitle id="0:5:17"> it's not better</subtitle>
 +
<subtitle id="0:5:20"> it's not perfect it's what is actually</subtitle>
 +
<subtitle id="0:5:23"> needed for the task at</subtitle>
 +
<subtitle id="0:5:26"> hand in the context that we're in</subtitle>
 +
<subtitle id="0:5:29"> and engineer</subtitle>
 +
<subtitle id="0:5:32"> engineering is works</subtitle>
 +
<subtitle id="0:5:35"> at its smoothest when what is actually</subtitle>
 +
<subtitle id="0:5:38">needed is in the normal context of the engineers</subtitle>
 +
<subtitle id="0:5:41"> doing the work it's well known</subtitle>
 +
<subtitle id="0:5:44"> stuff skill can be</subtitle>
 +
<subtitle id="0:5:47"> used to apply it and things often</subtitle>
 +
<subtitle id="0:5:50"> go quite well but</subtitle>
 +
<subtitle id="0:5:53"> uh in some cases like</subtitle>
 +
<subtitle id="0:5:56"> doing the space program and</subtitle>
 +
<subtitle id="0:5:59"> bending some new technology</subtitle>
 +
<subtitle id="0:6:2"> we have to get outside of</subtitle>
 +
<subtitle id="0:6:5"> the normal of people participating</subtitle>
 +
<subtitle id="0:6:8"> in it but some of the knowledge is already</subtitle>
 +
<subtitle id="0:6:11">the now and so what we have to do there</subtitle>
 +
<subtitle id="0:6:14"> is just learn it</subtitle>
 +
<subtitle id="0:6:17">but for instance inventing something</subtitle>
 +
<subtitle id="0:6:20"> like the internet getting</subtitle>
 +
<subtitle id="0:6:23"> to the moon we have to get outside</subtitle>
 +
<subtitle id="0:6:26"> of what's known and</subtitle>
 +
<subtitle id="0:6:29"> in order to do that we have to venture</subtitle>
 +
<subtitle id="0:6:32"> into research something that</subtitle>
 +
<subtitle id="0:6:35">much more tentative and explorative but</subtitle>
 +
<subtitle id="0:6:38"> can extend out the knowledge that we have</subtitle>
 +
<subtitle id="0:6:41">children are actually in a nice place they don't know</subtitle>
 +
<subtitle id="0:6:44"> a lot but they operate in a really nice</subtitle>
 +
<subtitle id="0:6:47"> area because they don't have a strong notion of what</subtitle>
 +
<subtitle id="0:6:50"> normal is school will eventually give them a bad</subtitle>
 +
<subtitle id="0:6:53">version of normal but up to that point</subtitle>
 +
<subtitle id="0:6:56"> they're in a kind of state of grace</subtitle>
 +
<subtitle id="0:6:59"> now i think for much of computing going forward</subtitle>
 +
<subtitle id="0:7:2"> what's in most people's normals</subtitle>
 +
<subtitle id="0:7:5">good enough we'll talk about that</subtitle>
 +
<subtitle id="0:7:8"> a little bit as we move along so my</subtitle>
 +
<subtitle id="0:7:11"> job in this talk is to channel one of my mentors</subtitle>
 +
<subtitle id="0:7:14"> jerry bruner and</subtitle>
 +
<subtitle id="0:7:17"> instead of talking about</subtitle>
 +
<subtitle id="0:7:20">uh strange things and trying to make them familiar</subtitle>
 +
<subtitle id="0:7:23"> i'm going to try and take what we think we know and</subtitle>
 +
<subtitle id="0:7:26">strange again so we can actually think about</subtitle>
 +
<subtitle id="0:7:29"> and so here's some code</subtitle>
 +
<subtitle id="0:7:32"> uh this is some of my</subtitle>
 +
<subtitle id="0:7:35"> favorite code to look at and we can see it's</subtitle>
 +
<subtitle id="0:7:38"> actually the lunar lander</subtitle>
 +
<subtitle id="0:7:41"> from the pilot uh</subtitle>
 +
<subtitle id="0:7:44"> guidance computer</subtitle>
 +
<subtitle id="0:7:47">this was used in the 60s and it's the thing we went to</subtitle>
 +
<subtitle id="0:7:50"> the moon on cubic foot</subtitle>
 +
<subtitle id="0:7:53"> of some of the earliest silicon transistors</subtitle>
 +
<subtitle id="0:7:56"> they had all of 4k bytes</subtitle>
 +
<subtitle id="0:7:59"> of random access memory</subtitle>
 +
<subtitle id="0:8:2"> 73k bytes of</subtitle>
 +
<subtitle id="0:8:5"> read-only memory no disks no</subtitle>
 +
<subtitle id="0:8:8"> tapes no secondary or tertiary memories</subtitle>
 +
<subtitle id="0:8:11"> that was it it ran at a</subtitle>
 +
<subtitle id="0:8:14"> 85 000 instructions</subtitle>
 +
<subtitle id="0:8:17">million not billion</subtitle>
 +
<subtitle id="0:8:20"> and it had a higher level language</subtitle>
 +
<subtitle id="0:8:23"> in it for a variety of reasons it</subtitle>
 +
<subtitle id="0:8:26"> ran at 41 operations per</subtitle>
 +
<subtitle id="0:8:29"> second nonetheless it had</subtitle>
 +
<subtitle id="0:8:32">a real-time operating system and it had to</subtitle>
 +
<subtitle id="0:8:35">ccasionally thousands of processes</subtitle>
 +
<subtitle id="0:8:38">memory because it was</subtitle>
 +
<subtitle id="0:8:41"> the only computer on the spacecraft</subtitle>
 +
<subtitle id="0:8:44"> and it had to do both the</subtitle>
 +
<subtitle id="0:8:47"> apollo</subtitle>
 +
<subtitle id="0:8:50"> crew module and the the land the lunar</subtitle>
 +
<subtitle id="0:8:53"> lander so this is a very interesting process</subtitle>
 +
<subtitle id="0:8:56">for writing software and we can see some of these comments</subtitle>
 +
<subtitle id="0:8:59"> might be familiar to</subtitle>
 +
<subtitle id="0:9:2"> you the hope i hope a hope there's</subtitle>
 +
<subtitle id="0:9:5"> a kind of a sequential</subtitle>
 +
<subtitle id="0:9:8">flavor to this</subtitle>
 +
<subtitle id="0:9:11"> programming but down below we say</subtitle>
 +
<subtitle id="0:9:14"> uh continue with the automatic landing the automatic</subtitle>
 +
<subtitle id="0:9:17"> landing this thing is landing the</subtitle>
 +
<subtitle id="0:9:20"> uh something on the on the moon</subtitle>
 +
<subtitle id="0:9:23"> it's restarting has there been a restart what</subtitle>
 +
<subtitle id="0:9:26"> does all this mean so here's the</subtitle>
 +
<subtitle id="0:9:29"> head of all of the software except</subtitle>
 +
<subtitle id="0:9:32"> for the operating system in this</subtitle>
 +
<subtitle id="0:9:35"> computer and here are the listings</subtitle>
 +
<subtitle id="0:9:38"> to that software margaret</subtitle>
 +
<subtitle id="0:9:41"> hamilton uh had a degree in pure</subtitle>
 +
<subtitle id="0:9:44"> math and learned a program</subtitle>
 +
<subtitle id="0:9:47"> as a for</subtitle>
 +
<subtitle id="0:9:50"> fun and then worked on the big sage system</subtitle>
 +
<subtitle id="0:9:53"> air defense system and then</subtitle>
 +
<subtitle id="0:9:56"> started as a programmer at draper labs</subtitle>
 +
<subtitle id="0:9:59"> to do this software and in a few years</subtitle>
 +
<subtitle id="0:10:2">they made her the head of all</subtitle>
 +
<subtitle id="0:10:5"> of the application software</subtitle>
 +
<subtitle id="0:10:8"> um when she showed</subtitle>
 +
<subtitle id="0:10:11"> this uh to some friends of hers they said well</subtitle>
 +
<subtitle id="0:10:14"> this doesn't look like pure math at all and</subtitle>
 +
<subtitle id="0:10:17"> she said well it isn't and they said well what are you doing</subtitle>
 +
<subtitle id="0:10:20"> she said well it's essentially software engineering</subtitle>
 +
<subtitle id="0:10:23"> she is one of the three corners</subtitle>
 +
<subtitle id="0:10:26">phrase of our profession software engineering</subtitle>
 +
<subtitle id="0:10:29"> what is it</subtitle>
 +
<subtitle id="0:10:32">many people today will tell you software engineering is what</subtitle>
 +
<subtitle id="0:10:35"> they're doing but that isn't the way she thought about</subtitle>
 +
<subtitle id="0:10:38">it she took the word engineering very very seriously</subtitle>
 +
<subtitle id="0:10:41"> and here's why</subtitle>
 +
<subtitle id="0:10:44"> a few years later</subtitle>
 +
<subtitle id="0:10:47"> we did make it to the moon</subtitle>
 +
<subtitle id="0:10:50">it's an oh yeah</subtitle>
 +
<subtitle id="0:10:53"> technical term for oh yeah it's holy</subtitle>
 +
<subtitle id="0:10:56"> oh yeah is what you want to get to</subtitle>
 +
<subtitle id="0:10:59"> when you're doing engineering</subtitle>
 +
<subtitle id="0:11:2"> and during this landing old 1202</subtitle>
 +
<subtitle id="0:11:5"> popped up while they were trying to land</subtitle>
 +
<subtitle id="0:11:8">on the moon and that was a signal that</subtitle>
 +
<subtitle id="0:11:11"> the computer was being overloaded</subtitle>
 +
<subtitle id="0:11:14"> this is because an astronaut</subtitle>
 +
<subtitle id="0:11:17"> actually threw a switch when he wasn't supposed</subtitle>
 +
<subtitle id="0:11:20"> to uh</subtitle>
 +
<subtitle id="0:11:23"> she was told several years earlier that astronauts</subtitle>
 +
<subtitle id="0:11:26">mistake and don't bother about</subtitle>
 +
<subtitle id="0:11:29"> fault tolerance in this</subtitle>
 +
<subtitle id="0:11:32"> on this tiny computer and she doubted</subtitle>
 +
<subtitle id="0:11:35"> this for a very good reason we can talk about that in the</subtitle>
 +
<subtitle id="0:11:38">if you want and she decided to make everything fault</subtitle>
 +
<subtitle id="0:11:41">olerant and so her answer was</subtitle>
 +
<subtitle id="0:11:44"> when overloaded it's designed to keep restarting throughout</subtitle>
 +
<subtitle id="0:11:47"> throwing out low priority processes and never</subtitle>
 +
<subtitle id="0:11:50"> crash and so they</subtitle>
 +
<subtitle id="0:11:53"> trusted her kept on with the landing and we made</subtitle>
 +
<subtitle id="0:11:56"> it and in fact</subtitle>
 +
<subtitle id="0:11:59"> here's hal lanning who did this</subtitle>
 +
<subtitle id="0:12:2"> uh the operating system and design part of the computer</subtitle>
 +
<subtitle id="0:12:5"> uh through all of the lunar</subtitle>
 +
<subtitle id="0:12:8">the apollo program there</subtitle>
 +
<subtitle id="0:12:11"> was not one bug not one crash</subtitle>
 +
<subtitle id="0:12:14"> no astronauts were harmed</subtitle>
 +
<subtitle id="0:12:17"> in any way and</subtitle>
 +
<subtitle id="0:12:20"> many were saved because of the way these</subtitle>
 +
<subtitle id="0:12:23"> two did this software</subtitle>
 +
<subtitle id="0:12:26"> and as they said well we're making</subtitle>
 +
<subtitle id="0:12:29"> systems not simple programs simple</subtitle>
 +
<subtitle id="0:12:32"> programs are like stories but systems are not like</subtitle>
 +
<subtitle id="0:12:35"> stories and engineering is making</subtitle>
 +
<subtitle id="0:12:38"> secure systems with integrity</subtitle>
 +
<subtitle id="0:12:41"> that's what that's what engineering means</subtitle>
 +
<subtitle id="0:12:44"> whereas a few months ago 52</subtitle>
 +
<subtitle id="0:12:47"> years after the lunar landing</subtitle>
 +
<subtitle id="0:12:50"> i saw this in the paper the</subtitle>
 +
<subtitle id="0:12:53">is set up to get</subtitle>
 +
<subtitle id="0:12:56"> people their vaccinations crashed</subtitle>
 +
<subtitle id="0:12:59"> how is this possible</subtitle>
 +
<subtitle id="0:13:2"> people undoubtedly died</subtitle>
 +
<subtitle id="0:13:5"> because of this they spent months trying to get</subtitle>
 +
<subtitle id="0:13:8"> this very very simple application going</subtitle>
 +
<subtitle id="0:13:14">well you have to deal with something that is</subtitle>
 +
<subtitle id="0:13:17"> larger that has more</subtitle>
 +
<subtitle id="0:13:20"> relationships than regular</subtitle>
 +
<subtitle id="0:13:23"> programming deals with now of course i'm</subtitle>
 +
<subtitle id="0:13:26">knows here real question is</subtitle>
 +
<subtitle id="0:13:29"> not whether you know it but how often do you</subtitle>
 +
<subtitle id="0:13:32"> do it in every line of whatever code</subtitle>
 +
<subtitle id="0:13:35">writing systems design looks</subtitle>
 +
<subtitle id="0:13:38"> more like a constitution than a collection of laws</subtitle>
 +
<subtitle id="0:13:41"> or a story it's a bigger thing</subtitle>
 +
<subtitle id="0:13:47">and as they said you're in deep trouble if you don't use</subtitle>
 +
<subtitle id="0:13:50"> fault tolerant loose coupling</subtitle>
 +
<subtitle id="0:13:53"> late binding not early</subtitle>
 +
<subtitle id="0:13:59">and as margaret</subtitle>
 +
<subtitle id="0:14:2"> said what is actually needed is development before the</subtitle>
 +
<subtitle id="0:14:5"> fact software engineering what she meant</subtitle>
 +
<subtitle id="0:14:8"> by that the fact is</subtitle>
 +
<subtitle id="0:14:11"> an error a bug a</subtitle>
 +
<subtitle id="0:14:14"> crash that hurts somebody or something</subtitle>
 +
<subtitle id="0:14:17"> you want to develop before</subtitle>
 +
<subtitle id="0:14:20"> the fact so that doesn't happen you're going to have errors</subtitle>
 +
<subtitle id="0:14:23"> but the way they went</subtitle>
 +
<subtitle id="0:14:26"> about things is that no error</subtitle>
 +
<subtitle id="0:14:29"> should actually be able to</subtitle>
 +
<subtitle id="0:14:32">propagate to cause real harm</subtitle>
 +
<subtitle id="0:14:35">because the moonshot</subtitle>
 +
<subtitle id="0:14:38"> was done really early</subtitle>
 +
<subtitle id="0:14:41"> in many kinds of technology</subtitle>
 +
<subtitle id="0:14:44"> and so it was actually a systems</subtitle>
 +
<subtitle id="0:14:47">coordination of 400 000 people</subtitle>
 +
<subtitle id="0:14:50"> maybe 20 000</subtitle>
 +
<subtitle id="0:14:53"> companies and uh 178</subtitle>
 +
<subtitle id="0:14:56"> or so billion dollars of today's money</subtitle>
 +
<subtitle id="0:14:59"> so everything that they did was about</subtitle>
 +
<subtitle id="0:15:2"> trying to think in terms of systems</subtitle>
 +
<subtitle id="0:15:5">half million</subtitle>
 +
<subtitle id="0:15:8"> parts just in the apollo command</subtitle>
 +
<subtitle id="0:15:11">module and another two and a half million parts</subtitle>
 +
<subtitle id="0:15:14"> in the lunar lander</subtitle>
 +
<subtitle id="0:15:17">well</subtitle>
 +
<subtitle id="0:15:20"> if what you're trying to do is not a story</subtitle>
 +
<subtitle id="0:15:23">we know how to tell stories that's what i'm doing right now</subtitle>
 +
<subtitle id="0:15:26"> it's a system how do you tell a system</subtitle>
 +
<subtitle id="0:15:29">well you have to make something like this</subtitle>
 +
<subtitle id="0:15:35">and the purpose of these big rooms</subtitle>
 +
<subtitle id="0:15:38">wide angles is to answer questions like</subtitle>
 +
<subtitle id="0:15:41"> these these are the things that we need to know</subtitle>
 +
<subtitle id="0:15:44"> them about the entire system</subtitle>
 +
<subtitle id="0:15:47"> so we</subtitle>
 +
<subtitle id="0:15:50"> notice that if your user interface designer which most</subtitle>
 +
<subtitle id="0:15:53"> people aren't this is also the main job of the</subtitle>
 +
<subtitle id="0:15:56">user interface this is what you have to think about</subtitle>
 +
<subtitle id="0:15:59"> the questions you have to answer</subtitle>
 +
<subtitle id="0:16:2">what when i've been asked in</subtitle>
 +
<subtitle id="0:16:5">do some consulting the first thing i want to see</subtitle>
 +
<subtitle id="0:16:8"> when i visit a software organization</subtitle>
 +
<subtitle id="0:16:11"> is where is your situation room</subtitle>
 +
<subtitle id="0:16:14"> where you can understand what's going on virtually</subtitle>
 +
<subtitle id="0:16:17"> nobody has them and</subtitle>
 +
<subtitle id="0:16:20">there's no really no excuse for it not just because</subtitle>
 +
<subtitle id="0:16:23"> video projectors are cheap now but because</subtitle>
 +
<subtitle id="0:16:26"> if you think about it real hard wide</subtitle>
 +
<subtitle id="0:16:29"> angle virtual reality is fantastic</subtitle>
 +
<subtitle id="0:16:32"> for dealing with</subtitle>
 +
<subtitle id="0:16:35"> a system you don't even need 3d</subtitle>
 +
<subtitle id="0:16:38"> just virtual reality and 2d</subtitle>
 +
<subtitle id="0:16:41"> will give you the sense</subtitle>
 +
<subtitle id="0:16:44">thing and allow the kind of</subtitle>
 +
<subtitle id="0:16:47"> meetings that you need to have when you're dealing with</subtitle>
 +
<subtitle id="0:16:50"> complexity</subtitle>
 +
<subtitle id="0:16:53"> and of course here's a famous one</subtitle>
 +
<subtitle id="0:16:56">grander than the ones that we actually need</subtitle>
 +
<subtitle id="0:16:59">the</subtitle>
 +
<subtitle id="0:17:2"> bible is full of</subtitle>
 +
<subtitle id="0:17:5"> stories but what michelangelo</subtitle>
 +
<subtitle id="0:17:8"> wanted to do was to give a sense of the system</subtitle>
 +
<subtitle id="0:17:11">and it's a wide-angle thing</subtitle>
 +
<subtitle id="0:17:14"> many people who are listening to this talk will have have been</subtitle>
 +
<subtitle id="0:17:17">and the</subtitle>
 +
<subtitle id="0:17:20"> problem with the laptop screen is the the angle</subtitle>
 +
<subtitle id="0:17:23"> of vision is too wide we can get a</subtitle>
 +
<subtitle id="0:17:26"> huge angle of vision by getting close but our eyes are not made</subtitle>
 +
<subtitle id="0:17:29">so we need</subtitle>
 +
<subtitle id="0:17:32"> something that allows us to deal with</subtitle>
 +
<subtitle id="0:17:35"> information in our periphery as well</subtitle>
 +
<subtitle id="0:17:38"> as uh in our fovea</subtitle>
 +
<subtitle id="0:17:41"> and at the bottom i say systems are about happenings</subtitle>
 +
<subtitle id="0:17:44">i mean stories are about happening systems are about</subtitle>
 +
<subtitle id="0:17:47"> relationships okay so</subtitle>
 +
<subtitle id="0:17:50"> here's a big body of water of</subtitle>
 +
<subtitle id="0:17:53"> course we want to get across it and historically</subtitle>
 +
<subtitle id="0:17:56"> the way things started was somebody</subtitle>
 +
<subtitle id="0:17:59">something could be a log</subtitle>
 +
<subtitle id="0:18:2"> in this case it's a rope bridge</subtitle>
 +
<subtitle id="0:18:5"> tinker little bridge</subtitle>
 +
<subtitle id="0:18:8">it's one kind of knowledge and tinkering we share</subtitle>
 +
<subtitle id="0:18:11"> tinkering with uh all primates</subtitle>
 +
<subtitle id="0:18:14"> and most mammals and</subtitle>
 +
<subtitle id="0:18:17"> the second kind of knowledge we have is liking</subtitle>
 +
<subtitle id="0:18:20"> what we tinker or not and</subtitle>
 +
<subtitle id="0:18:23"> often that will lead us to be much more careful about</subtitle>
 +
<subtitle id="0:18:26"> thinking about building something or cooking</subtitle>
 +
<subtitle id="0:18:29"> a meal and engineering got started</subtitle>
 +
<subtitle id="0:18:32"> really early because it didn't have to know why</subtitle>
 +
<subtitle id="0:18:35">things worked it just had to find out what worked</subtitle>
 +
<subtitle id="0:18:38"> and so in the old days you would gather a kind</subtitle>
 +
<subtitle id="0:18:41">whether it's for a bridge or for</subtitle>
 +
<subtitle id="0:18:44">people</subtitle>
 +
<subtitle id="0:18:47"> soon started realizing that you could do a</subtitle>
 +
<subtitle id="0:18:50"> lot of work with symbols and this is one</subtitle>
 +
<subtitle id="0:18:53"> of the biggest drivers for the mathematics that we</subtitle>
 +
<subtitle id="0:18:56"> know today to replace with symbols</subtitle>
 +
<subtitle id="0:18:59"> and models uh</subtitle>
 +
<subtitle id="0:19:2"> the more costly having to build large</subtitle>
 +
<subtitle id="0:19:5"> things that fall down</subtitle>
 +
<subtitle id="0:19:8"> then only a few hundred years ago we get</subtitle>
 +
<subtitle id="0:19:11">science science</subtitle>
 +
<subtitle id="0:19:14"> is a very different kind of way of</subtitle>
 +
<subtitle id="0:19:17"> looking at things it gives us a theory</subtitle>
 +
<subtitle id="0:19:20">in this case it's a theory</subtitle>
 +
<subtitle id="0:19:23">artifact a theory of a bridge because science doesn't</subtitle>
 +
<subtitle id="0:19:26"> care where the phenomena come from</subtitle>
 +
<subtitle id="0:19:29">science is about the relation we can</subtitle>
 +
<subtitle id="0:19:32"> talk about this if you want in the</subtitle>
 +
<subtitle id="0:19:35"> q a so five</subtitle>
 +
<subtitle id="0:19:38">knowledge this is their historical</subtitle>
 +
<subtitle id="0:19:41">if we come back and look at</subtitle>
 +
<subtitle id="0:19:44"> the akashi strait here and how big is this</subtitle>
 +
<subtitle id="0:19:47"> straight well there's the empire state building and</subtitle>
 +
<subtitle id="0:19:50"> the great pyramid of giza in</subtitle>
 +
<subtitle id="0:19:53"> europe in egypt</subtitle>
 +
<subtitle id="0:19:59">and oh yeah yeah we can get</subtitle>
 +
<subtitle id="0:20:5">so this</subtitle>
 +
<subtitle id="0:20:8"> is the largest suspension bridge in the world</subtitle>
 +
<subtitle id="0:20:14">and it required a</subtitle>
 +
<subtitle id="0:20:17"> combination of</subtitle>
 +
<subtitle id="0:20:20"> getting the science done feeding the</subtitle>
 +
<subtitle id="0:20:23"> science back into the engineering using</subtitle>
 +
<subtitle id="0:20:26"> models and</subtitle>
 +
<subtitle id="0:20:29"> making a wonderful synthesis of</subtitle>
 +
<subtitle id="0:20:32"> these main disciplines</subtitle>
 +
<subtitle id="0:20:35"> that is why it's really uh our greatest</subtitle>
 +
<subtitle id="0:20:38">be born into this time</subtitle>
 +
<subtitle id="0:20:41"> uh of science engineering and mathematics</subtitle>
 +
<subtitle id="0:20:44"> working together</subtitle>
 +
<subtitle id="0:20:47">well here's another dream about water</subtitle>
 +
<subtitle id="0:20:50"> this time about flight</subtitle>
 +
<subtitle id="0:20:53">icarus leonardo took</subtitle>
 +
<subtitle id="0:20:56">had engine problems</subtitle>
 +
<subtitle id="0:20:59"> people tried to do man-powered flight</subtitle>
 +
<subtitle id="0:21:2"> a british industrialist henry cramer</subtitle>
 +
<subtitle id="0:21:5"> put up money big money about</subtitle>
 +
<subtitle id="0:21:8"> seven or eight hundred thousand dollars today</subtitle>
 +
<subtitle id="0:21:11"> for the first real man-powered flight</subtitle>
 +
<subtitle id="0:21:14"> they kept on crashing the planes</subtitle>
 +
<subtitle id="0:21:17"> and after some decades of this</subtitle>
 +
<subtitle id="0:21:20"> uh the guy who was the first world</subtitle>
 +
<subtitle id="0:21:23">champion and an aeronautical engineer</subtitle>
 +
<subtitle id="0:21:26">mccready was trying to figure out how</subtitle>
 +
<subtitle id="0:21:29"> to pay off a debt his brother-in-law</subtitle>
 +
<subtitle id="0:21:32">had incurred and that morning he had noticed that the exchange</subtitle>
 +
<subtitle id="0:21:35"> rate made the kramer prize for</subtitle>
 +
<subtitle id="0:21:38">flight exactly</subtitle>
 +
<subtitle id="0:21:41"> the debt his brother-in-law had incurred and started</subtitle>
 +
<subtitle id="0:21:44"> thinking about and his main thought was well</subtitle>
 +
<subtitle id="0:21:47"> the best people in the world</subtitle>
 +
<subtitle id="0:21:50">knew a lot of the people who were doing this best people in the world have</subtitle>
 +
<subtitle id="0:21:53">n't had anything close</subtitle>
 +
<subtitle id="0:21:56"> to his success what's what is the problem and he said</subtitle>
 +
<subtitle id="0:21:59">well the problem is we don't understand the problem</subtitle>
 +
<subtitle id="0:22:2"> so he abandoned thinking about human-powered</subtitle>
 +
<subtitle id="0:22:5"> flight and asked what is a better problem</subtitle>
 +
<subtitle id="0:22:8"> and he went back to his group</subtitle>
 +
<subtitle id="0:22:11"> in simi california</subtitle>
 +
<subtitle id="0:22:14">bout human-powered flight</subtitle>
 +
<subtitle id="0:22:17">something that</subtitle>
 +
<subtitle id="0:22:20"> can be repaired so quickly that we can handle 10 crashes</subtitle>
 +
<subtitle id="0:22:23"> a day something is just made</subtitle>
 +
<subtitle id="0:22:26"> out of really scotch tape and some mylar and</subtitle>
 +
<subtitle id="0:22:29"> some aluminum struts</subtitle>
 +
<subtitle id="0:22:32"> and six weeks later they had</subtitle>
 +
<subtitle id="0:22:35"> had more flights and more crashes than everybody</subtitle>
 +
<subtitle id="0:22:38"> else in history put together</subtitle>
 +
<subtitle id="0:22:41">and</subtitle>
 +
<subtitle id="0:22:44"> in six months</subtitle>
 +
<subtitle id="0:22:47">they won the kramer prize</subtitle>
 +
<subtitle id="0:22:50">and</subtitle>
 +
<subtitle id="0:22:53"> a few months later</subtitle>
 +
<subtitle id="0:22:56">they won the lot even larger kramer prize</subtitle>
 +
<subtitle id="0:22:59">nglish channel about 22</subtitle>
 +
<subtitle id="0:23:5">and the british</subtitle>
 +
<subtitle id="0:23:8"> press interviewed mccready and</subtitle>
 +
<subtitle id="0:23:11"> asked well how could you do this</subtitle>
 +
<subtitle id="0:23:14"> so easily when everybody else was struggling</subtitle>
 +
<subtitle id="0:23:17"> for decades and and he said well</subtitle>
 +
<subtitle id="0:23:20"> they were trying to build an airplane we were trying to do human-powered</subtitle>
 +
<subtitle id="0:23:23"> flight in other words having an airplane</subtitle>
 +
<subtitle id="0:23:26"> as a goal was actually counterproductive</subtitle>
 +
<subtitle id="0:23:29"> because</subtitle>
 +
<subtitle id="0:23:32"> these ultralight planes with these huge</subtitle>
 +
<subtitle id="0:23:35"> wings and huge difficulty in turning</subtitle>
 +
<subtitle id="0:23:38">weren't really enough like an airplane so that prior</subtitle>
 +
<subtitle id="0:23:41">instead some science</subtitle>
 +
<subtitle id="0:23:44"> had to be done probing what the real world</subtitle>
 +
<subtitle id="0:23:47"> was actually about in this place</subtitle>
 +
<subtitle id="0:23:50"> where airplanes didn't scale</subtitle>
 +
<subtitle id="0:23:53">so</subtitle>
 +
<subtitle id="0:23:56"> here's one way of thinking about this</subtitle>
 +
<subtitle id="0:23:59"> so we're taught to go</subtitle>
 +
<subtitle id="0:24:2"> from a to b in school</subtitle>
 +
<subtitle id="0:24:5"> that's problem solving</subtitle>
 +
<subtitle id="0:24:8">but in fact real problems have more dimensions</subtitle>
 +
<subtitle id="0:24:11"> so often there the things</subtitle>
 +
<subtitle id="0:24:14"> get really really difficult in various ways we're</subtitle>
 +
<subtitle id="0:24:17"> smart we'll abandon the what we're trying to do</subtitle>
 +
<subtitle id="0:24:20"> and explore that will sometimes allow</subtitle>
 +
<subtitle id="0:24:23">super highway that's much more</subtitle>
 +
<subtitle id="0:24:26"> efficient we could invent something to fly over the uh the</subtitle>
 +
<subtitle id="0:24:29"> obstacles basically we have to get out of</subtitle>
 +
<subtitle id="0:24:32"> this pink way of thinking and sometimes</subtitle>
 +
<subtitle id="0:24:35">when we do that we will find</subtitle>
 +
<subtitle id="0:24:38"> a sea that's a destination that we couldn't even imagine</subtitle>
 +
<subtitle id="0:24:41"> before and so</subtitle>
 +
<subtitle id="0:24:44"> that allows us to come back</subtitle>
 +
<subtitle id="0:24:47"> to the dream of icarus which is much</subtitle>
 +
<subtitle id="0:24:50"> more than uh getting across</subtitle>
 +
<subtitle id="0:24:53"> the channel in fact it's 72</subtitle>
 +
<subtitle id="0:24:56"> miles from crete to santorini</subtitle>
 +
<subtitle id="0:24:59"> that was the the flight of the fable</subtitle>
 +
<subtitle id="0:25:2"> well we got had the dream the tinkering</subtitle>
 +
<subtitle id="0:25:5"> was done the engineering</subtitle>
 +
<subtitle id="0:25:8"> was done really well to get across the channel</subtitle>
 +
<subtitle id="0:25:11">now we need to science the out of it as matt damon would</subtitle>
 +
<subtitle id="0:25:14"> say and uh mit</subtitle>
 +
<subtitle id="0:25:17"> and a number of nasa and a number</subtitle>
 +
<subtitle id="0:25:20"> of other big guns got interested in what mccready</subtitle>
 +
<subtitle id="0:25:23">had done and really went out</subtitle>
 +
<subtitle id="0:25:26"> after it so they could then engineer the out of</subtitle>
 +
<subtitle id="0:25:29"> it</subtitle>
 +
<subtitle id="0:25:32"> and not too many years ago this</subtitle>
 +
<subtitle id="0:25:35">flight likened</subtitle>
 +
<subtitle id="0:25:38"> to two marathons was made</subtitle>
 +
<subtitle id="0:25:41"> from crete to santorini</subtitle>
 +
<subtitle id="0:25:44"> following the route of daedalus</subtitle>
 +
<subtitle id="0:25:47"> so this is another one of those oh yeahs</subtitle>
 +
<subtitle id="0:25:50"> that if you don't love this</subtitle>
 +
<subtitle id="0:25:53"> you shouldn't be in engineering</subtitle>
 +
<subtitle id="0:25:56"> so we've talked about these five</subtitle>
 +
<subtitle id="0:25:59">of activities knowledge outlooks</subtitle>
 +
<subtitle id="0:26:2"> and these five different things attract</subtitle>
 +
<subtitle id="0:26:5"> different personalities</subtitle>
 +
<subtitle id="0:26:8">and but</subtitle>
 +
<subtitle id="0:26:11"> we can see that there could be uh an intersection</subtitle>
 +
<subtitle id="0:26:14"> where all five of these are actually</subtitle>
 +
<subtitle id="0:26:17"> more powerful now all of the great research</subtitle>
 +
<subtitle id="0:26:20"> groups that i've been in</subtitle>
 +
<subtitle id="0:26:23"> uh have people who</subtitle>
 +
<subtitle id="0:26:26"> are good at each one of these things who have learned all</subtitle>
 +
<subtitle id="0:26:32">and this is where the modern</subtitle>
 +
<subtitle id="0:26:35"> world comes into play it's just not enough</subtitle>
 +
<subtitle id="0:26:38"> to be a tinkerer or an engineer</subtitle>
 +
<subtitle id="0:26:41">when you're working on important problems</subtitle>
 +
<subtitle id="0:26:44">o a great group you</subtitle>
 +
<subtitle id="0:26:47"> can think of this like a basketball team this is a five</subtitle>
 +
<subtitle id="0:26:50">there are five kinds</subtitle>
 +
<subtitle id="0:26:53"> things here so outside shooting passing</subtitle>
 +
<subtitle id="0:26:56"> play making dunking</subtitle>
 +
<subtitle id="0:26:59">reat group is smarter than the smartest</subtitle>
 +
<subtitle id="0:27:2">member a great basketball team is</subtitle>
 +
<subtitle id="0:27:5"> a better basketball player than the best</subtitle>
 +
<subtitle id="0:27:8"> person on the team bad group is stupider</subtitle>
 +
<subtitle id="0:27:11">than the stupidest member a bad basketball team is worse</subtitle>
 +
<subtitle id="0:27:14"> than the worst member so a</subtitle>
 +
<subtitle id="0:27:17"> whole deal here and this is</subtitle>
 +
<subtitle id="0:27:20"> 110 of the problem</subtitle>
 +
<subtitle id="0:27:23">real things according to the best</subtitle>
 +
<subtitle id="0:27:26">i know is getting the</subtitle>
 +
<subtitle id="0:27:29"> right people robert hyland had a good</subtitle>
 +
<subtitle id="0:27:32">the only form of life with 10 bellies</subtitle>
 +
<subtitle id="0:27:35"> and no brain so you don't want that</subtitle>
 +
<subtitle id="0:27:38">now when i look out</subtitle>
 +
<subtitle id="0:27:41"> at the world software still seems</subtitle>
 +
<subtitle id="0:27:44">like a fair amount of tinkering a little bit of engineering</subtitle>
 +
<subtitle id="0:27:47"> people like their tinkering too much</subtitle>
 +
<subtitle id="0:27:50"> well we've seen that there can be</subtitle>
 +
<subtitle id="0:27:53"> a real engineering of software</subtitle>
 +
<subtitle id="0:27:56"> it happens rarely but it has happened</subtitle>
 +
<subtitle id="0:27:59"> something that can stand up to</subtitle>
 +
<subtitle id="0:28:2">sense of the term engineering</subtitle>
 +
<subtitle id="0:28:5"> what margaret and hal did for the moonshot</subtitle>
 +
<subtitle id="0:28:8"> the work on the internet and so forth but</subtitle>
 +
<subtitle id="0:28:11"> what about science of computing what if we took the word science</subtitle>
 +
<subtitle id="0:28:14"> not as a metaphor</subtitle>
 +
<subtitle id="0:28:17"> but what if we took it seriously for what science is actually all</subtitle>
 +
<subtitle id="0:28:23">well science looks at phenomena so we</subtitle>
 +
<subtitle id="0:28:26">get phenomena from artifacts and we don't want to look at the artifacts</subtitle>
 +
<subtitle id="0:28:29"> directly we want to see the fireflies</subtitle>
 +
<subtitle id="0:28:32">cientists try and find the fireflies it's you don't want</subtitle>
 +
<subtitle id="0:28:35"> to get distracted by what seems to be there it's</subtitle>
 +
<subtitle id="0:28:38"> what underlies it and john mccarthy</subtitle>
 +
<subtitle id="0:28:41">in 1958 came up with a hell of a t-shirt</subtitle>
 +
<subtitle id="0:28:44"> to uh characterize</subtitle>
 +
<subtitle id="0:28:47"> what he thought computing was about</subtitle>
 +
<subtitle id="0:28:53">and it's kind of like maxwell's equations for</subtitle>
 +
<subtitle id="0:28:56"> software but uh</subtitle>
 +
<subtitle id="0:28:59"> on a on a t-shirt like maxwell's equations</subtitle>
 +
<subtitle id="0:29:2"> are and he wrote a great paper</subtitle>
 +
<subtitle id="0:29:5">of newton-esque one of the things he</subtitle>
 +
<subtitle id="0:29:8"> pointed out in 1958 he said look</subtitle>
 +
<subtitle id="0:29:11"> programs are going to</subtitle>
 +
<subtitle id="0:29:14">participate in their programs</subtitle>
 +
<subtitle id="0:29:17"> in order to do that</subtitle>
 +
<subtitle id="0:29:20"> the representations that they deal with have to</subtitle>
 +
<subtitle id="0:29:23"> represent meaning in ways that are not</subtitle>
 +
<subtitle id="0:29:26"> just outside the programs the way most programs are</subtitle>
 +
<subtitle id="0:29:29"> but where the meanings are actually</subtitle>
 +
<subtitle id="0:29:32">encoded as relationships that</subtitle>
 +
<subtitle id="0:29:35"> other programs can understand so this is part about</subtitle>
 +
<subtitle id="0:29:38"> what he was about which was not just doing a</subtitle>
 +
<subtitle id="0:29:41"> programming language that was very high</subtitle>
 +
<subtitle id="0:29:44"> level but doing a programming language that was also meta</subtitle>
 +
<subtitle id="0:29:47"> eye level and could look at itself what we call</subtitle>
 +
<subtitle id="0:29:50"> reflection today</subtitle>
 +
<subtitle id="0:29:53">okay</subtitle>
 +
<subtitle id="0:29:56"> well math</subtitle>
 +
<subtitle id="0:29:59"> doesn't have to be real but</subtitle>
 +
<subtitle id="0:30:2">in computing we have to implement stuff to</subtitle>
 +
<subtitle id="0:30:5"> vet it and steve russell</subtitle>
 +
<subtitle id="0:30:8"> said well looking at mccarthy's t-shirt</subtitle>
 +
<subtitle id="0:30:11">if i implement it we'll have a running system and as john</subtitle>
 +
<subtitle id="0:30:14"> said he did and we did</subtitle>
 +
<subtitle id="0:30:17">so you get all of these things in computing if you do</subtitle>
 +
<subtitle id="0:30:20"> the design really well</subtitle>
 +
<subtitle id="0:30:23"> and it doesn't have to be slow</subtitle>
 +
<subtitle id="0:30:26"> because you can make a machine that will run it fast this is like</subtitle>
 +
<subtitle id="0:30:29"> people have finally gotten around to the idea</subtitle>
 +
<subtitle id="0:30:32"> of gpus uh 40</subtitle>
 +
<subtitle id="0:30:35"> years ago they are derided wait for moore's law</subtitle>
 +
<subtitle id="0:30:38"> and but in fact before that</subtitle>
 +
<subtitle id="0:30:41"> uh people who are really serious about high-level</subtitle>
 +
<subtitle id="0:30:44">were building special machines that would run them very</subtitle>
 +
<subtitle id="0:30:47"> efficiently and this is a list machine</subtitle>
 +
<subtitle id="0:30:50"> and the idea is a</subtitle>
 +
<subtitle id="0:30:53"> great idea that slow can often be optimized and retain</subtitle>
 +
<subtitle id="0:30:56"> goodness</subtitle>
 +
<subtitle id="0:30:59"> remember computers are only there to run programs</subtitle>
 +
<subtitle id="0:31:2"> and the job of programmers is not to make intel look</subtitle>
 +
<subtitle id="0:31:5">good intel has got it backwards</subtitle>
 +
<subtitle id="0:31:8">hould be doing is learning</subtitle>
 +
<subtitle id="0:31:11"> about software which it doesn't</subtitle>
 +
<subtitle id="0:31:14"> and making processors</subtitle>
 +
<subtitle id="0:31:17"> that will run the highest level languages</subtitle>
 +
<subtitle id="0:31:20"> most efficiently and they don't</subtitle>
 +
<subtitle id="0:31:23"> and the problem is trying to optimize</subtitle>
 +
<subtitle id="0:31:26"> early makes it very very difficult for most people</subtitle>
 +
<subtitle id="0:31:29"> to even have a good idea</subtitle>
 +
<subtitle id="0:31:32"> so this is where you have study this is</subtitle>
 +
<subtitle id="0:31:35">from more than 60 years ago and again</subtitle>
 +
<subtitle id="0:31:38"> you can learn a lot from just learning lisp</subtitle>
 +
<subtitle id="0:31:41"> and how mccarthy went about it but</subtitle>
 +
<subtitle id="0:31:44">really the main point is what are the fireflies</subtitle>
 +
<subtitle id="0:31:47"> from this landmark piece of work</subtitle>
 +
<subtitle id="0:31:50"> well here's my</subtitle>
 +
<subtitle id="0:31:53"> research community and some</subtitle>
 +
<subtitle id="0:31:56"> of the oyas that it did in the 60s</subtitle>
 +
<subtitle id="0:32:2">just point out here's hal lanning again he did</subtitle>
 +
<subtitle id="0:32:5"> the first interactive higher level language</subtitle>
 +
<subtitle id="0:32:8"> it actually started working</subtitle>
 +
<subtitle id="0:32:11"> before fortran and fortran was not interactive</subtitle>
 +
<subtitle id="0:32:14"> the bottom row was done by xerox</subtitle>
 +
<subtitle id="0:32:17">about five years by a</subtitle>
 +
<subtitle id="0:32:20"> grand total of 25 researchers so</subtitle>
 +
<subtitle id="0:32:23"> this is not all the technology we use today but a lot</subtitle>
 +
<subtitle id="0:32:26"> of it was done by this one community</subtitle>
 +
<subtitle id="0:32:29"> and outside the community there's a lot</subtitle>
 +
<subtitle id="0:32:32">of pushback you know why would you want</subtitle>
 +
<subtitle id="0:32:35">would say well why we'll make a qualitative difference</subtitle>
 +
<subtitle id="0:32:38">doing no you really aren't why is too slow</subtitle>
 +
<subtitle id="0:32:41"> well we know how to speed it up why it takes too long to make well</subtitle>
 +
<subtitle id="0:32:44">quickly well y is for sissies</subtitle>
 +
<subtitle id="0:32:47"> so this has happened in waves</subtitle>
 +
<subtitle id="0:32:50"> over a very long time</subtitle>
 +
<subtitle id="0:32:53">our funders</subtitle>
 +
<subtitle id="0:32:56"> didn't worry about what the outside world</subtitle>
 +
<subtitle id="0:32:59">was thinking and let</subtitle>
 +
<subtitle id="0:33:2">stuff and</subtitle>
 +
<subtitle id="0:33:5"> here is the uptake on some of these ideas</subtitle>
 +
<subtitle id="0:33:8"> only about 30 percent on engelbart there over on</subtitle>
 +
<subtitle id="0:33:11"> the uh the middle right</subtitle>
 +
<subtitle id="0:33:14">100 on the internet nobody</subtitle>
 +
<subtitle id="0:33:17">to do one 100 on the ethernet</subtitle>
 +
<subtitle id="0:33:20"> nobody knew how to do one similarly the laser printer</subtitle>
 +
<subtitle id="0:33:23">only 50</subtitle>
 +
<subtitle id="0:33:26"> on uh the alto personal</subtitle>
 +
<subtitle id="0:33:29"> computer because people thought they knew</subtitle>
 +
<subtitle id="0:33:32">computers especially intel</subtitle>
 +
<subtitle id="0:33:35"> and so what you've got is something that looked kind of like</subtitle>
 +
<subtitle id="0:33:38">but couldn't do what it could do and</subtitle>
 +
<subtitle id="0:33:41"> the best software we did i estimate there</subtitle>
 +
<subtitle id="0:33:44"> was only about 10 percent take up everybody thought</subtitle>
 +
<subtitle id="0:33:47">program and in fact everybody</subtitle>
 +
<subtitle id="0:33:50"> does that's not the</subtitle>
 +
<subtitle id="0:33:53"> point okay so but here we</subtitle>
 +
<subtitle id="0:33:56"> go back to where we were talking if remember we</subtitle>
 +
<subtitle id="0:33:59"> decided i decided that</subtitle>
 +
<subtitle id="0:34:2">most uh computer</subtitle>
 +
<subtitle id="0:34:5"> people is actually hurting</subtitle>
 +
<subtitle id="0:34:8"> and another way of looking at this</subtitle>
 +
<subtitle id="0:34:11"> is to</subtitle>
 +
<subtitle id="0:34:14"> think about and this is in my</subtitle>
 +
<subtitle id="0:34:17">that too much of software</subtitle>
 +
<subtitle id="0:34:20"> is still like tinkering</subtitle>
 +
<subtitle id="0:34:23">the aesthetics are actually people loving their</subtitle>
 +
<subtitle id="0:34:26"> tinkering too much and there's a little bit of engineering</subtitle>
 +
<subtitle id="0:34:29">here and there and occasionally a whole big thing of</subtitle>
 +
<subtitle id="0:34:32"> engineering it's not that everything is bad</subtitle>
 +
<subtitle id="0:34:35"> it's that too much of it is</subtitle>
 +
<subtitle id="0:34:41">and so we really need after 40</subtitle>
 +
<subtitle id="0:34:44"> years of this we've got</subtitle>
 +
<subtitle id="0:34:47"> something like all of the plastic junk in the pacific</subtitle>
 +
<subtitle id="0:34:50"> going we actually need something that</subtitle>
 +
<subtitle id="0:34:53">gets beyond uh the best stuff</subtitle>
 +
<subtitle id="0:34:56"> that is known now we</subtitle>
 +
<subtitle id="0:34:59"> need more research and the good old funders they aren't around</subtitle>
 +
<subtitle id="0:35:2"> anymore but i think for practical</subtitle>
 +
<subtitle id="0:35:5">are working for companies who are</subtitle>
 +
<subtitle id="0:35:8"> trying to make progress at a more local</subtitle>
 +
<subtitle id="0:35:11"> level the question really is is</subtitle>
 +
<subtitle id="0:35:14"> what is the thing that</subtitle>
 +
<subtitle id="0:35:17"> can be done that uses some</subtitle>
 +
<subtitle id="0:35:20"> of what you do know and</subtitle>
 +
<subtitle id="0:35:23"> requires a little bit of learning of stuff that is already</subtitle>
 +
<subtitle id="0:35:26"> known that could make a huge impact</subtitle>
 +
<subtitle id="0:35:29"> the thing i picked for this talk</subtitle>
 +
<subtitle id="0:35:32"> was scaling</subtitle>
 +
<subtitle id="0:35:35"> because scaling was forced on computing by</subtitle>
 +
<subtitle id="0:35:38"> moore's law and except</subtitle>
 +
<subtitle id="0:35:41"> for a few uh special cases</subtitle>
 +
<subtitle id="0:35:44"> the industry has done extremely</subtitle>
 +
<subtitle id="0:35:47"> badly at dealing with scaling</subtitle>
 +
<subtitle id="0:35:50">so i use this font</subtitle>
 +
<subtitle id="0:35:53">heuristic here says if</subtitle>
 +
<subtitle id="0:35:56">big needs try to do a</subtitle>
 +
<subtitle id="0:35:59"> margaret margaret had limited resources she</subtitle>
 +
<subtitle id="0:36:2"> had big needs and what she thought</subtitle>
 +
<subtitle id="0:36:5"> through is what is what do you absolutely have</subtitle>
 +
<subtitle id="0:36:8"> to do in order to make some</subtitle>
 +
<subtitle id="0:36:11"> progress and especially to do</subtitle>
 +
<subtitle id="0:36:14">build the rest of the stuff that's needed on</subtitle>
 +
<subtitle id="0:36:17"> okay this is a real picture</subtitle>
 +
<subtitle id="0:36:20"> i like it because it reminds me of a lot of things</subtitle>
 +
<subtitle id="0:36:26">ign do not touch any of these wires</subtitle>
 +
<subtitle id="0:36:29">this wire over here was</subtitle>
 +
<subtitle id="0:36:32"> once a good idea and so</subtitle>
 +
<subtitle id="0:36:35"> somebody added another wire and added</subtitle>
 +
<subtitle id="0:36:38"> another wire and pretty soon you got this</subtitle>
 +
<subtitle id="0:36:41"> so the two biggest problems here are</subtitle>
 +
<subtitle id="0:36:44"> lack of systems thinking because most</subtitle>
 +
<subtitle id="0:36:47"> people are taught programming as algorithms and data structures</subtitle>
 +
<subtitle id="0:36:50"> not as systems thinking</subtitle>
 +
<subtitle id="0:36:56">and the other is this idea of premature</subtitle>
 +
<subtitle id="0:36:59"> optimization of intertwining the</subtitle>
 +
<subtitle id="0:37:2">optimizations in the code rather than</subtitle>
 +
<subtitle id="0:37:5">meaning out from the</subtitle>
 +
<subtitle id="0:37:8"> optimizations</subtitle>
 +
<subtitle id="0:37:11"> okay so this tangle of wires</subtitle>
 +
<subtitle id="0:37:14">is</subtitle>
 +
<subtitle id="0:37:17"> involving everything together but you</subtitle>
 +
<subtitle id="0:37:20"> can replace everything in this room with just a simple</subtitle>
 +
<subtitle id="0:37:23"> ethernet it's just a simple thing in fact</subtitle>
 +
<subtitle id="0:37:26"> cars are starting to do this now after 40</subtitle>
 +
<subtitle id="0:37:29"> years and we spent a long time</subtitle>
 +
<subtitle id="0:37:32"> trying to get xerox to replace the wiring harness</subtitle>
 +
<subtitle id="0:37:35"> in xerox machines with something like a simple ethernet</subtitle>
 +
<subtitle id="0:37:38"> so if we look at networking</subtitle>
 +
<subtitle id="0:37:41"> at in this arpa park</subtitle>
 +
<subtitle id="0:37:44"> research community</subtitle>
 +
<subtitle id="0:37:47">look lighter called for an intergalactic computer</subtitle>
 +
<subtitle id="0:37:50"> network in 1963</subtitle>
 +
<subtitle id="0:37:53"> he was asked why and he said well</subtitle>
 +
<subtitle id="0:37:56"> engineers always give you the minimum i wanted to cover the earth</subtitle>
 +
<subtitle id="0:37:59"> so i've asked for intergalactic i need to force</subtitle>
 +
<subtitle id="0:38:2"> them out away from trying to</subtitle>
 +
<subtitle id="0:38:5"> use things that don't scale like the way the telephone system</subtitle>
 +
<subtitle id="0:38:8"> is done and he was a psychologist but he</subtitle>
 +
<subtitle id="0:38:11"> had a very good sense of systems</subtitle>
 +
<subtitle id="0:38:14">and he said if we succeed in making the intergalactic</subtitle>
 +
<subtitle id="0:38:17">then our main problem will be learning to communicate</subtitle>
 +
<subtitle id="0:38:20"> with aliens we'll see what that means</subtitle>
 +
<subtitle id="0:38:23">a bit and so</subtitle>
 +
<subtitle id="0:38:26">thinking about networking</subtitle>
 +
<subtitle id="0:38:29"> in this community the idea was what can we</subtitle>
 +
<subtitle id="0:38:32"> scale can we scale communication by</subtitle>
 +
<subtitle id="0:38:35">uh let's say 10 or 11 orders of magnitude</subtitle>
 +
<subtitle id="0:38:38"> without the thing breaking</subtitle>
 +
<subtitle id="0:38:41">and of course if we scale it like that we can't afford to</subtitle>
 +
<subtitle id="0:38:44"> take it down so it has to run continuously</subtitle>
 +
<subtitle id="0:38:47"> no matter what goes wrong with it</subtitle>
 +
<subtitle id="0:38:50"> and many of you will be familiar</subtitle>
 +
<subtitle id="0:38:53"> well although many i've found to many computer</subtitle>
 +
<subtitle id="0:38:56"> people don't really understand why the internet</subtitle>
 +
<subtitle id="0:38:59"> works it works so well it doesn't seem to be a</subtitle>
 +
<subtitle id="0:39:2">rtifact like it never crashes</subtitle>
 +
<subtitle id="0:39:5"> you cannot crash the internet</subtitle>
 +
<subtitle id="0:39:8"> because messages cannot be commands</subtitle>
 +
<subtitle id="0:39:11"> any crashes that happen</subtitle>
 +
<subtitle id="0:39:14"> happen inside individual computers because of bad</subtitle>
 +
<subtitle id="0:39:17"> software somebody put there</subtitle>
 +
<subtitle id="0:39:20">ach computer on the</subtitle>
 +
<subtitle id="0:39:23">alien as is the</subtitle>
 +
<subtitle id="0:39:26"> software inside of it so you have to think about what</subtitle>
 +
<subtitle id="0:39:29">communicate with aliens even just to send</subtitle>
 +
<subtitle id="0:39:35">it's too big to control from a center</subtitle>
 +
<subtitle id="0:39:38">you can't have a hierarchical control system</subtitle>
 +
<subtitle id="0:39:41">you have to have something that's more like biology where there's</subtitle>
 +
<subtitle id="0:39:44"> no center the system itself</subtitle>
 +
<subtitle id="0:39:47"> has to take care of keeping itself stable</subtitle>
 +
<subtitle id="0:39:50"> that was one of the most fun problems to work on</subtitle>
 +
<subtitle id="0:39:53">and under</subtitle>
 +
<subtitle id="0:39:56"> this scheme and a few other things i'm not mentioning here</subtitle>
 +
<subtitle id="0:39:59">the computers can't be other than servers</subtitle>
 +
<subtitle id="0:40:2"> you can't command them</subtitle>
 +
<subtitle id="0:40:5"> you can only ask</subtitle>
 +
<subtitle id="0:40:8">would you do this for me please they can say</subtitle>
 +
<subtitle id="0:40:11"> no you separate</subtitle>
 +
<subtitle id="0:40:14"> everything you can separate the transport</subtitle>
 +
<subtitle id="0:40:17"> from the assembly and error correction</subtitle>
 +
<subtitle id="0:40:20"> that's what the slash means there</subtitle>
 +
<subtitle id="0:40:23">the reason it was done is when they were working on tcp</subtitle>
 +
<subtitle id="0:40:26"> they're already thinking of things like udp</subtitle>
 +
<subtitle id="0:40:29"> you need to have various ways of</subtitle>
 +
<subtitle id="0:40:32">with uh this very complicated</subtitle>
 +
<subtitle id="0:40:35">being made so here are</subtitle>
 +
<subtitle id="0:40:38"> some of the many heroes for</subtitle>
 +
<subtitle id="0:40:41"> both the internet and the uh</subtitle>
 +
<subtitle id="0:40:44">ethernet</subtitle>
 +
<subtitle id="0:40:50">okay so while this was going on a bunch of us</subtitle>
 +
<subtitle id="0:40:53"> were also working on the idea of</subtitle>
 +
<subtitle id="0:40:56"> a software internet where you have virtual</subtitle>
 +
<subtitle id="0:40:59">computers computer uh connect with a software bus here</subtitle>
 +
<subtitle id="0:41:2">some of the heroes there i single</subtitle>
 +
<subtitle id="0:41:5"> out dan angles because he was the first one to make</subtitle>
 +
<subtitle id="0:41:8"> an artifact that you could</subtitle>
 +
<subtitle id="0:41:11"> do large systems completely</subtitle>
 +
<subtitle id="0:41:14"> successfully in</subtitle>
 +
<subtitle id="0:41:17">same basic idea you</subtitle>
 +
<subtitle id="0:41:20"> have to have 100 percent encapsulation</subtitle>
 +
<subtitle id="0:41:23"> messages can't be commands you have to</subtitle>
 +
<subtitle id="0:41:26"> deal with aliens and</subtitle>
 +
<subtitle id="0:41:29"> these virtual computers can't be other than servers</subtitle>
 +
<subtitle id="0:41:32"> well</subtitle>
 +
<subtitle id="0:41:35"> this is a problem because</subtitle>
 +
<subtitle id="0:41:38"> now that we've got this software net</subtitle>
 +
<subtitle id="0:41:41">still doesn't tell us how to organize our computations</subtitle>
 +
<subtitle id="0:41:44">o first let's analyze some of the mess that we've made</subtitle>
 +
<subtitle id="0:41:47"> and a good book to read about this is alexander's</subtitle>
 +
<subtitle id="0:41:50"> first book which is a better</subtitle>
 +
<subtitle id="0:41:53"> book i think about design</subtitle>
 +
<subtitle id="0:41:56"> than his pattern language books</subtitle>
 +
<subtitle id="0:41:59"> so</subtitle>
 +
<subtitle id="0:42:2"> you've got a bunch of things that you have to deal with let's</subtitle>
 +
<subtitle id="0:42:5">them processes but if we look closely we</subtitle>
 +
<subtitle id="0:42:8">really complex about them are the relationships</subtitle>
 +
<subtitle id="0:42:11"> between them</subtitle>
 +
<subtitle id="0:42:14">and what you want to do is find</subtitle>
 +
<subtitle id="0:42:17"> the least connectivity</subtitle>
 +
<subtitle id="0:42:20"> to make modules</subtitle>
 +
<subtitle id="0:42:23">figure those to be</subtitle>
 +
<subtitle id="0:42:26"> the communications paths and then encapsulate everything</subtitle>
 +
<subtitle id="0:42:29">now you've</subtitle>
 +
<subtitle id="0:42:32"> simplified that one part of</subtitle>
 +
<subtitle id="0:42:35">it but it's not that simple because</subtitle>
 +
<subtitle id="0:42:38">what if you want to reformulate things</subtitle>
 +
<subtitle id="0:42:41"> that might not be the best decomposition there's</subtitle>
 +
<subtitle id="0:42:44"> a lot more things to think about and going in the opposite</subtitle>
 +
<subtitle id="0:42:47"> direction designing a system is more difficult</subtitle>
 +
<subtitle id="0:42:50">because you have to supply the information</subtitle>
 +
<subtitle id="0:42:53"> that extra information to come up with relationships</subtitle>
 +
<subtitle id="0:42:56"> so here are some of the heroes</subtitle>
 +
<subtitle id="0:42:59">thought about this especially</subtitle>
 +
<subtitle id="0:43:2"> how you do the intercommunication</subtitle>
 +
<subtitle id="0:43:5"> note that some of the things that</subtitle>
 +
<subtitle id="0:43:8">favorites today like type schemes and naming</subtitle>
 +
<subtitle id="0:43:11"> of things don't scale at all well</subtitle>
 +
<subtitle id="0:43:14"> send to something that's across a billion node</subtitle>
 +
<subtitle id="0:43:17"> network the chances you're going to get type</subtitle>
 +
<subtitle id="0:43:20"> matching is zero</subtitle>
 +
<subtitle id="0:43:23"> and that you'll know the names of all the things you need to</subtitle>
 +
<subtitle id="0:43:26">know are close to zero also</subtitle>
 +
<subtitle id="0:43:29">you have to go from types</subtitle>
 +
<subtitle id="0:43:32"> of things to descriptions and behaviors</subtitle>
 +
<subtitle id="0:43:35"> the descriptions and behaviors can</subtitle>
 +
<subtitle id="0:43:38">bit like types but they're of a larger</subtitle>
 +
<subtitle id="0:43:41"> scope you're</subtitle>
 +
<subtitle id="0:43:44"> two of the most interesting thinkers about this</subtitle>
 +
<subtitle id="0:43:47"> doug lennon for meanings of things and glerder</subtitle>
 +
<subtitle id="0:43:50"> thought</subtitle>
 +
<subtitle id="0:43:53"> about how you coordinate all of these things over arbitrary</subtitle>
 +
<subtitle id="0:43:56"> scales did a system in the 80s called linda</subtitle>
 +
<subtitle id="0:43:59"> it has a really nice t-shirt you</subtitle>
 +
<subtitle id="0:44:2">should look at it and see</subtitle>
 +
<subtitle id="0:44:5"> what you think about it okay</subtitle>
 +
<subtitle id="0:44:8"> so</subtitle>
 +
<subtitle id="0:44:11"> now that we've virtualized everything</subtitle>
 +
<subtitle id="0:44:14">can put our software internets on</subtitle>
 +
<subtitle id="0:44:17"> all the hardware</subtitle>
 +
<subtitle id="0:44:20"> and we can connect those</subtitle>
 +
<subtitle id="0:44:23"> up by messaging and what this</subtitle>
 +
<subtitle id="0:44:26"> allows us to do is to completely disappear all of</subtitle>
 +
<subtitle id="0:44:29"> the hardware of the internet</subtitle>
 +
<subtitle id="0:44:32"> and do all of our software using virtual processes</subtitle>
 +
<subtitle id="0:44:35"> this allows us to</subtitle>
 +
<subtitle id="0:44:38"> send a virtual process somewhere else if it needs</subtitle>
 +
<subtitle id="0:44:41"> to run faster there or can do a better job</subtitle>
 +
<subtitle id="0:44:44"> one of the first times this was done in a</subtitle>
 +
<subtitle id="0:44:47"> way that was really important was in postscript</subtitle>
 +
<subtitle id="0:44:50"> done by john warnock and chuck</subtitle>
 +
<subtitle id="0:44:53"> geschke who later went on to found</subtitle>
 +
<subtitle id="0:44:56"> a little company called adobe if you</subtitle>
 +
<subtitle id="0:44:59"> think about it the an</subtitle>
 +
<subtitle id="0:45:2"> interpreter is smaller than all</subtitle>
 +
<subtitle id="0:45:5"> of the knowledge you have to know to parse all of the</subtitle>
 +
<subtitle id="0:45:8">might have to parse to deal with all</subtitle>
 +
<subtitle id="0:45:11"> of the possible printers printing of pages</subtitle>
 +
<subtitle id="0:45:14"> you need to have so you're much better off</subtitle>
 +
<subtitle id="0:45:17"> sending the program that</subtitle>
 +
<subtitle id="0:45:20"> is what we used to call</subtitle>
 +
<subtitle id="0:45:23"> objects just send a process to</subtitle>
 +
<subtitle id="0:45:26"> the printer the printer can execute it blindly and</subtitle>
 +
<subtitle id="0:45:29">safely and you print out what's left and</subtitle>
 +
<subtitle id="0:45:32"> that is why adobe is the company that it is</subtitle>
 +
<subtitle id="0:45:35"> this was done in a general way</subtitle>
 +
<subtitle id="0:45:38"> by jerry popek for unix</subtitle>
 +
<subtitle id="0:45:41"> system called locus wrote a</subtitle>
 +
<subtitle id="0:45:44"> book take a look at it so here's</subtitle>
 +
<subtitle id="0:45:47"> a big idea that's hard for people to get</subtitle>
 +
<subtitle id="0:45:50"> to a computer is universal</subtitle>
 +
<subtitle id="0:45:53"> so every kind of thing at every scale</subtitle>
 +
<subtitle id="0:45:56">can be represented and made from a software computer</subtitle>
 +
<subtitle id="0:45:59"> you only need one kind of abstraction</subtitle>
 +
<subtitle id="0:46:2">wrap everything in and</subtitle>
 +
<subtitle id="0:46:5"> if you do that it will allow you</subtitle>
 +
<subtitle id="0:46:8"> to unsnarl all the problems of meaning</subtitle>
 +
<subtitle id="0:46:11"> from the many separate problems of</subtitle>
 +
<subtitle id="0:46:14"> optimization</subtitle>
 +
<subtitle id="0:46:17"> today there are many different kinds</subtitle>
 +
<subtitle id="0:46:20"> of manifestations of this thing but</subtitle>
 +
<subtitle id="0:46:23">virtually none of them are complete enough to actually</subtitle>
 +
<subtitle id="0:46:26"> scale</subtitle>
 +
<subtitle id="0:46:29"> well</subtitle>
 +
<subtitle id="0:46:35">complete encapsulation i'm</subtitle>
 +
<subtitle id="0:46:38"> now saying publish and subscribe because it's</subtitle>
 +
<subtitle id="0:46:41"> usually done really badly so i'm</subtitle>
 +
<subtitle id="0:46:44"> saying publish and subscribe done really well</subtitle>
 +
<subtitle id="0:46:47">you need to understand</subtitle>
 +
<subtitle id="0:46:50"> what both leonard and galender</subtitle>
 +
<subtitle id="0:46:53"> are getting to you have to wrap everything</subtitle>
 +
<subtitle id="0:46:56"> you've got controls</subtitle>
 +
<subtitle id="0:46:59"> the mess in the pacific make every new</subtitle>
 +
<subtitle id="0:47:2"> stuff in the new thing and then there's a whole bunch</subtitle>
 +
<subtitle id="0:47:5">that actually has to be learned</subtitle>
 +
<subtitle id="0:47:8"> beyond this but the nice thing about it</subtitle>
 +
<subtitle id="0:47:11"> is that this stuff that has to be learned beyond</subtitle>
 +
<subtitle id="0:47:14"> this and the research that has to be done is something</subtitle>
 +
<subtitle id="0:47:17"> that actually can build on</subtitle>
 +
<subtitle id="0:47:20"> on what i'm talking about here</subtitle>
 +
<subtitle id="0:47:23">okay i'm gonna</subtitle>
 +
<subtitle id="0:47:26"> wind up here with how not to make progress</subtitle>
 +
<subtitle id="0:47:32">it's hard not to love this guy</subtitle>
 +
<subtitle id="0:47:35"> here's macarthur wheeler robbing a bank</subtitle>
 +
<subtitle id="0:47:38"> and being caught by the camera</subtitle>
 +
<subtitle id="0:47:41"> here he is handcuffed in</subtitle>
 +
<subtitle id="0:47:44"> jail it was very easy to run him down and</subtitle>
 +
<subtitle id="0:47:47"> he was incredulous he said but i wore the juice i wore the juice</subtitle>
 +
<subtitle id="0:47:50"> what juice well he smeared his face with</subtitle>
 +
<subtitle id="0:47:53">lemon juice because somebody had shown</subtitle>
 +
<subtitle id="0:47:56">can make invisible link with lemon juice and he figured</subtitle>
 +
<subtitle id="0:47:59">smearing his face with lemon juice would make it impossible</subtitle>
 +
<subtitle id="0:48:2">pick him up yep</subtitle>
 +
<subtitle id="0:48:5"> true story and he's not the only one</subtitle>
 +
<subtitle id="0:48:8">this is sometimes called the dunning-kruger</subtitle>
 +
<subtitle id="0:48:11"> those are the two psychologists who studied wheeler</subtitle>
 +
<subtitle id="0:48:14">it's now a syndrome and of course all humans</subtitle>
 +
<subtitle id="0:48:17"> have it we are always</subtitle>
 +
<subtitle id="0:48:20"> almost always overconfident but</subtitle>
 +
<subtitle id="0:48:23"> some people have it to a ridiculous extent</subtitle>
 +
<subtitle id="0:48:26"> these smug pilots have lost touch with regular</subtitle>
 +
<subtitle id="0:48:29"> passengers like us who thinks i should fly the plane well</subtitle>
 +
<subtitle id="0:48:32"> crazily peop some people do</subtitle>
 +
<subtitle id="0:48:35"> we just had a president who</subtitle>
 +
<subtitle id="0:48:38">could run the comp country without any basis</subtitle>
 +
<subtitle id="0:48:41"> whatsoever and people agreed with them</subtitle>
 +
<subtitle id="0:48:44">on the other hand if you really want dunning-kruger</subtitle>
 +
<subtitle id="0:48:47"> take a look at most software if you want something that is more</subtitle>
 +
<subtitle id="0:48:50"> confident than its actual abilities take</subtitle>
 +
<subtitle id="0:48:53">software of all kinds</subtitle>
 +
<subtitle id="0:48:56">the difference that</subtitle>
 +
<subtitle id="0:48:59"> software needs is rarely built in by programmers</subtitle>
 +
<subtitle id="0:49:2"> this one is particularly dangerous</subtitle>
 +
<subtitle id="0:49:5"> the boeing 737 max</subtitle>
 +
<subtitle id="0:49:8"> autopilot and now</subtitle>
 +
<subtitle id="0:49:11"> we are not funny anymore because everybody here</subtitle>
 +
<subtitle id="0:49:14"> is literally going to die and they</subtitle>
 +
<subtitle id="0:49:17">two plane loads died because</subtitle>
 +
<subtitle id="0:49:20"> of boeing management</subtitle>
 +
<subtitle id="0:49:23"> so a combination of doing a really bad job</subtitle>
 +
<subtitle id="0:49:26"> of every phase of engineering here</subtitle>
 +
<subtitle id="0:49:29">the management killed a bunch</subtitle>
 +
<subtitle id="0:49:32"> of people and i found this</subtitle>
 +
<subtitle id="0:49:35"> picture uh some months ago</subtitle>
 +
<subtitle id="0:49:38"> about the that showed the electronics</subtitle>
 +
<subtitle id="0:49:41">bay in the 737 and</subtitle>
 +
<subtitle id="0:49:44"> my reaction was whiskey tango</subtitle>
 +
<subtitle id="0:49:47"> foxtrot as we used to say in the air force it's like what</subtitle>
 +
<subtitle id="0:49:50"> the this this is what this</subtitle>
 +
<subtitle id="0:49:53"> aircraft and then about three</subtitle>
 +
<subtitle id="0:49:56"> weeks ago i found this in the new york times</subtitle>
 +
<subtitle id="0:49:59">potential electrical problem with the max</subtitle>
 +
<subtitle id="0:50:2"> component of the electrical power system</subtitle>
 +
<subtitle id="0:50:5"> on max planes was sufficiently fastened or</subtitle>
 +
<subtitle id="0:50:11">so this is what we</subtitle>
 +
<subtitle id="0:50:14"> really have to deal with here this is what real engineering</subtitle>
 +
<subtitle id="0:50:17">is about is dealing with the whole system</subtitle>
 +
<subtitle id="0:50:20">and</subtitle>
 +
<subtitle id="0:50:23"> we end with this tranquil scene here's a bridge</subtitle>
 +
<subtitle id="0:50:26"> that's just about 2 000 years ago uh</subtitle>
 +
<subtitle id="0:50:29"> old and it looks many parts of it look like</subtitle>
 +
<subtitle id="0:50:32">it was built yesterday here's a plane that's about 10 years</subtitle>
 +
<subtitle id="0:50:35">the pledge</subtitle>
 +
<subtitle id="0:50:38"> of a real engineer is the bridge must not collapse</subtitle>
 +
<subtitle id="0:50:41"> the plane must not crash</subtitle>
 +
<subtitle id="0:50:44">must not harm or fail</subtitle>
 +
<subtitle id="0:50:47"> and the software has more</subtitle>
 +
<subtitle id="0:50:50">degrees of freedom and reach than anything so the</subtitle>
 +
<subtitle id="0:50:53"> engineering has to be of an even higher quality</subtitle>
 +
<subtitle id="0:50:56"> than developed engineering</subtitle>
 +
<subtitle id="0:50:59">we don't really know how to do this very well but we</subtitle>
 +
<subtitle id="0:51:2"> need to aspire to it and think about it</subtitle>
 +
<subtitle id="0:51:5"> every second of our careers</subtitle>
 +
<subtitle id="0:51:8"> thank you very much</subtitle>
 +
<subtitle id="0:51:26">uh so</subtitle>
 +
<subtitle id="0:51:29"> alan if we have uh if we have time for questions</subtitle>
 +
<subtitle id="0:51:32">hown up in the uh in the chat</subtitle>
 +
<subtitle id="0:51:35"> and in slack um</subtitle>
 +
<subtitle id="0:51:38">so i i see one right here what are your thoughts on the progress of</subtitle>
 +
<subtitle id="0:51:41">interfaces in the last 20 years specifically as programs</subtitle>
 +
<subtitle id="0:51:44"> have moved from running natively to running on browsers</subtitle>
 +
<subtitle id="0:51:47">well</subtitle>
 +
<subtitle id="0:51:50"> so i think the first thing is</subtitle>
 +
<subtitle id="0:51:53"> the i think the best exercise any</subtitle>
 +
<subtitle id="0:51:56">software engineer can go through is to see</subtitle>
 +
<subtitle id="0:51:59"> if they can find out how to criticize</subtitle>
 +
<subtitle id="0:52:2"> the web and the</subtitle>
 +
<subtitle id="0:52:5"> browser in</subtitle>
 +
<subtitle id="0:52:8"> a way that</subtitle>
 +
<subtitle id="0:52:11"> has some objectivity to it</subtitle>
 +
<subtitle id="0:52:14">one of the worst designs that has ever been done in</subtitle>
 +
<subtitle id="0:52:17"> computing and at least</subtitle>
 +
<subtitle id="0:52:20"> in the when i teach a class at ucla</subtitle>
 +
<subtitle id="0:52:23"> i can't find even the graduate students who can</subtitle>
 +
<subtitle id="0:52:26"> criticize it they can't</subtitle>
 +
<subtitle id="0:52:29"> even criticize it and compare it to much better</subtitle>
 +
<subtitle id="0:52:32"> applications done on personal computers</subtitle>
 +
<subtitle id="0:52:35">o that's the first thing then the second</subtitle>
 +
<subtitle id="0:52:38"> thing is the good news is</subtitle>
 +
<subtitle id="0:52:41"> that although the overall user interface</subtitle>
 +
<subtitle id="0:52:44"> uh i think is</subtitle>
 +
<subtitle id="0:52:47"> much worse so one of</subtitle>
 +
<subtitle id="0:52:50">just access to</subtitle>
 +
<subtitle id="0:52:53"> controls the user interface</subtitle>
 +
<subtitle id="0:52:56"> is uh</subtitle>
 +
<subtitle id="0:52:59">let's see</subtitle>
 +
<subtitle id="0:53:2">sorry</subtitle>
 +
<subtitle id="0:53:5"> a user interface is something where</subtitle>
 +
<subtitle id="0:53:8"> you need to be able to</subtitle>
 +
<subtitle id="0:53:11"> explore you need to be able to try things and recover</subtitle>
 +
<subtitle id="0:53:14"> from and so if you look for example</subtitle>
 +
<subtitle id="0:53:17"> on the iphone and the ipad</subtitle>
 +
<subtitle id="0:53:20"> you find almost no undo</subtitle>
 +
<subtitle id="0:53:23"> left one of the ideas was you shake the iphone</subtitle>
 +
<subtitle id="0:53:26"> but almost nobody who implements an app for</subtitle>
 +
<subtitle id="0:53:29"> the iphone or the ipad that</subtitle>
 +
<subtitle id="0:53:32"> implements an undo from the act of shaking</subtitle>
 +
<subtitle id="0:53:35"> it so this is a great step backwards to help</subtitle>
 +
<subtitle id="0:53:38"> how do i find out how to do something</subtitle>
 +
<subtitle id="0:53:41"> like how do i find out what gestures would</subtitle>
 +
<subtitle id="0:53:44"> really make me powerful in this app</subtitle>
 +
<subtitle id="0:53:47"> doesn't exist and a</subtitle>
 +
<subtitle id="0:53:50"> gesture based system is actually something that</subtitle>
 +
<subtitle id="0:53:53"> is designed to become an expert</subtitle>
 +
<subtitle id="0:53:56"> it's designed to be more efficient than</subtitle>
 +
<subtitle id="0:53:59"> uh dealing with uh</subtitle>
 +
<subtitle id="0:54:2"> simple pointing and so you need to have</subtitle>
 +
<subtitle id="0:54:5">help systems so what i think of as</subtitle>
 +
<subtitle id="0:54:8"> the paraphernalia that are needed just</subtitle>
 +
<subtitle id="0:54:11"> to deal with things that are like personal computing</subtitle>
 +
<subtitle id="0:54:14"> in the web and the web browser</subtitle>
 +
<subtitle id="0:54:17"> are really badly lacking</subtitle>
 +
<subtitle id="0:54:20"> but then it's also been 50 years since</subtitle>
 +
<subtitle id="0:54:23"> the park gui and</subtitle>
 +
<subtitle id="0:54:26"> there are many more things that need to be done</subtitle>
 +
<subtitle id="0:54:29">but the good news is i'll just give you one name</subtitle>
 +
<subtitle id="0:54:32"> who uh</subtitle>
 +
<subtitle id="0:54:35"> that name is brett victor look him</subtitle>
 +
<subtitle id="0:54:38"> up take a look at his web page</subtitle>
 +
<subtitle id="0:54:41">he is one of the best user</subtitle>
 +
<subtitle id="0:54:44"> interface designers ever</subtitle>
 +
<subtitle id="0:54:47"> as every bit as good as we were 40</subtitle>
 +
<subtitle id="0:54:50">50 years ago and if you look at</subtitle>
 +
<subtitle id="0:54:53"> the stuff that he's been working on the last few years</subtitle>
 +
<subtitle id="0:54:56">he's not just doing some of the nitty-gritty stuff</subtitle>
 +
<subtitle id="0:54:59"> better but he's also doing some of the larger thinking</subtitle>
 +
<subtitle id="0:55:2"> better i think of him as</subtitle>
 +
<subtitle id="0:55:5"> a worthy intellectual</subtitle>
 +
<subtitle id="0:55:8"> heir of uh doug engelbart</subtitle>
 +
<subtitle id="0:55:17">so it's actually hard to pick the questions out there's a lot of activity</subtitle>
 +
<subtitle id="0:55:20">on the slack channel with with all kinds of positive feedback</subtitle>
 +
<subtitle id="0:55:23">and applause for the uh for your talk</subtitle>
 +
<subtitle id="0:55:26"> so so thank you again uh for everything i've i've picked a couple</subtitle>
 +
<subtitle id="0:55:29">there's there's a few questions in here with people asking for you to</subtitle>
 +
<subtitle id="0:55:32"> clarify some of the comments that you you made</subtitle>
 +
<subtitle id="0:55:35">one of them is to talk a little more about uh what</subtitle>
 +
<subtitle id="0:55:38">means for a language to be interactive versus non-interactive</subtitle>
 +
<subtitle id="0:55:41">well</subtitle>
 +
<subtitle id="0:55:47">the last time i looked c plus plus was not interactive</subtitle>
 +
<subtitle id="0:55:50"> meaning it doesn't even have</subtitle>
 +
<subtitle id="0:55:53">print loop screen</subtitle>
 +
<subtitle id="0:55:56"> and that is a far cry from</subtitle>
 +
<subtitle id="0:55:59"> where small talk got to 50 years</subtitle>
 +
<subtitle id="0:56:2"> ago which</subtitle>
 +
<subtitle id="0:56:5"> is not just being</subtitle>
 +
<subtitle id="0:56:8"> able to type commands in but being able</subtitle>
 +
<subtitle id="0:56:11"> to deal with an entire live environment</subtitle>
 +
<subtitle id="0:56:14"> so part of the thing is uh</subtitle>
 +
<subtitle id="0:56:17"> if you think about the internet the internet</subtitle>
 +
<subtitle id="0:56:20"> is has to be</subtitle>
 +
<subtitle id="0:56:26">it has to always be live</subtitle>
 +
<subtitle id="0:56:29"> it cannot be taken down to fix it just</subtitle>
 +
<subtitle id="0:56:32"> as our bodies</subtitle>
 +
<subtitle id="0:56:35">we have to be fixed while we're still alive it's hard to bring us</subtitle>
 +
<subtitle id="0:56:38"> back to life and so once</subtitle>
 +
<subtitle id="0:56:41"> you get into that range which people started</subtitle>
 +
<subtitle id="0:56:44"> getting into very seriously because this is the message</subtitle>
 +
<subtitle id="0:56:47">when you're doing scaling of</subtitle>
 +
<subtitle id="0:56:50"> computing systems is you have to move from this</subtitle>
 +
<subtitle id="0:56:53"> idea of running little jobs or doing little</subtitle>
 +
<subtitle id="0:56:56">something or taking out a server</subtitle>
 +
<subtitle id="0:56:59"> to do maintenance on it that's crazy the</subtitle>
 +
<subtitle id="0:57:2"> server on the internet is just a name</subtitle>
 +
<subtitle id="0:57:5">if something wrong with one server hardware put in</subtitle>
 +
<subtitle id="0:57:8"> another piece of hardware they're cheap</subtitle>
 +
<subtitle id="0:57:11"> copy the stuff over and then take the bad hardware</subtitle>
 +
<subtitle id="0:57:14"> offline so the whole attitude</subtitle>
 +
<subtitle id="0:57:17"> about liveness</subtitle>
 +
<subtitle id="0:57:20"> and by the way liveness is a relatively</subtitle>
 +
<subtitle id="0:57:23"> new phrase which is crazy considering</subtitle>
 +
<subtitle id="0:57:26"> that was what the opera community and the park community</subtitle>
 +
<subtitle id="0:57:29">all about personal computing the whole</subtitle>
 +
<subtitle id="0:57:32">it was to make live things</subtitle>
 +
<subtitle id="0:57:35"> that people</subtitle>
 +
<subtitle id="0:57:38"> that acted as sort of complementary</subtitle>
 +
<subtitle id="0:57:41"> partners in people's intellectual</subtitle>
 +
<subtitle id="0:57:44"> and artistic pursuits</subtitle>
 +
<subtitle id="0:57:47">well thank you again</subtitle>
 +
<subtitle id="0:57:50"> if you have a few extra minutes we'd invite you to</subtitle>
 +
<subtitle id="0:57:53">join us on the slack channel there's some other questions</subtitle>
 +
<subtitle id="0:57:56">to in the um and we're gonna</subtitle>
 +
<subtitle id="0:57:59">room a um and we'll we'll copy some</subtitle>
 +
<subtitle id="0:58:2">chant the questions in there so um</subtitle>
 +
<subtitle id="0:58:5"> so so thank you again</subtitle>

Latest revision as of 18:45, 19 November 2021

pinnacle 21 is the leader in software for
clinical trial data we enable a clean data pipeline from
sponsors to health authorities smooth submissions bring life-saving
medicines to patients faster we are enthusiastic
supporters of the philadelphia technical community and proud
to sponsor today's keynote it is hard
to fairly summarize the career and experience of our speaker today
he is a pioneer in programming language design the
father of the modern gui and a decorated recipient of just about
award the software field has to offer
today i have the pleasure of introducing
a visionary mind who happened to cross paths with a fledgling industry
invention more than 50 years ago and it has managed
to hold its interest ever since
our modern software industry stands on the shoulders
of them here today philly ete
please welcome dr alan kaye
thank you
it's great to come to phil to philly
even if it's by the internet no
cheese steak sandwiches but
uh we'll get there next year
uh this talk is about making progress
uh i always like to
acknowledgements first because they
get lost at the end so these
people were especially helpful for
me preparing this talk
so
making progress the traditional
way going back hundreds of thousands
of years is just through smarts
and here's a very smart guy leonardo
smarter than any of us
uh he had big ideas many
kinds of vehicles to roll around
and fly but none of them worked
because his normal
the normal of his century failed
him and he wasn't smart enough to transcend it
and in fact you can imagine what it might
be like to have twice leonardo's iq
but be born in uh
say 10 000 bc
you're not going to get too far before they burn you
at the stake so here's a guy
henry ford who was nowhere near as smart
as leonardo but he didn't
have to be because he was born in the right century
and normal was enough for
him he was able to make millions of the vehicles
that leonardo couldn't
and the reason normal was enough for ford was because of
this guy isaac newton
who changed the context of the century
that he was in
this book which is
uh about many things including
the system of the planets
has nothing about it about
automobiles except everything about it
because it changed what normal was
about and so one way of thinking about this is
knowledge is silver
context is gold and very often
iq is led
you have to couple iq with the right
kind of knowledge and you get that most
strongly by finding the right kind of
context now in computing
draws smart people
they tend not to have enough knowledge
and they tend to be in very weak context there are a bunch
of reasons for this but this talk is
really about finding the context
that are available and making use
of them so
one way of thinking about today we have a
all have a perception
of normal that is somewhat subjective
it's what we think is normal
and these normals are embedded in now
hich has a lot of stuff in it that we're not
aware of we can't see much in
normal because we think of it as reality so we have to look at
it really closely to start finding
distinctions everything that's going on
in normal is definitely not good there's
also this concept of bad there's worse
there's qualitatively better
and so we
can make choices here
but as engineers
as technical people in general making
progress is about what is actually needed
that is a threshold it's the
important threshold we can ever determine
it's not better
it's not perfect it's what is actually
needed for the task at
hand in the context that we're in
and engineer
engineering is works
at its smoothest when what is actually
needed is in the normal context of the engineers
doing the work it's well known
stuff skill can be
used to apply it and things often
go quite well but
uh in some cases like
doing the space program and
bending some new technology
we have to get outside of
the normal of people participating
in it but some of the knowledge is already
the now and so what we have to do there
is just learn it
but for instance inventing something
like the internet getting
to the moon we have to get outside
of what's known and
in order to do that we have to venture
into research something that
much more tentative and explorative but
can extend out the knowledge that we have
children are actually in a nice place they don't know
a lot but they operate in a really nice
area because they don't have a strong notion of what
normal is school will eventually give them a bad
version of normal but up to that point
they're in a kind of state of grace
now i think for much of computing going forward
what's in most people's normals
good enough we'll talk about that
a little bit as we move along so my
job in this talk is to channel one of my mentors
jerry bruner and
instead of talking about
uh strange things and trying to make them familiar
i'm going to try and take what we think we know and
strange again so we can actually think about
and so here's some code
uh this is some of my
favorite code to look at and we can see it's
actually the lunar lander
from the pilot uh
guidance computer
this was used in the 60s and it's the thing we went to
the moon on cubic foot
of some of the earliest silicon transistors
they had all of 4k bytes
of random access memory
73k bytes of
read-only memory no disks no
tapes no secondary or tertiary memories
that was it it ran at a
85 000 instructions
million not billion
and it had a higher level language
in it for a variety of reasons it
ran at 41 operations per
second nonetheless it had
a real-time operating system and it had to
ccasionally thousands of processes
memory because it was
the only computer on the spacecraft
and it had to do both the
apollo
crew module and the the land the lunar
lander so this is a very interesting process
for writing software and we can see some of these comments
might be familiar to
you the hope i hope a hope there's
a kind of a sequential
flavor to this
programming but down below we say
uh continue with the automatic landing the automatic
landing this thing is landing the
uh something on the on the moon
it's restarting has there been a restart what
does all this mean so here's the
head of all of the software except
for the operating system in this
computer and here are the listings
to that software margaret
hamilton uh had a degree in pure
math and learned a program
as a for
fun and then worked on the big sage system
air defense system and then
started as a programmer at draper labs
to do this software and in a few years
they made her the head of all
of the application software
um when she showed
this uh to some friends of hers they said well
this doesn't look like pure math at all and
she said well it isn't and they said well what are you doing
she said well it's essentially software engineering
she is one of the three corners
phrase of our profession software engineering
what is it
many people today will tell you software engineering is what
they're doing but that isn't the way she thought about
it she took the word engineering very very seriously
and here's why
a few years later
we did make it to the moon
it's an oh yeah
technical term for oh yeah it's holy
oh yeah is what you want to get to
when you're doing engineering
and during this landing old 1202
popped up while they were trying to land
on the moon and that was a signal that
the computer was being overloaded
this is because an astronaut
actually threw a switch when he wasn't supposed
to uh
she was told several years earlier that astronauts
mistake and don't bother about
fault tolerance in this
on this tiny computer and she doubted
this for a very good reason we can talk about that in the
if you want and she decided to make everything fault
olerant and so her answer was
when overloaded it's designed to keep restarting throughout
throwing out low priority processes and never
crash and so they
trusted her kept on with the landing and we made
it and in fact
here's hal lanning who did this
uh the operating system and design part of the computer
uh through all of the lunar
the apollo program there
was not one bug not one crash
no astronauts were harmed
in any way and
many were saved because of the way these
two did this software
and as they said well we're making
systems not simple programs simple
programs are like stories but systems are not like
stories and engineering is making
secure systems with integrity
that's what that's what engineering means
whereas a few months ago 52
years after the lunar landing
i saw this in the paper the
is set up to get
people their vaccinations crashed
how is this possible
people undoubtedly died
because of this they spent months trying to get
this very very simple application going
well you have to deal with something that is
larger that has more
relationships than regular
programming deals with now of course i'm
knows here real question is
not whether you know it but how often do you
do it in every line of whatever code
writing systems design looks
more like a constitution than a collection of laws
or a story it's a bigger thing
and as they said you're in deep trouble if you don't use
fault tolerant loose coupling
late binding not early
and as margaret
said what is actually needed is development before the
fact software engineering what she meant
by that the fact is
an error a bug a
crash that hurts somebody or something
you want to develop before
the fact so that doesn't happen you're going to have errors
but the way they went
about things is that no error
should actually be able to
propagate to cause real harm
because the moonshot
was done really early
in many kinds of technology
and so it was actually a systems
coordination of 400 000 people
maybe 20 000
companies and uh 178
or so billion dollars of today's money
so everything that they did was about
trying to think in terms of systems
half million
parts just in the apollo command
module and another two and a half million parts
in the lunar lander
well
if what you're trying to do is not a story
we know how to tell stories that's what i'm doing right now
it's a system how do you tell a system
well you have to make something like this
and the purpose of these big rooms
wide angles is to answer questions like
these these are the things that we need to know
them about the entire system
so we
notice that if your user interface designer which most
people aren't this is also the main job of the
user interface this is what you have to think about
the questions you have to answer
what when i've been asked in
do some consulting the first thing i want to see
when i visit a software organization
is where is your situation room
where you can understand what's going on virtually
nobody has them and
there's no really no excuse for it not just because
video projectors are cheap now but because
if you think about it real hard wide
angle virtual reality is fantastic
for dealing with
a system you don't even need 3d
just virtual reality and 2d
will give you the sense
thing and allow the kind of
meetings that you need to have when you're dealing with
complexity
and of course here's a famous one
grander than the ones that we actually need
the
bible is full of
stories but what michelangelo
wanted to do was to give a sense of the system
and it's a wide-angle thing
many people who are listening to this talk will have have been
and the
problem with the laptop screen is the the angle
of vision is too wide we can get a
huge angle of vision by getting close but our eyes are not made
so we need
something that allows us to deal with
information in our periphery as well
as uh in our fovea
and at the bottom i say systems are about happenings
i mean stories are about happening systems are about
relationships okay so
here's a big body of water of
course we want to get across it and historically
the way things started was somebody
something could be a log
in this case it's a rope bridge
tinker little bridge
it's one kind of knowledge and tinkering we share
tinkering with uh all primates
and most mammals and
the second kind of knowledge we have is liking
what we tinker or not and
often that will lead us to be much more careful about
thinking about building something or cooking
a meal and engineering got started
really early because it didn't have to know why
things worked it just had to find out what worked
and so in the old days you would gather a kind
whether it's for a bridge or for
people
soon started realizing that you could do a
lot of work with symbols and this is one
of the biggest drivers for the mathematics that we
know today to replace with symbols
and models uh
the more costly having to build large
things that fall down
then only a few hundred years ago we get
science science
is a very different kind of way of
looking at things it gives us a theory
in this case it's a theory
artifact a theory of a bridge because science doesn't
care where the phenomena come from
science is about the relation we can
talk about this if you want in the
q a so five
knowledge this is their historical
if we come back and look at
the akashi strait here and how big is this
straight well there's the empire state building and
the great pyramid of giza in
europe in egypt
and oh yeah yeah we can get
so this
is the largest suspension bridge in the world
and it required a
combination of
getting the science done feeding the
science back into the engineering using
models and
making a wonderful synthesis of
these main disciplines
that is why it's really uh our greatest
be born into this time
uh of science engineering and mathematics
working together
well here's another dream about water
this time about flight
icarus leonardo took
had engine problems
people tried to do man-powered flight
a british industrialist henry cramer
put up money big money about
seven or eight hundred thousand dollars today
for the first real man-powered flight
they kept on crashing the planes
and after some decades of this
uh the guy who was the first world
champion and an aeronautical engineer
mccready was trying to figure out how
to pay off a debt his brother-in-law
had incurred and that morning he had noticed that the exchange
rate made the kramer prize for
flight exactly
the debt his brother-in-law had incurred and started
thinking about and his main thought was well
the best people in the world
knew a lot of the people who were doing this best people in the world have
n't had anything close
to his success what's what is the problem and he said
well the problem is we don't understand the problem
so he abandoned thinking about human-powered
flight and asked what is a better problem
and he went back to his group
in simi california
bout human-powered flight
something that
can be repaired so quickly that we can handle 10 crashes
a day something is just made
out of really scotch tape and some mylar and
some aluminum struts
and six weeks later they had
had more flights and more crashes than everybody
else in history put together
and
in six months
they won the kramer prize
and
a few months later
they won the lot even larger kramer prize
nglish channel about 22
and the british
press interviewed mccready and
asked well how could you do this
so easily when everybody else was struggling
for decades and and he said well
they were trying to build an airplane we were trying to do human-powered
flight in other words having an airplane
as a goal was actually counterproductive
because
these ultralight planes with these huge
wings and huge difficulty in turning
weren't really enough like an airplane so that prior
instead some science
had to be done probing what the real world
was actually about in this place
where airplanes didn't scale
so
here's one way of thinking about this
so we're taught to go
from a to b in school
that's problem solving
but in fact real problems have more dimensions
so often there the things
get really really difficult in various ways we're
smart we'll abandon the what we're trying to do
and explore that will sometimes allow
super highway that's much more
efficient we could invent something to fly over the uh the
obstacles basically we have to get out of
this pink way of thinking and sometimes
when we do that we will find
a sea that's a destination that we couldn't even imagine
before and so
that allows us to come back
to the dream of icarus which is much
more than uh getting across
the channel in fact it's 72
miles from crete to santorini
that was the the flight of the fable
well we got had the dream the tinkering
was done the engineering
was done really well to get across the channel
now we need to science the out of it as matt damon would
say and uh mit
and a number of nasa and a number
of other big guns got interested in what mccready
had done and really went out
after it so they could then engineer the out of
it
and not too many years ago this
flight likened
to two marathons was made
from crete to santorini
following the route of daedalus
so this is another one of those oh yeahs
that if you don't love this
you shouldn't be in engineering
so we've talked about these five
of activities knowledge outlooks
and these five different things attract
different personalities
and but
we can see that there could be uh an intersection
where all five of these are actually
more powerful now all of the great research
groups that i've been in
uh have people who
are good at each one of these things who have learned all
and this is where the modern
world comes into play it's just not enough
to be a tinkerer or an engineer
when you're working on important problems
o a great group you
can think of this like a basketball team this is a five
there are five kinds
things here so outside shooting passing
play making dunking
reat group is smarter than the smartest
member a great basketball team is
a better basketball player than the best
person on the team bad group is stupider
than the stupidest member a bad basketball team is worse
than the worst member so a
whole deal here and this is
110 of the problem
real things according to the best
i know is getting the
right people robert hyland had a good
the only form of life with 10 bellies
and no brain so you don't want that
now when i look out
at the world software still seems
like a fair amount of tinkering a little bit of engineering
people like their tinkering too much
well we've seen that there can be
a real engineering of software
it happens rarely but it has happened
something that can stand up to
sense of the term engineering
what margaret and hal did for the moonshot
the work on the internet and so forth but
what about science of computing what if we took the word science
not as a metaphor
but what if we took it seriously for what science is actually all
well science looks at phenomena so we
get phenomena from artifacts and we don't want to look at the artifacts
directly we want to see the fireflies
cientists try and find the fireflies it's you don't want
to get distracted by what seems to be there it's
what underlies it and john mccarthy
in 1958 came up with a hell of a t-shirt
to uh characterize
what he thought computing was about
and it's kind of like maxwell's equations for
software but uh
on a on a t-shirt like maxwell's equations
are and he wrote a great paper
of newton-esque one of the things he
pointed out in 1958 he said look
programs are going to
participate in their programs
in order to do that
the representations that they deal with have to
represent meaning in ways that are not
just outside the programs the way most programs are
but where the meanings are actually
encoded as relationships that
other programs can understand so this is part about
what he was about which was not just doing a
programming language that was very high
level but doing a programming language that was also meta
eye level and could look at itself what we call
reflection today
okay
well math
doesn't have to be real but
in computing we have to implement stuff to
vet it and steve russell
said well looking at mccarthy's t-shirt
if i implement it we'll have a running system and as john
said he did and we did
so you get all of these things in computing if you do
the design really well
and it doesn't have to be slow
because you can make a machine that will run it fast this is like
people have finally gotten around to the idea
of gpus uh 40
years ago they are derided wait for moore's law
and but in fact before that
uh people who are really serious about high-level
were building special machines that would run them very
efficiently and this is a list machine
and the idea is a
great idea that slow can often be optimized and retain
goodness
remember computers are only there to run programs
and the job of programmers is not to make intel look
good intel has got it backwards
hould be doing is learning
about software which it doesn't
and making processors
that will run the highest level languages
most efficiently and they don't
and the problem is trying to optimize
early makes it very very difficult for most people
to even have a good idea
so this is where you have study this is
from more than 60 years ago and again
you can learn a lot from just learning lisp
and how mccarthy went about it but
really the main point is what are the fireflies
from this landmark piece of work
well here's my
research community and some
of the oyas that it did in the 60s
just point out here's hal lanning again he did
the first interactive higher level language
it actually started working
before fortran and fortran was not interactive
the bottom row was done by xerox
about five years by a
grand total of 25 researchers so
this is not all the technology we use today but a lot
of it was done by this one community
and outside the community there's a lot
of pushback you know why would you want
would say well why we'll make a qualitative difference
doing no you really aren't why is too slow
well we know how to speed it up why it takes too long to make well
quickly well y is for sissies
so this has happened in waves
over a very long time
our funders
didn't worry about what the outside world
was thinking and let
stuff and
here is the uptake on some of these ideas
only about 30 percent on engelbart there over on
the uh the middle right
100 on the internet nobody
to do one 100 on the ethernet
nobody knew how to do one similarly the laser printer
only 50
on uh the alto personal
computer because people thought they knew
computers especially intel
and so what you've got is something that looked kind of like
but couldn't do what it could do and
the best software we did i estimate there
was only about 10 percent take up everybody thought
program and in fact everybody
does that's not the
point okay so but here we
go back to where we were talking if remember we
decided i decided that
most uh computer
people is actually hurting
and another way of looking at this
is to
think about and this is in my
that too much of software
is still like tinkering
the aesthetics are actually people loving their
tinkering too much and there's a little bit of engineering
here and there and occasionally a whole big thing of
engineering it's not that everything is bad
it's that too much of it is
and so we really need after 40
years of this we've got
something like all of the plastic junk in the pacific
going we actually need something that
gets beyond uh the best stuff
that is known now we
need more research and the good old funders they aren't around
anymore but i think for practical
are working for companies who are
trying to make progress at a more local
level the question really is is
what is the thing that
can be done that uses some
of what you do know and
requires a little bit of learning of stuff that is already
known that could make a huge impact
the thing i picked for this talk
was scaling
because scaling was forced on computing by
moore's law and except
for a few uh special cases
the industry has done extremely
badly at dealing with scaling
so i use this font
heuristic here says if
big needs try to do a
margaret margaret had limited resources she
had big needs and what she thought
through is what is what do you absolutely have
to do in order to make some
progress and especially to do
build the rest of the stuff that's needed on
okay this is a real picture
i like it because it reminds me of a lot of things
ign do not touch any of these wires
this wire over here was
once a good idea and so
somebody added another wire and added
another wire and pretty soon you got this
so the two biggest problems here are
lack of systems thinking because most
people are taught programming as algorithms and data structures
not as systems thinking
and the other is this idea of premature
optimization of intertwining the
optimizations in the code rather than
meaning out from the
optimizations
okay so this tangle of wires
is
involving everything together but you
can replace everything in this room with just a simple
ethernet it's just a simple thing in fact
cars are starting to do this now after 40
years and we spent a long time
trying to get xerox to replace the wiring harness
in xerox machines with something like a simple ethernet
so if we look at networking
at in this arpa park
research community
look lighter called for an intergalactic computer
network in 1963
he was asked why and he said well
engineers always give you the minimum i wanted to cover the earth
so i've asked for intergalactic i need to force
them out away from trying to
use things that don't scale like the way the telephone system
is done and he was a psychologist but he
had a very good sense of systems
and he said if we succeed in making the intergalactic
then our main problem will be learning to communicate
with aliens we'll see what that means
a bit and so
thinking about networking
in this community the idea was what can we
scale can we scale communication by
uh let's say 10 or 11 orders of magnitude
without the thing breaking
and of course if we scale it like that we can't afford to
take it down so it has to run continuously
no matter what goes wrong with it
and many of you will be familiar
well although many i've found to many computer
people don't really understand why the internet
works it works so well it doesn't seem to be a
rtifact like it never crashes
you cannot crash the internet
because messages cannot be commands
any crashes that happen
happen inside individual computers because of bad
software somebody put there
ach computer on the
alien as is the
software inside of it so you have to think about what
communicate with aliens even just to send
it's too big to control from a center
you can't have a hierarchical control system
you have to have something that's more like biology where there's
no center the system itself
has to take care of keeping itself stable
that was one of the most fun problems to work on
and under
this scheme and a few other things i'm not mentioning here
the computers can't be other than servers
you can't command them
you can only ask
would you do this for me please they can say
no you separate
everything you can separate the transport
from the assembly and error correction
that's what the slash means there
the reason it was done is when they were working on tcp
they're already thinking of things like udp
you need to have various ways of
with uh this very complicated
being made so here are
some of the many heroes for
both the internet and the uh
ethernet
okay so while this was going on a bunch of us
were also working on the idea of
a software internet where you have virtual
computers computer uh connect with a software bus here
some of the heroes there i single
out dan angles because he was the first one to make
an artifact that you could
do large systems completely
successfully in
same basic idea you
have to have 100 percent encapsulation
messages can't be commands you have to
deal with aliens and
these virtual computers can't be other than servers
well
this is a problem because
now that we've got this software net
still doesn't tell us how to organize our computations
o first let's analyze some of the mess that we've made
and a good book to read about this is alexander's
first book which is a better
book i think about design
than his pattern language books
so
you've got a bunch of things that you have to deal with let's
them processes but if we look closely we
really complex about them are the relationships
between them
and what you want to do is find
the least connectivity
to make modules
figure those to be
the communications paths and then encapsulate everything
now you've
simplified that one part of
it but it's not that simple because
what if you want to reformulate things
that might not be the best decomposition there's
a lot more things to think about and going in the opposite
direction designing a system is more difficult
because you have to supply the information
that extra information to come up with relationships
so here are some of the heroes
thought about this especially
how you do the intercommunication
note that some of the things that
favorites today like type schemes and naming
of things don't scale at all well
send to something that's across a billion node
network the chances you're going to get type
matching is zero
and that you'll know the names of all the things you need to
know are close to zero also
you have to go from types
of things to descriptions and behaviors
the descriptions and behaviors can
bit like types but they're of a larger
scope you're
two of the most interesting thinkers about this
doug lennon for meanings of things and glerder
thought
about how you coordinate all of these things over arbitrary
scales did a system in the 80s called linda
it has a really nice t-shirt you
should look at it and see
what you think about it okay
so
now that we've virtualized everything
can put our software internets on
all the hardware
and we can connect those
up by messaging and what this
allows us to do is to completely disappear all of
the hardware of the internet
and do all of our software using virtual processes
this allows us to
send a virtual process somewhere else if it needs
to run faster there or can do a better job
one of the first times this was done in a
way that was really important was in postscript
done by john warnock and chuck
geschke who later went on to found
a little company called adobe if you
think about it the an
interpreter is smaller than all
of the knowledge you have to know to parse all of the
might have to parse to deal with all
of the possible printers printing of pages
you need to have so you're much better off
sending the program that
is what we used to call
objects just send a process to
the printer the printer can execute it blindly and
safely and you print out what's left and
that is why adobe is the company that it is
this was done in a general way
by jerry popek for unix
system called locus wrote a
book take a look at it so here's
a big idea that's hard for people to get
to a computer is universal
so every kind of thing at every scale
can be represented and made from a software computer
you only need one kind of abstraction
wrap everything in and
if you do that it will allow you
to unsnarl all the problems of meaning
from the many separate problems of
optimization
today there are many different kinds
of manifestations of this thing but
virtually none of them are complete enough to actually
scale
well
complete encapsulation i'm
now saying publish and subscribe because it's
usually done really badly so i'm
saying publish and subscribe done really well
you need to understand
what both leonard and galender
are getting to you have to wrap everything
you've got controls
the mess in the pacific make every new
stuff in the new thing and then there's a whole bunch
that actually has to be learned
beyond this but the nice thing about it
is that this stuff that has to be learned beyond
this and the research that has to be done is something
that actually can build on
on what i'm talking about here
okay i'm gonna
wind up here with how not to make progress
it's hard not to love this guy
here's macarthur wheeler robbing a bank
and being caught by the camera
here he is handcuffed in
jail it was very easy to run him down and
he was incredulous he said but i wore the juice i wore the juice
what juice well he smeared his face with
lemon juice because somebody had shown
can make invisible link with lemon juice and he figured
smearing his face with lemon juice would make it impossible
pick him up yep
true story and he's not the only one
this is sometimes called the dunning-kruger
those are the two psychologists who studied wheeler
it's now a syndrome and of course all humans
have it we are always
almost always overconfident but
some people have it to a ridiculous extent
these smug pilots have lost touch with regular
passengers like us who thinks i should fly the plane well
crazily peop some people do
we just had a president who
could run the comp country without any basis
whatsoever and people agreed with them
on the other hand if you really want dunning-kruger
take a look at most software if you want something that is more
confident than its actual abilities take
software of all kinds
the difference that
software needs is rarely built in by programmers
this one is particularly dangerous
the boeing 737 max
autopilot and now
we are not funny anymore because everybody here
is literally going to die and they
two plane loads died because
of boeing management
so a combination of doing a really bad job
of every phase of engineering here
the management killed a bunch
of people and i found this
picture uh some months ago
about the that showed the electronics
bay in the 737 and
my reaction was whiskey tango
foxtrot as we used to say in the air force it's like what
the this this is what this
aircraft and then about three
weeks ago i found this in the new york times
potential electrical problem with the max
component of the electrical power system
on max planes was sufficiently fastened or
so this is what we
really have to deal with here this is what real engineering
is about is dealing with the whole system
and
we end with this tranquil scene here's a bridge
that's just about 2 000 years ago uh
old and it looks many parts of it look like
it was built yesterday here's a plane that's about 10 years
the pledge
of a real engineer is the bridge must not collapse
the plane must not crash
must not harm or fail
and the software has more
degrees of freedom and reach than anything so the
engineering has to be of an even higher quality
than developed engineering
we don't really know how to do this very well but we
need to aspire to it and think about it
every second of our careers
thank you very much
uh so
alan if we have uh if we have time for questions
hown up in the uh in the chat
and in slack um
so i i see one right here what are your thoughts on the progress of
interfaces in the last 20 years specifically as programs
have moved from running natively to running on browsers
well
so i think the first thing is
the i think the best exercise any
software engineer can go through is to see
if they can find out how to criticize
the web and the
browser in
a way that
has some objectivity to it
one of the worst designs that has ever been done in
computing and at least
in the when i teach a class at ucla
i can't find even the graduate students who can
criticize it they can't
even criticize it and compare it to much better
applications done on personal computers
o that's the first thing then the second
thing is the good news is
that although the overall user interface
uh i think is
much worse so one of
just access to
controls the user interface
is uh
let's see
sorry
a user interface is something where
you need to be able to
explore you need to be able to try things and recover
from and so if you look for example
on the iphone and the ipad
you find almost no undo
left one of the ideas was you shake the iphone
but almost nobody who implements an app for
the iphone or the ipad that
implements an undo from the act of shaking
it so this is a great step backwards to help
how do i find out how to do something
like how do i find out what gestures would
really make me powerful in this app
doesn't exist and a
gesture based system is actually something that
is designed to become an expert
it's designed to be more efficient than
uh dealing with uh
simple pointing and so you need to have
help systems so what i think of as
the paraphernalia that are needed just
to deal with things that are like personal computing
in the web and the web browser
are really badly lacking
but then it's also been 50 years since
the park gui and
there are many more things that need to be done
but the good news is i'll just give you one name
who uh
that name is brett victor look him
up take a look at his web page
he is one of the best user
interface designers ever
as every bit as good as we were 40
50 years ago and if you look at
the stuff that he's been working on the last few years
he's not just doing some of the nitty-gritty stuff
better but he's also doing some of the larger thinking
better i think of him as
a worthy intellectual
heir of uh doug engelbart
so it's actually hard to pick the questions out there's a lot of activity
on the slack channel with with all kinds of positive feedback
and applause for the uh for your talk
so so thank you again uh for everything i've i've picked a couple
there's there's a few questions in here with people asking for you to
clarify some of the comments that you you made
one of them is to talk a little more about uh what
means for a language to be interactive versus non-interactive
well
the last time i looked c plus plus was not interactive
meaning it doesn't even have
print loop screen
and that is a far cry from
where small talk got to 50 years
ago which
is not just being
able to type commands in but being able
to deal with an entire live environment
so part of the thing is uh
if you think about the internet the internet
is has to be
it has to always be live
it cannot be taken down to fix it just
as our bodies
we have to be fixed while we're still alive it's hard to bring us
back to life and so once
you get into that range which people started
getting into very seriously because this is the message
when you're doing scaling of
computing systems is you have to move from this
idea of running little jobs or doing little
something or taking out a server
to do maintenance on it that's crazy the
server on the internet is just a name
if something wrong with one server hardware put in
another piece of hardware they're cheap
copy the stuff over and then take the bad hardware
offline so the whole attitude
about liveness
and by the way liveness is a relatively
new phrase which is crazy considering
that was what the opera community and the park community
all about personal computing the whole
it was to make live things
that people
that acted as sort of complementary
partners in people's intellectual
and artistic pursuits
well thank you again
if you have a few extra minutes we'd invite you to
join us on the slack channel there's some other questions
to in the um and we're gonna
room a um and we'll we'll copy some
chant the questions in there so um
so so thank you again