 I'm starting to record now. Okay. Hello everyone. This is the CircuitPython Weekly for May 2nd, 2022, Monday. This is the time of the week when we get together to talk about all things CircuitPython. I'm Dan and I'm sponsored by Adafruit to work on CircuitPython. CircuitPython is a version of Python designed to run on tiny computers called microcontrollers. CircuitPython development is primarily sponsored by Adafruit, so if you want to support them and CircuitPython, consider purchasing hardware from Adafruit.com. We host this meeting on the Adafruit Discord server. You can join anytime by going to adafruit.it.com. We hold the meeting in the CircuitPython Dev text channel and the CircuitPython voice channel. This meeting typically happens on Mondays at 2 p.m. U.S. Eastern Time, 11 a.m. Pacific Time, except when it coincides with U.S. Holiday. In the notes document doc, there's a link to a calendar you can view online or add that calendar to your favorite calendar app. We send notifications about upcoming meetings via Discord, and if you'd like to receive these notifications, ask one of the moderators on Discord to add you to the CircuitPython Easter Discord role. There's a notes document to accommodate this meeting and recording, which is done in Google Docs. The notes document contains timestamps to go along with the video, so you can use the doc to view only the parts of the video that interest you most. The meeting tends to run like 45 to 90 minutes, so this gives you the option to skip around. After each meeting, we post a link for the next meeting's notes document to the CircuitPython Dev channel on the Discord. Check the pinned messages in the CircuitPython Dev channel to find the latest notes doc so you can add your notes for the next meeting. Meeting is held in five parts. The first is community news, where we look at all things CircuitPython. The next is state of CircuitPython and libraries. The next is hug reports, then status updates, and finally in the weeds. Since we have some people who are at PyCon at the moment and they're on lunch break, right now we're going to skip around a little bit in the order of things. So let's see, Katnie, do you want to do, like for instance the library section or do you want me to do that and you just want to do like hug and status? Just hug and status. Okay. All right. So let me move down to hug and status. So the three people who are joining us from PyCon, before lunch, let's give them a chance to speak up about things. So let me find you, I'll start with, so Jeff is at the airport, so he's not online. I'll read him later. So Katnie, I'm skipping down to hug reports for you and I'll take a time stamp here. Okay. Go ahead and you can do the hug reports. So first of all, thank you to Adafruit for sending us to PyCon, hug reports to Keith the EE for testing, updating and PRing all of the examples from 2019 to the PyCon 2022 repo. So folks had examples to work with during the open spaces. Hugs to the PyCon organizers for putting together such an amazing conference, to the Education Summit for welcoming my talk, everyone who attended the open spaces, to Object Fox and Accubara on GitHub for submitting their own examples to the PyCon 2022 repo, a hug report for the folks that have joined us for sprints, to Jeff and Melissa for joining me at PyCon this year, to Tectric for stopping by our open spaces and helping out with the sprints on Discord, to FOMI Guy for all the help he's been providing on Discord for the sprints, and many more I've missed. You all get a group hug. Okay. Thank you so much, Catty, for being one of the people to represent us at PyCon. And Melissa, why don't you go ahead? Okay. I wanted to thank Adafruit for sponsoring us to go to PyCon this year, and I wanted to give a hug report to everyone who helped put together PyCon US 2022 to Jeff and Catney for all your help at PyCon, to Tectric for hanging out with us at PyCon, to Rose for all your help at PyCon, having an extra person is super helpful, and Paul Cutler for having me as a guest on the Circuit Python show, the episode was released today. Everyone who stopped by the open spaces during PyCon, everyone joining us for sprints at PyCon, all the wonderful people I met here and a group hug to anyone I missed. Okay. Thank you also, Melissa, for being at PyCon. And Tectric, do you want to, since you also want to eat lunch, would you like to do your hug report now? Tectric's not here anymore. Oh, he's not. Okay. Yep. Oh, there he is. No, I don't have to go to lunch, though. I'm not there. I wish I was. Oh, I thought you were. Okay. For some reason, I thought you were. Okay. It was. The library left it already, unfortunately. All right. Okay. So I'll just, so you're not in a hurry, so we'll go on to status reports. Okay. So, Katnie, why don't we go on to your status report? All right. So last week was PyCon prep and travel to PyCon. I attended and gave a talk at the Education Summit, hosted many sprints at the Education Summit, which was sort of an intro to Circuit Python for folks that were attending. Hosted open spaces during the conference, which were time for people to get familiar with Circuit Python on the Circuit Playground Bluefruit. Obviously also met up with a bunch of folks that I already knew and met some new folks. The conference has been amazing. And this week I'll be hosting sprints at PyCon. And then Wednesday I travel home, and whatever I'm doing on Thursday and Friday, I have no idea because I haven't looked at my list. So I have a short status update this time because I don't actually know what I'm doing for work when I get home, but I will figure that out at that time. Okay. Thank you. And we look forward to a more thorough debrief when you get relaxed again when you get back home. Melissa, can you go ahead? Yeah. Last week I finished up the capacitive and resistive touch screen drivers for the Raspberry Pi to a point they are basically functioning. I prepped for PyCon and traveled here. I attended the talks and went to the booths and talked with a lot of other people. I helped Katnay with the mini sprint at the Education Summit. I helped with hosting the open spaces at PyCon. This week I am helping with hosting the sprints at PyCon. Then I'm traveling home and I'm not sure what else after that. Okay. Thank you. I look forward to hearing about your experiences in more detail. Okay. So you folks can stay on or whatever you don't, whatever you'd like to do. Probably you're great. We're going to head out. Yep. All right. Thanks for stopping by. Yeah. Thanks for letting us go early. It's been great to talk. Thank you. Talk to you later. Okay. We'll go back up to the original order of stuff and we'll start with community news. I'll be doing a lot of the stuff myself because everybody else who usually takes various sections isn't here. But I'll just say a few things. There's a ton of news in the upcoming newsletter that's coming out tomorrow, the Python or Microcontroller newsletter. And would you like to actually, like as long as you're here, are you interested in like going over what's in there or would you like me to do it? No, I'd be glad to. Okay. Hi, everybody. Usually I don't go over this, but like Dan said, there is quite a lot in this newsletter of interest this week. MicroPython turns nine years old. It was nine years since the first line of code was written. And there's all kinds of stats on how MicroPython has grown in the last year and what they're looking to do. Starting version 1.19, which is coming very soon. Circuit Python 7.30 beta 2 was released. I think we're getting closer to a stable release for the 7.3 branch. I've got a lot of Python US coverage showing what the Adafruit team has been doing and also what happened at PyLadies with the auction of an Adafruit goodie box. So we're always happy to sponsor PyLadies and other great organizations. There's a new scripting language called PyScript, which can be embedded in HTML that's coming out. And we have, as Project of the Week, we're highlighting projects by students at the Boston College Physical Computing course, which they've been building assistive technology projects and they all use Circuit Python. So there's a number of projects, including Dan Halbert, our resident emcee here, who dropped in the students and checked out the projects. So there's much more and more projects and what's been happening in Circuit Python. I really encourage you to subscribe. I really would like to see the subscribers hit 10,000 before the end of the year. But I can't do that unless everybody hears about it and subscribes if they're interested. So if you have friends or colleagues or something, please send a link to AdafruitDaily.com. Ask them to subscribe to the Python on microcontrollers newsletter. Thank you. Okay, thank you, man. And I'll just sort of remind you if you want to submit news items, send it to cpnews at adafruit.com or submit a pull request to the newsletter repo or tag us on Twitter with the hash Circuit Python. Any of those will work to get news into the newsletter. They're all fine. Okay. So we'll move on to the state of Circuit Python, the libraries in Blinka. I'll take another timestamp. And let's go over the stats for this week. A lot of this has happened in the past, even today. So this is as of, I think, like Sunday midnight or Saturday midnight. So it's a little behind. We run the weekly job. So in the past week, 29 pull requests were merged by 15 authors. They were eight reviewers. There were 18 closed issues and 16 open issues. So we're just about the same, a little bit better. In the Circuit Python core, there were 16 pull requests merged by 12 authors. There were five reviewers. There were still 14 open pull requests. Some of those are drafts or on hold for Circuit Python 8. There were 10 closed issues by five people and eight open by six people. There are 523 open issues. We've got zero open issues for the 7.2.x milestone. We have six open issues for the 7.3.0 milestone, 30 issues for 7xx and 12 for 8.00. Those 12 for 8.00 are things that we have to defer until 8.00. 19 open issues for the library and 455 long term, which are discussion topics or enhancements or long term bugs that are not quite as demanding or their workarounds. And there's one open issue in the support category. In the Circuit Python library world, in the past week, there were 13 pull requests merged by six authors and there were six reviewers. There are 18 open pull requests right now. That's way down from what it used to be. People are really doing a great job of cleaning up. There were seven closed issues and seven opened issues. So we're not closing more. We'd like to close more than we open, but that's all right. There are 632 open issues and there are 197 good first issues. So if you're just getting started on Circuit Python, take a look at the good first issue tag label in GitHub and you can see things that range from documentation to simple fixes to type annotation, many things that are good for a first contribution. In the Blinka world, Blinka, remember, is an emulation of the Circuit Python hardware native modules and some other things which can run under CPython under regular Python on Raspberry Pi and other single board computers and even on regular PCs to some extent also. Not so much activity. There were no pull requests. There are still five open pull requests. There was one issue closed and one issue open and there were 74 open issues and there have been just over 10,000 downloads in the past month and we're currently supporting 88 boards under Blinka, which is terrific. All right, let me go back to make sure I'm not skipping over anything in terms of explanations. We'll move on to Hug Reports and I'll take a time stamp. I'll start in Hug Reports and then we'll go alphabetically through the rest of the people, not including those people who have already gone and I'll read anybody who can't attend. So I'd like to thank Jeff, Melissa, Catney, Rose, and Tektrick. And Tektrick, you said you were at PyCon. Is that correct? I wasn't sure. Yep, I was. I left late Saturday. Okay. I understand. Thank you. Okay. That's what I thought. And I don't know of anybody else, but if anybody else had gone, let me know and we'd like to keep track of who went. So thanks, you all, a great deal for attending PyCon, for absorbing new ideas, for talking to people and introducing people to CircuitPython. That's terrific. It's really wonderful to do that and I'm sure you got a lot out of it. And I'd also like to thank the PyCon sprint participants, that is people who we don't necessarily hadn't met before, who are working on things for CircuitPython right now or in the next day or two working on sprints such as doing type annotation or fixing bugs or implementing new things. That's great. Okay. Next is David Goud, who's lurking and he gives a group hug. Let me take a timestamp here and keep forgetting this. Next is Deshipu, who also can't be here, but says thanks to Dan Halberg for fixing a nasty display IO bug and explaining it to me. And thanks to all the CircuitPython community at PyCon for spreading the love. Next is FomiGuy. All right, thanks, Dan. First hug report this week is Paul SK, who tried out and showed some examples using the new tab layout that I've been working on lately. So it was really nice to see that getting used and Paul made some really cool stuff with it. To see Walter, who submitted the set next code file functionality into the core. This was actually a couple of months back. I remember seeing it when it went by, but I just had the opportunity to play with it for the first time the other day and it is really, really cool. So I wanted to give a hug report to see Walter for that. JetBrains, which is actually the company that makes PyCharm, they randomly found me on Twitch the other day and offered me a bundle license for all their IDEs because I was telling them about using PyCharm for a bunch of stuff. So that was really cool to see them stop by and of course to offer me that license. User on I think it's GitHub, Shulltronics, this person created a PR inside of Blinka that allows Blinka Display.io to work on PCs using a library that I created a little while back. So over time it had fallen out of support and there were a couple of places where it needed fixed and this person came by and made the PR to fix it. So that was really cool to see as well. Katni and Makar Melissa for doing the sprints at PyCon, as well as everybody else echoing what Dan said who attended PyCon and has been spreading the Circuit Python. A couple users that are doing the sprints today and this is definitely not a complete list. I'll try to save these off and make a full list next week because I think these people definitely deserve recognition. But a couple of the ones I know for now are Jimetri, KT Kinsey 37, Lucky Dave 88, and RM Blau. And again, these are all folks that are working on Circuit Python, presumably for the first time during sprints out at PyCon. They're there in person as far as I understand it. So they've been doing typing PRs and stuff like that. So thank you to all those folks and anybody who I missed. And then the last one for me is thank you to Tammy Makes Things who started helping out reviewing some typing PRs recently. I definitely always appreciate folks getting involved in reviewing. So thanks. OK, thank you, phone be guy. OK, Jason P is not here, but I'll read theirs. Thanks to Dan H and Naradak for the weekend macro pad and HID help. Thanks. And now I'll read Jeff's. Jeff is also, I know he was at the airport a little while ago, and I'm not sure if he's on a plane yet or not. So he's missing the meeting. Thanks to Katny. So nice to see you again at PyCon. Make a Melissa. So nice to finally meet you. Thanks to both of them a second time for staying to run the sprints as well. Thanks to everyone else I met at PyCon. You were awesome and it filled my heart with joy to be in the same space with you all learning about Python and much more. Thanks to a ton of people at PyCon. A ton of people at PyCon know about Adafruit and love what we do. Those that didn't yet really wanted to hear about it. And thanks to Dan H for holding down the fork. OK, Jerry, go ahead. Yeah, just a group hug to everybody. Thanks. OK, thank you very much. I can type just type four digits and punctuation marks without making an error. OK. We did Katny already. Next is Keith E, who unfortunately can't be at the meeting. Keith says, thanks to Katny for helping with the Blue Fruit poll requests and guiding me through to getting it up and running while she was already swamped with prep for PyCon. Thanks to Nerodoc for continuing to help answer questions about microcontrollers across a number of Discord servers, helping make sure the circuit Python world is constantly welcome. And a group hug to everyone. All right, and then we make a guess about the time stamp. Did maker Melissa. I'll leave Mark Gambler, who's not here. Thanks to everyone at PyCon introducing new people to the circuit Python, which I could have been there. Group hug to everyone else. And next is Tammy Makes Things, who is not in the chat. I thought she was. OK. Thanks to PhomyGuy for more great display I.O. streams recently, which are helping me think about how I want to design my card deck library. That is a playing card deck library. I'm looking forward to Solitaire or whatever. That would be great. And group hug to the community for being amazing. And let's move on to Tetric now. Pull up the hot. Yep. Yeah, so a hug to Katni, maker Melissa, Jepler, and Crayola for an awesome job at PyCon, especially the open spaces that I was able to attend. It was an absolute blast getting to meet you all in person finally, and just getting to chat and hang out face to face. Again, for Katni and maker Melissa for facilitating the development sprints. I'm super excited to see all the contributions. And I'm going to try to help review some of those PRs. To Tammy Makes Things for taking a look at one of my PRs, echoing what's already been said. Super nice to get that feedback. And a group hug. OK, thank you very much. OK, we'll move on to status updates now. Status updates is where we talk about what we're up to weekly in the Circuit Python world. And if you like not in Circuit Python world, I didn't get a lot done because I'm renovating my kitchen or I'm going on a trip or something like that. Whatever you'd like to report is fine. I'll start as an example. The host goes first and then we go alphabetically. I released Circuit Python 7.3.0 beta last week. And that was to catch up on about three weeks of fixes and additions. I always think that we do this more often than we do. And then I realize, oh, it's been like three weeks or six weeks or a month or whatever or two months. And we really need to get a release out. So we try to do them early and often. I fixed a SAMD 21 issue that caused displays not to work across VM instantiations. Deshipu noticed this and filed a bug. And then I sort of sat down and said, what is really going on here and found out some problems with tick handling, but it was exclusive to SAMD 21. I'm continuing to work with an expressive engineer through their GitHub repo, their ESP IDF repo, on a fix for long delays between I2C transactions on the ESP32S2. So I thought I had a fix. And I had a simple test program. The engineer made a different fix, which worked for him. And it works also with the simplest test program, but CircuitPython was still showing some problems. So we were talking about maybe giving him CircuitPython to try out, but it's so large and it would be so hard to debug without being sort of familiar with it that I instead spent the time to take the test program and make it more like CircuitPython, which I did by adding a free RTOS task that does something kind of imitates what CircuitPython does with the second task to run USB stuff. And I can now get this test program to imitate the same errors that I see in CircuitPython. So I passed it back to the expressive engineer and hopefully will continue to move forward on that. And the next thing I'm doing is starting today is working on testing all aspects of the native modules on ESP32-S3, which is a board that just came out. And we know of problems and we like to test the existing native modules more thoroughly. So I'm going to do that. And in the process of doing that, I'm also going to write a guide about how to do testing of a new port or a new chip or something like that with a bunch of test programs. In a perfect world, this stuff would be automated. It's very hard to automate that and to set up, make test jigs to do this kind of thing. But at the very least, we can make up a comprehensive set of Python scripts and some wiring instructions for helping you to test these native modules comprehensively. OK, next I will read David Glaude's status report. Last week, first working prototype of mouse emulation to encode a texture from an in-memory buffer into game builder garage, which is a quote game on switch. Right now, reading data from a binary GTD file lists all the GTD files in Flash and process them one by one. This week, display GTD image file and display I.O. File has implicit palette one byte for the most frequent color index and 4,096 bytes for the 64 by 64 pixels of the image. So I'm not familiar with GTD, but this sounds interesting. Next is FOMI guy. All right, thanks, Dan. Last week, first one is a bit of a bummer, but I found out that I accidentally deleted some work that I had started on making a tab layout. So this is a status update and a learn from my mistake type warning. Back up your code early and often don't do your development only on the microcontroller. Definitely always copy it back to your PC and, if possible, put it in version control, because all those things will make it harder to lose your work. Once I figured this out, I did just start working on it again, so I re-implemented it back up to the same place where I had it before, the same functionality, at least. And as a silver lining, I do think I got the code a little bit nicer this time around. So we made some improvements in the process of rebuilding it. So that was cool. Testing out various PRs, including some typing PRs. And we've got a bunch more of those to go through this week from the folks at the PyCon sprints, as well as probably the one that I found most interesting this week that I looked into is the Blinka PR to get the Blinka display back to working on the PCs. That's something I like to play with a lot. So I was super happy to see that one go by. The other thing last week was, well, it's kind of in between last week and this week. Over the weekend, I watched a lot of the great talks that were given at PyCon through the online dashboard. So it was lots of interesting stuff to watch people talk about. There's great stuff there. I encourage folks to check out those talks if you haven't. This week, I have been today helping folks remotely who are at the sprints working on PRs and anything else, new contributors to Circuit Python. So I've been helping out folks doing that stuff. And then after the meeting this afternoon, I'll be going back to do some reviews on those things. And I'll pop the stream on so I can talk to folks live. So if anyone's interested in that, you can check it out. A couple other things this week, I want to still finish up the tab layout class. That's what I had intended to sit down and do last week when I found that I had deleted it. So the last thing, the last sort of functionality that needs to be done is touch functionality. Right now, it kind of works and it draws everything correctly and you can call functions to move between the tabs, but there's no actual touch input yet. So that's kind of the last thing to do. Couple other things I did this week, or again, kind of over the weekend, was implement a snake game. I had never implemented the game snake before. So that was kind of fun. I implemented that with display.io using tile grids and it runs on a PyGamer and PyBadger, but it could probably be tweaked to run on other devices as well pretty easily. And then kind of adding on to that, I figured out how to use that supervisor set next code file to kind of integrate it so that the sort of stock PyBadger example that has the couple examples of badges like hello, my name is badge and then a custom image one and a QR code one, figured out how to use that supervisor API to integrate that with the game so you can like show your badge normally and then push a button and go over and play the game and then when the game is over, you can go back to the badge. And you could of course use that for other stuff beyond the snake game as well because it allows you to just specify what file you want. So I think that's a neat thing that will allow folks to kind of show off not only their badge and the stuff like their name and contact, but also maybe like a actual script that they've been working on or something like that. So that's what I got for this week. Thanks. Thank you very much for me guy. Okay, I'll read Jephler's take the time code. Last week, floppy IO merged. So this is a native module inside circuit Python. The capabilities are less than the Arduino floppy library but still it enables reading raw flux and MFM for floppies. PyCon, I attended Friday through Sunday for the talks but sadly had to miss the sprints just due to scheduling. While at PyCon, I helped each day with an open space letting people learn at their own pace with a circuit playground blue fruit and helping when they had questions. This week, I'm exhausted. I know that feeling post PyCon. Release Adafruit circuit Python floppy library which take care of things like running the drives motors, blog about some of the talks I attended and some of the things I learned in the hallway track. If you have time to watch just one talk video once they go up, I recommend the keynote by Sarah Isaoune about the Event Horizon Telescope which wouldn't be possible without Python to do the data analysis. However, many of talks I attended were amazing and I always heard that in the other room there was an amazing talk happening at the same moment. Soon, taking time off from May 16th to June 24th, I might drop in for a weekly meeting somewhere in there but being a lot less plugged in is among my goals. Also learning more about Jupyter notebooks it's on my list of things to do without hardware while taking time off. Okay. Thanks, Jeff for that. Okay, Jerry, would you like to go ahead? Sure. So not a lot of time this last week but did struggle along with the ongoing RFM9X issue in the library regarding using some non-default modem settings turns out the Circa Play Python library doesn't play well with the Radiohead library probably not with itself either for some of the non-standard settings or non-default settings. Still investigating, still puzzles us to exactly what's going wrong. According to the datasheet, it looks like there's good reason for the confusion. There's a lot going on there and some funny settings when especially we can get to some of the higher and lower spreading factors and things like that. So really not much progress with it. It's gonna have to wait a few weeks for me to do anything else with it. Anyone else wants to take a look and play with it? They're welcome to. There's an open issue on the repository and I'll be away for the next two weeks and hopefully with a little or no internet access and cell phone access. So see you in a couple of weeks. All right, thank you, Jerry. And I hope you have a nice break. Thanks. Okay. So now I will read Tammy makes things. She's missing the meeting. Last week, only one Twitch stream this week because of a hardware issue with my computer, which I hope has now been solved, continued working on my display IO card deck library. Submitted a PR for Piku to allow it to work properly with boards that have a lot of flash storage space. Did my first PR review and left comments hoping to do more PR reviews and join the review team soon. This week, Twitch streaming, hopefully Wednesday PM and Sunday AM Pacific time and maybe one more pop-up stream now that I've hopefully gotten the hardware issue sorted out. Continuing to work on the display IO card deck library, the easy stuff is out of the way. So now it comes to the hard part of actually displaying cards and groups of cards on a display device, hopefully setting down to a more normal work schedule and regular cadence for circuit Python related activities. Okay, thanks for Tammy's contribution. Tektrick, you can go ahead. Yep, so this past week, I attended my first PyCon. It was an absolute blast and I definitely learned a lot, both from everyone from Adafruit and working on circuit Python and just the other talks in general. I also just finally finished moving out, super excited to do it in a few more months. Hopefully that's the last one for a long while. In other non-software related news, I finally designed my first piece of open source hardware which was a PCB for the auto lighting menorah. I've been putting off for months. Luckily I have many more months to put it off before it's actually needed. And then my unfinished note is that I continued to review changes from a previous PR that I wasn't able to get to until I had some downtime at PyCon. This week, I am refactoring the OATEC or A-T-E-C-C library as well as doing some other things there such as setting type annotations while I'm at it. Additionally, I am finishing up some feature additions to libraries that I've been waiting the heart for the hardware for, particularly that's the Max7219 and unpacking everything in the new place. So that should take up probably the bulk of my time. And that's all. Okay, thank you, Tetrick. And I'm glad you got to go to PyCon. It's always much more interesting than I always at first thought, first think when I go, I've been two or three times. Finally, we have the indie weeds section which is for longer discussion. I just added something because it occurred. I think it was FoamyGuy who said that they lost some work. So I'll just mention one thing which I'm not quite sure where else to mention it but I have always wanted the various, the editor that I use would happen to be Emacs but it could be anybody's editor. It could be Mu or it could be PyCharm or something. It'd be really nice if those editors had an easy way of writing to CircuitPy and also writing at the same time to some local storage on your host computer so that you never were going to lose work. And I would be surprised, surprisingly I can't find plugins for IDEs for this because it doesn't seem to be a use case but if anybody would like to work on that I think that'd be a wonderful project which would be useful for not to CircuitPython but many other things. So if you get a hand cream to work on this, please do and choose your favorite ID or editor and maybe we can do it for more than one. I don't know if anybody has any comments about that. But yeah, I will say it was me that lost stuff and I would be definitely a thousand percent on board for that that would have helped out. I'll also mention this other project, Blinka CLI is the name of this project so it's a little confusing with our other Blinka but this Blinka CLI was made by a different community member and I'll point it out because it's a command line tool and it does have a backup, excuse me, a backup and a sync command which do basically allow you to copy all the stuff from a CircuitPy drive onto your local computer. So I don't know if it would be worth using something like that in the IDE plugins but if so, then a bunch of the logic for actually like copying things over is already handled inside of there but if it were a plugin, you wouldn't have to remember to do it and that definitely would have saved me because I do know about it, I just don't remember to do it all the time. Yeah, exactly. Okay, so everybody would like it and it's not that I added, I think it was, for VS Code I added something that flushed the file system which VS Code didn't do and that was kind of easy to do. So it's not actually that hard to write a plugin at least for some of these editors. I'll look into that, yeah. Even on the simplest version, if it just saved in two places, I think that would be probably plenty for most use cases. Right, right, it would solve the problem. Yeah, it would be a simple solution. It doesn't have to be that fancy. All right, so I hope I put a bug in somebody's ear. Okay, so that's really it. Thank you very much. Is there anything else that anybody would like to bring up? If not, we'll say bye. This has been a relatively short meeting partly because people weren't here but I appreciate everybody coming to this meeting. The next meeting will be Monday at the same time. There aren't any holidays coming up until the last Monday in May which is Memorial Day in the US and so we'll move that meeting to Tuesday but you'll hear about that in a few weeks. Okay, thank you everybody. I will stop recording now.