 The T2 Tile project is building an indefinitely scalable computational stack. Follow our progress here on T Tuesday updates. Hey, folks, welcome back to the T Tuesday updates. It's been two weeks. Our goal last time for the Living Capitation Foundation, for its website, www.livingcapitation.org, to have a PayPal button on it just to show that if anybody wanted to, they could support the foundation. We have failed. We're not in very close. The bank account now exists. It's all set. Checks are coming to us and so forth. And the next step is to actually go ahead and make the PayPal button. So that's going to have to wait until next time. I'm trying to think of a little special thing that early supporters could have. We'll talk about more of that next time if you want to get in on that earlier. Stop by the Gitter and go to Living Capitation Foundation. That's where the discussion is taking place on that. Just a reminder, Dave's Bucket List, Insight Air Race, Make Robust First Computing Viable, Finish Writing a Novel, and whatever is down the page. Insight Air Race, what does that mean? Again, the air is the average event rate, so that's a measure of how powerful a hardware tile is at performing computations in the robust first and definitely scalable style. So that's what the T2 Tile Project is really about. We're trying to draw a line in the sand saying, well, the T2 tile, for all its terrible problems and it's got plenty, it can do one air, it can do a half an air, whatever it's going to turn out to be, we still don't know. But in addition to that, we have to take step two, which is to say, if you had faster versions of these tiles that had more air, better event rate for a given amount of power and heat budget, then what do we want to use them for? And that's Make Robust First Computing Viable and that's the software side of the thing and that's what we're going to talk about again today. So the wall of science, the final adjusted COVID-19 adjusted deadline for Artificial Life 2020, the conference is in two days, three days, the end of April, May 1 and I've still got a tremendous amount to do, but not least in part because I have changed my topics. So the stuff that I've been working on for the last couple of months minus the last couple of weeks is now stuff we can talk about. We can take down the wall of science and so that's what I want to spend some time on today. I talked about this a little bit a couple of months ago, the idea of making a bonding system so that you could say this atom and this atom want to be related as if they had a chemical bond between them so they could still move around, but they would have a sort of confirmation, a geometric arrangement that they would be happiest with, it would be lowest energy for them, and they would tend to stick together as events happen to them unless things were so rigorous, so the jostling was so violent that things got torn apart in the same manner as sort of chemical bonds in actual physical matter. And we had implemented that, we had these bondos that we can take a look at here, if we see the bondo, alright, so that pops out into this little thing. Now the fun thing about bondos is that they eat res, so if we make a bunch of res for them to eat, then we can see this thing pretty quickly actually starts growing further and longer and longer from the head, but that's actually all it does, at least so far, and in particular it's all kind of raggedy and benty and twist on itself, which is fine because in this sense it's just following the res, the green head up there is just following the res wherever it goes, and you see it's managed to get itself into kind of a dead region because it ate everything there. If the tail was able to eat bondos, I'm sorry it was able to eat res, it could grow faster, but in this case it's not. So but that was just a simple test, and that's where we had, each atom had two bonds, one of which was the other end of the previous one, so we have a next and a pre for each one, and that allows us to make a one-dimensional chain, and so we had all these types of things coming up. We branched out from there. So the whole point of this was to develop a software base using the new multiple inheritance feature of Ulan 5 so that you could say you want a previous and next bond, well just give me a unique name that you want for it and pull this thing out and inherit from this and boom, you've got a next and a pre. You want two of them, that you're going to use, one is forward and back, one is left and right, well then pick two different names and inherit from this thing twice, and so we've got M2, that's a one-dimensional thing like the Bondos, we've got M4 that has four bonds, and they can start interacting. You can have M2 bonding on to one side of an M4 and so on, and all of this took plenty of debugging, it makes huge snarls very quickly, but the thing that was kind of starting to bother me was that I was expecting these bonded structures to sort of have a kind of crystalline appearance, you know, to sort of lay out in space like nice little things. So this is a case where I made a seed bondo, an SB that pops out to fill the event window with M4s and it pre-bonds them all in a perfectly regular grid pattern, and you know, these bonds, they don't want to be one apart, they'd rather be a little further apart, so the idea was that this whole thing would spread out into this lovely diamond shape, and we can take a look at how that works as well, so no, we want to seed an M4 now, okay, so there it is, and you know, what happens? Well, you know, the corners, which only have a single bond on each of them, they're easiest to move, so they pop out and gradually, gradually the ones further in start to pop out as well, but it's very slow, it's very, very slow, and so, let's not leave that guy run, here's some that have grown over quite a period of time, and you can see how they've expanded out into meshes, and you can see how the single, a single bonded guys that at the tips of the diamond are still flailing all around, but it doesn't really look much like a nice diamond mesh, I mean, one thing I do like about it is that the angles that these things are at are not necessarily aligned with the north, south, east, west of the grid, the bonds allow it to be, you know, form other angles, and that's cool, I like that, but this was taking a tremendous amount of time, both a lot of runtime and both a lot of events to get this far, and it wasn't really as pretty as I was hoping for, and there's a fundamental tradeoff, you can make these things look more perfectly crystalline, but the consequence of it is, is that there's fewer moves that look good, because again, this whole fundamental point about how do you move large scale structures in an asynchronous way, you have to move it a little piece at a time, and you can not just go like that, you have to go whatever it is, and my fantasy was that these things would just sort of all oogie along, like, you know, people try to form a line, there's too many people at one end of the line sort of business going like this, you know, move down, that these things would do that in kind of two dimensions, but the reality is at least with the stuff that I've developed so far, either is very sloppy looking, or it really doesn't move very much at all, if it looks more crystalline, but it doesn't actually go anywhere. So that was kind of a bummer, and part of it also, oh, here was one thing, get this, so, you know, so I made the M4, had bonds up all these guys in rectangular orientations, and so you can see obviously why the four corners only have one bond, well I thought, you know, hey, why don't I bond it at an angle, so then even the corner guys would have two bonds, and maybe they'd shape up better, because they wouldn't be flapping around with nothing on them. Well, there's only one slight problem with this theory, which is that that's actually two separate molecules that gradually drift apart over time, which, you know, okay, it did explain that to me, but it wasn't quite what I intended. So this whole thing is not just about getting the pictures to look good, not just about getting the demos to look right, but also about making the code clean enough that it'll be able to be used as a base, to be able to use as an API, an application programming interface, to do more complex things using, in this case, using chemical bonds, using chemical bonds. And, you know, a lot of times when you think about APIs for data structures, they're just, they offer things like, you know, insert something in me, delete something in me, ask me how many things I've got in me, and so forth, and that's it. But what we're doing here is more like services, APIs for services, where there's not just operations you can perform, but there's some sequencing implied, you know, you might have to authenticate yourself first, and then configure, and then you can do interactions, queries, and so forth, whatever it happens to be. And that's what it is. In this bond structure, it was a five part structure. Step one is to a self check, make sure everything's looking good for you and fix yourself, if may be, that's part of the best effort approach. And step two is do whatever passes for action. Again, the bonds are means to an end, they're not the end themselves. So we have to say, okay, you've passed yourself, check, what do you want to get done? And then finally, the last three steps generate a move for bonding, evaluate it and then keep it or don't keep it like that. And that's the structure that we've got. And I using this structure, I managed to get those those meshes spreading out and looking kind of right and so forth, although it took quite a bit of work. And the way it all works is we have these virtual methods that represent what does it mean to evaluate? What does it mean so by so the action phase, you know, is whatever the specific kind of bond guy wants to do. Okay, go do it and return true. If the bonds, the rest of the bond system shouldn't do anything more on this particular event. Now the problem is and the reason this thing is so slow. And the reason that I can tell you about it now, actually, is the way I did move generation and move evaluation. And the idea is we have this whole idea of we can save a copy of the event window, we can mess with it and re bond stuff. And then afterwards, we can decide whether we like it or not. And if not, we can roll it back like a transaction that just never got committed. And so that's what the vent window buffer does we save it. And then we evaluate the event window, we come up with a score saying how bad things are. And this evaluate the event window is not cheap. That's not just asking the guy in the center of the event window what he thinks about his bonds and his bond angles and bond lengths, it's asking the entire event window what everybody thinks about it, and summing up all the complaints that they have, that's why the result comes back as a loss if it was zero, nobody had anything to complain about. And then we go ahead and just make the swap whatever it is we're considering doing the move that we picked. And then we evaluate the entire window again. And that gives us a delta loss, how things bad things look after the move versus how look for it look before. And then we throw dice weighted by the delta loss. So this is stochastic hill climbing, that if the loss looks like less, we're biased towards taking it, but we might take it even if it doesn't. And the C smooth parameter allows us to turn that knob, how focused we are on taking only improvements, reductions in the loss versus taking other moves, which in fact is what affects how clearly we get the the shape set up where the bond angles are as much as they like to be, but with as few degrees of freedom left to actually move. And so we do all of that work. And if the dice come out wrong, or if the new loss looks like a lot worse than the old loss, we just throw it away. And the entire event vanishes. So that worked. It worked kind of. And what I was trying to go for with this. Let me show you. So did everybody see this? This is a paper by Michael Levin and some guys at Google, different models of morphogenesis using neural nets trained to make pictures that grow. And whoops, let's, let's just do it real quick. So, you know, so that's very cool. And the cool thing is, is we can damage the thing, and it comes back. So what's actually happened here is that each of these things is looking at a little neighborhood, and it's been trained, it's got a neural network saying that when I see these things in the neighborhood, I'd like to make this thing more like me. And the whole thing is being iterated so that depending on how it's trained, you can actually damage the thing a lot. That may have damaged it a little bit too much. It kind of seems like it's most important to keep some of the center. But you know, this will probably actually grow back into something. But, you know, we can't wait for it. Sorry. But the point is, is that it's a sort of a bottom up self organized way to to generate a body shape. And that's what I was really going for. So I was making these z-bots. And the idea was, was that they were going to use the four way bonding to lay out into a grid, so that they would have a little body plan in them, a little genetically specified, saying, you know, okay, in the first segment, I want nothing, then I want one one wide, just like a skeleton, a backbone, that's for the head, and then the shoulders and the little leggy things that's three wide, and then a two wide for the body, a two wide for another body segment, and another three for, and these are these are actually radius is distance off of the centerline like that. And so I implemented it up. But it didn't actually work quite the way I wanted it to. And we can take a quick look at it and see why. See the Z-bot here. All right, so that's all it can do because it eats res also. But if we feed it a bunch of res. Now, again, this thing is supposed to pop out into a little one, three, two, two, three shape. No, it's not actually what's happening. And the reason is it's going way too big is because the growth of the bonds are not smart enough to realize it has to close the loop that if this if this guy over here is the same as his northeast south guy, so that that should be bonded together, it doesn't recognize that it's perfectly happy to go ahead and pick another guy over here to be the one that was supposed to be this and get bonded together. So in fact, that thing goes completely crazy. And it thinks it's got multiple pieces of itself all over the place. Now, you know, from one point of view, this is just bugs. But from another point of view, the current scheme that I'm doing where evaluate the entire event window before make a change evaluated all again, it just feels really heavy weight. So I put all of this aside, and I headed in another direction for the a life submission, which is probably just going to be an extended abstract at this point. But we'll learn about that. Well, whenever the wall of science, the new wall of science comes down. So I still believe that bonds have a lot of room to run in them, we just have to figure out new approaches to them new trade offs about what we're faithful to chemical bond like and what we reinterpret for the purposes of the movable feast itself. Okay, so that's it. What else is there? Oh, yeah, I took I took one of these quizzes, you know, where you answer all these questions, then it tells you what character you are. I did the complete version 121 questions. So you know, it has to be right. Was the questions like this? Are you more spicy or more mild and so forth? Guess who I am? My best match, Albus Dumbledore. We think that's about fair. Here's the top 1012 like that, you know, I guess all of these guys are kind of like each other. I don't know about Terry and Lannister. I said, I don't watch Game of Thrones or I don't even know what it is. Abby Shudo. I don't know who Alice Cullen is either. All right. So that's it. The next couple of days going to be finishing up whatever is going to go in for the a life. We're going to get the PayPal button up there and get some kind of way to some kind of, you know, fundraiser or something. Just to see how it works just to kind of learn the mechanisms, learn the ropes. And I'll be back in two weeks, hopefully with a lot more progress having gone back to the intertile event stuff. And hope to see you then.