So now we're going to talk about period frequency and angular frequency. And this is in the context of oscillations. And for oscillations, it's any sort of repeating pattern of motion. For example, going around and around and around in a circle. Now we've been looking at a specific case of oscillations called simple harmonic motion. And we have a specific equation for that that we've been working with in physics. But instead of working with the equations, let's take a look at a simulation. And this is from the P-H-E-T site. And we've used that throughout the semester for a few things. So here's a simulation, masses and springs, that I've got preset up the way I want it to. And I've just got two different masses hanging out here on springs oscillating up and down. My repeating pattern of motion is the up and down cycle that it's going through. We'll come back to this a little bit later, but you'll notice these two have different motions between them. Now we get to the period. The period is the time for one oscillation cycle. And if I was thinking about this in terms of circular motion, which is where I first defined period, it's the time to go once around the circle. It's got a symbol of capital T. And make sure you're using capital T, not lowercase t. And the units for this is going to be seconds for our standard metric unit. But it could really be any time type unit, so you could use minutes or hours or whatever you need to use to express it. Flipping back over to my simulation here real quick, notice that these don't have the same period. The amount of time it takes mass number one to go up and down is a much longer, larger time than the shorter amount of time it takes spring number three and mass number three to go up and down. So this would have a short period, this would have a long period. Then we get into angular frequency. Angular frequency is also called angular speed if we're talking about circular motion, how fast it goes around that circle. And it's related to the period by the equation omega equals 2 pi over T, where omega is the angular frequency. T is my period that I talked about. If I think about the units for this, I'm going to have radians per second, where the second comes from the period, and the radian comes from the 2 pi because once around a cycle is 2 pi radians. Now we've got frequency, just regular frequency, one word. It's also related to the period by this equation, F equals 1 over T, where F is now my frequency, T is still my period. If I wanted to think about the units, this equation would imply that I've got 1 over seconds, and that's a perfectly fine unit to use for frequency. But a more general equation for my frequency might be the cycles per time. So if I go through multiple cycles, how many cycles do I go through and how much time? When I think about the equation that way, I could also represent the units as cycles per second. Now whether you think of it as 1 over seconds or cycles per second, there's a new unit called the Hertz HZ, which is used to represent frequency. Now these quantities are related to each other. So the angular frequency is related to the period, and the frequency is related to the period. And combining those, we can see that the angular frequency is related to the frequency, where my angular frequency is equal to 2 pi times my frequency. Now if I pop back over to my simulation really quick, notice that a short period has to do with a high frequency. It oscillates up and down more frequently than my slower one over here. So a long period, a large number for T, represents a low frequency or a small number for the frequency. So we can see two different periods and two different frequencies between these two oscillators. So that is our period and frequency introduction.


How did you describe what unfolded in the sixth inning? Kind of crazy, to be honest. You know, obviously, I got ejected for, you know, hitting the top of the dugout with my bat, making too much noise, I guess, so I wasn't happy about it. I didn't feel like what I did warranted an ejection. You know, I know that it's something that I've done before, but when this happened a week or two ago in Toronto when I got thrown out, that didn't have anything to do with hitting the top of the dugout. It had something to do with the home plate umpire hearing something from the dugout and thinking it was me that said it. So, today, yeah, I didn't think I did anything to warrant getting ejected. You know, almost on a daily basis, or a lot of times over the course of the season, I do a lot of things to get our guys fired up. And, you know, I thought it was a big point in the game, very big game against a really good team, a really good opponent. And, um, last thing I'm trying to do is leave that game early and us possibly have to put Tyrone in the outfield or put Judge in the game on a day. He's trying to get the day off and rest a little bit. So, you know, frustrated that I got thrown out, but again, just didn't feel like I did something to warrant the ejection. And, uh, it's unfortunate. I'm glad we got the win. As you mentioned, this is the second time this has happened in recent days. Do you either have to put the bat away or seek an explanation as to what the penalty and or punishment are for that? Yeah, I mean, maybe I can use something else to hit something else. Maybe I can take the helmet to the helmet rack, and that's not as loud, and that'll be okay. Um, I'm not sure. You know, I feel like today I feel like I kind of had a target on my back. Um, as soon as, as soon as I, after Boone got ejected, which we're all fired up about when your manager stands up for you in that way. So, um, you know, I felt like as soon as I hit the top of the dugout, Phil was running over from first base, pointing the dugout, telling me I can't do that and threw me out. So I asked him why, um, you know, and nobody's told me that I can't do that. Nobody's told me that I can't make noise. And again, I didn't do anything to, um, I didn't direct anything at anyone. Um, didn't say anything. So unfortunate situation. I know you're out there on the field trying to seek an explanation. Did you get any kind of feedback from them in that moment? Um, not really. Other than, um, you know, it's just a tough part of the game, I guess. Um, I'm sure I'll hear something about it later today or tomorrow. I actually ran into Judge Tory this morning before the game, awkwardly enough, so, um, I'm sure I'll have a conversation with him in the next day or two. Um, yeah, um, sorry for getting thrown out of the game, but again, I didn't, um, expect to get thrown out for what I did. But, uh, besides that, you hit the ceiling of it. No, God, you couldn't say anything to the, to the umpire, you know? Not today. No, I, I, or, um, or last week either, yeah. But no, I didn't say anything to anyone today. Judge Tory said, um, on Sunday that you did do enough to get ejected in his eyes. Did you have discussion with him about what it was that crossed the line on, um, I don't think it was Sunday, but the last one. Well, I think, um, once I found out I got ejected, I guess in Toronto. After that, I was pretty animated on the field, which I guess was out of line. So, I understand that, but, um, you know, the ejection in Toronto happened a full minute after the bat hit the ceiling of the dugout, and somebody yelled a couple of expletives maybe from the dugout and thought it was me. That was later on, a few pitches later. Um, but today, yeah, obviously there was a lot going on around that time with, with our manager getting thrown out previously, um, and I was making noise, getting our guys fired up like I do it, like I do very often, and apparently it was too much. A field, um, I'll go ahead, Christine. That's where he said it wasn't the bat.  Right. That's where he told you that wasn't the bat. Um, I have not been told that I can't hit or make noise, yeah. But the fact that, I assume you did mention that to you in Toronto when you went to the ceiling today, was there a part of you thinking that they might be looking in the dugout before that? Um, is there a, I mean, I feel like they're looking in the dugout quite often, I guess is my first answer to that question, and my second answer would be, I didn't think I was doing anything to, you know, warrant getting thrown out or even close to getting ejected. So, um, you know, I can understand coming over there, maybe telling me to knock it off or making too much noise. Um, but to come over there, you know, kind of the rabbit ears kind of thing, just constantly looking for something. Um, I thought it was, I thought it was pretty quick. First, do you think at this point, for everybody to say it used to be an official directive? There's no rule in the book that says you can't do that. But I mean, do you need, do you need to say that, A, this is not allowed, or B, you need to get more of it and be more of it? And C right now is open, open to your personal interpretation. Yeah, I'm not sure, I'm not sure what will come of it or what the outcome will be from those discussions.  Well, I would prefer for, um, you know, I guess if we're trying to make the game fun again, like a lot of guys say the last few years, I mean, I don't think you want all the guys sitting in the dugout not being able to say anything or make any noise or anything like that. That wouldn't be too much fun. So, you know, I'm not saying what I did was right or what the right answer is to, but I probably won't do it again tomorrow.


