This is a wonderful, but a little bit disturbing story of some really smart people living in southwestern Colorado, ancestral Puebloans, at a place called Mesa Verde. They lived there for hundreds of years and left shortly before Columbus got to the New World. A lot of their farming was done on top of a mesa, and they lived in caves down the side of the mesa, and these wonderful structures made mostly out of stone. Here is a modern ladder with a person for scale, and what I want you to notice here, in addition to the great new buildings, is up here on top. This fairly clearly was a granary. This is where they kept their food late in their existence there. It's probable, not certain, but it's probable, that this is a little bit like a modern person putting the cookies way up on the upper shelf so they won't eat them before they're ready to, except this wasn't the cookies. This was the food, and that might be something you'd do if food was really getting scarce. Now that structure we just looked at, if you go behind it, you find it's actually built in a cave, and this is sandstone, and there's little bits of shale, and water sort of percolates down through here, and then it hits the shale, and it seeps out, so it's a little bit damp back there, and a generally dry climate.  Little holes that they dug in the rock, so that when water came seeping out, it would fall into these holes, drip in, and you could take a cup and get a little bit of water. And that's what you do if you're really thirsty, because that doesn't look like the best water for us, but if that's all the water you have, that's what you do. Now they built these wonderful structures, and some of them had windows between, say, your house and mine, or your room and mine, and late in the occupation it appears that they walled the windows off. And usually when you're walling the window off, you're trying to keep something out. And it is possible that they were not getting along with their neighbors quite as well as they might once have if they're walling off the windows within the structure. Now if you go up on top where they grew the corn, this actually was built by the ancestral Puebloans hundreds of years ago, and it stops erosion, so there's a little tiny stream comes through here, but this little dam of rocks catches a little bit of soil, where you could grow a little bit of corn, and it traps a little bit of water and a little bit of soil. And so you're looking at people that really were shepherding what they had conserving, and apparently they needed this. Now what you see then is people who were living on the edge, hard to get enough food, hard to get enough water, life was getting hard. Now if you look around the structure it's mostly made of stone, because there weren't many trees, but there's a little bit of wood in the houses there at Mesa Faraday. You know anything about wood, you know that it has layers, and the layers when the tree is happy it grows a thick ring, and when the tree is unhappy it grows a thinner ring, and you can see different thicknesses of rings in this, and you can take cores, and you can count the layers, and count how thick the layers are, and in a place like Mesa Faraday where it's very dry, a happy tree is one that has rain, and an unhappy tree doesn't. It's also possible if you have a living tree you can take a core from it, and you can see the pattern of thick and thin rings in that core. There might be dead trees nearby, and you can see the pattern of thick and thin rings in that, and you can match them up between trees, and you can go back to the wood in the archaeological sites, and you can find the same pattern, and so you can make a tree ring record which is longer than the life of any given tree with the thickness of the ring telling you how much it rained. So now what can you do? Archaeologists and tree ring people got together, and they made the plot that you're going to see here. The year 800 is on your left, the year 1200-1300 there, which is sort of the crash, and so first of all you have in green here a history of how many people could live in the area, and this is actually done just down the road from Mesa Verde at a place called Longhouse Valley that had less trade, so it was sort of easier to work on, and what they did is they looked at the trees and they said how thick a layer is is how much it rained. Rain also tells you how much corn could be grown, and corn is how many people could live there. So the green curve is from trees and from knowledge of the people, how many people could live in this place. Independently, archaeologists went in and they looked at the classical things, how many people were living there, you know, how many burials and how many houses and that sort of thing, and so they looked at how many people were living there and that's this curve. And what you'll notice is sort of within the scientific uncertainties of all this, these are the same record. How many people lived there and how many people could live there are essentially the same. When it got wet, population went up. When it got dry, we don't know whether they died or whether they left or whether they quit having babies, but the population went down. And the rains came back and so did the people and then the rains left and at some point the people said we are out of here, we're going to become environmental refugees and we're going to go someplace that rains more and they left. And so these are very smart people doing amazing things but they were controlled by the climate ultimately and it got them in the end. Now this is more recent. This is Oklahoma from the year 1900 to the year 2000 and the red curve here now is a history of drought and down is really dry and this thing right down here is the dust ball and that made great literature but it made lousy living and you've probably seen the pictures of the the okies headed for California to get away from the dust. But look at the population history of Oklahoma and you'll see that while the dust bowl kicked them and then World War II, some probably going off to war, it's not nearly the disaster it was for the the ancestral Puebloans. Now these are also smart people but these are people that when the drought hit some of them got in gasoline-powered cars and they drove away but some of them had food delivered in gasoline-powered cars or in diesel-powered trains. They had diesel-powered well drilling that they could drill a well and they could run motors or run windmills to pump water out and so they had more tools and they had more stuff and those were fossil fueled. And more recently when other droughts have occurred it really hasn't affected the population much at all. Little tiny changes but really not too much. And so what you can see is our having fossil fuels and having machines and having trade has greatly insulated us from what otherwise would be disasters for even very smart people.


Hello friends. I'm Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. In this video, I'm going to demonstrate you how you can create email templates and email alerts. If you want to follow Salesforce training videos, you can search my name Sanjay Gupta on YouTube and you can follow my YouTube channel. So to create email templates in Quick Find, you need to search email templates. So you can select this option, classic email templates. So right inside you can see various templates. Those are already provided or implemented by Salesforce are available. So you can use these pre-implemented templates as well as you can create your own template and here you can see several folders are available. So if you want to create new folder, you can click on this link so that you can create new folder and you can store your newly created templates in those folders as well. So I'm creating a new folder whose name is my email templates. So this will be its unique name, public folder access. So I'm giving read write access. And now here if you want to add any existing email template to this folder, you can click on that email template and you can click on this add button. So this way an email template will be added then sharing thing is available. So you can choose any one option like this folder is accessible by all users hidden from all users or you want to share this folder to a particular group of user or the whole source of audience. So right now I'm selecting accessible for all the users and clicking on save. So new folder is created and you can see one sample template is available here. Now I'm going to create new email template. So here various options are available. So I'm choosing first one. If you want to know how we can create an email template for HTML using classic letter, letterhead. Custom without using classic letterhead or user code so you can watch another videos on my channel. So this way you can see to select merge fields these options are available. So if you want to put any field related to a particular object so you can choose that also. So let me first type some message then we will choose merge fields as well. So folders by default selected if you want to change the folder name you can change that as well then available for use. So you need to enable this checkbox so that this email template will be available for use then email template name. So my first email template right then encoding you can choose description you can write. This is my first email template now subject. This is my first email template for test. So here let's say hi then I'm putting a comma then this is my very first email template creation right and thanks. So just after hi I want to put a merge field. So from here I'm selecting a contact then I need to select a field. So let's say name. So as I selected field as name so this copy merge field value is already automatically created so I am just copying it and I'm pasting it here. Right so whenever you will be using this email template contact name will be available automatically here. And I'm clicking on same right so this way our email template is created now if you want to test it so you can click on this. So from here you can click this and you can select a particular contact as well so that we can test the merge field. So I'm selecting this so this contact will be merged with this email template and I'm clicking on OK. Now I'm open my email. So in my email you can see hi Jack Rogers so the contact which I selected that contact name is available here and this is the message that I typed. So this way you can see this email template is working well. Then if you want to use this while drafting any email so you can also do that. So let's say I'm clicking on an employer opening employer record. So in activity we have a prediction that is related to email. So if you want to choose that email template so you can click on this button. Click on insert email. So here you can select classic email templates you can choose your folder. So here it is you can choose it. So it is saying inserting this template will over at the current email. So if you have typed anything that will be erased. So you need to notice that so here you can see contact name is not available because we are putting it on employee. So you need to draft email and email templates accordingly as per your objects. So this email template we are using on employee object. So contact related details will not be available here. So now if I open that email template again so here you can see we must contact dot name. So now I'm editing it and I'm merging employee field here. So I'm certain searching for employee object and I'm putting employee name field here and saving this. Now I'm moving here doing a refresh. So now I'm going to use this email template on employer record. So that employee name will be available. So I'm clicking on email. Clicking on this button so that I can insert. So here you can see recent use templates options are also available. So I'm selecting this one. So again this is throwing this morning for overriding. So I'm clicking on insert. So here you can see employee name is available here. So employee name field is containing this number. So it is available here. So this way you need to create email templates smartly as per the requirement of the object. So for a particular object you need to create an email template so that merge fields can be available on that object records. Right. So this is one use of email template. Now if you want to use your email templates in both those process builders or approval processes. So you need to create email alerts and in those email alerts you need to select a particular email template so that that can be used. So now I'm opening email alerts. Clicking on continue. So here you can see again we can create folders. Sorry. Here we can create views as per the requirement and by clicking on this button you can create new alert. So let's first read this information which is available here. So it says create an email alert to associate with one or more work rules approval processes or entitlement processes. Right. When changing an email alert. Any modification will apply to all rules approvals or entitlement processes associated with it. So if you want to use your email template in these work rules approval processes or these process builder processes. So for that you need to create these email alerts and then you can use those email alerts while creating work rules or process. So now. Description we need to fill the name of or you can see the description of the email alert. So test. Email alert. Unique name. Then we need to choose a particular object. So let's say I'm choosing employee. So it will work for employee object. Then we need to select an email template. So I'm selecting this one. Then most important thing is the recipient type. So here we have various options. Right. So user rules, related users, related contact, public groups, owner, email, create a case team account owner. So you can choose any option as per your requirement. Let's say on a particular record email field is available. So you can choose this. So on employee, this email field is not available. So for example, if I choose contact. So on contact email field, email fields are available on contact records. So that's why you can see here email field is available. Right. So you can add this like this way. Right. So again, I am selecting employee. So you can see email field is not available. So right now I'm selecting user and I'm selecting my name. And here you can put five different email addresses. So these are additional email addresses. So if you write any email address here, that will come into CC of that email. And this will become the two part of the email. Right. Then from email addresses, so current users email address. So this email we've sent from the current users email address and to this recipient. Right. So this way you can create email alerts. Now I'm clicking on save. So this email alert will be created and you can use this. Then you can see the related list rules using this email alert approval processes using this email alert. So this way you can find where we have used this email. So I hope you understood how we can create email templates, how we can insert email templates while drafting emails, and how we can use email templates for creating email alerts for workflow rules, process builders and approval processes. And in my another videos, those are related to workflows and process builder. You will see how we can use these email alerts to send emails automatically. So that is related to process automation. So while creating records or while editing any record, we can send emails to users automatically with the help of process automation tools. So if you want to watch those videos, you can search my name Sanjay Gupta on YouTube so that you can follow Salesforce training videos. So I hope you understood whatever I demonstrated in this video. Thank you for watching this video.


