 All right, welcome to October 23rd, DevSync for Minecraft and here we are, halfway through our official sprint. But the idea here is that hopefully we're wrapping up tail-in-to-work from last sprint and we've got the new SJ201 boards that we're in the process of bringing up, so hopefully we have better news about that today than a couple days ago, but let's go ahead and find out. So I'll start with Ken. How is it going, Ken? Going good, got the new hardware working and just finishing up the integration. I have a bug with the volume I'm chasing down, but other than that, everything's good. And then I'll try to accomplish the animations for the various actions that Derek was kind enough to share with us about an hour ago. I warn you, these LEDs are not... So right now, the LEDs are a little slow. I'm going to talk to Kevin about adding a different command to get around that so we can handle some of these animations better. I'll code them up with what I have now and we'll see how they are. And I can also put a monkey patch together whenever somebody gets one of these devices and they get microp installed and paired. I can send them a file they could run that would apply these changes and get all this stuff working rather than having to change the build or the repository or whatever. So we can go either way, but yeah, it's coming along. Okay, that sounds great. That's much improved from a couple days ago. I think the reason that the LEDs are sluggish is that we haven't really designed any firmware for that LED controller. It's just kind of bit-banging them, right? You're just controlling them one at a time and we could definitely put the animation stuff in that little microcontroller. Yeah, I don't know if we could do that. It might be taxing it a bit, but we can at least have it be able to accept the LEDs without showing them immediately and then do a show and show them all and hopefully that would be quicker than going over the USB bus over ITC, but we'll see, so that's where we're at. Okay, well that sounds great. In the interest of getting things up and working, I haven't seen the spec that Derek has shared with you on the lighting feedback, but I'm in favor of just doing something quick and dirty and then we'll work towards the fancy version. Well, that's what I have now, so right now the volume up and volume down buttons will advance the circle, you know, from one to ten. The top two are reserved. The last one is currently reflecting the status of the mute mic switch, so if it's on it's green and if it's off it's red and then there's a blank one and then there's ten LEDs that I'm using right now and so the volume up and down control all those fine, all that works. Okay, great. And you're able to get the barge in and audio in and out and all that kind of stuff going. Well, so yeah, that's, you just said a mouthful, I haven't looked at barge in yet. I don't think some refactoring, but there's other issues I want to resolve. The first is with this board, this version of the Kivi build is complaining and now that I see what it's trying to do, it's trying to enumerate all the devices and run also on and failing and pulling exceptions. And then there's two skills, there's the Skill Micruff AI and Micruff Skill Mark II, whatever. And the one, the older one, I guess that was done by Bluestuff Things is trying to hit the volume itself over the I2C bus and throwing exceptions since I don't have I2C enabled on this device. So I may clean that up too. But yeah, and then barge and I'll get into, barge in is going to be a little more of a higher level issue because right now high level code is doing everything it can kind of work that. So I'm going to have to unravel that. So yeah, that'll come. Okay. But you're having to get audio in and audio out. Audio in, audio out, volume up and down, leds working, switches working, yeah, all of that. Okay. I just wanted to check, when you said does barge and work, do you just mean, can you speak over music? No. As opposed to refactoring, like, because I know we have different definitions of what barge means. That's a very good question. I want to make sure we're not doing what we're not intending to yet. I think if you are using the XMOS just in the default configuration, it will automatically subtract the output from the input on that side of things. Yeah, I understand that we still have some issues with barge in terms of if the core itself is outputting, you know, speech, it doesn't like to interrupt itself to stop talking. But that's a different issue. Yeah, so I'll test that I can play music and tell it to stop and that works. And it's not clear to me if that's using pocket spanks or what it's using to do that, but the assumption is I haven't changed anything there. So, you know, that should work. I was getting at barge in over our dialogues, but yeah, exactly. Yeah. Okay, great. Thanks for the update. That's really good news. I just got an update from Kevin that he can get us probably up to 20 by Monday. He just shipped out the ones to the fab house that needs to rework them. But the ones that he, the one-sided ones that he has to populate the second side for, he can do as many of those as we need by Monday or Tuesday next week. So I'm going to ask him to do that. So we should have stuff for Derek to assemble. And hopefully that will give us enough to send out to roll over on, you know, maybe by Tuesday or Wednesday of next week. Hold on. So there's my guess, so let's be careful there. Let's be careful there because there's, I don't know, you know, what code-based rollover has, but they're not going to be able to handle the hardware that I have, right? The hardware I have is jumped specifically so that everything goes through the USB port now. And there's no GPIO usage whatsoever on the side of things, on the Pi. Kevin also sent me two other SJ201 boards, and they're not wired that way. They are wired to still use the switches going through the GPIO. So make sure you get the right boards to the customer regarding the software support that they have because unless they have the code that I'm still working on, this new board style isn't going to work, right? Yeah, so just to be clear, I'm anticipating you getting this code working in the next few days. And Derek is going to have to, you know, completely rebuild either new ones or rebuild the old ones, you know, with these new boards. So they're not going to get just SJ201s. They'll get whole new units. And they'll get the latest version of the code. Is that the assumption? I mean, yeah, they'll have to, right? So they'll get the new style boards where everything goes over USB. And then my changes to the code that I'm making now, this pull request will have to get pulled into the new image before he builds from there, okay? Right. So there's a little coordination that will have to go on there. I'll try to get this pull request ready to be reviewed by Monday so that we have a half a chance of getting it done rapidly. Okay, great. Yeah, I still haven't done any kind of test of, you know, one of these things is simple outside of the laser cut closure. So we'll want to have a day or two to see if, you know, the things going to overheat or, you know, all that stuff. Yeah, and then this board that I have, there's no micro USB connector. So it's like a jumper kind of socket thing and, you know, in a little cable with a board you made and, you know, part of the problem is that pushing the buttons and stuff. It comes kind of loose and so sometimes it gets intermittent and then I have to reseed everything. So it would be better if we had boards for them that had the actual real micro USB connectors and whatever we're planning on doing along those lines. Okay, that's a good feedback. The SJ202 board is not going to show up until Tuesday, which we'll do that. The SJ202 will give us that secure connection and make it more solid. But they are coming from jail, PCB or whatever to be delivered Tuesday to Kevin. Okay, so that's going to be a limitation and getting things out. I think realistically. Yeah, just coordinate with me when you're, when you've got hardware in your hands, and you're ready to start maybe putting it together and burning an image and testing. Just coordinate with me at that point to make sure that we're on the same page. Yeah. Okay. Yeah. I wouldn't be able to send anything out. And so a few days after I received boards, just because I need to test and I need time to assemble them. All right. Who's got all the pies for the assembly process? Do you have them or does Kevin have those? No, I've got all the parts in the Lawrence office. All right. So it might be best for him to just plan on shipping them all to you together, the 202s and the 201s together. And then you can just get to assembling them. Okay. Yeah. Yeah. I mean, if there's any work you can do ahead of time, ahead of getting those boards, I mean, that's that's stuff that we should start working on. Right. I don't know if there's a speaker enclosures and speakers and jumper wires for the for the speaker connectors and junk like that. You know, yeah, I've started some of that. Yeah. Okay, great. Okay. Derek, you have anything else? As far as updates for us. Well, so yeah, Ken mentioned, I did, I've been working a bit on the LED animations. And those are not like, you know, they're not inflexible. So if there's limitations we want to work around by all means, but at least let you get started on that. And I do have some things I need to wrap up on it doesn't there's a few missing ones mute isn't in there, for example, although that's reasonable. And then I was working on a slide deck. Josh requested of me most of this morning. I got some edits to still do on that. I want to chime in here with I get that that rendering of the mark two on the slide deck. Right. The rendering is not bad, but the Yeah, it's very different from the kind of pill shaped curve super modern design that we originally had. That's all I have to say. Yeah. Well, you know this is partially to work to work with the limitations of, of, you know, how we're doing. It's, it's just lends itself to a very rectilinear form with the way the pie docs to it. So things where you know I looked at okay we can add make try to make it more curvilinear what that adds kind of adds unnecessary volume, which, you know, adds cost. So it's kind of driven by the form of the pie. Okay, when you're here, can we play with your sketchbook a little bit and see if we can maybe tweak some of the shapes without tweaking any of the internals or anything. Yeah. Yeah. And to be honest, where it's at right now to is driven by easy to prototype. And, you know, as we move to the extra molding we do have some opportunities to revisit some of those things. Yeah, I don't want to get back into a full on discussion of it, but it hurts my eyes a little bit I think we can do better. Okay. So yeah, basically just been in that world and then also printing some parts and getting ready for simply for next week. The one thing outstanding really is, and I hope to have it done by Monday is the requirements doc. Okay. Question about the dev kits that we're talking about shipping. Do you have an idea how much it costs for us to laser cut an enclosure versus how much it costs to 3d print one. I don't but I could find out. I had actually quoted printing through some of these like through 3d hubs specifically, which actually most of the 3d printing services like shapeways and stuff they use, you know, pretty high end SLS or SLI printers, they're pretty expensive to be like close to $200 really print a whole enclosure. But 3d hubs uses like Prusa's and ultimakers and stuff like that. And you can get it done. Maybe about 40 or 50 bucks. For for a set parts. I would imagine through. Josh has a laser cutter. There's a laser kind of Lawrence office. We could cut some ourselves, depending on quantity, but using an outside service, I would imagine that be cheaper than 3d printed for one set, but I don't know I quoted it. Okay, it's going to be the laser is going to be way cheaper, like way way way cheaper than 3d printed. There's, there's assembly labor associated with it. It's kind of arduous. So, yeah, but even with assembled themselves perhaps. Yeah, but even with, even with the 3d printing like there's a bunch of post processing that takes a lot of elbow grease as well. So, our 3d, our SLI printer here and hello is not behaving nicely but I'm working to get it all squared away before you guys get here. Yeah, I owe you a response on that. I'll send you some links. I got with form lab support and they're working with me to get it squared away. All right. Okay, let's go over to Chris there. Talk about week words. Yeah, so good progress. I will share my screen to show a couple things. Okay, this isn't my this is on my machine. I goofed something up about the audio but what I wanted to show off was that when you, you pick something, it fades out and back in to get the next one so that's kind of the transition at the animation done. So you can tell that you're going to a whole new thing to tag. So that's done. And I've been deploying stuff. So if you go to size, my car. That's gotten that again first of course. So, you see the card means nothing on it and that's because I don't have any data set up yet so the everything's deployed. All the codes deployed everything's out there and test. All the databases are done all that good stuff. Well, I haven't done is is figured out a way to put a bunch of data out there so you guys use it. You can do a bunch of tagging and bunch of testing and not around stuff to do. But the thing this does bring up though and this is the question for Derek is, what do we show on this screen, when we don't have data to tag. There's never a problem, but if it is a blank screen with a skip button is probably not the best solution for that. An image of a dog that has caught its owner and a flat and a little thing that says all caught up. You could use the you could use the dog pulling the diaper down from the old. Like Johnson's baby oil logo, something like that but something that just says all caught up. You can use a picture of your own dog if you want. I like the one that says you've reached the end of the internet. So yeah, my goal for the week was to get this so you guys can start using it by the end of my work today will be I'm close I'm just, I need to. I need to populate some data, like a test directory on the precise server with some wake words samples that we can copy over and I need to. Hopefully that's it once that happens then they'll start showing up on the screen here and you can start tagging them. But so that's just the one task I have left. Unless of course, you know, things are showing up and bad things happen, because I just put it to test for the first time, but so far deployment has gone smoothly. It took me a little little extra times I haven't deployed so any UI stuff in a while, but this is all working off of my branch, instead of off of the test branch because I'm still waiting on some code reviews but yeah. I'm very close to having this done today. Awesome. Okay. That is great. I look forward to testing it and breaking it. Speaking of which, I know that Ken was working on some some vk tests for this. Have you are those up and running now. Do they, do they work. Do they match up at all. No, I have no vk test for the tag or just for the upload wake word. Okay. Yeah, he's been busy with the hardware stuff so. Okay. Yeah, I mean, and if I get this up and test and he's still busy with hardware stuff I could write I can write the tests. Right. We were hoping you and I could work together and get it done faster but he's been preoccupied so I can always have the test itself. Okay. That's great. That's good progress. Thanks. Let's switch over to guess, get an update on what's going on in the community. Okay. Yeah, we've, we've got lingua franca version 0.2.3 released. So that's the final version of the point two series before the before the refactor gets merged in. We're just going to skip a couple of tests on the Python version 3.5 because that version of Python is the old like end of life, you know, but we technically still support it and until 2102. And the things are working. It's just in the test environment. They're failing. So rather than spend any time beating a head against a wall for something that's deprecated anyway. I just skipped them specifically for the, for Python 3.5. Anyway, so hopefully the point three version comes out pretty soon. We also did an update to PAI, which is an event emitter library that we use. We ran into some issues basically race conditions in multi-threaded environments. And thanks to okay reported that upstream got a fix and now there's a new version so that's gone into adapt and micro core. We also use it in another repo that's less important, but I'll update it there as well. But yeah, it's feeling like we've got a lot of big changes in dev at the moment. So I think once lingua franca 0.3 comes out, then we should probably do a major, not a major release just a release of micro core. After a, you know, a small period of testing and stuff. I did some work, some more work, just mapping out the enclosure spec a bit more slowly building that out. I had a really good meeting with a local team who are looking at a lot of NLP stuff for low resource languages. So there's nothing that's immediately going to come out of that. But, you know, just good to keep in touch and they're really interested in what we're doing. One of the most interesting things that came out of it, I think was that some Australian Aboriginal languages. They don't have spaces between their words, so to say, like a single word can contain a whole series of more themes or meanings within that. And so there's a few other languages around the world that do this sort of thing. And that's one of the limitations of some of our technologies is that we can't accommodate that. So, you know, our technology will work just fine if you throw, say, tie in it, which is, you know, a completely different character set, you know, whatever. And that seems to be working fine. But, you know, some of these, some of these languages that have specific grammar differences, we don't, we don't support. And one of the things that they've built is a way to extract out all those more themes. So, yeah, so something that might down the road be useful for us when we want to support those languages. We've found some more bugs, picks and bugs have been having a chat with El Ticino more around the the TTS, George and stuff. And we want to tweak the mimic recording studio before we get any more recordings done because we think that one of the problems is that it's cutting off the a bit too much at the end of the audio. And there's a very simple tweak we could do to it, which will probably do enough for now, but we also want to look at some, a bigger change at some point. And I did, I did a fair bit of looking at the resource usage on on the different mark two images as well. And just trying to profile that and really dig into what's what's using the memory and and CPU usage and that sort of stuff. And I now have both of my, both of my martyrs running side by side. Yeah, which is good. Anyway, that's, that's many I think. Yeah, the resource utilization. You know, we've been talking about that, especially in terms of the cute versus kibby GUI systems. But you know, we really need to nail down what those resources are for everything for, you know, for the wake word processor for, you know, for mimic and, you know, probably for pedacious as well. Although I suspect that's pretty lightweight. You know, yeah, that's one of those things that I really, I really want to get to maybe it's something we can tackle at the summit. Maybe it's maybe it's not something we really need to but but yeah, we need to have a good, a good high level picture of those resources so that we can start to spec the next gen of hardware that will hopefully be, you know, a lot more affordable. Yeah. And the biggest, the biggest eater at the moment is still precise like, but yeah, from what I've heard that the TF light version is running much lighter. So, yeah. Yeah, and we can port, you know, there's a $4 successor chip to the one that we're currently using for the audio echo cancellation that we can almost certainly port the wake word into, you know, and it'll just, that'll run entirely off chip then at that point, but it has to, it does have to be TF light. And, you know, but that still leaves the other the other bits of it right you know if we if we have a we require 700 gigabytes of or megabytes of memory to run the GUI system for example, then you know that might require a different processor then then is, you know, strictly necessary I think so something it's one of those things we have to keep an eye on start digging into when we get the time. All right, so Josh, you have any updates for us on the updating system. As a panticore built it for us. So, and their price right so that needs to be evaluated. I think it's something that we evaluate closely during that the sprint that we're doing here in about two weeks. We could probably do some of it ahead of that being as they already packed it down for us and it's already available. And then divide develop a workflow and assuming that it works and meets our needs. I think that that's a good solution. Yeah. So, I wish I was more technical and built a decision matrix and everything else but I'm mostly focused on things that work at a reasonable price. Panticore hypervisor will allow us to do a tonic updates at that and then we should be able to containerize the skills. In a way that allows this each skill to run and it's on container communicate with all the other skills over the message bus and isolate processor and ram from each skill to each other skill. It may require a packing process by us so we've been having some conversations about how, how we manage skills in the future, and how we share our future success with the broader community, and kind of as a hypothesis and this isn't established on a written in blood and signed by leadership as a hypothesis the concept is that we will peel off a chunk of the recurring revenue that we're generating from people who've chosen to be my craft supporters that we will dish that out to skills developers based on the utility of their skill so skills that are being used widely and are being engaged with by our community will get more than skills that do one thing and are never used or have limited utility. And that, you know, because we have to package this stuff up because we have to sign it because we have to take all these additional steps to make it safe that that skills will skill developers will have a choice of either running, you know, basically in dev mode and provide it for free or being part of the paid skills abstraction. And then finally, we would move everybody over to the paid skills abstraction day one who's already part of our community, so that folks who've already contributed get a year or something worth of time and in that paid tier at no cost so that there's a lot of things going on with that but a lot of it relates back to the update process because you know there is going to there are going to be steps and signatures and other things required for us to push these skills out. And, you know, as we're seeing with the mark to development cycle, you know, we, our stuff is really complicated, and we need to simplify simplify simplify so that my, my mom can use it near grandma can use it so that's going to that's going to take some work on our side to. Anyway, that is a long drawn out explanation and then I am printing things. Many things. Okay. So the progress on the update system I look forward to being able to bang on that. And yeah, definitely by the time the end of our sprint or in person sprint we should have that up and running. That would be really great. And yeah, and thanks for the sneak preview on our the future of the skill system as well. I don't have much of an update I've been working, you know, behind the scenes on on the hardware and getting ready for the next rev if we need to do one. And, you know, working fundraising all that good stuff. So, so, yeah, that's it for me. I think that we haven't gone through the jury tickets. But let's take a look at those on your own time and we'll we'll do a quick sprint review on Monday and decide if we should, you know, close out the sprint and start a new one. And then that'll give us a full two weeks before the, before the in person summit, rather than having two more one week periods. So, other than that, I think that's, I think that's it any any questions or follow up. Okay. Great. Well, we got a little bit of time after this meeting. Josh, do you want to hang out and review this FDM print real quick. Sure. Anyone else that is interested as well. Well, I'm interested in everything but I'll leave it to Josh. Okay. Okay, great. Well, everybody have a good weekend. Everybody. I think it's actually really good progress this week. It was a little bumpy, but things are coming together. So, yeah, looking forward to testing out Chris's wakeward tiger and getting some hardware into everybody's hands next week. So it's a pretty good week. So have a good weekend and talk to you all on Monday.