the question is, find the set of values of 2. So basically your f-cache is, right? So what is my outcome for? Outcome, like the values. Why not? Because it's in the numerator. The discriminant e square minus 4, this should be given as minus 4y square plus 8y minus 4 is greater, which means minus 3y square plus y8 minus 2a plus a square minus 4 is greater than equal to 0. This is the quadratic equation whose coefficient of y square is negative, means it is a downward, correct? So the value, correct? Because it is on the x-axis as well, which makes this greater than and this is my, you realize like this. So only in this case, whatever value, it is not taking the passing. So question number 6, but anyways, you are not affected by, please, minus n times n plus 1 by 2x, correct? What about x? Yeah. Similarly, get an ideal of 2x as 2x minus fraction part of 2x. Similarly, jf of 3x as 3x minus fraction part of 2x and so on. Finally, we'll have nx together and n into n. Won't it become any x, which will get cancelled eventually with this. Question number 6, with max. Yeah, it's too much. This square f of x is finding complete set of values of a should be not out of 8. Now see here, this function is definite, it is 4 to 4. So if x go to 4, can safely say x square will belong to z, correct? Yeah. Now if mod is, if mod is becomes greater than 16, it will give you the jf as dangerous words. Oh, that's why you have to. So your answer is x would be greater than 16 or x would be less than b. Sir, but we only have 4 and if it becomes 16, it will become 1. Why? 1 is bigger even than b. Yeah. It's up to you. Option b. Option b. Please keep checking the answer. Parsi will make a correction. Question number 64. So far I have found things easy. Let's go to 64. Can I resist? Find the range of the function jf of 2 plus 9 where x belongs to the interval 0. Sign x. Everything becomes 0 and you will get me anything. Okay, that is one of the values in the range. But xc to 1, that's what I am trying to do. If you start considering sign of x, y, j and all, for any value between 0 to 5, it becomes 0. If you take xc to 1 case, when you take xc to 5, this becomes 1. That's what you do to 0. Yeah, that's what it's all about. You leave sign x and sign x by 2. Apart from that, xc becomes 1 in any given condition. What? This is 0. 0 or 0. This also? No, no, no. Sign x and sign x by 2 will leave it. Apart from that, after that you get sign x by 3, sign x by 4. It's so complicated. Only one of them is for the other set. These two values will be your range of the function. So your answer is 1 by 2 and n into or n square plus n plus 2 by 2. Is this an option? Yeah. D is the option. D is the option. So D is 65. Sir, can you set a soft point of the script and the cd paper? I have to cd paper. You'll set it. Can I discuss 65 or no? Yeah. Next is the product of all values of x satisfying the equation. Sign plus of cos of 2x square plus 10 mod x plus 4 by x square plus 5 mod x plus 3. 2 minus 18 mod x by 9 mod x plus 5 by 2. First of all, let this 5 by 2 cos inverse something. x square 5 mod x plus 3 minus 2 mod x. Which means x square minus 4 mod x plus 3 is equal to 0. Which means x is plus minus 1, x is plus minus 3. So the product... Sir, it's not x. It's not x. Sir, it's not x. So your answer will be minus 1 to minus 1 by root 2. That means two more solutions I'll get from. So altogether, three solutions option B is correct.


