All right, hello everybody How's it going Dexter and seagrover? I have one of those today. Okay, let's chats are live looks like we got sound Going into OBS at least See here a couple more. Let's turn off this preview. We don't really need this one Way be out of how's it going over in YouTube? Happy Friday yet again mark. Yep. Happy Friday to you and everybody Tammy makes things How's it going? So Let's do a quick introduction and then I'll get going Actually, let's see. I'm gonna shuffle these chats just a little bit more Make it easier for me to see both of them at once And I'm gonna make sure this didn't mess up OBS. I don't think it will. Yeah, it doesn't change anything on that side. Perfect Okay Tgif definitely agreed there. How's it going to Shippu? Love the factory Ola to Colorado From Kansas City to Colorado. So how's it going? So introduction to anybody who may be new Catching the stream for the first time or watching it You know the recorded one on YouTube later on my name is Tim and I go by foamy guy on Get hub and discord in some other places online and we are gonna be Working on circuit Python related things. This is the deep dive program. This is a weekly program that occurs Fridays at It's 4 p.m. Central time, which is my time, but it was originally More typically billed as 2 p.m. Eastern time. No, no, no, excuse me 2 p.m. Pacific time US Pacific time And then five Eastern time. So we have lots of different time zones Scott the lead developer of circuit Python is the one who originally started the show He was out for a while for Paternity leave and he is back now, but he's still getting ramped up So he is not quite ready to take back over the stream yet. So I'm still here But he lives in the Pacific time zone. So that's why 2 p.m. Pacific always was the time And of course Adafruit is in New York, which is in the Eastern time, which is also a very commonly used time zone For things all across the US even outside of the Eastern time zone. So anyway enough about time It's that time of the day right now for us to get into the deep dive. And if you don't know What this is about we are working on circuit Python stuff If you don't know what that is though circuit Python is an implementation of Python that runs on these tiny computers called microcontrollers There are a bunch of different ones on this page listed here the downloads page Which this is on circuit python.org which is where you can learn more about circuit Python if you do want to learn about it Today, I'll be looking actually at the circuit playground express Which is right here the circular one and I actually have it and it's you know older sister if you will the circuit playground blue fruit, which is kind of the next generation of Circuit playground this one has Bluetooth and a couple other differences, but those are the devices that I'm going to be looking at today Um, so the Python is an open-source project Anybody can get involved can contribute code Can help us with pull requests and adding devices and updating drivers and adding new features and doing all that sort of stuff Anybody can help if you go to circuit Python org There's a contributing link up at the top, which you can click Which will get you a list of all the open pull requests and all of the open Issues including the good first issues, which is the place we tend to point folks who are just You know getting started in their journey of helping contribute to Python So circuit Python like I said, it isn't an open-source project, but it is primarily funded by this company Adafruit. This is their website Adafruit.com So they pay the folks that work on circuit Python full-time like Scott who I mentioned before The lead developer They also pay a couple of other folks that work on the project full-time as well as some folks who work on the part Project part-time like myself So if you want to help support the project but not necessarily get involved in development Something that you can do is purchase hardware at Adafruit They sell the microcontrollers the devices that run circuit Python. They also sell sensors, you know beepers buzzers lights All kinds of things that you can hook up to the microcontrollers to do stuff with like read values from sensors or You know take inputs from buttons or set LEDs to be fancy colors You can find all kinds of fun stuff over on their website at Adafruit.com and definitely all of us Who do get paid to work on the project appreciate you purchasing hardware from them to help support them Living in Python land watching out for the blue smoke meanies who smoke meanies. Oh, they sound very very menacing Paul Shulinick and Charles Burnford. How's it going over on the YouTube chat? So today Specifically what I'm going to look at are a couple of PRs that are in regarding the circuit playground Library and as well the the core circuit Python Project because it freezes in certain libraries including the circuit playground one So this PR is from near doc community members a hug report to near doc for figuring this out and making the PRs for it Basically, this is an attempt to save some space in some of the tightest circuit Python builds a couple of which are the circuit playground builds in particular some of the ones for other languages are Actually a little bit tighter in space than the English ones even and One of the things that takes up space are frozen copies of the libraries Which is this Guide published. I don't know catney was just writing this week even a lied a Learn guide that's all about libraries and frozen in versus imp you I crossed and Everything you could ever want to know really about libraries and which ones are where and what the implications are I don't know if it is live yet. If not, it should be pretty soon But that's a good place to go if you do want more Information like high-level information about what I'm talking about. Maybe it's in here libraries Libraries Yeah, this I think is the page Yeah, totally is. Yeah. Yeah, so this tells you all about different libraries how they can be, you know Where they come from in the bundle how they're published online You know in PY libraries versus frozen in libraries versus just Python libraries all that kind of stuff is Covered in this guide as well as like troubleshooting, you know when you're missing a library the error So this is a really good place to learn more generally about libraries Because the the topic that I am looking at in this PR is pretty down in the weeds is the deep dive And so we are going to some pretty low depths in this one You know, we're going to be getting into the circuit Python core and making some custom builds with this updated version of the library So basically one of the things that consume space on this circuit playground Express build is this library the circuit playground library. We want this to be built in that way folks don't have to install it You know, it just comes like, you know out of the box so to speak You can just start playing with the onboard peripherals, which is definitely awesome Um, but if we can make this library smaller than we can save space on that device And so what this PR does is not necessarily make the library smaller per se But what it does is it kind of adds this new sub directory This one here frozen cpx Adafruit circuit playground library right here and this has uh What are not actually files? I think they're pointers or symbolic links. That's what this is called Uh symbolic links to some of the other files So basically this is a sub directory which contains links That point to the files that are actually needed by the circuit playground express Uh because this one library Does support both the circuit playground express as well as the circuit playground blueprint So the same library actually works on both of these devices But this one the circuit playground express Is a sam d 21 which is uh one of the smaller microcontrollers and it also has um You know a limited amount of storage space. I think there's maybe like two megabytes or something about that In storage space on this thing to to hold circuit python as well as your libraries Need to fit inside of there whereas this one is uh nrf 52 8 40 which is kind of a you know a generation Higher sort of than that sam d 21 The main chip is you know bigger centrally. It just has you know better Specs a little bit more storage a little bit faster cpu a little bit more ram All of those things are scaled up a bit And this one is not really tight on space at all It would be nice to save extra space You know nobody's ever going to say no to extra space, but we're not really hurting for space on this one Whereas we are essentially on this one. We basically For this one for a little while now we've had to like you know not Um, you know not take uh new features into the library because there was just no space Left in some of the builds. Um, so if we can save a little bit of space Then we would be able to add a few new features with that space Um, so that is what this pr is all about and I will be taking a look a closer look into it and Building circuit python with it and testing it out on these devices uh attack of the blue meanies a cultural reference uh to a movie Let's see a movie made about the we uh, we all live in the submarine song yellow submarine blue uh blue meanies Yeah I am not familiar with uh The movie about it, but I am sort of familiar. I should say I've heard of the song I don't know that I would call myself familiar with the song. I probably I'm I don't know. I may recognize it if I hear it. I think that's part of the lyrics Isn't it all live in the yellow submarine? So probably recognize it from that but Um, so to start with we are going to try to make a build a circuit python that includes this modified library here Uh, and so there's actually two prs open for this one of them is on the library itself And one of them is on the core um The core one is basically changing the directions of What gets frozen in to the circuit playground express to that frozen, uh directory And there's three different builds for the circuit playground express, um the the you know standard, uh cpx build The cricket build which is uh kind of an extra peripheral that you can use alongside the cpx and then The display io build which also goes along with an extra peripheral in this case the uh the gizmos screen Which is actually this thing on the back here. I have mine attached to my circuit playground blue fruit Uh, but you can actually use this uh screen attachment with the cpx as well But due to the fact that we're so tight on space. We actually have to have different builds For those different add-on modules because there's not enough room to put all of them Into the build so that's why there's three different builds. That's why there's three different changes Um, and that's what we'll be testing so to start with i'm just gonna get uh main I'm gonna get switched over to main and updated here Um, let's see here main a different main Let's do that and then update And then what we will do is Check out the pr that Is in the core here Inside my local repo Then we'll go into the frozen directories and check out the branch from this pr over here on the library Then we should be able to make a build install it on our device and see How it goes How's it going keith uh the ee. Hope everybody's doing well. Yep. Definitely agreed there and back at you as well. Hope you're doing well Um, okay, so we're let's see. We're still fetching Is that actually visible? It's probably under the chats, isn't it? Yeah fetching thing. Yeah, not really so the Oh The youtube chat is it cut off like or i get oh, okay. There's only a couple of messages in it I'd say This happens to line up at the baseline there Um, so the little fetching progress bar updating is kind of behind Scooted over right there kind of behind the chats there. I got them on partially transparent But it looked like it was still pretty hard to see behind there Um, right updating I don't uh, I don't necessarily update the My local repo super often and usually just when I sit down to Work on something specific. So sometimes it's a little bit out of date Um, and it does take a minute to update. Hopefully it won't be too much longer here There we go, uh partially updated though. I wonder Don't I wonder what uh, we don't have changes. Do we oh we have Okay, so these I uh, let's see a bunch of these are The uh pre-commit changes in different files Uh, which I've been dealing with that in my local copy for a minute now This one I don't necessarily expect to see though. I'm not sure why this would be different Um We're gonna be changing that anyway because this is basically The file that determines which version the frozen circuit playground library is uh Basically like which commit it's pegged at Um Or actually why that would be different. Maybe I tested something else It's prior and it uh It changed back Let's look at what is actually in Name for real Be like, uh I can't look at it on here actually because it would be inside modules But oh, but this doesn't have the commit not if I look in here do we see? This has at least part of it f8 2 D3ef is at the end or the beginning or what is beginning? f8 2 My version okay, so my version is different I think we want this one This is what's in main right now. Of course, we're about to change it anyway I can't But I do think we should start from the same thing that's in main. We were like in a known Spot although, you know actually how I mean would it be well get modules we looked in there and it didn't have Have the commits modules thing in here. I'll be honest. I'm not super like I don't have a lot of experience messing with sub modules So I don't know all of the All of the exact ways to do everything here Reference big loomini is the name of the villain in the movie. I gotcha I'm in the villain Is it would it be inside of dot get somewhere? I know there's like dot get Oh back to root Yeah, it's looking here. It doesn't show me this one for some reason in my Uh For here is it in modules? I mean I mean, I probably something in here could set it, but I have no idea I guess this is why right here because this is on ad square wave But yeah, I did I did test something but this is Let's get another new one of these Let's go in here. Let's try changing it the normal way and see what it does after that Yeah, I think this is probably just already on So let's go list Check out Checked out So now I guess it's different. There's actually a difference But not circuit playground any which is Weird, uh, maybe we need to also go make fetch The modules this actually might Change Branch that's checked out in the uh circuit playground library Not actually sure Those will change it back again. Hopefully this will make it so these ones don't differ though Ideally, I'm just trying to get as close to like real actual main as I can And then make my change and then start testing so that like hopefully I'm Be close to main Would club or existing tag Suppose it will just work if I run it again seems wishful thinking, right? Yeah, I don't know about that. I mean we'll keep going Because that's an error that I don't recall seeing before though Do a picture I guess we could just copy paste this text, right? What is it pico sdk? Oh, is that the meanie blue meanie? Nice Looks pretty cool I really claws on them So I don't know also if this is the last one or if it stopped because it failed on this one Uh, I do notice these things these differences here went away That's cool. What does this say now clear? Okay, so yeah, this is actually back to main now You can actually look out this one and then go make build for it so, uh This is what ls We'll just do the stock build first And we'll install this on the device and verify it a couple of different ways like we'll make sure that It actually doesn't get the blue fruit stuff Um Try to import that and make sure it fails And then we'll make sure all of the cpx stuff Works as expected. So let's uh, let's also pull up the your playground main guide which will have a bunch of uh Cpx library examples in it These look direct Yeah, here we go. This is the guide we want The other guide was mostly like, uh without using the circuit playground library And it was showing you how to do a bunch of similar things But it was showing you the you know the manual code the code without the library The library turns a lot of those into just like one liners, you know import the library and then I'll either set or get the uh, everything you're interested in Okay, so here, uh, we got our build and uh, one thing we can tell is it does say 1576 bytes free. Um, so one thing we could do Oh, but you know what we didn't do is uh, we didn't actually check out Yeah, we didn't check out the Didn't check out the core pr So on main You do actually need to do oh no go back Okay, six three four six Okay So now let's actually make another new build I'm also gonna do that. Well, no, I want to keep that actually 1576 I'm gonna do clean again But theoretically it should be Well, it should be uh bigger it should have more bytes free this time I understand right because the last time it would have included the blue fruit stuff But this time it will not because inside of ports atmel words Playground express build main this one now points it to frozen cpx only Which doesn't contain the blue fruit one but theoretically we have we should get more free space this time Uh the great grand great great grandfather of the blue smoke monster Put a lot of teeth Blue smoke, uh, this guy here sparky Sparky we got a sparky don't we this guy always like sparky I mean you never like to see sparky coming out of your projects, but The character spark is pretty cool Ah, yeah, and so like right here actually we can see Files and it does not have any Blue fruit ones, so I guess actually we probably see up here in fact. Yeah, so here it does Have the blue fruit ones But it's looking like we do properly, um Have it limited now to less to to not the blue fruit file essentially Which is where our space savings is coming from because that blue fruit library that blue fruit Um file inside of the circuit playground library. That's never going to get used on the circuit playground express In the library so that it can support both circuit playgrounds the express and the blue fruit. Oh wow Dang look at that Wow, so we that's actually a lot. That's more than I was expecting honestly. That's like We had 1500 And now it's up to 5900 So that's like over 4,000 like 4,200 4,400 There's actually I mean, it's obviously small compared to like modern DCs and hard drives and stuff, but in the Microcontroller land that's actually a Pretty good chunk of space This plugged in you want to sit Fish oh, there we go. Okay Oh, it's frozen. Oh, we killed the overhead cam You live I have in the preview on the phone, but not uh So let's just restart this back here third server page Oh, yeah, do these open now Serious up today Hmm. All right, I'm gonna try restarting it one more time if it's not gonna work though then I'll uh Just move on without the overhead. We don't necessarily need it full app restarting experience Get any better Good again After I folks said no, it's not anymore Huh All right. Well weird Okay All right, so what I'll do is I'll just close this for now. We'll move on but You can all you can still see my screen, right? I just want to be able to see the camera for a minute I'm gonna try I'm gonna reboot the phone if it comes back.  So we've got our Firmware, I'm gonna double press restart What I was gonna try to show Quick boot up on that phone We got our boots. We're gonna go cp from build us firmware two over two media Me As soon as I focus at Pages acting really weird too like now the previews Usually have uh trouble with this thing. I don't really know what's going on with the You came back focus, but it's Alive and also this I pressed f12. This is f12 and it's not even like You can't even like load the browser F tool. It's like this page is really wonking it out for some reason Let me check back to this. Okay, so I was doing Load testing earlier for work on something and I was like I didn't leave that running with like Hundreds of connections open up to this other server. Did I maybe that was like using up my bandwidth or something but I don't have that running and it seems like the The stream here shows well, it does have yellow a bit, right? I don't know if that's uh I don't know what it normally shows. Honestly, I don't usually keep an eye on it We'll go with no camera for now. I got another phone. So, uh I'll try it again before tomorrow stream if it's still not working. I can uh Have a different one I can sub in One of these days. I'm going to get a different top down camera as well Keep saying that I also want to get a difference like straight on the camera that shoots me but Um, anyway, we got our We got our thing installed, right Here, we'll open up this I think let's also grab Look here There were jp. Yeah wires. We can still blame liars. I'm down for that So we should not be able to We should not be able to import Blue fruit one That work though Oh, I got a pink. Oh, is that over in the circuit path on dev? Uh, there's a 131 now It's just How do I fix it though? Just trying to make it such so this is like brand new. Maybe they like just did it well 25 days three days one minute Do you have around four of it? Does this pass now? Not sure I understand And whoa great dot ink diagram Curiosity normally I would not Click on Think that looks this It'll fails on 130 on 30 And scott would not probably taste and that's uh, I can't see him SVG I can't tell what it's, uh PD I can't tell what it's mapping. I don't it's not letting me zoom in You have a 131, but how do we Scott too You know, I guess I don't know where That one's not frozen I guess maybe you go to wherever that's at uh Wherever that one's at maybe you go to it and then like get Check out uh one three one or That's sure I don't know how to update it um This though We should not be able to import blue fruit, which is basically what this does So this should fail and I will need to not do the dot only Oh, oh speaking of That this is not what we want This would be This I think Okay And but express would work Yeah And then now we have cp object so we can Do like this Red LED And it turned on You can see the camera because the camera was wigging out on me, but It turned on You're Oh, okay. Yeah, the waveform thing And so now it's uh, just gonna look for the switch and print something when it changes Oh, actually it would not just print what It would print all the time, wouldn't it so that's not working Yeah, because it should spam I just put this in the wrong file You like there could be a bunch more than it should by now See I copy paste codepie. I give it a new name because I want to back it up And then I go and paste whatever code I'm actually trying to put into codepie But I paste it into the one which is automatically open Uh, which gets automatically opened whenever I do the copy paste over here If I copy paste it as my backup file It opens it up and I don't realize it and then I paste my code into it and of course, it's not codepie, so There we go. Yeah. Yeah Okay We're looking good there And I mean I assume all of these will will probably be fine Like the fact that we got a couple of them to work I think means it's very likely that all of them will work I will test out a few more though like I want to You know, it's a Very very very beginner oriented device. It is perhaps the most beginner oriented device Uh for circuit python, so we definitely want to make sure That we are not accidentally breaking any of the basics Is this like, uh Back to tap. What is it looking for double tap? Oh, it's looking for double tap That's probably working about Did I do it? Single or double It's actually Pretty good at detecting the doubles now that I know it's looking for doubles I mean, it was good at detecting them the whole time, but obviously I didn't know what it was doing So I didn't uh, I wasn't doing double taps interesting. Okay. I didn't actually know about that functionality This is this one's Similar, I would assume Single tap Getting anything with that No, I'm shaking it pretty hard I don't think uh I'm gonna get any six. I think that that's very likely threshold That one All this 30 decreasing should make it easier Oh, oh, you know what? Oh, no, okay. All right, one second knocked over the, uh USB hub knocked the USB hub off my desk Uh, yeah, I think just the threshold is a little high for for my particular device for it I also don't have very much room to shake it because it is still underneath the uh Overhead and I don't want to like whack the overhead within a bunch either. So I can get 10 pretty easily and I thought for a minute like maybe it only was working in the z Orientation because that's how I had success in 10 I went back to 20 and I tried that we got one on 20 there I kind of I really um use the Use the USB cable as a spring a little bit. I can get it on 20 Uh, okay. So that's that's working You know, especially if we tweak the threshold I certainly don't think That that's like related to this Change I suspect that that behaves any different under The current version We could go back and try it still too though Bill Ooh, so I don't get any pick. Oh, there they are. Okay. They were just a little So actually maybe that took a little that took an extra second. I'm not used to the same d21s Uh, and I think this import actually does take it a second now that I'm Now that I'm remembering back, um, maybe I was shaking Before this import was complete and therefore not You know Like it wasn't actually looking yet That could be Like I mean not for every single time, uh, but some of the time I bet you I was shaking before It was actually got to the main loop Uh, let me check on this real quick. Otherwise, this will just popped up here Okay, sorry this, uh This is not circuit python Circuit python stuff, but it's still pretty big and exciting news in my world, which is this person I was just talking to We're hiring him at my uh, my work my non circuit python work The the other developer left us recently So I was uh alone again as the sole developer But we were working on bringing in this new person and uh They just got the just got the offer today and just wrote me to tell me that they had accepted it and sent it back So awesome news in my world for sure Um, so let's do something other than red. Maybe You pink Oh, yeah, that takes actually That's actually a couple of seconds before uh Look at um Which I mean this is part of the trade-off of the library The library has a ton of setup and helper stuff going on which makes it so when you want to use the code You know, you just use whatever you want. You don't have to set anything up That's kind of the trade-off is like it's doing all the setup in here Uh, but of course that does cost time. I'm a little curious though how much time um And so we would go new time Minus before 4.27 seconds Well, you know not an eternity I mean pretty long in computing times, but also you got to think too like this is a samd 21 This is kind of the smallest Of the microcontrollers that circuit python works on. Um, and it's running an entire circuit python interpreter inside of there, right like Uh, it is an insane feat for what it is doing Um And to do all that in four seconds is still really really good Um, and I did get pink so I think we're fine here Light sensor. I don't really have a well. I can use Hopefully this is gonna turn the pixels back off So the other thing I'm gonna do is uh, use the blue fruit as well and actually make sure that it's not impacted by this new version of the library either light 11 11 higher low quite low in fact Where the exact this the sensor is get it uh bounce up though by shining my phone light on it Do a couple more and then we'll switch over to the uh, blue fruit else do we need to Make sure to test I mean there's a ton of circuit playground Learn guides, but Well It's not all of them necessarily use the library some of them might use uh the more direct stuff Do a good number of them use the library. Maybe we'll look up a a couple of the learn guide projects And just try those out as well I mean as long as we get all of these examples working. I think it's very likely that um Any other projects should be working as well, but Use them as inputs. So a 2 a 3 A 4 a 5 6 and 7 and 1 Tap touch And it's true if you touch them. Oh a 1 only though. This code is only a 1. Okay Oh, yeah, which works fine. There we go Okay, so this is where the uh square wave was added here and the square wave was actually the kind of inception of this effort got our two tones this probably didn't come through the Um microphone, but I definitely heard them This microphone is very directional and then I also have a noise gate inside of obs on it. So It only does it just physically not point that direction it uh So filters out stuff that's too quiet Yep, it's working. This one requires extra stuff They're in p3s even Weird there would be wave files Oh, it says wave here Oh, hmm. Oh, that's interesting. Uh, oh Huh, so it tells you That it needs it, but it included one It was mp3 Take a quick, uh Or grab a whole uh exploration into this I think let's uh take a look in the learn guide repo So I guess this is probably just circuit Figure out Maybe circuit python circuit playground It was play file. Um, I guess what we could do is like Oh Okay, this one's not in the learn guide repo. This one is in so then are the files in the examples So it has the mp3s, but it also does have the waves I have no idea though how This button chooses which files To include Very mp3 stuff on this page. Oh, this is sound level One the same Yeah Uh, if using imu to control color, what's the typical throughput speed with lower power micros like the samd um If you mean control color like neopixels or what do you mean control the color of? And then also, well, yeah, let's start there. I guess What do you mean the color of if you mean neopixels or something different? Um, and I I will also warn I probably am not like I can probably point you towards resources to help you find out But I'm also probably not the person who just knows The uh, the real limit, um One place I could tell you for sure to take a look if you haven't You'll learn about that sort of thing is the uber guide If if you are talking about neopixels, I'm making that that assumption so far This guide right here though uber guide neopixels um This has got stuff about like all kinds of different variations of things that are commonly called neopixels um As well as like how it hooks up and the communication protocol and Limits and all kinds of different things They do check that out. Also. I think like dot stars are a very similar kind of thing, right? They're an rgb led Um, you know, they're controllable individually in a strand, but they have a different communication protocol Um, and I I want to say they're faster. I don't You know, I'm not necessarily the expert on that so I could be wrong don't necessarily quote me, but um, I want to say dot stars are kind of like more efficient basically so Either faster and or you can control a longer strand um Then with neopixels, but it it you know, it doesn't matter unless you're trying to control a whole lot I think because you can also control lots of neopixels Yeah, if you can expand I can uh Try to point you in the right direction. Otherwise, I would say if you are talking about neopixels check out this uber neopixel guide Um, this one's got a ton of really good information about them packed into it um, okay We need to get the wave one as well. I'm going to go straight to the Multi file one here I'm going to delete those mp3 files buttons 5k instead of like So the way mp3 I think has more compression So Feel like I pasted that in there and that's why it opened this which is weird because this is not even a text file Like it's not going to be able to show me anything useful in there really Others Well these also came through with the word examples in their name What are they in the repo? These are in the library repo Oh, that is Super weird. So This link goes to dip wave So github is Change the name of the file I always do that. I mean, I assume these would have been this name at some point in the past, right? And like github changed the behavior to do this Uh, biota, let's see you can control those in hardware such as by using spy instead of uh Kindling having a loop go through the pin related comment. Yeah, I think uh You mean probably the neopixels um control via spy instead of just a uh Sort of single pin doing the neopixel protocol You think that's true. I'm not super familiar with like the trade-offs though. Is that faster or slower or That part I don't know necessarily Now we've got our files. They're actually named the same thing That the script has I don't know what they sound like so I guess we'll find out when I play one I'm gonna let it wait a second so that we can Actually get to the loop Here we go Okay, yeah dip goes down in pitch It kind of like sounds like that but rise Sounds like that other way I assume that's which ones which I still don't actually I didn't look but one of them sounds like that The other one sounds like the other one. So And that's which ones they are it did work fine once we renamed everything We mentioned about these buttons being wrong too Or I mean they're not wrong. I I don't know what's wrong You know It feels like github is wrong because github knows the name of the file and just changed it randomly Um, I mean not randomly it put the folder in the name. It's not like it Just shows it out of thin air, but it did just change the name for Some reason that's unclear to me at least So weird it really should not like it knows the name of the file right there It just should not what's wrong with just serving it as the file it is It seems That seems like it's gonna break so many things that would just assume that the name of the file is gonna be correct Oh, we're on glue now That is weird. I don't like that Microsoft if you're listening, please don't do that Right new pixel needs the right timings with the other you can have a lot of jitter The signal and it won't care. Oh, I got you. Okay with spy. You can have more more jitter And it's not as sensitive. Basically. It's like a more resilient to weirdness So we might as we're almost to the end of all of these we might as well Just go ahead and run through all of them I probably won't do all of them on the blue fruit, but I will check a couple on the blue fruit And then I'll also check maybe one or two other projects from the learn guide system just to make sure that there's no No issues with those Again, this is kind of like really really really throw testing A lot of times I would do maybe not quite as thorough not run every single example But again, this is like one of the things targeted at the newest users Um, like targeted specifically for the newest users. So we really really don't want anything To be going wrong with it because they're not gonna understand it Um, and actually if I would read better, then I would see that this is actually the expected thing here, which is that This one doesn't work on the Express which I'm sure this page probably tells me. Yeah. In fact, it's like Big and orange right there and I scrolled right past it And there's a picture of a blue fruit and I scrolled right past that um And so yeah, even users that are not new users are Gonna overlook stuff sometimes I just did Can't actually use this one, which is fine And then I think that's actually the last one though. So we did make it to the end And to get creative. This is probably more of like a prompt like yeah Okay, but there, uh, there are some links to other guides though. So Touchpad or PWM Oh, but okay, but that's for the servo I think is the latch probably Yeah Ah, you turn it it's acceleration. Okay That's a neat idea. I don't think I've ever seen that before Do you actually rotate the board as as if you you know, as if it were like a combination lock As if it were like one of these spinny locks right here. You rotate the board It uses the accelerometer to know You know what orientation it's in And then the different points are mapped to letters So you set your combination in some series of letters. That's actually really cool. I don't have the servo Ready to go. So I can't really hook this up For myself. I mean we could do something other than the servo um I probably would rather test something that I can But I don't need external hardware for If there if there is anything I guess it's also You're not going to be the case but broken picture So this one's like makey makey pretty much Had all that fruit right here basically Touchpad so I could probably run this one Just try it with uh Obviously, I don't have the limes, but I Bet you the touch pads work Remainance a lot of jitter and the bolts come loose That star spy has clock and data signals Oh and outputs as well signal inputs and outputs speeds are much higher because the clock separately synchronizes the data Rather than the neopixel a method of extracting The clicking from the single data line. Oh, I see. Okay, so That stars have a separate clock signal going up and down at a known You know static frequency or whatever I this is my understanding again, so I don't I could be wrong still But that's what I'm understanding what seagrover's saying here and then A neopixel just it has just the one line the data line, but it It kind of toggles it Not only to represent data, but also to represent the clock speed Uh, which does Does sound familiar because I think neopixels are pretty picky about The speed of everything happening Difficult for me to touch one and not the other. I guess that's where the limes come in look like Got all of those working independently though, so Get here It's the url Which can be slower on the dot star for the same reason. Oh interesting. Okay So if you if you specifically want slow animations, it gets difficult because you have to keep up the clock speed For it to tell time never thought about that Whereas on the other one you could just slow down the clock signal You're not interfering the data. This is so weird that it would change the file name. This is like Some of the things people do sometimes in software just make no sense to me like somebody spent time Writing logic that changes the file name And like 95 plus percent of the people who use it are going to assume that it doesn't do that and they're not going to want that No one is going to assume that github is just randomly going to change your file name, right? Like such a bizarre thing for them to do. Here's our actual piano That's some color action And tones when we touch each of the ones Oh interesting switch Oh continue So the switch is like a main switch if you turn it to off Whatever way that is it will uh It will not go through the rest of the stuff because it continue I don't use continue very much. So it throws me for Pardon the pun. It throws me for a loop a little bit when I see it um I don't know it's just not It wasn't a basic building block that I learned very early in my coding life. And so it just I don't uh It's not something I I tend to use regularly There are there have been a few places where I found a need For it specifically and it was like the best tool that I came up with to do the job But a lot of times the the way I write code ends up being differently enough that I don't end up using it Um I forget about it a little bit But I think that's what's going on here if the switch if this trips then this will cause it Not to do any of the rest of this stuff and instead just loop back around Um and check the switch again and it will just keep checking the switch until It's flipped to the other orientation then it will allow it to go on So that is like it's like a you know override power override switch If that's off then you can't play any songs. I almost just tried to pull up the camera, which of course we can't do Uh, I guess we'll go in here at least See something I saved this no not yet. Okay. How's it going Johnny? How are you doing today? Yeah, Dan says that's totally weird Seems like a miss feature Okay, so our switch is off which means yeah, we can't play so if I touch the Touch pads nothing happens. And so if I flip the switch I'll stop printing that stuff And now I can touch we get lights we get sound and again, it's probably not getting picked up. Maybe if I pull it up here On both sides And the edge How's that for a song? You see my face lighting up cannot make out the colors necessarily too much Basically each of these touches has a different color Well, it's a different sound and this camera is not it's all washed out. It's not going to pick it up very well but That is working fine Be a lot cooler if we had lines, but it does work. So Count that one as a win Um What else is there another one that well, let's do the let's jump to the blue fruit I've done all this on the express so far Let's test out a bit on the blue fruit as well Because we do want to make sure that we're not breaking it on that device either because it's you know The same kind of thing right these are both targeted at very very new users so we don't want to like turn them off of You know circuit python or programming in general or anything right we want it to be super duper easy Because that's the purpose of this library and these devices There are other devices that are you know have more More complex functionality and don't have helper libraries that make everything quite as easy but these are like Really really meant to be able to just hand someone who has no programming or electronics experience Uh, you know spend maybe five or ten minutes showing them a few things and then they can like Take it from there and run with it and make their own projects with it like that's The uh the level of user like someone brand new should be able to With a minimal amount of direction should be able to uh start making stuff right away with it so Anything that does go wrong tends to like really throw them off Um check this one out to 117 Check out and i'll just use the python versions. We don't need this isn't built into bluford. Well. Yeah, because otherwise it would be Now i'm second guessing myself. This isn't built into bluford is it? I think so. I think it's built into express because there's less room Ram maybe much Storage space or ram that's the ultimate constraint that limits it but Oh, okay, so this won't be uh samd. This will be nrf Okay, not built in in fact. There's nothing built in So we will be able to just copy this put it on our bluford And then we'll know that we are uh Using it that doesn't have a frozen end one I used dot stars exclusively for all those reasons one of the best parts uh is you can also do super slow Software spy routine on an old slow processor Synchronous protocols are much more flexible Bring this on the circuit python repo down one. Maybe that it doesn't do it from trick c redirect It just downloads in the browser That is so weird though. I shouldn't do that um Copy that we got the bluford plugged in. I'll probably update the bluford. I have no idea what version we're on here. I'm sure it's Probably out of date. I don't know. I don't recall the last time I used the bluford Okay, it's not as old as it could have been truthfully 710. That's pretty Really new so this is bluetooth something Advertising I don't think we need this. I think it's a uh, I think it's a stock sample Try this one first Oh It has no touch a7 You notice that there is not one marked a7 on the blue fruit actually Maybe that's just an actual hardware difference. There aren't very many but Maybe one of them It does look like this was targeted directly at the express I Bet you that everything probably works save for the a7 would be my guess The Oh, there was a uh Oh, I see Huh interesting. Okay The if you touch either or you get these branches if you touch both you get this one That does a third thing if you touch both each one has their individual action and a third action if you're touching both Um, yeah a7 tx is in the spot, but it doesn't have the a7 on the silkscreen. I wonder It may not be able to support touch On that pin. I guess we can always try it, right? Well, but it would be called I guess it would be called it would be called touch, uh Touch tx I do know not every pin Interesting. How could that Pasting is not working, right? I have this is, uh This is deja vu. I've had this before Did it again too. Oh Okay X Good to just try it in the code. I figured this would be super quick and easy to just test and look here. Yeah There totally is a tx I figured that would be super quick and easy. I don't know the uh, the pasting does not want to work right on this, which I Think I've seen this before and I think it was on the clue, which is the same Main chip as this. I wonder if uh, nrf has a more general problem with pasting into the repl I think maybe it's not processing correctly when we paste stuff. It's not receiving everything that we pasted Really? So I won't actually print anything when it's because I already flipped the switch Which one is it two and three that have the uh, yeah for those Find a place to grab it that I'm not touching anything else A3 does not actually respond very well Yeah, A3. I don't get anything on Thought I did once. Is it red? No, then A2 is blue I guess it'd be a little pink on You have the screws on there as well And the gizmo so like this is kind of connecting some of these pins to other stuff It could cause just enough interference that the touch doesn't want to work right I do know touch input on pins like this is kind of a Very analog thing like it's looking for uh different analog inputs and sometimes You know more or less stuff connected or longer or shorter wires and stuff like all of that In factor into what it's reading I think there's actually some tuning you can do as well Uh lower level than this library right this library wants to make everything super high level You know don't worry about the details, but Um, I think if you do it more manually you can Put it like a threshold or something that Changes the sensitivity essentially Also, I think even like ambient stuff like uh humidity and stuff maybe in the air I think can affect that possibly um Your pixels were cheaper and they have rgbw Much of the time you have plenty of cpu to waste that's true I think this might be a browser Oh my gosh Well, I was In In firefox Firefox That is even more silly Oh my good I get the same actually That's not You're saying it didn't actually do some Ran into that when I was doing the Blue fruit examples rework for picon ran into, uh, which Yeah, okay. Yeah, you put a cross out on the uh, I see Yeah, that's true the blob versus like the file versus the uh the Page versus the file that's another distinction. Yeah, so he did Cross out there. So it's not different. That's not different in browsers. I think which is good, right? That would be Even more bizarre for a browser to decide to change The name of a file that you are downloading Um It's bizarre enough that github seems to be choosing to do that a browser would be even weirder Touch sensitivity is automatically adjusted each time codepy runs Look at the environment pin capacitance, etc. That's why it's not a good idea to touch any pins. Oh Uh, I don't remember if I was touching it or not, but I do I mean the screws are all screwed in and I assume like Being connected to the gizmo could probably affect that as well, right? um Like that could be throwing things off as well Would not be surprised at all The tx pin does work though, which is uh in here Yeah, it's a print say seven still but it plays its tone now and Changes its lights to the color So let's do just a few of the non-project ones real fast And then if uh, if everything is still looking good, then I'll leave feedback on these prs Let's do okay, so like this is the most basic one. We shouldn't have any trouble with it Red led on Yep Slide switch we know the slide switch Uh, we know the slide switch works because we did it in the piano. We know tap works because we did it in the piano Uh, let's skip shake for now Let's do neopixels And I guess we did some neopixels already. Maybe we should go back and do shake. Actually, I'm curious compared to the other one Neopixels red works fine actually Oh tap that's a different tap though. That's uh that's tap accelerometer detection not touch input shake I do still I don't get it on default, but we did have to lower this one, right? It was uh, what was the big threshold or 10 is where I found it to be a lot more, uh easy to trigger neopixels light sensor One of the other differences. Got a left baseline Works when I put the light on it Gizmo connections could foil the ability to sense the touch. I got you And it seems like it's that one pin is not doing it. So I wouldn't I would not be surprised if that something But I think I have another Bluford around here somewhere acceleration No, this is probably working because the shake worked Actually, I don't think I tested this one on the cpx think of it But it you know the tap and the shake are both ultimately using this so And we definitely have the edited library, right our library definitely Do do still Okay, so this is its own a whole other this have like Problem this Build the dock could happen with Yeah, the the mpy cross. I wonder if anything weird will happen to the mpy cross That's done like when a release is made I don't think so, right? It's because it's gonna just ignore this basically Pretty much all the existing infrastructure is just not going to care that this exists The one place that's changed to handle it is inside the core and that seems to work fine We do have the newest one. It's just there was not actually a change You know in anything that matters for the Bluford so Yeah, we should definitely expect for this to not Change anything on the Bluford which hasn't so far so It seemed to be in the right direction here be interesting to Freeze it in That's definitely beyond the scope of what we need to test for this So a button pressed red led on and it doesn't have an off but Stop sprinting your uh Never setting that back to false so Okay, uh, I'm pretty satisfied on both of those. I don't I didn't see anything On either one really that seemed problematic It doesn't have overview Most always the first page is called overview. I think we still have that that was a while ago be in here still, right? Here we got like 50 something Gained quite a bit of space. Honestly. This is actually really good 5900 right Got that like 4400 bytes. Um, I'm gonna Do the other one as well I guess, you know, one thing we didn't check was the square wave Should maybe make sure that functionality works because I got merged in I think the way this works is you just do Yeah, start tone and then you can do waveform Sign is the default but you can do square I don't even know if these are these might not even be strings. Honestly Yeah, no, they're not frequency duration waveform the one It would be square Could also import it and use the name for it, but uh, okay, so this I guess though the reason is because this We're using yeah, so we're This was made after This was made Uh after Well, it was made before the square wave stuff was merged in So this probably started from main Before the square wave stuff existed therefore it's not in this branch when this gets merged into main though You know, then it will contain both Uh, so yeah, we would not expect the square to work When it's updated though to main then then maybe it would work Then I mean then I believe it would work not really maybe I think it would and then I don't think we really need to mention the Blue fruit in this one because the core pr doesn't really affect the blue fruit at all um the library pr You know kind of does arguably obviously it because of the nature of it. It shouldn't affect it So we and we tested it and it didn't and that's good. That's what we want to see um But you know like arguably it it could have affected it where this change in the core absolutely cannot affect anything on the blue fruit because The only files that it touches are the Express ones I guess when we Update the fruit well no because it's not frozen in so yeah even updating the frozen module still will have no effect on the blue fruit The blue fruit doesn't have a frozen module. So I don't think we need to mention anything Blue fruit wise here. I should say also thanks to nerda So weird like it knows Them it knows who they are the pop-up works fine, but it didn't want to autocomplete for whatever reason And it's like the last person to comment you would think that would be pretty high in the list of things to check but Okay About two hours. Let's see I may Call it a night there. Maybe we'll look for Maybe another project to try out I don't necessarily have anything else in mind The other thing I thought about getting into which there's definitely not enough time to really start getting into it was um Network testing stuff Either playing with web sockets, which is something I want to play with in circuit python or um Doing some testing on this requests pr that I saw go by earlier today These were kind of the other things I had in the back of my mind for if we had a bunch of time left after Doing this stuff. So I'll show what I'm talking about and then maybe uh Maybe I'll end up working on it tomorrow on the stream So this issue here is new And it's basically just saying with basic servers With a basic node js server And just a looping client that fetches stuff Eventually It's messed up But pretty much the same server Written in flask python flask Works fine But something about the way the node js server works in combination with the request library or ESP spy stack or something Is causing trouble and scott had asked about native sockets I think what I'll plan on is tomorrow Tomorrow morning during my stream. I'll probably be playing with network stuff I'll probably test this out if no one has done it by then And then I may I think also look into web sockets, which is actually another Another near a doc production Or doc. Well, I thought we could do web sockets and that's what it'll find actually because I just looked this up earlier Top result right there is near a doc Sockets for sir python This is something I'm kind of interested in this is uh This is something I've been playing around with a lot this week for work for my other work Is a web socket server um, it Probably is unlikely to ever need microcontrollers to connect to it directly, but There may be some room for me to like Build a project that microcontrollers do connect to and learn Some stuff that will carry over to my other project. So I may dive into this a bit because I'm getting interested in kind of the intricacies of web sockets and How many of them can connect uh to a server stuff like that so Um, I play with this stuff Stuff is on my mind this week. So Let me catch up with what dan mentioned here. Web sockets gets my vote struts Okay, well probably I mean, I'll probably end up doing some of both this testing on the request stuff. I don't think this will uh I don't think this would take long enough to need a whole stream Um, so we may do some of that testing and then jump into web socket stuff dan mentioned here um Note the equals Ah, so it was the slash weird Hopefully that's like a misconfiguration in github. Hopefully that's like not intentional and they're gonna fix it relatively soon It's very bizarre for it to change the name of the file This makes it seem like it would be a misconfiguration like whatever part of their system chose the response file name Inside the uh inside the response It looks like didn't parse correctly Got the last two Sections of the full path and it should have taken just the last one Probably an oversimplification of it. I'm sure there's probably more going on in there than Then I'm privy to certainly but that's what it feels like to me is something Was parsing out segments and it got uh more than it needed Oh nice opened up feedback on uh Probably does that overwrite the chat That totally does. Sorry. I didn't know uh Back I didn't know about this Repo, this is a repo Their file You'd me in a code of conduct. I had no idea this existed Discussion, what are discussions? That's different than issues Oh, I think I've ever Discussions but we're actually upvoted Anything when I upvoted I think it must Think it must have not done this in the past I'm like I'm like 95 percent sure if it didn't do this if it if it didn't use to behave this way It would have Like the code in the guide would have gotten written with example in it If this had been the behavior all along I'm like 90 plus 95 plus certain that the uh That this code here would have had example in it because the person who wrote this page would have like Downloaded it and then written the code Based on what it what it had I think I think it's or and or like somebody would have complained by now right because based on the Instructions on this page like you go, you know due to do I'm following the extractions I put this code in and it's not going to work the way it is now so like Somebody would have reported that I think by now and again because this is like You know circuit python 101 stuff like very very new users use this It is you know, it's it's pretty far down the list of examples But it's still like amongst the first examples that people use I have to think somebody would have uh You know made a form post or come to the discord with that problem Network stuff gets my vote too, of course. I'm still interested in wrapping up this one. What is this one? 6236 Oh, is that uh, was that the cpx one? No Oh, right I do kind of remember this now And this one fell off of my radar at least I remember Remember back when this guy created I'd be up for looking into this a bit too Because I think you found did you find like found the part of the code, right? So you're do I understand uh correctly cedar your theory is um If we drop this to uh, where does it sit one? One kilohertz. So We dropped this to a thousand or less theoretically we think then the We'll get the full range of brightness And then basically what we need to do is try that validate that it works to give us the full range and then also make sure it doesn't cause any other issues Okay Yeah, that seems Seems straightforward enough we could give that a try as well I am uh, I am always I'm always a bit of a sucker for display IO stuff This is kind of tangentially related to display IO stuff. So this is like In the world where I'm spending a lot of my time in the course. So I'm pretty familiar with it Uh, and I'm always willing to dive in and and look at stuff. So Maybe we will I think we will uh, I will try to take a look at this as well because I It shouldn't I don't think it will take too long just to make a build and test that out. So Um, we could probably have enough time to do that and then get into some network stuff as well Tested it 500 her 500 hertz worked fine We need a test for audio interference. Okay Audio uh on the speaker or somewhere else So like we'd run this and then also play some stuff on the speaker We can do that Okay Yeah, thanks for mentioning it. Um Yeah, I do I do remember back when this came up, but it definitely had fallen off my radar Um, so yeah sneak, you know a bit of a sneak peek there for uh for what tomorrow's stream will be So tomorrow morning at 10 a.m. Uh, which is What uh 12 16 ish hours a little less than 16 hours from now I'll be back. Um Streaming I will not be on the Adafruit channel like right now We're on the Adafruit twitch and uh in youtube as well as I think some other places twitter Um Be some more places.  Um, phome guy On um on youtube phome guy underscore twitch on twitch The easiest thing to do though is if you just come to the live broadcast chat the same chat That's right down below me here on the screen right now I'll paste the links right when i'm getting started in the morning. So there'll be links right in there Um, so yeah, I will work on this stuff tomorrow Thank you to everyone who is watching. Um, thank you to dexter Uh, let's see beata over on youtube dropping some neopixels knowledge on us. Uh, charles. Thanks for hanging out paul Um, keith, let's see. Thank you. See grover's, uh struts. Thank you for Your vote for web sockets. I think we will look into that. So come hang out tomorrow and we'll get into that a bit Uh, ham's lab Johnny Thank you, uh, as always for watching love the factory. Thank you from colorado. Not really you're in colorado I'm not but thank you to colorado to shippu I think that's the gang we had in the chat today. Uh, so again, thank you to all you folks and um, yeah


