 Okay, so welcome to the Microsoft Developer Sync August 10th. Here we are. So this week we're going to try something a little bit different. We're evolving our process here. We're going to start off by going a little bit more in-depth in the plan for the week and going through our ticket system in Jira and make sure that we've got a good roadmap ahead of us. And then in future meetings throughout the week, we'll keep them a little bit shorter and just talk about what's going on, you know, for that day. So everybody should have had a chance to take a look at the tickets and update those ahead of this meeting. And so we should be able to go through those now and just take a look at what the plan is going to be. So Ken, would you like to start us off? Yeah, I'll start off by referencing the parent ticket, PREC 50, and we'll just bring it up real quick. PREC 60, I mean. So let's find that, which is kind of our parent ticket. I actually have a bookmark for it. Thank goodness. So from a high level, we're working on phase one of the precise roadmap. The precise roadmap as outlined on PREC 60, the goal of this project is to implement a process of constant process improvement for our default Lakeward model. Currently the approach that we're taking is to increase our available data. And then downstream we'll be balancing that data in an attempt to produce a better model that's more receptive to different classifications like pitch and age group. There's three subprojects under the precise roadmap right now. There's the data capture from devices project. Each of these contains some open issues that we could discuss if you wanted to, but there's data capture from devices, there's user community tagging of that captured data, and there's creation of new models from that captured data. And the three sub-tickets are basically 64, 65, and 69. If I look at where we're currently at in data capture from devices, the current open issues on that are, hold on, I don't have, by the way, I don't have delete privileges so it's a little bit messy. I've created issues and I couldn't delete them so they tie to the actual issue. Okay, so some of the sub-projects we're working on for data capture are the new database schema. We want to add the existing NAS mount to the new server maybe. We're definitely developing an endpoint to save that data to attempt directory and update a database with it. As part of this process, one of the sub-tasks is a job that runs periodically, probably once a night, that will move the data from the temporary directory to its final location and also update the database accordingly. And the final task would be to change the existing URL to point to the new endpoint or switch over the existing. The open issues I see for this particular sub-task currently are how our existing device is migrated, do we make the new endpoint backward compatible, or do we need to update core? And what becomes of data if we update core and people don't update their installation? And Chris was going to look into whether or not updating core and changing the endpoint was going to break stuff. So I guess we'll have to keep this open until we get back with Chris. The second question was do we want to add the network access storage to the actual server or SCP over the files each night? Chris was in favor of the latter. So if that's the case, we don't need to mount the NAS there, although I suspect mounting the NAS there might not be a bad idea. What is the query to determine the set of files to be moved each evening? Do we rely on the concept of all the files currently in the temporary directory or do we have some other mechanism for that? Another open item is how do we get the existing data into the new database? In other words, we have a little over 1.6 million samples. As part of the third project of sub project of this phase, I'm working on restructuring that data. And so maybe part of that process is to get it into the new database after it's been dealt with. Another issue that's open is how does a user communicate to us that they want their data deleted? And how do we respond? Do we need a bulk user contribution endpoint? And finally, do we need to update our privacy policy as a result of any of this? So that's currently kind of the data capture piece we're working on. I'm specifically actually not working on much of this, I'm working on the data model stuff. Do you want me to go over that or was this good enough to get it started? I think that's a great overview of the work we're doing. What is your plan for the next week? My plan for the next week is on the third sub project. That's what I'm going to do. So third is creation of new models from captured data, but there's also a bunch of outstanding issues with the existing data that are being addressed and I'll go into those now. My computer is a little slow. I was just thinking if it doesn't already exist, we should have a list of domains and endpoints that we want to maintain in perpetuity even if we turn them off. Just thinking if, you know, imagining that we had an endpoint where people used to upload data to and then, you know, in six, 12 months time we could get about it and people using the old system could potentially be uploading to a random server. Right. So this is one of the open issues that I just discussed, which is once Chris determines if he changes the endpoint and it's no longer backward compatible, what would happen to the existing core devices it hadn't upgraded? Would they just throw exceptions or would they keep dumping into a broken endpoint? Now, there's two ways we could attack this. I'll update. I was just saying, I'll update the ticket out for the discussion of this exact issue, or at least it's in the open issues of the PREC 60 or the first subtasks ticket. All right. For me, Michael, I'm working on this week establishing the current default data sets that we're training from. So I've built a new model and most of this work is already done. I'm going to take that existing model and, as we just discussed, try to get it out into the publicly accessible area. Once I do that, I need to figure out a way to track what the hyperparameters and data sets that went into that model are and call those data sets our base data set. The original model that we distribute is not reproducible because of the way the data sets were structured. It was randomly gathered data, so you couldn't reproduce it. The goal here is to say, here is the data set for training that was used for this model. Here's the validation data, and here's the test data it was tested against, and moving forward we're enhancing those basic data sets. And I need to get them under some sort of revision control somewhere. That's my problem, the figure out how to do that. So what I'm working on is establishing the current default data sets this week. I'm working on training new models. I have a new model. I have some others I want to train with some different hyperparameters. And then two other things that are kind of more administrative. One is putting the new model installation instructions in a publicly accessible place. That's what Ges and I were talking about, that I have an instruction page that's on confluence that we want to share with the public, but it references the PB and PB Brahms file. So now I know where to put those so I can check them in and then set links. So I'm working on that. And then an old outstanding ticket that Josh created was get the environment set up documented and repeatable, the training environment. And where he was coming from on this ticket was okay, you think you have control over the process, prove it, go set up an Ubuntu server somewhere and do it and make sure the documentation is good. So those are the four things I'll be working on this week. Okay, great. Thanks. And those are all in progress under PREC 69. And as I as I make progress, I will update them and open other ones in progress. Okay, great. So who are you working with on any of these tickets? Is it all work that you're doing on your own for the most part? Or are you working with Chris or Chris? On this, I'm working on my own, but there are some things that are open that Chris and I have to discuss to button up what he's doing. But some of it, I have to speak with him and get his input. Some of it has to do with what we talked about, like whether we can take down the existing API or not, how kind of the open issues I read out. One of them is, how do we know what files need to be moved each night? I'll probably end up writing that code, but I need to have that question answered. And then there was another one I forget, but it was an open issue regarding, oh, how do I select and update that data when it's actually moved and incorporated into our new default data sets? How do we indicate that in the database somehow? What's also open but blocked, by the way, that I haven't put in progress because it's blocked is I'm waiting for the existing NAS to be backed up. I spoke with Josh and Daniel on Friday and Josh actually ordered the removable media and so the existing 1.6 million samples are going to be backed up. So once that's done, then I need to actually clean out that subdirectory and restructure that data and meet with Chris and update the database. And then the final piece of the puzzle which is as who's gonna do it is yet to be defined is we've got the existing data that we want. We have 1.1 million rows in that database. So how does that get into the new Postgres database for Selene that Chris is creating? And Chris and I will talk about that and figure that out. So Chris and I need to meet this week. Okay, great. Yeah, so for those of you who missed it, Chris is on his way back from a personal trip, so he'll be back in the office tomorrow. Okay, so thanks Ken. That's great. So Gez. Yeah, my stuff has been focused on the upcoming releases. So I've actually activated an active sprint for Minecraft 4.20.2.5, which has got the pieces mapped out for things that we want to merge in before that release as well as meta tasks like writing the release notes and that kind of a thing. But yeah, I've been spending a fair bit of time just reviewing PRs and merging things in preparation for that. The aim is to get this release out by the end of this week and then have all of the 20.8 major release changes in by the end of next week so that we can have a merge freeze for a week of testing before the end of the month and then do the actual 20.8 major release on Monday the 31st with confidence that it will have been using it and would have said something if there was any issues. Yeah, so take a look in the sprint for 20.2.5. There's another sprint that's not yet activated for 20.8. So if there's anything that people disagree with in there, then take a look. I'll specifically chat to Chris Bear about it because he probably has more opinions than other people in the room. I think probably the big blocker at the moment is just getting some of these PRs reviewed because Chris has been focused on some other stuff. At some point, yeah, I need to debate. At some point, I'll consider just merging them without Chris's review but ideally we wouldn't do that. But yeah, we need to get this stuff moving forward. Yeah, let's ask, we're just getting in touch with Chris. He should be back, I know that he's been a little bit preoccupied but now that he's back, he should be back up to full speed. So hit him up tomorrow or tonight and see if he can't get those. And if he can't, then yeah, go ahead and I guess you're going to have to self-review them or maybe you can get Ken to do it for you. Or okay, I don't know. Most of them I have been working on okay with or their okays contributions that I've reviewed. I think the one that I think is going to be tricky still is I just haven't looked deeply at what's changing in Lingua Franca yet so that's going to be my focus today. There's some big changes on the cards. Predominantly, there's been a huge refactor so that new languages and new functions when they're added will be automatically detected so that it just makes the development process a little bit easier because you can just add things and then Lingua Franca will detect them and therefore Microchore will know that they're there and that will just start magically working as you add things. That's the theory, so I want to make sure that that is actually the case. But yeah, everything else I think is in a pretty good place. Okay, so what's the expected release date for the 2008? I think we have a soft have everything in dev by the end of next week so by say the 20th, the 21st of August. But then actually do the hard release pushing out to Mark I and to production on the 31st. Okay, good. All right, is there anything else? I think TTS stuff with Elf Chino is continuing. Yeah, just continuing to clean up the data but it's sounding good. We'll probably go back to George Ann and get some new samples recorded. It's particularly having a problem with Minecraft, which is not ideal for our own TTS but it's kind of having a problem with sounds like R and like AH and MY, it kind of rolls, does a roll bar kind of a sound on them. So I think if we bolster the phrases that contain those things then we should be able to smooth that out a bit. But anyway, Ryan's still working on that. So we're not going to go back to the voice artists until we know exactly what we want and we don't want to go back to them multiple times and all that sort of stuff. Right, okay. And in terms of any community updates, are we staying on top of the release schedule for that? Release schedule for what do you mean by community updates? Well, we have a regular schedule for doing like blog posts and that sort of thing, don't we? Yeah, we used to, yeah. We're not really keeping up on that, to be honest. I've got several on my agenda to write. So I've got several on my agenda to write. A lot of it's waiting on setting up the infrastructure surrounding crowd sourcing some of the lawsuit stuff. And I'm not waiting on other team members, I'm just waiting on me setting up the infrastructure. So anyway, I'd like to have a call to action once we send that out that says, hey, go here, help. And because I don't have anything concrete for the community to do, I've been holding off on it. But we could do an update without that stuff pretty easily. Sure. Yeah, I guess I was more referring to just updates on all the changes that have been made in the core and that sort of thing. Do a general update like, hey, this is the stuff we've been working on. This is the stuff we are working on for the future, that kind of update for the community. Yeah, so we definitely do those for releases. And now going to the email myelats as well. We've also been, you know, posting these meetings pretty regularly, which has been well received. But yeah, we have previously been more regular in our external communications. I do think we should do one with all of the findings from the first SJ201 board that we got. So I think Johnny was chatting to Derek about that. So he might hear more about that in a minute. But I do think, yeah, we need to be realistic about what we're going to achieve with a smaller team. And yeah, as I sort of talked to with Johnny and Chris Adair, it's just with my time being much more focused on core and the development side of things. I just haven't had the time to get into blog posts and pushing the newsletters and stuff out. Yeah, that's understandable. Just let's keep an eye on it and keep the community appraised of what we're doing, especially as the plan around precise, because this is specifically about involving the community in the data, getting that process back online. So I think when we've got a little bit more to point out, I think it'll be newsworthy. Yeah, yeah, totally. Okay, great. Thanks, guys. Derek. All right, so my projects kind of revolve around mostly around Mark II DevKit. And probably the good thing with Project Rollover Prototype Sprint is we've closed that out. So we sent all of the prototypes so that was done. And then I've got a few things in just the generic Sprint. So for the DevKit, I'll start with what Gez mentioned there. So I do have a task to basically write a little blog post and newsletter update on what we've been talking about with the progress of the first prototype of the SJ201. So we've got boards back now, but we're still waiting on that second half of the board. The way we did it was one half was that since it's a two-layer board, or it's a two-sided board, and the prototype being placed we used could do quick spins on one side of the assembly. We had some boards that were at the top with some boards that were at the bottom half, and we were going to sandwich them together. So the second set got lost in shipment from China. So Kevin did what he could to assemble the boards himself by hand, but there were some issues that he solved that couldn't totally overcome, although he's going to try and do a couple of modifications. But we're expecting that it's not really going to get a fully functioning board with this bit. And so moving to do a next round of prototypes that have both sides are going to be assembled, probably using a different assembly house. That being said, there's a lot of the systems that could have been work tested and were successful, so like the LEDs and buttons and the power system. Anything else I'm forgetting there, Michael? The USB sound card and the speakers? Yeah, yeah, that's great. So yeah, a lot of stuff turned out good. And then a lot of comments from the community that we're also incorporating into the second spin. So that's all been really good. And Kevin has also been very active now in the Market2 channel on Mattermost, so lots of good discussion over there. Okay, so yeah, this is kind of just a general update, but so what I'm working on specifically is a few tickets around getting enclosures for testing and then getting towards our first finalist, first full assembly. So first ticket on that is getting a laser cut enclosure design out there. So we've got a couple of those put together, we still need to print the audio chamber aspect of it, but the actual exterior enclosure. We've got a couple of those and I'm sharing the documentation with Kevin so he can build some more. And that's what we use for the first round of testing. And then I'm going to continue to work on the first fully 3D printed assembly. The goal of this is not to be ready for injection molding yet, but to design it for FFF 3D printing or FDM 3D printing, so that it's accessible both for Kevin but also for the community. And that first prototype will be the first one that we can really test the acoustic performance of the microphones and such in an enclosure. Laser cut one, everything's exposed. Good for working, good for first validations, but we'll give us full acoustic tests or heat tests or anything like that. So that's going to include mounting the display, mounting the DSJ201 board, decoupling of the audio chamber and the audio chambers of separate chamber inside, and decoupling of the DSJ201 with some foam tape and stuff like that. And the other thing that's kind of active is that, like I mentioned before, that second prototype spin. So that's kind of it for the Mark II DK Sprint. I've got a couple things in Sprint 12. I've got some OTC, an OTC device to build for Ken, and some instructions to give Josh to update his to a Raspberry Pi 4, and then I still need to build another OTC device myself. And the reason I want to do that is to make some progress on the QT-QV ticket as well. I just haven't really been able to do much there because I don't have a device. And I suspect it'll be a little while before we're going to be able to do much with the DSJ201-based device. So yeah, that's it for me. Okay, great. Let's see. Chris did say he'd updated his tickets here. We could take a look and see if we can make any sense of this. Okay, yeah, I suspect, yeah, I suspect we'll have to wait for him to come back and explain his task list to us. I see a Sprint call. It looks like he finished the database scheme though. Yeah. But I don't know, it doesn't seem, it's in review, so we need to allocate that one to someone to review, I think. Should that go to Ken? I think so. Yeah, if it's done, send it over to me. We had discussed a couple of changes last week. I'm not sure if he had a chance to get to him or not, but I'll take a look and take it accordingly. Just go ahead and assign it to me, please. Yeah, cool. Done that. Anyway, that was the only bit today, so we might need our attention. Yeah, and it looks like he's working on the DDL for implementing the wake word schema. And in his to-do list is updating the references to the existing wake word tables, which I imagine is work he's going to have to coordinate with you, Ken. Well, he's got the new schema that I'm going to review, and then once that's ready to go, like I said, the real issue is how do we get the existing data into that schema? So that's something I'll talk to him about as well. Yeah, it looks like he's got that on his roadmap here, Sleen97. Okay, great. Derek's already talked about the Mark II developer kit progress, so I don't really have anything to add to that. We're going to try to do the second spin as quickly as possible, while also finding a way to make it so that we can get small quantities produced relatively easily. But we're not right now gearing up for production. We've still got a lot of things to do before we get to that point, so we're not even looking for a place that can produce things in volume, let alone do the final assembly of the various components and packaging and warehousing and all that kind of stuff. There's still a lot of steps before we get there. Yeah, but when you're ready for that, I may have some input for you. I ran a warehouse where we did a lot of manufacturing offshore in China and some in Taiwan and some in the Philippines. And I have good contacts. It was owned by three Russians, and I'm still friendly terms with them. They're older guys. When I say older, that means they're older. They're kind of retired. But Slav has really good contacts on mainland China. His dad was a general in the Russian army, so he has inside contacts actually. So when you're ready for production and possibly offshore assembly if you want to, I can put you in touch with Slav, and he can just give you any names of any places he might recommend. That's all I'm saying when you're ready. Sure. That sounds great. Thanks. Other than that, fundraising process is moving along. So far, indications are positive. And that's all I can say about that now. So that's it. And unless Josh, do you have anything on the development side that you want to talk about? No, it sounds like people are making good progress. It'd be good to keep pushing towards actually shipping product. We have plenty of demand out there for people who want this. So we'll just grab it and get it done. So there was some discussion at the board about trying to quantify our progress. And I realized that that's probably a little bit of, you know, that's the kind of thing that makes people look cross-eyed at managers. But, you know, with such a small team, I don't necessarily know that those kinds of like coming up with numerical indications of progress are useful. But I just wanted to raise the idea with the team and see what, you know, if you guys have any thoughts about how we can best communicate that we are, that we have good momentum. And that we're, you know, when we're on track and when we're doing things as we expect and hope them to be getting done. And, you know, when we've run into a hiccup or, you know, when things are moving slower than expected, right? Predictability is one of the things that makes us all feel a lot better. And right now we're not working towards a specific timeline. And I think that's because of the huge amount of uncertainty in some of the issues that we're working with. And, you know, additionally, the size of the small team. But we, but you know, I'd like to get to a path, you know, as the team grows, we're going to need to have more certainty or at least more insight into, you know, the progress that we're making and the ability to make, if not accurate, then roughly accurate projections about progress. So I was wondering if you guys have any thoughts about that. Said progress refers to mark to shipability as an endpoint, or is it something else? No, that's a, well, that's an excellent question. And I think that is a good answer to that question. So yeah, because the stake in the ground is when we have a final, I don't know, proof of concept or a final piece of hardware. Now, what we're working on now is the software in anticipation of that day. But we do know, I think we all, if not, you know, covertly, we're not overly, but at least covertly recognize that once we get those, we'll know a lot better about where we're going to be once we get the actual prototype. So while we can sit there and say, well, we believe the code line is ready to accommodate the mark to until we get mark twos and we get the existing code on there and know what we're up against and what's really not working. And, you know, because I anticipate the issues being more low level initially, like speakers aren't working right or whatever. We're really just unknowns at this point, right? So that's my concern is, you know, we need at least a date of when will we have reasonably completed prototypes into our developer's hands so that then we can apply what we've done on that and then see better where we're at. That would be my cut. You know, I don't think we need to be zero to 100% on stuff. We can simply do a bullet list of major tasks with sub tasks and start checking them off. I mean, the hardware software integration is down towards the bottom of that list. But, you know, there's lots of other stuff that needs to be done higher up like, you know, Wi-Fi setup and, you know, configuration and account creation and, you know, fixing the wakeware spotting software and getting the machine learning data loop up and running. Like all of those things are binary tasks, right? Like either people can submit data and train on it or they can't. And so if we had a list of major tasks and said, okay, here are all the bigger things we need to do. We need to have a music player that works, right? So on and so forth. And then the sub tasks, you know, if that music player turned out to be Spotify, then we would need to, you know, establish a relationship with Spotify, communicate to the community that they need to have an account and so on and so forth. I think something like that would help us to define the end state because there's a, you know, as Google and Amazon have really demonstrated, you can put $20 billion into this piece of technology. But for us, like, where is like 1.0? And we thought we were there with the Mark 1 and clearly we weren't. So it'd be great to have for the Mark 2 some kind of solution because, you know, we did ship the Mark 1 without a working software stack, right? So shipping doesn't necessarily mean it's done or ready for customers. No, no, absolutely correct. Absolutely correct. You're absolutely right. That merging of the software onto the new hardware is going to be way downstream and we do have other issues that can be addressed as major projects and sub projects between now and then. We just need to surface them. You're right. We need kind of what I just did for the precise project for the entire project. Yeah, a big bullet list that's here are the big tasks here are the small tasks. Let's check them all off one at a time until we hit the end state and we ship. Well, we do have a we have a we have a list of several hundred bullet items. In the form of Jira tickets. And we've created some overall. I guess they're called epics here where, you know, we've listed. Okay, this is the epic that defines when the hardware is ready to ship. This is the epic when the software is ready for, you know, consumer use and things like that. So, but we those are very high level we haven't gone through and like divided them into sub projects yet. Or even tried to make them into something that we could tackle in a in a piecemeal fashion, right? But, you know, and I'm sure that not all of the work that we need to do is in the list there now, but a lot of it is. And so I guess the question is how do we go about turning that into some sort of realistic projection about. How much work we have left to do and how how or even not even maybe it's not even how much work we have to do. Maybe it's how fast are we getting the work done, right? So, you know, we've all worked on projects, you know, with bigger dev teams than this one. And, you know, you can kind of have a sense for how how much time things are going to take. But, but it would be nice to be able to actually see that happening as we, you know, we're going to start to be able to hire more people here in a few months. And, you know, we need to know that, you know, where where best to apply those resources, right? Have you seen fruit salad estimation? It seemed to come up a few times this year on Twitter and stuff. And essentially it's, it's, you know, doing time estimations, but with different types of fruit instead of trying to say this is going to take one day and this is going to take one week and blah, blah, blah. Because they're always wrong and people don't want to put something on there because you don't know if it's going to be true or not. Whereas this is like, there's, there's different versions of it. But the first one that came up for me was, was a great, the first one's a great because it's completely trivial. You just pop it in your mouth and eat it. That's the end of it. And then it goes on to an apple, which, you know, takes more than more than one bite to eat. Sometimes you need to cut it up a little bit, but, you know, still one sitting and one person and all that sort of thing. Right through to like a pineapple who even knows how to cut that up. But like, eventually you get in there and, you know, there might be some unknowns and all that sort of stuff. Watermelon is a real wildcard. Need a machete to cut it. And then a tomato, which is apparently a fruit, but you don't even know if it really belongs here. Well, they've got an avocado, which is also a fruit, but it goes bad really quickly. It's completely not scoverable because it's a chore or something that fixes. Anyway, like, we could come up, we could use an existing scheme or come up with our own design. But supposedly people have found it useful to, to use for time estimations because I mean it's, it's slightly, it's, it's more. It's more of an estimate than nothing, but it's not a something that the developers feel like they're being tied to, you know, you said this would take eight hours and it's taken 10 hours. Like, what did you know? No, it sounds great. The only, the only additional thing we'd need is dependencies worked into that model somehow. Right. You know, I can't, I can't, I can't attack this, this couple of grapes until I have this pineapple done or whatever. Yeah, yeah, yeah. Okay, well, I just wanted to raise the issue. It's not, it's not critical right now. I just, you know, as long as we're keeping our train tracks, you know, well laid ahead of us. We don't run a lot of train tracks. I think we'll be, we'll be fine. So. But maybe, I mean, maybe in the first instance. I mean, we could, you know, Josh, like Josh said, we could identify some of the larger, I guess you're calling them ethics, Michael or sub projects. And then we could take a stab at estimation using the fruit salad approach and incorporate some dependencies and at least that would give us a better. Let's just say a stake in the ground and a start and an attempt at being able to speak to when we think things are going to be done. So, okay, well, yeah, we can continue this conversation later as well. It's not an urgent issue. I think the way things are going now at this moment in time is fine. But yeah, we'll be thinking about it. So any other questions or big issues or topics that people want to talk about that's not necessarily directly related to the work they're doing now. I just an administrative note. I got something from Johnny regarding invention disclosure form, but I don't know what I'm supposed to do. Oh, okay. So every month we are encouraging all of everyone really to file an idea. It's basically it's a submission for a patent idea. So if you fill out this form, we, you know, the rest of the team has a chance to review it. We run it over to our the guy who's handling the patent filings for us and he'll take a look at it. And then if it looks like, you know, it's got a good chance of going through, then we'll go on and pursue a full on patent for that idea. And the idea here is that even though we're an open source company, I think that it will be prudent for us to have patents on those parts of the. You know, the products that we're working on that we can patent for defensive purposes. And, you know, we can contribute these into the, you know, into any one of a number of different working groups that are basically alliances of open source patents and patents for, you know, sort of like a mutual. Non aggression packed between open source companies. Right. So, I think this is just one of, you know, it's just one more way of defending ourselves it's relatively inexpensive versus, you know, people out there who might eventually take notice of us and want to do bad things. So possibly like the phase two GUI based. Well, don't mention it now. Okay, but okay, so, so there's a form somewhere I can fill out. Yes. Yeah, it's just like, I think it's like a word doc or something like that. I'll make sure you get the link to it. Okay. Yeah. And so the first of every month we encourage people to have them submitted. And we go through and we'll have a brief meeting to discuss what people have submitted. So far, Gez and I are the only ones who've submitted one yet. So, I have one that I can submit, but I don't know how well at all. But it's worth a shot. I have in the past had 21 patents issued to me and I can promise you that maybe two or three of them were actually any good. So the process is not as far as I can tell the although it's theoretically not possible or legal to get a software patent. It seems that that's easily overcome. So the system is a mess and it's it's a wreck and I hate to have to participate it in this way. But, you know, it's it's what it is. So we can become the one click of the voice recognition. Yeah, there you go. All right. Anything else? Just on a slightly more personal note. I was hoping to take a couple of days off very soon because I've got an opportunity to do one of the great hikes of Australia. But the timing is not ideal. So it's it's the 26th, 25th through to the 29th of August. So it's in our review window. But I wanted to throw it out there and because we are a team and one person being away affects everyone. What have you thought about pushing up the release date for the 2008? Well, I kind of factored this in in terms of the release dates that I was talking about because, you know, if I can if we can get the soft release out before I go and then the community has the week to test and review it. And then any anything that's wrong will hopefully have time to fix when I get back before we actually do the proper release. So that was my thinking there. There's there's never a good time to take time off, guys. I mean, it's just a small team. It's never a good time. So if you've got an opportunity to go do something, they only issue like so many permits and you have to like apply for them or something. Yeah, yeah, that's it. Yeah, if you have if you have an opportunity to go and poison by spiders, snakes, plants, the soil and the water in the outback of Australia, I encourage you to not do that. But come back in a piece. A lot of crocodiles is the number one. Yeah, or what happens if you get eaten by a koala bear or beaten up by a kangaroo kangaroos don't mess around. But you forgot crocodile sharks and poisonous jellyfish. Australia is quite the place to have fun. Yeah. All right. Yeah. So go do that. I think what let's just set up a plan to make sure that we do a good release. You know, if it looks if it's looking squarely when you get back, like there's too many issues have been noted, we can just push back the release by a week. You know, it's not. Yeah, yeah. No one's counting on this being released on a particular day. So yeah, that's true. I didn't know if there's anything with project roll over to, you know, I didn't want something to some hard deadline to get there. No, there's there's no deadlines in there. Okay. Cool. Certainly that release doesn't affect rule over at all. Oh, no, I just meant in terms of other things. Yeah. Yeah. Cool. All right. This is exciting and scary. It's going to be a five day hike with a one year old. Oh boy. Oh yeah. That's terrifying. We're going to take your daughter. Yeah. Yeah. Yeah. How else is he going to get the crocodiles to come near and have to hit up with his all Hogan knife. Yeah. It's going to be. My three year old talk to them where they tie the kids rope around the kids and throw them in the lure of the crocodile. Yeah. Well, there's Dingos to you. You've probably heard the Dingo story in Australia. Oh yeah. Yeah. All right. Well, you know, it's been taken by an eagle the other day or a kite technically. But that was kind of scary. I mean, the shark video. No, no, this this bird of prey like sweet parry and tried to grab up. Oh wow. Yeah. Yeah. Anyway, we had words. It didn't try again. Try again. Yeah. Yeah. Anyway. Cool. All right. Yeah. We'll have fun with that. Be safe. Hopefully we come back. Yeah. Yeah. Right. Yeah. Okay. All right. Well, then I'll talk to you all on Wednesday then. Right. Yep. Talk to you soon. Okay. Bye. Maybe you should also set up a send out an updated invite for Wednesday because right now everybody's on Monday and Thursday. Right. Yeah. For sure. We'll send we'll update the schedule. Okay. Cool. All right. All right. Everybody talk to you on Wednesday. Okay. I'll get the hang of this one of these days.