When your warm market thinks about insurance and help and assistance with insurance in general, who do they think about? Are you putting out content to let them know that you're the master in that space? Are you putting out content? Are you doing Facebook lives to talk about stories? Because stories sell.   Just, you know, Be transparent. Don't do a lot of gimmicky stuff. So when I think about getting attention with Facebook lives, it's stories. It's hey, I just helped Betty and Joe and here's their story. Here's why they did business with us and here's why what we did benefited them and impacted their lives. So stories sell, use stories when you're in appointments, use stories when you're doing Facebook lives and use live video nowadays to stay top of mind and to get a lot of attention because most people on your Facebook don't do live videos, right or wrong. So do them because other people don't. Successful people do what unsuccessful people are unwilling to do. Be unique. Do what other people in your space aren't doing and you'll be recognized remembered because you did things that they don't do.


Hello everyone. This is the Circuit Python Weekly for December 20th, 2021. It's that time of week when we get together to talk about all things Circuit Python and how cold it is suddenly in Lincoln, Nebraska. I'm Jeff and I'm sponsored by Adafruit to work on Circuit Python, which is a version of Python designed to run on tiny computers called microcontrollers. Circuit Python development is primarily sponsored by Adafruit, so if you want to support them and Circuit Python, consider purchasing hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join at any time by going to adafruit.it.discord. While there's activity on the Discord server almost any time, any day, we hold this meeting in the Circuit Python Dev text channel and the Circuit Python voice channel. These meetings typically happen on Mondays at 2pm Eastern, 11am Pacific, except sometimes based on US holidays the meeting time has been changed. For the next three weeks we are actually holding the meetings at the normal time. If you check the notes document there is a link to a calendar that you can add to your favorite calendar app so you can track when the meetings are, including in your own local time zone. This meeting is recorded. We record the audio from the voice channel and the text from the text channel. If you'd rather not have your voice recorded, you're still welcome to participate by leaving text notes. The video of the meeting will be posted to YouTube and then the audio is released onto major podcast services. If you find we're not available on your favorite podcast service, please let us know. There is a notes document to accompany the meeting and recording. This is where you leave your notes if you wish to participate but can't make it to the meeting or just prefer to have your notes read aloud. If you're watching this later, please check in the video description or podcast description for a link to the notes document because you can use that to find the timestamps and skip to the part that interests you the most. The meeting is tended to run 60 to 90 minutes but I suspect today will be a short meeting as we have a smaller group due to the holidays. Let's see. So, the structure of the meeting. We hold the meeting in five parts. Next up is community news where we get a preview of the Python on microcontrollers newsletter and take a look at all things CircuitPython and Python on hardware. After that is the state of CircuitPython, the libraries and Blanka where we look at some statistics, mostly from GitHub, that tell us about the health of the project in an objective way. Then the third part is hug reports. It's my favorite because we take the time to highlight the good folks that things around us in the community are doing and just shine a little spotlight of recognition on the awesome folks in our community. Then status updates gives us the opportunity to sync up on what we've been up to. Just like in hug reports we invite everybody to take a moment to tell us what's going on but this time it's about you. What have you been up to since the last time we had a chance to get together and what do you hope to get up to soon over the next week or if you won't join us until after the new years for the next few weeks. Then the last part if we need it and I think we've got some topics is called in the weeds. This is a time for long form discussion where we anticipate multiple participants and just any place we want discussion and we want to come up with a conclusion. Anyway, so that is how the meeting will go and with that I get to take my first time code, I get to scroll to the proper part of the document, take a time code and tell you about community news. So first up, Adafruit appears on the podcast talking about the KB2040 board for custom keyboards. Tomorrow, Tuesday, December 21st at 2.30pm. We're going to have a live YouTube show with the Adafruit Circuit Python team about Adafruit's new KB2040 board for custom keyboards. Capable of running Arduino and Circuit Python, it's an Arduino mini form factor but packs many more features. And it sounds like Dan, Scott and I will be talking to the Tom's Hardware people and we hope you can tune in. And of course since it's on YouTube you'll be able to check it out after the fact if you can't be right there in the moment. Next up, thank you to Ann for spotlighting a calculator project which looks frankly awesome. The text says a retro RPN calculator using the Adafruit Pipe Portal Titanic with Circuit Python. With the user interface mostly done next is the calculator emulation and there are links to Twitter and also a YouTube video. Oh, of course it's Cedar Grove. Thank you for that much. I didn't realize that. Alright. Third, topping your tree with a glowing rhomb icosa do decahedron. I'm not even going to try saying that again. It is a tree topper lit by five RGB LEDs powered by a Raspberry Pi Pico and Circuit Python. And there's links to a blog called Age of Awareness as well as a YouTube video. The text says a nice subtle classy tree light on the tree. Let me try that again. A nice subtle classy light on the top of our tree. I probably should have left it at that. However, I was so taken by how easy the Pico was to set up that I grabbed a five meter rope of LEDs, which I had reserved for another project and threw them into the tree too.  As a lot of you may know, the new version of Debian came out a couple of months ago. Now it is ready to run on all of your Raspberry Pi single board computers and there is a guide for upgrading your system in place from Buster to Bullseye. Although it's not recommended by the Raspberry Pi Foundation. This will preserve your installed packages and files. Okay. I'll wrap up with some Lego base plates for STEMA boards. These 3D printed holders feature built-in standoffs for press fitting. STEMA boards plug and play with various devices and accessories without any soldering. Of course, there are links to Twitter, YouTube, and the Adafruit Learn system because that appears to be by our very own Noyan Pedro. So there is a lot more in the draft newsletter. I crib just some of the top and most exciting items. Thanks, big thanks to Ann for putting this together most weeks. The CircuitPython Weekly newsletter is a community-run newsletter emailed every Tuesday.  It highlights the latest Python on hardware-related news from around the web, including CircuitPython, Python, and MicroPython developments. To contribute your own user project, edit next week's draft on GitHub and submit a pull request with the changes. You can also tag a tweet with hashtag CircuitPython on Twitter or email cpnews at adafruit.com. And according to Ann, next week we will have guest editor Emeritus fill to roam. So that wraps up community news, and we will move on to the state of CircuitPython, the libraries, and Blinka. So we gather stats daily about the last 7 days of activity on GitHub. So this covers approximately from last Monday until now or until mid-morning or middle of the night, eastern time, I think. Anyway, our statistics are that across all the projects we had 49 pull requests merged from 25 authors, which is an amazing number. And I apologize, I didn't go through this looking for new names, but 25 authors. It's just an amazing number, so I will make that the top note there. For reviewers, we had 10 reviewers. Reviewers are the people who keep the GitHub process going. When an author makes a change, a reviewer goes through it, says, this looks good to me or I tested it. And informal reviewers are also always welcome, and the script does not explicitly recognize them. So if you ever take a look at a pull request and test it out or get feedback on it, we appreciate that too and we value it. But these are people who are officially designated within the GitHub webpage as a reviewer, so thank you to all those people. Issues-wise, we closed 38 issues and 31 issues were opened, so we were net down on issues. And we had 11 people closing issues and 23 people opening them. And we've got a great level of community activity there. So next, we will drill down into several subsections, the core, the libraries, and Blinka. And so for the core, I will hand off to Scott to give us the details. Hello. Let me scroll it. All right. I was writing some notes for later. So for the core, we had 23 pull requests merged from 15 different authors. So thank you to all of our authors. Some new names to me. RS Bone, I think it's a Nathan Y-3G, Tim Haas, DroneCZ, Warrior of Wired, Asura99, Duckman00 are all infrequent contributors, if not new contributors. So thank you to all of them. And we had six reviewers, so thank you to all of our reviewers for helping get those pull requests merged. We have 12 open pull requests where the oldest is open 107 days. So again, if you are related or working on, have worked on some of these open pull requests, please just circle back and see if there's something that we can do to get them moving along. And remember, they can always, the branches can still exist and have issues related to them. But generally, we like to keep pull requests kind of like either actively being worked on or closed. So please go back and take a look at that. Issues-wise for the core, we had 11 closed by five people and nine open by nine people, so we're net down two, which is awesome. For a total of 465 open issues. I feel like we've been kind of around this 450 mark for a while now, which is pretty good. We've been doing a pretty good job keeping up with all of it. The way that we track kind of prioritization of issues is through the milestone system. We have four issues not assigned to milestones. So those are things that we need to just take a look at in triage. We have zero open issues for 710. So based on this, we could release 710s, stable, whatever we wanted. I actually don't know what the plan for that is, but we could talk about that later if we like. We have 18 open issues for 7xx, which are things that we probably want to get to sooner rather than later. And 10 open issues for 80. So that's where we are on issues and that's it for me. All right. Thank you. Yeah, it seems like maybe we should briefly talk about that in the weeds if somebody wanted to add that as a topic, if it's not there already. I would think either we want to transfer some issues into that milestone so we know what we need to do or just take the plunge and have 7.1. But we'll leave that for later. I don't want to get off the track and instead I will head off to Katnit to talk about the libraries. Hello, Katnit. Hello. All right, is my audio good? Yeah, it sounds great. All right, because I got everything set up so we're good. All right, so this applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore, CircuitPython underscore, as well as a few extras. So over all of those repositories, we had 21 pull requests merged by eight different authors. There's some names I see that are new. Tony L. Hansen, Flantastic Dan, 300 BPS, Joe Baird are all new names to me. And six reviewers. The oldest merged pull request is 65 days. At least five of them, it looks like, six of them are over a week old. So we're getting to slowly getting through the older PRs, which is really excellent and based on the number of PRs total, we are definitely keeping up with new PRs as well. We have had, so it leaves us with 49 open pull requests. We have had 27 issues closed by nine people and 19 opened by 13 people, leaving us with 643 open issues. 250 of those are labeled good first issue. If you are interested in contributing to CircuitPython on the Python side of things, check out circuitpython.org slash contributing. You'll find all of this information and more. And if you're interested in contributing code, take a look at the issues. If you're new to everything, good first issue is a great place to start. Otherwise you can check out bug or enhancement. If you want to get started with reviewing, check out the open PRs. If you see something that you have hardware for, test it. If you don't have hardware, take a look at the code. Let us know what you think. Leave a comment and once you're comfortable with that, we'll talk about upgrading you to actually joining the review team. In terms of library updates in the last seven days, we have no new libraries, but there's a list of updated libraries, which I will not read off this week, but it's available in the notes. As I said, we are slowly working through the older PRs, so if you are an author on one of those, expect to see some activity. We're trying to merge the ones that make sense, but some of them obviously will be closed. If it's a feature that you still want to add, you can always open a new PR, which is usually the easiest thing when it's a really old PR. Or we can walk you through updating a current PR if you really want to go that route. But expect to see some activity on older stuff, and that's what we've got. Thank you, Katnie. And next to round out this section, I will give Maker Melissa a chance to tell us what is up with Blinka. Hello, so Blinka is our circuit Python compatibility layer for MicroPython Raspberry Pi and other single board computers. And this week, we had five pull requests merged by five authors, and that's awesome. And there were two reviewers. There are six up-and-pull requests at this point, and there were zero closed issues by zero people and three open by three people, leaving a net of 68 open issues. There were 14,704 pi-wheels downloads in last month, and we are currently supporting 85 boards. And that's it. Thanks, Melissa. And exciting to see Fome Guy appear on the Blinka list. I think that leaves no part of Circuit Python that Fome Guy has not been touching, so... Ah, true. All right, with that, we are going to move on to the first round-robin section called Hug Reports. Hug Reports is around Robin.  And if you are present in the meeting and wish to speak, unmute when I get to you and talk, and otherwise, I will read your notes. So anyway, I have a first hug report for Dan. For just this morning, we talked through some stuff with Cascade Tommel that was causing problems building Circuit Python, and he did a quick review on some code there. And thanks to Scott for running the meeting while I was on vacation. We ended up switching the meetings all around, and anyway, last week would have been me, but Scott took it, and so thanks for that. And lastly, a group holiday hug. Next up, Charles Burniford sends a group hug and a happy holidays. All right, I'll hand it off to Dan, and then I'll read some more notes. Okay, thank you. Okay, thanks to Tetrick, who's been doing a lot of type annotation in the libraries. That's really helpful, and there was a particularly difficult one that they did that came out very well. Thank you. Thanks to Tim Hawes and Microdep for working on some exception handling. That's really helpful. We don't have to work on it, and it's, anyway, just thank you for working on it. Tim Hawes is newly working on the core stuff. And thanks to Rick James, who has a PR about adding internal pull-up support for I2C and Circuit Python as SCATH999, and I talked to them last week to straighten out some technical issues. It's been very helpful. It's been great to work with them on that PR. Okay. All right, I have more notes from a couple of people, and then after that it will be Katniss. So first, I have notes from David Glaude, who has a hug for Paint Your Dragon for updating New Year's Matrix Photo Demo for 2022, to FOMIGuy for the stream, and for the library that makes EE Pro more accessible from Circuit Python, to Tetrick for solving an issue I totally forgot about, and more importantly for contributing to the FOMIGuy EE Prom Library, to Anne B for the Learn Guide on Web NFC, and to JP for the product pick of the week on November 24th, the NFC tag. And there are some links in the notes if you're wondering about any of those things that David was referring to in more detail. Next, I have notes from FOMIGuy, who has a hug for Tetrick for submitting many typing PRs and various other fixes across several libraries, to Maker Melissa for updating Blinkadisplay.io to match the latest API for CoreDisplay.io and adding typing information to it, a hug to Warrior of Wire for updating the Vectorio rectangle to have a mutable size, a hug to David Glaude for testing out the EE Prom Library on some different devices, including the NFC breakout, and last, a group hug. All right, next we have Katniss and then Melissa, so take it away. All right, so first up, a general hug to everyone who sent me supportive thoughts during my recent move, which I will talk about in status updates, to Sam's Moving, which is a moving company in Ottawa, Canada, for coming in at the last minute and doing an amazing job, to everyone for keeping up with things while I was out last week, to more people that I'm sure I am missing. So, I did not get a decent list this week and a group hug. Thank you. Next up is Maker Melissa. Hello, so I wanted to give a hug report to Found Me Guy for reviewing my Blinka Display.io update PR so quickly, to Les Samurai, who pray for the Blinka Display.io rewrite, which I've been referencing while updating it, and a group hug via everyone else. All right, thank you. Next, I'll read notes from Mark and finally we will let Scott round out the section. So, Mark just has a group holiday hug for y'all. Go ahead, Scott. Hello, hug report to Rick James for diving into the core and really getting into the lead, so good on them, thank you. And just a general thank you to everybody for an awesome year of Circuit Python. For a couple weeks. So, thank you all and I'm excited for Circuit Python 2022. Thank you, Scott, and have a happy new year when the time comes. You too. All right, with that done we will head to status updates. Just a reminder, we want to hear about what you've been up to and what you're planning and it doesn't all have to be strictly Circuit Python. You can tell us about your holiday Pi plans and sudden gusts of cold weather or other stuff that's on your mind. Anyway, so last week was a short week for me. I worked on some minor bugs and I did, I guess, belated hug report to micro dev. I tested out one of their PRs belatedly for RGB matrix on the ESP32 S2 and it worked a charm, so I merged that in. This week I have a 3-printed LED lamp project that I started back at the beginning of December and there's that stage that some of my projects get to where I know everything I need to do to finish it. There's just some work and that's the part I need to do is the work. In Circuit Python what I'm going to be working on is an image filtering module for bit, or function for bitmap tools. It will implement a certain kind of filter called a separable filter sharpen and edge detect and it will operate on 16-bit RGB images and maybe on grayscale images. I will be out on Friday and maybe out part of Tuesday. With that, Dan is up next and I have some notes to read. Did you meet Thursday? Yes, I met Thursday. I misspoke. Anyway, over to you, Dan. Okay, so we've been having some bundling issues. We turned off the six-point building, the six-point x-bundles last week which caused some problems with circuit and some other things and also async.io circuit the bundle builder wasn't working because the version of Python specified was too old so it wasn't seeing changes to some backing libraries that we need. So I fixed some of those things. Some other people helped to fix some of those things. I updated the circuitpython.org library page to remove mentions of the current six-point x-bundles and update some other things. I did some other infrastructure updates, a lot of infrastructure in the past couple of weeks and working on that, I have some ideas for changing for things to do to circuit and I'm continuing to fix the remaining circuitpython 7.x issues. I'm working on a wake-up alarm bug where the wake-up alarm disappears and I know how to fix that. Okay, that's it. All right, I have a couple of sets of notes to read and then it will be Catney's turn after that. So David Glaude writes using Arduino, which is almost totally new to me, to write some NDEF data onto an ST 25 dvk16k from a Qtpy and compile and upload the 2022 matrix portal update, as previously mentioned, from Paint Your Dragon. Then in circuitpython, writing a URI in NDEF format to the same NFC tag using a modified version of FOMIGI's EPROM library and finally searching for and finding all the Adafruit projects I have with EPROM that are currently not supported in circuitpython. Next up, the notes from FOMIGI. Last week was more PR reviews. One cool one was the MAX7219 chained matrix support testing and small fixes in circuit, related to moving support for the 6x bundle and worked on a driver library for the 24 LC32 I2C EPROM breakout. This week, keep going on open PRs resolve issues in the tile grid properties PR and look into generalizing the NVM library recently created to work on EPROM and other storage that gets treated like byte arrays. So next we're over to you, Katnick, and after that is maker Melissa. All right. So last week was a very short week. I did a bunch of miscellaneous on my list, which was actually pretty good anyway to get some stuff done that was on my list for a while, but lower priority because it was sort of a one-off thing. I moved from Canada back to the US which was an absolute ordeal including movers cancelling, which is why I gave a hug report to someone who's never going to see it because they managed to come in at the last minute and really helped out and I started unpacking. So this week I need to get caught up on everything that I missed last week. I have a very large number of unread emails in my inbox and then I'll be starting the guide for the QDPI ESP32-S2 possibly starting a guide for another new product that I don't know whether it's been discussed, so it's not out yet, don't ask. Possibly more miscellaneous and then I'm off for at least Thursday and Friday, possibly more than that just depends on how the week goes and like I said with such a short week last week and a short week this week my list is very short so that's what I've got. Alright, thank you and yeah, so glad you're on the other side of that move. Welcome back. Alright, anyway going on to maker Melissa and then I will have some notes to read. Okay, so last week I worked on updating the Blinkhead display to the latest circuit Python 7 in terms of the API. It took me a bit to re-familiarize myself with the codes and said been a while since I've worked on it. I was able to fix some of the APIs I had deviated on originally so they are more consistent to the original code and I had to typing information to everything. I also reviewed a bunch of PRs for the next two weeks I'm actually going to have a short week this week and I'll be out next week so I'll be gone from the 24th and back on the 3rd. I'll work on during this week I'll work on splitting the common Blinkhead display functions into a display core module like it is in the official display IO and I'll try adding some more features that we're missing after that and that's where I'm at. Thank you I'll read notes from Mark and then I will pass it to Scott to round out the section. So Mark also known as Gambler writes, completing some performance tests to evaluate if PR number 5726 is worthwhile will post the results in the PR for discussion or for discussion in the weeds at some point and I'm not familiar with what that PR is but checking on performance is good great idea. Anyway, so Scott why don't you finish this up? I think that PR has to do with the rings on the on the LED glasses the IS. Oh, okay. We were debating whether it needed to be written in C or just in Python would be okay, so I think that's what Mark's referring to. Alright, thanks for that context. Yeah, if I remember right, that's my guess. So for me, last week was a short week, this is a short week, I'll be out Friday and probably out early on Thursday. I'm actually out early today because I have a dentist appointment and some other errands to run. This is all typical holiday stuff, so if you need to meet up with me, please coordinate ahead of time with that. Next week, I will I should be around like Tuesday, Wednesday, Thursday, but I'm making no promises in case we want to do something. So like I said, let me know if you need me around for something and I should also point out that I'm not actually back the third, I'll be back the fourth, so I will be missing the first Monday of the year as well, back on the Tuesday. I copy my partner's schedule with their work, so that's why. This week, I started Raspberry Pi Zero support for the Broadcom port and I'd like to get that to a point where it's checked in. I know there have been some SD card reports of errors and stuff, so I want to maybe look at that too. I want to go through emails and reviews. That'll be my priority whenever I do sit down to work. I do want to make sure that other folks and things are moving along even though I'm mostly out. So that'll be my priority, but I don't claim to do 24 hours like I tried to do otherwise. I'm also in the process of working on the KB2040 keyboard. It's a split keyboard and we'll be talking about it on the podcast tomorrow with Tom's hardware. There's a little bit of a weird issue with how the split keyboards are designed where it uses two micro format things, but it's like two UART RX pins that are connected to each other and UART is commonly used, so I might take a crack at doing UART transmission on an RX pin via the PIO for the RP2040 because I'll need that. And then I'm also starting to think forwards to CircuitPython 2022. For those of you who are new to CircuitPython, this is kind of our annual planning phase, which is, we don't really kind of aggregate back together anymore, but we do just like, I want to hear what everyone thinks about longer term CircuitPython stuff, so start thinking about that. I'll take some of my deep dives in January to kind of go back and look at CircuitPython 21 and also talk more about my thinking for CircuitPython 2022, and I'd love to hear other folks as well. So start thinking about that. I'll aim to do a blog post on the first of year like I did last year as well. So I think that's it for me. All right. Thank you everybody for those status updates. And thanks everybody for taking the time off because you and your families or your adopted families or your found families are they're a big thing right now and we need to pay attention to them. So anyway, moving on to in the weeds I am maybe going to just pass by this item from Fumiguy. He says we can hold off to discuss it next week unless somebody else wants to weigh in on that but I'm going to move down to Dan's topic first. Oh, can I just say generally own libraries are better instead of glomming things on the other libraries? Generally, yeah. All right, well, there's the word of Scott. It's easier for people to find separate libraries than to understand that a library applies to a lot of different things is my opinion on that. I watched Fumiguy's Fumiguy's broadcast last time and he was working on it and I think he has separated it out from the other stuff. He used the Fram module as a model to start with but he did create a separate library for the EE Prom. Okay, that sounds like the right approach to me. All right, well, Tim, if you're listening later, we're happy to talk about this in more detail when you get back or maybe you felt like that was a good enough answer so you let us know and we'll talk about it soon if we need to. Now I will hand it to Dan. Okie doke. This is something that we kind of discussed in an internal meeting before this but currently the Continuous Integration Jobs, the GitHub Action Jobs for libraries and other things specify a version of Python. That version has changed over time. We started with 3.6 some of them are 3.7. I moved some up to 3.10 recently. The only reason for using an older version is maybe to prevent like the black formatter from trying to suggest things that aren't in Python code that we are writing that aren't available in CircuitPython, say. So I believe that we can just specify 3 as the version number and it should work fine. It'll pick the latest version. That is my understanding of how actions set up Python will work. With black and pylon don't both have a flag which says what the target version of Python to check is. When I was saying that I bet the reason was that we used to use Ubuntu 1804 as the run system and that was pretty behind in terms of Python versions. So we specified a version. But now I think we should just say 3. So I'm going to make a PR to the cookie cutter so that new libraries will just have 3 and will eventually make a pass through all the libraries and update them. And the other repositories that use Continuous Integration. So does anybody but I just wanted to bring this up now to see if anybody had any thoughts about whether this would work for some reason. In my experience these things eventually lead to an error when there's an upgrade and it treats something differently than it used to. But in general we decide that that is the better of the alternatives to the alternative of just being out of date and having to deal with it when it's a real crisis. I mean either way it becomes a bit of a crisis because your software is no longer building and shipping to users but by getting five years behind you have a worse problem than if it's oh well now we have to temporarily pin something on 3.11 because 3.12 breaks it but then you fix it and you don't get into this situation where you're so far behind that it's onerous to get through all those versions. So I say go for it even knowing that someday we'll wake up and none of our modules was of something that changed but we know that and we accept it. We'll fix it right away. And it's also already happening right? Yeah. And the problem that I had was that some things were pinned at 3.6 and so one of the script libraries that we used said it needed a minimum of 3.7 so we didn't notice that we were using the old version for a while but PIP wouldn't upgrade or whatever it was wouldn't upgrade it to the new version because it says oh you're not writing that version so I won't push a new upgrade so that's an example of what happens when you specify a version that's too old that you end up using old libraries the old dependencies. Okay so I'll do this PR to the cookie cutter and then we'll go through all the libraries and fix this. Thanks Dan. And that brings us to Scott's topic. This one's basically for Dan. How do you think 7.1's coming Dan? I'd like to fix the well we could look at the at the at the Yeah if some people if you want to take a little bit of time to do this there are now only 18 open issues I just put a link in the chat of the 7XX issues. Right so the question is what of these issues do we want to fix for 7.1? Right so I was going to fix the alarm.wakeup alarm.wakealarm 5343 which is near the bottom because I think that's a significant regression. Okay and I don't know if anybody else feels that there's something else here. 5612 deserves some investigation. I don't I'm not too worried the S3 thing 5680 at the top I think that could be deferred and that could be fixed in Maine. I don't know Melissa about 5538 sending requests failed on second network call whether that's been fixed. Which thing? 5538 which is like the 8th one or the 7th one. I'm looking now as far as I know it hasn't been fixed but Okay if people see some things here that they think should really be fixed before 7.1.0 then let us know or put a comment in or say speak now or something but a lot of the other ones I think could be deferred to 7.2. Maybe the image capture one which is the next little last one. Yeah I'll have to look at that again when Jerry first reported it I didn't ever reproduce it for myself but then I haven't actually been using the JPEG code much in my testing so I mean I don't doubt that there's something there but it will become important to fix that one at some point but I don't think for 7.1.0 7.1.0 should not be held for that. Okay that's okay Yeah my bias is definitely like let's get 7.1.0 out the door because then we can also do a 7.2.0 beta Yeah and we'll find more stuff and I'll make a milestone for 7.2.0 right now Yeah it sounds good so that we can track things. Great okay. And I moved the one that you're working on Dan to 7.1. Okay Okeydoke Alright so I don't know whether we want to release whether we want to wait you want to wait till the new year to do this to actually release 7.1.0 final I could make some RCs during Christmas week I mean during Christmas day and week I'm okay doing it sooner than that for a while we have a good idea that it's pretty stable Okay well Jeff and I you'll be coming going but we could maybe do something we could make a quiet release and the only issue is whether we make a release that has some significant issue that we need to fix right away but then we fix it Well I'm around for the next few days and if I see something go by tell me directly and I could I can probably find time to help with anything Okay I just don't want to commit to anything Yeah But I'm around it's not like I'm going to be away from my computer completely Yeah I'm not planning to I'm not planning to take any significant time off So Okeydoke So you can call me in if you need me Alright thank you With that we can wrap up in the weeds We have a circuit python weekly meeting for December 20th 2021 Thank you to everyone who participated If you want to support Adafruit and circuit python and those of us that work on circuit python consider purchasing from the Adafruit shop at adafruit.com The video of this meeting will be released on YouTube at youtube.com slash Adafruit and the podcast will be on all major podcast services It will also be featured in the on for microcontrollers newsletter Visit adafruitdaily.com to subscribe The next meeting will be held next Monday December 27th at the usual time This meeting is held on the Adafruit discord which you can join by going to adafruit.it slash discord To be notified about the meeting and any changes to the time of day you can ask to be added to the circuit python easter's role on discord We hope to see you all next week Thank you everybody who joined us today Thanks everyone


