Difference between revisions of "Extracting Energy from the Turing Tarpit (2012)"
From Viewpoints Intelligent Archive
(Created page with "{{#evt: service=youtubeIA |id=Vt8jyPqsmxE |alignment=left |autoresize=false }}") |
|||
Line 3: | Line 3: | ||
|id=Vt8jyPqsmxE | |id=Vt8jyPqsmxE | ||
|alignment=left | |alignment=left | ||
− | |autoresize= | + | |autoresize=true |
}} | }} | ||
+ | |||
+ | <subtitle id="0:0:18">about</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:21"> two minutes to set this up</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:24"> okay now is it I</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:27"> love that we are the</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:30"> testers for these microphones so I'd like</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:33">the AV people to turn off the video there take</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:36"> take me about one minute to</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:39"> set things up here</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:42"></subtitle> | ||
+ | |||
+ | <subtitle id="0:0:45"> because this is actually in the</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:48"> nature of a pep talk and</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:51"></subtitle> | ||
+ | |||
+ | <subtitle id="0:0:54"> it's an optimistic</subtitle> | ||
+ | |||
+ | <subtitle id="0:0:57"> pep talk about</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:0"> about software and it's based</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:3"> on the work of many people</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:6"> here I should mention that</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:9"></subtitle> | ||
+ | |||
+ | <subtitle id="0:1:12"> many of my heroes are</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:15"> in this room and not just the people</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:18"> who got the Turing Awards but some</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:21">colleagues I've worked with over the years are</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:24"> my heroes I think</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:27"> we wind up</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:30"> making Ecology's when we're</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:33">trying to do things this is sometimes been</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:36"> been mentioned and these</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:39"> ecologies are critical</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:42"> because they actually require a wide variety</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:45"> of different talents I've always felt that</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:48"> Turing exemplified</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:51"> a wide variety of talents</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:54"> inside himself just pretty darn amazing</subtitle> | ||
+ | |||
+ | <subtitle id="0:1:57"> I</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:0"> probably forgot something but okay let's let's</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:3"> start here</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:6"> so this pep</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:9"> talk is about the Turing tarpit</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:12"> and what we might do with it and about</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:15"> it and I</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:18">don't know where the I was a big fan of L perlis</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:21"> as a fantastic guy</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:24"> who was the first Turing Award winner and early</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:27">he said beware of the Turing tarpit where ever</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:30"> as possible but nothing is easy and</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:33">what's interesting about he was talking about programming languages</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:36"> but in fact this is true the computer itself</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:39"> that's the problem it's got all these</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:42"> wonderful degrees of freedom and we</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:45">glorify in those because that's what makes it the</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:48"> most interesting machine that anybody has ever invented</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:51"> and of course the the</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:54"> problem here is oops and</subtitle> | ||
+ | |||
+ | <subtitle id="0:2:57"></subtitle> | ||
+ | |||
+ | <subtitle id="0:3:0"> fallen and perish now I did</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:3"> a little research on Tar Pits and</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:6"> I could</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:9"> not find anywhere that</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:12"> any humans were ever found in</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:15"> a tar pit that were not put there specifically</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:18"> as a ritual burial so</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:21"> it seems like humans are a lot smarter than sloths</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:24"> sometimes you never can</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:27"> tell but in fact it</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:30">humans were pretty good at avoiding the tar pit but</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:33"> we created a different kind we realized</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:36"> oh there's there are all these hydrocarbons</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:39"> and fossil fuels and we wind up with this and</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:42"> oh this and one of the slums in</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:45"> Rio de Janeiro my two favorite pictures</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:48"> of what I think of as software today</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:51"> and</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:54"> the problem is we can't see them we can only see 30</subtitle> | ||
+ | |||
+ | <subtitle id="0:3:57"> or 40 lines of code at a time and there's</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:0"> this enormous festering whatever</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:3"> it is and</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:6"> so this goes from loops to a yikes</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:12">the tendency we</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:15">country is to beat everything to death with the club and</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:18"> what what happens is the sub goals</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:21"> become the goals so at some point just building</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:24"> refineries become the goals we're</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:27"> really what we wanted is energy and</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:30"> it happens that 67%</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:33">of fossil fuels are burnt to make electricity and</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:36"> well if we want electricity there are other</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:39"> ways of doing it for instance photosynthesis is</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:42"> pretty nice I used to be a biologist</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:45"> and what happens</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:48"> is through a beautiful series</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:51"> of chemical reactions and some physical pathways</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:54"> it's pretty darn efficient at getting electrons</subtitle> | ||
+ | |||
+ | <subtitle id="0:4:57"> and electrons or what we want so</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:0"> we get a yay on that and there</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:3"> are a lot of organisms that do this and</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:6"> the ones that don't feed on the ones that do</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:9"> and it happens that the metabolism</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:12"> basal metabolism in all living</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:15"> cells is somewhat similar and it's looking</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:18">from the energetic standpoint it's really about just transferring electrons</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:21"> around and</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:24"> so there are a lot of electrons there and in fact recently it</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:27"> was discovered that many bacteria</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:30"> extend microtubules between</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:33"> each other not for the purposes of sex but</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:36"> for the purpose of exchanging electrons</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:39"> that incredible so</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:42"> they can get a kind of a feeding from</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:45"> each other they share it's a socialized electrons</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:48"> and because</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:51"> there are so many of these there Adam</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:54">favorite engineers who's also a biologist</subtitle> | ||
+ | |||
+ | <subtitle id="0:5:57"> says hey just stick</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:0">things into the ground anywhere on the earth including</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:3"> the Sahara Desert and you've got a fuel cell</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:6"> made out of living microbes that are just</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:9"> happened to be there by the billions and trillions and</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:12"> so in fact you can pretty much any</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:15"> bucket of dirt that you get outside you can run in a 60 watt</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:18"> bulb just by having</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:21"> the right kinds of things that you stick in there it doesn't require any</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:24"> additional power this is kind of a metaphor</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:27"> for I think what we should be thinking</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:30">software we have to think about what it is that we actually want</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:33"> to do and I don't think our main goal is writing millions</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:35"> of lines of code what we want it is for to</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:39"> do something so</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:42"> we've heard this in various ways today</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:45">this idea of let's try a science and math</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:48"> let's not beat it to death and</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:50"> idea number two here is this</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:54"> distinction between tactics and strategies when</subtitle> | ||
+ | |||
+ | <subtitle id="0:6:56">we're building things and tactical stuff is usually pretty</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:0"> incremental and somewhat similar to where you were</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:3"> so bricks lead to piles</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:5"> and stacks and if you scale them up</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:9"> you get pyramids and walls and they</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:11"> have a certain simplicity to them anybody can learn how</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:15"> to be a bricklayer and so this has</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:17"> a lot going for it it's very transferable and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:21"> forth but it has some limitations and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:24"> there's a strategic direction we could go which</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:26"> is before we build things out of the materials</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:30"> let's think of things we can make out of the materials that</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:32"> will be new materials so in</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:36"> architecture let's make some arches that's</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:38"> where the term came from and these things are</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:41"> incredibly efficient the</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:45"> Romans made such good cement aluminum</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:47"> silicates plus compaction</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:51"> that many of these structures built thousands</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:53"> of years ago still survived today</subtitle> | ||
+ | |||
+ | <subtitle id="0:7:56"> if you've been in the pantheon looks like it</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:0"> was built yesterday instead of 2,000 years ago</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:2">in fact it looks like is made out of granite rather</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:6"> than the best reinforced concrete anybody has ever made</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:8"> by the way the frost giants in the</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:12"> vogner operas came out of the inability</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:14"> of the Goths and the Visigoths to tear down these</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:17"> aqueducts in</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:21"> the Dark Ages they concluded only Giants could</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:23"> have built them but in fact it was just</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:27"> people like us with some technique</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:29"> and the same thing is true in computers</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:32"> our building block is a comparison</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:35"> we could call it the scheffers stroke if you want</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:38"> and again we can go tactically</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:41"> in calculators we can add</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:44"> a strategic element the stored program I loves</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:47"> jacquard looms and this</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:50"> notion of storage models</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:53"> of computing is recapitulated through many of our</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:56"> languages and predominant</subtitle> | ||
+ | |||
+ | <subtitle id="0:8:59"> amount of programming today despite</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:3"> some fringe areas is actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:5">done using this storage model in a wide variety of</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:8"> forms including so-called object-oriented languages</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:11"> so this is kind of the general thing you find</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:14"> today most universities train towards</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:17"> these and so we we're talking</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:20"> about Turing really</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:23"> interesting idea is this brick ideas yeah</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:26"> you can program a computer to make something that's like the</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:29"> computer you're on but you can also make</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:32">something a computer that is very different from the computer</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:35"> it's on and the first one of these that I ever saw was ivan</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:39"> sutherland sketchpad and it</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:41">definitely a computer it was programmable it</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:44"> wasn't programmable like any other computer had ever been and</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:47">was completely different than the enormous tx2</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:50"> computer that it that it ran on and</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:53"> one way of thinking about it and EDD Feigenbaum</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:56"> blazed the trail here is that</subtitle> | ||
+ | |||
+ | <subtitle id="0:9:59"> a lot of computing today is done in terms of house and</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:2"> as far back</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:5"> as 50 and 60 years ago people were already starting</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:8"> about can't we just program in terms of what's another</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:11"> one was john mccarthy</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:14"> whose early paper on the advice</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:17"> taker a an intelligent</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:20"> terminal agent that you could give advice</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:23"> to that could deal with things in common</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:26"> sense terms lisp was</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:29"> actually invented to be a programming language to make that that</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:32"> was an early idea and of course Marvin Minsky</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:35"> and Ed Fagin bellman and so forth have</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:38"> talked about intelligent systems as</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:41"> terminal agents I'm going to focus not</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:44"> so much on AI here but just</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:47"> this notion of what do we get if we can find</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:50">think in terms of and we got a Marvin</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:53"> call the semantic information process</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:56"> processing I'm gonna focus on sketchpad here because</subtitle> | ||
+ | |||
+ | <subtitle id="0:10:59"> it's not only Turing's 100th</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:2"> birthday it happens to be the 50th birthday of sketchpad</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:5">this year and I'm sure Ivan has forgotten</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:8"> this because he's famous of forgetting things like this</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:11"> yes because he refuses to talk about</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:14"> sketchpad I thought I would say a few words about it</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:17"> so it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:20"> famous for being the invention of interactive</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:23"> computer graphics it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:26">less known that it was really the invent really the first</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:29"> object-oriented system that had the</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:32"> abstraction technique</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:35"> of objects masters and instances</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:38"> you can make a master rivet</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:41"> and create instances from it and the</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:44"> big knockout on sketchpad was the programming of it</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:47"> was not done in terms of anything</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:50"> like a storage model but was done by telling sketchpad</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:53"> goals that</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:56">achieve and it had three spot home solvers in</subtitle> | ||
+ | |||
+ | <subtitle id="0:11:59"> it they would achieve those goals and one of the famous</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:2"> examples here is this truss bridge</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:5"> and it happens that there is</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:8"> no movie available of this truss bridge and</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:11"> the reason is that</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:14"> tx2 took awhile to settle</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:17"> the constraints on this bridge I believe</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:20"> but because it's the 50th anniversary of</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:23"> sketchpad we have recreated the</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:26"> sketchpad display and this twinkling</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:29"> ivan will recognize because it</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:32"> actually plotted points and they had to be</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:35"> randomized throughout core you go crazy</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:38"> with vertigo on it and</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:41"> so with sketch pad you could</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:44"> you know</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:47"> add a truss in here</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:50"> you could turn on the constraints one of which is</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:53"> gravity and sketch pay I would compute</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:56"> all of the beams there and</subtitle> | ||
+ | |||
+ | <subtitle id="0:12:59"> we can see what effect</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:2"> this this one has of adding it in here those</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:5"> 1962</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:8"> and</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:11"> a wait and</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:14"> another way and</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:17"> there's twinkling and stuff caused</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:20"> a series of better displays to be made</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:23"> but it's interesting that in many ways</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:26"> the semantics are</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:29">xpressed here haven't been improved much on although</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:32"> if we come into modern times we can make it look prettier</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:35"></subtitle> | ||
+ | |||
+ | <subtitle id="0:13:38"> and we</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:41"> have this model as do two Yoshiki Oshima and</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:44"> Bert Freudenberg who made this and</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:47"> now in the modern version of course</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:50"> words</subtitle> | ||
+ | |||
+ | <subtitle id="0:13:53"> have weight so I'll say Ivan</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:2">for inventing</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:5"> this</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:8"> and we're</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:11">constraints a little bit differently here and</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:14"> so we put them inside this weight</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:17"> here here's a couple of them so here's</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:20"> the spring constraint so the beams are all Springs</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:23"> here this is gravity and this is the pinned constraint</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:26"> so if I turn gravity off the</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:29"> springs will pull it I</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:32"> love the idea just</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:35"> the idea that a physical object is actually a process</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:38"> so it's gone to zero I turn gravity</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:41"> back on and</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:44"> let's turn off the</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:47"> pin constraint the pins constraint is what</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:50"> is holding all of these girders together at the at</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:53"> the joints here so just pull it off</subtitle> | ||
+ | |||
+ | <subtitle id="0:14:56"></subtitle> | ||
+ | |||
+ | <subtitle id="0:14:59"></subtitle> | ||
+ | |||
+ | <subtitle id="0:15:2"> okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:5">ou know we have all these useful objects down there and</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:8"> we know these are these objects what we're seeing</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:11">are just costumes on these objects so let's repurpose</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:14"> them we'll give this system a different set of constraints</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:17">and I'll use the little balloon here to raise them up</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:20"> okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:23"> and we this is not such a big news because we</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:26"> do our layout using constraints so</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:29"> this is a user interface of the system I'm actually giving</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:32"> this this talk in terms of</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:35"> Steve Jobs might like the steel look but</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:38"> I think being a little more colorful we can</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:41"> try</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:44"> we</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:47"> can try a blue look here that looks</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:50"> a little bit too much like a company we're all familiar</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:53"> with so the system is a bit of a Frankenstein</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:56"> monster so I'll go for a Halloween theme here</subtitle> | ||
+ | |||
+ | <subtitle id="0:15:59"> and</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:2"> I've got a</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:5">this is kind of like a presentation</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:8"> system except I can program in it so what I'm</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:11"> going to what I'm going to do here is just</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:14"> go to the sort of a slide presentation but</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:17"> in fact I can still interact with it because it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:20"> this is just a view there are no modes in</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:23"> this system and this brings</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:26"> us to what I think of as the third turning machine</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:29"> we talked about the first 2/3 Turing</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:32">machine was the machines he built out of biology</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:35"> and this is in fact the first turing paper i wrote was</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:38"> that I read when I was a biologist was</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:41">morphogenesis paper and even though I was a math major also</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:44"> at that time I will confess I did not</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:47"> understand the mathematics in it it was deep and</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:50">actually he warns in the beginning of that paper of</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:53"> what parts to read unless you're really into mathematics</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:56"> but one of the ideas here is he</subtitle> | ||
+ | |||
+ | <subtitle id="0:16:59"> was trying to show that relatively simple systems</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:2"> of gradients interacting with each other can</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:5"> give rise to an enormous number of morphological</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:8"> structures and these are some</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:11"> some from his original paper</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:14"> and these are computer generation of</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:17"> some of his models more recently</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:20"> and</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:23"> you can do other things with these so</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:26"> radiance we can do something</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:29"> that's kind of like particles and fields here</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:32"> we've got little ants following the gradient and</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:35">they'll all eventually migrate their way up into</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:38"> that upper left-hand corner</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:41">it looks like they're somewhat coordinated</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:44"> but in fact they're all just following their own</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:47"> their own thing and even</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:50"> though we could build our text handling</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:53"> stuff in this form it</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:56"> suggests yeah</subtitle> | ||
+ | |||
+ | <subtitle id="0:17:59"> well why not make the letters ants</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:2"> and so if we tell these guys</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:5"> to</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:8"> interact with each other and</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:11"> by the way this these three rules here</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:14"> are the rules for this text editor here</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:17"> so you can sort of see what that looks like</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:20"> and another little wrinkle in here</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:23"> this that was done by Ted kale or another wrinkle</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:26"> here is done by Erin Lindsay and</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:29"> it's that nowadays we have the computing power</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:32"> so that we don't have to compute just one</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:35"> version of something but we can compute multiple version</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:38"> so for instance here are three</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:41"> suggestions three views of this paragraph</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:44"> computed all at once in different worlds</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:47"> and we see the outline super opposed</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:50"> over it and we</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:53"> can sort of see how</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:56"> this works and this underlines that when you're</subtitle> | ||
+ | |||
+ | <subtitle id="0:18:59"> doing what type programming you really want</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:2"> to have a user interface that is</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:5"> giving you a sense of what the possibilities are going on</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:8"> because the system is doing more for you than when</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:11"> you're doing sequential programming</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:14"> and of course there's the question</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:17"> of doing the graphics here and so</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:20"> dan amma liang did the graphics for</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:23"> this system and an assemble way using mathematical</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:26"> relationships first here's a formula</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:29"> for the involvement of a polygon</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:32"> with with a pixel and then</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:35"> he made a mathematical language</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:38"> that allows us to express</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:41">in a form that runs so you can think of this as kind</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:44"> of a specification that actually runs and in</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:47">previous discussions I'd say my prejudices</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:50"> are to make our specification</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:53">language something that we can debug and then ship</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:56"> because the problem is you're always involved</subtitle> | ||
+ | |||
+ | <subtitle id="0:19:59"> in not just programming something but</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:2"> you also have to do all the reasons</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:5"> for the programming and those can have bugs also</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:8"> so I kind of like this way but I happen to agree with Butler</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:11"> that sometimes trying to make things clean</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:14"> is difficult but on the other hand think about</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:17"> wonderful it is when you can make them clean so</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:20"> that does things</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:23"> like that and then we have Willian compositing</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:26"> rules but there they all are just</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:29"> 95 lines of code</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:32"> we have pen stroking and</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:35"> like this and</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:38"> we</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:41"> have gradients</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:44"> and texturing and stuff and the best way to show that is to go</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:47"> back here and I'll just pick something in the user interface because</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:50"> the whole system is live I'll say okay gradient</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:53"> fill and I'll just wreak ustym</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:56"> eyes my little in thing here</subtitle> | ||
+ | |||
+ | <subtitle id="0:20:59"> because that's the live thing</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:2"> that goes along with that okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:5"> and then back</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:8"> up and then bitmap filters</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:11"> and everything and so in this form all of</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:14">we're familiar with on a personal computer is</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:17"> 435 lines of code and yeah</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:20">you have to learn a language that's a little bit like AP element</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:23"> meets Christopher stray key but in</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:26">compactness of it and the understandability</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:29"> of it is fantastic</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:32"> and in order to make languages like that</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:35">fast we made a metal language</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:38"> Alex Wirth did this and it makes</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:41"> converts expressions into</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:44"> object relationships that you can</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:47"> do things like compile with or interpret or you</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:50"> can do something really interesting</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:53"> and illuminating with it as Brett</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:56"> vicar young fantastic user interface</subtitle> | ||
+ | |||
+ | <subtitle id="0:21:59"> designer Brett would say yeah that's not really</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:2"> interaction you need to continuously experience</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:5"> the meaning of your meanings not just hit</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:8">and have them happen and this is possible in</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:11"> this graphics language because it's actually a</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:14"> data flow system as well as as</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:17"> well as a very high higher level language</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:20"> and so the</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:23"> oops</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:26"> sorry so</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:29"> here's an example of</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:32"> the letter D and here's</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:35"> what bread has done he has automatically</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:38"> gone through those that code that</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:41"> I showed you and he has built this visualization</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:44"> over here automatically from it so</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:47"> just so here's a Bezier curve</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:50">can edit this letter D here and you notice everything</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:53"> else is reacting here the six</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:56"> bezzie A's that becomes</subtitle> | ||
+ | |||
+ | <subtitle id="0:22:59"> the input of the rasterizer</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:2"> that produces 49</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:5"> span coverages and I can</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:8">from I can</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:11"> open these up and</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:14"> what</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:17"> it does is it takes me on a tour automatically through the</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:20"> code forwards and backwards and shows me what's</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:23"> going on and of course the next step 2 after this would</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:26">be instead of writing this stuff over on the right first you</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:29"> might want to start off with your examples first and develop</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:32"> the stuff on the right</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:35"></subtitle> | ||
+ | |||
+ | <subtitle id="0:23:38"> okay and so in</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:41">architecture for this is somewhat similar to things have been talked</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:44"> about for a while this is Ellen</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:47">Hossam Savini who have been</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:50"> working on this and basic ideas whenever you can stay</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:53"> up at the what level the constraint level the meaning</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:56"> level the relational level things are generally</subtitle> | ||
+ | |||
+ | <subtitle id="0:23:59"> good and you'd</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:2"> like to have a language or two not</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:5"> too many of them that really allows you to</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:8"> express these not just for special cases</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:11"> I mean one of the points of this is it's time</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:14"> to start thinking of doing what programming for systems</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:17"> programming making operating systems and basic</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:20"> elements out of it where</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:23"> the system is in charge of doing the house</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:26"> the solvers the optimizations the pragmatics</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:29"> and there's zillions of these</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:32"> we want to</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:35">work up here this is kind of sketchpad like it's gets bad</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:38"> I had three of these we actually need a lot of them</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:41"> in between we need something that is</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:44"> not just a kind of a chooser but also kind of an</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:47"> expert system that knows about this idea</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:50"> that can make judicious choices</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:53"> and maybe even parallel choices to tie this together</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:56"> so when</subtitle> | ||
+ | |||
+ | <subtitle id="0:24:59"> I look out on the world here and somebody</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:2"> asked me about the Turing tarpit I think</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:5"> it's a Turing opportunity and</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:8"> if there's a tarp it around I</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:11"> think it's inside of our own heads thank you very much</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:20">great so we'll take questions</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:23"> you pointed someone and I'll run a mic to them and</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:26"> we have about five minutes for questions</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:29"> questions anyway I'm always</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:32"> very great Butler always reminds me that's that</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:35"> Butler gives great talks and he actually gets</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:38"> done when he's supposed to and he's I'm</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:41"> just grateful that he went on before I do because it reminded</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:44"> me I should get done good Alex Wolff</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:47"> hi Alex Wolff</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:50"> aren't yesterday's what's</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:53"> today's house on ad</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:56"> infinitum</subtitle> | ||
+ | |||
+ | <subtitle id="0:25:59"> aren't</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:2"> yesterday's what's today's house odd</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:5"> infinitum</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:8"> I'm</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:11"> gonna let Alan repeat okay okay</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:14"> shall I saying it again but the point is that you</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:17"> know we don't know how to do something</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:20"> we we then know how to do it yeah I</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:23"> got it and then we complain about it yes</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:26"> well actually some people even regarded Fortran</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:29"> as an AI program back then because</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:32"> it did something that only humans could do and people</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:35">complain that every time a problem gets solved it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:38"> removed from the domain of ai ai ai never</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:41"> gets any credit for it because it just goes into engineering</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:44"> yeah there's something to be said about that and</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:47"> maybe one way of looking at this is saying hey it's a</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:50"> it's not that it people haven't been working on what's for</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:53"> 50 or 60 years but I think it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:56"> way out of balance if you look at where</subtitle> | ||
+ | |||
+ | <subtitle id="0:26:59"> the programming is going and I believe</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:2"> that the time is ripe now over</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:5"> the next five to eight years to actually</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:8"> do something serious at this</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:11"> level that is</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:14"> sort of in between specifications</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:17"> requirements prototyping and making</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:20"> something that can be delivered with perhaps by</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:23"> adding optimizations that don't get</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:26"> into the the the meaningful part</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:29">hat's why this is a pep talk it's come</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:32"> on funders start funding the next revolution in</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:35"> being able to do serious program not</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:38"> just a special case program okay so there's a question over</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:41"> here we're good</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:44"> so tell us who</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:47"> you are my name is Ken Pierre Allen</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:50"> I'm surrounded by Dinah books got a little</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:53"> one of my hand it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:56"> been it's been 40 years and we've been talking</subtitle> | ||
+ | |||
+ | <subtitle id="0:27:59"> all day about predictions what are yours</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:2"> well the easiest</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:5"> you know there's a there's a saying that will go</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:8"> on my tombstone but if you think about it the the</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:11"> easiest way to predict the future is to prevent it so</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:14"></subtitle> | ||
+ | |||
+ | <subtitle id="0:28:17"></subtitle> | ||
+ | |||
+ | <subtitle id="0:28:20"> one of the one of the ways of looking at today is</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:23"> the discouraging amount of</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:26"> stuff that's still around that was</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:29"> barely scaling when it was invented and I so</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:32"> it's easy to predict that a lot of that will be around real question</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:35"> in I think in the experience</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:38"> of many of us takes critical masses of</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:41"> different kinds of people funded well to</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:44"> actually make serious breakthroughs because</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:47"> ideas are not</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:50"> enough there are plenty of good</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:53"> ideas around but I came greatly</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:56"> to appreciate the</subtitle> | ||
+ | |||
+ | <subtitle id="0:28:59"> qualities of people who can turn ideas</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:2"> into reality and so it's really the combination</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:5"> of them this is what is so difficult for</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:8"> instance from NSF funding as funding</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:11"> projects large enough to do the engineering aspects</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:14"> as well as the the ideational aspects</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:17"> good we're gonna squeeze in one last question</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:20"> how about something from over here</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:23"> god what a bunch of wimps nobody's got</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:26"> a hand up there weird oh okay I'll be right there</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:29"> put your hand up</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:32"> again good and tell us who you</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:35"> are Simon cuskey from citrus</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:38"> leaf Ellen you talked about preventing and</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:41"> you showed us this nice WYSIWYG live very</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:44"> few lines of code now the things that Ken</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:47"> was just talking about about all his dire</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:50"> botnets can you imagine using</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:53"> those techniques to deal with things once it gets</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:56">your your screen and starts going into the real world where</subtitle> | ||
+ | |||
+ | <subtitle id="0:29:59"> there's spam and malware and adversaries</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:2"> yeah well I'm I'm always accused</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:5"> of being too optimistic but and</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:8"> to me the many</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:11"> of the protection aspects of things</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:14"> I have a probably an over simplistic way of thinking</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:17"> about it but I believe you have to do the safety</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:20"> and protection aspects as the first part</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:23"> of the design rather than trying to tack them on</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:26"> afterwards and I</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:29"> happen to like the internet a lot I</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:32"> think those guys did a fantastic job and to</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:35"> me it's the only real object-oriented system on the</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:38"> planet because the machines themselves are</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:41">ncapsulated things and it is not possible to send</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:44"> a message on the internet that will cause any machine</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:47"> to crash because it's true</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:50"> because it's only stupid software that other people</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:53"> put on the machine interpreting what is</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:56">a pure message interpreting that in some stupid way</subtitle> | ||
+ | |||
+ | <subtitle id="0:30:59"> that allows that so to</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:2">Internet is a good model and it must have a few billion</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:5"> nodes by now it has never had to be stopped</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:8"> to be updated it's probably</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:11"> exchanged out most of its atoms and</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:14"> much of its bits at least once</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:17"> since say the late 60s when the</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:20"> ARPANET started so it it's the thing that is</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:23">like a living organism it's the thing that is going</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:26"> into the future it's the thing that we have to look</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:29"> at when we're thinking about building systems</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:32"> and so on it's in a biological system the</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:35"> the entire dynamic</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:38"> in biology is not being correct</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:41"> but in curtailing</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:44"> error a lot of</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:47">the proteins made a third of the 10,000</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:50"> proteins we have in each cell are there just</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:53"> to correct various kinds of damage to</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:56"> DNA and other important molecules that</subtitle> | ||
+ | |||
+ | <subtitle id="0:31:59"> are caused by kinetic</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:2"> energy of heat and some carcinogens</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:5"> and so it's not a question of the thing being</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:8"> perfect it's like the Internet it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:11"> not just IP but it's having something</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:14"> like TCP that can make sure the retransmissions</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:17"> and other things happen so you eventually</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:20"> get the bits that you want but</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:23"> not you may not get them for a while so it</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:26"> becomes a kind of a stochastic computing</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:29"> and I think that it</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:32"> couples well to what Butler was saying and also</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:35"> this model I was showing that it's it's</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:38"> that the more we get into the what's the more we can build systems</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:41"> that can do these stochastic convergent</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:44"> strategies that</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:47"> will allow us to build bigger systems on</subtitle> | ||
+ | |||
+ | <subtitle id="0:32:50"> that very optimistic note thank you</subtitle> |
Latest revision as of 20:41, 6 December 2017
about
two minutes to set this up
okay now is it I
love that we are the
testers for these microphones so I'd like
the AV people to turn off the video there take
take me about one minute to
set things up here
because this is actually in the
nature of a pep talk and
it's an optimistic
pep talk about
about software and it's based
on the work of many people
here I should mention that
many of my heroes are
in this room and not just the people
who got the Turing Awards but some
colleagues I've worked with over the years are
my heroes I think
we wind up
making Ecology's when we're
trying to do things this is sometimes been
been mentioned and these
ecologies are critical
because they actually require a wide variety
of different talents I've always felt that
Turing exemplified
a wide variety of talents
inside himself just pretty darn amazing
I
probably forgot something but okay let's let's
start here
so this pep
talk is about the Turing tarpit
and what we might do with it and about
it and I
don't know where the I was a big fan of L perlis
as a fantastic guy
who was the first Turing Award winner and early
he said beware of the Turing tarpit where ever
as possible but nothing is easy and
what's interesting about he was talking about programming languages
but in fact this is true the computer itself
that's the problem it's got all these
wonderful degrees of freedom and we
glorify in those because that's what makes it the
most interesting machine that anybody has ever invented
and of course the the
problem here is oops and
fallen and perish now I did
a little research on Tar Pits and
I could
not find anywhere that
any humans were ever found in
a tar pit that were not put there specifically
as a ritual burial so
it seems like humans are a lot smarter than sloths
sometimes you never can
tell but in fact it
humans were pretty good at avoiding the tar pit but
we created a different kind we realized
oh there's there are all these hydrocarbons
and fossil fuels and we wind up with this and
oh this and one of the slums in
Rio de Janeiro my two favorite pictures
of what I think of as software today
and
the problem is we can't see them we can only see 30
or 40 lines of code at a time and there's
this enormous festering whatever
it is and
so this goes from loops to a yikes
the tendency we
country is to beat everything to death with the club and
what what happens is the sub goals
become the goals so at some point just building
refineries become the goals we're
really what we wanted is energy and
it happens that 67%
of fossil fuels are burnt to make electricity and
well if we want electricity there are other
ways of doing it for instance photosynthesis is
pretty nice I used to be a biologist
and what happens
is through a beautiful series
of chemical reactions and some physical pathways
it's pretty darn efficient at getting electrons
and electrons or what we want so
we get a yay on that and there
are a lot of organisms that do this and
the ones that don't feed on the ones that do
and it happens that the metabolism
basal metabolism in all living
cells is somewhat similar and it's looking
from the energetic standpoint it's really about just transferring electrons
around and
so there are a lot of electrons there and in fact recently it
was discovered that many bacteria
extend microtubules between
each other not for the purposes of sex but
for the purpose of exchanging electrons
that incredible so
they can get a kind of a feeding from
each other they share it's a socialized electrons
and because
there are so many of these there Adam
favorite engineers who's also a biologist
says hey just stick
things into the ground anywhere on the earth including
the Sahara Desert and you've got a fuel cell
made out of living microbes that are just
happened to be there by the billions and trillions and
so in fact you can pretty much any
bucket of dirt that you get outside you can run in a 60 watt
bulb just by having
the right kinds of things that you stick in there it doesn't require any
additional power this is kind of a metaphor
for I think what we should be thinking
software we have to think about what it is that we actually want
to do and I don't think our main goal is writing millions
of lines of code what we want it is for to
do something so
we've heard this in various ways today
this idea of let's try a science and math
let's not beat it to death and
idea number two here is this
distinction between tactics and strategies when
we're building things and tactical stuff is usually pretty
incremental and somewhat similar to where you were
so bricks lead to piles
and stacks and if you scale them up
you get pyramids and walls and they
have a certain simplicity to them anybody can learn how
to be a bricklayer and so this has
a lot going for it it's very transferable and so
forth but it has some limitations and so
there's a strategic direction we could go which
is before we build things out of the materials
let's think of things we can make out of the materials that
will be new materials so in
architecture let's make some arches that's
where the term came from and these things are
incredibly efficient the
Romans made such good cement aluminum
silicates plus compaction
that many of these structures built thousands
of years ago still survived today
if you've been in the pantheon looks like it
was built yesterday instead of 2,000 years ago
in fact it looks like is made out of granite rather
than the best reinforced concrete anybody has ever made
by the way the frost giants in the
vogner operas came out of the inability
of the Goths and the Visigoths to tear down these
aqueducts in
the Dark Ages they concluded only Giants could
have built them but in fact it was just
people like us with some technique
and the same thing is true in computers
our building block is a comparison
we could call it the scheffers stroke if you want
and again we can go tactically
in calculators we can add
a strategic element the stored program I loves
jacquard looms and this
notion of storage models
of computing is recapitulated through many of our
languages and predominant
amount of programming today despite
some fringe areas is actually
done using this storage model in a wide variety of
forms including so-called object-oriented languages
so this is kind of the general thing you find
today most universities train towards
these and so we we're talking
about Turing really
interesting idea is this brick ideas yeah
you can program a computer to make something that's like the
computer you're on but you can also make
something a computer that is very different from the computer
it's on and the first one of these that I ever saw was ivan
sutherland sketchpad and it
definitely a computer it was programmable it
wasn't programmable like any other computer had ever been and
was completely different than the enormous tx2
computer that it that it ran on and
one way of thinking about it and EDD Feigenbaum
blazed the trail here is that
a lot of computing today is done in terms of house and
as far back
as 50 and 60 years ago people were already starting
about can't we just program in terms of what's another
one was john mccarthy
whose early paper on the advice
taker a an intelligent
terminal agent that you could give advice
to that could deal with things in common
sense terms lisp was
actually invented to be a programming language to make that that
was an early idea and of course Marvin Minsky
and Ed Fagin bellman and so forth have
talked about intelligent systems as
terminal agents I'm going to focus not
so much on AI here but just
this notion of what do we get if we can find
think in terms of and we got a Marvin
call the semantic information process
processing I'm gonna focus on sketchpad here because
it's not only Turing's 100th
birthday it happens to be the 50th birthday of sketchpad
this year and I'm sure Ivan has forgotten
this because he's famous of forgetting things like this
yes because he refuses to talk about
sketchpad I thought I would say a few words about it
so it's
famous for being the invention of interactive
computer graphics it's
less known that it was really the invent really the first
object-oriented system that had the
abstraction technique
of objects masters and instances
you can make a master rivet
and create instances from it and the
big knockout on sketchpad was the programming of it
was not done in terms of anything
like a storage model but was done by telling sketchpad
goals that
achieve and it had three spot home solvers in
it they would achieve those goals and one of the famous
examples here is this truss bridge
and it happens that there is
no movie available of this truss bridge and
the reason is that
tx2 took awhile to settle
the constraints on this bridge I believe
but because it's the 50th anniversary of
sketchpad we have recreated the
sketchpad display and this twinkling
ivan will recognize because it
actually plotted points and they had to be
randomized throughout core you go crazy
with vertigo on it and
so with sketch pad you could
you know
add a truss in here
you could turn on the constraints one of which is
gravity and sketch pay I would compute
all of the beams there and
we can see what effect
this this one has of adding it in here those
1962
and
a wait and
another way and
there's twinkling and stuff caused
a series of better displays to be made
but it's interesting that in many ways
the semantics are
xpressed here haven't been improved much on although
if we come into modern times we can make it look prettier
and we
have this model as do two Yoshiki Oshima and
Bert Freudenberg who made this and
now in the modern version of course
words
have weight so I'll say Ivan
for inventing
this
and we're
constraints a little bit differently here and
so we put them inside this weight
here here's a couple of them so here's
the spring constraint so the beams are all Springs
here this is gravity and this is the pinned constraint
so if I turn gravity off the
springs will pull it I
love the idea just
the idea that a physical object is actually a process
so it's gone to zero I turn gravity
back on and
let's turn off the
pin constraint the pins constraint is what
is holding all of these girders together at the at
the joints here so just pull it off
okay
ou know we have all these useful objects down there and
we know these are these objects what we're seeing
are just costumes on these objects so let's repurpose
them we'll give this system a different set of constraints
and I'll use the little balloon here to raise them up
okay
and we this is not such a big news because we
do our layout using constraints so
this is a user interface of the system I'm actually giving
this this talk in terms of
Steve Jobs might like the steel look but
I think being a little more colorful we can
try
we
can try a blue look here that looks
a little bit too much like a company we're all familiar
with so the system is a bit of a Frankenstein
monster so I'll go for a Halloween theme here
and
I've got a
this is kind of like a presentation
system except I can program in it so what I'm
going to what I'm going to do here is just
go to the sort of a slide presentation but
in fact I can still interact with it because it's
this is just a view there are no modes in
this system and this brings
us to what I think of as the third turning machine
we talked about the first 2/3 Turing
machine was the machines he built out of biology
and this is in fact the first turing paper i wrote was
that I read when I was a biologist was
morphogenesis paper and even though I was a math major also
at that time I will confess I did not
understand the mathematics in it it was deep and
actually he warns in the beginning of that paper of
what parts to read unless you're really into mathematics
but one of the ideas here is he
was trying to show that relatively simple systems
of gradients interacting with each other can
give rise to an enormous number of morphological
structures and these are some
some from his original paper
and these are computer generation of
some of his models more recently
and
you can do other things with these so
radiance we can do something
that's kind of like particles and fields here
we've got little ants following the gradient and
they'll all eventually migrate their way up into
that upper left-hand corner
it looks like they're somewhat coordinated
but in fact they're all just following their own
their own thing and even
though we could build our text handling
stuff in this form it
suggests yeah
well why not make the letters ants
and so if we tell these guys
to
interact with each other and
by the way this these three rules here
are the rules for this text editor here
so you can sort of see what that looks like
and another little wrinkle in here
this that was done by Ted kale or another wrinkle
here is done by Erin Lindsay and
it's that nowadays we have the computing power
so that we don't have to compute just one
version of something but we can compute multiple version
so for instance here are three
suggestions three views of this paragraph
computed all at once in different worlds
and we see the outline super opposed
over it and we
can sort of see how
this works and this underlines that when you're
doing what type programming you really want
to have a user interface that is
giving you a sense of what the possibilities are going on
because the system is doing more for you than when
you're doing sequential programming
and of course there's the question
of doing the graphics here and so
dan amma liang did the graphics for
this system and an assemble way using mathematical
relationships first here's a formula
for the involvement of a polygon
with with a pixel and then
he made a mathematical language
that allows us to express
in a form that runs so you can think of this as kind
of a specification that actually runs and in
previous discussions I'd say my prejudices
are to make our specification
language something that we can debug and then ship
because the problem is you're always involved
in not just programming something but
you also have to do all the reasons
for the programming and those can have bugs also
so I kind of like this way but I happen to agree with Butler
that sometimes trying to make things clean
is difficult but on the other hand think about
wonderful it is when you can make them clean so
that does things
like that and then we have Willian compositing
rules but there they all are just
95 lines of code
we have pen stroking and
like this and
we
have gradients
and texturing and stuff and the best way to show that is to go
back here and I'll just pick something in the user interface because
the whole system is live I'll say okay gradient
fill and I'll just wreak ustym
eyes my little in thing here
because that's the live thing
that goes along with that okay
and then back
up and then bitmap filters
and everything and so in this form all of
we're familiar with on a personal computer is
435 lines of code and yeah
you have to learn a language that's a little bit like AP element
meets Christopher stray key but in
compactness of it and the understandability
of it is fantastic
and in order to make languages like that
fast we made a metal language
Alex Wirth did this and it makes
converts expressions into
object relationships that you can
do things like compile with or interpret or you
can do something really interesting
and illuminating with it as Brett
vicar young fantastic user interface
designer Brett would say yeah that's not really
interaction you need to continuously experience
the meaning of your meanings not just hit
and have them happen and this is possible in
this graphics language because it's actually a
data flow system as well as as
well as a very high higher level language
and so the
oops
sorry so
here's an example of
the letter D and here's
what bread has done he has automatically
gone through those that code that
I showed you and he has built this visualization
over here automatically from it so
just so here's a Bezier curve
can edit this letter D here and you notice everything
else is reacting here the six
bezzie A's that becomes
the input of the rasterizer
that produces 49
span coverages and I can
from I can
open these up and
what
it does is it takes me on a tour automatically through the
code forwards and backwards and shows me what's
going on and of course the next step 2 after this would
be instead of writing this stuff over on the right first you
might want to start off with your examples first and develop
the stuff on the right
okay and so in
architecture for this is somewhat similar to things have been talked
about for a while this is Ellen
Hossam Savini who have been
working on this and basic ideas whenever you can stay
up at the what level the constraint level the meaning
level the relational level things are generally
good and you'd
like to have a language or two not
too many of them that really allows you to
express these not just for special cases
I mean one of the points of this is it's time
to start thinking of doing what programming for systems
programming making operating systems and basic
elements out of it where
the system is in charge of doing the house
the solvers the optimizations the pragmatics
and there's zillions of these
we want to
work up here this is kind of sketchpad like it's gets bad
I had three of these we actually need a lot of them
in between we need something that is
not just a kind of a chooser but also kind of an
expert system that knows about this idea
that can make judicious choices
and maybe even parallel choices to tie this together
so when
I look out on the world here and somebody
asked me about the Turing tarpit I think
it's a Turing opportunity and
if there's a tarp it around I
think it's inside of our own heads thank you very much
great so we'll take questions
you pointed someone and I'll run a mic to them and
we have about five minutes for questions
questions anyway I'm always
very great Butler always reminds me that's that
Butler gives great talks and he actually gets
done when he's supposed to and he's I'm
just grateful that he went on before I do because it reminded
me I should get done good Alex Wolff
hi Alex Wolff
aren't yesterday's what's
today's house on ad
infinitum
aren't
yesterday's what's today's house odd
infinitum
I'm
gonna let Alan repeat okay okay
shall I saying it again but the point is that you
know we don't know how to do something
we we then know how to do it yeah I
got it and then we complain about it yes
well actually some people even regarded Fortran
as an AI program back then because
it did something that only humans could do and people
complain that every time a problem gets solved it's
removed from the domain of ai ai ai never
gets any credit for it because it just goes into engineering
yeah there's something to be said about that and
maybe one way of looking at this is saying hey it's a
it's not that it people haven't been working on what's for
50 or 60 years but I think it's
way out of balance if you look at where
the programming is going and I believe
that the time is ripe now over
the next five to eight years to actually
do something serious at this
level that is
sort of in between specifications
requirements prototyping and making
something that can be delivered with perhaps by
adding optimizations that don't get
into the the the meaningful part
hat's why this is a pep talk it's come
on funders start funding the next revolution in
being able to do serious program not
just a special case program okay so there's a question over
here we're good
so tell us who
you are my name is Ken Pierre Allen
I'm surrounded by Dinah books got a little
one of my hand it's
been it's been 40 years and we've been talking
all day about predictions what are yours
well the easiest
you know there's a there's a saying that will go
on my tombstone but if you think about it the the
easiest way to predict the future is to prevent it so
one of the one of the ways of looking at today is
the discouraging amount of
stuff that's still around that was
barely scaling when it was invented and I so
it's easy to predict that a lot of that will be around real question
in I think in the experience
of many of us takes critical masses of
different kinds of people funded well to
actually make serious breakthroughs because
ideas are not
enough there are plenty of good
ideas around but I came greatly
to appreciate the
qualities of people who can turn ideas
into reality and so it's really the combination
of them this is what is so difficult for
instance from NSF funding as funding
projects large enough to do the engineering aspects
as well as the the ideational aspects
good we're gonna squeeze in one last question
how about something from over here
god what a bunch of wimps nobody's got
a hand up there weird oh okay I'll be right there
put your hand up
again good and tell us who you
are Simon cuskey from citrus
leaf Ellen you talked about preventing and
you showed us this nice WYSIWYG live very
few lines of code now the things that Ken
was just talking about about all his dire
botnets can you imagine using
those techniques to deal with things once it gets
your your screen and starts going into the real world where
there's spam and malware and adversaries
yeah well I'm I'm always accused
of being too optimistic but and
to me the many
of the protection aspects of things
I have a probably an over simplistic way of thinking
about it but I believe you have to do the safety
and protection aspects as the first part
of the design rather than trying to tack them on
afterwards and I
happen to like the internet a lot I
think those guys did a fantastic job and to
me it's the only real object-oriented system on the
planet because the machines themselves are
ncapsulated things and it is not possible to send
a message on the internet that will cause any machine
to crash because it's true
because it's only stupid software that other people
put on the machine interpreting what is
a pure message interpreting that in some stupid way
that allows that so to
Internet is a good model and it must have a few billion
nodes by now it has never had to be stopped
to be updated it's probably
exchanged out most of its atoms and
much of its bits at least once
since say the late 60s when the
ARPANET started so it it's the thing that is
like a living organism it's the thing that is going
into the future it's the thing that we have to look
at when we're thinking about building systems
and so on it's in a biological system the
the entire dynamic
in biology is not being correct
but in curtailing
error a lot of
the proteins made a third of the 10,000
proteins we have in each cell are there just
to correct various kinds of damage to
DNA and other important molecules that
are caused by kinetic
energy of heat and some carcinogens
and so it's not a question of the thing being
perfect it's like the Internet it's
not just IP but it's having something
like TCP that can make sure the retransmissions
and other things happen so you eventually
get the bits that you want but
not you may not get them for a while so it
becomes a kind of a stochastic computing
and I think that it
couples well to what Butler was saying and also
this model I was showing that it's it's
that the more we get into the what's the more we can build systems
that can do these stochastic convergent
strategies that
will allow us to build bigger systems on
that very optimistic note thank you