 We're recording now All right, welcome it's been a while since we've done a broadcast or at least a recording one of these Dev sinks And we've been hard at work at a lot of stuff that you'll learn about eventually so but We today we've kind of caught up and we can go through and share the stuff we're working on on the dev side And so let's just get into it. Let's go to Derek first. He's usually got a Got a scoot the earliest Yeah, so I've got a couple of tasks that I've been working on that for marketing efforts Mostly now it's switched over to kind of preparing some ads for Different platforms of your social media, etc But I'm still trying to get this gooey stuff pushed along so the I was hoping to have it done today, but the The icon set the initial icon set that we're gonna use Getting that converted and hopefully have that over to Something we can play around with tomorrow And With the with Sarah and Josh coming in Tomorrow, I will probably be working up in the office for a couple days But there's no I don't think there's really any agenda just you know getting FaceTime so Is there any reason for me to be down there, you know, we might we might try and consider something Early next week Yeah Yeah, I'll let you know. I haven't heard seen any like written engine or anything yet. So But yeah, so things should be winding down on the Market side of things so I can hopefully get back more product All right, thanks, let's go to Chris Barris and see just took a big sip. Oh Man, I didn't get At the what got the wet whistle now, um, so I basically finished up the timer skill It's about ready to merge. I did want to mention something I did though Because it's Questionable whether or not it's in scope So at the very bottom of the current version of the timer skill, there are two methods Do pickle and do unpickle Basically what that does it takes all of the timers That are active when the skill reloads or stops or whatever saves and not the disc And then when the skill starts back up and loads them back up There's a big to-do at the top of those said hey these this is reusable code. Let's uh, Let me put this somewhere. We're gonna be reused. So I tried to do that And I found the file system package in core which is what the thing what the pickle stuff was using anyway to do its work So it kind of felt a good home for reusable pickling logic. So I Did that but I went normally did I do that? I'm gonna a little step further because right now there is a file system package in core That has nothing but a single file system class and it's kind of all my Sloanson's over there and it's um It is really just for skills. So I kind of Put the code in the skills package And a backwards compatible kind of pointer to the old one that we can get rid of in the next major release Did that make sense and if so any comments or complaints Well, I think based on the way we've you know, some of the discussions we've had recently I think that it sounds like good work And something that is you know worth putting in there I guess the question is is it separable from the other work you did on the timer and you know To the extent that we can use it as its own You know as a separate check-in or is it kind of like a monolithic thing at this point? No, it's not really I mean the class itself is not that big I could check in the new class and just use it with a timer for now and worry about backwards compatibility later if we wanted to That's one potential avenue um, but it's really just three three files in uh In core and not a lot of code. There's a lot of comments. There's more comments than code in this class actually Um, because a lot of them are like one line helper functions Right. Well, I can throw it out there As a pr and see what happens and I can always remove the backwards compatibility part if it starts people start screaming If there's any you know opposition to it that i'm not aware of gotcha Okay, so the uh, so if I understand correctly if if we just accepted all of those changes then Theoretically nothing should break because you've got the backwards compatibility built in But then we could remove that backwards compatibility just to clean up the code a little bit After we do in the next major release or in some future major release Yeah, I don't know. Yeah, like you probably need to talk about how long some of these things need to be You know what lead time we need to get people for care is rid of something like that I'd put a big fat comment in the in the backwards one and says say, you know Get rid of this next time we can So I don't think this is used a lot Yeah, basically it's just for things that um That actually store skill data on the file system Yeah, I don't know if every skill does that Oh, well the skill probably does because like it's like the timer The the skills that do you that they're accessing it by the the skill class anyway So as long as the skill class still has a has a reference to it um That wouldn't break Wait the question that popped into my head was whether we'll want to use whether we'll want to provide plugins with a dedicated file system um So that's actually an interesting point because one of the things I did Um, so this used to be this class used to be an instance of it in the mycroft skill class Um, I did not put an instance of my new class in the mycroft skill class I just defined the class imported it in the skill because that's where I needed it and used it that way So part of the reason behind this is At least in my mind the skill class is an overwhelming that's the mycroft skill class is a behemoth monster that needs to be somewhat tamed And things like this which are used by some skills, but not all or the majority of skills Don't make a lot of sense to have in a base class just You know to have some variable there that anybody can use if they want to um That just doesn't isn't how base classes Should be constructed in my opinion. So I'm trying out my What this is something I'd like to do with more things in the base class, but this is like a really small thing where You know, I can do this and not really interrupt a lot of things. So basically it's Instead of having every skill have an instance of this class available to it If you need it you pull it in if you don't you don't okay Well, uh, yeah, I don't want to get derailed too much. I think we should Conversation over to the community as well Let's see. Yeah, I'll put the pr out there and put a bunch of information in it. I'm sure we'll get some feedback Cool. I I do think it's where we saw that the settings Jason so the downloaded settings. So we might have some trouble there if we're not providing it for all skills No, that's that's in the actual skill pack. Oh, no, that'll be in the config, won't it? Yeah, sorry Oh shut up Yeah All right, cool So after I get this pr submitted And I need to run a few more tests to make sure I didn't break anything Then yeah, I'll put a pr together for the timer skill as well great Let's see who's next. Let's go to gets Hey, hey, um unfortunately, I spent yesterday working on Um boring things that I can't really talk about, you know recorded meeting Um, but earlier in the week given I haven't talked about business stuff. Yeah Uh, but anyway earlier in the week, um, I did some work fixing up our um, our test instance of of wordpress because it just got fully borked. Um, but um, you know, we we re-image that across On a semi-regular basis anyway um Uh, did a whole bunch of fixes. Um There was there was a change recently to add Searching for the author. Um, when we're trying to determine which skills to run the vk test for Because basically, you know, if there was two camera skills, for example, um, then It wouldn't know which one of those to choose Um, and that doesn't happen yet. However Uh, there was an error where in in certain circumstances it wasn't providing a full skill name to search for Because it was trimming off Some characters, um, because of a bug in the code Uh, but even without that, there was there was the possibility that there were multiple matches for a particular string And so it wasn't sure which which skill to run the test for and so the test would fail. Um, and so Uh, you know, there's probably some fixes that we need to do in msm around that There's a whole bunch of fixes we need to do in msm, but a um an existing feature of msm is that you can filter by The the author of the package. So if we said we want the The camera skill from microf AI then search for that So anyway, that that went in there was there was another little bug in that Um, and so kind of been iterating on that because it had blocked prs to And that's now in a a much better place and um and merged some other improvements to the ci so that Because there was there was an extra Um process that was using a common file path just for temporary file storage Where it was transferring things over to the to the report server But and so there was you know A small window where if multiple jobs were happening at the same time then they could overwrite themselves and And cause them dramas. Um, so fix that in micro skills and in microf core um And The next point of call is getting back to the tts fix in microf core because that's causing dramas Where the return file path is is not returning correctly for the tts cache um Other than that I think that's about it for now. Oh the the, um The icon theme Stuff got into I pushed that into the mark 2 image Um, so that's in there at the moment. There's only a single icon accessible at the moment, but um It's basically all of the All of the foundation that's needed and and now we just need to drop in the the big icon set That Derek's working on and um, and they should all be available for for skilled developers. So that would be cool um, and then I've got to do documentation around that so that People know how they can actually use it But yeah, all right. Well, that sounds like a lot of stuff Well, I don't see you guys for three days. So, you know, yeah All right, uh, so ken How's it going down there in florida? How's the uh How's the uh tropical storm hurricane? What is it? We didn't uh, we didn't see anything of it here, but how's your dad? Uh, oh calling me out about not talking to my dad on a public forum. I see okay Well, I'm just saying uh, because it hit over there, right? It hit over in the west coast. Yeah Yeah, no, I looked at the the path of the hurricane. It didn't look like it was gonna actually do much So yeah, it's fascinating because you look at florida and you figure where I'm at it's going to get clobbered The reality is 90 of them end up in the gulf Yeah, and even then most of them kind of end up hitting up in the panhandle. So I've been working on the uh, the wiki skill and the duck duck ghost skill from a couple of perspectives um the uh The last thing I added today was the ability to call him out by name. So you can say like, um Ask duck duck go or ask wiki And it'll actually confirm back and say, you know, the answer from wiki versus the answer from duck duck So you'll know that um, you can also just say, you know the query without saying anything like that obviously And it'll go through the old path Uh, so that's all done. Um Learn some stuff about adapt and its weaknesses. It's interesting. Um, but that's I guess the um limitations of a kind of a reg X kind of parser like that uh, but just seems like The smaller you keep your intent file List the more accurate it'll be For example, I had ask duck duck go and then I would notice it was misunderstanding me So I'd put them all in there axe, you know duck duck go because my kids used to say axe instead of ask ads Apps whatever and the recognition quality degraded with each of those So if you just deleted them all and said ask duck duck go or duck duck go, it's pretty good So that was an interesting observation Um, but they're both um common query skills now Um, they're both pulling abstracts Um, it's also interesting like I showed you guys yesterday that If you're running one of these guys and then you set the volume It will set the volume, but it won't say volume set. Well, I noticed today if I Say, um, you know ask wiki and it starts playing something long and while it's playing I say ask duck duck go It'll die in the same way So what's happening is if it's already pushing out sneak through tts If you Do another one on top of it It'll die silently and not do anything So net effect would be volume won't speak volume was updated The second of the two common query skills that it recognized It'll try to speak but it won't speak so you'll see it was recognized It'll say okay now i'm speaking my answer But it won't interrupt the first thing that was going off So I don't know that that's the desired behavior. I'm just saying that's the default behavior right now Uh, it may be desirable. I don't know So that's that's where i'm at on that. Um I'll probably not get these two in tomorrow for a couple of reasons the first is I want to try to do as best as I can making them. Um support multiple languages and you know right now I have a A bunch of like, you know special words that i'm stripping out of the utterance on the direct intent handler Um, which would normally be done by common query and stuff But if you come in through an intent you don't get the benefit of that Uh, so i'm you know doing that and i'm trying to get those out into a file But the problem is we have like voc match and and voc file processing I want these in an dot intent. Um, but we'll see an intent file. So anyway, I have some refactoring to do there Um, right now the wiki Does not do the disambiguate or more. Um, I don't know if I want to put them in first or not uh, the reason is dis wiki returns disambiguate a lot And what I had done and I think what this version of it does Is it says people really don't want to be bothered every time you ask wiki with the jameen abc dre Just take the best one. So i'm what I had been doing on a disambiguated is grabbing the first Which is the highest confidence level and then going back and getting the detail and doing that seamlessly so you wouldn't know Um, you know and then pulling the abstract So that's kind of the reason the disambiguates pulled out of it for right now um, yeah, and That's it. So that's what i'm working on All right, cool. Thanks for the update um That's everyone great all right, um So I think we can just call it there unless there's anything else people want to talk about um, and uh, all right, well then we'll just sign off here and Internet cut out viewers, but that was the end so adios