In entertainment news, Britain's Queen Elizabeth turns 95 on Wednesday. It'd be the first birthday of her reign without her husband of 73 years, Prince Philip. The Duke of Edinburgh was laid to rest on Saturday in a ceremonial funeral at St George's Chapel at Windsor Castle. Philip, who had been at her side throughout her record-breaking 69-year reign, died at Windsor Castle on April 9th, age 99. The royal family is on a period of mourning which continues until Thursday, two weeks after Philip's death. Her birthday will also pass without the traditional gonsolutes in Hyde Park and the Tower of London for the second time.


We want everyone in West Sussex to live a good life. The life you want to lead is our plan for achieving this ambition in our adult social care services. It will guide how we help people who need care and support and is based on what you've told us is important to you. The strategy connects with our council plan and our commitment to put residents and communities at the heart of everything we do by working closely with communities and partners. Over the next three years we will focus on five priorities. One, relationships and connections. We want to see a greater focus placed on the relationships and connections people have with their families, friends, those who care for them and their local communities. Two, empowerment. Support people to take the lead in decisions about their own care. Value and promote the positive role paid work and play in people's lives. Three, home. People have the opportunity to live in a place they can call home. They should feel supported, safe and connected to the people they care about. Four, addressing gaps. We will focus on the gaps in adult social care which you told us exist. They are the shortage of care workers, support for people with autism and those who have an acquired brain injury, moving from children's to adult services also known as transitions and paying for care. Five, inclusion and tackling inequalities. We want all adults to have an equal and fair chance to get the support they need. We also want to help people and care organisations benefit from improvements in technology. This strategy will help us make the best use of available resources and to meet the standards of care and support that people in West Sussex require and deserve. It will also help manage the challenges adult social care is facing now and in the longer term. Find out more about the strategy on our website westsussex.gov.uk forward slash a s c strategy