Hello everyone. This is the Circuit Python Weekly Meeting for April 25th, 2022. It's the time of week when we get together to talk about all things Circuit Python. I'm Jeff, and I'm sponsored by Adafruit to work on Circuit Python, which, as you may know, is a version of Python designed to run on tiny little computers called microcontrollers. Circuit Python development is primarily sponsored by Adafruit, so if you want to support them and Circuit Python, consider purchasing your hardware from Adafruit.com. This meeting is hosted on the Adafruit Discord server. You can join any time by going to adafruit.it.discord. We hold this meeting in the Circuit Python Dev Text Channel and the Circuit Python Voice Channel. This meeting typically happens on Mondays at 2 p.m. Eastern Time, 11 a.m. Pacific, except when it coincides with the U.S. holiday. In the note stock, there's a link to a calendar you can view online or add to your preferred calendar app. We also send notifications about upcoming meetings via Discord. If you'd like to receive these notifications, ask us to add you to the Circuit Python Easter Discord role. There is also a notes document to accompany the meeting and recording. The notes document, when you read it after the fact, contains time stamps, so you can use it to skip to only the parts of the video or podcast that interests you most. The meeting tends to run 60 to 90 minutes, so we think it's handy for you to have the option to skip around. And after each meeting, we will post a link to the next meeting's notes in the Circuit Python Dev Channel on the Adafruit Discord. You can check the pin messages to find the latest note stock and add your notes any time during the week before the next meeting. If you wish to participate but cannot attend, or if you don't have a mic or for any reason prefer not to have your voice recorded, you can leave hug reports and status updates in the document and we will read it out during the meeting for you. So this meeting is held in five parts. Next up is community news where I'm going to take a little snapshot of the Circuit Python and Python on hardware notes from the upcoming Python on microcontrollers newsletter. After that, we head to the state of Circuit Python, the libraries, and Blinka. Go to getting a statistical overview of the whole project, a chance to look at the project by the numbers separate from what we're individually up to. Then comes the participatory part. In hug reports, we offer the opportunity for anyone to highlight the good things that folks are doing, and we take the time to recognize the awesome folks in our community. Then we turn to status updates. Status updates is an opportunity to sync up on what we're all 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 will be working on up till the next meeting. And we also love to hear other little tidbits of what is going on in your life. So please don't hold back if you have news about how it was 90 degrees on Thursday and then froze on Friday like it did here. Crazy stuff like that in the weather. May have been Saturday, I forget which day. Anyway, and then the last part, which we don't hold every time, but based on need is called in the weeds. It's an opportunity for a more long form discussion of anything pertaining to Circuit Python or the community. And we invite you to add those topics as soon as you become aware of them, either throughout the week or during status updates, just whenever it becomes clear, the sooner you put that in the document, the better. And while the first two interactive sessions are alphabetical order, that one is first come first serve. And that covers how the meeting will go. So I am going to switch over to the other document and head to community news. So first up, and this is a big one for me, PyCon US 2022 is this week. The event is in person with an online component from April 27th through May 5th in Salt Lake City, Utah. There is a website which for me guys kindly getting the links to. Thank you for details about the conference and the schedule. So Katni, Melissa and I will be attending. They will be there from April 28th through May 3rd, including the Education Summit where Katni will be giving a talk called Simplicity and Fun Learning with Circuit Python. Then during the main portion of the event, we will be hosting a Welcome to Circuit Python mini sprint within the open spaces component. No, I guess the Welcome to Circuit Python mini spread is also during the pre-conference, my mistake. Then next up is the open spaces every day during the main conference where we will do a introduction to Circuit Python using the Circuit Playground Blue Fruit. The Blue Fruit boards will be provided along with a few accessories to enable folks to explore Circuit Python. A quick start will be available as well as a series of other examples to delve into. And the three of us will be coming and going from those and Katni has put together a great little kind of two-page curriculum for people to learn from. Then I head home, but Katni and Melissa continue through the sprints on May 2nd and 3rd, which is a great way to kind of get embedded in the development of Circuit Python, primarily through the libraries. But we really invite you to show up and just figure out how you fit in. And yeah, I'm looking forward to hopefully meeting at least a couple of new people. So yeah, check out that blog post to find out a little bit more about what we're up to and keep your eye on the Adafruit blog to find the time of the open spaces or look at the signage within the conference. Anyway, that was a mouthful. Next up, we have some software from around the web. Microbit has created a Python editor and that has reached beta status. And so the Microbit Educational Foundation is excited to announce that our new Python editor has entered its beta phase, meaning we are getting ready to release it to the community. And there are links to the mailing list and the support sub-site. And I'll read a quote. The new editor has been built from the ground up with classroom use in mind. It aims to make text-based coding more accessible to students who may find it hard to engage with the subject by removing known barriers to learning. It's also designed to make computer science appeal to more diverse cohorts and hence expand their horizons. And I believe that's working with the MicroPython port for Microbit. And then Tom's Hardware did a review of the Pimeroni Servo 2040. And I'm just going to read a little bit about it here. There is a link. We tested the Servo 2040 using MicroPython and CircaPython. Pimeroni has created a new version of its MicroPython release, which provides support for the Servo 2040. And it seems that roboticist and developer Chris Parrott has poured a lot of love into the software that supports this project. And it is also backed by great documentation. And I'll talk a little bit more about the Servo 2040 later when it comes to what I've been working on. Next up, more online or more IDEs intended for classroom. The CircaPython online IDE has released its four classes edition. It is nearly the same online IDE as the existing CircaPython online IDE. However, in this project, teaching functions are provided. And just what those are, you can find out the full text in the newsletter. The CircaPython Weekly newsletter, which this has been a preview of, is a community-run newsletter emailed every Tuesday. The complete archives are at adafruitdaily.com. It highlights the latest Python on hardware-related news from around the web, including CircaPython, Python, and MicroPython development. To contribute your own news or project, edit next week's draft on GitHub and submit a pull request with the changes, the links are in the notes document. You can also tag a tweet with hashtag CircaPython on Twitter or email cpnews at adafruit.com. And there's a whole huge fraction of the newsletter, which is People's Projects, which I always love. But there was so much of kind of the headline stuff that I didn't even get down to them today. So go sign up for the newsletter at adafruitdaily.com if you're not on it already. And check out those projects. I just love seeing them every week that I run the meeting. I get so excited by what's in there. But that wraps it up. Just a hat tip to Ann. Thanks for keeping the wheels on this thing and making a great newsletter every week. So that brings us to the state of CircaPython, the libraries, and BlinkUp. And I'm going to give you an overall kind of pulse and then hand it off to some others to get a little more specific. So overall, we had 30 pull requests merged from 20 authors. There are some names that are new to me or don't show up a whole often. And I will just kind of go through a few of them now. I apologize because I'm going to print on some of these wrong. Anyway, Stone Hippo, Zhu Hao, Bill Van Luen, 424, Mark Singh TW, and Urun Syaband are some names I didn't recognize. And also, NerdCornet, I think may also be another new or newer contributor. So thank you to all 20 of those authors, most of whom are outside of Adafruit. So if you're able to help us make the software work better for everybody, we really appreciate that and we couldn't do it without you. Reviewer-wise, we had six reviewers and thanks to all those folks and thanks to people who also just comment on pull requests and on issues and help us find the information that we need so that we can resolve the problem or implement an improvement, whether you're formally recognized as a reviewer or not. And finally, issues-wise, we were on a real downtrend with 25 closed issues by 11 people while we had just nine issues opened by seven people. And I asked Dan earlier if he would update us on what's going on in the core of CircuitPython. So go ahead, Dan. Okay, thank you, Jeff. Okay, in the past, since the last meeting, we've had 14 pull requests merged by 13 authors and there were three reviewers. Scott is out on paternity leave. So Jeff and I are doing a lot of the reviewing and thank you, Gambler21, for doing some reviewing also. There are 17 open pull requests. Some of these are drafts and are in process. There aren't too many that are really stalled, which is good. There were seven closed issues by four people and three opened by two people, so we did have a small net improvement. That's great. There are 523 open issues. And of those 523, there are 7-2.x milestone, has zero open issues. Unless there's some new showstopper issue that comes up, we probably will not issue another 7-2x release. There are nine open issues that we hope to fix for 7-3-0 final release. There were 29 issues we hope to fix by the end of the seven series. There are 12 issues open for 8, which those are all deferred until 8 happens usually because they're incompatibilities of some kind between major versions. We've got 19 open issues that pertain to libraries and we've got 455 long-term issues which are things that we might get to there, suggestions or enhancements and sometimes bugs. And there's one open issue on support and we have negative two issues. Maybe that's an imaginary, maybe it's really minus 2i issues, the imaginary issue is not assigned a milestone. So that's it for the core. All right, thank you, Dan. No releases in the last week or so, right? That's right. I might make a beta sometime this week, but just a catnip. All right, and next, Katnie, I just assume that you are all ready to tell us about the libraries. I am. Great. This section applies to all of the Adafruit Circuit Python libraries, which is everything that starts with Adafruit underscore CircuitPython underscore, as well as a couple of extras such as the community bundle and our cookie cutter. So across all of those repos, we had 16 pull requests merged from nine different authors and five different reviewers. Most of the merged PRs was over a month old, so I'm glad to see we're still getting through some older PRs. That leaves us with 26 open pull requests. We had 18 issues closed by eight people and six opened by six people, leaving us with 629 open issues. 198 of those are good first issues. 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, including pull requests, open issues, and library infrastructure issues. With the issues, if you're looking to contribute documentation or code, check out the issue list. Good First Issue is a great place to start if you're new to everything. And we have a guide on contributing to CircuitPython using Git and GitHub, so don't let that part intimidate you. We're also always available on Discord to answer questions. If you're interested in reviewing, check out the open PRs and if you don't, take a look at syntax spelling that sort of thing and leave a comment. Let us know you looked at it. That's super helpful. And once you're comfortable with that, we can talk about adding you to our review team. In terms of library updates in the last seven days, we have no new libraries, but we have a short list of updated libraries that I will not read, but they are in the notes. And a quick thing, I guess, that's kind of fun to look at. And then we also have a look at Adafruit Discord badge. I pointed to Discord already, but now we have a little custom badge that says Adafruit Discord and has a little star on it. I'm kind of excited about that. And that's what I've got. Thank you, Katnie. And to round out this section, I will invite maker Melissa to give us the Blinka updates. Hello. We're at MicroPython, RatsprayPy, and other single board computers so that the CircuitPython libraries can run on those boards. And this past week, we had zero pull requests merged. There are currently four open pull requests. There were zero closed issues by zero people and zero open by zero people, so no activity, leaving a net of 74 open issues. There were 11,172 PyWheels downloads last month, and we are currently supporting 88 boards. And that's it. And it's not directly going to show up in the numbers on Blinka, but you're working on some pretty exciting stuff with the displays on Raspberry Pi, right? Yes, it's called Getting Frustrated about writing device tree overlays. All right. More about that in status updates. Thanks, Melissa. No problem. Next, we come to hug reports. So this is the first of our two round robin sections. And let me just jump to my blurb that I'm going to read out. Hug reports is a chance to highlight folks in the CircuitPython community and beyond for doing awesome things. As mentioned, this section is held as a round robin, where I will start and then we'll go down the list alphabetically. If you're text only or missing the meeting, but have hug reports in the notes document, I'll read those off as I get to your position in the list. So, my hug report is first to Lady Aida for always having excellent quests to Dan for pinging me when I dropped the ball on an mp3 problem, which I didn't put in status updates, but I'll try and remember to talk about it.  And lastly, Scott, hey, I hope you're doing well. I hope you're doing an excellent job of not being seen well on Paternity Leave. And next up is C Grover, who is just listening in today and has a hug report for Fome Guy and Naradok for insightful revision control advice as I began a long delayed quest into Get More Door. Today's release of Fome Guy's How to Make Pull Requests to Contribute Video was particularly timely and helpful. I'm seeking secretly longing to return to the Shire, however. And with that, it is Dan, who's up next. Okay, thanks. So I'd like to thank Kurtie and MJS 513 who are continuing to work on a lot of fixes for the TNC boards, the I.MX boards. Some of these are specific to TNC and some of them are more general to the NXP I.MX family. So thank you for that. Thanks to Tetrick, who's been doing a bunch of documentation and typing fixes, both in the core and in libraries. And thanks to you, Jeff, for improvements to RP2040PIO in a variety of ways, making it more and more useful. Okay. Alright, great. Next I have notes from David Cloud and up after that is Fome Guy. So David writes, I've been following in the recordings without contributing to the weekly meeting for months, so group hug because there are too many things to celebrate, such as Liz joining Adafruit, Scott's family extension, Tim for deep dive, and an ellipsis. Alright. Over to you, Fome Guy, and then to Jerry. Alright, thanks, Jeff. Hug reports this week. Thank you to NeerDoc. NeerDoc shared a really cool user interface, like web-based user interface that you can run in the browser for circuit python packaging. Kind of like pulling all the libraries and stuff. Sort of like circuit, but a visual way to see it, which is a really neat project. Thank you to Tammy Makes Things for the streams on Twitch, working on circuit python and python development, and then a group hug for everybody else. Thanks. Alright. Jerry, go ahead and then Katnie after that. Hi. Thanks to NeerDoc for being very patiently explaining to me how to access the micro bit LED matrix on Discord this morning. After Katnie will be Kmatch, but go ahead, Katnie. Alright. This week I have a hug for Eva for running an adabot patch to update the library.getignore files to match. And running a script to update the chat badge on the libraries to the new Adafruit Discord badge to Fome Guy for updating the URL used for the Adafruit Discord badge to the raw URL. So Read the Docs also rendered it properly.  To Rose for modifying said script to be fancier because that's how she works. And to Brian and Rose, Brian being my housemate for joining the flash party to get CircuitPython and content loaded onto 90 circuit player on blue fruits in preparation for open spaces at Python 2022. To Rose for helping in general with PyCon Prep and a group hug. Alright, thank you. Makeumlessa is on deck, but now Kmatch, what is up? Thanks, Jeff. Got one hug this week. This is to GitHub user Suda Morris who I believe is probably on the expressive development team. Thanks to them and I guess the rest of the team for backporting some fixes to the RGB LCD library. Back into the version 4.4 of the ESP IDF which will make it a little bit easier to get it into CircuitPython. So thanks, Suda Morris. Thanks. Alright. After Melissa is Tammy, but go ahead now Melissa. I wanted to give a hug to GitHub user Bad Seafood for contributing a well-written device tree overlay last year that's working as a great reference to Catney for the hard work prepping for PyCon and group hug to everyone else. Go ahead, Tammy, and then I have one set of notes to read. Wait, just a second for Tammy to come back. Sorry about that, I hit the wrong button. Happens to all of us. I just have a group hug for everybody this week. Alright, thank you. And to round out the section, Tektrick writes a hug for Naradok for the fix regarding the edit GitHub link on the CircuitPython API docs. A hug to Catney for all the neat things that will be at PyCon, excited to swing by and check it out. And finally, a group hug. So that finishes hug reports and we will move on to status updates. Status updates is our time to sync up on what we're doing. This section is also held as a round robin. When I call on you, take a couple of minutes to talk about what you've been doing since the last meeting and what you'll be doing until the next meeting. And where it's relevant this is a great time to provide tips and tricks as long as they're quick. If it is a longer topic that doesn't really fit within status updates please add a topic to in the weeds. And anyway, I will start. So last week yet again, I'm trying to put the finishing touches on floppies. I still have a little bit left. It has to do with how you count track numbers on all different kinds of floppy drives. It's a little bit dry but needs to get finished. After Dan pinged me a second time, I worked with a user on the Adafruit forums to find a new problem with mp3d coding, which we believe will be fixed. There's emerged PR and it should be in 730. And then late in the week, I started on a quest to improve the state machine to let it use that new servo2040 board from Pimeroni to its full potential. And basically, at Pimeroni, they had invented a very cool way to use one PIO state machine to create up to 32 different PWM outputs. And there was something missing so you couldn't directly adapt that code into CircuitPython. And I've added the missing piece and kind of done a prototype of the code that you would actually use to control the servos that this is in a couple of pull requests on GitHub for more. Anyway, this week, it's just two and a half days of normal work this week that I'm heading to PyCon, as previously mentioned. So I'm trying to fix those items that I just mentioned above and I started investigating whether to do a rewrite of Adafruit PIO ASM with a goal to fix some, it accepts some programs that it shouldn't and this tripped me up and I lost some time on it last week but also these changes might allow us to add calculating the values of expressions which is in the standard PIO assembler from Raspberry Pi but doesn't work in CircuitPython. So it's gotten to the point where it handles about four, three or four instructions and it's already a larger program than the original. So I'm not sure if the size will be an issue but I'm going to continue playing with that and it will be an easy thing to do while at PyCon if I have some downtime I'm going to write code. So that's what I'm going to be up to and so I'm going to read notes from Cgrover in just a moment and then after that it's Dan again. So Cgrover writes I learned enough to get revision control concepts to successfully submit an NAU 7802 driver class to the CircuitPython community bundle. Congratulations. In conjunction with a custom featherwing design the driver reads sensitive analog load cells for various scale and torque converter projects. And Cgrover is working on submitting three more driver classes and a collection of helpers to the community bundle. This is not only a good educational experience but also an opportunity to fine tune some older code with my evolving skill set. As a visual and experiential learner I'm hoping to codify and document this into a set of process flow diagrams that I can reference from my occasional use in the future. And if you do I hope you share those with the community because people have all sorts of different ways that they feel most comfortable learning and help us enable more people to work on CircuitPython. Anyway, Dan you're up and then I'll read notes from David. Okay, thanks. So I've been working for some time on ESP32-S2 I2C problems. When you run at Hertz there's a big gap between each I2C transaction which makes for instance controlling a stepper motor through an I2C controller really slow because the steps there are many steps and if there's a 10 milliseconds delay on each one that just makes the stepper run really slow. So I did a lot of work inside ESPIDF and sort of found an empirical fix which involves inserting a slight delay some time and place. I brought this up with I opened an issue about this in the ESPIDF repo and the official maintainer of I2C stuff looked at it and found a different bug which fixes an example that I wrote but doesn't fix it in CircuitPython. So I'm not quite sure what to do at the moment but I'm waiting for that maintainer to submit a fix to the other repo and I'll try it again. And there are also a lot of other I2C fixes going on in ESPIDF. So it's kind of a mess right now. That brings up the second point which is there's an ESP32S3 I2C issue which is also in process in the ESPIDF repo and I'm looking at that. And then finally I have all kinds of NeoPixel strips lying on my desk because I've been doing a lot of testing of NeoPixel timing and NeoPixel like things are made by different manufacturers and some of them require slightly different or not slightly different quite different timing so I've been trying to make sure that the timing we have works with everything that we sell and I'm just about there but the timings are quite different than what they used to be so I'm working on that and then hopefully everything will work on everything with the Python eventually. It seems that some of the common wisdom about NeoPixel driving is not entirely accurate based on our internal discussions so that's always fun to learn. Anyway after I read notes from David I will hand the talking stick to FomeGuy so David writes last week converting we you draw game tablet to absolute mouse HID for PC as seen on show and tell and there is a link to twitter in the notes doc also mouse emulation using custom standalone USB HID descriptor rather than using the built in composite descriptor my proof of conference proof of proof of concept demonstrates how to use a we you draw tablet with the Nintendo switch and their current project is emulating a mouse to automate texture drawing on the game builder garage a switch game that allows you to create your own games alright FomeGuy we are ready for you and then after that it will be Kenny alright thanks Jeff this week I created a sprite button class that allows you to make buttons display IO based buttons with any arbitrary bitmap that you want so we can have some fancy your buttons now I made a PR for that in the display button library but it was previously just a single file so I also refactored it to be a package and then Pilant complained about some of the code being copied so I also made a base class to try to put all the common stuff in the base class and then the subclasses now have their separate behaviors is one of the things that I worked on that kind of went into that button was this tile grid which I have made a PR for now over in image load this basically allows you to take a relatively small 3 by 3 sprite sheet and then inflate it up to a bigger size tile grid so the button is based on that and I have a couple other widgets that are in the works that will use that as well I as was mentioned earlier I made a couple automation scripts to update the URL in the read me file for the discord badge due to some differences in the way that github and read the docs are able to render images essentially earlier today I published a YouTube video that demonstrates how to make PRs for circuit python libraries going into this week a couple of the things I have on my list are looking back into making a little draft notification badge or something like that on the contributing page on circuit python.org for the PRs so it will draw something to signify which ones are draft PRs and which ones are just plain open ready for review I think I have figured out where that data comes from and I have also figured out the template where it gets rendered into the page and I just need to get my adabot environment set up so that I can actually start tweaking the data that is in there another thing I want to do this week is work on some touch interaction in the tab layout. I started making the tab layout I think a week or two ago and it's also kind of based on this tile grid inflator so it was one of the first things I used that for but I need to go back and do the touch interaction for it and then get the code cleaned up and get ready to make PR for that and then the last thing I have that I know of so far at least is got a couple PRs that I'm going to be testing out later this afternoon one of them is a sharp display stuff which I haven't set up or used before so I'm excited to kind of play with a new type of display to test out some of that stuff. That's what I got. Thank you. Next up is Ketny and after that is Kmatch. Alright so last week I published the Feather ESP32S3 guide and jumped into testing PyLeap which is an app that allows you to transfer projects project code to either a Circuit Playground Bluefruit or a Clue or the boards that are supported at the moment with it just plugged into power so not plugged into your computer. It works on iOS. Anyway a little background there but tested all the projects to make sure they load both on Clue and Circuit Playground Bluefruit Trevor is our iOS dev I worked with him to get the bugs to get bugs fixed and then tested the bug fixes and I added a new project to PyLeap using the new process which is submitting the project via a JSON file that is kept on GitHub and PyLeap just picks up that new project and that's used to be you had to go in to learn and enable it and that sort of thing and it was not very public friendly because we want folks to be able to add to this who are not necessarily in the Adafruit Learn system so I tested that out as well and it worked as expected and PyCon Prep so this week I need to finish testing PyLeap there is a new test flight with the latest updates so I need to test that I need to get through as much as possible before leaving for PyCon which is easy and difficult test flights the release cycle on those is sort of under Apple's control so you can't just make a test flight and have it immediately show up it could be anywhere from 1 to 24 hours so I won't be able to test a new version of it this week I don't think but I can make sure that the bugs that I filed have been addressed or at least added to the upcoming test flight and then more PyCon Prep and then on Wednesday I leave for PyCon giving a talk at the Education Summit before the conference I'm running a mini sprint at the Education Summit I'm hosting open spaces daily I say me, we are hosting open spaces daily during the conference and then Melissa and I are hosting two days of development sprints after the conference this past weekend was a lot of PyCon Prep including flashing circuit python on content onto 90 circuit playground blue fruits counting out and packaging up 80 usb micro cables because I realized we can't expect folks to have those anymore because most technology does not use usb micro it's usb-c or lightning obviously so whereas previously we could expect folks to have those cables we can't really do that this year since blue fruit is micro and that's what we'll be working with I wanted to have cables available and a bunch of other smaller things that happened there's still a lot left to do but I got a couple days to do it so it would be good to go and looking forward to seeing anybody who is going to PyCon look for us, look for our open spaces come by and say hi and I guess that's what I've got thank you that's a lot as per usual alright Kmatch and then maker Melissa thanks Jeff not too much progress this week due to some house projects that materialized and worked as well the main thing I'm doing is trying to prepare my thoughts for a feature request into the expressive IDF in particular related to the RGB LCD display based on circuit pythons allocation of all the psoram in advance basically I need a function of their init function to be able to accept a pre-allocated frame buffer so I just want to make sure that works like I think it should and propose how that might work so that's the main thing this week but nothing else planned until other things settle down thank you so after making Melissa we will have Tammy and then some notes to read so go ahead Melissa okay last week I was working on a script to install the new MiPi driver and figuring out all the offsets and the rotations especially for the ST7789 display this week I I mean the next item I did was I worked on a device tree overlay for a touchscreen driver for the STMPE touchscreen controllers and I didn't quite get that working yet I think I'm actually really close and I started working on a device tree overlay for the TSC 2007 and this week I'm going to try and wrap up the touch screen device tree overlays and do a little bit of Picon prep and then I'll be heading out and going to Picon later and so I'll be attending and also working with Katnue on her talk workshop in open spaces and looking forward to meeting you Jeff thank you alright then Tammy it looks like you've got a good list of stuff going on what's up so last week I only did one twitch stream I was hoping to do two but I just started a new job and so things have been a little bit that would be a nice word for that and so this week I'm hoping to do two or maybe even three twitch streams I'm still working on my circuit python card deck library and now that we're seeing more and more boards that have lots of flash I'm hoping to get back to my fix for the new tool so that it works properly on those boards that's what I'm hoping on getting done today or this week I'm also expecting significant FOMO around not being a Picon but hopefully next year so we'll see how that goes and that's what I got alright thank you and to finish out the session I will read the notes from Tectric last week mostly packing up my things and moving them to a new apartment so it was a light week addressing some long-term documentation issues in the core thank you adding more typing protocols to circuit python typing to aid in a few type annotations for libraries and a few random bug fixes this week is Picon 2022 and unboxing the things I just boxed and finally probably a few type annotations during the flight and downtime and that concludes the status updates next up would be in the weeds but we don't have any topics so I will move to wrapping up the meeting so this has been the circuit python weekly for April 25th 2022 our next meeting is at the usual time on Monday May 2nd at 11am pacific 2pm eastern time so we hope to see you there although I will be missing it so yeah thank you to everybody who participated today and thank you to everybody who listened in we really appreciate that you are interested in what we are up to to support aid of fruit and circuit python and those of us that work on circuit python consider purchasing from the shop at aidofruit.com the video of this meeting goes on youtube at youtube.com slash aid of fruit and we also put the podcast on most major podcast services it will also be featured in the python for microcontrollers newsletter visit aidofruitdaily.com to subscribe um this meeting is held on the aid of fruit discord which you can join at any time by going to adafru.it slash discord we have people in just about every continent and time zone so come by talk to us about your projects and then join us on Mondays for the meeting um to be notified about the meeting and the changes to the time or day you can ask to be added to the circuit python east's role on discord which is also a must when you want to participate in the meeting by speaking in the voice channel alright I think that really wraps it up uh hope we'll see most of y'all next week thanks again everybody thanks everyone