Yeti how was the care package did you the care package? Oh yeti. I gotta go get a care package What am I? I'm coming back with a care package gang. I just had a care package sent to me and I forgot to bring it here I'll be right back Here's a full view of the check this out care package. I'm way behind the chat by the way gang I'm way behind the chat Okay, I'm scrolling all the way gang down gang. So this is a pair care package that was sent my way right It's a comic book. I know that and Oh Yeti is this you or can I say the name of the person that sent this? Yeti is this you? I'm gonna say name the person that sent this because they've they've sent another care package before as well This is from Yeti. Yeah, this is me. Yes. Nice. Nice yeti. Awesome Yeti, can I say your name? I don't know if I'm supposed to or not You'd let me know brother. You'd let me know Nice. Is there anything in this one? No You have a beautiful package. Yes. Thank you very much soiled underwear Oh, there is this one too in this little guy. There is one too. So this one has one And then this guy has one. Yeah, man. It's good. All right, James. Gracias. Look at this.  Yeti yeti yeti. Oh, let's check this out. Oh, yeah. Yeah. Yeah. Yeah, this is your artwork. Awesome Check this out. Check this out The night oh snap. Do you like your X-Men? Do you like your X-Men? Very nice very nice Very nice very nice The Yeti is really like a ghost face says and he's into punk rock. What a world we live in. Nice. Nice awesome awesome Beautiful prints man beautiful prints I have the other ones as well, right? Nice Awesome. Thank you. Thank you Nice artwork. Very nice. Oh, there's a letter here too. Let's check this out. Let's check this out. Hey Chicho, enjoy the art and the romance comics. I found them at my local comic shop and instantly thought that you would dig these books. The art is really nice in these comics too. These two prints of my art are based on a statue of a vision that I saw in an old wizard comic magazine. Very cool. Wizard comic was the best man. So fun. So fun. And of course, you got to love the 90s Cyclops. Indeed, thank you for all the hard work and time you put into your channel. Your videos have helped me through some hard times. Awesome, brother. Much love. Much love and peace. Yeti Punk. And Yeti Punk, that's your website, isn't it? Does it go by Yeti Punk? You had it on the back of the other prints, but it's not on this one. So, I think Yeti Punk. 90s X-Men was awesome. Really, it was. Very nice. Very nice. If anyone would like any prints or art, you can email me. Oh, it doesn't show the asterisks, the dot-com doesn't show Yeti. Tiny Salad. Tiny Salad at... I'm assuming is it Gmail? Is it Tiny Salad? What is it? You packaged this up nice, eh? Yeah, it's Tiny Salad at... Yeah, again, it shows it as asterisks. Love diary. Awesome. Love in the romance comics. Love in the romance comics. Check this out. Nice, nice. Oh, hold on. I'll put this... Hold it up with a very small salad in the Gmail. Okay. TinySalad at Gmail.com. So, check this out. Love diary. Enjoy the comics, you says. Look at this one. The Prince of Love. The Prince of Love. Love diary. Was this... Was this the price of love? Not Prince of Love. Price of love. Look at this. What did you say? What did you say? I'm in an awful spot, Joan. If I don't get... get what? I got a hard time reading it. What does it say? If I don't get $5,000 right away, I may lose everything I have. And then Joan's like, there's no need to worry, darling. I can let you have the money. Oh, this relationship's not working out well. Yeti says I did have social media, but I stopped using it. Good on you, man. You get the email name from Saif on hilarious. Salute, gang. Salute. And check out the rest of these. Romance comics. Masquerade. Look at this. Let's check this out. Let's crack these open, man. It's been a while since I've gone into like a used bookstore to get some comic books. Check it out. Young romance. Number 142. My secret love. Too shy for romance. Too shy for romance. So then where only social media I have is YouTube and Twitch. Sometimes browse other video sites. Nice. I would say browse other video sites more than censor tube. You'll enjoy it. Nice. Young romance. He's another young romance. Oh, she's all crying.  You just had to test his love for you, didn't you? And now you've lost him for good. Oh, she shouldn't have done it. She shouldn't have done it. Spoil on the soil underwear says censor tube has so much trash is unbelievable. Indeed. Indeed. Falling in love. Number 74. Cheat. I sent you to Bruce to help me and you stole him for yourself. Cheat. Cheat. Cheat. Oh, look at this. Look at this. Look at this. Look at this. Look at this. The drama. The drama. The censor tube is becoming a waste of time. Indeed. Indeed. Falling in love. Number 76. Girls. Look, girls. Here comes Kitty's date for tonight. Boy, is he ever a knockout. Oh, no. He doesn't even know I'm alive, she thinks. And now my friends will find out I lied about him and me. Oh, no. We defy you to guess the ending of this story. Look at this. Matt, thank you very much for the tier one sub. Hong Kong. They subscribe for 14 months currently. 14 months currently on a four month streak. Awesome. Thank you very much, Matt. Soil underwear. Oh, no. She's like beautiful covers by the way. Young love. Number 59.  Oh, no, no. Mother, he's good for me and I love him. How many? How many? How many people like this did you know? Ghostface. I have an old crate of comics purchased by my uncle in the 70s, 90s that I need to search through. I know there's a lot of ghost writers, X-Men in there. Nice. There could be some valuable comics in there. 70s to 90s. There's definitely valuable comics in there. Awesome. Thank you very much, Yeti, for these books. I'll bag and board them, throw them in the collection. Right. Fantastic. The romance books. Salut, salut.