 The T2 Tile project is building an indefinitely scalable computational stack. Follow our progress here on T Tuesday Updates. Hey folks, we are just past the second anniversary of the T Tuesday Update YouTube channel covering the development of all of this T2 Tile grid, trying to build a best effort computing stack based on indefinitely scalable principles so that we can just keep building out the Tiles grid farther and farther as long as we can come up with more tiles. In the end, I didn't do anything particularly special for the anniversary, but I have some thoughts about some slight changes going forward that I will circle back around to at the end of this update. So this one is just going to be a technical stuff, a regular one, going to talk about source routed streams for instance, plus news and so forth, and then we'll look forward. Okay, so top stories this week. The Alignment Problem, the new book by Brian Christian, who is a friend and a friend of the project, is just out. The Alignment Problem is the concern, the idea, the worry that as we build artificial intelligence, how do we know that what they're interested in, what they believe is important and worth pursuing will be aligned with what we are interested in doing and what we are pursuing for. And you know, Brian Christian is also the author of The Most Human, Human. It's a wonderful book and you know, I like his books because he includes some of our stuff in the book. So you know, we're in there in the acknowledgements. You know, there it is, Peter, Peter, Abil, Rebecca Ackerman, or you know, Alphabetic Lord, thanks dad. This comment, this quote from Warren McCulloch, that you know, a nervous system has effectors that make marks, putting it on paper, and then it might see those marks and then by conditioning, those marks may become symbols and signs for other stuff, then that can be shared amongst people and just and then carry down through time. It's a wonderful quote and it's stuff that I've been thinking about an awful lot. It goes right to the heart of living computation and it's a it's a good quote for spreading this idea. This indeed is the story of language, literature, philosophy, logic, mathematics and physics, everything. And that's what I want to talk about at the end of this episode. All right, and as a matter of chance, the most recent episode of our podcast, Computing Up, which you know, if you're not familiar about it, you might be interested in giving it a checking it out. The emphasis is on we see computing everywhere. What are the consequences of that? Just absolutely casual conversation, focusing on the big ideas. And they were this in this particular episode, the most recent one. Indeed, the alignment problem was a topic of our discussion. And right. And Brian Christian, in fact, is one of the board members of the Living Computation Foundation, our organization that we're building to pull all of this stuff together. I wanted to recall out the Living Computation Foundation nerd numbers, the LCFNs. We have now got 20 plus or something, nerds that have joined us, the nerd, the proud. If new folks don't know about this, for a $5 donation on PayPal, if you can do it, you can get the next available LCFN, the next available nerd number. And I'm bringing this up now because I'm thinking about trying to make a little perk. You know, I really don't know how to do all this Patreon stuff. You know, I don't know. But I have a thought about it, so come back to that as well. Oh, yeah. And, you know, GitHub is the place that absolutely dominates source code development these days, at least open source, which is all of the stuff that I do, all the stuff that this project does, is all open source for the benefit of society. And they have this bar that they put at the bottom, you know, showing how many contributions you have each day of the week and so forth. And, you know, I hadn't really paid a whole lot of attention to it, but it seemed like, you know, my contributions were kind of light, you know, like I hadn't done anything at all in September. That didn't seem quite right. So I looked into it and it turned out, oh, actually, because of the Living Computation Foundation, I had changed my email that was associated with the commits, the reports that I'm making about making my code changes, and so they weren't getting counted. So I had to do some additional configuration and then low and behold, okay. You know, I don't want to care about this sort of thing, but, you know, once it's out there, it's hard not to. Okay, so that looks more like the amount of stuff that I have been doing for better and for worse, trying to build a whole new stack based on best effort. In addition, Andrew Walpole, one of the biggest supporters of the project that is contributing in all kinds of ways, had created a game based on the movable feasts based on MFM.rocks, which is, you know, separate, but it shares many of the fundamental principles underlying the movable feasts machine simulator and underlying the tiles, the way the computer architecture of the tiles, and he made a welcome to the dungeon grid game on top of the MFM.rocks simulator. And it's just, it tickled me, and, you know, it not only uses the mechanics, the inherent physics of the movable feasts style of computation for the game. It uses it for like the clearing the screen in between. And so basically the way it works is you have a map and you have a bunch of little creatures that you're controlling them all at once. And you can spin them left and spin them right. And your goal is to try to drive as many of them as you can to the goal while avoiding the traps and not taking up too much time and so forth. So, you know, these are a few frames from his little gift that he made to demo the thing, you know, and here, you know, at the end of a level, it's getting wiped out by more elements in the movable feast. It's very cool. And now, you know, when I do it, I get a massive score of 15 because I'm completely clueless. But, you know, this cheats on the mechanics of the movable feast in the sense that when you type the left arrow and right arrow, it's somehow magically broadcast to everybody in the grid all at once, which isn't a scalable concept. Although, you know, you can simulate it for any little finite thing and the game is really only so big, but it could it could have been made a little bit more realistic than that. But actually that could be handled as a separate step. This really is, I think, kind of the first best example of a movable feast machine game. We've had other ones, but this takes it up a notch. Thank you, Andrew. Okay, that's the news. So the biggest picture for the technology stuff has been for months and months, its intertile events is buggy. And I've been fixing the bugs, but the more I fix, the rarer they become and the more complex the ones that occur become and the harder to debug. And, you know, this is really bringing it home to roost. I'm saying we need to be able to have computing without hardware determinism. We need to be able to have computing without perfect repeatability, without perfect reproducibility. So how do you plan on debugging something when you can't necessarily reproduce it? Period. And the answer seems to be locks. If you can't set it up again, then you want to gather as much information ahead of time and you want to make that fast and lightweight. So in particular, I used to write it all to the disc all the time and I was pounding the disc to death, whereas now we have logging that's just happening in memory or rolling logs that are going in memory. And then when a trigger event happens and we're gonna use the flash traffic system so that when one tile detects an inconsistency, which means it wants to crash, it's something that needs to be debugged. Before it dies, it's gonna push out a flash traffic message to its immediate neighbors, out one, out two, we'll see, saying, please take all of your log files, commit them to disk now, so that Dave or the human insight developer will be able to analyze them later. So we have distributed logging, we have flash traffic for triggering the events, but then we need some way to get the files all into one place so we can use the weaver that lines up the files based on internal tags within them so that you can see the relative sequence of events and find out what went wrong. That's what we didn't have, that's what I've been working on for the last two weeks. So how do you move the logs? These are about a megabyte in size each, but they're not common data, we don't wanna inject them into the common data manager, we don't want them to go everywhere, we will only want them to go specifically when the human comes in and says I would like a file from this tile to move here, a tile from that file, a file from that tile, that tile and that tile, all to move here and then I will run the weaver there, something like that. And the way I'm building it is by building this source routed stream, and I wanna talk about that a little bit and then wrap it up. So in the internet, you have these IP addresses, you have DNS names, Google.com that turns into 126.224 to do some number. And how do you actually communicate with that number? Well, you just throw packets out with that address on it and the internet itself via routers that have tables to say, well, if you're looking for a number, blah, blah, blah, blah, go that way and you go to the next stop and it says, oh, you wanna go that way and you get closer and closer and eventually arrive at Google, whatever it is. Another way to approach it, and that has a lot of complexity, right? So you have to have routers, the routers have to have tables, the routers have to update their tables, they have to deal with all kinds of stuff. A simpler approach, you know, it's really just kinda pushes the complexity elsewhere is what's called source routing. And so you can take a packet saying, okay, I wanna send this someplace and instead of putting an address, like an IP address, a number on it, you put an actual route saying, I wanna go out this port on your switch first and then on the next guy, I wanna go out that port and then on the next switch, I wanna go out that port and so on. And how does the source know that route that they wanna take? Who knows? That's just pushed out of the system and that allows the network fabric to be much simpler. And in fact, basically, it just has to look at the first piece of the address, which is the next stop that it's supposed to do and then pop it off, just take off the first bit of the address and send it on to the next guy. And then he looks at what is now the first bit of address and moves it on that way. So that's what I'm using to do point-to-point stream data so that we can take a log file on a tile to our Northwest and pull it to us. In that case, we know what the routing is. It's right next to us. We want it to go out the Southeast port on the guide Northwest of us. That's what this is about. And all right, so this is a little bit that I started talking about last week with the last time with the flash traffic and so forth. And now I've actually got a few pictures of it. This is what's called DER8 in the T2 tile land. It's the eight position directional axis and it includes so zero is north, one is northeast, two is east on around for eight possible directions from zero to seven, although zero and four north and south don't actually exist as connectors, actual connections on a T2 tile because it doesn't have north and south connections. It's only got the six for the brick wall. So I've extended that to have the number eight meaning right here. And so that allows us to create a source route by number. So if we say, you know, I want to go in the one direction that means go out the northeast. And so we can take all of the tiles, whatever we have available, we can imagine they're all labeled with the DER8s on them and we can specify a route, 1768. And the idea is eight means you're done. Eight is here. So this particular one, 1768, you just go from the front. So first we want to go in direction one. So we go in direction one, as we go in direction one, we pop off that step because we've done it. Now in the way I'm doing it, what I do is when I take a connection off, so that guy, he received this packet. I mean, so this is just the address, 1768. There's presumably a whole bunch more packet that comes after this that I'm not including here. So he takes off the one. This tile takes off the one and it sticks out five after the eight. Why? Because it received it on from direction five. So if you want to go back, the corresponding step would be a five and then it continues. Then it goes in the seven direction. And this guy now takes off the seven and puts a three right after the eight because that's the corresponding return step. And then sends it out the sixth direction. And finally we arrive here at eight, two, three, five. It begins with eight. So that means it has reached its point of delivery. This is its goal, its destination. And if you want to send a packet back to the place that this one came from, you just take the eight off the front and stick it on the back. And indeed it works fine. You head out the two, then the five. Whoops, you head out the two that takes you here. Then the three, yes. And then the five and you're back where you started. So that's it. That's source routing. Now, in this case, when we had this thing down here, instead of going one, seven, six, eight, we could have gone seven, seven, eight and we would have arrived at the same place. But who knows, maybe this tile is busy. Maybe this tile doesn't exist. Maybe they're having a fight. Doesn't matter. The whole point of source routing is you don't know, you don't care. You leave it up to the outside world, the periphery, the edge of the network to decide how to get there. But you would kind of like it to be the case that if this tile and this tile wanted to get involved, if this tile wanted to be a client saying, I'd like to send you a file. And this tile was ready to be a server saying, I'm ready to accept that file. Say it would be nice if they didn't really exactly care what route it was that was able to get them talking to each other. So that's where we want. I ended up using the relative coordinates that was from the flash traffic last time. And this was the picture that I wanted to have last time but it got messed up. So the idea is heading out in each direction changes your relative coordinates. You start at zero, zero. If you go out the Northeast, it's plus one plus one and so forth. When you go out the East and West directions, you make offsets by two. So I say I'm zero, zero because I'm the center of everything. And then we can look. So the guy to my Northeast is at plus one, plus one. The guy at his Southeast would be another plus one and a minus one going out here, which is indeed plus two, zero. So it all works out. So when we make the diagonal moves, we go up one and X and up or up or down one and X, up or down one and Y. When we make horizontal moves, we go up or down by two. And using this, we can take one of those roots and we can collapse it down to a relative coordinate. And that allows the end points to say, I am talking to minus two, zero relative to me. And the other end says, I am talking to two, zero relative to me. And they're actually talking about each other. So I spent a lot of time making a lot of code. Here's some of the logging that's coming out. They're sending bytes. They're saying, okay, I've now seen up through sequence number 14,345. You can send me stuff that comes after that and so on. And the way you talk to this thing is using this program called NC, which stands for Netcat, which is sort of a crazy thing that's hard to be explained as far as why it ought to be called Netcat. But it's one of these Swiss Army Knife programs of communications, a very low level program. You can use it to talk to an HTTP server. You can use it to talk to a web server. You can use it to talk to email. You can use it to talk to just about anything if you know the details of the protocol that you're going to get there. And so in this one, we can talk to our new stuff on slash CDM, sockets, expert dot talk, whatever it is. The first line that you send it is the root that you want to do, 813. It begins with an eight. That means you're being a server. Down here, we have another connection. Send 758 through to NC. 758 means you want to be a client. You want to send stuff in the seven direction and then in the five direction and then you're there. And so send the first line, which is the place you want to go, and then start sending the data. And this is now beginning to work. We can actually ship files from given just at the Linux command line going through the bulk packet, the same carriage priority that CDM is using to do this source-routed streams. So that's the story. One last bit of update on the hardware stuff. We had problems with my handmade cables having problems like shorting out. So I started looking in particular for these Y-splitters and I bought some because they were super cheap. And when I got them, it was like, hey, these are super cheap. And they were warming up. These were my power supply adapters that I was using. This is a five amp adapter. It was getting pretty hot, at least when I was using it with these cheap Y-splitters. So I went back and tried to shop for 18 gauge wire. The smaller the gauge, the bigger the wire. 18 is a hefty gauge. That's pretty good. So a pack of two splitters for nine bucks sounded pretty good. But the reviews were like, yeah, they said they were 18, but they actually had a 22 gauge inside. And 22 was the stuff that I was having that was getting hot. So that was not very encouraging. He got some of them and they were good and some of them were bad. Eventually I found this one that looked pretty clearly. It was the right thing. It was nine bucks for one. So I got a couple of them. So they came in, they are heavy. They're the real thing. There it is. It's 18 gauge. You can just feel it. It's nice and solid. So we might be talking nine bucks a pop for the Y's. So be it as long as we can keep getting them in stock. Also tried some bigger power supplies. Here's a six amp power supply. I also got this monster 10 amp one. The six amp power supply weighs 200 grams. It doesn't feel too bad. The 10 amp one weighs almost 400 grams. I've tried out the six amp one so far with the new cable. It's working great. Powers up the power zone. I left it overnight for hours and hours. It was still cool to the touch. The split the Y's were fine. The power supply was at 93 degrees, which really is fine. So I think six amp power supplies with the 18 gauge cable, that's probably where we want to end up. All right, so that's it. Long time viewers of these T Tuesday updates will remember that a year ago in November I did Nano Remo, the national novel writing month. I'm thinking of doing that again. I'm thinking of doing that to actually work on the same novel I worked on last time. But in addition, I am gonna put myself on the record to make the second lecture in this whole separate thing that's happened on the Dave Ackley channel, the Hyperspace Academy. In Introduction to Classical Hyperspace, I did lecture one seven years ago. And I really have been thinking about it a lot and the whole living computation stuff is really centrally related to it. And I really think it's time to get out as clear and ringing a living computation manifesto in the form of the second lecture in the Hyperspace Academy, Introduction to Classical Hyperspace. So I wanna put myself on the line to have that out by December 1st, something like that, the end of Nano Remo. And what I would like to do, if I figure out how to work all this, is to send out early access to all the living computation foundation nerds. Couple of days early just to say thank you, just to have extra thoughts and to see what people think, again, the nerd, the proud LCFN. And so if folks wanna sign up and get a LCFN, that would be super cool. We also have a couple of folks who are monthly donors. It's incredible. It's fantastic. Thank you guys. So that's it. The next T Tuesday update will be October 27th. So two more weeks, and then that'll be it for a month. Except for the LCFN nerds. LCFN nerds, the LCF nerds. I hope you're doing okay. It's a crazy world. I got my mail-in ballot ready to go. Well, not ready to go, ready to get ready to go. Get it out tomorrow. Hope you're safe, hope you're well. Thanks for coming by. Hope to see you next time. At the Hyperspace Academy, we advocate high-dimensional thinking. Learn why.