 Hey, folks, it's T Tuesday update 3123. These were the goals for this time. I'm gonna Provide results in this order, but first let's take a look at the opening video And it's sending a signal back up as that red line going down back to the root saying contact Don't keep going in this direction Direction that went some other so I started up another one and this one There there was one bit at the end there that Showed a sort of a speed comparison between HCV 12 what we saw two weeks ago and this one and It's a lot faster for reasons that I will explain in a second because that's what we're gonna do first here We've been looking for a large object motion for the last couple weeks or the last couple of decades depending on how you look at it and HC3 is the latest evolution in that I said last time that I felt it had a lot of potential. I Still think it has a lot of potential. So we'll see All right, so the improvements this time what we saw in the opening video v13 In the original HC12 that we saw last HC3 version 12 that we saw last time The root would issue a signal saying I want to move west and that would propagate all the way out to the Periphery and then the periphery would respond all the way back up saying we've moved we've moved we've moved we've moved And the root would not issue another motion command until that had gotten all the way to the periphery and all the way back But now we have pipelined motion that you know the feeling was was I looked at it Is that you know after the root moves everybody? Russell all its you know entourage all immediately rearrange themselves to try to realign on the root And once it's gotten three or four layers layers all realigned It really kind of seems like it ought to be able to go ahead and move again That's what we have going now and it's a little difficult to see in that one But you get the idea that there's these waves if it's a big thing and this particular pipeline It's a four-stage pipeline. So once the root sees four layers all the way out Which it can't see them it has to rely on them reporting back up That they're all aligned it can go ahead and move again and in the size of the 20 diameter Big guys that we've been doing that's that's like three motions in one all going and you know So it can go a lot faster the flip side of that is is that you know if there's an obstacle out there And you know the the periphery has just noticed. Hey, there's something we're about to run into stop There might be three more motion commands in the pipeline laid out And that that can cause trouble and I think the deadlock that happened in the demo video is Related to some of that. I'm not sure. So we have pipeline motion. It's a trade-off. You can get more speed a little more risk In addition, we have this peripheral edge detection that when they a motion Arrives at the periphery. Not only do they move now they look around and say can I see anything and they report back? Contact warnings, you know, have we reached the edge of the universe? Have we reached other things that are not empty send that back to root help it decide So that's what's working and it really increases the amount of Objectiness the amount of cellness that the hc3 grid has and finally I've changed its name It's not an hc3 grid anymore primarily because grid is super overloaded in t2 land I'm calling it a diamond because that's what it looks like So an hc3 diamond what we have is moving diamonds. We're going to make more complicated diamonds. We're heading for living diamonds All right, so I want to take a couple of minutes. I hope this doesn't go too long I've got I've got a couple of more. I've got some more video of hc3 version 13 I think it is running in the simulator But I don't want to take the time to show it now So I'll show it in the live stream afterwards and if people really want to see it they can go find the live stream or else It's just sort of optional extra bonus material for the live stream folks But I wanted to talk about this idea of spatial recursion because to me it seems like it's More foundational more fundamental more important than I see the computer science and computing field Acknowledging and so all right. So Recursion in computer science is one of these things that once you get it It's the most beautiful obvious thing and you cannot unsee it It's it's to me the poster child of once you get it you once you see it You can't unsee it and you it becomes very difficult for you to imagine how hard it used to be Before you actually got it and in fact, I was just having a discussion on twitter a couple of days ago About you know, I'm trying to put in a good word for no recursion is not obvious until you get it I think it's possible that the spatial recursion I'm going to talk about may be helpful in that regard But the key object of recursion is you define something in terms of itself and that sounds just silly on the face of it What is a towel? It's a thing that acts like a towel, you know That's obviously done no good at all the key in computer science recursion that makes it work Is you have to have two cases you have to have Partly of definition that doesn't involve itself and another part that does so you say a linked list Consists of a head element plus a linked list. That's a classic Recursive definition a tree consists of a root plus two sub trees and so on Plus two more trees In the traditional approach in computer science because of course we're using RAM and pointers and all that stuff We've lost space spatial Recursion is not usually spatial. It's usually abstract And I think that's one reason why it's hard for people to get their head around it And if it was laid out in space, it might make more sense And so the you know bucket brigade algorithm Little bucket brigade in real life. I'm not necessarily talking about it's a specific thing called bucket brigade algorithm You know where you're trying to to build a wall to hold back the levy And you've got a big pile of sand and bags over here and you've got water leaking over there And so you have this algorithm that you know if you're next to the sand you you fill a bag with sand And you hand it to the next person who's heading towards the the The levy and they walk until they run into somebody whose hands are empty They hand them the bag and then head back for another one and it goes all Moves all the way back until it gets to the other end and they toss it on the wall that they're building So in that case we have sort of two Base cases we have your if you're next to the sand pile you do this if you're next to the Wall that's you do that. Otherwise you do You look look to your right find a bag you can pick up look to your left find empty hands You can hand it to and just do it over and over again and everybody in the bucket brigade does that same algorithm And the wall happens and it's incredibly robust. It's self-stabilizing in a lot of ways And you know, I think there's a lot more mileage in it than we haven't seen In in computing in computer architecture. There's things called systolic arrays, which you know We're big when I was in grad school and like the 80s the research was originally done Now they're back and there's like tensor processing units and all that sort of thing Um, so there is a certain amount of spatial Recursive thinking but it's still very limited and rigid and top down and so forth. I think there's more to it So in general it seems to me that it's about there's relationships between our data members and theirs So, you know, I am a hard cell three atom. I look out to my neighborhood. I see another hard cell three atom Well, hey, you're like me. You have the same data members. I do I have a data member called hop count You have a data member called hop count. What should we do about it? And depending on what you do about it, you get all of these different behaviors And so for example, if there's, you know, my data member and your data member, we could swap them That would be something we could do and what you get is some kind of crazy diffusive stuff Where nothing actually gets created or lost to just get shuffled around We could say, you know, just copy copy whatever they've got or copy hours to them And a bunch of other things. I've got a quick demo in the simulator. Okay, so let's uh, All right, this is this is swap. Okay, so here Here we've got a bunch of Sites whatever they're looking at random neighbors and they're just swapping with whatever the neighbor has got and you know It basically looks like random stuff, which is fine. That's what it is Um, we could do Something more like this where we copy We look at a neighbor just a random random pick random neighbor and copy whatever there is and we get a very different behavior It's still kind of random and churning But you know, there's a kind of a rich get richer sort of thing and eventually if we let this thing go long enough Which i'm not going to do we'll get one color will dominate It'll be winner take all because once there's only one color there There's no way for any more colors to come in. We'll just be copying the same color back and forth And finally there's the where it is. All right, this one Where we're going to do counting off now in order to count off, you know You say count off from the left, you know, it's my horror show from, you know, gym class getting picked for things actually, you know counting off was better because My choice would come up on the basis of a number rather than the basis of the captain now wanting me All right, but so we need a root. We need a beginning to count off from so we have a root We plop the root down and then everybody counts off from the root. This is the hop count idea that Hc3 heart cell 3 is using this is how it tells it count does count off from the root until you get to a certain level And then you stop and that's the size of the thing and again, this is all very robust and if we add more stuff It just whoops Oh, I did I did a bad thing. I created a whole bunch more roots I meant to create a whole bunch more growable stuff But it doesn't really know. All right, so here's some more growable stuff instead And Is that not doing anything? There we go. Yeah, um So now we've got and what the heck we could put multiple roots in here if we wanted Uh, uh, if we make a if we make another little root here say now Uh, this thing has two roots in it and what's gonna happen. Well, everybody's gonna look to their nearer Whatever it is kind of root. They're gonna figure it out. Does that make sense? Maybe it does maybe it doesn't once we decide that we're gonna have Uh, a A privileged upstream a privileged root then it's on us, you know, we picked that so it's on us to say Well, what if there's two of them? Is there well, there's not supposed to be two of them. Yeah. Well, what if there are Something will happen. So we still haven't settled in the thing. All right, so Whoops, um, where do we go here? Oh, here we are Um So really uh from one point of view, uh, the swap diffusion case and the copy winner take off thing Aren't really recursions in the computer science sense because they don't have a clear base case Uh, uh, but the counting off totally does because we have a root and similarly you can do many other things You can do like, you know copy just copy whatever it is upstream or cop broadcast whatever it is to everybody downstream And that's how the pipeline alignment depth is working in hc3 version 13 Uh, it's counting off how many layers are aligned and reporting that back up So that when the root or even somebody further down says, okay, there's uh, five Three four layers, whatever it is that are all aligned with me downstream That means I can go ahead and take the next step to get me closer to what upstream wants This extends to map reduce all there's Bunches of regular sort of spatial parallel computing stuff in computer science that this is closely related to But it seems to me that there's room for a new language here where you'd have a language of data members Uh that are being combined and shared amongst members of their own kind or members of other kinds as well And you would just have these little equations basically saying how they should update This should be the max of everybody else. This should be the min of everybody else This should be a copy of the highest priority one and so on Because I feel like as I write particularly these hc3 things where now i'm sending Contact warnings up while i'm sending motions down Um That i'm writing the same kinds of code over and over and over again. They could really be simplified with tiny little equationy type language We'll see if anyone wants to think about that. I want to think about that too So how it works in uh the new steps So I talked last time about how hc3 89 empty because it has that that three by three grid is the repeating pattern of which There's one occupied and eight empty But part of those empty ones one two three and four those we kind of need to keep empty so that the center guy The root the center bean has an option to move east west north or south one two three or four But that means there's still these Pockets two by two pockets that are completely unspoken for in the basic hc3 processing And I wanted to start speaking for them because in particular I want to be able to have this hc3 moving like it's doing it's moving great But wanted to be able to have content Living inside the grid And that you know very general we don't have to know what it is We may put some rules on it some instructions on how to live successfully in a hc3 diamond But other than that, you know, we don't care and we're just going to do what we do and if they don't like it They can lump it so The problem with saying those four Uh pocket sites are available is that they're not always available And so in fact if our center just decided to move up because it wanted to move north because it's a root decided It wanted to move north well now these pockets There's only one by twos whereas these bottom ones have become two by threes And that's going to continue to be the case until this one moves up and restores the bottom pocket Or this one moves up and cuts away the excess in the bottom Okay But what if there was stuff there? What if before the move there were a couple of atoms over here a couple more atoms over there that we want to carry along How are we going to do it? I struggle with this several different ways and the plan is this the plan is we're just going to move We're going to rearrange the contents of the pocket to make it make sense So in this case, you know, uh, we're going to we want to move this blue one up We want to move this orange one up We need to move the this red one up so that the driving lane is clear going out And we work it all through and it comes out like this The the blue one goes up the the the pink one gets pushed into a whole another column And the the red one which had been down here gets moved up so that we still have a clear path On the axes of the hc3 itself And the idea is is that if you want to live in, uh, hc3 pockets You need to be okay with that and I you know that terrified me at first But now I'm feeling it's really liberating that you know spend so much time enslaved To individual site coordinates, but now we're going to say no no really as long as you're in the same h3 pocket You should be able to figure out who that is, you know, if it's a little two-part thing Well, then you're in the same pocket count on that rather than counting on the exact site locations. At least that's the plan Okay add more behavior to hc3. Yeah, we did that have some fun. Yeah, we did that. Let's push on Okay approach publishability so progress on Eventually getting this little science fiction story out into the world It's okay because all of this work is establishing a pipeline a way that you know I can say whatever the heck I want to say Um, I did every other thing in my career kind of on my own weird way You know very few big government grants had one had you know, we're on a few but mostly it was just Often dave land why would publish me any different? So I made an ingram spark account I've started to climb up the learning curve of Trim sizes. That's how big the books are going to be Covers choices man covers incredibly expensive in this publishing on demand thing. The whole thing is super expensive Okay. Well, we already went through printed circuit boards in order to make the tiles where I was going through revisions of the printed circuit boards Like they were water. This is going to be something similar to that for next time I want to actually spend some money by a block of isp ends And figure out a demo book not search quiet wake but something else just to kick the tires And these are the two possibilities Considering the first one is something called something like deterministic computer security. You open it to page one That says it's impossible and the rest of it is blank. It's a blank book for you to put notes in So that's possibility one for the demo book possibility two is a little book of ordinary magic That's basically slogans that I've accumulated over the years in my slogans file That so each pair of pages would be like a magic trick You know you'd say a circumstance when this slogan could be helpful and then you flip it over and there's blabbing about it Then you go on to the next one So we'll see deterministic computer security would be a lot quicker to try out a little or a book of ordinary magic Would take a lot more work, but it might be more fun going forward. What do you think? Open to other suggestions too All right. And the goal is to get some kind of first cut pdf. Don't have to submit it yet That's for outreach haven't worked on the symbol this week had a discussion about possible rock patterns and stuff But that's it. Okay. So that's approaching publisher ability and finally Announcing the 2022 t2 tile project goal Here it is. It's been delivered from the upper atmosphere of the administration Run the ancestor What does that mean? Well, it means What we're going to do is bootstrap life On the t2 tile grid And well, what does that mean? Yeah, um in Artificial life artificial life research the artificial life community in particular in the soft artificial life software based artificial life And in the artificial chemistry the the way that one typically proceeds or kind of the coolest way that people proceed It is first you define a custom physics of the both spoke physics a set of rules That aren't really about life directly or at least they're good if they're not they're if they're they're more about You know space and matter and locations and stuff like that But that the spoke physics has some kind of way that you can represent Programming language features some way that you can encode A program and some way that you can implement an interpreter that will read that program in some way and make it Do things so we make a bespoke physics that has programming language features and also typically has non deterministic features like mutation And then you write the ancestor The ancestors the primordial program that you know, where did it come from in real life? Home hours billions of years of evolution can do it And that's the origins of the whole field of origins of life is you know, where did the ancestor come from? We finesse all that we say the ancestor came from us We write the program not in ulam, but in the bespoke physics with the programming language features We represent the A program that is capable of using whatever bespoke physics we provide to produce a copy of itself not just to produce Not just to grow it from a seed but actually to read through its own code And make a copy of that code because if there's a mutation if there's a non deterministic feature that alters that code in some way Then that alteration can get copied and if we just sprout from seeds Every one of them goes back to the physics and that's not what we want here because then we get evolution. So the goal is On january third 2023. It's a t tuesday Demonstrate an ulam 5 code base that has some basic structural mechanisms like hc3 and a bunch of other stuff That has a way of representing stuff a programming language a sequential programming language at least to some degree in atoms in molecules in sites on the grid Demonstrate an ancestor program written in that language Demonstrate a seed that can grow out to be the initial garden of even state You know to initially put the ancestor down on the grid to grow an hc3 diamond around it That whatever it takes to build the first interpreter all of that can be hard-coded in the garden of even seed But we only have one of those we never cast off more seeds of those later and then demonstrate Programmed replication on the t2 grid That's the project goal for 2022. What do you think? They were pretty cool All right So that's the goal for the end of 2022. These are the goals for Next time Break the path to the ancestor down into months Stuff because there's a lot that needs to happen there We need the moral equivalent of a virtual machine the moral equivalent of an instruction set the moral equivalent of a programming language All of that stuff I want to demonstrate Hc3 mobile content squeezing the pockets and have something in there that can get carried around and be aware of it Have some kind of first cut book demo and Have some fun Okay, that's it. Sorry it ran a little bit long, but you know a bunch of stuff Yeah, I will continue in the live stream after I get set up to start rendering for the the regular episode video And and maybe we can if anybody wants to stick around we can look at a couple more little videos Thank you for stopping in. I hope to see you next time