 You should you should get going first Derek. Oh, yeah, yeah, I'll jump in since Yeah, I think today I will have to jump off right at five so I've been mostly I spent like a lot of today catching up with Dwayne and Andrew preparing to do meetings with the CM's and This morning I finished Going through our old bombs and basically Making sure the quotes Well, we really didn't have pricing on a lot of stuff like we didn't have a good pricing Estimate for quantity stuff On the PCBA from our standpoint like we just went out to dig a key or actually Kevin used out this Chinese company LCSC a lot So I did that just so we have a benchmark so we could call BS on the CM's on their bomb cost pricing, so What I did learn is they are giving us a little bit of a discount not a lot but a little bit So that's that's valuable so now we have a kind of a benchmark a really pretty solid benchmark of our internal costs versus how the CM's are stacking up and I would say across the board, they're all pretty of the three that we've been getting they're all pretty similar So that's I mean, I guess that's good Sarely like this ideal huge discount kind of thing that we've maybe maybe wanted I think the reality is it's cheaper than what we do ourselves, but not not a ton And that's mostly I think because of the quantity so we'll ask about that When we do these meetings So doing is going to set start setting those up for next week But yeah, it's all I mean from the engagement point of view these three very much seem to want our business. They're very Fast they're responding to the things and getting more details and stuff stuff on that side of thing I feel good I think that's called sales Well, I mean to me like, you know, I was always scared that like who wants to do 2500 units a month like on the CM side like that doesn't seem like a lot, you know but You know these three seem to want our business and I mean, you know margins are real small in manufacturing. So That was my concern is like, you know, you could get him like yeah, we're not you know, we'll we'll just Give him enough attention, but if they become a nuisance will stop paying attention to them But that doesn't seem to be the case. So that's good So, yeah, that's been mostly my time. It's just doing that stuff So a couple meetings this afternoon and then working on the bomb stuff in the morning. All right. Thanks for the update Oh, the other one the other thing In regards to all the issues, you know, we don't have a UI spec in terms of what do we do with Interrupting skills and all that it's not curious, you know always like to look at what Google Amazon doing is So they're like not make it more complicated than that And they're really as far as I can tell only have two classifications they have Media or, you know, what we call the common play anything like music whatever and then everything else so Media never stops until you specifically tell it to stop So you can interrupt media and ask about wikipedia the new You know wikipedia weather You know, whatever And it's always going to come back to whatever that media was playing Once that skill stuff Now if it's not a media skill They just interrupt each other and never go back So if it's like weather and I interrupt the weather and ask about the time it is it doesn't ever go back to weather Uh and vice versa. So like that this is just two two classifications So and I guess in our terms that would be system, you know, you got system skills and common play and that's it and Uh, if we wanted to adopt that methodology, we would say, you know common play continues until explicitly told to stop And system skills interrupt each other and never go back Um, so anyway, that's that would be a kind of a simple way to address it Uh, as as opposed to maybe trying to overthink it too much, but I'm not opposed to Me personally, I think there are some skills that you know, maybe go a little bit longer Like wikipedia or something that you may want to go back to But I I don't know like it like I like to look at them and say do we want to make it more complicated? Yeah, probably not So anyway So if you split it into common play skills or not common play skills, you don't even need a Category at that point. Yeah, I mean I don't play framework if you're using it it behaves this way if you don't behave this way Exactly. I mean, so if we wanted to match what they're doing that that would be the The quickest way probably to get there at this point without any easiest to just implement Yeah as a first pass Of course, we still need to write all that up, but you know, it's Okay, yeah, and all of that is is uh orthogonal to the skill state concept, which is still just yeah And for the most part like I mean I I let you guys hash all that out as long as from the user point of view it's doing I could describe Okay, this is what what what I did like it from the user point of view to to occur How would you get there? Well, that's your guys fight Well, I'm sorry So are you saying that's the generic rules you'd like the system to operate under? Well, I'm not saying that I'm not making a decision. I'm just saying like I did that spent like probably 15 20 minutes You know benchmarking not can totally Yeah, not every skill possible, but like You know, but essentially the equivalent of our skills um I'm pretty confident that that's probably the only two classes they have essentially. Yeah, so we're so on there's if you're listening to a Description of something from wiki and a timer goes off the wiki stops, right? Yeah, you just don't go back So Well, you know, I haven't actually tested. Uh, well, I don't know. I don't know. I'm just asking because I've been actually what I did was take that statement out yesterday and commit and then I've been testing today with the behavior with that statement out and It's it's interesting um, obviously stop doesn't work correctly, but It's almost as you mentioned, which is a very simplistic single level approach so That would be interesting in other words The edge case is like you're in the middle of Trying to create something. I don't know an alarm or something and a timer goes off Does that cancel what you were doing and you start again? I mean These are the scenarios that we need guidance on so this is good. Yeah I think we need to we need to sit down and write up a spec and yeah, yeah Yeah, I'm not this is not a decision. I just yeah, I we definitely need something written up I'm just saying it might be a little simpler than you know Yo, since I took that out. I noticed that if I was playing music And I asked it a wiki question After about four minutes of wiki It would stop and the music would start playing again. That's how it works right now if that's what you want This is a trivial issue No, no, I wouldn't want it. You know, it needs to be Yeah, not five minutes. It needs to go back to the stack. We stack. Anyway. Yeah, interesting I think you know mission accomplished. I just wanted us to start thinking about some of these edge cases and scenarios So this is great. Yeah, and I did a benchmark a lot of the education. So I don't know Uh, yeah, what happens if a timer interrupts you while you're you know Starting another skill or you know interacting another skill. So yeah, there's there's some things to to look at and define but I think Where my head is going is that we can Basically say common play and everything else With yeah some more definition around edge cases and such I I think that that could work. I think what you really saw Unless did you see some documentation where they said they only had two types of skills? No, this is just from a user. I think what you I think what you really saw was media skills system skills and user skills Yeah yeah, so Yeah, we still need to spec ourselves, but I don't think we overthink it is what i'm saying Yeah, so anyway, uh, yeah, um I guess I do want to want to get to that if i'm holding anyone up Just the hardware stuff is is a lot of work. That's not a thing that's holding us up We will come to that after we do a Pass on all of the existing essential skills. We don't need you to hold us up. We can do a good job enough of that ourselves Okay, all right Okay, that was long enough. So yeah, sorry. I yield the floor. All right Yes How goes What is it 21 or two? Yeah, it's been going good. Um, I Spend a bit had to spend a bit of time yesterday messing with the doggers to get the The test runners working again. Um, our docker registry Uh, seems to be inaccessible. We don't really need to use it though. So it's like I don't know if we use it for anything official Um Other than this old these old test runner things. Um, but they can just you can just generate the containers on the fly Which only takes like 10 minutes or something which you know when we're running this once every six months is not It's not a big deal. Um, so that compared to maintaining a custom docker registry is You know, um, anyway, but uh So far all the skills are passing. Um, except for um A plasma activity skills. So But it's most likely because the the test environment doesn't have plasma in it. So Um Um, I'm just gonna test that one manually and and then call it good Uh, I haven't run the vk tests on everything yet. So this is based on the old test runner Um, which you know at the very least Runs all the all the old tests and checks that everything loads properly and all that sort of stuff. Um, But I've got to get around to the vk test now um, but other than that I think Um, I think, uh Yeah, we're we're in good shape there. So Um Yeah, that was the most interesting stuff yesterday It's probably other things, but yeah right, okay um Is the I hate to ask so I'll ask later chris fair Um, so yeah, I did yesterday. I helped guess out with an issue with our um, LDAP server That is still an issue, but I fixed it up enough that You could log into Jenkins and do what I needed to do for 2102 um Part of the problem there is that I don't know squat about LDAP or the tool we have called free IPA So I wouldn't even begin to know how to fix it and if restart didn't work and restart didn't really work so, um When you did decide if that's something we want me to spend a few hours or a day on trying to figure out or if that's something um, that Maybe we don't even need um Because as far as I know the only thing that's really serving is maybe the old Jenkins instance And the wikipedia that we have lying about that nobody uses so Okay, uh, Josh might know something about that. Um I don't I don't know Yeah, I don't know if he implemented. I'm sure he knows about it because it's the uh directory Protocol for windows and he's a windows guy okay Well, it's not you got the only penis caused and it's been down for a while and it's the only penis caused or so Um, I don't know how big a deal it is, but Anyway, that's that's the state of that we can talk about what we want to do there I had a short meeting with um Sarah and lianna today about the grand things um Gave them a bit of an education. They weren't they had no idea what the stackdowns or how it works or anything so I gave them a crash course on my craft and um And they have some ideas about how to move forward with that that don't involve me so So there I did have a follow-up with lianna. She talked with me for just a few minutes And so they're they're screwed away. They've got within you. Thanks. Yeah, exactly So I think she said I said I was gonna talk to you after she came up with an idea so So, yeah, right that's some I'm not going to deal with that anymore Um And then I'm just about done with my first pass through the timer skill Which is a refactoring pass And the next thing I'll do is start running the vk test against it and see what I've broken If anything and see if I can make more of the test to work that kind of thing Okay Um, all right sounds good ken So yeah, like I mentioned I removed the offensive line Uh and tested today to see what the behavior was with that as well as responding to some Questions on the design Uh, so that's it. Uh, I I understand how it's working now Be interested to see if that meets our requirements. Um, and if not where I suspect I know but I'll wait for feedback So that's where I'm at on that and that's what I did Okay, so you were going to be playing around with common play and looking into Any possible Required changes there Is uh, is your conclusion that basically we don't need to do anything with that right now? No, um, there is competing Once again architectural input On this particular project Uh, so I was sent a bunch of documentation regarding open voice os's implementation and um looking at their common play service and surrounding support And then I went back and looked at what we have Um, so what we have is deficient Um, what jarvis created is a bit different There's going to have to be buy-in on backward compatibility issues on architectural issues on differences between derrick speck and what His groupings are and things like that. So You know, it's it's going to be another one of these You know, everybody's got an opinion and it's going to be difficult to come to consensus on it Um, which is why I kind of transferred it over to chris v and an attempt to get somebody a little more Diplomatic to handle that sort of activity. I don't mind doing the work once that stuff Been decided. I just don't want to be in the middle of the mouse from again So where I was coming from was If I were to just have the first whack at it, I would simply add The generic method methods that are missing from it and associated message bus messages Which would be things like fast forward and rewind and skip and next and previous and then Just create a generic requirement spec that says common play skills That, you know, um Want the following capabilities should override these methods and leave these alone and yada yada yada So that's what I would have done with it at first blush But I don't know because I didn't really get into it from an architectural perspective I got into it from a user Perspective and looking at what I would do when I was doing the music skill and what it was missing So that being said, um, no, I wasn't planning on jumping right into the next Architectural mouse from that comes down the pike Just like I don't automatically jump on the end of the bank line when I see one. They're not pleasant experiences. So Um, I was kind of hoping that chris v could handle that and I could move on to the remaining skills that need attention Well the yeah, I mean it was always the intention, you know, right now what we're working on are the essential skills, right? We're not trying to get into any redefining any behavior at this point. We're just trying to Make no, no, no What's coming from was once Derek has a whack at this release Then he's going to see some obvious things and say gee the Volume skill shouldn't behave like this the time and date skill shouldn't cancel that that this skill shouldn't do And I can facilitate those changes relatively quickly like I could probably handle Anything comes up comes up within a day of all the skills. So I was just thinking that would be a more productive Use of my time rather than having me jump into another architectural Yeah, I agree. I mean that's I think that's kind of out of scope for where we are right now Anyway, but but I think what you what you said around just adding those basic Basic things like I think that's very helpful as the as the first pass because then it's going to mean that You know, we can actually have like the the new skill work properly with the ui Um And you know, it'll work for for basic skills, but it's not going to do everything. But yeah, I thought that sounded like a really Good way forward So who devised the common play? uh System that we have right now and is there a spec for it Mostly penrod. I think there was a spec for it Oh, okay. So this was internally. I thought I thought for some reason that's might have come from the community So no no we we did that at least what what's there today? We did ourselves I mean, I'm sure it's been modified since we built it initially, but Who doesn't think it'll work. Okay Probably Yeah, that's perfect. Yeah, so I don't know. I mean, I just don't know it's it's a good start like so many things we have But they seem to be like when you start working your way down the hierarchy They they kind of peter out after the first level, you know I mean like people look and they go well I can foresee this problem and they solve that and we have on our hand solves that But when you actually do your thinking through and you realize Theological conclusion of some of these designs you realize. Yeah, it's not going to handle A more structured kind of environment. So yeah, I think I touched upon that in that diatribe I put in that Mattermoth who I said, you know, I was explaining that okay that I wouldn't Do this if this was for core, but this is for a potential Consumer product that we want to control the behavior of I don't care what a development environment does you can Create whatever you want and have whatever rules you want and your skills and have your skills communicate and make their decisions independent But in a in a product where you're trying to have a controlled Response to every environment all states and all events Then you got to start, you know enforcing and imposing your will at a system level So there's an interesting point though We're gonna have wind up with two different implementations one that our developers really like and when our consumers are gonna are we gonna I don't know how to answer that I mean you kind of have that now right because you got the developer branch But then you got the mark two feature brands we're working on Um, somebody thinks at some point in time they're going to get merged and that would be wonderful But I don't think that's going to be a trivial issue It won't be I don't think anything we've done so far in the mark two branch is really For a consumer product. I think it's just stuff It's specific to the mark two that we want to be able to move fast on Well, I don't think there's anything in the mark two branch that Is fundamentally different. It's just that we need to like When you know, we we wanted to move to the howl so that we're not just like merging a whole bunch of mark two stuff into every single instance of mycroft and then you know Merge a mark three a whole bunch of mark three code and mark four code and you know Whatever whatever Well, that's good news that it won't be difficult to do the reverse merge But anyway, yeah, so I don't I don't know how to answer that but I do know that if we want a controlled environment We've got to make some tough decisions that maybe some backward compatibility with Existing skills is not going to work because our ui design requires a certain Uh behavior, but we won't know that Until we cross that bridge. So and I'm sure we'll piss some people off to you Like he won't community members or this used to work this way and we needed to work this way for this And there's going to be some of that but we'll work through it. Well, I mean, we've got I mean, yeah every every API system deals with this, right? I mean Android apple they're constantly rolling out new versions, you know, which is why I said it's not inconceivable that the mark two is running a different branch Because the behaviors might it might be desirable to make them different I have a friend that works on tools like basil and such he's actually the director of that group at google and They're internal tools that they publish to the community like basil Have different behavior and apis when they're used internally the next turn only that's not uncommon right Okay, well, yeah, we're gonna have to have a serious discussion about that In the near future But for now the next skills that you were assigned to Ken were all the query skills, right? I do believe so do something with The fact that we've got multiple query skills and Maybe bring them under something like a common play umbrella for query well, um I mean right now what we're doing is we're trying to address bugs. That's that's really you know So I think the place to start is bugs Note any behavior before we get into anything that's like a structural change, you know Coming up with a new common query or whatever, you know Just to be glad I think we should identify the problem first Common query exists. So like they yeah, there are multiple skills But they they sit under a common a common query. Okay. So yeah, yeah, so any behavioral issues Like this isn't causing an existing skill to stop or something I'll just reassign those tickets to to derrick and then the actual bugs all address Right. Okay. Well, there's some simple stuff under it. Like I mean I would I don't know. I would probably consider this a bug but like We do have a common query framework and some questions that you ask can be answered by one of those um You know one of those services, but it's being answered by the wrong one and giving you know Not not a correct answer. So um, for example, like it's going to Wolfram But wikipedia can answer it correctly But why you know that why is Again, this is going to be coming out of specifications What is the preferred behavior? Do you want wolf ram to take precedence over wiki or vice versa? Well, that's that's that's a that's a I don't I don't think I don't know if we can even solve the problem. Yeah Because it's a confidence issue. I think Yes, that's absolutely correct. And and this is what's you know, kind of where I was coming from regarding different code lines, if you will Um, we don't really have a lot of protections against not in well-behaved skills in this system So they can do what they want they can consume every converse. They can Set the confidence level to 100 on every query. They can do what they want. Um, that's fine for development environment I don't know that that's fine for a consumer product Environment. Yeah, we certainly have to address that before we get to you know unleashing the marketplace on people But for our own internal development, it's not yeah So like my point Derek is that if you say well, that's kind of like a bug. I would say what's the bug well, so an example an example would be like um I haven't checked this lately, but previously if you said like who is the president of the united states it would tell you about The the office of the president of the united states when what the user really means is you know It was currently serving as president of the united states. Yeah, and you just hit upon What's his name just hit upon probably the most difficult challenge We are going to hit Once we get all this mechanical crap out of the way Which is and I forget what they call that but that is certainly a context-oriented Engagement because both answers are correct Yeah, understanding the intent of the user You know, we're in some cases is black and white like what's the date but in some cases it's not like he was the president It is typically Sol similar to when somebody says it in a following set By maintaining a push-down stack of context Yeah, and to actually further explain That that issue So it's going to wikipedia And and I know I think the way our api with wikipedia works is it does the abbreviated A response which is usually just like the first two sentences. They all do that. They all do that. Yeah, and on the wikipedia Code that I have running here will give you the entire abstract correctly Duck duck go doesn't have a chance because it's malformed. It doesn't grab it And it doesn't have the code to grab it. So it just grabs Effectively the summary of the title which is always a single sentence Yeah, so the case of that's behavior across the board question is is that desirable or not? Well, so in the case of the wikipedia entry Yes, the first two sentences of wikipedia for president of the united states do not mention the current sitting president However, if you were to go to wolf from alpha and ask the same question It does just give you the response of president biden Or you know president joe biden, which do you prefer? Well, that's the thing we in this case. We do prefer wolf from alpha but Other than creating a new tagging system. How do we you know, how do we solve the problem? Well, yeah, I mean so I want to know the difference between the the role of the president versus the vice president in the united states You just took me down a dead end where I can never get there from here So the point being that we have a lot of work to do on our edge cases on our overall system behavior Uh regarding interactions And then we certainly are going to have the contextual problems that everybody's going to have in this space But we're not there yet So again any kind of bugs that I see Since I'll be in this kind of an area Don't be surprised if the lion's share of them get kicked back with you with ui type questions and Yeah, I mean and you know, I think maybe a potential way to solve this class of bugs for the time being Is to which I think we already have is to have um Clear ways that the user can get to the information that they want, right? Whether it's by rephrasing the question more more explicitly Like who is the current sitting president of the united states, right? That should Regardless of you know What service it should come back with the right answer um Uh, or you know or some sort of hybrid of like giving a little bit of the answer from each of them You know or something like that, right? Don't be surprised if I recommend that we cheat And do kind of what you see with duck duck go and wikipedia now I wouldn't I wouldn't consider that cheating. I think that you know Having a system that is that you know where we we pre-defined certain prompts as like, okay We're gonna prefer this method for that method for these kinds of of questions. I don't think that's necessarily cheating it's just priming the Uh, it's effectively like the starting point of of you know, maybe a simple neural Network that would would learn this kind of stuff over time That's how it's easily solved with a push-down stack of context in the in the previous 10 minutes of utterances, right? And all the concepts that were derived But that's not what I was getting at what I was getting at is you might say gee if you're looking for the uh declarative Then phrase your question using this style And if you're looking for the pronoun Oriented answer then phrase your question in this manner just like if you want duck duck go ask who and if you want wiki Say tell me about Yeah, but hopefully those are rules you don't want to have to enforce right with natural language processing It's cheating, but you'll find that you'll warm up to my ideas when we get there I agree No, that's exactly the kind of cheating. I think we should start off with and we are we've already done So I I also feel like this is an area where we could spend You know $5 million and 50 people uh to you know be a search engine Um, so is that what you think google has spent on this problem? I assure you it's a lot more than that I'm talking about the the the chapo hackers version of of uh of that, but um Yeah, I just mean like I'd be hesitant for us to to be chasing down too many of these edge cases You know bug yeah, I think we should be that how much I think for the you know how much they're you know features, you know At this point in time, we should be collecting Examples of things to be solved in the future. Uh, at least in in in that domain Yeah, so then we can report them as bugs or whatever, but they're not going to get addressed right now There's spreadsheet somewhere where where josh was keeping all these crazy things He was asking getting bad answers from like asking about what a hot dog is and getting the weather Yeah, we did have some of those. Um, I think I still have that spreadsheet. Um, I consolidated And getting the weather. I think that is definitely a bug yeah, yeah It's a hot intense in the weather skill not hot Is it is it hot is it hot outside or you know, yeah that's endemic right that's endemic tell me the weather forecast for new york Could match tell me the news So, you know, it's it's going to be a recurring problem And we're gonna we're going to struggle with it for the life of this project That we just have to come up with some generic rules and stick to them All right, so so you're gonna tackle the query next look at the bug reports outstanding Um, Derek if you can dig up that list of queries that wasn't returning satisfactory results, I think Yeah, it'd be fun Yeah, this is a fun area of uh, of natural language processing by the way Yeah, so like I I did kind of try and weed out some of the crazy stuff and I do have a list that are like Based up like they're like who what when where type of questions and you know Whether or not they've passed or failed as of like it's probably like 18 months ago or whatever, but um so They're like things like Who built the eiffel tower? Uh, how fast can a cheater run? What is a hot dog? When is the next leap year stuff like that? Um I Can send that over Yeah, that would be helpful that'd be helpful It'll get really fun when we start getting people that want to do transcription Conversational skills, but we'll drive up that version when we come to it All right, you look at these stuff working first Okay, um All right. Well, I don't I don't have any development side updates. So Um, so I guess that's it for today. Uh, we'll check in again tomorrow All right How did it work? Oh Oh, good We fixed it Dogging is Oh, what temperature should a hot dog be? Ask ask it what hot dogging is you'll probably get the same answer as what's a hot dog Hey, my cross What's hot dogging You're you're not a surfer. I don't understand doesn't understand. Sorry doesn't understand Also, what would be interesting is what is alexa and google voice assistant return for Who is The vice president of the united states versus what is the vice president of the united states? It's a good point. I can test that anyway. All right, so we'll see everybody tomorrow