Hello, this is Laptop Media, and today, we will show you how to open the HP Spectre X360 14 and what's inside of it. This device is pretty easy to get inside of. There are only 4 Torx head screws you need to undo. After that, pry the bottom panel with a plastic tool, starting from the hinge gaps. Please remember, it would be of great help to us if you just hit the like button and subscribe to our channel. That would motivate us to make even more and better videos for you. Inside, we see a 66Wh battery pack. It provides nearly 12 hours of web browsing or about 10 hours of video playback on a single charge. To take it out, unplug the battery connector. Then undo all 6 Philips head screws and remove it from the chassis. Here, the memory is soldered to the motherboard. The maximum configuration offered by HP comes with 32GB of LPDDR4X RAM, working at 4266MHz. Storage wise, there is 1 M.2 PCIe X4 slot for Gen4 SSDs. Here, the cooling looks like a miniaturized gaming device. You get 2 heat pipes for the CPU and a third one that is passive. Two tiny fans blow the heat away from the two small heat sinks. If you'd like to see more disassembly videos of the latest notebooks we would highly appreciate if you hit the like button and subscribe to the channel.


First Lieutenant Tanner Oxer, I'm with Apex Battery 282FA. So today we're out here supporting our brother and sister battalions during their combined arms live fire exercise, Cal Fex for short.  The smear evidence of it is it's a true test of all of our systems. It's a test between the forward observers, the fisters, battalion, us, our communications equipment, our fires equipment, all of it has to work together pretty seamlessly to make everything work out just right. So I am a platoon leader, first platoon in Apex Company, and along with my smoke I'm an overall organizer and supervisor. I run between the FDC Fire Direction Center and the guns, making sure that everything is going smoothly. If there are any issues, I make sure that I'm at that point of friction as well as my platoon sergeant, just to make sure everything goes as it should. We have already been through an entire artillery table progression all the way from table one all the way through table fifteen. So we've had true tests of section, which is table five and six. We've had platoon training, which is tables eleven and twelve, and then we've had battery training, which is fourteen and fifteen. So we've fired a lot here in the past, probably six months, making sure that everything was good to go and our chiefs are good and certified. And now we're just out here putting it all to use. I think the goal of this training is just to show that everybody can work together, form a pretty lethal force without too many hiccups along the way. Honestly the guys, thirteen bravos and Julietts, they're characters for sure. You've got to be a little bit goofy to be in artillery and it always works out, you're always having a good time. You know there's a lot of weight in, so you get to know everybody pretty well. Self-propelled howitzer system. So it's a 155mm, it's the same as the triple seven, round wise, except it can move itself, it doesn't require towing or spade digging or anything like that.  I think specifically the Alpha 7, our digital systems are leaps and bounds ahead of where they were with the Alpha 6. It just makes things really easy. Now that's not to say we don't train degraded, we train degraded every week, every other week, but the Paladin it just makes life really simple, really easy. Everything you need is right there on the screen that the Chief is looking at. I'm Sergeant Katelyn Wilson, I'm assigned to 2A2FA, I'm a section chief for Alpha 1-2. Today, this week we've been doing a califex, land protective fire over another battalion's movement, way down, wherever they are, just basically making sure they can maneuver safely and if you're never treated, have to or assault through. It's a great training to conduct for multiple reasons, number one, we've got to make sure the infantry guys down there are able to maneuver and get around where they need to be. We have the ability to shoot a loom round, so if it's too dark or they can't actually see, we can shoot a loom over the sky so they can see through the night. If they need to smoke out of the area, we can lay a suppressive willy-peak, just making sure that it keeps the enemy shook up and not know what's going on next. I'm serving as a section chief and I'm here to verify data, I'm here to make sure each round and fuse is correctly placed into the tube and into the breach and overall making sure my guys practice safety 100% and have a good time. This is training right now but training can lead on to the real world. So it's a four-man crew, my driver, he makes sure we can get on azimuth and he leads us to where we need to go. He has a special little navigation system going on in there. My number one man, he makes sure that the breach gets primed, most of his time is conducted maintenance but in a fire mission scenario he makes sure that the round gets loaded properly and primed and he also hooks the lanyard and pulls the string. I have my gunner behind me, he loads the charges, other than loading the charges he kind of is a secondary verification for me, making sure I'm verifying the data correctly and everyone's a safety. So we need to be able to do our crew drills properly, shoot rounds safely, communicate with our FDC and battalion effectively that making sure we're not shooting too close to friendly whether it's our guys or other allies.


