 Hello, everyone. This is the Circuit Python Weekly for November 1st, 2021. This is the time of the week where we get together to talk about all things Circuit Python. My name is Scott, and I'm sponsored by Adafruit to work on Circuit Python. Circuit Python 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 any time by going to the URL adafru.it slash discord. We hold the meeting in the hashtag CircuitPython-dev text channel and the Circuit Python voice channel. This meeting typically happens at Mondays at 2 PM Eastern 11 AM Pacific, except when it coincides with the US holiday. If the meeting time is changed, we'll notify you via Discord. If you wish to be notified about changes to the meeting, we can add you to the Circuit Python Mista's Discord role. There is also a calendar available that we try to keep updated if you'd like to subscribe to that. This meeting is recorded. We record the audio from the voice channel and the video of the text channel. If you'd rather not have your voice recorded, you are still welcome to participate. The video of this meeting will be posted to YouTube, and the audio is released as a podcast. If you find this podcast is not available in your favorite podcast service, let us know. There is a note stock to accompany the meeting and recording. If you wish to participate but can't make it to the meeting, you can leave hug reports and status updates for us in the document, and we'll read them off during the meeting. The notes document also contains timestamps to go along with the video so you can use the Doctor View only the parts of the video that interests you most. The meeting tends to run 60 to 90 minutes, so this gives you the option to skip around. A link to the notes document is posted in the Circuit Python dev channel on the Eight of Fruit Discord every week. Check the pinned messages to find the latest note stock. This meeting is held in five parts. The first part is community news. This is a look at all things Circuit Python and Python and hardware in the community. It's a preview of our Python on microcontrollers newsletter. The second part is the state of Circuit Python libraries in Blinka. This is a statistical overview of the entire project. It's a chance to look at the project by the numbers separate from what we're all up to. The third part is hug reports. Hug reports is an opportunity to highlight the good things folks are doing, taking the time to recognize the awesome folks in our community. The fourth part is status updates. Status updates is an opportunity to sync up on what we've been up to. Take a couple of minutes and talk about what you've been doing in the last week since the last meeting and what you'll be up to over the next week until the next meeting. The fifth part is in the weeds. This is also the final part. In the weeds is an opportunity for more long form discussions. These discussions can come out of status updates or be something you've identified ahead of time that is too long for status updates. And that covers how the meeting will go. I will switch over to the note stock, take a time code, and get into community news. So community news is a chance for us to see all of the things that are happening in Circuit Python, Python and MicroPython, the wider world of all these things. So first up, the Raspberry Pi Zero 2W was released last week. The Raspberry Pi Zero 2W was announced and released in limited quantities by the Raspberry Pi Trading Company. October 28 from the Raspberry Pi news, priced at $15. Raspberry Pi Zero 2 uses the same Broadcom BCM2710A1SOC system on the chip. Die as the launch version of the Raspberry Pi 3, with ARM cores slightly downclocked to 1 gigahertz, bundled into a single space-saving package alongside 512 megabytes of low-power DDR2 SD RAM. The exact performance uplift over the original Zero varies across workloads. But for a multi-threaded sysbench, it is almost exactly five times faster. And there's a number of links in the newsletter around the Zero 2W. So check out those links in the newsletter when it comes up tomorrow. Next up, the Pi Ladies talk on the basics of hardware with Circuit Python. Pi Ladies Southwest Florida host, Kira Hartledge, demonstrates how to use Circuit Python to control a Circuit Playground Bluefruit circuit board on YouTube. And there are links there to the resources for the presentation on GitHub. This is what happens when I'm typing ends and ends into the note stock, because that's the same key I used to do the mouse pointer. And Adafruit Halloween. Adafruit loves Halloween, both in making hardware-enabling people to build spooky things and decorating and dressing the part. Adafruit's electronic Halloween has been a staple for many years. Here is a selection of pictures of the Adafruit team from last Friday. Next up, the Melbourne MicroPython Meetup. The Melbourne MicroPython Meetup for October 27th had some interesting presentations. There's a link to the main slides there. Topics discussed includes a monitor for real-time MicroPython code, MicroPython Message Pack, a MicroSQL Lite library module for MicroPython, and a driver for the VL53L5CX, which is both for MicroPython and CircuitPython. And I should note that Matt, who runs Melbourne MicroPython Meetup, updated maybe four months' worth of MicroPython Meetup. So there's lots of good videos and stuff on his YouTube channel and the Melbourne MicroPython page on GitHub, too. So check those out. It's a great way to keep up with what's going on in MicroPython Lite. I watch and follow a lot of that. OK, next up, Halloween projects from around the web. One is a Halloween talking clock based on the Raspberry Pi Pico. Another is a jump-scare tombstone using an Adafruit Halloween M4 with CircuitPython. Someone put a moving eyeball in their door for tonight. Super janky, but should last long enough for trick or treating, thanks to the Adafruit QT Pi and Circuit Python. Next is a moving skull prop using an Adafruit Itsy Bitsy M0 programed in CircuitPython. And there's also a Halloween music box with CircuitPython on a Raspberry Pi Pico. And that's it for community news. The CircuitPython Weekly newsletter, which these topics were a preview of, is a CircuitPython community-run newsletter emailed every Tuesday. The complete archives are available at adafruitdaily.com slash category slash CircuitPython. It highlights the latest Python on hardware-related news from around the web, including CircuitPython, Python, and MicroPython developments. To contribute your own news or project, edit next week's draft on GitHub. The URL is github.com slash Adafruit slash CircuitPython dash weekly dash newsletter. Check out the drafts folder there. And submit a poll request with the changes. You can click the pencil icon in the top right to edit the file straight on the web. You may also tag a tweet with hashtag CircuitPython on Twitter or email cpenews at adafruit.com. And we'll add the topics there. OK, so that's the first section. The next section is the state of CircuitPython libraries in Blinka. It is a more statistical overview of the project, meant to ground us in the realities of things before we talk about the less tangible stuff. So overall, we had 49 poll requests merged from 28 different authors, which is awesome. Some folks to highlight. Aegiso, Lila, Plugowsky, Colorado Carlos, Process 1183, Techtrick, Ronnie Lomato, Jay Simmons, Zebular13, Tyler Crumpton, and Kerry K007 are all folks that we've highlighted as new. So thank you to all the new folks who are new authors to CircuitPython, the broad CircuitPython ecosystem. We had 12 reviewers. So thanks again to all of our reviewers for supporting all of those authors, especially the new ones. And issues-wise, overall, we had 30 closed issues by nine people and 16 opened by 12 people. So we're down 14, which is awesome. Next subsection we have here is the core. The stats for the core. This is just the C code base for CircuitPython. In that code base, we had 16 poll requests merged from 12 different authors. So thank you to all of our authors there. We had five reviewers. So thank you to all of our reviewers. We have seven open poll requests, which is pretty good for us. The oldest one is 58 days old. And the newest one is actually five days old. So now a whole lot of activity in the last few days since these stats were taken. Issues-wise, we had 11 closed issues by four people, six open by four people. So we're net down five, which is awesome, for a total of 444 open issues. We keep track of prioritization and our active milestones by assigning a milestone to issues. So the two main ones we have going right now is 7.x.x has 19 open issues. These are the ones that we think we should tackle kind of sooner rather than later. And then we also have a number of issues not assigned to milestones. It's currently negative 2, which is clearly not correct. So hopefully we don't have any, which is good. Overall, I think 7.0 has been really great. And we're definitely needing to do a 7.1 soon. So keep an eye out for a test build of 7.1, and then hopefully a stable version soon after that. If you want to try the things that will be in 7.1, you can always click Absolute Latest on circuitbython.org slash downloads. And thank you for to whomever is taking the notes for me, because I never managed to write it down. OK, next up, we have the library section. So I'll kick it over to Katnie for an update on the libraries. All right, thanks, Scott. So this applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore circuitbython underscore and a few other things, including the community bundle and our cookie cutter. Across all those repos, we had 29 pull requests merged from 14 different authors and 10 different reviewers. A number of those are some of the new folks that Scott highlighted when talking about things overall. I won't highlight them again, but I just want to say thanks to everyone who has been contributing. We had, that leaves us with 58 open pull requests. We had 18 issues closed by seven people and nine open by eight people, leaving us with 627 open issues. Of those, 266 are good first issues. If you're looking to contribute to Circuit Python on the Python side of things, check out circuitpython.org slash contributing. It has all of this information and more. And you can take a look at the issues, search them by label. Good first issue is an excellent place to start if you're new to everything or new to contributing to open source. You can take a look at those. Otherwise, you can check out bug or enhancement if you're looking for something a little more complicated. And just make a comment on that issue. Let us know you're working on it. And we are always available to help. If you're interested in getting started reviewing, take a look at the open pull requests. If you have the hardware, give it a test. If you don't, just look at the code for syntax or spelling or that sort of thing. Leave a comment and let us know that you took a look at it. That's always very helpful. And once you're comfortable with that, we can take a look at adding you to our review team. In terms of library updates in the last seven days, we had no new libraries, but a number of updated libraries that I will not read off. Overall, Hacktoberfest went quite well. Thank you so much to everyone who participated and a special thank you to the reviewers who made it possible. We had an influx of new folks, at least one of whom has begun contributing in other ways, which is great to see. As a side note, the Hacktoberfest labels on the issues were not removed. We're looking into why Adabot failed to do so. We may do it manually, quote unquote, and sort out Adabot later. Otherwise, we're still working through older PRs, which is also good. And finally, thanks to everyone who has been contributing and persisting through CI failures and so on to get PRs passing. That's what I've got. Thank you, Katnie. Okay, next up, Melissa's out today. So I am going to read off the stats for Blinka. Blinka is the CircuitPython API compatibility layer for single board computers like the Raspberry Pi, but also microcontrollers that are running MicroPython. So that's what this encompasses. We had four pull requests merged from four different authors. So thank you to all those different authors. There are currently three open pull requests, two on Blinka and one on Blinka BLEIO. The oldest is 264 days old. One issue closed by one person and one opened by one person, so net even. For a total of 65 open issues on Adafruit, github.com slash Adafruit slash Adafruit Blinka issues. Download numbers from Pi Wheels, downloads in the last month, 13,641, and the number of supportive boards stands at 76. And that's it for Stated CircuitPython Libraries in Blinka. Next up, we have Hug Reports. Hug Reports is a chance for us to say thank you to folks in our community for the awesome work that they are doing. I will start and then go through the list. So it's kind of a round robin, meaning to give everybody a chance to say something. If you do want to say something or have notes, go ahead and drop them in the note stock. If nothing's in the note stock, I'll just assume that you're not participating. Just listening in to say you're not participating may not be fair. Okay, for myself, two hugs. One to Skir. Seth for helping folks on the Discord was checking in and saw that he's been super helpful. So thank you, thank you Seth for being such a huge part of this community. And then also a hug report to MinikRee, my partner for finding a costume for me to wear on my stream last week. And if you don't know what I'm talking about, you should at least look at the thumbnail to see my Blinka costume from last week. Okay, now I'll circle around and read off folks as I hit them. First up, we have a hug report from Anecdata for MicroDev, says once again, for work on the monitor mode and humoring me on my naive questions. Next up is Dan. Okay, thank you. Two hug reports for bug reporters. Shabazzone's at 23, found that when they were plugging in a board with 7.00, it would sometimes erase the flash and they tested it in a systematic way and found out that a certain time interval during that period happened. So we have to try to reproduce that. And thanks to ToddBot for trying out some of the new HID device features with some longer than I expected values. And I have to make it possible to give larger values there. So thanks to ToddBot for that. Okay, thanks, Dan. For those of you who are listening who aren't watching the video actively, Jeff and Katni also meant to put in a picture of me for my stream. So if you wanna see what my costume was, you can check out the video now. You'll see it. Okay, next up we have Foamy Guy. All right, thanks Scott. First hug reports this week for Mark Gambler and Keith the EE for helping review the type annotation PRs. We had quite a few of those come in. So I was definitely happy to get help from those folks. And also for Katni went through a couple of times and spotted ones that we had missed and tagged us on them. So I appreciate that as well. Next tag report for all of the first time contributors from the past few weeks. I know we had quite a few that came in for Hacktoberfest. So I appreciate all of those folks who joined up and made their first contribution to the project. And then a group hug for everybody else. Thanks. Awesome, thank you Foamy Guy. Next up is Jepler. Hi, I have a group hug first of all and then one for Damian and Gemma. They took some time to chat with us about async IO last week. And I think the most interesting thing I got out of that conversation is just how much closer they made it a goal to be to desktop Python when they invented their async IO implemented their async IO module, which is a little bit of a change from where they started at. And that's cool. Anyway, and then my last hug is to Dan for digging into async and helping me start to understand it just a little bit as well. It's been one of those things that continues sailing over my head. And I know I'll get there and particularly with the help of other people guiding me through it a little bit. Awesome, thank you, Jeff. Next up, we have notes from Jerry who says a group hug. Just listening today. And after Jerry, we have Catni. All right, so first of all, hard report to Scott for running the meeting last minute when construction picked up here without warning. To Foamy Guy, this is again because I gave this hug report when the good first issues were created. But thank you for creating the good first issues heading into Hacktoberfest and then for keeping up with reviewing, testing, requesting changes and merging a majority of the subsequent PRs. Thank you to Mark Gambler and Keith EE for reviewing some of the Hacktoberfest type annotation PRs as well. And an extra special hug report to Foamy Guy for handling the last minute PRs that came in late last night, which I was really, really, really hoping wouldn't happen. But inevitably it did. Unrelated hug reports to Foamy Guy for adding explicit documentation links to the library readme's. We had the documentation bad, but that's kind of an obtuse way to get to the documentation. We never actually linked to the docs in a section of the readme and now we do. So that's across all the libraries. So thank you for adding that. Hug report to all the new folks who joined us for Hacktoberfest and contributed to the libraries over the last four weeks and a group hug. Awesome, thank you, Katni. All right, next up, we have notes from Melissa who says a hug report to Tanya and myself for getting the mobile device BLE circuit by then crash fixes so quickly and a group hug. Last up, I have notes from Mark Gambler who says hug report to Katni and Foamy Guy for helping review some PRs I had questions on. Hug report to Tectric for being a first time contributor and having patients when some strange issues occurred and a group hug. So that's it for hug reports. Next up is status updates. Status updates is done as around Robin as well, but this time we're talking briefly about what we've been up to. What we're working on the past week, what we hope to work on in the coming week. Again, I will start and then go through the list here. So first up for me, last week I was working on speeding up circuit Python execution on the Raspberry Pi, Raspberry Pi 4 specifically. And I managed to do it by basically setting everything up to be cacheable, which is cool. I'm sure we'll find bugs based on that because caching is hard. I started working on SD card support. Didn't make it super far. So that's what I'm primarily doing this week. My next step is to solder onto the Pi Unora so I can sniff the SD card lines. I will be working on SD card and if I get fed up with that, taking a break by setting up boards and adding the zero 2W support, which I plan on probably working on on Friday as well. I should also say that I took a little time last week to Melissa had tickled the crash in the Bealee workflow that was due to Android devices doing a transmission unit size of 20 bytes. And when I had added the 64 bit timestamp, I had caused that code to crash. So there is now a fix in CircuitPython for that. So that's one reason I think we're gonna wanna do 7.1 pretty soon is because the Bealee workflow from Android devices will cause crashes otherwise. So that's it for me. And next up, we'll go to Dan. Okay, thanks. So the main thing and almost the only thing that the past week was work a lot on AsyncIO, which is using, there are these Async and await keywords in CircuitPython to do cooperative multitasking. They just are sort of syntactic sugar for helping to do that. And AsyncIO is one library to do that. It's in CPython and MicroPython has a stripped down version of AsyncIO, it's not a library, it's built into MicroPython. It's frozen in, but I just took it out and made it a library and changed a few lines and I got it to work on CircuitPython. I had to make a few CircuitPython core changes too, but not very many. So I have an example where I have two LEDs running in two different cooperative multitasks or cooperative tasks, one's blinking at one rate and one's blinking at the other rate and they're blinking independently. So the basic idea works. There's some issues about I'm seeing some weird crashes occasionally when the board starts up and the next thing I will look at is seeing if I can add Async constructs to like the LED animation library, which is one of those libraries where you really wanna be able to interrupt a long running thing and change what it's doing or just stop it all together. Okay. Awesome, thank you, Dan. Next up is FOMI guy. All right. So this past week, definitely still reviewing lots of the typing PRs. Most of those came in for Hacktoberfest. I imagine that will slow down a little bit, but we do still have all the open issues. So I'll keep an eye out for any of those that people keep working on. I, on my stream over the weekend, I worked on a Pac-Man style game and I got the bulk of the functionality done. So players and walls and ghosts and pellets are all working, you can move around. This runs on a Pico device with a little add-on screen. I also did some refactoring to try to separate out the actual game specific code away from the helper object that I created previously to kind of import maps from the tiled game map editor software. So I had those kind of convoluted and paired together a little bit and I got those a lot more generalized and broken apart. And I have a couple ideas for some twists that I like to add on to the game that are not in the original version, at least as far as I'm aware. So I'll be playing with that a little bit more and doing some of those in the next coming weeks. Another thing that popped up that I kind of want to try to do this week is make a selectable list widget for display IO. So it will display like a vertical list of strings and it will give you a little arrow or something that points to one and the user has the ability to go up and down through the list and then enter on whichever one is selected. So this could be used for like menus and selecting settings and all sorts of things where you have a list of strings that you want the user to pick one from. And the other thing I have, which we talked about in the weeds last week is trying out that Stubbs Generator Library and working out a proposal for how we can include PYI Stubbs in libraries that are not currently deployed onto PyPy. So that's what I got for this week. Thanks. Awesome, thank you filming guy. All right, next up is Jephler. Yeah, I just have to get back to my notes because I was doing something else. So easy to get distracted. Yeah, so last week my focus was on camera stuff again. I got the animated gift saving up to 10 frames per second if you go down to the 240 by 240 resolution, which is still pretty cool. I added color dithering so it works really well and it looks really good, doesn't decrease the frame rate much. And then I started on black and white dither. So this week I'm gonna continue working on the black and white dither of images from the camera and the goal is to get it photo printing to a thermal printer this week. So I'll be able to take a picture, maybe save it to the SD card as an intermediate step or maybe just immediately send it out the printer. And then one thing standing in the way of that is according to the inline comments of the thermal printer library, the bitmap mode doesn't work on circuit Python. It's ended like the author wasn't exactly sure why. So I need to figure out what's up with that and get it working. So yeah, that's the next thing that I will be doing after trying to optimize the black and white dither just a little bit more. It would be nice if it was as smooth as, well, it won't be as smooth as, but it would be nice if you could preview it on the LCD and not have it feel slow. So yeah, that's what's up. It's camera, camera, camera, camera. Awesome, thank you, Jeff. All right, next up is Ketny. Hello. So last week I published the VL53L1X guide. It is a time of flight distance sensor that has a very long range. So if you picked up one of those, the guide is published. I continued overhauling the welcome to circuit Python guide. Submitted a PR to the court, update all example references to board.d13 to board.led where applicable. Recorded some audio clips for a project being done by Philby, Noah and Pedro. I believe there's gonna be video clips of that. So if you wonder what a down-sampled Ketny robot sounds like, look out for that project. Migrated our PyPI builds to be using an API key instead of login credentials. I actually met with the PyPI package manager. They put out a feedback form a while back. A while, like the last two weeks. Asking how people use PyPI with a team of people and what issues or features or whatever they would want or need to continue doing that. And their next step was to actually meet with folks who provided feedback. So I agreed to meet with them. And they asked quite a few questions. And one of the things I talked about was the fact that part of how we deal with PyPI is we do have a single account with shared credentials. And how that can be not the greatest way to deal with things but also a little frustrating if we do have to change those credentials because those are used for all of our builds. And unrelated to the conversation in terms of like team usage. One of the other people in the meeting suggested that they're relatively recently PyPI added API keys that can be used in lieu of login credentials. So I updated our stuff to use that which I think is really good. I updated the circuit Python core documentation troubleshooting page. A user reported some confusion in there and the confusion was actually just a typo but after looking at the whole page it was extremely out of date. So it's much better now. On Sunday I went through some Hacktoberfest PRs as well as some other PRs in between and finally put together a list of suggested updated product photos for the aid photographer. So we have some options to use moving forward that are more up to date. Pretty much all the multi-board images we have right now are M0 boards, which we are A, trying to encourage folks not to use and B, they're just older. We have so many new products. It would be great to be able to in a guide have an image that is a series of updated products. So that's what we're going for there and apparently the plan is to try and do them over time because the list was pretty extensive. So that's where that is. This week continue the circuit Python, welcome to circuit Python guide overhaul. The last things to do are update the welcome to the community guide page, write the circuit Python documentation page and write the how do I learn Python page. As a sort of addition to that, I'm going to be adding in the LED animation library guide a page on how to load part of a library. This will be linked in the welcome guide but it won't be part of the welcome guide because really the main library that this applies to is the LED animation library. It doesn't fit on M0 boards and a lot of people want to use it with M0 boards and the answer is to load only the animations you want to use, but simply telling someone to do that is a support nightmare because we don't have it documented anywhere. So the plan is to document that so that we actually have something to point folks to. So they're, you know, Neopixel Trinky or whatever can run LED animations, at least part of them at any given point in time. Some of them will never work on M0, even just the one animation but a lot of them will run if you only load the ones that you need. I'm putting together a list of new Blanka art ideas if you have any for us to consider, please let me know. Tag me on Discord at Katni. I don't know that we will do all of them, obviously, but we haven't done a new series of Blanka art in a while so we started a list internally and I'm happy to consider anything other folks want to suggest. And then I need to fix one of the links on the CircuitPython Chordox troubleshooting page that changed inside the Learn Guide. I will be getting some feedback on the Welcome Guide once it's done or finalized anyway because the idea is to create a better experience for folks who are going through the guide, so I will either contact some folks directly or just put it out there to say, please take a look at this guide and let me know if you have any suggestions. And then finally, I will be updating the Read Me on the Pretty Pins repo so that the process is actually documented. It's not currently documented anywhere. I'm really the only one doing it at the moment but it would be nice if other folks are able to do it as well. So despite that, the documentation will be written for myself but if other folks can pick it up and figure it out, that would also be great. And then I will be doing more Pretty Pins diagrams. That's what I've got. Awesome, thank you Katni. All right, last up, I've got notes from Maker Mubasa. If anybody has topics for in the weeds, now's the time to put them there. There are none currently, so we're approaching the end otherwise. Okay, so Maker Mubasa says, last week finished up mobile sizing optimizations for CircuitPython code editor, updated the file transfer library to work with the fixed CircuitPython bug, updated the CircuitPython code editor to be much more reliable with connections, added a busy animation which makes the editor seem much more responsive. Kind of amazing how that works. Updated color scheme to be much easier to read. And this week, working on wrapping up the code editor with remaining items on the to-do list, possibly start working on a guide for the code editor if there are no major things to change and we can get a new version of CircuitPython released with the bug fixes. And for those of you who don't know, this is code.CircuitPython.org is what Melissa's working on. So it uses web Bluetooth to talk to CircuitPython devices. And that's it for status updates. In the weeds, we don't have any topics but just as a reminder for folks, it is a chance for us to have any longer form discussions that we'd like to have. We don't have any this week but if you ever do have things that you'd like to bring up to the audience of folks who are here, feel free to join the meeting or drop a topic in the notes. We'd be happy to cover it. All right, and let's move on to wrap up. Let me switch as well. So this has been the CircuitPython Weekly meeting for November 1st, 2021. Thank you to everybody who participated. If you want to support Adafruit and CircuitPython and those of us that work on CircuitPython for Adafruit, consider purchasing from the Adafruit shop at Adafruit.com. The video this meeting will be released on YouTube at youtube.com slash Adafruit and the podcast will be available in major podcast services. It will also be featured in the Python for Microcontrollers newsletter visit adafruitdaily.com to subscribe. The next meeting will be held next Monday at 2 p.m. Eastern, 11 a.m. Pacific. However, note if you're outside of the U.S., the U.S. will switch from summer to winter time next Sunday. So if you're outside of the U.S., the time will change for you because we keep it at U.S. time and U.S. time is changing. So the next meeting is at November 8th at 2 p.m. Eastern Standard Time, which is UTC minus five. So just keep that in mind if you're outside of the U.S. that the time will change for you even though the time is technically not changing for us in the U.S. This meeting is held on the Adafruit Discord, which you can join by going to the URL adafruit.it slash discord, it's our URL shortener. To be notified about the meeting and any changes to the time or day, you can ask to be added to the at-circuit-python-nesus role on Discord. Standard time, yep. And in summary, that is why daylight saving time should be abolished, Jeff. I agree. With that, we hope to see you all next week and we'll try to do an extra reminder just because of the time change. So thank you all and we'll see you on the Discord. Thanks everyone.