Mass bumping? Sure, we went over that when I got checked out in the Huey. You can get it during slow planning. Sure, I know about it. Only I call it excessive flapping. It's most likely to happen after I shut down the engine, and a wind gust causes the rotor to teeter excessively. Actually, it's in-flight mass bumping that we've all got to avoid. Mass bumping caused by near-zero-G flight, out-of-CG conditions, or abrupt control movements. One of the functions of the Army Agency for Aviation Safety is to analyze aircraft accidents to determine causes, and then make recommendations to prevent similar accidents in the future. A study of Army mishap experience involving UH-1 and AH-1 helicopters shows that mass bumping in flight can cause mass failure and complete rotor separation, producing catastrophic accidents. Analysis reveals that mass bumping accidents can be prevented provided you as a helicopter pilot understand mass bumping and know what to do to avoid it. This film will first show what mass bumping is in the Huey and Cobra, then show the in-flight conditions which can precede mass bumping, and last, and by far the most important, how you can avoid mass bumping. It may be necessary to view the film more than once. For some of the required corrective actions are counter-instinctive. It is absolutely essential that you completely understand what causes mass bumping and what to do to avoid it. In the Huey and Cobra, inappropriate pilot response to low-G maneuvers or mechanical failure can lead to mass bumping and possible in-flight separation. As an Army helicopter pilot, you must understand the operational characteristics of the UH-1 and AH-1 and know how to handle these aircraft to avoid mass bumping. To help you understand why mass bumping occurs and what you can do to avoid it, we'll first review some of the basics of the rotor and the control systems and the aerodynamics that lead to mass bumping. We'll then discuss these factors in terms of operational flight maneuvers and describe what you as a pilot must do to prevent the onset of mass bumping. First, mass bumping is the result of excessive rotor flapping. Flapping is the characteristic of a rotor blade to move up and down during rotation. Flapping is common to all helicopter rotor systems and is normal and expected. The rotors of the UH-1 and AH-1 use a seesaw action about a hinge pin to accommodate flapping. To prevent the blades from contacting the tail foam or other structure during normal starts and stops, the interior of the hub is fitted with static stops. These are contoured to limit the amount of blade flap and sufficient clearance is provided between hubs and static stops for all normal maneuvers. On the UH-1, the maximum flapping angle is just over 11.5 degrees and the AH-1, it's 12.5 degrees. If flapping exceeds these values, the stops will bump the mass. It is the violent contact between the static stop and the mass during flight that causes mass separation and this you must avoid at all costs. A turning rotor has a constant flapping pattern. Maximum flapping up will always be opposed by maximum flapping down 180 degrees later. At normal operating speed, the individual blades blur into a disc shape. When this rotor disc is not at a right angle to the mass, flapping is occurring. Now let's examine how flapping can occur as a result of pilot control input. The cyclic control stick transmits inputs through the swash plate, changing blade pitch. The rotor disc will flap in the direction the stick is moved, so cyclic stick movement produces rotor flap. The pilot controls the position of the rotor disc. In flight, when the rotor disc tilts, the aircraft responds by moving in the same direction. This way, the pilot controls the helicopter. Mass bumping is directly related to how much you as a pilot allow the blade system to flap. And to understand this better, we have to dig a little deeper. In straight and level flight, blade flapping is minimal and difficult to see in real time or even for that matter in slow motion. Flapping angles of less than 2 degrees are expected under usual flight conditions. You can expect flapping angles to increase by one or two degrees with high forward speed at low rotor rpm, at high density altitudes, or at high gross weights. You can also expect increased flapping angles during turbulence. Aircraft maneuvering can also induce large flapping angles, for example, side slip and low speed flight at extreme CG position. The risk of excessive flapping and possible mass bumping increases when you allow the aircraft to approach low G condition. And that's what we really want to talk about. Let's see what happens when a pilot encounters a ridge line or a tree line, executes a cyclic climb, and then noses over using a buffed forward cyclic. In this maneuver, he has deliberately given up G loading on the rotor disk by changing rapidly from upward to downward flight and is approaching zero G. Higher speeds aggravate the situation. The combination of down collective and low G means that lift and therefore thrust has essentially disappeared. Let's look at the situation from aft along the roll axis. Absence of thrust means there is no lateral cyclic control, so cyclic movement cannot change fuselage position. The aircraft does not respond because the pilot has given up G loading on the rotor disk. The thrust of the tail rotor acting above the helicopter's center of gravity starts the fuselage rolling to the right. Seeing this, the pilot wants to counter the roll, normally the right thing to do. Tail rotor thrust acting above the FFCG will cause right roll rate to build up rapidly. Alarmed by the excessive roll rate, the pilot abruptly applies left cyclic. The rotor disk tilts in the direction commanded by the pilot. The pilot still has rotor control, but he is controlling an unloaded rotor. That is a rotor that is not producing thrust. Although he still has fore and aft control, he has lost roll control of the helicopter. Flapping increases drastically. The rotor hub strikes the mast violently on one side, then the other, and the mast may separate. Let's go back to the point where the roll started to see what the pilot should have done. As we saw before, as the aircraft rolled, lateral cyclic inputs could not develop thrust because there was no change in angle of attack of the rotor system with respect to the relative wind. Consequently, there was no positive lateral cyclic control. In contrast, let's look at the situation in the pitch axis. Similar to the roll case, aft cyclic inputs cause the rotor disk to move. But in this case, the disk movement changes the disk angle of attack. Aft cyclic realigns the rotor and thrust is restored. The nose pitches up. And with thrust once again available, the pilot is able to counteract the roll. Let's make sure we all understand what the pilot should have done during the noseover maneuver. He could have avoided the logy condition by using more gradual forward cyclic. The rate and extent of cyclic motion should be adjusted to keep the rotor loaded at all times. As a pilot, you clearly minimize the likelihood of mast bumping by staying above one half G at all times, thereby preventing approach to logy and the right roll tendency. If the rotor becomes unloaded during logy, it is absolutely essential to recover thrust first by smoothly moving the cyclic stick aft. Once thrust is restored, left cyclic will then return the aircraft to the normal flight attitude. The basic lesson here is that the pilot contributes to the potential of mast bumping in the logy environment because any pilot's instinctive reaction when a roll begins is to correct it with lateral cyclic. And the greater the roll rate, the more abrupt the control movement is likely to be. Severe flight attitude seem to call for severe control inputs. Yet it's the severity of these inputs that can produce worse problems. If you encounter logy conditions, remember, avoid abrupt large magnitude control inputs. Smooth, gradual control movements are essential. First, aft cyclic to restore the thrust. Then and only then, left cyclic to correct for right roll. You may also encounter logy conditions during mast unmasking maneuvers or steep descending nose-low turn. If these maneuvers are performed with abrupt, uncoordinated, or cross-control inputs, the rapid changes from upward to downward flight may unload the rotor and induce mast bumping. The risk of mast bumping also increases in turbulence when sudden upward and downward drafts can unload the rotor and get you into logy conditions. If that should happen, you must resist the instinctive urge to counteract unusual aircraft attitude with hard lateral cyclic and pedal inputs. You must first reload the rotor by moving the cyclic stick out. Then once normal g-conditions have been re-established, normal control will return. What about another possible cause of mast bumping? Engine failure. What should the pilot do to control this situation? Again, let's get back to some basics so that we can understand what happens, first under normal conditions and then when the engine fails. The actions we'll be talking about are complex, so it helps you imagine there's a camera along each axis together with one behind the cockpit. But let's say the helicopter is flying in its normal cruise attitude. That means the longitudinal axis and therefore the nose is pitched down slightly and the rotor disk is tilted slightly forward. From aft, the rotor disk is tilted slightly to the left to counter the rightward thrust of the tail rotor. The roll axis is located below the tail rotor thrust axis. From above, the main rotor rotation is counterclockwise, resulting torque would force the nose to the right if it were not for the anti-torque thrust of the tail rotor and vertical fin. The airflow over the main rotor and fuselage would tend to raise the tail if it were not for the synchronized elevator. In normal flight, then, all forces are balanced and the helicopter is in equilibrium. From the cockpit point of view, the horizon is horizontal. Most engine failures do not result in mass bumping, but it can happen if the pilot fails to take appropriate action. Let's say the aircraft is in normal flight, all forces balanced. Then the engine fails, suddenly. As the engine stops, the rotor RPM and airspeed both begin to decay with some loss in altitude. Because the engine is no longer driving the main rotor and RPM is decaying, the torque about the mass that had been opposed by the tail rotor and fin is diminishing. So now, the tail rotor and fin, continuing to thrust to the right, causes the nose to yaw left. Interaction of the relative wind with the yawed helicopter and main rotor causes the aircraft to roll left. The pilot may see this as a nose-down tendency. The change in attitude has been abrupt and is continuing at an alarming rate. The pilot responding to what he perceives as a nose-down left yaw situation reacts abruptly, but in the wrong manner for the case at hand. Right aft cyclic and right paddle, but he fails to lower collective. Right aft cyclic immediately tilts the rotor disk right and aft. And failure to lower collective results in decaying rotor RPM. This will result in larger flapping angles. Mass bumping may then occur. The remedy? Work on the primary problem, not the symptom. In this case, the symptom is the roll. The problem is power loss. So when a loss of power is detected, you need to decrease the collective pitch to avoid a reduction in rotor RPM and apply sufficient right pedal to maintain a constant heading and enter auto-rotation. But now suppose you lose the tail rotor. In this case, the situation is practically a mirror image of engine failure. But it's further complicated because you've lost one of your primary control forces. Tail rotor thrust. Let's see what happens. The instant the tail rotor fails, anti-torque thrust goes to zero and only the fin remains to resist the torque about the main mass. The reduction in anti-torque thrust induces right yaw and left roll. Your attitude now exposes flat areas on the left side of the aircraft and the nose to the relative wind. This induces a roll to the left, aggravated by the absence of tail rotor thrust above the longitudinal axis that could have countered a roll in this direction. Almost instantly, the aircraft can yaw right, roll left, and pitch down. In this example, the pilot fails to lower collective to reduce the torque that is causing his aircraft to yaw. Instead, he moves the cyclic aft right again, working on the wrong thing, the symptoms, and not the problem. With the fuselage already rolling left, right cyclic tilts the rotor disk toward the fuselage and mass bumping threatens. The problem in this case is the torque tending to yaw the aircraft. The proper procedure in the event of tail rotor loss must be immediate reduction in power. You should then enter auto-rotation. Power reduction will reduce the yawing tendency and therefore allow more time to correct the roll situation smoothly. With reduced throttle and collective, keep an airspeed slightly above the normal auto-rotated glide speed. You can experiment with general throttle and pitch application to see if some degree of powered flight can be resumed. But if any adverse yawing is experienced, re-enter auto-rotation, continue descent, and land. For the past few minutes, we have reviewed some factors which are critical to your operation of the UH-1 and the AH-1 aircraft. We have reviewed mass bumping, what causes it, and how to prevent it. We saw that mass bumping is the result of excessive rotor flapping and that the problem is directly related to how much you as a pilot allow the blade system to flap. We pointed out that the cyclic stick and swash plate make it possible for the pilot to control the tilt of the rotor disk. We saw that blade flapping is minimal in straight and level flight, less than two degrees under usual conditions. We then discussed how excessive flapping and possible mass bumping may be caused by aircraft maneuvering, particularly when you allow the aircraft to approach low G condition. We explained that the rotor becomes unloaded during low G. We saw that the crucial issue was the loss of rotor thrust. Because it's those times when the rotor is not producing thrust, that lateral cyclic movement of the unloaded rotor disk will not only fail to control the helicopter, but can result in mass bumping. We then explained how to counteract the effects of low G by recovering rotor thrust first by smoothly moving the cyclic shaft, then and only then left cyclic to correct for right roll. We also examined how engine failure or loss of tail rotor can cause mass bumping and the corrective actions the pilot should take, explaining that in the case of a loss of power, you should decrease collective and apply right pedal immediately to avoid a reduction in rotor RPM. Then enter auto rotation. Now if the tail rotor fails, immediately reduce power, then enter auto rotation. The basic lesson here and the single most important message that should have come through is that you as a pilot can prevent mass bumping by the way you handle the aircraft. It is absolutely essential that your control inputs be smooth and gradual even in difficult situations such as low G because it is abrupt and full range control inputs combined with mechanical factors that cause mass bumping. It is crucial that you understand the operational characteristics of the UH-1 and AH-1 rotor systems and how normal blade flapping limits can be exceeded and result in mass bumping and possible mass separation. Again, I urge that this film be rerun until each and every one of you is completely confident that you know what to do to avoid mass bumping. Mass bumping is real, but it can and must be prevented. It is vital that you understand the part you play.