Hello and welcome to this session. In this session we will discuss additional general for mutually inclusive and exclusive events. First of all let us discuss mutually inclusive events. Now let us consider a sample page of tossing 3 coins. Now here you can see page of tossing 3 coins. Now here F3 presents head and T represents tail. Now whenever you toss 3 coins these are all possible outcomes that is getting all heads. When getting head on first coin getting head on second coin as getting a tail on third coin these possible outcomes. So sample space S is a set containing all these elements. Now here this is equal to 1, 2, 3, 4, 5, 6, 7 and 8. So total number of outcomes is equal to 8. Now let us consider two events. Event A is getting exactly one head and event B is getting at least two tails. Now let us write elements for event A. Now event A is getting exactly one head. Now here these are the outcomes available to event that is where we are getting exactly one head. Now event A is a set containing elements T, T, H, T, H, T and H, T, T. So number of favorable outcomes for event A is equal to we can write elements of event B. Now event B is getting at least two tails. Now here you can see these are the outcomes favorable to event B. So event B is a set containing elements T, T, H, T, H, T, H, T and T, T, T. So number of favorable outcomes for event B is equal to here. Now let us see outcomes that are favorable to both the events A and B. Now there are three outcomes that are common to both the events. So A intersection B that is event A intersection B is a set containing elements T, T, H, T and H, T, T. Now number of favorable outcomes for event A intersection B is equal to 3. When the two events have some common outcomes then they are called usually inclusive events. Now see in the brain diagram there is a common area in both the events. So these events are inclusive events. They are also called not mutually exclusive events. So here A and B mutually inclusive events. Now we have to find probability of event A or B. This is written as P of A or B. Or we can write it as P of A union B. Now you find probability P of event A or B. We make use of addition rule that is probability P of event A union B is equal to probability of event A plus probability of event B minus probability of event A intersection B or we can write it as probability P of event A or B is equal to probability of event A plus probability of event B. Minus probability of event A and B. Now let us find probability of event A or B for above example. Now here total number of outcomes is equal to 8. And number of favorable outcomes for event A is equal to 3. P of event A is equal to number of favorable outcomes for event A that is 3 upon total number of outcomes that is 8. So probability of event A is 3 upon 8. Similarly probability of event B is equal to 4 upon 8 which is equal to 1 upon 2 probability of event A intersection B is equal to 3 upon 8. Now we know that probability of event A union B is equal to probability of event A plus probability of event B minus probability of event A intersection B. So for above example probability of event A union B will be equal to probability of event A that is 3 upon 8 plus probability of event B that is 1 upon 2 minus probability of event A intersection B that is 3 upon 8 and this is further equal to 1 upon 2. So probability of event A union B and probability of event A or B is equal to 1 upon 2. So using addition rule we have found probability of event A or B. Now let us discuss mutually exclusive events. Now mutually exclusive events are disjoint events. That is the two events will have no common answer. Now see this wing diagram. Here the two sets have no common area. So A intersection B is empty set. Now for mutually exclusive events probability of event A intersection B is equal to 0. Now addition rule for mutually exclusive events is given by probability P of event A or B is equal to probability of event A plus probability of event B. For example in dozen of three coins if we take event A as getting exactly 3 hats then event A is a set containing single element h h h. The number of available outcomes for event A is equal to 1. So here probability of event A will be equal to 1 upon 8 and event B is getting at least 2 tails. Now here you can see these are the outcomes available to event B. So event B is a set containing elements t t h t h t h t t and t t t. Number of available outcomes for event B is equal to 7. So probability P of event B is equal to 4 upon 8 which is equal to 1 upon 2. Now this is event A and this is event B. And here you can see the two events have no common element. So A intersection B is equal to empty set that is denoted by 5. Therefore probability of event A intersection B is equal to 0. So probability P of event A union B is equal to probability of event A plus probability of event B. Now probability of event A is 1 upon 8 and probability of event B is 1 upon 2. So probability of event A union B is equal to 1 upon 8 plus 1 upon 2. Now taking LCM of denominators that is LCM of 8 and 2 is equal to 8. So in denominator we have 8. Now in numerator we will have now here we know that 8 into 1 is 8 and 1 into 1 is 1. Plus 2 into 4 is 8 and 4 into 1 is 4. So this is equal to 5 upon 8. So probability of event A union B is equal to 5 upon 8. So in this fashion we have discussed how to find probabilities of mutually inclusive and exclusive events using addition rule. And this completes our session. Hope you all have enjoyed the session.


