 Rwy'n meddwl. Mae'r tŷfaf o'r ffordd yn ymgylchedd. Felly mae'r ffordd yn ym 100 yw, mae'n ym 68 yw. Mae'n mynd i'r ffordd yn ym 1948, ond, mae'n mynd i'n mynd i'r ffordd yn ymgylchedd, ond mae'n mynd i'n mynd i'r ffordd yn ymgylchedd. Mae'r ffordd yn 68 yw ymgylchedd mae'n mynd i'n mynd i'n mynd i'r ffordd yn ym 100 yw. Felly mae'n gweithio yng Nghymru yn y ffordd yn y gweithio'r yw. Felly ymgylchedd yn ei me Sultan, ond wnaeth hefyd yn y gweithio yw 32 yw, a fydd yn corwyddaeth o'r hystiaf, mae'n mynd i'n mynd i yn y gweithfa. Felly, rwy'n meddwl i ddim yn ymmergyddol yw Alun C, mae'n gweithio'n iawn pan ddim yn mynd i'r ffordd, a'r byddwn i'n mynd i'n ffordd yn ffordd a fyddai'n goffa'r ffordd. Yn ddweud yn ymgylchedd, byddwn ni'n mwyaf ac I meet a lot of programmers and programming tends to be a fairly young skill. So first I'd ask, you know, how many of you are 45 and under? Right, so I've been programming for more than 45 years. So I've been programming for more years than your entire life. And what I've noticed is I kind of assumed that if you're 30, 40, something like that, that you actually knew what happened before you were born. And that's not the case. The more I talk to people, the more I'm convinced that you don't actually knew what happened before you were born. You might have read about it in books. Some of you haven't even read about it in books. For me, it's not a question of reading about it in books because I was there and did it. So I thought I'd tell you some of these things that have happened. So I have two themes in this kind of lecture which I'm developing. One is to try and tell you about the stuff that we collectively have forgotten. When I say we, I mean the entire programming community. A lot of stuff we've forgotten or perhaps we never knew. And I want to tell you about some of those things and I will be developing those themes in lectures and talks that I'm giving. And the second thing is the new technologies that we are inventing are not without danger. I think that computing is rather like kids running into a sweetie shop and just sort of, oh, we can build this and we've built all this stuff. And we don't really know what the consequences of building this stuff are. So I'm kind of worried that some of the stuff we're building will be very dangerous. And so I want to talk about some of those dangers. And that's also an indication of where we should be working in the future to solve those dangers and do something about it. I mean, me and my colleagues have made a complete mess of everything. And then at the moment I'm retired. So, you know, having fucked up absolutely everything, we go right off we go and you guys can fix it up. I also thought a conference like this, it should be a bit of fun. And I think it's very good that people meet each other. So I'm going to do an experiment which the idea occurred to me in my last week, actually. And I thought, oh, how could I illustrate parallel programming and how could we do things? So I got myself this, which is, this is going to be very noisy because you're all going to be talking at once. So can you hear that? Anybody not hear that? Right. So the goal of this is to get to know each other because some of you know each other and you're sitting next to each other. But others are total strangers so you don't know each other. So I'm going to do a parallel algorithm and some sequential algorithms just because I like parallel programming. So the first algorithm is that we'll start here and you introduce yourself to this guy and when you've done that, you introduce yourself to this guy. Now, I'd assume you're all sitting next to each other so you'll have to shout over to this guy and a wave front will propagate like this and it will go to here and it will go backwards and forwards. And if I hit this a couple of times, you stop. OK, that's the first rule. So off you go. And this isn't going to work, is it? No, so this is the first algorithm. We all have to introduce each other. I'd assumed a kind of regular... Oh, it went. I kind of assumed a regular pattern was odd and even people. Now, if you were talking... If you're talking to him, you can't be listening in that direction. So you can only talk in one direction and listen. You can't be both talking and listening at the same time. If I turn to the left and speak in that direction, I'm not going to hear something that comes from the opposite direction. And some of you have never met before and there are some very attractive people in the audience. And if you should fall in love with the person who you're sitting next to because of this introduction and have five kids and if they become circus artists, I expect you to send me a free ticket to the circus so that something good will have come out of this. So here was the first algorithm. And just for a regular matrix of n by m things, you just sort of... Where's my pointer? There's my pointer. You go like this. And when you get to the end, you turn round again and do it in the opposite direction and everybody will know each other. And that's a pretty bad algorithm. So we'll make a much better algorithm. Now, fortunately, you know which seat numbers you're on. If you don't, you'll have to stand up and look at the seat under. You're either on an odd numbered seat or an even numbered seat. OK, so find out your seat number. This is when it's going to be noisy. OK, you all know your seat numbers, right? So you're clear, you know if you're an odd or even, yeah? Everybody knows, good. So in the past one, odds talk to the right, evens listen to the left. And in past two, evens talk to the left, odds listen to the right. In past three, evens talk to the right, odds listen to the left. And then can you read that? And I'll give a little ding to change the passes. So on the first ding, odds talk to the right and evens listen to the left. So how long did this algorithm take? What was that? A battery thing. OK, so the sequential algorithm took roughly two n times m messages. And the parallel algorithm took four messages. OK, so if we were 50 by 20 on matrix, the speed up would be a factor of 500. OK, so parallel algorithms are much nicer than sequential algorithms. And does everybody know everybody now? Well, say yes, please. OK, so parallel programmers do it in our language, Alexia. That was the message. And you should all learn parallel programming because the world is parallel. We're building lots of multi-cores and a lot of problems are parallel problems. Right, so that was the little interlude. And goodness knows how long the rest of the lecture is going to take. So history, for me, I think history starts in 1948. And this guy, Tom Kilburn, is the world's first programmer. And he's standing there with something called the Williams-Kilburn tube. That was a cathode ray tube that could store or could display, I think it was 2,048 bits, or was it 1,024 bits? The first one was 1,024, and then I think they extended it there. So actually the program and the state of the program and all the data was in 1,024 bits and was displayed on a cathode ray tube. And this could stably store memory for up to one hour. It was developed in the United Kingdom. And this is Kilburn's log book. And the date, where do we press? The date is up there, you see. 19, it's the 19th of June, is that June, January, February, March, April, May. Yeah, 19th of June, 1948. And that's the first program which is there. It actually worked out the fact as a composite number. So they put a prime number in and said the highest factor was one, which meant that it was a prime number. And it ran on the 19th of June, 1948. And there's the program a little bit more clearly written out. And that ran on this machine. And Freddie Williams wrote, a program was laboriously inserted and the start switch pressed. Immediately the spots on the display tube entered a manned dance. In early trials it was a dance of death leading to no useful result. And that was even worse without yielding any clues to what was wrong. But one day it stopped. And they are shining brightly at the expected place for the expected answer. It was a moment to remember, this is in June 1948, and nothing was ever the same again. And he didn't actually realise how true that was because this was the start of the computing age. This was the start of this 100-year period I'm talking about. And we are now two-thirds of the way through that period. So computing is an incredibly young science. I mean, you compare it to things like the Hundred Years' War. I mean, this is an incredibly short period of time and it's progressed very rapidly in the last 10 to 15 years. And here is the Williams tube at the Manchester Museum of Science. This is a replica that they built of the small-scale experimental machine. And here I am. On my holiday I go and look at old computers and take my wife around all these museums. And she loves looking at old computers, I think. I'm not quite sure. Well, she says she likes it. And I actually got to put a programme into this thing. And you enter the programme here by sticking numbers in and then you hit enter on this lovely machine. Oh, and there's a number there. Okay, 0.0004375. And this is my normalisation factor. I am taking one as a Cray one. Because a Cray one was the first supercomputer and I loved the Cray one. So I'm going to show you a few computers. And so the next machine, actually it doesn't have a number because I wasn't able to work out how fast it was. So I've just put a few question marks. It's probably 0.001 of a Cray one and it's a DDP 516. And this was the first computer I got to play with all by myself. And the programmes were entered with a telly. Well, actually, you see this thing up here. Those are called sense switches. The first programme, when you booted the thing, you had to enter a number on here. This is a 16-bit thing. You put the 16-bit pattern and then you press load and store and you enter the first programme. Now, the first programme is a programme that reads a paper tape. Right. And so once you've entered the first programme, which takes about half an hour because there's a lot of instructions, then you can run it. And you put a paper tape into this machine here, the telly type here and you run the first programme. And then the first programme is a programme that can read programmes from the card reader. And then you put your punch cards into the card reader, which I haven't shown there. And it reads them all in and off you go. Now, this had... Let me see. Whoops. No, that's the next slide. This had 32 kilobytes of 16-bit memory and, of course, big programmes couldn't fit into it. So they were written in Fortran and they were written using things called overlays. You had to split your programme up into bits that would fit into 16 kilobytes. You load the first bit in and that loads the next bit in and then the first bit and the second bit. And it's rather slow. And when we had these things, we got after a few years, we got something called the Glass TTY, which is Glass TTY, it's a terminal. And you could actually enter your programmes not on punched cards, but you could sit at this Glass TTY at the screen with a little keyboard, enter them and store them on disk. Ah, this was fantastic. This really improved turnaround. And I said to my boss, you know, one day, everybody will have Glass TTYs to enter their data in and everybody will store their programmes on disk and he said, Joe, you're mad. You're completely your lunatic. That will never happen. He said, why will, you know, the disk costs, you know, 20,000 euros or something like that and the Glass TTY costs 10,000 euros. They're far too expensive. Nobody will ever do this in the future. Guess who was right? Joe Won bosses zero. Okay. So in 1975, the Cray Won came out. Now, this was the first supercomputer. It was, it looked like that. It even came with a sort of tailored leather seat around the outside you could sit on. And it's circular so that to minimise the cable lengths between the separate units. So these are the CPU and the memory units. And just a little bit of its vital statistics. It was the world's first supercomputer, which is why it's pretty exciting. It had an, what? Don't do that. It had an 80 megahertz clock. 80 megahertz, isn't that? Stupendously fast. It consumed a mere 115 kilowatts of power. And weighed 5.5 tonnes and cost $10 million. And it had eight megabytes of memory. I mean, this was fantastic. I was a summer, I used to be a physicist and I was a summer intern at CERN and I ended up in the programme advisory office. And I could programme the Cray Won. There was one in all of Europe. All of Europe had one supercomputer. And I could programme it. I wasn't allowed to sit on the bench. You know, only the guys in the white coats could sit on the bench. But I didn't have a white coat because I was in the back office. But I could programme the Cray Won. And it was so fast that you didn't put punch cards in. It was a load of IBM 360s and CDC 7600s that did the IO. And then once I'd read all the punch cards and things, they then talked to the Cray Won that did the work instantaneously. It's a lot of good physics. This was used to discuss the quark model, you know, quarks and things like that, the omega minus particle. Murray Gellman was at CERN and quarks were discovered using the Cray Won. Great stuff. Fantastic. Right. So here's me next to the Cray Won at the National Museum of Computing at Blechel. I sat on the thing before the people told me to stand up because you were not supposed to sit on it, but I don't know if it actually works. Great place to go. If you're ever in Great Britain, go to the National Museum of Computing. They've got the computer that Tim Berners-Lee did the World Wide Web on. It's a wonderful place, full of very exciting things. There you go. So the next computer is the Vax 11. Whoops, hello, come back. Vax 11 780. This came out in 1975. This was kind of computing for the masses or for people in scientific labs. We got a hold of Vax's. The 11 780 was 0.00625 of a Cray Won. You see, it wasn't as powerful as a Cray Won, but I don't know if any have heard of this expression. Vax MIPS. Has anybody heard of that? Vax MIPS. OK, so the 11 780 defined the term MIPS, million instructions per second. It was the first commercial computer that you could buy for reasonable amount of money that would do a million instructions per second, so it's called a Vax MIPS. And it ran at 0.006 times the speed of the Cray Won. OK, it was a bit expensive. So in fact, I didn't have an 11 780. We had the cheaper model, which was the 11 750, and that's the computer that I developed earlier on. It was a Vax 11 750, and it was done with VT 52s. They weren't bitmap terminals. They came later with... Sun started the first bitmap terminals. You have to type your program in there. This was before the days of full-screen editors. So it was just line editors and everything like that. And then somebody thought, oh, we can make a full-screen editor. What a good idea. So they did. Right. Now I'm just going to hop forward a little bit. This guy is 256 times a Cray Won. I gave a lecture and I was waving my iPhone and I said, do you realise this is more powerful than a Cray Won? And I hadn't checked my figures. This little fella is 256 times a Cray Won. This is 256 times as powerful as the most powerful computer in the world in 1975. Okay. So we can do Pokemon Go and all sorts of things. You know, a really useful thing. This is lovely. I love this. This is 15 Cray Wons. It's a Raspberry Pi. I was in Chicago and somebody said, can you run Erlang on a really weak little embedded computer, an ARM computer or something like a Raspberry Pi? And I just said, you're joking. You're joking. You're talking about a supercomputer. Erlang was developed on a machine that is infinitely weaker than this. This is 15 times the power of a Cray Won. 15 times the power of the most powerful computer in the world. Does it? Do I get the impression when I use it that it's faster than the Cray Won? No, I don't actually. Because all the software is totally fucked up. What? The hardware gif of the software takers away and the damn thing goes slowly because they put megabytes and gigabytes and rubbish onto it before it even boots. This is something you have to fix. An operating system, you know, an old operating system back in 1918 was one and a half megabytes. Okay? An update of Keynote on my Mac is like 100 megabytes, right? It's 80 times, 70 times the size of an entire operating system in the mid-70s. And I cannot understand why. What the hell is in this 100 megabytes? Even if it's full of images and things, how can it be so big? Could it be that Apple are just putting huge programs to take up all the space on your disk so you have to buy a more expensive computer? Oh, I wonder, you know, it's... What are they up to? And don't get me on the cloud. I mean, why... Oh, sorry, this is blackmail by storing all your stuff on the cloud. Right. This is the NVIDIA Tesla P100, which is 66,000 times the power of a Cray 1. This is scary stuff. This is the sort of thing that you're going to use to beat the world champion at Go with machine learning algorithms. This is the thing that's going to cause mass unemployment that's going to take away vast numbers of jobs if they get... If they manage to program it, the only problem is programming it. If we can program that to do machine learning, it's going to successfully take over all sorts of jobs and things. So it's a really scary machine. Fortunately, there's an even more power... I mean, this is 66,000 times more powerful than the Cray 1, but we got this fella here and that's 10 to the 8 times the power of the Cray 1 and runs at 38 petaflops at 15 watts. And at the moment, we hold the world record in computing power. So the hardware hasn't caught up with us yet. And it's got 86 billion neurons in it. It's about 5 million years old and it's gone through lots of generations. It's a pretty good computer, actually. So this is our defence against this thing. You know, we unplug it. That's the way to win. Okay, it's a timeline. Could somebody tell me what time I have to finish? Does anybody know? Oh dear. I think I'm supposed to finish at 10, so I have to rush through stuff. Okay, so skip through that. Storage is the same story, really. Here's me next to a four-megabyte disk in the National Museum of Computing. The photo is not very good, but as you can see, it comes up to here. So the notion of digital photography, every picture is like four megabytes and digital music, four megabytes per song. Digital music and digital photography are enabled by massive memories. It's a technology shift. There's not going to be digital music when you carry that fellow around. It weighed, what does it weigh? It doesn't say what it weighs. I didn't try picking it up. No, they wouldn't let me. I wouldn't try picking it up. Probably weighs about 30 kilos, I guess. Cost $10,000. And you're not going to have it in your backpack or anything. So storage is made a massive gain. And that mobile data, well... I used to work for Ericsson for you. So this is the first mobile phone. System A, 1956, weighed 40 kilograms. So again, not very useful for mobile computations. But you can see how it's come on and now it's gone from that. It's all baked into an iPhone. And we now have... Just to summarise this. I mean, now, from 1948 to 2016, computers are insanely fast. They are ridiculously fast. So why are people worried about efficiency? Oh, they're always writing a loop right there. Because the machine is just so stupidly fast that you don't need to bother. And even if you... How do you make a program speed up? How do you make a program go a thousand times? Eling is a million times faster than the first time I made it. Why is that? Because 20 years has passed. If you wait 10 years, your program will go a thousand times faster. If you wait 20 years, it'll be a million times faster. I don't see that stopping. That's not going to happen. It's going to carry on like that. We've got massive amounts of memory, terabytes of memory. The only reason we don't have terabytes of memory in our phones, the only reason we have gigabytes of memory, is the rate at which the memory manufacturers release memory into new devices. Because, basically, they want to charge you money every year to double them. You know, they could give you a thousand times more memory tomorrow if they wanted to, but then they can't sell you double the memory every year. So that's the only reason why we don't have massive memories. And we're going to have massive bandwidth. We're going to go over from wireless to using lasers. When you put LED light bulbs in your rooms, you can modulate information on that. So you can use white light lasers instead of that. So all you have to do is screw out your light bulbs, put in li-fi white bulbs, and you'll be easily going at 10 gigabits per second line of sight. There's no interference, so people can't spy on you as well. So we're going to have billions of small computing devices. This is called the Internet of Things, or some people call it the Internet of Useless Things. And we don't know what to do with them. I was listening to the radio and this guy said, oh, every household is going to have 500 devices. We're going to have pillars that tell you when they need washing. And my wife said, well, that's absolutely just what I need, a pillar that talks to me and tells me when it needs washing. I mean, this is a great... And some of you are going to work on this stuff, isn't that wonderful? Yeah, it's great. There are other projects you could work on, as well as talking pillars and things, but never mind. Right, so what's going to happen in the next 50 years? Sorry? I'm not going to stop at 10. Oh, at 10.10. Oh, thank you very much. Good. Okay, so what's going to happen? So this is a rhetorical question. Do you think this development is going to stop? I've seen the last 45 years of this. If you're 20 or 25 or something, you're going to be programming for another 20 or 30 years, do you think this development is suddenly going to stop? No, of course it's not going to stop. It's accelerating, if anything. It's very exciting, actually. The first 100 years of any science, from 1600 to 17, when Newton came along and did Principia Mathematica and that kind of thing, and then physics exploded in this first 100 years, and then it kind of slowed down. We're in this 100-year period when it's exploding. It's all very fun. And I was very lucky to be around at the right time. So hardware is insanely fast, so we can do anything with it, can we? Is that right? Come on, yes, no. Votes for yes, we can do anything. No, okay, votes for no, we can't. Yeah, right. Wrong. I mean, you can't do anything with it. So I always, because I'm a physicist, I get back to numbers. This is Numbers 101, so it's good to have a few numbers in the back of your head. The Earth has about 10 to 50 atoms on it. 10 to 50 is a nice number to remember. It's easy to remember. Earth's got 10 to 50 atoms. So let's write a programme. Oh, yeah, let's make a laptop, the ultimate laptop. Ways one kilogram. We stuffed more and more components onto it. Gets hotter and hotter, denser and denser. Becomes a black hole. So we have a black hole laptop. It can do 10 to the 51 operations per second. It's 10 to the minus 27 of a meter small. It can store 10 to the 16 bits, and it lasts for 10 to the minus. It explodes, and it lasts for 10 to the minus 21 of a second. And the information, the result of the computation, appears through quantum entanglement somewhere else in the universe, instantaneously. So there's a problem with IO, so we don't actually know how to get any output from this thing. So that's the ultimate computer. And whoops, the ultimate printer is, well let's make the ultimate printer. We take the entire universe, that's the biggest thing we can think of, and we divide it by the smallest thing we can think of. The smallest thing known to physics is the plank length. So the smallest volume, the smallest pixel, to make you a 3D printer is 10 to the minus 105 meters cubed. We divide one by the other. We made a printer out of the entire universe, sort of flattening it into a huge sheet of paper, and it can print 10 to the 185 pixels. So this is the biggest printer in the world. We can't currently buy this from Hewlett-Packard, they don't actually make them this big at the moment. So it's 10 to the 185 pixels, and so is this big enough for the output of our programs? The answer is no, of course. Other ones we can answer it. Okay, so here's a little program. For I in one to six double factorial print I, that's a tiny little program. Wait a moment, what's that thing? A six double factorial. It's a three characters, three characters long. How big is six double factorial? Well, six factorial, you know what factorial it is. Six factorial is 720. So six double factorial is 720 times 710 times 709. And each of those terms, you know, 720 is bigger than 10, 710 is bigger than 10, 709 is bigger than 10. And that's repeated 700 times, and there's these stuff at the end. So six double factorial is much, much greater than 10 to the power of 711, okay? So remember, I said the biggest printer in the universe can print 10 to the 185 pixels. So this little program, that little program cannot be printed on the biggest printer that we could conceive of in the entire universe. So I was thinking of writing a paper, you know, consider the class of programs with three characters in them. This is insanely complicated. So underlying computation is a mathematics. If we can't test this program, we can't run it, we can't do it, we have to use mathematics to understand how it works. We have to prove things about it. You could prove that that program terminates, but it would be useless because you could figure out, okay, the next computer, open above the laptop as a quantum computer, is to take the entire universe as a quantum computer. That will do, that's, if you do that, from the time the universe is booted, it's done 10 to the 123 operations since the universe was booted. And that's way smaller than this. So we couldn't actually compute this. Well, we can prove mathematics to terminate, but it will not terminate within the life of the universe. So we need multiverses to do that, which is kind of fun. Right, so let's go on. My conclusion for that is that programs are insanely complicated. They're all black holes of complexity right in the middle of your programs. Certain programs, you just can't exhaust if you test them or do anything with them. Don't bother, right. Dangerous, dangerous, right. I just take a couple of these. So, this is Rebecca Burkett. And the photo was taken, if you look at the back of the photo, it was taken in 1892. And my wife is interested in genealogy and she was looking through these old photos and said, oh, look, this is Rebecca Burkett. And then she said, when we're dead and gone, we'll, we'll are, you know, all this stuff, all the photos we've published on Facebook, all these photos that have vanished into the cloud, will our answer, you know, in 100 years time, in 200 years time, will they be able to see these photos? And I thought that's an interesting question. So, I happen to be on a panel debate with some guy who was quite high up in Facebook. So I said, you know, all these photos we take on Facebook, are they still going to be around in 200 years time so that people could look at them? What about all our stuff we're doing? Did you know what he said? He said, that's a very good question, he said. Right, so problem number one is saving our history. I think, I'm rather worried that I wouldn't, you know, sometimes I start, I like writing and sometimes I might try to write science fiction and I'm like 200 years, 400 years ahead and say, unfortunately all the history from 2000 to 2020 was accidentally lost because we put it in the cloud and encrypted it all and nobody can remember how to get it out. This is a real problem. We are putting more and more stuff into the cloud, we're encrypting it. And most of the cloud is paid storage, okay? So you stop paying, it's not stored anymore. Or is it? Or what happens to it? Well, nobody knows. And anyway, which cloud? Apple's cloud, Google's cloud, they're all fighting in Microsoft's cloud. So I'm really worried that we're going to lose history. And so how much data are we talking about? What about history? Where is the data? So who's going to pay for it all? Who can access the information? How long is it going to be stored for? Goodness, how's the data named? Well, I don't know. Well, how many documents are there? Well, there's 10 to the nine people on the planet. The sun will become a red giant in five times 10 to the nine years. We might write, say, 1,000 documents a year that we want to store. So that's 10 to the 25 documents and the Earth's got 10 to the 50 atoms. So maybe we can do that. I don't know what happens after the sun becomes a red giant. Maybe we can beam it off into outer space and hope somebody, you know, oh, sorry, long aside, which haven't got time for. Okay, so let's store everything in a content addressable store. I've only got five minutes, so I won't go into that. Content addressable stores are wonderful things. We can't talk about things unless things have got names. So this is a basic philosophical thing. If something has a name, we can talk about it. And so things that don't have names we can't talk about. And a content addressable store is we name things with a cryptographic checksum. So, for example, you can use MD5-SHA1-SHA256 to name a blob of data. Okay, so this is like more general than a key value store. A key value store, you've got a key and a value. This is a value store. You just store blobs. It is a kind of key. It's implied by the data. The key is the SHA1 checksum of the data. And so a content addressable store would look like, and I want you to build this thing. Okay, I'll go and build one myself, but really it needs international collaboration. It needs standards collaboration. So I would like to go to any website, anywhere on the planet, and say, get SHA1, and there's an SHA1 checksum, and it'll either say, yeah, here you are, and you get some data back or say, sorry, I haven't got it. Okay, this is immune to a man in the middle attack. So it doesn't need any security because once you've got that data, you can compute it in this case, an SHA1 checksum, and see if it's the same as the data was. So you could layer security on top of this. This is the underlying mechanism, and you could publish it on any site. In fact, you need to make it slightly more complicated in this. The response to a get request would be the data itself. Or it would say, sorry, I haven't got this, but here are some other machines that you might like to look at, because I think they might have it. And there's a peer-to-peer system called Cadamelia, which is used in the views system. It's used by the file-sharing networks. This works fine, you know, people share movies on it, millions of movies, millions of views, millions of... It's a big DHT. We could put all of human information into a massive, planetary-wide DHT, and thereby save history, which would be kind of fun. So the API is like this. It's even easier than a key value store. It's just put data, bang, yep. Don't know, did it work? Don't know. You have to read it back to see if you can find it again. That's pretty easy. It's a value only. If you thought key value stores are useful, value-only stores are even more fun. And there's a few references you can look up. IPFS, one Bennett, where is he? Wave, shout. Yeah, great. He's giving a talk about IPFS. And he's actually building one of these things. This is great stuff. This is fantastic stuff, because one is going to save us. He's going to save our history. So, thousands of years' time, they're going to say, thanks to Arn Bennett, and the people who helped him from Barcelona, we've saved history. Right, and there's some other stuff. Vint Cerf is very keen on this. He's coined this term digital vellum, the organized conferences on... He's more worried about the hardware and the formats that... I mean, okay, so we've got the data for early computers, but hang on, we haven't got the early computers. Can we emulate the early computers? So, we can rerun these programmes and things like that. A Tim Berners-Lee's just done some stuff called SOLID. And there's things like Git Torrent, which is... I don't know if it's Git. You know, once you've got checksum, you need to know the site where it's on. It's on GitHub or it's somewhere else. You don't know that. It should be in a huge, massive DHT. And I've got four minutes left. So, problem two, creating a computational infrastructure. We're using about 3%, between 3% and 6%. It depends how you calculate. We're using about 3% of the world's energy to run data centres so we can share pictures with each other. We do have climate problems. So, we need to do something about that. So, we need to build a personalised computational infrastructure. And I'm not any good at hardware, so... I thought, if you can't build something yourself, build a prototype, describe it to people with some hardware, people who've built it and then I can use it and I can go and buy it. So, this is what Alan Kaye did. He went round with a cardboard thing like this. This was a Dynabook prototype. And Steve Jobs sort of latched onto this and they made the iPad, which wasn't actually, Alan Kaye was really pissed off about the iPad because it's not the Dynabook. And basically Apple, Apple have made this device but they haven't let kids programme. It's difficult to programme. It's not a ubiquitous open platform that anybody can programme. It's a closed platform, which only Apple will let you programme. And that inspired the iPad. So, I thought, well, I'd make a model of a ubiquitous computer that I want somebody to build. And here it is in operation on my roof. And it worked fine in Spain. It's a nice sunny place. So, it's a solar panel. Well, I thought solar panels are made of silicon. Processes are made of silicon. Memories are made of silicon. Antennas are made of silicon. Flash memories made of silicon. Lifes made of silicon. So, why not just blow them all onto a solar panel? Get 135 watts per square metre if you're lucky. Maybe 50 watts per square metre. Processor runs about, you know, two or three watts. That could talk to your local computer with Wi-Fi. And you keep all your personal data on this. It's happening crazy. Every time we book an airline ticket or a hotel, we leak massive amounts of information to commercial interests. And it's for their benefit, it's not for our benefit. What we should do is, suppose you want to book an airline at the moment, an airline ticket in a hotel in a higher car because you're going on holiday. What you do is you go to some booking site, you go to airline number one, and you say, how much does it cost to go to Barcelona for the weekend and you get a quote or something like that? Ah, it's too expensive. I'll try booking site number two. You get a different quote. But they already know you've been to site number one. And, you know, they sniff your computer. And he's got a fancy new Mac book or he can afford a lot. Oh, no, he's got a crap old Windows machine. He'll be cheaper, you know. So they're not doing it for our benefit. And then you go and you want a hotel and things like that. So the alternative, you keep this data on your own computer at home. You don't leak anything to anybody. You go to 10 travel agents and say, can I have your computer program please? I want to run it locally. You request these programs. You run them locally. And each of them gives you a quote. The hotels give you a quote. You haven't revealed to anybody what dates you're moving. You haven't revealed your plans. You haven't told the NSA. You haven't told the national security. There's no privacy issues. You run it locally on your machine. And then you send out the answers to the ones, you know, I'm choosing you, you and you. And you haven't incidentally leaked all this information about yourself to advertising agencies and security agencies and everybody else. We need to bring back computing to the people. OK. So once it's like that, it will talk to the neighbor's houses. It will talk to your house. A little battery when the sun goes down. It might not work. I don't know. And then, of course, you can stick it on your car roof. And then when you drive it into a parking lot of a big supermarket, you know, there'll be thousands of 500 cars and it will form a supercomputing cluster. It will just say hello. Oh, there's another computer there. And it will just build a supercomputer. And it's just entire. And as the sun goes round the earth, the computations will follow it, the data will follow it. And it will be a green computer. We can throw away all these data centres. All right. So, yeah, that's what you could do. Is it stick with it. Yeah, whatever. Stick it on your roof and your house becomes a supercomputer. Keep your own data on your own computer. Make a planetary wide global store with renewable resources for the benefit of everybody. So that's what you guys have got to do. I'm kind of not so active programme. Well, yeah, I am actually, but I'm sort of... I'm sort of a drug, you know. I'm sort of withdrawal at the moment because I don't do it as much as I used to. So, finally, just have fun and have a great conference. And thank you very much.