 Welcome to my craft. Yeah, today is the 18th of August So I'm just gonna say home for like 20 minutes. How about that our agenda for today is synopsis of the watchdog service Chris bear has some wakeward schema changes We've got the 208 launch coming up and Talk about our canonical snap package and If we're going to continue to support that So as a result of our discussion last week Chris bear had written up a Excuse me. I got distracted Written up a summary of what we would want out of this watchdog service from a high level and the idea is to use that to evaluate the current Implementation in the form of the pull request and see if We can get from here to there using that system So I have not personally had a chance to review that proposal has anyone else Yes, okay, great. I Have not. Okay So, where is it at? Did we get an email with it or something? I posted a link to it in dev team But yeah, that's what I was thinking that the services do So you're in agreement with it for the most part. Yeah, okay. Yeah Just throw this up on the screen real quick Take my face I don't know if it's actually legible in the video chair, but I Don't think you need to share it. I have it up on my screen. I think anybody can bring it up Well, I'm talking about for our viewers at home. Oh, sure Okay, so like this video if you're watching Right So guys, so can you give me we'll give us give us your impressions. Do you what do you think with respect to, you know, Chris's Proposal and what we're doing now. Does did these things fit together or? Yeah, my rate of the pros all is it's the high level, you know functionality and There wasn't anything that jumped out at me is as missing or anything. So I think that's Exactly what we want. We want an external service to to you know be able to Query and the services to be able to Be restarted and all that sort of stuff, I mean this was the Intent behind This was where the process status was was heading towards I thought You know in terms of The the status messages themselves like, you know service running is it healthy is it ready? I guess healthy is it Healthy and ready is it's got the same, you know There's always qualifications there about what does that mean for each service and it might differ from service to service? In the same way Current messages, you know, what what is a live what started versus a live verse ready? Well, we should we should regularize the definitions for those things the specifics will be different for sure But we should be able to make guarantees about what those status messages mean Yeah, in a uniform way Yeah, yeah, sorry I just mean within the service itself like, you know for the skill service to be ready, you know Presumably that means that all the skills are trained and you know that it's Right actually actually ready to respond to things and which is the audio service and stuff But but in terms of what that means to the external monitoring service. It should be consistent. Yes Okay, so can we basically just cut and paste this into a new documentation page and mark this as you know part of our roadmap and The current PRs could just reference, you know be basically any documentation in those PRs to be a sub part of the same documentation page And we'll just mark which parts of this are actually implemented which parts are TV Yeah, you know the one thing that is currently Implemented in the PR that's different than this and we have to figure out how we want to change it is The enclosure right now well first of all the message bus doesn't emit a status or do anything with the status Because it's assumed it's needed to be able to do that and then the enclosure also assumes a status instead of So, you know it like the enclosure right now is what is deciding whether or not the the whole entire core is ready When in this case, I would think this service would be able to make a determination instead By including the enclosure and the message bus in the Calculation of whether or not everything's ready. I Think you know the goal of the current PR is not to implement the service as you've described But you know implement some parts of it and as long as it's not going to interfere with us implementing this stuff down the road I think we should go ahead with it. If there's any changes to the system that we need You know at a core level then let's see if we can get those done But if you know if they haven't implemented this service for the message bus Then I don't think that should necessarily keep us from going forward because we're not implementing the system D You know watch dog right now anyway, right? This is just a step along that path Yeah, I kind of saw it as a step as a stepping stone towards an external service And so, you know rather than generate a new service without knowing what we really wanted that to look like That's why we you know Put it in the it seemed like the enclosure was the best place that currently existed for it to live and then didn't add a check on the message bus just because If the messages were getting through then the message bus must be alive, and if they weren't then clearly it's crashed and There's no It didn't add any new watch dogs or anything like that. So there's you know purely around status But it's also doesn't have any breaking changes in it what I can recall So And it shouldn't break anything if we then remove things from there and Shift it to an external service I think so I think we should post this documentation to the community and I get their input on it Make sure that you know the implementers are willing to sign off on like on the idea that yes You know what these changes of this pull request will serve as a good basis for implementing the system that You know the ultimate system that we've envisioned here or Whatever caveats they might want to Make So let's go ahead and do that. So to be clear. We're not going to go ahead and accept the pull request just yet until we get this nail down but There's still some code of you changes I need to go through to right, okay I also thought it could wait until the 28 20 point eight point one release Okay, given it's not a breaking change Okay, cool. Hey So there's no urgency in with respect to getting it into the 20 away Yeah, I thought so unless unless crazy if there's any if you do spot anything you think would be a breaking change Like that Okay, cool Well, let's say we read into the 20 a week discussion Yeah People have had a chance to take a look but I Set up a sprint for 20 20 Oh, hey, and another one for 20.8.1 I Essentially, you know given we're trying to get everything in why this Friday to give us a Week of testing before doing a release. I thought it would be best to to be relatively strict on Keeping this release for breaking changes and then can push anything that is not a breaking change No, or no bug fix or anything like that things that are additions feature requests Pushing that out to the point release So Hey You inboxes probably saw that I got a few PRs in yesterday Which leaves us with only half a dozen things That I want to try and get in before the end of the week It's mostly removing deprecated things that have been deprecated for up to three years But just we haven't made the time to go in and actually finish pulling them out There's a few third-party deprecated libraries like the imp module but input lib which we did a bit of previously, but it's not Completely gone There was some work comp stuff that we dropped into skills as a sort of Polyfill, you know bridging kind of Functionality Well, we made sure that there was functionality actually in my core so pulling those out The one that I Haven't really looked at at all yet. Is this extract log level setting from echo function? I Think Essentially, it's I haven't looked at it, but I think it's like setting the log level in a strange way And I'm not sure that we're gonna get time to Do that in this release? Just because I don't know what's required to I Haven't I haven't mapped out how we might want that to look properly And it seems like a you know something that if it's working at the moment I'd rather just leave it working then move to an unknown Change very quickly And anyway, so if there's if you have any thoughts on that It's all in the that sprint and Do you have a release notes that you're you're compiling over time? I Haven't started the release notes. No, I Mean, I generally just do those from the I try and be as descriptive as as descriptive as possible in my Pull requests so that I can go back and just copy and paste those out to become the release notes Yeah, so if you look at commit since the last release and that's the release notes But I can I can pull those together into and and so that updates them as I go and then for the point release the things that I I thought we could hold back was the refactoring of the intense service. It was a pretty major Refactor, I think it needs a solid, you know, real-world testing before we try and Push that but it shouldn't change functionality But you know any major refactor is gonna have little Little changes so There's the process status class if we if we move all with that There's the skill API, which is allowing skills to expose their methods to other skills There's the plug-in system that, you know, didn't didn't feel like it was Right to try and brush that in I Think we'll get it we'll get it in early in 20.8 and then remove any of the access services for 21.2 And then there's some commonplace skill things that particularly Jarvis and and Well, particularly Jarvis is working on Yeah, which I I think can all wait until the point release So to be clear the the point release The difference between that the 08 and the 08.1 release will be that in the 08 release We may have changes that break certain skills or Other things that you know, if somebody is using our code base for something the API interfaces may be changing in there, right? Yeah, yeah, okay but in the 20.8.1 Those kinds of changes will not happen between the 20.8 release and the point one release Correct they won't happen until 20.0.1 20, no 21.2 21.2 Okay, that's what I that was my understanding just wanted to make sure Yeah It just came up because some of the things you describe like the skill API and the plug-in system sound like things that are Might be kind of a big deal, but I guess not They guess they don't break anything. Well, I think I think they're a big deal with they add functionality They shouldn't break anything. Gotcha. Okay We're not talking about changing some of our I thought we were talking about changing some of our you know modules to be plugins rather than Quarters, that's something we need to do in 21.0.2 Yeah, exactly like we can we can put the plug-in system in for now, but leave all of the existing services in there So it means that people can add new plugins and we can get our stuff ready as plugins But they wouldn't actually be removed from the code base until The next major release. Yeah, that makes sense. Okay All right. Great anybody have any questions about the upcoming major release Anyone out there in the audience? Okay, I also started at 21.2 2102 spring okay six months time just so that when there are things that We do want to pull out then we can keep a list of them as well as our beautiful comments in code Right. No, that makes sense and I'd like to start exposing that stuff to the community as well So they can give some feedback on what we're planning on doing, you know when that's perfect. Yeah so We'll have to figure out what's the right way to share those people because you can't really share the ticket system as far as I know right now But Yeah, maybe there's some way to have some kind of live export of some kind of report or something that we can share I I don't know if the ticket system A lot of the more sophisticated ticketing companies and like, you know software process automation companies like Atlassian have licenses specifically for open source right they they anticipate the need to to accommodate open source communities that might not You know have the time or the resources or the inclination to spend big money on a per se licensing basis for you know in our case 50,000 people Maybe we could reach out to Atlassian and ask them. Hey, can we Can we have a bunch more seats for our open source developers and see if they're willing to just toss them in? It's for them. It's just flipping bits in a in a database and it's certainly good PR for them Yeah Yeah, I think we should talk to somebody who's more knowledgeable about how to set that up because I don't know if that means creating developer accounts within our mycroft account or You know something else, but but yeah, I agree. Yeah, we should reach out to them I don't think we need to do that immediately though. Let's wait. Yeah, got a little bit more Resources on our hands here But we've created a ticket for a ticket to let people look at our tickets. All right What's next the wakeboard schema so Chris there what? What did you find out that we need to change? Okay, so I Just finished moving Out of our 1.5 million entry directory to the directory structure that we've talked about previously so I found a Can I was a little bit for meeting started I found a Variation of the LS command that didn't take you know 20 minutes to return So it made moving everything a lot easier Let me just interject That's not the issue that we could have done that at any time You can just do it from Python and you can move them the concern was that data is not backed up and So I was waiting to do that until we had the data backed up Daniel actually Was ready to start that this week because he just got his removable drive on Friday I'm gonna have to tell him to not back it up right now because that wake words directory is no longer any good All I would ask is in the future if you're going to do something like this that's going to disrupt or move things Please reach out and communicate first My concern is all these file names have changed their locations have changed We don't have that data backed up if there's a mistake or if your correct reference charts are wrong We lost all that data That's my concern. I don't care about the day lost yesterday And I don't really care about telling Daniel to stop and then start re-backing it up when we're ready But what you did structurally change data. We don't have a backup for and that was my concern. I thought the NAS was Rated and striped and everything so we should have a backup. Is that right not right? no, what you have What you have is a Backup should one of the three raid drives a break you always have the data still available But when you start moving the data physically around the file system That's not broken data that you can recover and that NAS is not backed up They just Yeah, the NAS is going to do exactly what you tell it to do So if you tell it to nuke off a bunch of files that'll nuke it off It won't unintentionally lose those files in other words and we have had a couple of those C8 disks cook off They like that won't affect your your performance And we can actually lose one of the entire NAS is and that won't affect your performance But if you tell it like hey nuke all these files it's gonna go ahead and just nuke all the files And we don't have we don't have a backup of the data. We did buy an external drive and we did mount it It's all ready to go. So you you can push those backups anytime you want But yeah, it's it's not we didn't grab a snapshot of the data itself Yeah, I'll tell Daniel to stop that because whatever he's doing right now is of no value But I understand the difference in snapshot of the data and the radio in the striping Okay, well, let's take that description offline Okay, they're just different What point is this data's this NAS is not backed up and now it's no longer in the state It was so your cross reference charts for what the old file names were and what they're now named If they're bad we lost that data Right So, how are we gonna verify this? What would have you done so far to well, I I understand that can but I mean Chris what have you done so far? You know to verify, you know in terms of like just the file count or things like that. Mr. Anyway You know we can review the operations that occurred Well, I had just I just counted all the files that have been moved and there's one point four six million of them That's the count of files that are not in the new directory structure. So That was why I think One point six But you didn't change the database at all right Okay, so that's still the system of record and as long as you have a cross reference of the old file names and the new file names We could recover that data But yeah, just like I said in the future just just communicate to make sure that you know because I mean, you know I was I mean my report is yesterday was a terrible day because I found data anomalies when I was building the classifier Pipeline and it turns out that the data is no longer there Five minutes before that could have saved me some time had I known that a priori but anyway, yeah So I'm just concerned that that data wasn't backed up yet, and we were like just getting ready to pull the trigger We should I think we should definitely do that I I'm not sure Let's let's take this offline again an issue Figure out how we can avoid this kind of thing in the future because I I thought it was pretty clear that we were holding off I'm doing anything with that data until it can have a backup of it. So Which is the reason we had ordered that extra drive. So clearly something got miscommunicated So let's I think we can roll that into the discussion of NASA's not being a backup Yeah, so It's yeah, the underlying thinking there is the NASA's a backup for unintentional things the drive broke or you know the computer failed or You know the one of the NASA's cooked off and stopped working It's not it's not a backup for intentional things a backup is a a backup is a backup for intentional things So if you in you know intentionally hit the button and you're like, oh shit, I deleted a bunch of stuff I didn't mean to that's where the backup comes in the NASA's good for you know overnight You know the temperature in the data center got to 200 degrees and drive started failing the NASA can deal with that so I'm sure we'll be fine. Yeah, you know, we probably don't need 1.5 million samples of that On the positive side I did steal out a hundred and twenty two thousand tag samples and put them in a separate directory as part of the process of trying to figure out what the hell went wrong So at least I have most of the tags Okay The canonical snap Josh do you want to oh we haven't gone over the actual scheme of change yet I thought you said there wasn't any changes. Okay, so there are changes. Let's talk about that Now this is for is a database schema for the schema Yeah So as I was moving this data, I found out that there's a lot of wake words in this directory that are not in our database What 500,000 I Have the actual count a little over 500,000 Well, I mean the wake words themselves like They're in the directory Yeah, but they're not in the database and that's because the database update started breaking a year ago Well, that's not what I meant the actual the words themselves that the people utter Right They're not there's wake words We have files for that are not in our Selenia database right now Yes, we have about 500,000 words That aren't in the database We also have a lot of different wake words not just a micro and a lot of those aren't in the database as well And then we also have data that's in the database That is not in that subdirectory and I had a breakdown of all that stuff I have that I can dig it up somewhere I have the list of the files that are not represented in the database the ones that are in the database not in the In the file system, but were you saying something different than that? so the first part of The wake word file sample file is the wake word itself right Some of them not all they should be yeah, so Okay So one of the things I did was I so the directory structure is The first part of the wake word of the file name is the wake word There are there were like a hundred variations of that First part of the file name Or more and I think there aren't that many variations in the Selenia database right now Yeah, there's a bunch of Files that are like, you know, hey my craft blah blah blah wave that hey Jarvis wake word There's a bunch of that yeah For whatever reason they just decided to call them all hey my craft and then that coding scheme that you saw with the Account ID in the session and the engine and all of that But the database is the definitive source of record for what they are whether they've been tagged or not and what they relate to Okay Anyway, since it didn't look like there we could have a real Referential integrity link between the data on this drive and the wake word data as we store in Selenia today and Also considering people can delete their accounts and delete data and we still wanted to keep a record of the tagging and In the files themselves, maybe what what what files went into models that kind of thing basically what I did was I removed the Link between the wake word table and the wake word sample take So basically the wake word sample table is just a representation of what's on this drive And it may or may not have wake words that are actually being used by users Which is what the wake word table pass And it may have account IDs that have been deleted Because we'll delete account ID is we still want to keep the file references. It would delete the files, of course But we still have the references so that we could Look back on how models were built. Does that make sense? I think so. Do you have a nice diagram of the system before did you update that diagram? I did And I can share my screen and show everybody that would be awesome Okay, so this is the model. I don't know if it's too small for everybody can see it or not Those five tables are the entire schema right now. Yeah Actually, the only ones I've implemented or this one this one in this one because these whoops. Yeah, that's a little bigger Is this is part of the tag or I haven't implemented that yet and The model table you just haven't gotten around that yet either. So right now it's wake word Pocket Sphinx in the sample So the sample father used to be a link between the wake word file on the sample file I'm used to be a link between the account table, which is not in this diagram and the account ID We used to be foreign keys there those foreign keys are gone Why is that? Let me make sure I understand the sample file is the file that describes the file name and Possibly there's a join to a path table somewhere That says here's how I can find this sample way of file on the file system That sample should tie to a particular wake word. Hey, my croft a Jarvis Maybe not a my croft. Maybe close to a my croft. So where is the link for that sample to the wake word and the final Determination of what it was Well, the wake word itself is still on the table You've actually put the wake word in the table. Yeah the wake word Attempted to be is on the table. The problem is that the wake word table as it exists today Is a mechanism for People to set up wake words On their devices through the UI Well that yeah, that's the that's the salini wake word table But the table that comes from the precise database the wake word table is a table It's a domain table of the wake words available to the system a Mycroft a Jarvis as Merelda whatever and then the ID from that table would be a foreign key into your sample Because a sample can only be one wake word at a time so you're proposing a separate table that is a Different from the wake wake word table Lineage the wake well, I mean just from a first order normalization perspective You don't want to duplicate that wake word and every one of those sample rows when you can just have a reference key to it Otherwise, you're not going to be normalized. You're gonna be duplicating data So this is the link that you were talking about having to remove right? Is that correct Chris? No, I think what's happening is that there was an old wake word table in an old wake word Presence representation in salini that was back-end oriented and the precise database is an entity unto itself Which describes the relationships among accounts and wake words and samples on the file system and Model types and engine types and all that stuff and so that's I think Chris got a little confused because that's a completely different Relationship than what this speaks to it's almost it's almost like you're trying to overload the old Pocket Spanx wake word stuff with this, but they're two different animals part of the problem is that okay Maybe I need a master Yeah, just just create another wake word table call it wake word prime or precise wake word And just keep the structure you have now between data in the existing Maria DB and all of its ancillary table That are basically domain tables for normalization of that data I'm a bit lost is this something that you and the two of you guys can take up directly It sounds like sounds like we may have had a bit of a fail Between East Coast standard and central time in terms of just communicating on this project Maybe you guys could set up a Separate call between the two of you like twice a week until the all this schema stuff is squared away Yeah, I mean that's fine. I think Chris is on top of it. I've just I Think the concern is that Chris the Maria DB is new to you and it's a different way of looking at the samples and this is more the the back end UI a Schema for what you have for pocket Spanx and precise and and the back end with Setting up wake words that way, but the precise schema is really just an entity into itself Yeah I can help him now the only faux pas we had was that that Chris moved data without you know reaching out and Verifying it was okay first, but that's that's just an oversight from communication that could happen at any time Well, I'm concerned, you know, I think you raise some interesting points about the wake word and sample you know Associations and I thought we had gone through this whole schema in detail Back and it seemed pretty clear to me what we were trying to accomplish and there's some features in here that There's some features that are not in here that I thought we had discussed But there are things that can come later as long as the infrastructure is compatible things like Associating information with the sample in terms of like how it was recorded that sort of thing But But yeah, I think it would probably be a good idea for the two of you at least to go through the whole schema You know start to finish and make sure that we really are on the same page because it's it's pretty easy to Talk about something and Have us all agree that yes, that's the thing we want, but then we all have different pictures in our heads when we leave the table So we thought we were agreeing with one thing, but then we agree with something else. So Yeah, I think it'd be good even if it's you know, even if you're right Ken that you know, it's it It does make sense and this is this is what you are envisioning. I don't think it hurts to go through and go by that Yeah, I'll think up with Chris tomorrow and we'll go over the schema a little bit I think what we need to do is go through the because he obviously understands the Existing schema for the pocket stinks and everything I'll just go over the existing schema for the precise wake words And the sample collection and tagging and see how we can merge those You it may not be a bad idea initially to keep I don't know More classification or More generic classification out of the equation. I know in my case I've specifically have limited everything to Two layers of classification right now Wake word or not wake word and high pitched or low pitched voice And while I can see in my mind's eye that there's a lot of other ways to dice up that data What I can't do is think about all of that and build the models and code today So I'm trying to put a stake in the ground with you know And saying let's limit it to this and then all the other stuff can be added on as we go And maybe the schema might be it might be a good approach with the schema to take that too Because I can see how classification of the data can get quite complicated You know you have a lot of different axes and stuff and uh, you know, we really don't need that immediately So I think really whatever if we just look at our project that we're trying to do the scope which is To get collection moved over to selene, which was already in existence And to get the tagger back up, uh, which was already in existence and maybe add A high and low pitch classification to the tagger And let's get through that and get that pipeline moving and get everything working And then we can worry about the things that we know are coming Uh, that might we might be served better by doing that by limiting our scope right now All right. Uh, well, yeah, why don't you guys discuss that? Um I liked the schema that we talked about before where we did have arbitrary classifications Now we don't need to implement those because you know We're not working on them right now, but I do I did like that flexibility of that system No, I agree what we want to limit the scope right now just to get something done You know, I'd like to get moving and get you know users back on the uh in the process flow And we can enhance, you know, let's get it working first. Let's optimize it second and then let's clean it up third um Yeah, uh Can set up a set of a meeting for some time Soon I'd like to actually go over the schema as well with you guys All right, so michael, um chris and I are usually available 24 seven You and josh not so much right. Why don't you uh, just set a meeting up at some time that works for you And i'm sure chris and I can make it Okay How about tomorrow morning? Fine Okay, great. I'll set something up Uh, so I think that covers it for our agenda. Um, you can stop screen sharing if you want chris And you want to cover this now? Oh, right. You're right. I'm just a snap So let's talk about that. Uh, that would be josh Sorry, I'm wandering around my shop and I forgot where I set my phone. Um, the Canonical sent us a note and said Hey guys, we love your snap. We want to do cool things with it. But there is here are the things that are to be desired I forward that off to everybody like I don't know what you guys want to do about it in terms of resource allocation if it's Priority or not. I just wanted to lay it out there that we you know, they they've um reached out and they're doing doing good work and they're uh They're obviously want to work with us. I just want to make sure we're responsive Yeah, those comments that they had looked like they were asking if there was something that they could help us with respect with respect to I think the alpha notes that we put in the In the store, right? All those seem to be referencing things that we said. Hey, this is too slow or this is You know, sometimes doesn't work. Just ignore this warning or that currently Uh, now so my question to the our team here is Are those things that are specific to the canonical snap or is that Uh, are those sort of generic problems? Um, the first one is the micro readiness issue as a whole so, you know uh So that's not the snap related the the os there is the fifth installations that is the snap. Um and the proposed solution of just including everything in the snap doesn't work because people can install and remove um skills and and which need to be able to install right some packages um, so we can definitely um that's all in it that they can assist with um I think the other things uh Probably gonna require us working with them. Um, and so it'll absolutely be really useful to have Um their assistance on it, but it's it's gonna require time on our end as well. Um Which you know, obviously we want to spend time on it But in terms of when we do that, it's the other question. Okay um The other Thing with the snap is that the Uh We should be able to to Happen to the GUI into the snap um theoretically But I haven't done any attempt at that Right Um, but I think that's a limitation of the moment because you know If you if you launch it particularly if you launch it from the desktop icon It just Runs in the background and looks like nothing's happening. Um, and so then we kind of have to explicitly tell people to Go and launch it by typing my crossing to a command line Which is exactly why we are moving away towards snap so that people don't have to do that sort of stuff Right. Um, so yeah, I think we need some kind of graphical representation The users to show that the things are happening Okay, that's uh, that's a good point Um, but that's Big screen stuff. Are you any help in that? Um, well, yeah, so the the qt gui should work now because um It runs natively in in jubilee 2004 So we just have to bump the snap to the core um 20 base Which is roughly equivalent to running your snap inside jubilee 2004 Mm-hmm means that it has access to all the same packages and stuff um I imagine that we can do this Yeah, I'm not sure about how kv would work Uh, I haven't yeah, all right, that's good. So we'll have to have a That's more of a I think um Business discussion as to whether you know what our priority with respect to that is um A lot of which will depend on the community's interest in uh having a snap For their own development purposes well, I think Personally, I think that the the interest in the snap is going to come from outside our current community I think the people in our current community have have, you know They're using microsoft on our i3pi or they're Honing it, you know onto linux installations already and so they're generally happy with that um I I think it's most likely that the snap is a way of gaining larger distribution rather than a development environment Should be able to use it for development, but I I think I think so the the place where I think that there's um Uh, so we've got a bunch of stuff that we have to do that we're not paying any attention to right now on the operating system And like memory management and disk management side in order to ship an iot device, right? The the mark two is an iot device. It should run You know, it should ideally run head waste, right because we want to run a version with note screen And then it needs to get its updates It needs to manage its compact flash drive in an intelligent way So it doesn't read write it until it's dead the way that the icraft does Like there's a lot of overhead stuff That we rely on in our iot device in order for that thing to work My understanding of where canonical wants to go with this and maybe i'm wrong is that canonical wants their their snap packaging and their operating system their iot version of their os To be a like ready out of the box like you know, hey Acme corp wants to ship a Who was I was talking to a guy who was doing a smart scale the other day that has a in their case a laxa integrated Like acme corp wants to ship a smart scale They you know, they need an operating system for that scale that connects back to a series of apis and allows you to You know Manage your your you know track your weight on a day-to-day basis and they also want it to talk until you you know One at a time, right? Hey, are you weighing a car or you know, whatever the feedback is they want on their scale And uh, you know, they want to be able to just simply say add the microsoft snap and boom now You've got a voice-enabled scale for the bathroom that you know shames you for being fat um You know the the right now In order to do that companies are having to Actually, I don't know what they do because we never really did the The first engineering step that I would do today with an iot device which is investigate the state of the yard I'm sure there are companies out there that provide a turnkey iot operating system with you know Updates and everything all you know right out of the box You can just load the operating system on your iot device and focus on your application My understanding is that's what a boot who wants to be and you know by by facilitating the snap You know when we ship the mark two if we can ship it on a Ubuntu instance that doesn't require a bunch of A bunch of customization and allows us to do updates and you know deals with you know bad sectors in the cf automatically and Recovery, you know factory reset and all that crap right out of the box Like that's going to be a benefit to us because we continue reinventing the wheel over and over again on the operating system side And frankly it's a it's a large part of why You know the mark two sitting on my countertop here at the house doesn't work right? It's not that we changed this software. It's that there was some problem with the cf Sorry, that was a bit ranty But I agree in terms of yeah, like I see it as a distribution mechanism more than a development environment Like and that extends as you say to the iot space Um, I still think it's worth is talking about whether that's the right solution for the mark two um, I think we've kind of talked about that before like, you know, maybe it is and maybe the fact that it it um It serves as a testing ground for for other iot purposes You know strengthens the case for it being that way But similarly we can easily because we are in complete control of the device You know, we can go other more flexible options as well Yeah All right. Well, we haven't done. I think that's a serious look into what it would What it would mean to use, you know The canonical version is our update process and and all that right? Because there's a lot of you know, pretty obvious factors that we have to look at But but if they are as joff says if they are prepping this to be the iot version of the os Then hopefully they have figured out all of those things right like what happens when an update fails and Or power you know goes off at the wrong time and all that kind of stuff, you know, you know Yeah, we'll have a really good rollback process. So they actually keep snapshots of your previous um You know working states so that you can something does fail you can roll back to To the previous version quite nicely. Um So there isn't some cool stuff like that in there. Um But there are other reasons that I can see for not going in that direction That's true. I think it's a broader discussion then. Yeah, Michael. Does our does our device have a battery backup? Well, that's going to be implementation dependent, but uh, I see directly. No, no, no No, no No Okay, so linux isn't too real good with power outages. Have you tried just unplugging it and seeing the powers back up again? Oh, sometimes it does sometimes it doesn't depends on if it was in the middle of writing something important No, it gets definitely a variable behavior on that case You can yeah, you can buy it Yeah, you can't you can't uh The the battery situation is is regulatory not not technology like the second you add a live code to it It's hazmat and now air shipping becomes a bit shipping across borders becomes a problem Like did did did did did did plus if we add a battery into it, you know Or technically, you know, that would make it a mobile device and I and you know for the If any of the ass hats over at boys tech are listening into this. It's not a mobile. It's not a mobile device flipping more My mistake. You're right. You're right. It's a mobile device. No batter Which isn't to say that I would even take that into consideration because their patent sucks anyway, but you know right now Right now. Yeah, adding a battery just adds a bunch of complexity that we don't need Well, Michael, if you want me to describe rated it'll take about two minutes What will take two minutes? describing raid Oh, uh I don't need that to be explained to me. You guys can talk about that offline So Anything else on the agenda that people like to discuss. Oh, I know. Hey, we've got this ticket system. It's called JIRA Before this meeting everyone was going to update their JIRA tickets We're at uh, almost an hour at this point So I don't want to go through those in excruciating detail right now, but I'll just ask Did everybody get a chance to update their JIRA tickets? Yesterday. Yeah, okay. Cool I I had the opportunity but did not take advantage of it. I will do that. Um, I am continuing to work I am continue. Well, I did load a ton of tickets on Friday But um, I am continuing to work on the project rollover Wi-Fi thing I was able to I was able to get a persistent reverse shell off of their network. So I can now Pitle around with their Wi-Fi until I get it squared and where it needs to be Okay, uh, did that uh relate to the Getting the Spotify skill to work on their network as well No, that doesn't have anything to do with me But after playing with their see after playing with their networks their network security a little bit on my side I would be you needed probably paying their network team who's telling The engineers that all of the all of the Outbound tcp connections are allowed when that is just flat not true. I had to you know, I had to reach in So that's an internal problem It may be but it did I'm not guaranteeing it, but you know, it could be that they simply are banning connections to Spotify on the network level No, no the Spotify thing's different. It's a package issue Oh, okay. All right um So I was curious about that. Um So the Spotify offline um I didn't even know that we were messing around with that because that's actually working on the acute version Uh, the local local playback. Yeah, it's not offline, but So what's local mean then as in So on a piecraft if you use the Spotify skill it can control another Spotify device So he's got Spotify No, right, right, right. Okay. No, I know Yeah, yeah, whereas I thought it was like I thought you were talking about like an offline mode or something like where you can On certain devices you can download tracks and yeah, yeah, okay. Sorry. I was confused you're mine But yeah, so we we've Well, okay, let's compile the Custom um Package of Libre Libre spot. I want to say um which Yeah, allows for the device itself to be the the Spotify Device as opposed to it, you know, another device being the thing that's playing music Um, which is obviously what you want in a smart speaker is for it to be playing the sound. Um It but it relies on a few other packages which which currently aren't available in our piecraft space installation, so um Yeah There's a few ways to go which I kind of outlined in chat Got it weird. Uh, okay Michael are you talking? I I was just flapping my lips. So that's all right. Uh Okay, so let's uh, let's go over this tomorrow. Um, we'll start with the Jira issues and just check out the the currently defined sprints and Take a look at that stuff Okay, um any last minute stuff we need to bring up Nope, right, so we'll go ahead because our regularly scheduled meeting tomorrow Cool Thanks, everyone. All right again