 Michael's muted so welcome to the DevSync for August 23rd on Monday. We're all excited to start a new week here at Mycroft. Thanks Chris. Oh boy, how long has it been? I have been out with some medical issues so you know, that's been fun but I am back. And we've been making a lot of progress. So we're wrapping up right now our first pass at the essential skills. So let's go into that and see how we're doing. Okay well, I'm going to have to jump in a few minutes. So I'm going to go first. The whole thing is not related to that. Just real quick, I have an update. The instructions for our DevKit could be shipping those now and they have anyone out there that's getting one now. This could be slightly different than the one that we shipped in earlier in the year. The speaker drivers are slightly different manufacturers so there's a little bit of a different assembly process of new parts. So I got that updated. But then the rest of the time I was back on the goose stuff. Chris and I have been talking a little bit about the home screen. And we kind of mentioned that earlier. So most of it was just little tweaks and stuff that Chris brought to my attention. But one of the big things was how we were dealing with this future notification system that we might use. Sorry, I'm making that. I'm getting two things confused. Not the notification in terms of what we're talking about. Going into wakeboard detection, we're doing the edge line and that kind of thing. So I think I've got a lot of work to do to describe how I think it should work. But the short order is I don't think we need to change anything. So it's kind of the way the layers work with the wallpaper and then the card delegate on top of it. And then this kind of future idea of using that edge 32 pixel gutter that's not included yet. But anyway, I want to document that and we can talk about if that makes sense to you guys. So I started working on that. So anyway, that all sounds very vague, but it'll hopefully make more sense tomorrow. Anyway, that's what I've been up to. All right. Thanks, Derek. So how about the let's go through the skill table here that we've been keeping track of things on and just see where things are. I could probably share my screen. See if that works. So let's talk about the date skill. How are we doing on the day skill? All good. It's all good. I think it's done. I thought I thought I agreed to that. I'm a little surprised that's there we go. I just needed to refresh my brother. Okay, there we go. That's better. That's cool. Yeah, this is this looks a lot better. Okay. Last we checked in, it was not deployed on the latest build. Has that changed? No. So for the date and time, for the date time and the date time skills, we need to kind of do all those three together and they were hinging on the home screen skill because it's kind of using the date time skill at the moment. So I think Chris will talk about that. Got it. Okay. Well, let's jump down to the home screen then, Chris. How's that? Yeah, so that's what I've been working on for the last couple of days. Right now it does actually do some imports from a date time skill. So I think those three skills are just going to have to, when I'm done with the home screen skill, we're going to have to have a coordinated effort to, you know, make everything the right way that we want it to be. So, and I can work with, with guys on that. I got a couple more days of work on the home screen, I think. Maybe there's one more day right now it's got the. So it's got a date, a time and the weather on it. The date and time are not coming from the skill API. They are, I just coded it right in there because it's not pulling anything that's, I mean, the time is formatted differently than the time skill is and the date is formatted differently. So there wasn't really any overlap there. So I just put the code to populate those rights back that in the skill. Which wasn't much code really. And the weather skill I, I didn't. So I didn't use the, the existing skill API for that either. I just sent a message about message or 15 minutes. It says, Hey, there's new weather to pick it up. So I think you still need to talk more about that. Because I'm not sure everything we've done there is completely necessary because I just proved that it's not. So I wouldn't have to find a session for this very moment, but. So what's left to do is to get an alarm indicator on there when there's an alarm outstanding. And I think one of the things that's probably worth doing is right now there's a settings, the skill settings for the home skill. There's a text field where you can type in the name of the, your wallpaper. And there's like five existing wallpapers that are in there. Unless you know where to look in the scale for which wallpapers exist. You wouldn't have no idea what to type in there. So I might want to somehow address that as well. And then I'll be, I'll be done with the home screen skill. Okay. The, for the graphics side of things. Let's see what else are you working on since we're here. The timer looks like we're still waiting for the marketplace approval on the timer. The timer is, I think we decided that we need a 20. 21.2.1 release that includes the vk stuff and which we haven't done yet. And once that's out there, then we can address, you know, making the timer, or making the changing the skill vk tests of the timer will pass. Then we can roll that in. Okay. The status on that hasn't changed. Gotcha. Okay. So the, we haven't scheduled that work on the vk test suite yet to allow minor releases. Well, the first thing we need to do is actually have a minor release to look at. So we're still on 20.21.2.0. So. Okay. At least the changes I need in score, we need those into a minor release before we can even address that. Okay. So we've got a, we've got to plan that out then. Yeah. All right. Let's see what else have we got you down here for. I think that's the end of your, oh no, you're on the pairing skill and that one's been done for a while. Yeah. And really I'm going to go through all these, the GUI as part of the sprint we're doing. We're on now. I'm going to, after the home screen, I'm going to, I'll be with Derek and we'll make sure that all the essential skills have their screens using the, the framework that we've put, we've laid down for screen design. And technically making sure they all have a proper graphics interface isn't necessarily part of this sprint. So, but that's the next sprint, right? We're talking about the last, okay. Cause we're, we're kind of in between. I thought we, I'm already starting to start in the GUI sprints. Oh yeah. Okay. Well, yeah, technically we split the, we split the work across two things, but I definitely want to close out the sprint that says all the, all the skills have reached this level of functionality. Right. So the graphics doesn't have to be part of that. So I think we need to prioritize the work that gets us to the, at least the audio interface working properly. So before we move on to doing the graphic stuff. Yeah. So on that note, the date and time skills, since I'm not, nevermind, we already talked about that. Carry on. Okay. Okay. So then it sounds like, as much of a pain in the ass as this is, we need to make that minor release part of the audio, part of sprint 21 effectively and fixing the K tests, part of sprint 21 in order to really be able to close that out. Right. Okay. I mean, since our sprint definitions right now are sort of arbitrary and using the word sprint isn't really terribly applicable. I think that's fine. We should, we should go ahead and do that. All right. Ken, let's jump over to Ken and see how we're doing things on things here. The common query Q and A has been complete for a while. It's deployed on latest. Has that made it up to stable yet? I don't think we've deployed anything up to stable in a while. Right. Well, anything in the marketplace is just deployed on stable because it automatically updates. So common Q and A, I kind of remember if anything changed in there. Did it Ken? Was that, was that one of the ones that didn't have any issues? I think no. I mean, I think common Q and A was almost like an umbrella holder for converting things that had to go into your comments. Yeah. So I think you can go that deployed on stable. Gotcha. Okay. Um, and how about the Wikipedia? You had some tests failing when last we talked. Yeah, I forget was that. So that was Thursday. Maybe I was out Friday. So, uh, Ah, okay. There, uh, there was a fix, there was a fix I have for that fixes that it basically came down to, uh, replacing the time outs in the VK test, uh, wait for dialogue to complete stuff. Uh, with actual code that, you know, interrogates the message bus. Uh, guys, did I ever put that PR up or not? Not that I've seen. It's one file. Okay. So I probably need to put that up there. Uh, it's just a file. It's a modification to the VK tests. Okay. I think the stuff. Oh, the reason we're testing is the stuff that I saw was, was not. I remember. I remember them. My mistake. But we discussed this and told me to keep it in the wiki skill that, uh, it's not something that we wanted to put into the VK tests right now, which is fine as long as we clean out the cache after each one. Cause duck that go will need the same thing. Um, and I can just put it in the individual skills, but I thought I submitted a PR against the wiki skill with this minor addition. Is that not the case? I'd have to go and have to go and double check. Yeah. Look at the wiki skill. There should be a new PR and if you don't see one, then just let me know. Okay. But I mean the, the stuff that I was seeing failing in the wiki skill too was, was beyond just the VK tests. It was, um, you know, there was, there was two tests that failed. The test that failed both failed for the same reason and that's because they didn't detect the audio system stop from the dialogue playback. Uh, and that was because they either got there too fast or whatever, or they missed, uh, something when I modified the wiki skill steps file and changed that code from time out and then check the, and then time out to making it more robust, all the tests passed fine. Yeah. But the, the issues that I had were like, you know, asking about one thing and getting a completely different, you know, a completely incorrect answer about it. That is correct because they were running before they were, before the dialogue stops. They were picking up bits and pieces of the dialogue. But this was outside of the VK test. It was just, you know, like using the device. I have a modification for the wiki steps file that one I make. And when you commit that PR and you run the tests, they shouldn't fail. But I'm not, I'm not talking about the tests though. I'm talking about, like, you know, whether, whether the test pass or not is, is useful. And hopefully the test is, is an accurate reflection of the, of the normal environment. But if I then use the device with the, you know, if I then use the skill just as a normal human and it tells me about the Chrome browser or whatever it was. Oh, so let me make sure I understand where you're coming from. So what you're saying is this is not the kit that's oriented. You found a bug in the wiki skill. Yes. Yeah. Well, just go ahead and create a JIRA ticket and commit that and submit that bug or assign that bug to me so I can look at it. All right. I thought I did that. I will go and double check it. That's why I know about the wiki skill, Mike. All right. Well, that sounds clear as mud. So, so I think there was two issues there is the problem. So I think the first issue is the two of the vk tests were failing. I believe that's, that's true. Right. And so when I went and analyzed that, I found. Yeah. I get it. I understand. It was also manual testing that was done. Right. Right. So the bugs were found. So there were two separate issues there at the point. Yeah. Sorry about the airplane. Right. Okay. Well, yeah, that's got to be your, your top priority. So we can close this. Okay. All right. So let's see. Moving on down. That looks like we've got the Pandora. Basically the, the demo skill. Right. And it says that we, the PR has been reviewed. And we're, we're pushing. So we should have a, a somewhat functional Pandora skill in here. Right. It says the PR has been reviewed. That doesn't. Tell me what's supposed to be. What's supposed to happen next. All right. Well, that's your skill. So you're responsible for it. So you can, can you check into that and make sure that. Yeah, I did. I pushed the PR for the Pandora skill. Now I don't know what happens after that. Okay. PR has been submitted. Yeah. I reviewed it. Oh, okay. Got it. Okay. Okay. Okay. Chris, very reviewed this. The PR. Did you have any. Was it accepted or not? I don't remember. Pretty sure it was. It was. Approved with. But not merged. If it's good to get. Yeah. Cool. So guys will merge. Is this new status? I think Chris is going to hit the button. Yeah. I'm going to hit it now. All right. Cool. See, okay. The next one is the news come and play. That one's we've decided is not fixable in this sprint. So there's sort of two, two components that relates to all those notes down the bottom. The. Like the, the issue where we can't add new stations to. To the skill settings. Like we're not going to fix that in this sprint. But they were, they were bugs where like, you know, Fox news, for example, just would fail playing every single time. So yeah, I did a fix of that. Chris reviewed it. He. Came back with a bunch of, with a bunch of comments, which were very valid. And I've, I've gone in and done a much bigger. Unfortunately, the comments are like, not easy to address without really, you know, making the code much more, much cleaner and more readable and things. So I've done a bigger refactor of the skill, which. But it's in a, it's in a way better place now. From a completely unbiased perspective. So it's actually still work in progress. Yeah. Yeah. But it's, it's pretty close. All the tests are passing. I'm just doing the final, like, you know, making sure the doc strings are right and. Replacing, you know, basic exceptions with, like, what they actually should be. That sort of stuff. Okay. Got it. And then Derek says here was reviewing the GUI for that. Is that still actually happening? I think that's all done. Is that right? The news? Yeah. Yeah. Well, I had suggested these changes. I'm not sure where those are at. To add it yet with the colors and whatnot. Yeah. Did he get those? Yeah, yeah. He's done a first implementation of that. At the moment it is, he's got it so that you send in two different colors. Whereas I think what you were after, was sending a single color and doing an alpha channel to, like, to modify that single color so that it was consistent across all of them. Is that right? Yeah, that was kind of the idea. Yeah. I mean, you could kind of do it differently. Yeah, it left the idea. And part of the refactor is kind of setting up to be easier for this sort of stuff as well. So, yeah. The GUI is not implemented yet, but it will be. Okay. I'm still, so there's one thing I still haven't, well, I don't know. This may be not news related specifically, but I'm seeing a stop issue that I haven't really been able to document on that well. So, I'll work on that some tomorrow. We're just not, not stopping. Whenever I say stop. It seems to have been mostly working the new skill. What's not stopping? Minecraft. I can't get him to shut up. What is he talking about? Well, it's typically, well, it's in the new skill. Mostly is where I've seen it. But like I said, I haven't, I haven't documented the bug very well, but that is, I'll work on that tomorrow. I kind of left that incomplete last week. Now, guys, if I'm not mistaken, the new skill that's out there is not the one I submitted, right? It's the one that's had a lot of refactoring around the curl stuff and the new Fox News channel fixes and things. No, the curl, the, the refactored one is not, is not anywhere yet. I think the one on the, the one on mark two is, is the skill control version. Oh, really? I think so. I'll be able to tell, I think, because I think I snuck a version number into the biggest class because everybody, we didn't have versions and it sounded like we wouldn't have them for several years. And so I stuck one in there so I could figure out what versions of code I have running. But I'll check that. Derek, if you find a bug in the new skill when you say stop, please create a Jira ticket and sign it to me. Derek's gone. But yeah, we'll, we'll have a look at it. I'll consider message communicated because we didn't have an act in the absence of an act, I assume. Anyway, so yes, the new skill will be, I think it'll be done today. Okay. In other words, I think what I heard is that the skill control new skill was submitted and any changes you're making are on top of that. Well, currently, kind of, yes. The skill control stuff was, was injected by the, the build process. So I'm using that branch instead of the mainline branch. And then these changes that I'm doing at the moment are on the mainline branch, but I'm going to, if they're accepted, then I'll rebase the skill control branch off them so that it gets, it gets both, it will have both branches merged into one, basically. Okay. All right. Well, so we're plugging along here. Yeah. Okay. So the, it's very, very close. If we get the new skill done by today, then really it looks like the long pole is, is going to be this timer thing, which is an issue with a marketplace and the VK testing and all that stuff. So it looks like Chris, that's going to be your, well, is that a Chris thing or a guest thing really? Well, releasing 20.2.1 is a guest thing. And then getting the, the new Docker container out there, I can certainly do that. Okay. So is that something you can tackle right after this new stuff does, or is it, or do we have to wait for something else to do a minor release? No, it just takes a, it's just the, the testing part of that is the only time consuming bit, I think. Okay. But yeah, we're happy to freeze, freeze call where it is at the moment and release off. Basically, if there's any, if there's any PR that you think is essential to get into before the point release, then shout very soon. And I'll post that in the community as well. But I can't say that people will. Right. Yeah. Okay. Good. Great. So I will start sharing this. So one thing I forgot to mention about the home screen skill, there is, I, I'm, there's a hard coded value in the mark two skill that looks for the idle.qml in the name of an idle screen. I'm going to make that a little smarter because I think that's kind of a holdover from when we had idle screens and different skills and stuff. And now everything's named home screen. And that, you know, so I don't think we want to, we want to count on that, especially not hard coding. So I put some logic, a couple of two or three lines of logic in there that I actually looked at the registered home screens, the names of them. And use that as a qualifier rather than, you know, looking at a substring of a file name is probably better anyway. Okay. So that'll go out. I'll probably put that out there before I put the home screen skill out there because it'll, it'll depend on it. Right. Because it's a small change, but I think it worthwhile one. Okay. So that'll be a quick, something you want to get into core before this point release. That's not cool. That's actually in the mark two skill. So I can do that separately. Yeah. Doesn't require. Okay. Great. So that's the status of sprint 21. Anything else you guys want to give an update on? I just checked guys and, and I don't think that. Step fix found its way into the wiki skill. So I'll put a PR together for that. And to get that juror ticket to me, I'll take a look at that and try to get that fixed as well from a manual perspective. And then Michael, everything you asked me today has nothing to do with what I've been working on for the last week. Cause all this stuff's been done for a week. So I've been working on other things. Yeah. Well, that was the time to update us on all those things. So, yeah, I think that's something to say first. Okay. Sure. Go ahead. Yes. As we did a stable release of. Mark two image yesterday. So stable devices should have updated to. 19. I think. In the. Do we get that? I saw in chat that there was a mission within several ways. Is that, that been addressed? It's, it's an issue with the, the downloadable image for it. So it's an issue for new install. So if you don't have an image, it's a problem. Yeah. But existing images should update to. They seem to update fine. Yeah. Okay. Um, maybe. Mine still seems to be on the, uh, June 2nd. Okay. Um, I'll go check the progress. Um, basically I just got, I've got one that's been sitting on stable. Just, just stays on stable and stays online. And it updated. Um, so that's my, my, but it could be that, uh, well, it should have, it should have tried to receive an update by now. Um, so I'll go and have a look at the progress and see how many of us, you know, stable devices have actually updated. And that sort of thing. Um, Yeah. Yeah. That's a little. Mistifying. Although mine might technically have been updated to the latest branch, but that should be, that should have been updated to something more recent. Yeah. June, June 2nd was the previous stable. So that, that sort of suggests that it is there. The only thing would be if you turned off automatic updates for some reason. Um, uh, which I have to also say, I, um, kind of haven't done that for a very long time or have potentially never done that. And, uh, the UI for that on, on Selene worked beautifully. So if you turn off automatic updates and then an update becomes available, it provides this big green button that tells you that there are updates available and that you can click to apply them and you click it and your device updates. So, um, it will be very obvious if you, if you have turned off automatic updates and there's one of them. I have not. I am on the automatic update path. So maybe it's just a while to roll out to me, but, uh, we can follow up on this a little later. Yeah. Yeah. Um, but yeah, so for the, for new downloads at the moment, um, uh, I've, I've linked the, the last release candidate because that actually, um, boots. Um, it's still, I've, I've experienced an issue with pairing there, but, um, I'm trying to work through this issue with Bennecor at the moment. Um, because obviously we've got like a whole bunch of dev kits going in the mail right now out to people. So I really want them to have a, a nice experience when they open their box up and build their units. So, um, yeah. All right. Cool. Yeah. That's good. We've got a hundred dev kits going out right now. So that's good to get that up to date. Um, all right. Uh, actually, can you send me your address if you want a dev kit? Cause I don't think I got your, there's one on the way because I wasn't sure if it was that important or if it was more important to get them out into other people's hands. I mean, we've got a stash that's reserved just for our developers. We're not selling anymore, but the rest that we have on in stock are just for internal use. So there's, there's one that's your name. I guess I'll make that one my stable branch one and just let it automatically update from there. Yeah. I think it's good to have that. But yeah, you know, you know, preventing anyone in the community or any pet, you know, anyone from getting there is like, yeah. Okay. All right. I will text you my address. For us, each of us to have a stable latest and like a hacker version. Yeah. You should each have three at least if you need more, you know, at your own discretion. So Ken, you might actually want, well, now we'll get into that later. So Chris, do you have anything else non sprint related? You've been working on any Salini news or any of that? Nope. Just working on the home screen. Okay. Cool. All right. Ken, let's give us an earful. Get close so we can hear you. Yeah. I'll try to keep it simple. So basically under the, I'm working under the guest species of this upgrades to TensorFlow 2.2 compat with TF light full request, but PR is pretty, pretty big and I'm not sure what it's trying to accomplish. I know that gets texted me a link to a derivative of that PR, I think, from another repository somewhere. And I think that has some additional work beyond this. That supposedly was going to make everything work, but I had to hack it up to get it to work with a TensorFlow and light model. And then I realized it was still using a full blown version of TensorFlow and just, you know, making TensorFlow light run with that. So it's like, you know, an upgraded TensorFlow 2.2, which may or may not work. I'll have to, that's all I'll do next. But what was of interest to me was the support for the TensorFlow light model that I have now, right? Because I have a model that Jarvis gave me that's our precise model converted to TensorFlow light. And so, you know, what I wanted to do was get TensorFlow light run time, which is not the full blown TensorFlow running on the market to actually want to also do that on the K2 10. And I've made progress on both fronts there. And then get the TensorFlow light run time to run the TensorFlow light model. And then make sure that it's working. And that's what I spent the majority of the day doing today. But now I have TensorFlow light runs. I have an app test application that runs TensorFlow light run time, not the full blown TensorFlow light. And it uses our might a micro TensorFlow light model. And it works. But I thought that was good because yeah, that's great. That's working on our mark two hardware. Yeah. Yeah. Now it's not working with my craft core. And I had to hack it all up to get it to even work. So now, you know, if that's an objective, I'll go back and try to get TensorFlow light run time running with my craft core. Because like I said, the PR that I saw basically relies on the fact that TensorFlow light is a built in portion of the full blown TensorFlow 2.2. And TensorFlow light, the version I'm running is 2.5. So I had to modify some stuff to get it to run. So it's complicated. But that's what I've kind of been working on. I'm not sure where I'm going to go next. I'll figure that out tomorrow. And then eventually I'll get back to getting the TensorFlow light model running using the TensorFlow light run time on the K210 dev board. So I've got TensorFlow light running on the K210 dev board. The problem is nobody built the Python bindings for them. And I'll have to build that. And so that's going to take some more. But I wanted to see if I was wasting my time or if TensorFlow light run time could indeed run our TensorFlow light model. And I've answered that question today. It should be noted that once I get this running on the K210, that's kind of a gorilla port. Because really the right port would be to pull the CNN out and use the built-in hardware and put it there. If that makes sense. Yeah. Correct. But that's, you know, it's a phased approach, right? Get it running the way it is now and then pull up the CNN. But, you know, that kind of thing. So that's where I'm at. I've got TensorFlow light model running using TensorFlow light run time on the Mark 2. I think the next thing I'm going to do is try to get that integrated into, well, I guess I'll get the 2.2 TensorFlow PR to the point where it seems like I can get it working and then we could possibly commit it. But again, keep in mind these are building binaries. They're building wheels, you know what I mean? So that's how we deploy TensorFlow. That's how we deploy precise right now. This, you know, is we build a wheel and deploy the binary, right? And it's part of that package, if you will. And the model is pulled in separately and put in a different way. Right. I mean, I think the goal, right, is to get to a point where any iteration we do on precise is just on the 2.0 framework in general, right? Including, you know, being able to build light models off of it or that kind of thing. But it'd be nice to just be able to work off of the modern framework work that's well supported, right? Yeah, keep in mind that PR is not a core PR, right? That's a Lambda server PR, okay? Because that's where I checked out precise and modified it to handle hyperparameters and all the stuff I had going in the pipeline. So that, and that's based on 1.3 and that builds models, right? This would be where I go to the Lambda server and check out a new version of the precise repository and use it to build a new wheel that could then be distributed as a binary, right? Yeah, exactly. That's right. Yeah. Yeah, and we'd want to, and then we'd have to, you know, refactor whatever we need to in order to get all of the, the machine learning loop stops, you know. Yeah. And there may be some gotchas there, right? It's surface in the back end that aren't relevant in the front end and things like that. There might be incompatibilities. Who knows? But yeah, I mean, if it seems like the objective of that pull request is to get a TensorFlow 2.2 environment running to build new models, because a lot of that work went into actually building new models and 2.2, right? Which you'll never see, you don't care about on the Mark II or on the target device, right? Right. So that's why I'm working on a lot to sift through and understand how the different stacks work and what goes where and what actually are you doing. And I'm still, you know, learning some of that as I go. But again, today, the big breakthrough, which I've been working on for several days and finally happened an hour or two ago, is I got the TensorFlow Lite model, so .tflite running using the TensorFlow runtime, not TensorFlow 2.2 on Mark II. That's awesome. That's really good. And to have you, did you take, get any indication on performance? It seems to work just fine. Well, I mean, in terms of like CPU load and... No, because it's not, well, because it's not plugged into the Minecraft core framework, right? Sure. I guess that's fair. Yeah. So it's, I mean, I'm pretty sure it's going to be very simple. Well, let me put it this way. It should be similar unless there's big differences between the performance of TensorFlow 2.2 versus TensorFlow 1.3. I don't know that to be true. Well, I think that one, I mean, it comes down to what they've implemented on the pie in terms of libraries. My understanding is that, you know, they could be using the GPU under the hood to implement and accelerate the, you know, the calculations. Right? That presupposes the 1.3 binary we have using the GPU. And I think it is. You think it is? Okay. I don't know. I don't know enough about the build. See, now what we're talking about, and that's what I was getting at, is I think what we're really talking about is the build process for our precise binary, which includes a binary version of TensorFlow, right? Right. So this is really, like that PR really addresses more of the build process of delivering a new binary. Yeah. And this is the stuff where you have to get in and start to really relearn for ourselves. Yeah. And then I have to figure out how to get that deployed for the ARM, right? And whether we want to completely override the old one or replace it or add, you know, have an either or right for people that might be having backward compatibility problems, things like that. I just don't know. So that's kind of what I'm learning and where I'm at. But yeah, it just seems like that PR is going to be more oriented towards the whole build process and deploying the wheel. Right. Okay. But I was more concerned about because of another project, as you know, that I'm working on getting a TensorFlow model running on TensorFlow Lite runtime. So I have some hope in getting it running in 16 megabytes of RAM. Right. Yeah. Okay. Yeah, that's great. That's really good news. Thanks again. Well, we'll check in as we go through the week and see how that progresses. That's exciting for me. Me too. Because I'm really going to be excited when I get TensorFlow Lite, our stuff running. I can get precise and a very shell version of it. So I'm excited to be able to get it running. Yeah. Yeah. That would be great. Sounds like it's the bindings for Python. Yeah. And then this will start to establish, you know, we can, from here we'll start to establish a process for porting to new kinds of hardware. And that's a good place for us to be. Yeah. And I think it remains to be seen whether we're going to be able to run core as it stands in 16 megabytes around. I wouldn't even expect that. Which is why I said that I could possibly get a really stripped down version of it, you know, that just does the basics going. But, you know, I don't know. That was just a side project I may do at some point. Yeah. Well, I mean, if that could happen, that would be really great. My expectation now is that if we could get, you know, because of the pipeline architecture and the message bus interface, if we could just partition off the audio on end and the wakeboard detection into a separate unit, right? And then we could use a less expensive main CPU. That's kind of the direction we're going. Right. Yeah. In other words, that K 210 dev kit becomes the next generation hat. Yeah. Exactly. Yeah. But it also has the wake word recognizer running on board. Exactly. Yeah. Cool. All right. Well, that seems like a good progress for. But, uh, and I'm learning more about TensorFlow than I ever wanted to know. But yeah. All right. Okay. Well, uh, I think we've been at it for long enough. Let's, uh, check out and we'll check back in tomorrow. We'll hear you tomorrow. All right. Thanks.