 Any folks here that would actually self-identify as ecologists about evolutionary biology? And the rest of you losers are behavior. I guess I'm behavior too. I am here on a mission. I have an ulterior motive. I am trying to change the world. The way that we compute with our computers is crazy and dangerous, and it needs your help. It needs a sense of ecology. It needs a sense of biology. And whatever behavior is, it needs that too. So I'm telling you up front that my goal is to try to convince you that there is an alternative that we need to be working towards. And I'm going to attempt to be a sort of high-level and conceptual. I don't know if I'm really aiming at biology, but I am kind of aiming away from computation. We'll see what happens. I'd be happy if anybody dares to jump in with a question as we go along. And I'm supposed to save some time for questions at the end. We'll see how it goes. All right. All right. This is what I want to try to talk about today. We spoke physics for digital biology. What the hell is that? Well, so we should start with the meaning of life. We'll sort of just knock that off to get us all on the same page. And then ask, well, who cares? So now that we know what life is, why does that matter to computation? And then, well, what would that look like? If we had computation that was being life, or life-like, if you're going to be a wee, what would it look like? And I would like to spend a chunk of time, if I could, trying to do some demos and trying to say, here, this is what it would look like. It would look less like this and more like that. And then talk a little bit more about this whole idea of bespoke physics, custom physics, laws of physics that you can make up. And there's this weird thing that happens when I talk to people, when I talk to physicists, talk to physical scientists. And I say things like, suppose you were in a universe where you could connect up anything and it would be free of charge. And they would say, well, you can't do that. The fastest thing you could do is a sulfur bond. No, no, no, I'm not talking about the actual physics. I'm talking about the principle. But there is no principle. There's only the actual physics. In a bespoke physics, you get to define the laws of physics. You get to be a god. And what I'm going to suggest is that there are millions of things you could say. If you get to define the laws of physics, what would constrain them? What would make you pick this set of rules versus that set of rules? Mostly I will talk tomorrow about that. And I'm just going to go with a set of rules that I have picked for today. All right, that's the plan. I have this problem of kind of talking too long. So I've learned from experience that I need to start with the conclusions. So here are our questions. And here are the answers. All right, so you can't say I didn't give you the conclusion. What is life? Life is dynamic persistence. Life are systems that dynamically preserve oneself. That's it. And I'll talk more about that in a second. You should be thinking, well, but that, but, but, but, but, but, but, but, but, but, but I'll say, well, yeah, yeah, yeah, exactly. We'll get to it. Why do we care? We care because we need to change the way we do computer. We need to change the way we build these computers so that they will actually do something robustly. They may not actually get the correct answer, but they'll be close and they will do something. They will not just spaz out on you with a blue screen when you're driving down the highway. What do they look like? I'm going to show you demos of the movable feast machine. It's one particular model that we have been exploring. All right. What is a bespoke physics? A bespoke physics is in computation terms, and this is now computer jargon. A virtual machine is not like a real computer. It's a simulation of a computer. It's a computer, a program that acts like a machine, virtual machine. And what I'm suggesting is we need virtual machines that are explicitly designed to take up space. Instead of just being in one place, there's some computer here, some computer there, all spatial virtual machines. And where we should be moving to as a society is towards computations delivered on spatial virtual machines. I'll try to make that case. Why should we do that? We should do that because what we're doing now is evil. Well, I suppose I really shouldn't say. It's really the same point. Hackers are in your system. Yahoo 500 million accounts. DNC, Russia, it's crazy. It's absolutely ludicrously, stupidly, amazingly, insanely crazy. The world we're living in today. What we think of as acceptable in information security. God will. 50 years from now. Your kids, your grandkids will never believe what we did for computation. Any fool, all they had to find was one bug. All they had to do was go ask for one zero day exploit and then they could steal all your information and you did that. You told these incredible, pitiful, clueless, gullible machines. Your private secrets. Oh, dad. That's the way the world is going to look. And yet we're living in it now and we don't even know it. We don't even recognize it. It's incredible. All right. And how should we do it? How should we decide amongst various possible sets of laws of physics now that we can pick anything we want? We should select among the ones that offer this indefinite scalability property. And that's what I'll talk about tomorrow. All right. So that's the plan. Let's start at the top. What is the meaning of life? The meaning of life is blah. This is a slide I took from one of my videos. State of birth begins with generation, birth or germination ends with death. This is an incredibly stupid lame definition. This is a definition of what happens during a life rather than a set of conditions for what it means to be alive. This doesn't tell me anything about it whether you want to build a computer program or a machine or anything. Would that count as a life or not? Well, is it an animal? Does it have this thing? And so forth. Now lots of people from one sense, anybody who's interested in this material sooner or later, must take a crack at the definition. What is your definition of life? So here's a couple of them. Life is a self-sustaining chemical system capable of an Darwinian evolution. Great. Joey Joyce. He's a chemist. Life is a self-organized non-equilibrium system. Processes are governed by a program stored symbolically. So forth. Lee Small is a physicist. These things certainly have aspects of the truth. You can certainly nitpick and say, well, what is storing stuff symbolically? That seems rather actually complicated at the concept to just assume everybody understands what that means. For my purposes, for purposes of artificial life, we need a big umbrella. We need a general purpose definition that's going to let in stuff while still having some descriptive value. And oh yeah, this was my dad's definition. And again, I don't know where he got this and I don't know what it is, but I do love it and it does have some kind of germ of truth to it that this is a great way to keep... So here it is. And this is what I said the answer was. Life is dynamically preserved pattern. It's a system that preserves a pattern of some sort. And the claim is, wherever you look at in the world, if you see a pattern that's being preserved dynamically, consuming energy, some kind of thing, in order to preserve a pattern, then you're going to say, that is life, that is a little bit of life. And the example I use is, suppose it was a little eddy in a whirlpool in a stream. Water's running down the stream and there's a little rock and it's spinning around and around. There's a little pattern there, that little whirlpool. That's a dynamically preserved pattern. It's actually drawing a little bit of energy out of the stream. It persists for some period of time, but it's so fragile. You hit one little rock and the thing is gone. According to this rule, that whirlpool has a little bit of life. And what we're fundamentally talking about is computational paganism. Wherever you look at it and see patterns being preserved dynamically, you're going to say, ooh, ooh, life. Oh, little whirlpool, happy little whirlpool, whirlpool. That, ah, ah, and like that. And you're not going to be categorically wrong. So the fundamental answer is, what is life? It depends on what you were asking for. And you can have a narrower decision, a narrower, tighter criteria or a more general criteria, but what is always going to be true is there's a dynamically preserved pattern. Now, with the definition of that broad, I can make real life, not simulated life, not models of life, but actual life, inside a computer. No problem. Computers got these memories. I can put patterns in there. I can copy the patterns from here to there or erase them here or copy them there. The thing is consuming energy out of a wall. It's a dynamically preserved pattern. So we have plenty of room for what I need to do with it. Life is a dynamically preserved pattern. All right. Nice. Ah, well, we didn't start quite at the bottom. So what? Why does that matter to computers? In here, I need to talk a little bit about computation, but really, it's just, it's smartphone stuff. We don't really need to know much. Don't be afraid. Here's my picture of computation. It's this interplay between the CPU, the central processing unit, and the RAM, the random access memory. Okay? And the CPU processes, central processing unit. Processing changes. It transforms things. Whereas the RAM does not. The RAM preserves things. It holds on to things. So if we say dynamically preserved pattern, well, RAM preserves whatever pattern you stick in it. It takes energy to do so. But it doesn't. So we're on our way. This is usually, again, I'm glossing over stuff, usually called the Von Neumann machine, or a specific little subversion of this. It's called the Von Neumann machine. It's Von Neumann. Von Neumann as much as anything. I mean, aside from being super genius, was also very good at writing stuff up. So there were a lot of real nerdy engineer guys, Eckert and Mockley and so forth, who did a lot more of the design of the original machine. And Von Neumann wrote it up. Von Neumann machine. But it's great stuff. Now, this cartoon is significantly wrong in a certain way. I mean, this was the idea back in the 1940s, and it's like, you can build computers that will do stuff and we can build them out of machines instead of out of people. Fast forward to today. Fast forward to today. This is not really what it looked like. So as just as an experiment, I went and looked at the machinery on my laptop and said, if you looked at the CPU and asked how many transistors does it have in it? How many gates? And you looked at my RAM and you asked how many gates does it have in it? What should the stale look like for a typical machine? And it's like this, okay? 600 million gates more or less in the processor, 68 billion gates in the RAM. Something like that. Now, think about it. RAM does nothing but preserve whatever pattern you say to it. It doesn't improve it. It doesn't add one to it. It doesn't say that you get the same answer as I did. It's just whatever the CPU puts there, its job is to preserve it. This idea, this approach, is what powered the computer revolution. This idea, this approach, does not scale up. This is the tin pot dictator who says I'm in charge of everything. You. What's your number? Six. Now it's seven. Yes, it's seven. What's your number? It's still seven. And as memory has gotten bigger and bigger, software has gotten bigger and bigger, the CPU has to go faster and faster to get things done. And it's running out of headroom. Now there's all kinds of physics that haven't been used yet that could make the CPU go faster. But you see the direction we're heading. If the only thing that changes anything is this one central guy, and all the rest of the universe is relegated to just saying, yes, I'm a zero. Still a zero. And that's it. Eventually we can't scale anymore. That guy can't go any faster. We're done. So what are we going to do to move into the future of computing? We have to somehow let all of these gates change on their own. We have to let them evolve. We have to let them compute without the blessing of the central authority. We need a revolution. We need democracy. We need free market capitalism inside your computer for something like that. And I am deadly serious about this. Smile. I believe that stuff from ecology, stuff from political science, stuff from biology, inter-species interactions, we need to bring that kind of knowledge, that kind of sensibility to bear on the design of computers for the future. How do ecologies stabilize themselves? How do you keep cancer from spreading through the body and yet still be able to regrow things? These are the exact same kind of issues that life has studied since it began. That we never had to face we being computer engineers because we listened to von Neumann who said the only thing that changes is this one finger that says you, you, you, you, you, you, you and that's it. And that allowed us to get the whole physical world out and just do logic. And we love logic. Logic is all nice and square. Everything comes out the same way no matter how you do it. What is that true of in the world? Well, nothing. Just a computer. And the only reason that works is because we only do small computations. If you take a computer and know how much you spend on the hardware of the computer is you run it long enough it will make an undetected error. Or it'll just die before your computation is done either way. If someone tells you up front the maximum size of a computation then you can design the hardware to make that as reliable as you like. But if you go the other way and say, no, this is the hardware we're going to use. You have no choice about that. And we're just going to use more of it and more of it. Eventually, this lovely property of determinism is going to die. It's going to go away. And the entire edifice that we've built programmed software on is on assuming that we can ignore physics and just think about logic goes away. All right. This reminds me. Have you seen the far-side cartoon? This is really what this reminds me of. I don't like using copyrighted stuff, so I just described it. Right. There's wolf driving into the city and all these little piggies driving around at cars. And in the background you see all these huge skyscrapers made out of straw. These trucks driving around saying acne straw delivery service and stuff like that. That's where we are today. We are the little piggies who picked straw as our architecture. CPU and RAM. And we went crazy with it. We're building skyscrapers out of straw. That's what your phone is today. And sooner or later the wolf is coming back. And the suggestion is all of these incredible, ridiculous computer computers that are part of every new cycle is the wolf. We're just reaping what we sow. Okay. The von Neumann machine. We hated him because he was doing this. Well, it turns out he knew he was doing it. And he was kind of sorry. And in the spirit of everybody he kind of does something that works but kind of gross. He tried to atone for it, you know, like the Nobel Prize Prize from the guy that invented dynamite. Von Neumann said, in the future the logic of automata, the way computers work will differ because the actual length of chains of operations will have to be considered. In other words, you can't just write a program you can't do billions and billions and billions of instructions. You're going to have to keep the program short. And the operations, the fundamental operations if x greater than zero, 1x equals 1 plus 2 are going to have to admit that maybe they will fail. Maybe 1 plus 1 will be 9 million. And if we don't rearrange the way that we compute, the way that we build software to allow that to happen then we're not done yet according to Von Neumann. He said this in 1948, something like that. And in the rest of the paper he says he imagined by the time we get to computers with 10,000 gates, 10,000 switching organs he called them, we would have switched to this new style of computing. 10,000 gates, a billion gates, we're still doing it with determinism. That's the house of straw. That's the skyscraper of straw. He warned us. But we haven't changed because it's so easy to keep going step by step. Hey, you like that 9 megahertz computer? I'll give you a 20 megahertz computer for the same price. Okay, here you go. 50 years later here we are. Von Neumann motivated the alternate approach explicitly by reference to living systems. By thinking about how living systems deal with errors versus how mechanical, artificial manufacturing systems deal with errors. Natural organisms hide their errors. They keep limping along until they can get into the bush and lick it and lick it and lick it until they either die or it heals up. Computers not like that at all. Computers are designed to make errors as disastrous as possible. The very first time, anything that goes wrong, it's out of spec in the entire universe. Blue screen of death. Because that's the only thing we can do. Because the whole rule of computer was designed according to logic. If this, then that. If this, then that. There's only one possible answer for any given state. And if we fail to arrive in the correct state you can't say go back to and try again. We didn't remember where we were to again. There's nothing you can do except give up and start over. Why? Because if you keep going once there's one error, then there'll be two errors. And now you have the size of the program choose two possible explanations and your ability to debugging the program dashes. Everybody hates debugging as it is. But once you have three failures in a row you're dead. This behavior, the idea of crashing the system globally is generated by ignorance. Yes, indeed. But here we are. Okay. What it comes down to I'm not going to go through this picture in general because it would take the rest of our time. But the point is there are at least two fundamentally, not only different but complementary approaches to computing. And you just sort of check them off step by step. The mechanism that we use is called an algorithm. You give the input, you run the algorithm, the algorithm ends, you get the output. The key aspect of an algorithm is that it's final. All the information comes at the beginning then you wait and the answer comes out and you go through something similar. As opposed to a computational process which never ends until you die an input comes in when it comes in and it comes out and so forth. The emphasis on what we have done so far is correctness. The emphasis on computing and living systems is on robustness survive and get an answer that's close in time for it to be useful and so on. And I already talked about this. If there's an error in the algorithmic case we just have to stop and fail. There's no recovery. An error in the indefinitely scalable approach is we're going to try to cover it over and with luck we'll have some extra copies of the answer someplace else and we can hide the fact that we got it wrong. There's an important sense in which computations on the first column are jerks. You know, they're really kind of you wouldn't want to work with them. They're the kind of guy who says everybody else stop what you're doing I'm working wait for me and if anybody else does anything wrong then all bits are off. Well, you can't expect me to do my job The computing model we have today is the model of the horrible cremedonna jerk. That's what computers are today. That's why they crash when anything happens. I'm going to my room! There are other ways to compute. There are ways to compute. You just try to make it better. I don't know the big picture but I really know that we're trying to get all the gear into the truck. The truck is over there, the gear is here. I'm going to pick this thing up and move it toward the truck. Member of the team versus master of the universe. We know almost nothing about how to arrange computations digital computations and machines on this style of computation. We need to learn how to do computing on the indefinite column. That's really the pitch. That's really the claim that the way that we already internally know and the way biologists and ecologists and so forth study systems that have robustness that tolerate all kinds of stuff messing up until they don't, until there's a catastrophic collapse, we're not pretending there's any kind of magic bullet here. You can still kill these systems but, man, they're tough. Burn down half the forest. They go, thanks. Needed that. And then this is the message for society. There are two attractors of computing. We're in the wrong way. But it really is extremely difficult to change because we have zillions of fundamental design decisions that all are old boys networked saying, hey, you're great. No, you're great. That work to exclude other approaches to computation. And I'll talk more about that in the computer science talk tomorrow. All right? But let's see what it looks like. I want to do demos. How many folks know about Conway's Game of Life? So a fair number of people. It's, let me get an example up here. All right. So this is the simulator that we've designed for this particular machine. We've got all of these. This is our periodic table of elements. It's not actually periodic. But it's a table of elements. Here, let's take the blink element. If we make a bunch of these guys. So what this is is a model called a cellular automata. Okay? A cellular automata, the idea is it's a spatial layout where each guy, each cell can look at his neighbors. In this case, he can look at neighbors up to four cells away. A little diamond out to four. So he can look quite a bit of stuff. But this is dozens and dozens of cells wide. All right? And each time we pick one of these guys at random, and we say, what's in the middle of the cell? Well, it's an atom of this BK, this blink atom. And we have some behavior associated with this. We have a rule that whenever the guy blink gets an event, he does something. What does blink do? Well, actually, he flips his color from black to white and white to black. That's why he's called blink. Okay? So if we start up the machine, if we start it running, what do you think happens here? It'll blink black and white, black and white. Right? Black and white, black and white. Like turning a card over. Let me get this out of the way. Whoops. Wrong guy out of the way. Okay, here we go. Well, black and white, black and white. But not like a card turning over. Why? In typical cellular automata, the rules get applied to everybody all at once. Synchronously. This is not bad. Here we pick one guy at random. Let him do his thing. Pick another guy at random. Oh, it's empty. Well, he didn't want to do anything. And so on. Okay? One guy at a time. Now, you see this, we've got this gray square here, another gray square over here. These are modeling underlying hardware components. So, in fact, while we have something going on over here, we can have something going on the other one. It's not like there's only one thing happening in the entire universe. There's only one thing happening in each of these gray squares at a time. Pick a guy, let it go, pick a guy, let it go, pick a guy, let it go, and so on. Okay? That's the movable feast. That's the way it works. Now, it's a pain in the butt. If you want to think, well, how are you going to program this sort of thing? I mean, for example, what if you wanted to make it so that it would go white, black, white, black, in synchrony? You don't get that for free. Just like you don't get that for free in the universe. You have to figure out how to approximate it. All right. So, let's take a look at this example. Clear this stuff out of here. All right. Let's take this. Oops. What did I do here? I lost my one sec. I lost my guy. Let's pick this guy. L1. Draw a pattern. All right. There's a pattern. And then we'll flood the rest of the universe with L0. All right. Does anybody recognize this? This is what's called a glider. In that game of life. And it's one of the most famous patterns in the game of life because it moves. Ooh. It moves, but it doesn't destroy itself. Well, it's going to destroy itself when it gets to the edge of the universe, but we don't blame that on it. It would probably be bad for us too if we ran it to the edge of the universe. But Conway's game of life is synchronous. The rule is you have to do every state at once update to a new state. But we just looked at the movable piece and said it wasn't synchronous. So what's actually going on here is there is an additional whole layer of computation. Let's see if I can see how to see it here. There it is. This is the same thing that we saw before. The atoms in this grid, they're all full now, they're each having a rule of saying if I'm green and everybody around me is green, I can move on to blue. If I'm blue and everybody around me is blue, I can move on to red. That's not the exact rule, but it's basically the rule. So what they're doing is they're looking at all their neighbors and if everybody else is caught up with them, then they can move on. And what that means is that you can see this is interesting. Cramped out. There's more of it. So in fact every line that's green is on the same click of the clock. That's the trick. So these guys are now synchronized but not globally. So in fact if we could look closely at that glider we would have saw that it was completely weird that it could actually get distorted as a green wave passed over it but then it would all get caught up once the green all passed it all be back on the same step. And we can see in fact that it looks like these things are all moving toward the center. Now why would that be? Is that just luck? No, it's not just luck. The center is where those two hardware tiles, those two separate processes meet up and in the center they have to communicate with each other what's going on here? And that communication slows it down. And as a result when we try to synchronize the universe it automatically homes in on the slowest parts of the universe. Now when I talk to computer scientists about this they say this is a technique of synchronizing an asynchronous cellular automata to make it synchronize. And it's been independently discovered at least three times starting in the 50's and then again in the 70's and then again in the whole old's and everybody was really excited every single time. And people use this as an excuse to say well you see I can take an asynchronous machine and I can lay a synchronous machine on top of it. Therefore, let's forget about this asynchronous business. It's just we can just back to that back to the game of life. What's the problem? And here's what the problem is. If we're admitting that our tiles, our hardware has only so much reliability and eventually if we have more and more tiles and run them longer and longer and longer eventually something will go wrong. We can simulate that in the simulator. We have the command control X it means hit the simulator with X-rays. Go in and just flip a few bits at random. Anywhere in the machine. So we'll do it. X-rays. And that's what happens. What happens? Time stops in the entire universe. Because we get to a situation if you look over here here we have an impossible situation. We have a red and a green and a blue that are all adjacent to each other. And that's not possible if the rules are working correctly. We have to get a complete set of one color before anybody can move on to the next one. But because we had an X-ray that got one guy messed up, his failure polluted the entire universe. And as far as I can tell every proposed mechanism for laying synchronous behavior on top of asynchronous behavior fails in some fashion like this. You can say, oh, well I'll have redundant bits and you say, well okay, that's fine. Then you'll do better until the redundant bits fail. But when the redundant bits do fail, your entire universe dies. Are you really ready to pay that price? First error end of the universe. Does that remind you of something? Well, yeah. It's what we've been living with for 50 years. First mistake the entire machine crashes. It's the same thing. What the point of this is that synchronization having a bunch of stuff work together that is not a free design assumption. That's not something you can just toss in because it makes the math simple. For a bunch of physical stuff to decide to synchronize is to make a commitment to be part of some larger synchronized thing and to tie my fate to the fate of the things that I am synchronizing with. The butterflies. The whatever it is. We are amazed when we see large scale synchronization in nature. Because it's not free. There have to be particular reasons for it to stabilize the dynamics. And that's what's going to be the case in the future of computation. There will be synchronization but it will be low and contingent. And because a bunch of space decided to act like one creature for now. And that's the story in general of computation. What we did with CPU and RAM wasn't wrong. It was just so simple. It was just the first idea it was the house made of straw. You've got to grow on it. You've got to get serious about actual computation for robustness. That's my missionary statement that I'm trying to fire up everybody as I go around the country and talk about it. Alright. What else can we do here? Well, we've got a bunch of other things but we still have a few minutes. Alright, let's stop this. Do I have any other things that we want to see here? Oh yeah, let's talk about life again. This is a demo that I do to sort of, it's sort of metaphoric but it's also real. Suppose we need a box. So here I have drawn a box. More or less. Call it a box. And that's great. I could get good at this. I could become a craftsman, a box artisan. Right? Now as we go along if I start hitting this stuff with X-rays oh, let's let it go. If I start hitting the world with X-rays eventually they'll start messing up the wow, he's doing pretty well. I'll tell you what. Let's get the eraser in here. I'm going to stop messing around with this. Now it's an old box. It doesn't work so well. Well, there's another approach. This is a computer. This is a cellular automata. We can have every cell doing some independent computation. It's not the CPU where only one thing can say what to do. Oh, actually we're in the wrong one. We'll do it over here. All right. So I lost my box, but let's make another one using this element here. All right. So there. I put this thing down and it built a box for me. It's beautiful, right? I built a machine that builds boxes. This is the industrial revolution. And now I can knock out as many as I want. Uh-uh. Oops, they almost ran into each other. Okay. Great. Box prices go down. Box quality goes up. People start using boxes for everything. You know, making shelves and closets out of them. It's great. Now this is all still the same problem that we have arrows of time and fade all comes in and the boxes gradually fall apart. But compared to where we were before with the artisan boxes, that's okay. Because these are so cheap. Because we can just stomp them out. Okay. And now we're at the next revolution. The revolution that we were just facing. Uh-uh. Let's get rid of these medieval boxes. And... Oops. Oh, we're still on a racer. Okay. Box. Same as the other one except it's pink. No. Totally different. Because this box knows it's a box. It can't kill it. It's got a bigger racer. This is a living box. I had a handmade box. I had a machine-made dead box. Right? It was laid out perfectly. But it had no knowledge of what it was. It was used to the wooden box. Well, that's just what happened. But here, every individual part of this box knows where it's supposed to be in the box. And therefore, if its neighbors fall down on the job, we can help it out. This box heals itself. All right? So that's my suggestion. That's the answer about what does life look like in a digital medium? It looks like this. We have things that are could be something simple, could be something complicated. But they have enough information locally, in their little 4x4 window to make the world a better place. Wow. There's a nasty open wound in my hand. But it's empty. I can heal it up a little bit. I'm just going to do it. I'm not going to ask anybody. I'm just going to do it. The box heals up. The goal of the research project is to build bigger computers, bigger, more complicated machinery using this kind of living system. Where the computer design problem is how do we figure out how to take the information to do some big, complicated thing, be it database, drive a car, be it Google search, whatever it is, and break the problem down, break it down, break it down until little local guys can independently do things and make the problem closer to the design. Okay. All right. Let me do one more example and then we'll wrap up and see if there's any questions. This particular example, this works because even though the world, the view is very small, you can locally decide quite quickly. Oh, I need to know. I'm a little guy of the horizontal north thing, so I need to make a horizontal thing. I'm at the end of the north. I need to make a corner and so on. Once we start getting bigger things, it gets harder to make decisions. So let me go to the last example here. This is something relatively new. Let's make some arbitrary shape where the heck is. We're going to go on to the next guy, I guess. Yeah, here we are. Okay. Notice we have slightly different periodic tables here. That's because I'm working in different areas with them. All right. Here is a shape. All right. Actually, maybe that shape is a little big. Let's make it smaller. All right. Something like that. And now, what we have here is a generalized mechanism for copying an object. And it works in several phases. First, it surrounds the object completely and it measures it. Figures out how wide it is, how high it is, and so forth. And then after that, once it's figured out it knows the size, it starts releasing a copy line that move up through it until they reach the next key line and then move on through. So what happens is, is the whole object moves down while it leaves behind like a 3D printer. Row by row. We're moving off the screen. Until each row has been copied and then finally in the last step, we strip out the scaffold. Reproduction. And it really is. This is completely brute force. This is really silly in a way. It's like a 3D printer, but it's only 2D. 2D printer. But it's the same idea. Right? And we could do we got a bigger example here. Whoops. Oh, here we go. Let's finish with this one. We can even put things inside it. So again, step one encircle the entire object with this circumferential plating which then acts to create a local synchronous absolute space. Find a 00 and a max x, max y that it can then use for the subsequent phases is seeing copy line 12, copy line 11 and so forth like that. And the bigger these things are the longer it takes the more chance there is that something will mess up if two of these guys are reproducing and one of them is heading north and one of them is heading south and they kind of run into each other. Mistakes happen. Ooh. Now, I'm extremely proud of that because something went wrong. I don't actually know what went wrong but look, it cleaned up. It didn't go insane. It didn't end the universe. It actually cleaned itself up. Let's try it again. See if we get lucky. So there's actually extra engineering in there to make that happen. And this is the sort of thing that when you start to build computer programs on the stop and you think of all the things that you got for free in number one, well not in living system. But how to have clean living how to have clean dying matters and it has to be engineered in. Now, I'm hoping that let's see what happens here. So basically, at this particular stage, it's going through a timing phase here. It's trying to decide, have I seen the entire object? So can I count on believing I know the max and I know the min? And that's not really a deterministic task because there could be some weird little tail heading off in the distance that very, very late will eventually start coughing things up. So probably what happened last time was it timed out. It said, oh no. Oh, all right. Looks like we got out of the metric phase and got into the copy phase. So now, actually, usually it's probably pretty robust from this point. This is just the first down payment on building a super structure of software for this new kind of machine. When you can build large objects that replicate you can build cells. You can put evolving goo to make a state machine inside the cell to control when it attempts to recourse. You can use this swap line idea of passing lines through it to swap things to get them to move and preserve their shape. It's really cool. I'm out of time. Thank you. Thank you.