 The T2 tile project is building an indefinitely scalable computational stack. Follow our progress here on T Tuesday updates. Alright, it's the last day of the 2010s decade. Our top story is this week. So last week I posted one of these cartoons, The Strange Planet things, and look what I got for Christmas. So that was nice. Just that. Best effort. It's not something that I can just start up and stop. I mean, I have it in my head a lot, and I have done some background work on the character plotting and stuff like that, but it's not very much turning into word count. So last time we saw it, it was this, the since the end of November, the word count was 347 words per week, which a target was 2,000. As of now it's 399 words per week, but that's mostly because the fit line has just changed because of the time passing, not because there's many more words. Gonna have to block out a chunk of time not to imagine this can be sort of inter-done on a sort of daily basis, it seems. We shall see. It feels increasingly important to me. The story, the telling there, and the vision of the way computing might work in the future and so forth. So we'll see. Gonna have to make time. But again, as it has been for the month of December, it's all been about the software. At this point it was taking enough work to deal with all of this that I was like, if I was going to do it, if I was going to go from an ancient Linux version from 2017 to a modern one, so I was going to 4.14, there's all these different choices. The IoT snapshots, the various, where is it here? There's also the console snapshot. So these are different images, they're all Linux distributions, but some of them have a lot more stuff in it to make it easier to use and some of them are super minimal. So the console snapshot is the super minimal one, which will be the normal place that I would think to start from, so you just add stuff that you want on top of that. But as I was trying to deal with it, there was stuff missing that I couldn't figure out how to add. It was very frustrating. In addition, after taking all this work to go to 4.14, there's 4.19 was already available again in IoT, Internet of Things, my nightmare security horror show, and also in the console snapshot. So this past week I tried all of these. I tried to settle on going to 4.19. I mean, there's this inherent conflict between trying to build on top of something new, which is a big mistake that I learned all the way back in the 80s when I was looking at grad students, when I was a young grad student, I was looking at senior grad students, they were trying to write software theses on top of experimental hardware, early parallel hardware that was being made back then, and they were getting completely screwed because the hardware wasn't working so they couldn't do their theses. So what I learned from that is don't build on top of experimental stuff. The flip side of it is if you're not using the bleeding edge stuff, nobody wants to support you. If you say, oh, I have this bug and say, what are you running, you say 4.14, they say, oh, try it again at 4.19. So I'm going to take all this effort to bring all the code up. I was going to bring it up to 4.19. That's what I've been standardizing on. It's got a lot of stuff that's the same as the 4.14 stuff that I already dealt with, but it has its own crazy new stuff as well. I tried to use the console, I couldn't get it to work, so I ended up going back to the IOT things. Now the IOT in the 4.19 snapshots essentially fills the 4 gigabyte drive that comes on the BeagleBones, and so there's no space almost for your own stuff, and the instant I started installing MFM and all of my own sort of packages, I ran out of desk. So I have a whole section in my installation process where it's just about what packages that are part of the IOT distribution that are built into the image by default can I get rid of. Don't need Bonescript, don't need Cloud9, don't need RFKill, there is no wireless on the thing, and so forth. So that has now, well, I mean, I've had that for a while, but now I've tried to get it more packages in there. And I needed, in the latest 4.19s, I needed to do this package removal way early before I tried to do anything else, or else I'd run out of disk just trying to update the packages and see what the latest versions of things are. So yeah, right, and I tried to use the console image because it just feels so much more right. Start with the minimal thing and add, but there's a bunch of stuff I couldn't find in a package anyway. So I went back to the IOT and then started throwing things away. Alright, yeah, I don't have time to rant properly over what the device tree is, the whole idea of how you're sort of supposed to be describing hardware to the Linux software so that Linux knows how many serial ports you have, how many parallel ports, how many USB things, and so forth to it. There's a whole page, device tree mysteries, which makes sense because it really is mysterious. And really, what it is, is it's an illusion that you should be able to describe the hardware without looking at the source code of the software, but it's not true. That the stuff that ends up that you write in this device tree, which seems like it's standardized, is really just very uniquely plugged into exactly what the drivers decide the names they're looking for, and it's a little bit standardized and it pretends to be standardized, it's just enough to pull you in. Very frustrating, I spent a tremendous amount of time on it. Enough so I was saying I'm not going to get this thing working. I mean, where it's called cut to the chase, where it currently stands. I've got MFM running on these things again, but I have that true last week as well, but I don't have the touch screen working in. That was something that was a big fight that I had two years ago to get the touch screen working and I got it working and there was a specific trick that I was missing back then. I've got that now and that somehow doesn't seem to be help. So I'm working that as well, but at this point I was just saying, look, let's just make things better however we can and call that progress rather than saying it's got to be this or whatever it happens to be. So one of the things I tried to make better was how long it took to boot. And this whole I've ranted about system, I ranted about it last week. And one of the things that's supposed to be good about it is that it will tell you where all the time went to spend a minute setting up the hard drive. Well, that was probably because it must have been reformatted file system checking, finding errors or something from an unclean set, unclean shut down the previous time. I don't even know and so forth, all of this time used in various things. And now I was also running into the case where the system D set up would sometimes fail, just like I was having back in the old 2017 stuff where something would go wrong and everything would lock up and I wouldn't know why it would happen sometimes. And this was the thing, when it would fail it would say, do system stated for more information. And I would try to do system control status for more information and it would crash. So instead of just being able to look in files and see whatever it was using my eyeballs plus sunlight, I was supposed to use the system control program, which I couldn't because it didn't work. Same thing with this general control program that's supposed to work, but it didn't work. All of that finally, finally, finally led me to, well, it led me to a bunch of things. One of which was the, so DTB is the device tree base or something like that and it wasn't picking up mine. I was saying, I want to use the bone green for the big bone green T212. That's for the T2 tiles. But by the way, you're down here switching to, you bone black, I don't know why I was switching to that. I got that fixed. Things started working a little bit better. But all of these, the internet of things, things starts up, all of these incredibly complicated services that take a ton of time. I was trying to figure out, why do I need them? Why do I need TTYGS0? I don't even know what TTYGS0 is. It's a gadget serial thing. Oh, that's if you're plugging stuff in by USB and you want to do networking or talk to the console via USB. T2s aren't using the USB port. The USB port is hidden behind the West Intertile connector, I think. So I wanted to get rid of it. So disable that service and so forth. Gradually it started working on speeding up the thing. And what I found out, what I saw was that one of the times when it failed, it failed right after I had one of the modules, the kernel modules that I had asked to install with my parameters had gotten installed, then things started messing up. And it was this CMMK, which is a module that allows you to reserve a certain chunk of memory and tell Linux not to mess with it. And I was using that from experiments long ago, not currently using it, but it was still part of the boot process. And it started to seem like maybe the parameters I was giving you were somehow wrong and it was causing the boot process to screw up like at random, like depending on where in memory programs got set up or something like that. I don't know. I got rid of CMMK, the module no longer gets loaded and fingers crossed. I haven't seen a system deep boot failure since. I don't believe that's the only failure that's involved. But my entire power zone, I powered it up. It all came up. All 16 of them came up. They took a lot of different times because they had on little issues, but they all came up. One of the things that I realized from disassembling the power zone, taking the cases off, reflashing all of them with a 4.19 new image that I made using all this new script technology that I developed through the last week or two, is that, wow, it's a pain in the butt to take all these cases off. So let me show you how much of a pain it is. So I used that little wrench I made, take them off. All right, now it's off. Now I'm going to put them back on and put each one into the wrench. Use the wrench, put it on, four feet off, four feet on. Over all, two and a half minutes. And, OK, that was based on this wrench. Now this wrench was all about one of these guys because once I made the back cover, once the back cover was on the plate, the feet, there was not enough clearance to get the old wrench back in, the wrench that I made that actually looks like a wrench. It doesn't really go in very well, so I made this special little corner grabber, and that's what you saw in the video. But, you know, it works, but it was a huge pain in the butt. And it was like, couldn't we make things better? So I made this. I made a frame that's got four of the wrenches already positioned in the right places. That took some fussing around, but eventually I got the thing set up right. And the result is now it looks like this. The speed frame now grabs all of them at once. We already got it off. We don't have to put the feet on because the feet get held by the frame. All right, a minute and a half instead of two minutes and 20 seconds, something like that. And this is actually fun. I mean, you know, is that right? So I printed up some and, you know, this I actually enjoy sticking on the back of tiles and going, taking them off. It's nice. All right, so possibly we've gotten system detamed a little bit. We hope to get the thing running faster, boot running faster as well. Why? Because make things better. Don't try to solve the whole problem. Just make things better. This is a lesson for the whole best effort computing that, of course, I have to keep learning for myself over and over again. All right, there's eight weeks between now and when the A-Life 2020 scientific paper submission dates are have to be submitted. That time is going to go in a flash. I really hope that we can get past the main upgrade Linux upgrade issues this coming week. We'll see how it goes at this point. Who knows? Happy New Year. Welcome to the 2020s and I hope to see you next week.