Agriculture is one of the most important sectors to support the fast-growing population and economy of Bangladesh. There are projections that Bangladesh can face a serious food deficit of around 14 million tonnes by 2030, mainly driven by reduced land availability. The country is exploring opportunities for intensification and diversification of agriculture in the coastal zone. In the early 1960s, a large investment was made in the coastal zone for constructing embankments around the perimeter of the arable lands bordering the rivers to reduce the loss of life and enable agricultural production. These areas are known as polders and covered about 1.2 million hectares. The polders have largely missed out on the adoption of improved agricultural technologies. Most farmers grow traditional rice varieties. As the river turns sowing in the dry season, the farmers face water scarcity to have a second crop, and the land remains hollow during the rest of the year. It exposes the region to food insecurity and makes it more vulnerable to malnutrition. Under the Feed the Future program of USAID, the Sustainable Intensification Innovation Lab in collaboration with Kansas State University and the International Rice Research Institute is working with national agencies and former communities to unlock and demonstrate the production potential of the region. By introducing community-led water management in the region, the project has demonstrated different pathways to intensify and diversify the cropping system. Timely planning of medium-duration, climate-resilient and hazing rice not only improves the productivity of rice but also opens the opportunity to grow a dry season crop. The introduction of maize and sunflower has received a lot of interest from the farm community. The farmers were pleased to see alternate options to feed their livestock and poultry. Adding sunflower to the system provides options of having edible oil for better nutrition. About 60% of the farmers engaged in a demonstration kept their sunflower seeds for home consumption. The project worked with the community to introduce additional income generation opportunities to improve resilience. One of the technologies was mechanical harvesting using a reaper to ease the physical burden on women and increase the contribution to household earnings. I have been working on this project for two years. I have been working on this project for four years now. I have been working on this project for seven years now. I have been working on this project for seven years now. Understanding of potential technologies, its synergies and trade-offs is one of the core interests of this initiative. We believe that the continuation of similar adaptive research with community-led approaches can help the region achieve food and nutrition security.


