Difference between revisions of "Rethinking Design, Risk, and Software (2012)"
(22 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
|id=QboI_1WJUlM | |id=QboI_1WJUlM | ||
|alignment=left | |alignment=left | ||
− | |autoresize= | + | |autoresize=true |
}} | }} | ||
+ | <slideview/> | ||
== Introduction by Joel Orr == | == Introduction by Joel Orr == | ||
<note for="0:06"> | <note for="0:06"> | ||
+ | <slide for="0:00" name="COFES2012-Title.png"/> | ||
Joel Orr was Chief Visionary (Emeritus) at Cyon Research. | Joel Orr was Chief Visionary (Emeritus) at Cyon Research. | ||
</note> | </note> | ||
Line 33: | Line 35: | ||
== What is Engineering? == | == What is Engineering? == | ||
+ | <note for="0:2:56"> | ||
+ | <slide for="2:56" name="COFES2012-WhatIsEngineering1.png"/> | ||
+ | <slide for="3:20" name="COFES2012-WhatIsEngineering2.png"/> | ||
+ | <slide for="3:26" name="COFES2012-WhatIsEngineering3.png"/> | ||
+ | <slide for="3:32" name="COFES2012-WhatIsEngineering4.png"/> | ||
+ | <slide for="3:50" name="COFES2012-WhatIsEngineering5.png"/> | ||
+ | <slide for="3:59" name="COFES2012-WhatIsEngineering6.png"/> | ||
+ | <slide for="4:08" name="COFES2012-WhatIsEngineering7.png"/> | ||
+ | <slide for="4:14" name="COFES2012-WhatIsEngineering8.png"/> | ||
+ | <slide for="4:23" name="COFES2012-WhatIsEngineering9.png"/> | ||
+ | <slide for="4:24" name="COFES2012-WhatIsEngineering10.png"/> | ||
+ | </note> | ||
<subtitle id="0:2:56"> You all know what I mean. Okay, let's tackle engineering first.</subtitle> | <subtitle id="0:2:56"> You all know what I mean. Okay, let's tackle engineering first.</subtitle> | ||
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<subtitle id="0:2:59"> One way of thinking about engineering is that in the world we're presented with situations. Here's a really nice beautiful one but it has a couple of drawbacks from practical human need that gives rise to an idea.</subtitle> | <subtitle id="0:2:59"> One way of thinking about engineering is that in the world we're presented with situations. Here's a really nice beautiful one but it has a couple of drawbacks from practical human need that gives rise to an idea.</subtitle> | ||
Line 71: | Line 71: | ||
<note for="0:4:38"> | <note for="0:4:38"> | ||
Paul Starrett oversaw and managed the construction of the Empire State Building. See [[Wikipedia:Paul_Starrett|Paul Starrett on Wikipedia]] | Paul Starrett oversaw and managed the construction of the Empire State Building. See [[Wikipedia:Paul_Starrett|Paul Starrett on Wikipedia]] | ||
− | + | <slide for="0:4:38" name="COFES2012-EmpireState1.png"/> | |
+ | <slide for="0:4:53" name="COFES2012-EmpireState2.png"/> | ||
+ | <slide for="0:4:54" name="COFES2012-EmpireState3.png"/> | ||
+ | <slide for="0:4:55" name="COFES2012-EmpireState4.png"/> | ||
+ | <slide for="0:4:56" name="COFES2012-EmpireState5.png"/> | ||
+ | <slide for="0:4:57" name="COFES2012-EmpireState6.png"/> | ||
+ | <slide for="0:4:58" name="COFES2012-EmpireState7.png"/> | ||
</note> | </note> | ||
<subtitle id="0:4:38"> here's an article in one of the engineering magazines that says planning control permit erection of 85 stories of steel in six months. It wasn't just 85 stories of steel, it was 85 stories of steel and granite.</subtitle> | <subtitle id="0:4:38"> here's an article in one of the engineering magazines that says planning control permit erection of 85 stories of steel in six months. It wasn't just 85 stories of steel, it was 85 stories of steel and granite.</subtitle> | ||
Line 87: | Line 93: | ||
<subtitle id="0:5:56"> There's some really interesting things. Anybody who aspires to being an engineer of any kind should be intimately familiar with how this was done.</subtitle> | <subtitle id="0:5:56"> There's some really interesting things. Anybody who aspires to being an engineer of any kind should be intimately familiar with how this was done.</subtitle> | ||
− | + | == A book on the Empire State Building == | |
+ | <note for="0:6:8"> | ||
+ | <slide for="0:6:8" name="COFES2012-Starrett1.png"/> | ||
+ | <slide for="0:6:10" name="COFES2012-Starrett2.png"/> | ||
+ | <slide for="0:6:12" name="COFES2012-Starrett3.png"/> | ||
+ | <slide for="0:6:14" name="COFES2012-Starrett4.png"/> | ||
+ | <slide for="0:6:16" name="COFES2012-Starrett5.png"/> | ||
+ | </note> | ||
<subtitle id="0:6:8"> What's wonderful that there are many good books about it, including this facsimile of the Foreman's, notebook. One of the foremen, every night, typed on his pica typewriter, and took a picture and pasted it in there.</subtitle> | <subtitle id="0:6:8"> What's wonderful that there are many good books about it, including this facsimile of the Foreman's, notebook. One of the foremen, every night, typed on his pica typewriter, and took a picture and pasted it in there.</subtitle> | ||
<subtitle id="0:6:26"> This has come down to us but we don't know who the foreman was. And, a few years ago it was a facsimile into a book that you can buy and are many interesting things are in there.</subtitle> | <subtitle id="0:6:26"> This has come down to us but we don't know who the foreman was. And, a few years ago it was a facsimile into a book that you can buy and are many interesting things are in there.</subtitle> | ||
− | <subtitle id="0:6:41"> | + | <subtitle id="0:6:41"> One of the questions that was asked the aspiring contractors was what tools do you have for this job.</subtitle> |
− | <subtitle id="0:6:50"> | + | <subtitle id="0:6:50"> One of them was Paul Starret who was one of two Starret brothers. They had built some very large buildings in Manhattan previously but they were one of three big companies bidding for this job.</subtitle> |
− | <subtitle id="0:7:2"> | + | <subtitle id="0:7:2"> They'd all said to this question, "well, we have all the tools we need in blah blah blah blah."</subtitle> |
<subtitle id="0:7:8"> What Starrett said is not a blankety-blank thing, not even a pick and shovel.</subtitle> | <subtitle id="0:7:8"> What Starrett said is not a blankety-blank thing, not even a pick and shovel.</subtitle> | ||
− | <subtitle id="0:7:14"> "Gentlemen, this building of yours is going to present unusual problems. Ordinary building equipment won't be built worth a damn on. it will buy and make new stuff fitted for the job that's what we do on every big job. | + | <subtitle id="0:7:14"> "Gentlemen, this building of yours is going to present unusual problems. Ordinary building equipment won't be built worth a damn on. it will buy and make new stuff fitted for the job that's what we do on every big job. It costs less than renting secondhand stuff, and it's more efficient." Okay.</subtitle> |
− | |||
− | |||
<subtitle id="0:7:32"> Now in software, a first order theory that's obtained as long as I've been in the field, which is 50 years, is that you should never build your own tools. It's a black hole. Don't build your own operating system. Don't build your own computer for god sakes .</subtitle> | <subtitle id="0:7:32"> Now in software, a first order theory that's obtained as long as I've been in the field, which is 50 years, is that you should never build your own tools. It's a black hole. Don't build your own operating system. Don't build your own computer for god sakes .</subtitle> | ||
Line 121: | Line 132: | ||
<subtitle id="0:9:2"> Sounds ridiculous, right? Not really.</subtitle> | <subtitle id="0:9:2"> Sounds ridiculous, right? Not really.</subtitle> | ||
+ | == Engineering Bridges == | ||
+ | |||
+ | <note for="0:9:5"> | ||
+ | <slide for="0:9:5" name="COFES2012-Bridge1.png"/> | ||
+ | <slide for="0:9:26" name="COFES2012-Bridge2.png"/> | ||
+ | <slide for="0:9:59" name="COFES2012-Bridge3.png"/> | ||
+ | <slide for="0:10:14" name="COFES2012-Bridge4.png"/> | ||
+ | <slide for="0:10:17" name="COFES2012-Bridge5.png"/> | ||
+ | <slide for="0:13:23" name="COFES2012-Bridge6.png"/> | ||
+ | <slide for="0:14:14" name="COFES2012-Bridge7.png"/> | ||
+ | </note> | ||
<subtitle id="0:9:5"> Now, the other thing about engineering, real engineering that makes it rather different still from what we attempt to do in software is this problem.</subtitle> | <subtitle id="0:9:5"> Now, the other thing about engineering, real engineering that makes it rather different still from what we attempt to do in software is this problem.</subtitle> | ||
− | <subtitle id="0:9:17"> This is the Tacoma Narrows Bridge. We have much | + | <subtitle id="0:9:17"> This is the Tacoma Narrows Bridge. We have much of our infrastructure is crumbling.</subtitle> |
− | <subtitle id="0:9:26"> Here's one that wasn't as funny as the Tacoma Narrows Bridge | + | <subtitle id="0:9:26"> Here's one that wasn't as funny as the Tacoma Narrows Bridge was funny because nobody got hurt.</subtitle> |
<subtitle id="0:9:32"> It was predicted by a University of Washington professor.</subtitle> | <subtitle id="0:9:32"> It was predicted by a University of Washington professor.</subtitle> | ||
Line 131: | Line 153: | ||
<subtitle id="0:9:38"> The reason they got good movies of it is he said when a wind comes up that's over 55 miles an hour, this bridge is going down. So, when that wind came up, they went down to a now-famous camera store in Seattle, famous for supplying the movie cameras, which they then took out to the bridge, set them up.</subtitle> | <subtitle id="0:9:38"> The reason they got good movies of it is he said when a wind comes up that's over 55 miles an hour, this bridge is going down. So, when that wind came up, they went down to a now-famous camera store in Seattle, famous for supplying the movie cameras, which they then took out to the bridge, set them up.</subtitle> | ||
+ | <note for="0:9:56"> | ||
+ | You can see the movie on the Internet, for example, like this one: [https://www.youtube.com/watch?v=j-zczJXSxnw|Tacoma Narrows Bridge Collapse.]. | ||
+ | </note> | ||
<subtitle id="0:9:56"> And, watch the thing shake itself apart.</subtitle> | <subtitle id="0:9:56"> And, watch the thing shake itself apart.</subtitle> | ||
Line 167: | Line 192: | ||
<subtitle id="0:13:5"> Now we don't know what happened to the Roman engineers who failed.</subtitle> | <subtitle id="0:13:5"> Now we don't know what happened to the Roman engineers who failed.</subtitle> | ||
− | <subtitle id="0:13:11">I've suspected, because their engineering was so good for its time, I've suspected that | + | <subtitle id="0:13:11">I've suspected, because their engineering was so good for its time, I've suspected that they actually wound up in the Colosseum for failures.</subtitle> |
<subtitle id="0:13:23">But consider this. This is the longest extant, it's not the longest Roman bridge ever made, but it's the longest one that we still have. With those light poles on it.</subtitle> | <subtitle id="0:13:23">But consider this. This is the longest extant, it's not the longest Roman bridge ever made, but it's the longest one that we still have. With those light poles on it.</subtitle> | ||
Line 176: | Line 201: | ||
<subtitle id="0:13:53"> This is partly because the Romans created the best cement the world has ever known. It took a long time for us to find out, just really about 10-15 years ago, to find out exactly what the secrets were of the Roman cement.</subtitle> | <subtitle id="0:13:53"> This is partly because the Romans created the best cement the world has ever known. It took a long time for us to find out, just really about 10-15 years ago, to find out exactly what the secrets were of the Roman cement.</subtitle> | ||
+ | |||
+ | <note for="0:14:14"> | ||
+ | Alcántara Bridge, also in Extremadura, Spain, [https://en.wikipedia.org/wiki/Alc%C3%A1ntara_Bridge]. | ||
+ | </note> | ||
<subtitle id="0:14:14"> How about this one. Same age. Again, if you walk right up to it, looks, holy smokes. This thing looks like it was built yesterday.</subtitle> | <subtitle id="0:14:14"> How about this one. Same age. Again, if you walk right up to it, looks, holy smokes. This thing looks like it was built yesterday.</subtitle> | ||
Line 195: | Line 224: | ||
<subtitle id="0:15:20">Yeah, so the answer to this question is, "no". Software Engineering cannot do anything like this today.</subtitle> | <subtitle id="0:15:20">Yeah, so the answer to this question is, "no". Software Engineering cannot do anything like this today.</subtitle> | ||
− | <subtitle id="0:15:32">To make some comparisons here, I just note that a 400 page book has 20,000 lines of text in it. | + | == "Can Software Engineering do anything like this?": Complexity of Software and Software Engineering == |
+ | <note for="0:15:32"> | ||
+ | <slide for="0:15:32" name="COFES2012-SoftwareEngineering1.png"/> | ||
+ | <slide for="0:15:35" name="COFES2012-SoftwareEngineering2.png"/> | ||
+ | <slide for="0:15:48" name="COFES2012-SoftwareEngineering3.png"/> | ||
+ | <slide for="0:15:57" name="COFES2012-SoftwareEngineering4.png"/> | ||
+ | <slide for="0:16:17" name="COFES2012-SoftwareEngineering5.png"/> | ||
+ | <slide for="0:16:48" name="COFES2012-SoftwareEngineering6.png"/> | ||
+ | <slide for="0:17:18" name="COFES2012-SoftwareEngineering7.png"/> | ||
+ | <slide for="0:17:24" name="COFES2012-SoftwareEngineering8.png"/> | ||
+ | <slide for="0:17:41" name="COFES2012-SoftwareEngineering8.png"/> | ||
+ | </note> | ||
+ | <subtitle id="0:15:32">To make some comparisons here, I just note that a 400 page book has 20,000 lines of text in it.</subtitle> | ||
+ | <subtitle id="0:15:35"> Each one of those could be a line of code so 20,000 line program is one 400 page book.</subtitle> | ||
<subtitle id="0:15:48"> And a foot of books is about 300,000 lines. Million lines of code per meter: there's an easy one to remember.</subtitle> | <subtitle id="0:15:48"> And a foot of books is about 300,000 lines. Million lines of code per meter: there's an easy one to remember.</subtitle> | ||
Line 221: | Line 263: | ||
<subtitle id="0:17:41"> We would love to have that modularity in the code that we write. so I think the picture that fits our code better is a slum.</subtitle> | <subtitle id="0:17:41"> We would love to have that modularity in the code that we write. so I think the picture that fits our code better is a slum.</subtitle> | ||
− | <subtitle id="0:17:51"> Particularly the web. | + | <subtitle id="0:17:51"> Particularly the web. But basically it's all rather slum like.</subtitle> |
<subtitle id="0:17:53">There is no large sense of architecture of any kind. Things are tacked in there.</subtitle> | <subtitle id="0:17:53">There is no large sense of architecture of any kind. Things are tacked in there.</subtitle> | ||
Line 230: | Line 272: | ||
<subtitle id="0:18:17"> But what is the actual level of improvement, which is tantamount to asking, how complex is the actual problems we're trying to solve compared to the complexity we're creating by just bumbling around.</subtitle> | <subtitle id="0:18:17"> But what is the actual level of improvement, which is tantamount to asking, how complex is the actual problems we're trying to solve compared to the complexity we're creating by just bumbling around.</subtitle> | ||
+ | |||
+ | == What is Science: With a hair ball standing in for Complexity == | ||
+ | <note for="0:18:35"> | ||
+ | <slide for="0:18:35" name="COFES2012-WhatIsScience1.png"/> | ||
+ | <slide for="0:19:2" name="COFES2012-WhatIsScience2.png"/> | ||
+ | <slide for="0:19:8" name="COFES2012-WhatIsScience3.png"/> | ||
+ | <slide for="0:19:17" name="COFES2012-WhatIsScience4.png"/> | ||
+ | <slide for="0:19:26" name="COFES2012-WhatIsScience5.png"/> | ||
+ | <slide for="0:19:29" name="COFES2012-WhatIsScience6.png"/> | ||
+ | <slide for="0:19:29" name="COFES2012-WhatIsScience7.png"/> | ||
+ | <slide for="0:20:41" name="COFES2012-WhatIsScience8.png"/> | ||
+ | <slide for="0:20:47" name="COFES2012-WhatIsScience9.png"/> | ||
+ | <slide for="0:20:53" name="COFES2012-WhatIsScience10.png"/> | ||
+ | <slide for="0:21:44" name="COFES2012-WhatIsScience11.png"/> | ||
+ | <slide for="0:21:50" name="COFES2012-WhatIsScience12.png"/> | ||
+ | </note> | ||
<subtitle id="0:18:35"> Let's ask a question about what science is. Now that we've talked about engineering.</subtitle> | <subtitle id="0:18:35"> Let's ask a question about what science is. Now that we've talked about engineering.</subtitle> | ||
Line 235: | Line 293: | ||
<subtitle id="0:18:44"> Real science looks at hairballs. This is my favorite hairball. It's about this big, recovered from the stomach of a woolly mammoth found in a glacier.</subtitle> | <subtitle id="0:18:44"> Real science looks at hairballs. This is my favorite hairball. It's about this big, recovered from the stomach of a woolly mammoth found in a glacier.</subtitle> | ||
− | <subtitle id="0:18:53"> But because hair balls are ugly to look at but it got your attention, | + | <subtitle id="0:18:53"> But because hair balls are ugly to look at but it got your attention, especially when I say how big it is.</subtitle> |
<subtitle id="0:19:2"> It represents complications. But, you know, the universe is good enough.</subtitle> | <subtitle id="0:19:2"> It represents complications. But, you know, the universe is good enough.</subtitle> | ||
Line 241: | Line 299: | ||
<subtitle id="0:19:8"> The starry night it's pretty air but it's still complicated. People spent thousand of years misunderstanding it in a bunch of ways.</subtitle> | <subtitle id="0:19:8"> The starry night it's pretty air but it's still complicated. People spent thousand of years misunderstanding it in a bunch of ways.</subtitle> | ||
+ | <note for="0:19:17"> | ||
+ | Scheffer Stroke is a logical operation of NAND, from which you can build any other operations, and logical structure. [https://en.wikipedia.org/wiki/Sheffer_stroke|Scheffer Stroke on Wikipedia]. | ||
+ | </note> | ||
<subtitle id="0:19:17"> We little creatures with our brains have languages. We can make all of our languages out of the Scheffer's stroke. Here, this is the NAND operator.</subtitle> | <subtitle id="0:19:17"> We little creatures with our brains have languages. We can make all of our languages out of the Scheffer's stroke. Here, this is the NAND operator.</subtitle> | ||
− | <subtitle id="0:19:29"> Because we have tiny little brains, we invented mathematics, and we come up with something like Maxwell's equations, or | + | <note for="0:19:29"> |
+ | Oliver Heavyside cleaned up the formula to concisely describe Maxwell original idea. [https://en.wikipedia.org/wiki/Oliver_Heaviside] | ||
+ | </note> | ||
+ | <subtitle id="0:19:29"> Because we have tiny little brains, we invented mathematics, and we come up with something like Maxwell's equations, or Heavyside's version of Maxwell's equation, and put a large part of the phenomena that we're looking at out there on a T-shirt.</subtitle> | ||
<subtitle id="0:19:47"> This represents complexity, so the complexity of the electromagnetic field, in large amounts of it, enough to invent a radio and radar and etc. etc., can be represented by a couple of these equations.</subtitle> | <subtitle id="0:19:47"> This represents complexity, so the complexity of the electromagnetic field, in large amounts of it, enough to invent a radio and radar and etc. etc., can be represented by a couple of these equations.</subtitle> | ||
Line 249: | Line 313: | ||
<subtitle id="0:20:5"> These equations should be symmetrical because the magnetic field and the electric field are trade off against each other but aren't.</subtitle> | <subtitle id="0:20:5"> These equations should be symmetrical because the magnetic field and the electric field are trade off against each other but aren't.</subtitle> | ||
− | <subtitle id="0:20:17"> So, if you worry about that and you happen to be named Einstein, you will come up with the special theory of relativity which will put symmetry into the whole thing and you get down to two equations, just like you should have. | + | <subtitle id="0:20:17"> So, if you worry about that and you happen to be named Einstein, you will come up with the special theory of relativity which will put symmetry into the whole thing and you get down to two equations, just like you should have. One for the electric field and one for the magnetic field.</subtitle> |
+ | <note for="0:20:35"> | ||
+ | The notation is not science. | ||
+ | </note> | ||
<subtitle id="0:20:35"> Now science is not this. The problem is when most people take science courses they're taught the T-shirt.</subtitle> | <subtitle id="0:20:35"> Now science is not this. The problem is when most people take science courses they're taught the T-shirt.</subtitle> | ||
− | <subtitle id="0:20:41"> But science is actually that. Science is the realm of the relationship between the phenomena that we can't get to./subtitle> | + | <subtitle id="0:20:41"> But science is actually that. Science is the realm of the relationship between the phenomena that we can't get to.</subtitle> |
+ | |||
+ | == Science with Engineering by making an artifact and observing it == | ||
<subtitle id="0:20:53"> Similarly, we can do science with engineering, because it's an artifact that has phenomena so we can actually look at that bridge that we built there. Scientists can look at what engineers do and make a T-shirt of it.</subtitle> | <subtitle id="0:20:53"> Similarly, we can do science with engineering, because it's an artifact that has phenomena so we can actually look at that bridge that we built there. Scientists can look at what engineers do and make a T-shirt of it.</subtitle> | ||
Line 265: | Line 334: | ||
<subtitle id="0:21:50"> Just for comparison, there is our Empire State Building. So the pylons on this bridge are the height of the Empire Building. And, there's the Great Pyramid of Egypt.</subtitle> | <subtitle id="0:21:50"> Just for comparison, there is our Empire State Building. So the pylons on this bridge are the height of the Empire Building. And, there's the Great Pyramid of Egypt.</subtitle> | ||
+ | <note for="0:22:0"> | ||
+ | Akashi Kaikyō Bridge. The longest suspension bridge in the world. [https://en.wikipedia.org/wiki/Akashi_Kaiky%C5%8D_Bridge| Wikipedia]. | ||
+ | </note> | ||
<subtitle id="0:22:0"> This is the Asahi [Akashi] bridge in Japan. Just can't beat it. So lovely.</subtitle> | <subtitle id="0:22:0"> This is the Asahi [Akashi] bridge in Japan. Just can't beat it. So lovely.</subtitle> | ||
<subtitle id="0:22:8"> So, this is what we want to think about. We want to think about real engineering. We want to think about real science.</subtitle> | <subtitle id="0:22:8"> So, this is what we want to think about. We want to think about real engineering. We want to think about real science.</subtitle> | ||
+ | == Computer Science, contrasted with Real Science and Engineering == | ||
+ | |||
+ | <note for="0:22:14"> | ||
+ | <slide for="0:22:14" name="COFES2012-ComputerScience1.png"/> | ||
+ | <slide for="0:22:29" name="COFES2012-ComputerScience2.png"/> | ||
+ | <slide for="0:22:41" name="COFES2012-ComputerScience3.png"/> | ||
+ | <slide for="0:23:5" name="COFES2012-ComputerScience4.png"/> | ||
+ | <slide for="0:23:20" name="COFES2012-ComputerScience5.png"/> | ||
+ | </note> | ||
<subtitle id="0:22:14"> Computer science is not real science. Ask anybody to give you a definition, and they will give you an engineering definition.</subtitle> | <subtitle id="0:22:14"> Computer science is not real science. Ask anybody to give you a definition, and they will give you an engineering definition.</subtitle> | ||
<subtitle id="0:22:20"> Part of it is because computer science persists in only building things. It doesn't spend a lot of time trying to understand them.</subtitle> | <subtitle id="0:22:20"> Part of it is because computer science persists in only building things. It doesn't spend a lot of time trying to understand them.</subtitle> | ||
− | <subtitle id="0:22:29"> So, you can look, you know, computers We have built.There, you have their complicated artifacts. Programming languages is a complicated artifacts you can do the same thing.</subtitle> | + | <subtitle id="0:22:29"> So, you can look, you know, computers We have built. There, you have their complicated artifacts. Programming languages is a complicated artifacts you can do the same thing.</subtitle> |
+ | <note for="0:22:41"> | ||
+ | What is on the T-shirt is Lisp semantics written in the form of an interpreter written in Lisp. The core of a language can fit on a T-Shirt. | ||
+ | </note> | ||
<subtitle id="0:22:41"> John McCarthy looked at them, and being a mathematician, you want a G-shirt ["T-shirt"]. This is the programming language Lisp on the T-shirt.</subtitle> | <subtitle id="0:22:41"> John McCarthy looked at them, and being a mathematician, you want a G-shirt ["T-shirt"]. This is the programming language Lisp on the T-shirt.</subtitle> | ||
Line 283: | Line 367: | ||
<subtitle id="0:23:8"> Whereas trying to go over on the other side and mess around with Fortran directly to make it better, it just never happen.</subtitle> | <subtitle id="0:23:8"> Whereas trying to go over on the other side and mess around with Fortran directly to make it better, it just never happen.</subtitle> | ||
+ | <note for="0:23:20"> | ||
+ | Alan is showing the cell biology he studied and the Internet that inspired [[Smalltalk]] design. | ||
+ | </note> | ||
<subtitle id="0:23:20"> So, John came up with a mathematical theory of computation. And, those of us who came in the next generation after McCarthy got to do some really fun things with this idea. I should mention that what I'm talking to you about actually happened in the 60s. </subtitle> | <subtitle id="0:23:20"> So, John came up with a mathematical theory of computation. And, those of us who came in the next generation after McCarthy got to do some really fun things with this idea. I should mention that what I'm talking to you about actually happened in the 60s. </subtitle> | ||
Line 289: | Line 376: | ||
<subtitle id="0:23:53">It just didn't happen. So most people program in a way that is strikingly similar to the way programming was done around 1965.</subtitle> | <subtitle id="0:23:53">It just didn't happen. So most people program in a way that is strikingly similar to the way programming was done around 1965.</subtitle> | ||
+ | == Tactics vs. Strategies == | ||
+ | |||
+ | <note for="0:24:5"> | ||
+ | <slide for="0:24:5" name="COFES2012-TacticsStrategies1.png"/> | ||
+ | <slide for="0:24:14" name="COFES2012-TacticsStrategies2.png"/> | ||
+ | <slide for="0:24:20" name="COFES2012-TacticsStrategies3.png"/> | ||
+ | <slide for="0:24:35" name="COFES2012-TacticsStrategies4.png"/> | ||
+ | <slide for="0:24:47" name="COFES2012-TacticsStrategies5.png"/> | ||
+ | <slide for="0:25:11" name="COFES2012-TacticsStrategies6.png"/> | ||
+ | <slide for="0:25:17" name="COFES2012-TacticsStrategies7.png"/> | ||
+ | <slide for="0:25:35" name="COFES2012-TacticsStrategies8.png"/> | ||
+ | <slide for="0:26:5" name="COFES2012-TacticsStrategies9.png"/> | ||
+ | <slide for="0:26:29" name="COFES2012-TacticsStrategies10.png"/> | ||
+ | <slide for="0:26:47" name="COFES2012-TacticsStrategies11.png"/> | ||
+ | <slide for="0:27:2" name="COFES2012-TacticsStrategies12.png"/> | ||
+ | <slide for="0:27:5" name="COFES2012-TacticsStrategies13.png"/> | ||
+ | <slide for="0:27:8" name="COFES2012-TacticsStrategies14.png"/> | ||
+ | <slide for="0:27:14" name="COFES2012-TacticsStrategies15.png"/> | ||
+ | <slide for="0:27:38" name="COFES2012-TacticsStrategies16.png"/> | ||
+ | <slide for="0:27:59" name="COFES2012-TacticsStrategies17.png"/> | ||
+ | <slide for="0:28:11" name="COFES2012-TacticsStrategies18.png"/> | ||
+ | <slide for="0:28:20" name="COFES2012-TacticsStrategies19.png"/> | ||
+ | <slide for="0:30:32" name="COFES2012-TacticsStrategies20.png"/> | ||
+ | <slide for="0:30:35" name="COFES2012-TacticsStrategies21.png"/> | ||
+ | </note> | ||
<subtitle id="0:24:5"> Let's take a look at the idea of tactics versus strategies.</subtitle> | <subtitle id="0:24:5"> Let's take a look at the idea of tactics versus strategies.</subtitle> | ||
Line 299: | Line 411: | ||
<subtitle id="0:24:26"> People did this with bricks for thousands of years before somebody had a strategic thought which is,</subtitle> | <subtitle id="0:24:26"> People did this with bricks for thousands of years before somebody had a strategic thought which is,</subtitle> | ||
− | <subtitle id="0:24:35">"hey, let's make something out of the bricks before we make the thing.</subtitle> | + | <subtitle id="0:24:35">"hey, let's make something out of the bricks before we make the thing."</subtitle> |
<subtitle id="0:24:38"> Let's make a new kind of building component a different kind of structural integrity than a pyramid does, and all of a sudden, we can kick ass.</subtitle> | <subtitle id="0:24:38"> Let's make a new kind of building component a different kind of structural integrity than a pyramid does, and all of a sudden, we can kick ass.</subtitle> | ||
+ | <note for="0:24:47"> | ||
+ | With an arch, one can build as tall structure as a pyramid with much less material. | ||
+ | </note> | ||
<subtitle id="0:24:47"> Took thousands of years to get beyond what the brick forced into our minds by being in front of us to this very odd thing that requires more building materials to make than when you're done. This is one of the hard things about an arch.</subtitle> | <subtitle id="0:24:47"> Took thousands of years to get beyond what the brick forced into our minds by being in front of us to this very odd thing that requires more building materials to make than when you're done. This is one of the hard things about an arch.</subtitle> | ||
Line 309: | Line 424: | ||
<subtitle id="0:25:11"> The same thing happened in computing, where we build things out of NAND's.</subtitle> | <subtitle id="0:25:11"> The same thing happened in computing, where we build things out of NAND's.</subtitle> | ||
− | <subtitle id="0:25:17"> Basically computing is all about comparing things. So you can take materials, like even two rulers, this is something that first graders love is they can do any fractional arithmetic problem their ten-year-old brother can't do./subtitle> | + | <subtitle id="0:25:17"> Basically computing is all about comparing things. So you can take materials, like even two rulers, this is something that first graders love is they can do any fractional arithmetic problem their ten-year-old brother can't do.</subtitle> |
<subtitle id="0:25:35"> They can do it in two seconds with two rulers. All right, because the ruler is an addition slide rule. You show this to a kid they'll love you for life</subtitle> | <subtitle id="0:25:35"> They can do it in two seconds with two rulers. All right, because the ruler is an addition slide rule. You show this to a kid they'll love you for life</subtitle> | ||
Line 317: | Line 432: | ||
<subtitle id="0:25:53"> It beats regular fractions in many many ways. Of course the Romans and the Greeks. Romans had a socially accepted QWERTY form of numbers called Roman numerals.</subtitle> | <subtitle id="0:25:53"> It beats regular fractions in many many ways. Of course the Romans and the Greeks. Romans had a socially accepted QWERTY form of numbers called Roman numerals.</subtitle> | ||
− | <subtitle id="0:26:5"> But they didn't use them. most people use this in the wrong way. The Romans and the Greeks had abacuses to compute with. | + | <subtitle id="0:26:5"> But they didn't use them. most people use this in the wrong way. The Romans and the Greeks had abacuses to compute with. This is a Roman abacus and those stones are called calculi.</subtitle> |
<subtitle id="0:26:17"> The calculus came from this notion of what they pull out of your teeth, also. When they you go to the dentist to get the plaque removed they call them calculi.</subtitle> | <subtitle id="0:26:17"> The calculus came from this notion of what they pull out of your teeth, also. When they you go to the dentist to get the plaque removed they call them calculi.</subtitle> | ||
+ | <note for="0:26:29"> | ||
+ | The couple of British are William Eccles and F. W. Jordan. Origin of Flip Flop on [https://en.wikipedia.org/wiki/Flip-flop_(electronics)|Wikipedia]. | ||
+ | </note> | ||
<subtitle id="0:26:29"> Flip-flops didn't come people wanted to do computers but because a couple of Brits wanted to see if they could make a memory that could do some of the things human memory could do out of materials.</subtitle> | <subtitle id="0:26:29"> Flip-flops didn't come people wanted to do computers but because a couple of Brits wanted to see if they could make a memory that could do some of the things human memory could do out of materials.</subtitle> | ||
Line 331: | Line 449: | ||
<subtitle id="0:27:2"> You need to go strategically.</subtitle> | <subtitle id="0:27:2"> You need to go strategically.</subtitle> | ||
+ | <note for="0:27:5"> | ||
+ | Jacquard Loom was a powered device that was controlled by punch cards and produced textiles with complex patterns. [https://en.wikipedia.org/wiki/Jacquard_loom|Jacuard Loom on Wikipedia]. Alan refers to the fact that von Neumann style languages are following what the low-level machine instructions dictates, including ALGOL and Java shown on the slide. | ||
+ | </note> | ||
<subtitle id="0:27:5"> Of course this was done a long time before with a Jacquard loom, von Neumann architectures, von Neumann style programming languages.</subtitle> | <subtitle id="0:27:5"> Of course this was done a long time before with a Jacquard loom, von Neumann architectures, von Neumann style programming languages.</subtitle> | ||
Line 339: | Line 460: | ||
<subtitle id="0:27:32"> There have been about 3,000 different programming languages invented and some of them really useful.</subtitle> | <subtitle id="0:27:32"> There have been about 3,000 different programming languages invented and some of them really useful.</subtitle> | ||
− | <subtitle id="0:27:38"> But style of programming that is used today is almost entirely this style. It's style where the programming language is rather similar | + | <subtitle id="0:27:38"> But style of programming that is used today is almost entirely this style. It's style where the programming language is rather similar to the underlying storage mechanisms and control structures of the machine.</subtitle> |
<subtitle id="0:27:53"> There are few convenience is there, but not a lot and not enough.</subtitle> | <subtitle id="0:27:53"> There are few convenience is there, but not a lot and not enough.</subtitle> | ||
− | <subtitle id="0:27:59"> But, of course there are always weird people out on the fringes, who, like Turing himself, who did things are completely different. For instance, Sketchpad, which is having its 50th anniversary this year, computed by, you programmed it by, putting in constraints that | + | <note for="0:27:59"> |
+ | Sketchpad is the black and white picture with the light pen interface on the bottom row. [https://en.wikipedia.org/wiki/Sketchpad|Wikipedia]. | ||
+ | </note> | ||
+ | <subtitle id="0:27:59"> But, of course there are always weird people out on the fringes, who, like Turing himself, who did things are completely different. For instance, Sketchpad, which is having its 50th anniversary this year, computed by, you programmed it by, putting in constraints that Sketchpad had to figure out.</subtitle> | ||
<subtitle id="0:28:20"> So, instead of writing solutions to problems, you just gave Sketchpad what the problem, what the nature of the problem was, what the nature that would characterize a solution. Sketchpad had three problem solvers.</subtitle> | <subtitle id="0:28:20"> So, instead of writing solutions to problems, you just gave Sketchpad what the problem, what the nature of the problem was, what the nature that would characterize a solution. Sketchpad had three problem solvers.</subtitle> | ||
Line 351: | Line 475: | ||
<subtitle id="0:28:38"> By the way, he also invented computer graphics while doing it, and also this is the first object-oriented system I know of. </subtitle> | <subtitle id="0:28:38"> By the way, he also invented computer graphics while doing it, and also this is the first object-oriented system I know of. </subtitle> | ||
− | <subtitle id="0:28:44"> | + | <subtitle id="0:28:44"> Those three things were done by Ivan Sutherland as a thesis project in one year, one person. I once asked Ivan: "how could you do these three things in one year?" He says well I didn't know it was hard.</subtitle> |
<subtitle id="0:28:59"> Ivan was a genius, but he had also had the advantage of just aiming for what we really needed.</subtitle> | <subtitle id="0:28:59"> Ivan was a genius, but he had also had the advantage of just aiming for what we really needed.</subtitle> | ||
Line 370: | Line 494: | ||
<subtitle id="0:30:26"> The Internet is really the only extant true object-oriented system in the world right now.</subtitle> | <subtitle id="0:30:26"> The Internet is really the only extant true object-oriented system in the world right now.</subtitle> | ||
+ | <note for="0:30:32"> | ||
+ | The brain image used to denote AI. In other talks the same image is used to explain how brain interprets the incoming signal and how itself synthesizes information. | ||
+ | </note> | ||
+ | <subtitle id="0:30:32"> Then, there's, of course, AI, which people have lost interest in, just as it was starting to get really well work done. We should be spending more time thinking about this. </subtitle> | ||
− | + | == Xerox ALTO in 1973 == | |
− | <subtitle id="0:30: | + | <subtitle id="0:30:40"> Now, one little blast from the past, 1973, we showed this machine and this system.</subtitle> |
− | <subtitle id="0:30:56"> | + | <note for="0:30:56"> |
+ | Alan refers to the idea that each graphical object on screen can be considered as a self-contained entity like an application, and the window border around them is optional. A document in DTP can be organized as an assortment of such graphical objects. | ||
+ | <slide for="0:30:40" name="COFES2012-Alto1.png"/> | ||
+ | <slide for="0:10:14" name="COFES2012-Alto2.png"/> | ||
+ | <slide for="0:31:23" name="COFES2012-Alto6.png"/> | ||
+ | <slide for="0:31:38" name="COFES2012-Alto7.png"/> | ||
+ | <slide for="0:32:5" name="COFES2012-Alto8.png"/> | ||
+ | <slide for="0:32:20" name="COFES2012-Alto9.png"/> | ||
+ | <slide for="0:32:35" name="COFES2012-Alto10.png"/> | ||
+ | </note> | ||
+ | <subtitle id="0:30:56"> Notice, overlapping windows there, it was a view oriented object-oriented system, desktop publishing was essentially the views without the borders on them.</subtitle> | ||
<subtitle id="0:31:14"> These got split up when they came out into the real world, but it's, in Xerox theory, one thing. There was no operating system, because you don't need one.</subtitle> | <subtitle id="0:31:14"> These got split up when they came out into the real world, but it's, in Xerox theory, one thing. There was no operating system, because you don't need one.</subtitle> | ||
− | <subtitle id="0:31:23"> | + | <subtitle id="0:31:23"> When Xerox asked us what we were we're doing, we gave them our own version of Paul Starrett's speech, not even a pick and shovel.</subtitle> |
<subtitle id="0:31:38"> Part of the deal at Xerox PARC was we built every bit of the hardware and software ourselves from scratch.</subtitle> | <subtitle id="0:31:38"> Part of the deal at Xerox PARC was we built every bit of the hardware and software ourselves from scratch.</subtitle> | ||
Line 397: | Line 535: | ||
<subtitle id="0:33:8"> This is called making an algebra. This was a technique that we use pretty generally at PARC.</subtitle> | <subtitle id="0:33:8"> This is called making an algebra. This was a technique that we use pretty generally at PARC.</subtitle> | ||
+ | == 8 and half Inventions at Xerox PARC == | ||
+ | |||
+ | <note for="0:33:14"> | ||
+ | Half of the Internet means that Xerox PARC had its own packet switching protocol called PUP, which influenced the design of TCP/IP. | ||
+ | <slide for="0:33:14" name="COFES2012-Parc1.png"/> | ||
+ | <slide for="0:33:15" name="COFES2012-Parc2.png"/> | ||
+ | <slide for="0:33:16" name="COFES2012-Parc3.png"/> | ||
+ | <slide for="0:33:17" name="COFES2012-Parc4.png"/> | ||
+ | <slide for="0:33:18" name="COFES2012-Parc5.png"/> | ||
+ | <slide for="0:33:19" name="COFES2012-Parc6.png"/> | ||
+ | <slide for="0:33:20" name="COFES2012-Parc7.png"/> | ||
+ | <slide for="0:33:21" name="COFES2012-Parc8.png"/> | ||
+ | <slide for="0:33:22" name="COFES2012-Parc9.png"/> | ||
+ | <slide for="0:33:23" name="COFES2012-Parc10.png"/> | ||
+ | <slide for="0:33:24" name="COFES2012-Parc11.png"/> | ||
+ | <slide for="0:33:25" name="COFES2012-Parc12.png"/> | ||
+ | </note> | ||
<subtitle id="0:33:14"> In a few years, we did this: the bitmap screen, the GUI, WYSIWYG in desktop publishing, real objects, laser printers, Ethernet, peer-to-peer and client-server, and about a half of the Internet.</subtitle> | <subtitle id="0:33:14"> In a few years, we did this: the bitmap screen, the GUI, WYSIWYG in desktop publishing, real objects, laser printers, Ethernet, peer-to-peer and client-server, and about a half of the Internet.</subtitle> | ||
Line 411: | Line 566: | ||
<subtitle id="0:34:23"> We'll leave that because we don't want to talk about the past too much.</subtitle> | <subtitle id="0:34:23"> We'll leave that because we don't want to talk about the past too much.</subtitle> | ||
− | <subtitle id="0:34:26"> | + | <subtitle id="0:34:26"> Most people do not realize it was only two dozen people. That is only four to five years to do all this stuff, and doing it all from scratch.</subtitle> |
+ | |||
+ | == Introduction to the STEPS project background == | ||
− | <subtitle id="0:34:38"> Now let's take a look at a science project in the present. | + | <note for="0:34:38"> |
+ | The picture, with two children (two of triplets) using the XO laptop, is a recreation of the drawing in the [http://www.vpri.org/pdf/hc_pers_comp_for_children.pdf|"Personal Computer for Children of All Ages"] paper. | ||
+ | <slide for="0:34:38" name="COFES2012-ScienceProject1.png"/> | ||
+ | <slide for="0:34:59" name="COFES2012-ScienceProject2.png"/> | ||
+ | <slide for="0:35:8" name="COFES2012-ScienceProject3.png"/> | ||
+ | </note> | ||
+ | <subtitle id="0:34:38"> Now let's take a look at a science project in the present. Same idea here, so all of these ideas I've been talking about here.</subtitle> | ||
− | <subtitle id="0:34:50"> We're going to apply them to this big thing called personal computing. | + | <subtitle id="0:34:50"> We're going to apply them to this big thing called personal computing. It's got all kinds of stuff in it.</subtitle> |
<subtitle id="0:34:59"> Again, we're interested in this area that goes from the end-user all the way down to the metal. so, there's a lot of stuff.</subtitle> | <subtitle id="0:34:59"> Again, we're interested in this area that goes from the end-user all the way down to the metal. so, there's a lot of stuff.</subtitle> | ||
Line 427: | Line 590: | ||
<subtitle id="0:35:29"> But this is a science project. We want those T-shirts.</subtitle> | <subtitle id="0:35:29"> But this is a science project. We want those T-shirts.</subtitle> | ||
+ | == Principles of STEPS == | ||
+ | |||
+ | <note for="0:35:32"> | ||
+ | Refer to some of the STEPS proposals and reports available at the VPRI site: [http://vpri.org/html/writings.php|VPRI Writings], including [http://www.vpri.org/pdf/tr2012001_steps.pdf|the first year report]. | ||
+ | <slide for="0:35:32" name="COFES2012-RealComputerScience1.png"/> | ||
+ | <slide for="0:35:53" name="COFES2012-RealComputerScience2.png"/> | ||
+ | <slide for="0:36:11" name="COFES2012-RealComputerScience3.png"/> | ||
+ | <slide for="0:36:34" name="COFES2012-RealComputerScience4.png"/> | ||
+ | <slide for="0:36:17" name="COFES2012-RealComputerScience5.png"/> | ||
+ | <slide for="0:38:20" name="COFES2012-RealComputerScience6.png"/> | ||
+ | </note> | ||
<subtitle id="0:35:32"> So, let's take a look. Let's say half of what Microsoft, or Moore, has in there is just code they can't get rid of. But still, most of these, you know, Linux and OpenOffice and stuff: it's like a hundred million lines of code. </subtitle> | <subtitle id="0:35:32"> So, let's take a look. Let's say half of what Microsoft, or Moore, has in there is just code they can't get rid of. But still, most of these, you know, Linux and OpenOffice and stuff: it's like a hundred million lines of code. </subtitle> | ||
Line 435: | Line 609: | ||
<subtitle id="0:36:17"> I hate bullets. So please do not regard these as bullets. just look. They're ten blobs, out of twelve or thirteen blobs, that we used.</subtitle> | <subtitle id="0:36:17"> I hate bullets. So please do not regard these as bullets. just look. They're ten blobs, out of twelve or thirteen blobs, that we used.</subtitle> | ||
− | <subtitle id="0:36:29"> What they are are things, a couple of those we invented but, most of them were things that have been around | + | <subtitle id="0:36:29"> What they are are things, a couple of those we invented but, most of them were things that have been around for 50 years that didn't make it into the particulars design culture that computing is.</subtitle> |
<subtitle id="0:36:44"> See, the difference here is nature helps physicists be honest, because in the end you're supposed to submit your theories back to nature. But the problem is we're a design field: so our trade is bullshit.</subtitle> | <subtitle id="0:36:44"> See, the difference here is nature helps physicists be honest, because in the end you're supposed to submit your theories back to nature. But the problem is we're a design field: so our trade is bullshit.</subtitle> | ||
Line 447: | Line 621: | ||
<subtitle id="0:37:32"> A system lock up. there is no way to do something ahead of time that will tell you you won't get system lock up.</subtitle> | <subtitle id="0:37:32"> A system lock up. there is no way to do something ahead of time that will tell you you won't get system lock up.</subtitle> | ||
+ | <note for="0:37:44"> | ||
+ | Simulation of Time is one of the principles. Alan refers to John McCarthy's Situation Calculus and the concept of fluents [https://en.wikipedia.org/wiki/Situation_calculus|Situation Calculus on Wikipedia] and David Reed's work on distributed decision making [http://publications.csail.mit.edu/lcs/specpub.php?id=773]. | ||
+ | </note> | ||
<subtitle id="0:37:44"> So, this is like the world's worst idea to let the CPU control the time base of your computations. you're screwed.</subtitle> | <subtitle id="0:37:44"> So, this is like the world's worst idea to let the CPU control the time base of your computations. you're screwed.</subtitle> | ||
Line 453: | Line 630: | ||
<subtitle id="0:38:8"> But it's just not generally used, and it won't be used for a while, because these things take decades to get rid of things that are, you know, de facto religions.</subtitle> | <subtitle id="0:38:8"> But it's just not generally used, and it won't be used for a while, because these things take decades to get rid of things that are, you know, de facto religions.</subtitle> | ||
− | <subtitle id="0:38:20"> I'm just going to pick on a couple of these. I already talked about math wins, and I want to talk about this now in this area, up around in here, because one of the things we have to do in personal computing today is make anti-alias, 2 and 1/2 D computer graphics./subtitle> | + | == The graphics engine of the STEPS project: Dan Amelang's Nile and Gezira == |
+ | |||
+ | <note for="0:38:20"> | ||
+ | <slide for="0:38:41" name="COFES2012-DanMom1.png"/> | ||
+ | <slide for="0:39:23" name="COFES2012-DanMom2.png"/> | ||
+ | <slide for="0:40:11" name="COFES2012-DanMom3.png"/> | ||
+ | <slide for="0:40:44" name="COFES2012-DanMom4.png"/> | ||
+ | <slide for="0:40:44" name="COFES2012-DanMom6.png"/> | ||
+ | <slide for="0:43:11" name="COFES2012-FrankPopout1.png"/> | ||
+ | <slide for="0:43:29" name="COFES2012-NileFeatures1.png"/> | ||
+ | <slide for="0:43:30" name="COFES2012-NileFeatures2.png"/> | ||
+ | <slide for="0:43:38" name="COFES2012-NileFeatures3.png"/> | ||
+ | <slide for="0:43:53" name="COFES2012-NileFeatures4.png"/> | ||
+ | <slide for="0:43:39" name="COFES2012-NileFeatures5.png"/> | ||
+ | <slide for="0:43:40" name="COFES2012-NileFeatures6.png"/> | ||
+ | <slide for="0:43:41" name="COFES2012-NileFeatures7.png"/> | ||
+ | <slide for="0:43:59" name="COFES2012-NileFeatures8.png"/> | ||
+ | <slide for="0:44:01" name="COFES2012-NileFeatures9.png"/> | ||
+ | <slide for="0:44:03" name="COFES2012-NileFeatures10.png"/> | ||
+ | <slide for="0:44:05" name="COFES2012-NileFeatures11.png"/> | ||
+ | <slide for="0:44:07" name="COFES2012-NileFeatures12.png"/> | ||
+ | </note> | ||
+ | <subtitle id="0:38:20"> I'm just going to pick on a couple of these. I already talked about math wins, and I want to talk about this now in this area, up around in here, because one of the things we have to do in personal computing today is make anti-alias, 2 and 1/2 D computer graphics.</subtitle> | ||
<subtitle id="0:38:41"> We have to make it look really good. If we didn't have it look really good, then we will be sloughing off part of making something that is like computer graphics that we can recognize today.</subtitle> | <subtitle id="0:38:41"> We have to make it look really good. If we didn't have it look really good, then we will be sloughing off part of making something that is like computer graphics that we can recognize today.</subtitle> | ||
Line 459: | Line 658: | ||
<subtitle id="0:38:59"> Of course whenever you have a hard problem you get a graduate student to do it, because they are just so much smarter than we are.</subtitle> | <subtitle id="0:38:59"> Of course whenever you have a hard problem you get a graduate student to do it, because they are just so much smarter than we are.</subtitle> | ||
− | <subtitle id="0:39:8">This is Dan Amelang, who's a graduate student at UC San Diego. A very good mathematician and computer guy. | + | <subtitle id="0:39:8">This is Dan Amelang, who's a graduate student at UC San Diego. A very good mathematician and computer guy. And even better, he has a mom.</subtitle> |
<subtitle id="0:39:23"> Of course we all do, but his mom happens to be a high school geometry teacher of that special kind that actually understands math.</subtitle> | <subtitle id="0:39:23"> Of course we all do, but his mom happens to be a high school geometry teacher of that special kind that actually understands math.</subtitle> | ||
Line 469: | Line 668: | ||
<subtitle id="0:40:11"> he and his mom worked together on this thing through January, finally showed up in January with this formula.</subtitle> | <subtitle id="0:40:11"> he and his mom worked together on this thing through January, finally showed up in January with this formula.</subtitle> | ||
+ | <note for="0:40:17"> | ||
+ | To see more about Dan's work, check out the talk by him [http://tinlizzie.org/IA/index.php/How_Complex_is_%22Personal_Computing%22%3F_(2009)|A talk at UIUC by Dan (starts around 17:00 mark)]. | ||
+ | </note> | ||
<subtitle id="0:40:17"> This is one of these serendipitous things that you can't completely supply by method. But this stuff has been kicked around by the best people in the world for forty five years. But in fact, they found a new way of thinking about the involvement of an arbitrary polygon with a pixel that computes exactly the right shade of the pixel to give you perfect anti-aliasing.</subtitle> | <subtitle id="0:40:17"> This is one of these serendipitous things that you can't completely supply by method. But this stuff has been kicked around by the best people in the world for forty five years. But in fact, they found a new way of thinking about the involvement of an arbitrary polygon with a pixel that computes exactly the right shade of the pixel to give you perfect anti-aliasing.</subtitle> | ||
Line 477: | Line 679: | ||
<subtitle id="0:41:11"> This language that he devised, he decided to make it a dataflow language with kind of functional engines at the nodes. Because of that, it is highly amenable to automatic use of parallel resources.</subtitle> | <subtitle id="0:41:11"> This language that he devised, he decided to make it a dataflow language with kind of functional engines at the nodes. Because of that, it is highly amenable to automatic use of parallel resources.</subtitle> | ||
+ | <note for="0:41:29"> | ||
+ | Refer to some other talks for the live demo, until we manage to put the movie, or a real working system here. | ||
+ | <slide for="0:43:5" name="COFES2012-DanMom6.png"/> | ||
+ | </note> | ||
<subtitle id="0:41:29"> Here's one of our benchmarks. This is 5000 anti-aliased translucent characters being re-rendered every time by these 45 lines of code.</subtitle> | <subtitle id="0:41:29"> Here's one of our benchmarks. This is 5000 anti-aliased translucent characters being re-rendered every time by these 45 lines of code.</subtitle> | ||
Line 485: | Line 691: | ||
<subtitle id="0:42:8"> So you're seeing that one of those is being devoted to this task, and the fan has come on.</subtitle> | <subtitle id="0:42:8"> So you're seeing that one of those is being devoted to this task, and the fan has come on.</subtitle> | ||
− | <subtitle id="0:42:14"> As I say go faster, it says "okay, give me another thread." There it is. | + | <subtitle id="0:42:14"> As I say go faster, it says "okay, give me another thread." There it is. What it's doing here is when I say up to four here, it's spacing them out, so they're each in different cores.</subtitle> |
<subtitle id="0:42:35"> As I go faster and faster, it starts interleaving them. I can start zooming in. here so you can sort of see what's going on a little better.</subtitle> | <subtitle id="0:42:35"> As I go faster and faster, it starts interleaving them. I can start zooming in. here so you can sort of see what's going on a little better.</subtitle> | ||
Line 493: | Line 699: | ||
<subtitle id="0:42:53"> We're actually quite surprised that... this is a lot of computing, but we're getting a lot of a lot out of it. </subtitle> | <subtitle id="0:42:53"> We're actually quite surprised that... this is a lot of computing, but we're getting a lot of a lot out of it. </subtitle> | ||
− | <subtitle id="0:43:5"> What I thought was, "wow we should be able to make a whole system just out of this math."</subtitle> | + | <subtitle id="0:43:5"> What I thought was, "wow, we should be able to make a whole system just out of this math."</subtitle> |
<subtitle id="0:43:11"> This is in fact what I'm using. I'm not using PowerPoint here.</subtitle> | <subtitle id="0:43:11"> This is in fact what I'm using. I'm not using PowerPoint here.</subtitle> | ||
Line 501: | Line 707: | ||
<subtitle id="0:43:29"> Here's my next slide.</subtitle> | <subtitle id="0:43:29"> Here's my next slide.</subtitle> | ||
+ | <note for="0:43:38"> | ||
+ | The CompositeOver rule, which does the normal blending, is shown in the first oval, and compositing the star with gradient over the Frank character is shown as a result. | ||
+ | </note> | ||
<subtitle id="0:43:38">Here's Dan's brother, and here's all the compositing rules.</subtitle> | <subtitle id="0:43:38">Here's Dan's brother, and here's all the compositing rules.</subtitle> | ||
+ | <note for="0:43:41"> | ||
+ | Likewise, there are three more examples of using different composition rules. | ||
+ | </note> | ||
<subtitle id="0:43:41"> So for instance, this one is invert. Here's another combination rule here.</subtitle> | <subtitle id="0:43:41"> So for instance, this one is invert. Here's another combination rule here.</subtitle> | ||
<subtitle id="0:43:53">It's 95 lines to do all of the compositing rules that you use.</subtitle> | <subtitle id="0:43:53">It's 95 lines to do all of the compositing rules that you use.</subtitle> | ||
− | <subtitle id="0:43:59"> | + | <subtitle id="0:43:59"> Now that you've seen. Of course there are those 45 lines. There's gradients, so I should actually... </subtitle> |
− | <subtitle id="0:44:08"> | + | <note for="0:44:08"> |
+ | The document editor is called Frank. Refer to the STEPS project reports and also a paper: [http://www.vpri.org/pdf/tr2013002_KSonward.pdf|KScript and KSWorld: A Time-Aware and Mostly Declarative Language and Interactivev GUI Framework]. | ||
+ | </note> | ||
+ | <subtitle id="0:44:08"> This user interface here is made out of the system also, because it's all one sort of one big desktop publishing document.</subtitle> | ||
<subtitle id="0:44:17"> I'm going to.. The system is also live. This has not been compiled away into C code down there. </subtitle> | <subtitle id="0:44:17"> I'm going to.. The system is also live. This has not been compiled away into C code down there. </subtitle> | ||
+ | <note for="0:44:26"> | ||
+ | Alan pops out from the full screen mode by clicking the top right button, select a button widget for editing in the document editor, and change the gradient by manipulating mutli-stop gradient editor. | ||
+ | <slide for="0:44:26" name="COFES2012-Frank1.png"/> | ||
+ | <slide for="0:44:32" name="COFES2012-Frank2.png"/> | ||
+ | <slide for="0:44:40" name="COFES2012-Frank3.png"/> | ||
+ | <slide for="0:44:50" name="COFES2012-Frank4.png"/> | ||
+ | <slide for="0:44:55" name="COFES2012-Frank5.png"/> | ||
+ | </note> | ||
<subtitle id="0:44:26"> I'm actually going to pick an object here like this.</subtitle> | <subtitle id="0:44:26"> I'm actually going to pick an object here like this.</subtitle> | ||
Line 533: | Line 756: | ||
<subtitle id="0:45:41"> So a thousand should get your attention, right? You have to learn a new language. On the other hand, here it is. The whole thing is just a few pages of code, and it's live, and you can run and use it. Okay.</subtitle> | <subtitle id="0:45:41"> So a thousand should get your attention, right? You have to learn a new language. On the other hand, here it is. The whole thing is just a few pages of code, and it's live, and you can run and use it. Okay.</subtitle> | ||
− | <subtitle id="0:45:56"> | + | == OMeta, Language Transformation Language == |
+ | |||
+ | <note for="0:45:56"> | ||
+ | The language Nothing was an experiment at VPRI to provide an intermediate system language. (This demo was not using Nothing.) | ||
+ | <slide for="0:45:56" name="COFES2012-CodeTansformation1.png"/> | ||
+ | <slide for="0:46:5" name="COFES2012-CodeTansformation2.png"/> | ||
+ | <slide for="0:46:14" name="COFES2012-CodeTansformation3.png"/> | ||
+ | <slide for="0:46:16" name="COFES2012-CodeTansformation4.png"/> | ||
+ | <slide for="0:46:18" name="COFES2012-CodeTansformation5.png"/> | ||
+ | <slide for="0:46:20" name="COFES2012-CodeTansformation6.png"/> | ||
+ | <slide for="0:45:21" name="COFES2012-CodeTansformation7.png"/> | ||
+ | <slide for="0:46:23" name="COFES2012-CodeTansformation8.png"/> | ||
+ | <slide for="0:45:24" name="COFES2012-CodeTansformation9.png"/> | ||
+ | <slide for="0:45:25" name="COFES2012-CodeTansformation10.png"/> | ||
+ | <slide for="0:45:26" name="COFES2012-CodeTansformation11.png"/> | ||
+ | <slide for="0:45:27" name="COFES2012-CodeTansformation12.png"/> | ||
+ | <slide for="0:46:29" name="COFES2012-CodeTansformation13.png"/> | ||
+ | <slide for="0:46:33" name="COFES2012-CodeTansformation14.png"/> | ||
+ | <slide for="0:46:38" name="COFES2012-CodeTansformation15.png"/> | ||
+ | <slide for="0:46:44" name="COFES2012-CodeTansformation16.png"/> | ||
+ | <slide for="0:46:48" name="COFES2012-CodeTansformation17.png"/> | ||
+ | <slide for="0:46:53" name="COFES2012-CodeTansformation18.png"/> | ||
+ | <slide for="0:46:56" name="COFES2012-CodeTansformation19.png"/> | ||
+ | <slide for="0:47:5" name="COFES2012-CodeTansformation20.png"/> | ||
+ | <slide for="0:47:41" name="COFES2012-Ometa1.png"/> | ||
+ | <slide for="0:47:47" name="COFES2012-Ometa2.png"/> | ||
+ | <slide for="0:47:53" name="COFES2012-Ometa3.png"/> | ||
+ | <slide for="0:48:26" name="COFES2012-Ometa4.png"/> | ||
+ | <slide for="0:48:56" name="COFES2012-Ometa5.png"/> | ||
+ | </note> | ||
+ | <subtitle id="0:45:56"> Where did this language come from? I have to build that.</subtitle> | ||
<subtitle id="0:46:5">So there's actually quite a distance between one of these compositing rules, a one-liner of code, and getting the result at the other end.</subtitle> | <subtitle id="0:46:5">So there's actually quite a distance between one of these compositing rules, a one-liner of code, and getting the result at the other end.</subtitle> | ||
Line 551: | Line 804: | ||
<subtitle id="0:46:59"> In the old days, they are called problem-oriented languages. I like old terminology because I'm old.</subtitle> | <subtitle id="0:46:59"> In the old days, they are called problem-oriented languages. I like old terminology because I'm old.</subtitle> | ||
− | <subtitle id="0:47:5"> We need another problem-oriented language here, whose problem domain is transforming languages. Of course, there are tools around for doing this.</subtitle> | + | <subtitle id="0:47:5"> We need another problem-oriented language here, whose problem domain is transforming languages.</subtitle> |
+ | |||
+ | <subtitle id="0:47:11"> Of course, there are tools around for doing this.</subtitle> | ||
<subtitle id="0:47:17"> But this is one of the big stoppers for people doing this themselves because making a language the way it is taught in school is a daunting procedures usually taught through some set of tools like Yacc.</subtitle> | <subtitle id="0:47:17"> But this is one of the big stoppers for people doing this themselves because making a language the way it is taught in school is a daunting procedures usually taught through some set of tools like Yacc.</subtitle> | ||
Line 559: | Line 814: | ||
<subtitle id="0:47:38"> But in fact, you can make a much better language.</subtitle> | <subtitle id="0:47:38"> But in fact, you can make a much better language.</subtitle> | ||
− | <subtitle id="0:47:41"> Here's one we did called | + | <note for="0:47:41"> |
+ | OMeta by Alex Warth is described in detail in his Ph.D thesis: [http://www.vpri.org/pdf/tr2008003_experimenting.pdf|Experimenting with Programming Languages]. | ||
+ | </note> | ||
+ | <subtitle id="0:47:41"> Here's one we did called OMeta. and here's a simple arithmetic expression, and here's the program. If I say do it, it transforms that expression into a tree.</subtitle> | ||
<subtitle id="0:47:53"> If I come down here, and pick this more complicated expression up, and paste it in here and say do it.</subtitle> | <subtitle id="0:47:53"> If I come down here, and pick this more complicated expression up, and paste it in here and say do it.</subtitle> | ||
Line 579: | Line 837: | ||
<subtitle id="0:49:2"> As you get closer and closer down to the bottom of the system, you start using these base things over and over again.</subtitle> | <subtitle id="0:49:2"> As you get closer and closer down to the bottom of the system, you start using these base things over and over again.</subtitle> | ||
− | <subtitle id="0:49:11"> The problem oriented language is staying on the top.</subtitle> | + | <subtitle id="0:49:11"> The problem-oriented language is staying on the top.</subtitle> |
+ | |||
+ | == The working model of TCP/IP by Ian Piumarta == | ||
+ | |||
+ | <note for="0:49:14"> | ||
+ | Refer to the [http://www.vpri.org/pdf/tr2007008_steps.pdf|first year STEPS annual report]. | ||
+ | <slide for="0:49:14" name="COFES2012-DesignWins1.png"/> | ||
+ | <slide for="0:49:32" name="COFES2012-DesignWins2.png"/> | ||
+ | <slide for="0:49:35" name="COFES2012-DesignWins3.png"/> | ||
+ | <slide for="0:49:41" name="COFES2012-DesignWins4.png"/> | ||
+ | <slide for="0:49:47" name="COFES2012-DesignWins5.png"/> | ||
− | <subtitle id="0:49:14"> Okay, but we have to do the internet. So, TCP/IP, 20,000 lines of C for that. So, one book, one of those books. | + | </note> |
+ | <subtitle id="0:49:14"> Okay, but we have to do the internet. So, TCP/IP, 20,000 lines of C for that. So, one book, one of those books. This C code and most computers is a good nice job.</subtitle> | ||
<subtitle id="0:49:32"> TCP/IP was invented by experts so we didn't expect to get a factor of thousand on this.</subtitle> | <subtitle id="0:49:32"> TCP/IP was invented by experts so we didn't expect to get a factor of thousand on this.</subtitle> | ||
Line 599: | Line 868: | ||
<subtitle id="0:50:23"> Okay.</subtitle> | <subtitle id="0:50:23"> Okay.</subtitle> | ||
+ | == Particles and Fields Abstraction == | ||
+ | |||
+ | <note for="0:50:26"> | ||
+ | The dynamic content here is to be filled in. | ||
+ | <slide for="0:50:26" name="COFES2012-ComputingAsPhenomena2.png"/> | ||
+ | </note> | ||
<subtitle id="0:50:26"> Let's take another one of these metaphors: particles and fields. Everybody understands this as a kind of a metaphor for iron filings in a magnetic field. The iron filings seem to know what to do. They're feeling this field and they're doing individual things that look like they're somewhat coordinated.</subtitle> | <subtitle id="0:50:26"> Let's take another one of these metaphors: particles and fields. Everybody understands this as a kind of a metaphor for iron filings in a magnetic field. The iron filings seem to know what to do. They're feeling this field and they're doing individual things that look like they're somewhat coordinated.</subtitle> | ||
− | <subtitle id="0:50:44"> | + | <subtitle id="0:50:44"> In fact, there are animals that do this also like ants.</subtitle> |
<subtitle id="0:50:50"> Here's a little ant simulation. This is their nest. These guys are the food. And, if we start this thing going, then we see that the ants are finding the food, going to the nest and they're leaving this pheromone trail. </subtitle> | <subtitle id="0:50:50"> Here's a little ant simulation. This is their nest. These guys are the food. And, if we start this thing going, then we see that the ants are finding the food, going to the nest and they're leaving this pheromone trail. </subtitle> | ||
Line 608: | Line 883: | ||
<subtitle id="0:51:29"> We would call this loose coupling.</subtitle> | <subtitle id="0:51:29"> We would call this loose coupling.</subtitle> | ||
+ | |||
+ | == Paragraph Justification with Rules == | ||
<subtitle id="0:51:32"> Well, if you have crazy brains, you could imagine that a paragraph of text is one of those things.</subtitle> | <subtitle id="0:51:32"> Well, if you have crazy brains, you could imagine that a paragraph of text is one of those things.</subtitle> | ||
Line 625: | Line 902: | ||
<subtitle id="0:52:29"> So, this is math. I'm going to set it off again.</subtitle> | <subtitle id="0:52:29"> So, this is math. I'm going to set it off again.</subtitle> | ||
− | <subtitle id="0:52:35"> And, I'm going to point out that I can edit this. | + | <subtitle id="0:52:35"> And, I'm going to point out that I can edit this. Let's let it.</subtitle> |
<subtitle id="0:52:41"> I can turn general here into justify.</subtitle> | <subtitle id="0:52:41"> I can turn general here into justify.</subtitle> | ||
− | <subtitle id="0:52:47"> And, it's just redoing this over and over again. | + | <subtitle id="0:52:47"> And, it's just redoing this over and over again. All right.</subtitle> |
<subtitle id="0:52:53"> The editor is actually working</subtitle> | <subtitle id="0:52:53"> The editor is actually working</subtitle> | ||
Line 647: | Line 924: | ||
<subtitle id="0:53:41">okay, so all of the editing here is done like this.</subtitle> | <subtitle id="0:53:41">okay, so all of the editing here is done like this.</subtitle> | ||
− | <subtitle id="0:53:47"> In fact this is another one of the documents in this universal document system.</subtitle> | + | <subtitle id="0:53:47"> In fact, this is another one of the documents in this universal document system.</subtitle> |
− | <subtitle id="0:53:53"> Remember, we have to do Microsoft Office here./subtitle> | + | <subtitle id="0:53:53"> Remember, we have to do Microsoft Office here.</subtitle> |
<subtitle id="0:53:56"> But, why would anybody in the right mind give you seven applications that all do almost the same thing but not quite.</subtitle> | <subtitle id="0:53:56"> But, why would anybody in the right mind give you seven applications that all do almost the same thing but not quite.</subtitle> | ||
Line 683: | Line 960: | ||
<subtitle id="0:56:8"> So, that's all you have to do for that.</subtitle> | <subtitle id="0:56:8"> So, that's all you have to do for that.</subtitle> | ||
+ | == Coordinating Multiple Solvers == | ||
+ | |||
+ | <note for="0:56:13"> | ||
+ | Refer to Hesam Samimi and Alan Borning work on [http://vpri.org/html/writings.php|VPRI Writings] page. | ||
+ | <slide id="0:56:13" name="COFES2012-RelationalProgramming1.png"/> | ||
+ | <slide id="0:56:20" name="COFES2012-RelationalProgramming2.png"/> | ||
+ | <slide id="0:56:35" name="COFES2012-RelationalProgramming3.png"/> | ||
+ | <slide id="0:56:36" name="COFES2012-RelationalProgramming4.png"/> | ||
+ | <slide id="0:56:37" name="COFES2012-RelationalProgramming5.png"/> | ||
+ | <slide id="0:56:38" name="COFES2012-RelationalProgramming6.png"/> | ||
+ | <slide id="0:56:39" name="COFES2012-RelationalProgramming7.png"/> | ||
+ | <slide id="0:56:40 name="COFES2012-RelationalProgramming8.png"/> | ||
+ | <slide id="0:56:47" name="COFES2012-RelationalProgramming9.png"/> | ||
+ | <slide id="0:56:50" name="COFES2012-RelationalProgramming10.png"/> | ||
+ | <slide id="0:56:55" name="COFES2012-RelationalProgramming11.png"/> | ||
+ | <slide id="0:57:00" name="COFES2012-RelationalProgramming12.png"/> | ||
+ | </note> | ||
<subtitle id="0:56:13">Here is another area. A thing that's very useful to have is problem-solvers.</subtitle> | <subtitle id="0:56:13">Here is another area. A thing that's very useful to have is problem-solvers.</subtitle> | ||
Line 695: | Line 989: | ||
<subtitle id="0:57:8"> The further stuff here is beyond the scope of this short talk, so I'll just move on here.</subtitle> | <subtitle id="0:57:8"> The further stuff here is beyond the scope of this short talk, so I'll just move on here.</subtitle> | ||
+ | == From Gears to Ecologies == | ||
+ | |||
+ | <note for="0:57:14"> | ||
+ | <slide for="0:57:14" name="COFES2012-Gears1.png"/> | ||
+ | <slide for="0:57:35" name="COFES2012-Gears2.png"/> | ||
+ | <slide for="0:58:5" name="COFES2012-Gears3.png"/> | ||
+ | <slide for="0:58:14" name="COFES2012-Gears4.png"/> | ||
+ | </note> | ||
<subtitle id="0:57:14">Okay, here's an important idea. Too many ideas in this talk, right?</subtitle> | <subtitle id="0:57:14">Okay, here's an important idea. Too many ideas in this talk, right?</subtitle> | ||
Line 711: | Line 1,013: | ||
<subtitle id="0:58:26"> The next little thing is just a couple of minutes of gloss, because I'm getting close to the end here. But I wanted to say something about systems.</subtitle> | <subtitle id="0:58:26"> The next little thing is just a couple of minutes of gloss, because I'm getting close to the end here. But I wanted to say something about systems.</subtitle> | ||
+ | == Simulation of Space and Time == | ||
+ | |||
+ | <note for="0"58:38"> | ||
+ | David Reed's work on distributed decision making [http://publications.csail.mit.edu/lcs/specpub.php?id=773]. and Gerald Popek's Locus: [https://mitpress.mit.edu/books/locus-distributed-system-architecture|Locus]. | ||
+ | <slide for="0:58:38" name="COFES2012-Phenomena2-2.png"/> | ||
+ | <slide for="0:58:38" name="COFES2012-SimulationTime1.png"/> | ||
+ | <slide for="0:59:5" name="COFES2012-SimulationTime2.png"/> | ||
+ | <slide for="0:58:55" name="COFES2012-SimulationTime3.png"/> | ||
+ | <slide for="1:00:8" name="COFES2012-SimulationTime4.png"/> | ||
+ | <slide for="1:00:56" name="COFES2012-SimulationTime5.png"/> | ||
+ | <slide for="1:01:29" name="COFES2012-SimulationTime6.png"/> | ||
+ | <slide for="1:01:44" name="COFES2012-SimulationTime7.png"/> | ||
+ | </note> | ||
<subtitle id="0:58:38"> Three of the ideas here are that we want to control time. I mentioned this a little bit before. We do not want to CPU to control time first. </subtitle> | <subtitle id="0:58:38"> Three of the ideas here are that we want to control time. I mentioned this a little bit before. We do not want to CPU to control time first. </subtitle> | ||
Line 747: | Line 1,062: | ||
<subtitle id="1:01:44"> The current web which is getting more and more complicated can immediately get simple except for all the legacy stuff that has been done so far.</subtitle> | <subtitle id="1:01:44"> The current web which is getting more and more complicated can immediately get simple except for all the legacy stuff that has been done so far.</subtitle> | ||
+ | == Scalability of Ecology and Psychology == | ||
+ | |||
+ | <note for="1:01:56"> | ||
+ | The books shown are Ecology: From Individuals to Ecosystems [https://en.wikipedia.org/wiki/Ecology:_From_Individuals_to_Ecosystems] and the Society of Mind. | ||
+ | <slide for="1:01:56" name="COFES2012-Ecology1.png"/> | ||
+ | <slide for="1:03:2" name="COFES2012-Ecology2.png"/> | ||
+ | </note> | ||
<subtitle id="1:01:56"> Here's something that Viewpoints has on its list but we expect not to be able to solve this, at least in this path of doing things. it, may be beyond, may require a much larger effort than a small nonprofit can do.</subtitle> | <subtitle id="1:01:56"> Here's something that Viewpoints has on its list but we expect not to be able to solve this, at least in this path of doing things. it, may be beyond, may require a much larger effort than a small nonprofit can do.</subtitle> | ||
Line 765: | Line 1,087: | ||
<subtitle id="1:03:17"> But in fact, it is a very good model for what the Internet is going to turn into. Okay.</subtitle> | <subtitle id="1:03:17"> But in fact, it is a very good model for what the Internet is going to turn into. Okay.</subtitle> | ||
+ | == Apple, Orange and Lemon == | ||
+ | |||
+ | <note for="1:03:26"> | ||
+ | Apple is Apple, and orange refers to the theme color of Ubuntu as a stand in for the Linux Operating System. | ||
+ | <slide for="1:03:2" name="COFES2012-Apple1.png"/> | ||
+ | <slide for="1:03:29" name="COFES2012-Apple2.png"/> | ||
+ | <slide for="1:03:32" name="COFES2012-Apple3.png"/> | ||
+ | <slide for="1:03:35" name="COFES2012-Apple4.png"/> | ||
+ | </note> | ||
<subtitle id="1:03:26"> So the punchline here, we've got three main operating systems.</subtitle> | <subtitle id="1:03:26"> So the punchline here, we've got three main operating systems.</subtitle> | ||
Line 782: | Line 1,113: | ||
<subtitle id="1:04:14"> Then, maybe more will happen. I think there's a smaller group question session coming up later.</subtitle> | <subtitle id="1:04:14"> Then, maybe more will happen. I think there's a smaller group question session coming up later.</subtitle> | ||
+ | |||
+ | == News and New == | ||
+ | |||
+ | <note for="1:04:23"> | ||
+ | A recurring theme on learning that Alan mentions in various ways over the decades. | ||
+ | <slide for="1:03:35" name="COFES2012-News1.png"/> | ||
+ | <slide for="1:04:32" name="COFES2012-News2.png"/> | ||
+ | <slide for="1:05:5" name="COFES2012-News3.png"/> | ||
+ | <slide for="1:03:35" name="COFES2012-News4.png"/> | ||
+ | <slide for="1:03:35" name="COFES2012-News5.png"/> | ||
+ | <slide for="1:05:32" name="COFES2012-News6.png"/> | ||
+ | <slide for="1:05:41" name="COFES2012-News7.png"/> | ||
+ | <slide for="1:05:53" name="COFES2012-News8.png"/> | ||
+ | <slide for="1:06:32" name="COFES2012-News9.png"/> | ||
+ | </note> | ||
<subtitle id="1:04:23">Let's think about this idea. Something appears and we've got two things about it. That are very different. There's news and new.</subtitle> | <subtitle id="1:04:23">Let's think about this idea. Something appears and we've got two things about it. That are very different. There's news and new.</subtitle> | ||
Line 813: | Line 1,159: | ||
<subtitle id="1:06:11"> It was all about learning by doing.</subtitle> | <subtitle id="1:06:11"> It was all about learning by doing.</subtitle> | ||
− | <subtitle id="1:06:14"> But in fact, almost everybody in the world uses it only as a consumable device for their | + | <subtitle id="1:06:14"> But in fact, almost everybody in the world uses it only as a consumable device for their own convenience.</subtitle> |
<subtitle id="1:06:23"> I would spend thousand five hundred dollars, which is the price of an average American car, for a laptop. if I could, because I know what computers are good for.</subtitle> | <subtitle id="1:06:23"> I would spend thousand five hundred dollars, which is the price of an average American car, for a laptop. if I could, because I know what computers are good for.</subtitle> |
Latest revision as of 18:49, 17 July 2018
Contents
- 1 Introduction by Joel Orr
- 2 Opening
- 3 What is Engineering?
- 4 How Empire State Building was designed and architected
- 5 A book on the Empire State Building
- 6 Engineering Bridges
- 7 "Can Software Engineering do anything like this?": Complexity of Software and Software Engineering
- 8 What is Science: With a hair ball standing in for Complexity
- 9 Science with Engineering by making an artifact and observing it
- 10 Computer Science, contrasted with Real Science and Engineering
- 11 Tactics vs. Strategies
- 12 Xerox ALTO in 1973
- 13 8 and half Inventions at Xerox PARC
- 14 Introduction to the STEPS project background
- 15 Principles of STEPS
- 16 The graphics engine of the STEPS project: Dan Amelang's Nile and Gezira
- 17 OMeta, Language Transformation Language
- 18 The working model of TCP/IP by Ian Piumarta
- 19 Particles and Fields Abstraction
- 20 Paragraph Justification with Rules
- 21 Coordinating Multiple Solvers
- 22 From Gears to Ecologies
- 23 Simulation of Space and Time
- 24 Scalability of Ecology and Psychology
- 25 Apple, Orange and Lemon
- 26 News and New
Introduction by Joel Orr
Joel Orr was Chief Visionary (Emeritus) at Cyon Research.
Opening
What is Engineering?
How Empire State Building was designed and architected
Paul Starrett oversaw and managed the construction of the Empire State Building. See Paul Starrett on Wikipedia
A book on the Empire State Building
Engineering Bridges
You can see the movie on the Internet, for example, like this one: Narrows Bridge Collapse..
Alcántara Bridge, also in Extremadura, Spain, [1].
"Can Software Engineering do anything like this?": Complexity of Software and Software Engineering
What is Science: With a hair ball standing in for Complexity
Scheffer Stroke is a logical operation of NAND, from which you can build any other operations, and logical structure. Stroke on Wikipedia.
Oliver Heavyside cleaned up the formula to concisely describe Maxwell original idea. [2]
The notation is not science.
Science with Engineering by making an artifact and observing it
Akashi Kaikyō Bridge. The longest suspension bridge in the world. Wikipedia.
Computer Science, contrasted with Real Science and Engineering
What is on the T-shirt is Lisp semantics written in the form of an interpreter written in Lisp. The core of a language can fit on a T-Shirt.
Alan is showing the cell biology he studied and the Internet that inspired Smalltalk design.
Tactics vs. Strategies
With an arch, one can build as tall structure as a pyramid with much less material.
The couple of British are William Eccles and F. W. Jordan. Origin of Flip Flop on [3].
Jacquard Loom was a powered device that was controlled by punch cards and produced textiles with complex patterns. Loom on Wikipedia. Alan refers to the fact that von Neumann style languages are following what the low-level machine instructions dictates, including ALGOL and Java shown on the slide.
Sketchpad is the black and white picture with the light pen interface on the bottom row. [4].
The brain image used to denote AI. In other talks the same image is used to explain how brain interprets the incoming signal and how itself synthesizes information.
Xerox ALTO in 1973
Alan refers to the idea that each graphical object on screen can be considered as a self-contained entity like an application, and the window border around them is optional. A document in DTP can be organized as an assortment of such graphical objects.
8 and half Inventions at Xerox PARC
Half of the Internet means that Xerox PARC had its own packet switching protocol called PUP, which influenced the design of TCP/IP.
Introduction to the STEPS project background
The picture, with two children (two of triplets) using the XO laptop, is a recreation of the drawing in the "Personal Computer for Children of All Ages" paper.
Principles of STEPS
Refer to some of the STEPS proposals and reports available at the VPRI site: Writings, including first year report.
Simulation of Time is one of the principles. Alan refers to John McCarthy's Situation Calculus and the concept of fluents Calculus on Wikipedia and David Reed's work on distributed decision making [5].
The graphics engine of the STEPS project: Dan Amelang's Nile and Gezira
To see more about Dan's work, check out the talk by him talk at UIUC by Dan (starts around 17:00 mark).
Refer to some other talks for the live demo, until we manage to put the movie, or a real working system here.
The CompositeOver rule, which does the normal blending, is shown in the first oval, and compositing the star with gradient over the Frank character is shown as a result.
Likewise, there are three more examples of using different composition rules.
The document editor is called Frank. Refer to the STEPS project reports and also a paper: and KSWorld: A Time-Aware and Mostly Declarative Language and Interactivev GUI Framework.
Alan pops out from the full screen mode by clicking the top right button, select a button widget for editing in the document editor, and change the gradient by manipulating mutli-stop gradient editor.
OMeta, Language Transformation Language
The language Nothing was an experiment at VPRI to provide an intermediate system language. (This demo was not using Nothing.)
OMeta by Alex Warth is described in detail in his Ph.D thesis: with Programming Languages.
The working model of TCP/IP by Ian Piumarta
Refer to the year STEPS annual report.
Particles and Fields Abstraction
The dynamic content here is to be filled in.
Paragraph Justification with Rules
Coordinating Multiple Solvers
Refer to Hesam Samimi and Alan Borning work on Writings page.
From Gears to Ecologies
Simulation of Space and Time
David Reed's work on distributed decision making [6]. and Gerald Popek's Locus: [7].
Scalability of Ecology and Psychology
The books shown are Ecology: From Individuals to Ecosystems [8] and the Society of Mind.
Apple, Orange and Lemon
Apple is Apple, and orange refers to the theme color of Ubuntu as a stand in for the Linux Operating System.
News and New
A recurring theme on learning that Alan mentions in various ways over the decades.