Good afternoon everyone. My name is Jane Sugimura and I'm the co-host today for your condo insider program. And this is the weekly show about condominium living and we're here to discuss issues that we hope are relevant to people who live and work in condos or have anything to do with condos. And today as our guest, we have Catherine Piazza. She's the enforcement attorney with the Hawaii Civil Rights Commission. Catherine, thank you for being here. Nice to be here. Why don't you tell us about the Hawaii Civil Rights Commission? What is that? The Hawaii Civil Rights Commission was created in 1990 and we enforced anti-discrimination laws and employment, housing, public accommodations and state-funded services. And why would that be of any interest to somebody who lives and manages or works in a condominium? It would be important because condominiums are subject to the fair housing laws, which all board members should know about. And it's important if they do receive a complaint to know how to respond to a complaint and also know our process and what we will do and what will happen during that process. Okay, well, who can file a complaint? Can an owner file a complaint or a renter? Or who can file a complaint? Well, let's talk about housing complaints. Okay. A housing complaint. So who can file a housing complaint? In terms of housing complaints, almost anyone could file a housing complaint. If they were harmed, a tenant, a guest, a tester, legal aid in Hawaii has testers. They could file a complaint if they alleged that they're harmed, then they can file a complaint if it's within 180 days. They can file a complaint at our office. They can also file a complaint at the HUD office, the Housing and Urban Development within a year. And they can file, rather than going through our agency, they can file directly in court within two-year period if they feel that they're harmed and they are in a protected class. Okay, protected class. What's a protected class? Well, in Hawaii, we have specific protected classes and the protected classes are race, color, religion, national origin, sex, disability, familial status, sexual orientation, HIV, age, national origin, and national origin are protected classes in Hawaii. And so what kind of complaints are filed with the commission? Give me an example. The most common complaints in housing are disability complaints. Okay. We also see familial status complaints and retaliation complaints. What's, give me an example of a housing complaint. Housing complaint, they would file under all these protected classes, but the most common would be a disability. So it'd be something like a person requests an accommodation because they have a disability and then the housing person or the board member doesn't grant the accommodation and they file a complaint at our office. Okay, so that might be like a wheelchair? Yes, that, if someone is in a wheelchair, okay, so if someone's in a wheelchair and they want to make a modification to their unit, such as widening the doors and the housing provider does not grant that request, they could file a complaint that the housing provider did not provide a reasonable modification to their unit. What about doors? Cause doors are sometimes really hard for somebody in a wheelchair to open. Yes, so a modification could be that they widened the doors for their unit. And so the, if they made that request and they were able to provide verification that they needed that modification and the housing provider did not allow them to make that change, then they could file a complaint at our office. Well, what about like I said, doors are hard. I mean, they're hard for people in a wheelchair. They're hard for people who are elderly or maybe if they're disabled and they're on crutches and the doors are heavy, like the front door. And so what if you said, you go to the manager and say, I'm really having a problem with the doors. Is there something that the association can do? So maybe I can hit a button or sometimes you go and they have these sensors and the doors open automatically? Yes, and that's great that you mentioned that because essentially a lot of tenants or residents won't make a formal request. They will go to a manager on property or maybe a board member and say, I'm having difficulty with pushing the doors open. And so it's important for that person to know that that might be a modification request or an accommodation request. And to take it to the board and let them know that that person made the request. In other words, they can't, you can't ignore it when somebody asks. No, you cannot ignore a request. And that's what we see is that even a delay would be considered denial. So if someone made a request two months prior and then they took it to the board, that could even be a denial because they delayed it for two months. And what happens if you, if there, what happens if the commission finds that there was a denial? Well, so our process I can kind of would be that we, the person would file the complaint and then the HCRC investigates that complaint at that point where neutral we will interview the board members, we will interview the tenant or the resident who complained. And then a reasonable cause determination is made. And that's when it gets transferred to the legal team. The legal team will then review the case and we will try to settle the case. Oftentimes in settlement, complainants will ask for monetary relief which includes emotional distress. It would include actual damages. And if we're not able to settle it, then we would go to a hearing and then we could ask for punitive damages. We could ask for attorney fees. And so it's important to know that in the beginning, we are just investigating it in the beginning but at the same time, there may be large payouts that the board of directors and the association will have to pay if we do find a violation and have to go to hearing. And you're talking about fines in addition to attorney fees, if you're found. Yes, we could do civil fines if we proceed to an administrative hearing, yes. And when you talk about civil fines, how much money are you talking about? Well, it would depend upon what the hearing's examiner will award. But one violation under our statute is $500. So there might be multiple violations and then there's also emotional damage to the complainant which can go from, I've settled cases from 5,000 all the way to 75,000 to $100,000. So it can cost the board a lot if they decide that they don't want to comply with the law. So that means that if they're found guilty of denial of an accommodation or discriminating against the complainant, that means that they might pay a fine of several thousands of dollars as well as paying an award to the complainant. Yeah. So, I mean, this could be very expensive. Yes, it could be. That's why we do encourage settlement during the investigation and we try to get the complainant what they would want, either the modification or the accommodation and disability case. And then we try to encourage settlement after we find a charge. However, often, you know, if they do not decide not to settle, it becomes even more costly as it goes on into a hearing and it could even be appealed to circuit court. So these cases can go on for years if the board members decide to continue to fight and... Let me ask you about another one. We were talking about, you mentioned familiar status is a protected class. Yes. Familiar status mean to people who have never been involved with the Civil Rights Commission. Right. Familiar status is a protected class in Hawaii under state and federal law. And it means that a person is protected under this class if they are domiciled with a minor child and or they are trying to gain custody of a minor child. And in Hawaii, we often see that a lot of families have Hina'i relationships. And so that is also protected under the Hawaii law. So it would be a family with a minor, who is living with a minor child. And in Hawaii in particular, it would also be Hina'i children. And so what kind of complaints do you get relating to familial status? We see complaints ranging from discriminatory statements such as in their advertisements when someone posts something on Craigslist for a rental, they might say, no children allowed. And that's not permitted? No, it's not permitted. Because it particularly points out children and it excludes children from the rental unit. The other type of case that we see is policies that prohibit children from playing on the premise. You mean like house rules? Yes. House rules that use the word children. Yes. So that should be a no-no. So the no-no for condominiums is look at your house rules and see if the word child or children appears anywhere in the house rules because more than likely those rules are probably discriminatory and in violation of this familial status rule. And we do understand that there is maybe a concern for somewhat skateboarding on the side of the, on the sidewalk. However, we would recommend that you say no skateboarding rather than no children skateboarding. So you want to just make it as neutral as the rule as neutral as possible. And oftentimes with familial status, you may even put in a different protected class. So it wouldn't be fair for someone to say no disabled people on the sidewalk. Or, you know, so sometimes it's housing providers can replace these protected classes to see if it would be a violation. So that means that if you had a swimming pool and there were signs on the swimming pool that said no children without adults. That would be discriminatory? Depending upon the reason and the safety concerns, but you would want to look to the rule and see why that rule is in place and try to make it so that there is a rational reason for that rule. If no children can be in the swimming pool without adults, why? And it's just like saying no disabled people can be in the pool without an adult. So the board members are concerned with safety, but that's also the parent's concern. That's not actually the association's concern. And it's better to make neutral policies, neutral rules that don't reference children. And so you're saying basically the house rules, they have legal consequences. So maybe the association, the board, should take a look at their house rules to see if the children are singled out in the rules and maybe disabled. And they should really look at their house rules with a view to try to pick out those provisions that seem to target a specific category of people. Yes, I would recommend that they look at their house rules and consider whether or not they can revise their house rules to not pin out a particular protected class. Okay, well we're gonna take a break right now for a little while and we're gonna come back and talk more with Catherine. All right. Okay. Hello, this is Martin de Speng. I wanna get you get excited about my new show, which is Humane Architecture for Hawaii and Beyond. We're gonna broadcast on Tuesdays, 5 p.m. here on Think Tech Hawaii. Aloha kakou. I'm Marcia Joyner, inviting you to navigate the journey with us. We are here every Wednesday morning at 11 a.m. And we really want you to be with us where we look at the options and choices of end of life care. Aloha. Aloha, my name is Josh Green. I serve as Senator from the Big Island on the Kona side and I'm also an emergency room physician. My program here on Think Tech is called Health Care in Hawaii. I'll have guests that should be interesting to you twice a month. We'll talk about issues that range from mental health care to drug addiction to our health care system and any challenges that we face here in Hawaii. We hope you'll join us. Again, thanks for supporting Think Tech. Okay, welcome back. We are here with Catherine Piazza of the Hawaii Civil Rights Commission.  And it's really quite important for you to know about the commission and know how it works because if you don't know, you could face huge penalties, lots of attorney's fees, and maybe years of aggravation, right? Why don't we talk about disability? Okay. We already talked about the wheelchair and the doors. Can you describe, I mean, how would a complaint be brought?  It could be the person who is disabled. It also could be someone who is living with the person who is disabled. And so they would file a PCQ with our office. And what's a PCQ? It's a pre-complaint. Okay. So they file a complaint, a PCQ. They can either do that in our office on Punchbowl Street, which is 830 Punchbowl Room 411. They can just walk in. They could also file it by going online at our website. And so they can file that and then it would be assigned to an investigator. Does it cost money? No, it does not cost money. Okay. So they can file it with our office and it would be assigned to an investigator and they would interview the complainant or the person who is filing on behalf of the disabled person. And then it would be investigated. And so they would gain evidence from the complainant as well as the, we call them respondents, but it would be a housing provider. And then the process would begin. Okay. And we were talking about, the request would be to make a reasonable accommodation. What is considered a reasonable accommodation? So we talked about the person with a wheelchair and the door is not wide enough. So he would want to make the door wider. Yeah. That would be considered a modification because it's a change in a structure or the unit or a common area. Reasonable accommodation would be a change in a rule or policy. And so accommodation would be, for example, if their house rules are on the internet and they need a hard copy for their disability, that could be a policy change that they're requesting or another common accommodation request is a need for an assistance animal. And then the other common accommodation request that we receive is a parking stall that may be needed for someone who is disabled and it needs a parking stall that is close to their unit. Okay. And so how do these complaints get to you? Is it that the person who is disabled makes the request to the board, to the association and the association turns them down or how does it get to the commission? Yes. So the complainant or the person who making the complaint comes to us. It could happen in many different situations as you speak but that's a common example is that they make a request to a board member. They could even make a request to a maintenance worker and nothing happens. So what you're saying is that for people listening, they should train their staff that if somebody comes up to them and says, I'm disabled or I need to have some kind of a button so that the door opens because it's too heavy or I need some assistance or I want to have an animal help me. Right. It's very important for the board members to be trained, for the maintenance staff to be trained, for anyone who deals with tenants or residents to be trained on fair housing. That is one of the number one mistakes is that there's no training for the staff. And so if the request is made to an employee and the employee does not pass that onto the manager and it doesn't get to the board. Exactly. And what if the board says, well, jeez, nobody told us. Does that excuse them? No, they're still liable because that person is their agent and they're responsible for training that person who was informed of the request. Okay, and so with this reasonable accommodation, it might mean, okay, we have to allow a change. Who pays for the reasonable accommodation? Let's say opening up the door of the unit. Who pays for that? Because modifications are more costly than accommodations. Usually the tenant will pay for the modification. Or the unit order. The unit order, yes. Or the person who is renting the unit, if someone wanted to move in and they said that they would be willing to change the doors, that could be a possibility as well. But in terms of accommodations, because they don't cost much money for the housing provider, it's usually the housing provider who is required to pay for the accommodation. So let's say you have a wheelchair and you want a ramp. Can you make the association put in a ramp? You can make them agree for you to put in a ramp, but you would be responsible for the cost. And they can ask for construct, to see who you're planning to use to construct the ramp. However, if you do receive federal assistance, such as public housing, they would have to pay for the modification. So I'm not sure if any of your viewers live in public housing, or if their managers at public housing. But this is something that they should look into. They should be aware that they need to say, okay, we need to figure out who's gonna pay for this. What about if you have somebody who moves in, who buys a unit and he or she moves in, and they find out that they're allergic to the cleaning solution that's being used for the carpets? Yes. And it results in a respiratory condition and they have trouble breathing and they complain to the board. What's the association supposed to do to address that? And can they just ignore that? They can ignore that. What I would do is, if I was a board member, I would ask that they provide verification that they have a disability and that they... That's considered a disability. I mean, they may be... Chemical sensitivity would be considered a disability and that they need an accommodation due to their disability. And so if they provide that information, then it's up to the board members to what we call engage in the interactive process. Try to resolve the issue with the tenant or the resident or the homeowner so that they are accommodated and can live in their housing and enjoy their housing. But what if you get some board members and say, you know, that product we buy, we've been using it for years and nobody's complained. That person's a troublemaker. We're just going to ignore her. That would be considered a denial and then we would, you know, proceed with probably, most likely with a reasonable cause determination if that was the reason why they denied the accommodation and didn't engage in the interactive process with the person. And it could result in big fines. Yes, it could potentially end up with big fines for the board members. So in other words, when something like this happens, they should really contact their lawyer. No, they don't have to contact their lawyer. That's the important part about training is that if they're trained to know when someone is making a request or potentially making a request, then it should go directly to the board and then the board should make that decision. The rules and the how to handle a request shouldn't be necessarily handed off to an attorney. And that's another issue is that, you know, sometimes the attorney will charge fees to the tenant or to the homeowner because they were requesting an accommodation. So if they are trained, their staff, they don't necessarily have to go to a lawyer. Of course, if they have a question, they can address it with their get legal advice, but the staff should be able to handle all accommodation requests, modification requests at the facility or at the property. And so the important thing really is to listen when people complain and to basically try to respond to them. Yes. And it's not improper to say, well, geez, if you have an allergy, can you get me a doctor's? That's what you're asking for, right? Yeah, you can, under our law, you can ask for verification that the person has a disability if their disability is not apparent. So for example, in your situation when you explained a person in a wheelchair, there are disabilities apparent. So they're not required to give you a doctor's note to say that they need the doors to be widened. But in a situation where someone has a chemical sensitivity and their disability is not apparent, then a board member or the association can require verification from a doctor to show that they have a disability and that they have a nexus or a need for the accommodation or modification. Okay, so once you get the verification, once the board gets the verification, what steps do they have to do to show that they are addressing the request? Well, they can temporarily approve the accommodation and modification and that's what we usually recommend that they do temporarily approve it if they have maybe something that they're trying to work out. But if they get the verification that they need the accommodation and modification, they should approve the request. Okay, and the approving the request would mean that the association would then have to find some other fluid, cleaning fluid, to use that that is not going to set off a negative reaction with the resident. Yes. What happens if you have a board member says, you know, now we have to go out and get this special cleaning fluid and it's costing us more money. You know, I want you to watch her and if she does something wrong, we're gonna find her, we're gonna ding her. Yes, and you bring up very important. So, I mean, what's wrong with that conduct, with that reaction? Yeah, you bring up something that's very important that we see a lot at the Hawaii Civil Rights Commission is that when someone makes a complaint and then they're retaliated against, that's another violation. So, because they engage in a protected activity by filing a complaint or they engage in a protected activity by just merely asking for an accommodation and someone retaliates by, like you said, you know, in your comment that they are upset because they asked for different chemicals, that would be retaliatory and that could be an actual violation of the law. And so, board members really have to be careful. Yes. And because there are other board members who are present when they make these comments and who knows what's gonna happen if there's a lawsuit and you know, people will have to say, well, what did you say in the board meeting? Why are you taking action against this one resident? She seems to be getting fines for things that are unrelated to her disability but it seems like you're going after her, like you're mad at her because she's a troublemaker. Yes, I would be careful when someone files an action or when they make a request that they treat them fairly, like any other tenant or resident and that they don't threaten them, intimidate them, create any adverse effects because they filed a complaint. Okay, well, we're getting towards the end of the show and but, you know, we have some other issues that, you know, we need to discuss so you're gonna have to come back. All right. And meet with us because we didn't even get to surface animals. No, we didn't. That's the key topic. That's one of the key topics. And so, you have to promise to come back and discuss surface animals with us next time.