Hello and welcome to the ground line review your source for everything one piece and today is a momentous occasion because it is almost 1 a.m. And it is finally time for me to review one piece stampede Which I just saw this evening and before jumping into anything I would like to point out that this is a non spoiler review Which I decided to make because I know that many many of you will not have the opportunity to see the film until October November and sadly perhaps even beyond that for countries which have no confirmed screenings as of yet So never fear I'm not going to give anything away beyond general details and impressions here But for those of you who have seen stampede or who simply do not care whatsoever about spoilers I will also be posting a spoiler review shortly But for now I was lucky enough to see the Australian premiere of one piece stampede at Mad Fest in Melbourne And I have to say that the atmosphere in that room was incredible and will more than likely have positively skewed my review of stampede But it really was difficult to walk away with anything other than a smile on my face after Experiencing this for the first time along with hundreds and hundreds of other one-piece fans There was a huge amount of cheering hearty laughter and terrifyingly long lines It stretched all the way around the entire theater just to get in it was a fantastic experience And I highly recommend going out to see this because this film is a once-in-a-lifetime One-piece experience a true love letter to fans and who better to spend the screening with as a result Also when a highly introverted man is telling you to go out and spend time with other human beings You know it's for a good cause with all of that said I do have to say that this review won't be entirely good because stampede does have its flaws Which will get into in a very general manner here and much more specifically in spoiler review But for now if I had to give my overall impression of the film in one word, I'd say Overwhelming from beginning to end stampede is a relentless barrage of pure one-piece Which is both one of the most amazing things I have ever laid eyes on and one of the most Exhausty experiences of my life all in one for example the sheer amount of characters contained within the movie is staggering And most of them are given their moment to shine in one way or another the best equivalent I can draw is probably infinity wall except stampede goes even more overboard Especially with cameos by secondary and tertiary characters in fact on more than a few occasions I even spotted characters from previous films Which is a wonderful nod to the people who have kept up with the history of the one-piece movies But as for the primary characters who demand most of the film's focus Well, they're no secret due to how heavily the trailers marketed them But essentially we've got the straw hats the worst generation and the final united force who command the stage Which even on its own is a ridiculous amount of cast members to keep up with But I will say that they all received a pretty decent balance of screen time and stuff to do Even if that stuff to do is action for the most part I guarantee that one-piece fans will not be unsatisfied with what most of these three groups have to do in stampede Although I was personally slightly disappointed by one or two characters Who may or may not have been pretty heavily featured in marketing material And don't really provide what was promised And my primary example of this without giving much away is roblucci He just doesn't quite have the role you might expect after watching some of the trailers Especially the later trailers This is definitely not the case for most of the primary cast though And I will say that I was very happy with how the entirety of the worst generation were handled And seeing them all together in one place for the first time since the subreddit arc is a momentous occasion With some interesting action based surprises as well There were a couple of things I definitely was not expecting to see from them So let's just say that they go pretty all out As for the straw hats, they all get their due focus even amongst this powerhouse cast I don't think that any Zora or Sanji fans are going to be disappointed with them in this film But I will say that there is one standout amongst the crew in stampede Though I won't specifically mention in this review But just wow It really did remind me of exactly why I love each and every one of the straw hat pirates Because they are all incredibly capable of having their profound story moments Which I will say was very welcome in stampede Now something I do need to say is that you will need to suspend your disbelief Quite often with the amount of characters that pop into this film And specifically how they make their entrances Or even what their overall purpose of being there was There is certainly a couple I can think of where I was like Yeah, you were there But there was no adequately explained reason for why you were there And this applies to some pretty major figures as well All of them received resounding cheers and applause amongst the crowd So they did serve their purpose in that context I suppose While we're on characters though We also need to talk about our film specific antagonists Being Douglas Bullitt and Buena Festa And we'll start with the more intriguing individual being Bullitt And my god, is he powerful? If he were a canon character I'd say that he approaches the level of power held by an emperor figure Like Big Mom Hokkaido But not quite getting there Although in the film his strength is compared to that of Ray Lee So, hmm And so for much of the film he is incredibly overwhelming And honestly that might be one of his greater flaws Throughout Stampede I consistently felt like Bullitt was made far, far too strong Which creates a big problem when trying to satisfactorily conclude him There are other issues though, many of which I won't get into here But to me Bullitt was a fairly flat antagonist He has one track mind, a less than satisfying motive And a backstory that demands significant expansion In fact I really do wish that instead of a lot of the action The film took a bit more time to develop him Especially his connection to the Roger Pirates Because that was another big selling point of Stampede The fact that this guy was a former member of the Pirate King's crew And at any given time I just wanted to know more In terms of action though I will say that for the most part He is very compelling to watch His powers are a visual feast And once again they are just absolutely absurd And as for our other driving force, Buena Festa His motive was somewhat more satisfying But in the end I found myself just not really caring about this guy He has a classically Oda Rescan appealing on first impression design Only without the solidly written character to back it up And yeah I don't actually have a lot of great things to say about Festa Every time he was on screen I just felt like he was stealing time From the billions of other people who we could have been spending it with Now speaking of how time was spent Let's talk a little bit about the story in Stampede And really there's not an awful lot to say The premise is the Pirate Festival And the main event is the Hunt for Roger's Treasure The second part of that I'll have a lot to say about in the spoiler of you But that really is kind of that for the story Do not go into this movie expecting a lot of twists or even development Because it lays out its cards very early And I think banks on you being down for the ride Which for the most part the crowd and I certainly were Now over in terms of criticizing Stampede as a film The lack of story does become a detriment at points There were certain parts where as much as everything going on was Amazing fun and often a spectacle to watch There was a definite desire for some kind of story progression Which does eventually happen but it is minimal And I suppose you could argue that Stampede doesn't really need it Because of what it sets itself up to be Which is an all-star team-up film And it might even be a fantastic thing that we don't spend too much time setting it all up But I'm not too sure about that For me after a while I do need some form of progression Because it is possible to have too much of a good thing Now as for what that good thing is It is undoubtedly action and animation Stampede is nothing less than beautiful at all times Even with some of the CGI stuff happening There were very few points where I felt like something was off In terms of a model or animation And for the most part that sort of stuff can be a tribute to the particular art style that was being invoked And is generally forgivable as a result Having only seen it once at the time of this recording I'd go so far as to say that the animation is actually pretty damn flawless And it is always a pleasure to see one piece given this treatment But while all of that is amazing The action can at times get a bit fatiguing Especially when you're jumping in and out of multiple fights Happening all around the island for great stretches of time on end Stampede does not give you a lot of breathing room As the stakes are high right from the get go Most of which is being delivered to us through action pieces I mean there is at least one merciful moment of respite Which honestly is one of the shining moments of Stampede to me And it really highlighted what I felt was missing from a one piece story up until that point Which was the space to have great character moments and developments that don't involve fighting Because despite being classified as a battle shounen One piece has always been more than that And arguably excels in terms of story drama and comedy At a far greater capacity than it does action Which I guess is why it's kind of weird to see such a physically based film But your opinion on this is going to change depending on what you're seeking from Stampede If what you're hoping for is a product that tells a decent standalone story Then you might have some issues But if what you wanted is an event film that just celebrates a ton of 22 years of one piece Then you'll love it Personally I was incredibly greedy and I was hoping for both Which isn't realized but it is incredibly difficult to be disappointed with what was delivered Every time I think of a negative aspect of the film It is immediately dispelled by the astounding amount of just playing cool moments characters And clashes that were in it And so any flaws that Stampede had were entirely forgivable to me Although I doubt that will be the case for anybody not familiar with one piece Because it really is like taking someone who has never seen a single Marvel movie Or even read a comic into say Avengers Endgame You really do need to have a solid grasp of the series to get maximum enjoyment out of Stampede So sadly this probably is not a good example of something to show a friend to get them into the series Which is a shame because it is beautiful and fun But Strong World, Film Z and Film Gold do still exist for that purpose Also before I get to talk about this completely I should have said this in the beginning But this screening of Stampede was preempted by a message from Mayumi Tanaka Mayumi Tanaka Mayumi Tanaka I said it three times because it's important AKA the voice of Luffy Which was really cool because she was addressing Mad Fest directly So it felt like quite a personalized message The more important thing is that her message actually contained some massive foreshadowing towards a certain event in Stampede Which at the time I thought was just Mayumi being all charming and funny But looking back on it, it is just very cool to see how that was laid out right in front of my eyes And I'll tell anybody who was curious about that in the spoiler review, of course But to summarize my thoughts, let's put it this way I spent a stupid amount of money to fly into state for a couple of hours With my wife for the sole purpose of seeing this movie It's one of the most financially irresponsible things I have ever done And I regret nothing This experience was like no other A true event film that I'm not sure we'll ever see again Because no other series really has what it takes to pull something this ridiculous off And I cannot see One Piece repeating itself with this format on its next outing And so Stampede is a very special film I mean, yes, it has problems from a filmmaking perspective A lot of problems But if you're a One Piece fan, then I really would say it doesn't matter You're going to have a good time here And once again, I'd highly encourage you to see it with as many other One Piece fans as possible And not only that, but you may even want to see it multiple times Because for me, one viewing really didn't feel like enough I mean, I was exhausted after it But I feel like there's so much that I missed or wasn't able to appreciate happening Which is a great compliment because I haven't felt that way After watching any of the other One Piece films Like with Strong World, Film Zed and Gold I walked away going, great, I've seen it Now, time to digest it But the problem with Stampede is that you can't possibly see it all in one sitting So it becomes a bit more tricky to digest So I want to see it again But sadly, that won't be happening here in Australia until mid-November But by then, I'm hoping to be more than ready to go back into this incredible creation With a fresh mind and keen arise But that pretty much does it for this non-spoiler review of One Piece Stampede Just a reminder that I will have a spoiler review up soon As well as hopefully a review or at least impressions from my wife Who knows pretty much nothing about One Piece So I suspect that will be an interesting discussion Speaking of discussion, if you have seen Stampede Please be mindful about posting spoilers in the comments Because there is a huge chunk of the world who haven't seen it So let's not ruin its awesomeness But if you enjoyed this video and the content this channel produced in general Then please do consider donating to the Grand Line Review Patreon Because the support of all of your amazing people Is what continues to make this channel possible And if you'd like to see more videos like this But apply to other anime manga series Then please do check out my second channel New World Review For all of your wider needs And if you'd like to join the fun at any time Then please do head over to my Discord server Where a wide array of shenanigan retakes place on a daily basis And finally please do comment with your thoughts on One Piece Stampede This has been the Grand Line Review And I'll see you next time


My name is Lana Zoftis-Ryerson. I am a neurologist at the Jersey Shore Multiple Sclerosis Center, and I'm also the Director of Research for the Neuroscience Department. I think the Jersey Shore Multiple Sclerosis Center is special because it is a comprehensive MS center right here in the community that it serves. So comprehensive care for multiple sclerosis is really, it's kind of the building block of how we take care of our MS patients, and the reason it's so important is because multiple sclerosis affects everything about the body. So if we think about what this diagnosis does is that it affects the central nervous system.  And therefore, when we are taking care of our patient with multiple sclerosis, it's so important that we take care of that entire individual. So whether it be urological evaluations with evaluations for bladder control, psychological evaluations for how patients are handling this chronic condition. So we really look to provide this comprehensive care where we're taking care of all of the entire patient as an individual, and we can provide resources for whatever the disease may throw their way. We can have patients have an MRI, see their doctor, and have their infusion therapies if that's appropriate for them done within one visit. The other thing I would say is that our staff, our supporting staff, really understand MS. They've all been with the Jersey Shore MS Center since opening, and they're really well educated about the kind of patients that we are seeing. They understand this disease, and so that's what makes the MS Center so special.