 The T2 Tile project is building an indefinitely scalable computational stack. Follow our progress here on T Tuesday updates. Let's get into it. Do you know about Nathan W. Pile? He's got a cartoon called Strange Planet. They're very funny, these weird beings that speak very literally. I really like this one, I wanted to show it for a sec. You can figure out what it is they're talking about, but the payoff here. Our trust is based solely on proximity, so it's one that is mutual. And, you know, that's it. That's the spatial computing principle for security. So, Nathan Pile's got that right. All right, catching up on the science fiction novel, Best Effort. I'm supposed to be producing 2,000 words a week. Last week, in the first week of December, I had produced 93 words a week. This week, I did a little bit better and I pulled my average up to 347 words a week. I've actually done a little bit more than that because I did another one of these dictation things and I did much of a scene that I haven't yet boiled down and put it into the tech file. So, yeah, I've got more words I haven't quite got credit for getting 2,000 a week. Not so likely, but at least things are moving. Okay, back to the joys of software. How much of this stuff can I not resist telling you about even though it's such an incredible pain? So, now is the point that I had built the image on my workstation and going to transfer it to SD card and put it on the Beaglebones and start doing additional customization there. Run the scripts that would do all of the downloading the packages, compiling, because I'm doing all of that on the Beaglebone rather than trying to set up what they call a cross compilation environment because I haven't had very good luck with them and I just prefer to use the real thing even if it's slower. So, we've talked about SystemD and their SystemD journal and all these starting, starting, starting stuff that's all SystemD running that's now in charge of getting a Linux box booted up on essentially all Linux systems. A lot of people hate it and I have to say I do too. I understand that I'm an ignoramus. I don't know how to do it. I'm not expert but I've tried to use it quite a bit now and you know it replaces something that was totally simple. It was a bunch of directories with a bunch of files in it and the files would get executed in alphabetical order. So, if you wanted something to come earlier you gave it a smaller number at the beginning and you know that had lots of problems and I understand why they wanted to replace it with something more integrated but this thing is a monolithic beast. It's a pain in the butt and it's got so much complexity that for such as me I mean I'm not you know completely inexperienced. I understand what a dependency graph is. I still have this thing to work you know. Do I want type simple or type forking or who knows. The long and short of it is one of the reasons I was taking the time in December this year to go to advance to a more recent version of Linux. I went from 3.8 to 4.14 was to try to get a fresher version of SystemD because I was getting this non-deterministic strange behavior in old SystemD and googling around it. It was like oh you just have to get a newer version. Well, I got a newer version. I'm still getting strange non-deterministic behavior and oh yeah. So you know one of the problems with being a monolithic system is you can't just use editors to go in and look at the files because that's not the way they're stored. They have this whole internal thing. So when SystemD gets failures it gives you little messages saying oh type system control status system D temp file set up for more information. So the thing managed to come up so I did that and no the program crashes because it didn't actually get set up enough to use SystemD's control. Great. Tried journal control. There's a thing that's gonna show me the logs about what went wrong. No can't use that either. One of its features that it's supposed to be great at is that it can tell you where all the boot time went and I wouldn't mind knowing where that boot time went especially because the T2 tiles take forever to boot but so here's the top three 56 seconds most of a minute and where is that and that's in starting up the the MMC starting up the flash drive and no further details. Maybe there's a way that I can get it to tell me more information about that but at the moment it doesn't help. Startup service splash screen service okay that's where the time went how to fix it who knows. What I started doing is trying to migrate as much in my own behavior my own functionality boot up functionality out of SystemD entirely into older stuff cron is a mechanism for starting jobs that you can do on boot time and so forth and it's still having troubles but I think you know we'll take it as we go. Another issue I started getting to my Linux kernel modules that you know they're all gonna have to get it modified and I was having this weird thing when the ITC's that this is the Linux kernel module controlling locks between the neighboring tiles when it was trying to come up it was getting permission failures E minus one when it tried to allocate the pins I couldn't figure it out I tried to zillion things I was getting an unrelated I was getting kernel oops from the other Linux kernel module and so forth so I was unloading modules and putting them back in and so forth eventually I noticed oh that's strange so this these messages up here from unloading the lock module here's the messages from trying to reload it and the second time you load it it worked I don't know why this is happening but I went back and I modified my kernel module to free the pins before I allocate them the very first time why did I need to free them I don't know but now it's working at the same time I'm having problems as well with ITC packet that's the thing that actually sends the packages back and forth all kinds of issues with that it turned out oh the way that I was trying to start the co processors by echoing this text into a thing ah it doesn't work anymore now you have to put stop and start into these things okay I can try to do that echo start into the thing what do you know it actually bought it and with that eventually I got the thing to start coming up now I still didn't have the screen doing anything that was a whole nother issue I've been using this thing called FB TFT frame buffer for little things it had some limitations it wasn't quite right for the way that the T2 tile board worked but it was the closest thing and I got it working that's what was working on the old version but this time it is interesting that I felt like you know I understand Linux kernel modules a lot better than I did when I first set these things up and I said well why don't I just get my own copy of the source code for this thing and then I instead of just necessarily modifying configuration files that I don't understand if I need to I could just modify the code and install my own module so I went and found it the FB TFT package is in the staging area which is you know not quite good enough to be real Linux but it kind of travels along with Linux I got this I caught the code I modified the thing I stuck in my own reset method that's where I was gonna need to make an intervention because I don't I'm not actually using the reset pin on the display but I have another pin that controls the whole power to the thing and I wanted to say well maybe I can use the power control as some kind of reset thing if I put the appropriate delays in first step was to say can I get my own code to run and the way you do that is you try to do it and just put a message that will show up in the log and sure enough I got it to show up in the log so that was I was on my way and I got the thing to heat up now it's weird it's turned out that the existing reset code that the default does is actually exactly what I need even though I'm handing it the power pin rather than an official reset pin it leaves it high and every so often when you want to reset it pulls it low for a little while then pulls it high again and leaves it that way for quite some time which is what's necessary for my hardware circuits to do their resetting and then goes on about its business so it's so far it seems like I don't even really need to have my own copy of the Linux kernel module for the screen as long as I just tell it that it can take the power pin and use it as a reset pin but I'm keeping this stuff because I'm hoping to get screen blanking and coming out of screen blanking working later on shortly after that I managed to get some actual the text up on the screen sometimes a single space sometimes double space I don't understand why and I finally got the splash screen back as well hooray then it was on to everything else trying to compile the code for the co-processors so that I can start sending packets back and forth with MFM error after error whenever you see asterisk especially three asterisks in a row that means you're in trouble I saw a lot of them this week so I started just kind of just figuring out what's going on it couldn't find this thing so I gave it a path to find it and and then I tried to build it and this program will not fit into available memory oh my god I mean so the co-processors have very tiny little memory and there's basically 4k well there's basically 8k available for the program code and I had optimized it pretty well to use up most of it but you know fit now it doesn't fit people met we're having same kind of issues the can't find syscdes same thing I did and so forth and they were doing the same thing including the thing doesn't fit doesn't fit turned out it was the wrong solution the right solution is to go back and put a sim link to connect these two unrelated directories that really don't need to be connected didn't need to be connected in the old version now they do errors errors errors eventually okay it finally started working when I made this special link and it built and that meant I could actually go start working on MFM which takes like a half an hour to build the whole compilation stage on the Beaglebone but it actually built hooray so we have MFM T2 it's got all kinds of problems that I still haven't dealt with but it is running under Linux under debut 9.11 Linux 4.14 so okay progress in the red queen two steps forward so at that point that meant it was time to take the customize that all this work that had been happening on though what's going to be the red key master and get those bits off it into an image that I can then stamp on to everything else and I had found in the distribution they had a file called you know Beaglebone black EMOC flasher or something like that that I got the impression from googling it that it would take the copy of what's on the flash drive and copy it back to a SD card just what I needed now and then I ran it and it said script halting system unrecognized okay what's that about well I found out quick enough there's a read me file in that tree saying warning do not use these do not use these things they're just more traps so that was aggravating but eventually I figured out hey the the flash drive on the Beaglebones is 4 gigabytes well all of my little SD cards the smallest ones I could find were 8 gigabytes which I was aggravated for but that's the way it is but if it's 8 gigabytes that means I could make two partitions each being 4 gigabytes I could boot off of one partition and copy on to the other partition all at once and that's in fact what I did and managed to get that to work and so I copied the reverse image all customized and get it back into an SD card which I could then start stamping out so I took my one and only power zone which has been hanging for around for the last week since we got the improved pipe hangers going for them and I disassembled the whole thing ended up with a giant bowl full of intertile connectors and took the Martin start taking the case off flashing them putting the case back and so forth and it took most of the morning but eventually there's the cat I did the whole power zone plus a couple more hung it back up and I plugged it in and pretty much everybody heated up not exactly everybody heated up still having system D issues I think still having some kind of issues for sure in addition as I just sort of looked around going back and forth between the MFM T2 display and the visualization display I was finding a weird issue in the lower left hand corner there and in particular there was this minus SN plus SN between these two tiles that's bad news that means sync failures between and then reacquiring sync and then losing sync which seems to me at this point pretty much means a hardware issue and so I started doing plugging and unplugging these things just like you know field service always does you know just replace parts until the problem goes away and it turned out I think to be the the southwest connection of this upper tile may have some kind of issue so I marked it as having some kind of issue actually I marked it on the front as well because you know let's not field this thing by mistake and you know again we're gonna expect that there's gonna be some issues hopefully not a lot of issues but step by step with a replacement in there we got northeast and southwest now talking to each other great guns they don't make any sense because the intertile stuff at the MFM level still totally needs work but one step at a time I also had one that I could not get to come up no matter what power cycle and everything it turned out the disk was really messed up too messed up to fix itself so I took all these you know fix it fix it fix it and then I said well screw it I'll just go back and get my little flash card and reflash the thing and it was fine so that was nice and so it's working all right and that's it that's where we're at it's kind of working it's got a lot left to do but a lot of progress and okay we are ten weeks from the deadline to submit scientific papers to the a-life conference I want to do a lot more than that I so March 1st is for the papers and abstracts and you know we need to have some kind of science for that I'm thinking probably maybe something having to do with those bond stuff that we were working on would probably be the right mix of doable but we could get some interesting stuff rather than focusing again on the cell membrane because that's a lot of work we'll see I'm if people want to work on it I really do but there's also the call for art robotics displays and visualizations and that's where the hardware is going to be going that's not until May 15th but we need to know way ahead of time what kind of things we're doing so I'm encouraging people if they have oolong skills or splat skills or are willing to play with it to think about making some stuff that might be fun to run on the big grid it doesn't have to be complex cells it can be you know the sand boys that kind of thing that might just look cool and in fact being a little bit simpler might be easier on the beagle bones be easier on the t2 tiles because they're going to be running pretty slow but I would love to get as many people as possible represented in this thing when it's running in the middle of July of next year okay that's where we're at I'm going to be counting down the 10 weeks to March 1st we're probably going to have another wall of science well we'll see I'm not sure that's it for this week next week is almost Christmas it's Christmas Eve but we shall see have a good week