Hello and welcome to People's Dispatch. We are standing here in the chilly weather of Geneva in front of the headquarters of World Health Organization. The WHO is holding its 152nd Executive vote meeting this week. Hundreds of governments, activists and other stakeholders have gathered in the city to discuss and deliberate upon some of the most important issues that impact health of the common people of the world, be it social determinants of health or polio or disability and rehabilitation, universal health coverage and many others. We have many experts with us today who have been following these issues and many more for a long time and they will take us through what to expect and what should be done. Looking at the agenda of the 152nd Executive Board of the WHO, in the year of the Jubilee of the 75th anniversary of the existence of the WHO, one would expect something more ambitious, something that recognizes the many lessons learned from the three years of the pandemic. Unfortunately, we are confronted with an agenda that is structured according to a sort of a pre-pandemic time. Of course, there is an exuberant role of the emergency, role of the emergency function and all this pandemic prevention, preparedness and response issues that are very prominent in the agenda. But what we notice is the exactly the same technical way of looking at health, the subtly the same disease-focused glands on health which technicalize the problem rather than making the political issue that it is. And this is a bit of a disappointing recognition that WHO does not seem to have learned the many pedagogical lessons that COVID-19 has told the organization, including, for example, all the environmental, the planetary health aspects of the problem of facing the diseases of the future. So this year the EB is considering a report that updates the executive board on progress towards achieving targets on UHC. Think should definitely not stay the same because what the report is saying is that countries, member states are not on track to achieve the UHC target set out under the SDGs. And this partly is due to COVID-19, but it's also partly due to the financing centric approach to UHC that countries have adopted. So there's a lot of focus on the UHC item. There's a lot of focus on making sure that there's adequate financial coverage to be able to access services, whether it's free at the point of care through refinancing or to be able to pay. The problem with that is even if people have access to financing, if they're living in places, let's say rural areas where there are no providers, then the financing doesn't really increase access to care. So there's limited progress on access to care. There's also the problem that what access to care has been prioritized under the UHC package tends to focus on an essential package, so a fairly minimalist package of essential services. And so what this means is that people may not have full coverage that they require for the medical conditions that they're confronted with. And of course, that's one way of trying to square the circle of implementing universal health coverage with limited fiscal space. So what we're seeing is that financing by centering financing as a priority, you're not really necessarily improving universal access to care. The other part of the report focuses on catastrophic spending and it's got data up to I think 2017. And what the data shows is that catastrophic expenditure on healthcare has become progressively worse. And so we can assume that definitely for the pandemic period, the strain would have continued. And so this is an issue that needs to be addressed. The WHO should now try to, as much as feasible, as much as possible, go beyond this disease specific focus. Of course diseases need to be addressed, but this is the one organization that is mandated with the health rights for all. And it is the only one on the arena that has this mandate, including the normative one. So I would have imagined and I would still expect the WHO to have an approach to worse health that is more focused on prevention, for example, of looking at environmental policies, of looking, for example, at some trends that are in a way triggering zoonotic events like wildlife trading, looking at things that happen in this world that are very much related to health, but are totally untouched by the real agenda of the WHO. COVID-19 has kind of normalized inequalities. And COVID-19 has shown so many aspects of the socio-economic inequalities, exasperating them that exist in this world. And yet we go back to diseases. But we know, according to the Alma Ata Declaration, according to the very basic notions of health, that health is not a technical medical thing. It is a political agenda that needs to look at people's dignity. And if we continue on the vertical disease approach through biomedical solutions, I think we have not learned very much from the very eloquent pedagogy of COVID-19.


Oh Jesus, through the Immaculate Heart of Mary, I offer you my prayers, works, joys and sufferings of this day, for all the intentions of your Sacred Heart, in union with the Holy Sacrifice of the Mass throughout the world, for the salvation of souls, the reparation of sins, the reunion of all Christians, and in particular for the intentions of the Holy Father this month. Amen.


Missing data techniques can be divided into traditional simple techniques and modern techniques. Generally, the modern techniques are always preferable, but there are some instances where some of these simple techniques may be applicable. Also it's important to understand why some of these commonly used simple techniques do not work. Let's take a look at what these simple techniques do, and we'll start with list-wise deletion, or pair-wise deletion, which are the same in this case. Data that we have come from Ender's, so these examples are from his book, and we have IQ scores here and job performance scores here, and the missing data that we have is in the job performance variables. We can see that the pattern of missingness is such that job performance is missing at random. So the missingness in job performance depends on IQ here, so everything below 99 is missing, but it does not seem to depend on the job performance itself. So this is a scenario where modern missing data techniques would work well, but some of these simple techniques do not. So the simplest possible thing that we can do with this data is to apply list-wise or pair-wise deletion. What that basically means is that we are dropping, in this example, we are dropping all observations with any missing data, and simply estimating the regression coefficient with these data that have complete observations. So what is the difference between list-wise deletion and pair-wise deletion? Let's take a look at this example. So this is our data set generated with R, and we have three variables for observations. We have X1, X2 and X3. If we drop all cases with any missingness, we will drop the first three observations, and we only have one observation remaining, and we cannot calculate any correlations, because you need at least two observations to calculate the correlation. So if we apply a correlation matrix, a calculation here, it gives us no results because it requires complete cases. However, it might be tempting to think that maybe there is something that we can do. So maybe we can calculate the correlation between X1 and X2 using the second and the fourth observation, because we have data for X1 and X2 in those two observations. So we will use this pair of observations, and we just take the pair of variables, and we just take those cases that have complete data for that pair of variables. That's the pair-wise deletion. And then we take another pair for a correlation between X2 and X3. We will be looking at the pair of first observation and fourth observation, and for the correlation between X1 and X3, we will be using the third and fourth observation again. We will use different observations for different correlations. We can calculate the correlation matrix, but this is actually potentially problematic. And to show why it's problematic, let's take a look at what the correlations look like. So we have a correlation matrix here, where X1 correlates perfectly with X2, it correlates perfectly negatively with X3, and then X2 and X3 correlate perfectly positively. This is an impossible correlation matrix. So you cannot have two variables that are perfectly correlated X2 and X3, and one correlates positively and one correlates negatively with the third variable. That is an impossible matrix. No real data set would produce this kind of matrix. So this is one problem of pair-wise deletion. It can produce correlation matrices that are impossible. Then if we try to use this correlation matrix in a regression analysis, I don't even know what would happen. Probably the software would give us some kind of error message that this is not a valid correlation matrix. There are also other problems in pair-wise deletion. Quite often when we do this kind of analysis, we want to report a sample size for the correlation matrix. So what would we report if the sample size varies between different correlations as it will certainly do if the different correlations are calculated from different data? Also if we use that correlation matrix then in other analysis, how would we calculate standard errors for those analysis because the sample size is not one number, but we have different sample sizes for different correlations? Finally, even if we are able to overcome that problem, if we then apply the same data in a regression analysis, the regression analysis will do least-wise deletion for us. Then we would write our regression results and write the correlation matrix into a paper and then someone checks that the correlation matrix and the regression analysis don't match. So the correlations do not reproduce the regressions and this will be because the correlations have been calculated using a different data set than the regression analysis. So this is the pair-wise deletion. It's something that sounds appealing. You're going to be using that data that you have for each correlation so you use the maximum amount of data for each correlation, but it's actually problematic because of these statistical reasons and because it just produces very confusing results because of the sample size issue and because of mismatch between correlations and regression analysis. If you must delete observations, then using least-wise deletion is probably a better alternative than using pair-wise deletion. Let's move on to other techniques. So we can delete data, but we can also impute data or substitute data. And the simplest possible way of imputing data basically are coming guessing what the missing values could be if we had observed them is the mean imputase. So instead of using these data as missing, we make a guess that, well, job performance what's the best guess for a missing value, it is the mean of the non-missing values. So we take the mean of these persons that have the job performance data and we simply substitute that mean for the missing values here. What will now happen if we run a regression analysis? The original regression analysis, if we run a regression of job performance on IQ, the missingness is depending on the X variable, the IQ. So a regression analysis would not have any problems in this case. If we do mean substitution now, we can see that these observations here are systematically higher than the original observations. So a regression analysis will be biased and inconsistent. So regression analysis in this case, because the missingness depends on the X variable, not the Y variable, would not really have problems. We would have consistent and unbiased estimation. If we apply mean imputation or mean substitution, then we will cause a bias ourselves because of the procedure that we apply. Also the variation of job performance will be greatly underestimated because these are not really the same value. There's variance and the variance of the imputed values is zero. So this is a really bad idea, but it's very common because it's easy to apply and some entry level quantitative analysis books recommend this as the default technique. So don't mean impute. This is probably the worst thing that you can do when you deal with missing data. We can do imputation or guessing of the missing values in a bit smarter way. And the smarter way is regression based imputation. So how it works is that we run a regression analysis on these data that we have and then we use the regression model to predict the missing values of job performance. As we can see, that produces job performance values that are not biased in this case. They are roughly where they should be, but there is no dispersion. If we now estimate the regression model using this data, the regression model will be too good because we don't model the variation around this line here. But the regression itself, the regression line would be actually consistent. So what they are, what are the downsides of this technique are the downsides are that while we estimate the mean, the conditional mean or the predictive value is correctly, we don't model the dispersion at all. So in mean substitution we model both the dispersion and the expected value incorrectly. Now we model the expected value correctly, but we don't model the dispersion. So this using these data in any subsequent analysis would be highly misleading. But we can still improve this regression based imputation. We can do what is called stochastic regression imputation. So instead of taking the predicted value, we calculate the predicted values and then we add random noise to those predictions based on the model. And this is actually a pretty good technique. It has shortcomings, but we are estimating the regression line correctly. We are estimating the R-square correctly, the variation correctly, and we are estimating the mean of job performance correctly. So this starts to be a useful technique. But this technique also has some problems. So while we are estimating the actual estimates correctly, if we then use these data in any other analysis, our standard errors will be biased. The reason for this is that these imputations here are not the real data. They are our guesses. And if we apply these data in a regression analysis, the regression analysis would not know that these are uncertain guesses instead of absurd values and would not know that the standard errors need to be adjusted to take that into account. So while this technique produces us reasonably good estimates in some scenarios, the standard errors will be inconsistent. They will be generally too small. We have ways of dealing with that issue, but let's talk about these simple techniques first. So let's take a look at the comparison. Enders presents the simulation study. So he's taking a sample size of 250, 1,000 replications. So this is a Monte Carlo simulation. He generates data sets and then estimates using these different techniques. He has three conditions. One is missing completely at random, where the missingness is just a random process. Missing at random, where the missingness depends on the IQ value, which was the case in these examples, and missing not at random, where the missingness depends on the job performance values. The missing data is always half, and the missingness only occurs in the job performance rating. So let's take a look at these techniques and let's see the evidence for ourselves. And this is a kind of analysis or kind of simulation that will be very simple for you to also run on your computer to see for yourself if you don't believe the evidence. So we had a missingness. Job performance is always half missing. IQ, there is nothing missing. And missing completely at random. So this is the easiest case. We can see that there are a couple of things that are biased. They are bolded in the book, but I highlight them with yellow to make it more visible. So job performance variance, covariance and correlation with IQ are all biased if we apply these mean imputation. So we take the mean, but the mean is not the right predictor for the missing data. And therefore everything that we would be interested in about the job performance would be basically inconsistent and biased. Interestingly, if we have list-wise deletion, there are really no problems. What we are losing is precision, but there is no bias, no inconsistency. Then in stochastic regression implementation, we would have no biases at all. And again, if we apply then a regression analysis on this data, the standard errors are going to be inconsistent. If we have missing at random, then what will happen is that we will get more bias. So missing at random list-wise deletion will be problematic for most quantities. Arithmetic mean imputation also problematic, regression-based imputation problematic, but stochastic regression implementation would work pretty well. So the difference between stochastic regression imputation and the regression-based imputation is how we model the variance. So stochastic regression-based imputation increases the variance of the predicted values by adding the random noise, and that variance then influences also the correlation, which is more correct than the normal regression-based imputation. Then the final case, missing not at random, the missingness depends on the job performance values that are actually missing. And here things go haywire. Most of the things don't work. Basically what we observe, what we estimate correctly now is the IQ mean and the IQ variance, because those are, we observe all those values. In the list-wise deletion, we delete the IQ values that we have, even if we could use those for calculating the mean, and this is the reason why we have bias in the means. So list-wise deletion can produce bias in the means for those variables that we actually observe all values for, that don't have any missing. But generally if you take a look at this pattern, this missing not at random is a scenario that is problematic for all these techniques. If you take a look at this data, then stochastic regression-based imputation would be okay, you just have to remember that standard errors will be biased. And missing data techniques, if you have a missing completely at random, then stochastic regression- imputation and simply deleting the data, both would be okay. Mean substitution always bias results, that's the worst possible technique and regression-based imputation is not much better. It estimates the covariance correctly, but correlation, which we are typically more interested in covariance would be incorrectly estimated. There are other traditional techniques, but these are not very commonly used, so I don't talk about these in detail. General techniques would be hot-deck imputation and similar response pattern imputation. These are basically based on the idea that you try to find cases that are similar to the one that has missing data, and then they take values from those similar cases and impute those values in place of the missing data. They have the same kind of problems that the regression-based imputation has. Then our scale-item level techniques include averaging available items. So if you have a scale with three items and one item is missing, you can use the average of the first and second item to impute the third item. This is sometimes a useful technique. It has some limitations and it probably gets applied quite often without being explicitly reported. If you take a mean of available items, that is the same as imputing the missing data with the mean. Then we have techniques for time series data. There is a last observation carried forward. Basically what that does is that if we have, let's say, revenue data until 2008 and we need data for 2009 and 2010, we will take the revenue value from 2008 and use that for 2009 and 2010 for that case. This will, of course, distort any trends in the data, but it's sometimes defensible if the amount of missing data is very small. Time series interpolation would refer to a scenario where we have data for 2008 and 2010 and 2009 is missing. We'll just simply take the average of 2008 and 2010 and use that in place of the missing value at 2009. This is basically another variant of regression-based imputation and it has the same issues. So the summary. How do these techniques work? If the data are missing completely at random, least was the lesson is okay if the sample size permits. No problem with that. There's loss of efficiency, but if your data, if you have a large sample size that you're going to be efficient enough, then this is a simple thing to do. Of course, applying maximum likelihood estimation for missing data would be simple as well and it would be statistically more appealing. So if that's an option, it should be preferred over least was the lesson. But least was the lesson is not entirely bad. If data are missing at random, then things get more complicated. List was the lesson might be okay if the data is trivially small, if the amount of missing is really small. It would be okay if the missingness is on the X variables but not the Y variables. And in other cases, it would be problematic. Stochastic regression implementation would be okay, but then there are standard errors will be incorrect and you should be doing something about that. Missing not at random, none of these techniques work well. What we have as options are then more advanced selection models, but they too make assumptions that are difficult to justify sometimes. So your best option might be somewhere between a selection model and using techniques that are specifically designed for missing at randomness, and then just acknowledging that your results might be biased. There are a couple of final points that I want to make. Mean implementation, regression implementation and a pair was the lesson should be avoided. I hope that this video makes clear why that is the case. Average available items may work in some scenarios, if your amount of missing data is small, if the items are often comparable, then that might be a useful technique. We should always consider the trade-off between simplicity and precision because simple techniques like averaging available items is less likely to be misused than complex techniques. Finally, all of these techniques are generally inferior to the modern missing data techniques which include multiple implementation and macular market estimation for missing data. The multiple implementation, I'll talk more about that in other video, but it's basically an extension of the stochastic regression implementation where you do the implementation process many, many times over. Tomorrow, they are uncertainty related or the variation related to the implementation process itself and that corrects the standard errors and takes care of the final problem in the stochastic regression implementation. The main takeaway of this video is basically that all these techniques should be used, should have problems and some of these techniques, particularly the mean implementation, should probably never be used, even though it commonly is.


Hello and welcome to International Youth Day 2022. International Youth Day has been celebrated every year on the 12th of August since 1999. And this year's theme for the International Youth Day is intergenerational solidarity. We are holding the International Youth Day to just kind of bring it all back together for the common goals to learn, to have fun and to grow as human beings. And we're trying to bring that energy back into the world. Or maybe not that, but to give it more energy. The idea is to celebrate our youth that never ages. And to come together with all the youth in our village and try to network, meet each other, share projects, and share whatever creativity we have. So you can register in any of them, it's free of course.  And then there's exhibitions too, which are going on continuously at the same time. A little bit of history on Kailash. Kailash started in 1998 with a bunch of youngsters from Orville in those days who wanted to have a place for themselves. Kailash is a youth residency receiving youth from the age of 16 to 21. So the idea of Kailash is to have a youth community, a communal life where they support each other, they learn how to be independent, away from home and have another family. And we have a tent here as Kailash Youth Residency. We have baked cakes, we're making juice, and we're selling all of that here and whatever profit we make, we will use and reinvest in the residence itself. Mohanam is a cultural and educational hub. And our main mission and the vision of the organization is to unlock the full potential of youth and women using traditional knowledge, art, craft and culture. So we've been working with the Bayer region and we are trying to act as a platform for the cross-cultural exchange and reconnecting the villages to the international community and locals to their own community.


I if you would think it would kind of be a form of double dipping if you're paying if you're paying something in order to in order to increase the value of your property because obviously the incentive to do that would most likely to be to improve and increase the property value which means you're getting kind of a benefit from it already and so you would think it'd be kind of like double dipping if you got if you got a a tax deduction with it too but in any case the cost of property improvement is added to the basis of the property so meaning the value of the property it might be included to the basis what does that do the basis is kind of like the cost of the property so when you sell the property then you might have to calculate a gain or loss on the property if it's real estate property it might be like a capital gain or loss but if it's personal property then it still would be capital but you might have an exemption for it but the general idea is that you would like to have a higher basis or cost in the property when you sell it because then when you calculate the gain gains are bad for taxes they're good in general but bad for taxes because they might trigger a tax event so then you have the the sales price minus the cost or basis if you get to increase the value of the basis then you're going to have less of a gain when you sell it and that could be a tax benefit however it might be totally wiped away if it's your home in any case because there is a substantial exclusion on the sale which we might talk about when we get to the capital gains so however a charge is deductible if it is used only to maintain an existing public facility in service for example a charge to repair an existing sidewalk and any interest included in that charge so if your mortgage payments include your real estate taxes you can include only amount the mortgage company actually paid to the taxing authority in 2023 so this gets a little bit into the logistics of this so note that if you're dealing with somebody or yourself who is itemizing most likely because you own a home which is a type of real estate and and so and that pushes you over because you're going to have a loan on it typically a mortgage which means you're going to be paying mortgage interest which is usually quite significant and something that the bank will typically tell you about you're going to get forms documentation related to the mortgage interest which will help you to to populate the mortgage interest part


This, who's this guy? That's Maggie the maggot. She is awesome. So she is, you know, this came to fruition one day. I was working a job. You know, we're kind of having fun making light of it, and we decided to take the maggots on the floor and make races. And we had our maggots race. I did not win.  That is exactly the mascot that we need. And she's adorable, unlike the real maggots. And it's kind of just blown up. Most small businesses do one thing really poorly. Which is any type of brand name or whatever. What else have you guys done besides this guy, which I'm totally keeping? What we had to do is kind of make our business not so dire and not so heavy. We got our fans involved, and a fan actually created that. We posted a contest for the drawing of Maggie, and then we had the plushies created. We have a ton of t-shirts and hats, and it's just kind of gotten a lot bigger from a merchandise standpoint than I ever imagined. Thank you for watching.


Now it comes down to Broly, what can he do? Alright, we'll go this way. Oh, no. I'll sit in this corner if you want me to, Broly. What are the best anchor characters? I'm dead. That's why he's one of the best. How's it going, everybody? Dato, do I hear back with some more Dragonball Fighters ranked matches? This time going back to the main team of Krillin, Bardock and Yamcha. And it looks like we're also going up against an opponent playing a big body team of characters with Jiren, Cooler and Broly, right? Yeah, okay, that is an intimidating team shot. I wonder if that's the reason he's got Jiren up on point. That shot alone is terrifying. Oh, my shot is not as scary. We're going to skip that. Krillin, don't embarrass us. All right, let's see. Wait, please, I'm a back dash. All right, he's also back. That was very Jiren like to get me on the first super dash. Now I'm scared that actually he's he's playing Jiren. He is playing. Oh, he's got the optimal route. We are in a bad look right now. This whole situation is a bad look. You know, I got a spark. Okay. Oh, he's playing. I'm already scared to be honest. You got to land a couple hits with Jiren and I'm petrified. It's game over for me. Once you get a couple hits it with Jiren, all of a sudden I'm off to the races.  I'm getting combo. He's going to counter me. Speaking of counter, there's a very real chance. He's right there. He is Jiren. I knew it. That's the only reason I dragon rush. He threw up a melee counter frame one for the 2M. I knew it. This is why I have fears. This is why I don't trust anybody.  This game has really turned around for us in the past couple of seconds. I don't know if this is going to be enough to kill. In fact, it's probably not. Don't sleep on destructive disc. No, it wasn't. Keep him back for the hope of the earth Krillin with the beam. Now it comes down to Broly. What can you do? All right, we'll go this way. Oh, no. I'll sit in this quarter if you want me to Broly. One of the best anchor characters. I'm dead. That's why he's one of the best. That was a lot of damage. Great. He did hit me with a level three after like one move. So it's hard to be too upset about that. But no, we jumped that. Why did you get hit by that? There's no point in slowing down my movements either because oh, I couldn't get through. Not both of us. Oh, we got his level three, but too late. All right. Now there's a now there's a reason to slow down my inputs. Take it easy. Take it easy. Take it easy. Don't let him don't let this get ahead of you yourself. Nice. Okay. We finished it off. We kind of got cheesy there with the double overhead, but I will definitely take that. This is going to be a scary set. Hopefully the best case scenario is we get another win like that and we get out of here to oh, but if we stick around too long, we are definitely in for some trouble. Just the way he plays is going to be a problem for me. Why did that mess up? Nice beam. Keep him out. Remember, it's important that we hold him back. Okay, good. It's important that we don't let Jiren get running. I'm going to end this combo here just because it's getting a little risky. Plus you got to hold that. Don't let Krillin's don't like Krillin's hide for you. This man is top top tier. That was clean. I want to see you defend. No counters allowed. That was that was maybe a that was a great Krillin segment right there. Krillin was just that was Krillin's demo tape. Oh, nice. Nice. Keep him back. Krillin post vanishes. Another reason why the character is very good. Look at the corner space we get here. It's just enough to get Yamcha maybe into the corner. We got to see last time I went for a dragon rush. He went for an ex counter. That was kind of the reason I did that this time. We take it with a 2M. No, he doesn't budge doesn't budge, but we'll settle for this pretty normal combo. What a 2H. That was mean stops my stops my move right where it belongs. Nice. Bardock assist the team. This is why I think this should be my main team. By the way, it's just very strong as a unit. I don't feel like a single piece. Let's any of the other pieces down. Oh, that was this guy. That was like Broly. Y'all just did that was like Broly level or glass. Nice. Okay. I don't know what to do here. Do you close that? Spirit ball probably would have killed, but I messed up. Why did Krillin spawn so far back? Heavy didn't connect. That could have been game. Broly instead is going to put up more of a fight. Stop that. Oh, I'm just I'm messing up. I'm going for too many different buttons. Stop right there.  No air normals. Y'all just too good. Y'all just so good. Dude, this team is so good. I love this team. I'm sorry if I play it too much, but man, it's just it feels like a clicks man. Oh, let's go out to the next game. Great games to that opponent. I really like this Jiren in particular. Now we're in the games though, and all of a sudden I'm more scared. Oh, see, assist. See, assist on hit is very annoying to me. I don't entirely know why.  I was so worried, dude. I thought he was going to hit me with the command grab. I thought I was ready for it. I wasn't. What are you? Are you UI? No, no, you aren't the UI. Don't care. That was I did the after which man just jammed, which was a really smart decision, but that scared me. I was like, oh my good. Like it was like a car just came at Krillin. That move is so good. Just like, oh, what are you bouncing around for? Why did it work? I'm a, I think I'm dead here. Optimal route. I know it when I see, oh wait, wait, wait, hold on, hold on. Oh, never mind that works. That works. It gets the job done. Gonna still take two bars though. I think he's okay with that. I think he doesn't mind that fact as much. Wow, we got to come back on our hands now. Oh man, we shouldn't have gone for the after image. Good enough. Good enough. Nothing I could do. Decent. I'm not going to call it anything that is not, but. Oh, we're getting close here. That bar. I guess this actually messes that up more often than it helps. Yeah, that's really only for if they blow. Well, hold on, hold on. I did not want to get mixed there.  Look at that. That is sick. The flight stuff. Love to see it. Except for when it's up against me, which it was right there in which case it's just scary. Oh, he thought I wasn't going to commit that. Time. That's why I love staggering run up, stagger, run up, stagger. Then you got to hit him with the real stuff. Oh, I shouldn't have hit a button. That was a punish. Maybe he could have also see assist. It was it was a real toss up. It could have gone either way. Too much damage. I got a spark. Oh, yeah, it's sparking. Actually, hold on. We got to see how he approaches the oaky here because it's going to knock me pretty far back and out of the corner. So if I can get away with not sparking here, I'll try to take up that opportunity, but nope. It's sparking time. Let's be honest. We all knew I was sparking right there. You went for a button after that. I messed up. I should have put more pressure on the front end of that. UI Goku instead is just going to. I think this is it. Oh, what a move. Drop it. No, that was a great reaction to that. I thought the Super Dash killed me, but my reaction afterwards is what got me. Hold on. New plan. Maybe not. Never mind. I was going to go for shed rub, but we caught. We got to blew that opportunity instead. It's going to be anchor hit. But wait, he can go for Shenron now. Six and a half bars. Only two auto combos needed. Hold on. I can't play for Shenron anymore. I got to go my own way. I got to go my own way. I'm worried he might wake up level three, but is the worry enough to not go through with what I'm going to do? You got to risk it. Yeah, I'm glad we risked it. I am so glad we took that chance. It could have been way worse. I will take that. It could have been way worse if I try to get fancy with it, dude. I could have gotten stuffed. I could have fallen over. I could have dropped the controller, but instead we got a victory screen here. We're moving on up and it's going to come down to the second game. If he gets a win here, I'm worried about the set.  Two H is the jumping medium. Krill is going through it right now. We stop. There is no need for this much damage. I'm going to spark early. No, that could have been it. That could have been it. The CSS stopped it. That was sick. Three bars and my sparking is activated. It's gone. Yeah, it's gone right now. Actually. Why am I doing the things I'm doing?  Krillin not getting much this stuff got not getting much done. This set is what I tried to say. He has just been. It's weird how this video started off with Krillin like, oh, in his prime. But now we are going through it. Bardock and Yamcha. I know we didn't even leave spark for you guys this time, but I'm expecting similar results. Don't let me down. I thought I was on the other side and I will admit I tried to go for a level three. I will admit that. I'm man enough to accept the when I've been beaten. All right. How about we just play defense? I mean, he's got seven bars. So we're going to get hard knocked down here as expected. I mean, we deserve it. Oh man, this game, this game has been rough. How do we get up? Last time he jumped. Do I do I wake up to H? I've made every wrong decision. You know what? We're coming back with Yamcha. I don't know why my confidence just grew seven times. We'll see if it was a fluke.  I could use a dragon ball. I'm going for it, dude. I'm going for it. I have to, right? That was me looking at me with the jab. No, I was really hoping we'd be able to get away with wishing for sparking. But now we might have to wish for health if we do summon Shenron, by the way, there's no guarantee that that's going to happen. He's switching in another character too. So we didn't even get a character off the board level three. Zamasu. This is probably the pressure I fear the most. No tech. I knew it was going to come down to a dragon. Drop it. Drop it. I need a second chance. He can't kill. It's the game still ongoing. I got hit. Oh, I got hit. I tried to jab. Okay, that one was bad. We got we got stomped. We got stomped. We will return. Hopefully this final game. I told you guys if he won that game and he destroyed that one. If he won that game, I was worried about the set. But I got to go ahead and install more confidence. Downloading more confidence as we speak. Confidence is downloading. Download almost complete. Confidence is updating. Hold on. We got a system boot. We got to reset the system. You got to reset the system. I'm worried that he might UI tech here. I don't want to deal with that to be completely honest. Oh, you didn't go for it. Nice. We caught him. Get Krillin out here. Oh, no, the mash in the quarter. That was bad. I got turned around to Krillin. Definitely jabbed the wrong way. Lades of judgment that combos, right? Yeah, that's a combo. Beautiful stuff. Dragon rush as well. Oh, I should have sparked. Why did I go for that? Horrible decision making. No, I needed Krillin. I'm mashing spark. I'm holding tech. I'm mashing spark. Anything. I'm just trying anything at this point. No. The king of damage. Zamasu. It's fine. We at least still have spark. It's not like we just lost it. What a bad jumping light. We got to get a character, dude. We got to get a character. Right now, our only lead is sparked. It's our only factor that we have for us. I know this level three got me killed. Oh, not Super Dash. I forgot you could Super Dash out of that. Nice. Oh, we dropped it. I'm going in. Oh, not bull. I'm scrambling, dude. I'm scrambling. I lost confidence so long ago. Level one. This is a combo start. Oh, wait. Oh, six M. I couldn't block. It's going to come down to Yamcha again. I just I played so bad in that mid game. Oh, Bardock. I really, I really tossed a lot out with Bardock and there's more dragon. I know a lot of people are calling me crazy right now. How many times could you possibly make the same mistake they're saying? And while you have every right to be mad, I got to do this. Level one is just the kills, honestly, by the way. I'm not crazy.  Let's go. Let's go. It's not over till I say it's over. This could be the Shenron comeback. Somebody get the highlight reel ready. Not like this. How much damage can it get here? Dynamic. No, no, no, no, no, no, no. I'm glad he hasn't like shot me. I thought I blocked that. Oh, no, it was so cool. Oh, we couldn't get that last. The Shenron target eliminated. Failing the Shenron, dude. Seven Dragon Balls. I couldn't get it. I was too nervous. I definitely shut up trying to get that seven, the summon one. Hopefully you guys enjoyed that though. Great games to both opponents. Man, what a fun couple of games. If you enjoyed it, make sure to leave a like down below and leave a comment with your favorite moment. And also make sure to like the video and subscribe. If you do enjoy the videos we put out here, you can also check out some more videos on top of your screen right now. If they catch your eye other than that, I've been doing thanks again for making it all the way to the end. And I will see you in the next video.


Hey, what's up folks? Welcome back to another 3D Hangouts. My name is Noah Ruiz. I'm a designer here at Adafruit and joining me every week is my brother Pedro. Hello. Good morning everybody, I'm Pedro. I was great to talk here at Adafruit and every week we're here to share three kind of projects featuring electronics from Adafruit. That is right. This is a show we combine 3D printing and DIY electronics to make inspirational projects. Hello everybody hanging out in the Discord chat room. We are streaming on all the usual networks. If you'd like to join us throughout the show, you can join the Adafruit Discord server. We're hanging out in the live broadcast chat channel. The URL for that is discord.gg slash Adafruit. We'll take a couple months for folks to come in and we are streaming. This is episode 436. It is April 3rd, 2024. Am I in the right chat? Hey folks, if anyone's around. I know, I thought it was a problem. Yeah, it's kind of a spring break, so a lot of folks might be out. But if you want to drop any comments, questions throughout the show, you can do so in any of the channels we're streaming on Facebook, LinkedIn, YouTube, Twitch, and X. So there we go. All right, let's kick it off with some freebies from Adafruit. Freebies this week. If you spend a certain amount of money, you'll get some freebies that get automatically added to your cart. We'll kick it off with orders that are $99 or more. You'll get a free PCB coaster with a golden Adafruit logo. If your order is $149 or more, you'll get the PCB coaster plus an Adafruit KB2040. That's that lovely dev board with a RP2040 chip and lots of features. If your order is $199 or more, you'll get free UPS ground shipping for continental US plus the KB2040 and the PCB coaster.  Go to Adafruit.com slash free for all of the details. All right. How's that discord doing? And a shout out to Vince. Hello. Thank you for joining us live. All right. Everybody's on break. I think no, normally there's a handful of folks that are watching live. But like I said, there are some folks out for spring breaks and stuff. Hey, DeWester. Good morning. Yes. It is the morning over here. All right. Let's just jump into the project, shall we? Yeah. All right. So this is a fun one. It's more of a handy, useful one. So I have a lot of projects that are battery powered. And I kept running into these batteries that are laying around, but they're dead. They're all dead. So I want to know how, you know, what's the state of charge on these batteries? I want to know if this particularly was for the bird feeder. I kept running into this like, hey, I need a fully charged battery, and I don't know how much time it needs to charge. So we figured, let's do a battery monitor that tells you what the battery charge is. And then it'd be cool if I can get an email when this battery is done charging. So I don't have to keep looking down at the battery charger to see if the yellow light has turned blue. So we figured, hey, let's use the, excuse me, the Feather ESP32-S2 with the reverse TFT display.  So that's what we're using here. And this is all done in circuit Python. Shout out to Liz Clark for putting the code together. But we are using, like I said, the Feather. It has a built-in charger and it has that battery monitor. So we have a nice little enclosure for it. This is the 1200 mAh LiPo battery. It's the 3.7 volts single cell version. And we got a couple on-board buttons on the reverse TFT Feather. You can switch through different icons, or you can switch between an icon view and a plain text view. And let me go ahead and like, I'm running into this like, okay, that looks good. As I get closer, like you can't see the text on the display. But it's a nice IPS display. We have the option to send the data to Adafruit.io using this button here.  That way you can set up an email trigger to get notified when the battery is done charging. That's pretty much it. It's a pretty handy, very utilitarian project. Like I just need to know what's the percentage of the battery right now is 44%. The charge rate isn't the fastest. It's, I think it's 0.25 amps. So 250 mAh of charging rate. That's just what the default is for all feathers. So it'll charge a little slow. So we recommend something that's like this battery or smaller. Some of the bigger batteries, like what Pedro has is 6,600 mAh. That's going to take a lot of hours. But here's a 500 mAh LiPo 3.1 and 420 or 400. Any of those are good. So let me see one of these. I think out of the box they're kind of like 65%. So we have a JST battery extension cable so that we can easily disconnect this and then plug this one in. So now I have a 500 mAh LiPo battery. It'll reset. It'll connect to our Wi-Fi. And then it'll take a minute or two to kind of read the voltage and the battery's percentage. So I'll talk about the case. We got an interesting enclosure here that has a little built-in tray for holding your battery with some slots here. If you want to add some additional components, you can mount them to these slots. The enclosure snap fits. You have a little button presser for the reset button because the feather is kind of pointing that way. We have access to the USB-C port there and then those three buttons that we talked about where you can switch between an icon battery and text and then like a whole kind of page change to just text. These are bitmap fonts. So you can update, change those colors, change the background, all that. It's really easy to do that in CircuitPython. It's really easy to iterate it to. So yeah, all of the bitmaps and the fonts are available to download in the Project Bundle. So you can just kind of grab all the libraries and assets with one button. So that's really cool. I was able to fit the rather large, long, rather JST extension cable. It fits inside there. So there's plenty of room in there for the cable, the access cable. And you have a little notch there to allow the socket end to come out. But that's pretty much it. You have two screws here for being able to kind of swivel this back and forth.  So it's kind of handy. We can have it like that, I suppose. Yeah. And it's still reading the battery charge. So we'll check back into it. So let's take a look at the learn guide. I am switching between tabs. Okay. Are you muted, Pedro, by the way? Oh, maybe it's because I removed myself. Ah, maybe. Maybe, maybe. All right. Just to check in, here is the 500 mAh battery. It finally kicked in. Let's see what the actual percentages says. It is 85.2%. So that's it there. And when it reaches 100%, I'll get an email when it's fully charged. So we'll check in and see that. I would show you my iPhone, but I'm using that as a camera, so I can't really show you that. All right. So the learn guide has the ESP32S2 reverse TFT feather. It's out of stock. I think we have an S3. The code should work because it has a similar battery chip. And the code is kind of universal for the feather. So that should just work as well. We got the battery extension cable, some USB cables and a wall charger if you need that. We have a slew of batteries available all the way from 100 mA to a 2000 mA battery. Those are the ones that I'm kind of suggesting because they're kind of reasonable. If you want to charge your batteries, that's bigger. I recommend using a power boost, 1000C. That way you can get a full amp an hour. So that's probably a better idea. But anyway, we got some hardware here. You're going to need some screws to attach the feather to the back plate. There's two different mounting hole sizes. So that's why I have the M25 and the M2 listed there. All right. And that's pretty much it. So it's nice that the feather has all this built in. You can kind of see here in the demo that it tells you the battery voltage and percentage there. And you got those three on-board buttons and it's an ESP32, S2. You got a STEMI QT port as well if you want to add some additional components like a sensor, like a temperature sensor or whatnot. And let me see if the S3... So the battery charger circuit is the Max 17048. Keep that in mind. That's the battery monitor. Let's type in S3 TFT. So this one is in stock. We have two different versions of it. I'm trying to figure out what is the difference. Oh, one's a reverse TFT. All right. So the reverse TFT is just where the TFT is on the back of the feather as opposed to the front of the feather. And let me see if it's the same. Yes, it is the same. So you can use either... I should probably add it to the Learn Guide, the S3 as well, like optional, since it's out of stock. I just had the S2 on hand, so that's why I chose that. But it should work the same. Same mounting holes, same everything, except the chip is an S3. And then the way it's going to mount to the case that probably won't work. No, it's the same. The reverse? It is a reverse. Yeah, a reverse TFT, S2, and then this is an S3 reverse TFT. Oh, okay, okay. They're both reverse. They're both reverse. I had one that was not reverse. Right, yeah, yeah, yeah. Yeah, please keep the line. It says reverse TFT. We do have a version where it's not a reverse TFT. That will not fit, because... Yeah, it's way different. Like the stem is on the front, it's like way different. There's like two buttons, and they're obviously on the other side. Oh, that's right. There's two buttons, yeah. It's a different flavor of how you want your components laid out. But the code, because it's a circuit python, will run on either board, which is pretty awesome, because it's got the same, you know, chip monitor, charging monitor, any who. All the parts 3D print with any supports. You can print them in different colors. The back plate has those standoffs for the, for the feather. Use the little hi-animation of how it's put together. They're fairly small parts. They're all under 100 millimeters on the X and Y. So you can put this on small 3D printer beds, which is pretty cool. We do have a 3D model of the S2 and S3 reverse TFT feather, USB 32 feather. So you can grab a model, because all the components are very particular. We've run into issues with creating, designing cases where the components are so close to each other, especially with the screen. So this is a good kind of way to do where you can still access the buttons and just have like a nice clean cutout for the display. And if we look at, you can see Liz did a case on using this USB 32 S3 reverse TFT with her Elgato key light Wi-Fi controller. And then I want to pull up the S2 because Pedro, you did an air quality monitor project that has a nice case too. And you can see it here. That you created kind of a similar thing where you have these like cutout reliefs for these button pressers. And then you add an additional like new pixel ring. And you have this nice bezel. So that was really cool. So instead of using this design, I thought it'd be nice to have like a little kind of swiveling thing. But you have the swappable face plate where you can either wear it or have it on your desk. So there's another option too.  Just a different, you know, different kind of thing, but just pre-capping that there are some other things. You can also download the stand too. Oh yeah. You also have a stand if you just kind of want it like that. So all using the S2 and the S3 reverse TFT. So you got some options there. And they all have the 3D model of the feather. You have STLs, a step file and a Fusion 365 that you can download. So have that it. You'll want to install circuit Python. Version nine as a stable releases is the most recent. So you can use that and install it. You'll want to create your settings.toml file whenever you're doing an IoT project with circuit Python. You want to create your settings.toml file. So this one walks you through it. You just want to be aware that the values for rather the variable names are matching with your code. These have changed recently. So you might want to just make sure that it's aterfrew underscore AIO underscore and make sure that matches what's in the code. But otherwise, yeah, you put in your SSID and your password and that's kind of your secrets file. And then some additional stuff here if you're doing some other IO stuff. Your aterfrew IO key goes in here as well. And the actual code. You can use the project bundle to get all the libraries. There's a few of them. There's bitmap font, bitmap label, image load for loading bitmaps, aterfrew IO library, the Max1704 battery monitor library, the aterfrew request library, simple IO if you're doing map range. All those get bundled in when you click that button. So I just want to make sure that it's aterfrew IO key that it's aterfrew IO key goes in here as well. When you click that button. So I definitely recommend doing that. And then you don't really need changing this stuff. Although again, keep in mind like right here, it's a little different. It says AIO instead of aterfrew underscore IO. So you just want to make sure that you either update your settings on Tommel or update the code, but right now they're not matching. We'll probably do a PR to make it match because right now it won't work as is. You just got to make sure that thing is update. Yeah, so just a fair warning. Like we're aware of that. It recently got changed. Here's some stuff that you can change the different colors of the graphics. You can change the bitmap if you want as well. The variable, the various width and heights for the shapes, you can change those. Here's the background for the bitmap. You can change that as well. But all that is all here. It's all easy to read and change. And it's basically just some if statements. If the button is, you know, if you're just like one of the buttons show the different states and they're all kind of listed there. There's a little breakdown here of how the things are working. Here's the provided fonts. Again, you can add your own. Here's a screenshot of what your circuit pie drive should look like. And just to reiterate your settings that Tommel file should have matching values. And the rest of the breakdown here is always handy to get an idea of how it's working. So check it out. Yeah, that's all up there on GitHub for folks to download. And one of the last pages here, I just revamped this. When you're creating an Adafruit IO trigger, we used to have a form that you would use to create it. But the Adafruit IO team has been working with a new interface that's called Blockly that lets you drag and drop different blocks and to kind of create and craft your triggers and your actions. So Lamar thought it'd be a good idea to change it from the legacy form to the new Blockly setup. So here is some screenshots of how you use the interface. Folks are new to it. Check it out. It's a very pretty interface. And it's a lot of dragging and dropping. But you can follow through it or just look at the screenshot here that shows you exactly how your setup should look like. But if you've ever done Matecode or Scratch, it's pretty much that sort of interface. And it has the same kind of diagram or paradigm where you're clicking and dragging and dropping blocks to create your kind of setup here. So here we have the action root. It shows the trigger and it shows an action. So for the trigger, we want a reactive email. And then we have the feed, which is the battery monitor feed. We have an operating saying like, do you want to see if this is greater than or equal than this value, which is 100%. That's what we have 100. And then you can limit it every 10 seconds. Do you want to notify and reset? Yes. And then your action is the email. And then here I can change the subject in the body. And I'm using the feed as the values here. So I'm saying your battery is fully charged, the battery monitor charged at, and then value. It'll tell you what the value is, which is going to be 100%. And then it tells you when it was created at. So when it finished charging. So you can get an idea of when your battery finished charging. That's pretty much the whole setup there. Pretty intuitive. Go back here. And then this is what an email looks like through an iOS device using the Gmail app. It shows you can use emojis. And that way you can get a better visual of what your email is. Not pretty much. Oh yeah, the assembly. So for this particular feather, it's got two sets, two different sizes of mounting holes. So that's what we're using two different sizes of machine screws and M2 and M2-5. Those are always handy to have on hand. They're kind of short. They're six millimeter short. But otherwise, the feather just kind of sits on top of it and then you secure it down with those fasteners with the display facing up, oriented in the right way. After that, we add the JST extension cable, which is, you know, it's 500 millimeters in length. So you can just coil it up like that and kind of stuff it in there. The front case and the battery tray are just attached with the two M2-5 screws like that. You could use hex nuts if you want, but I didn't. It seems to be okay. And there's not much weight on it, so that's why it holds in place by just tightening it.  And then you just want to have the socket kind of come out of the notch there on the cutout. And then you connect your battery. It'll power on instantly. There's no on-off button or switch on it because there's not really a built-in button for turning it on and off. So it'll just power on automatically. And then you can use the USB-C port to start charging your battery. And that's pretty much it. For the usage, we just thought we'd cover what do the buttons do. The top button is D0. And that enables or turns off sending data to Adafruit.io. That's that little blue circle. The middle button is D1. That one lets you toggle between the icon view or just plain text. And then the last button lets you switch between the battery icon and percentage. We wanted to use all the buttons, so that's why we added all these different options. Just to give you an idea that you can do a lot with just three buttons and a small display. And that's it. You can charge it with a 5.0 1A power supply or your computer's USB hub. And that's the whole project. Just a nice easy way to get an email when your battery is fully charged. And that is the project. How much have we gained? We're at 84%. Let's see. This 6,600 milliamp hour has been charging for about a day. We're at 70%. Okay, not bad. Not bad. Cool. All right. We have a question on Twitter from Christopher asking, does it work with Docker? I'm not familiar with Docker. I don't know if we have support for Docker. It's a good question, but I'm not sure. I remember having to download Docker for something. Do you remember what project it was? I think it was like a machine learning or something, maybe a brain craft project. And I needed to download Docker for something. I can't remember what it was, though. It's not ringing at all. Really? Yeah. Maybe it was for like installing pylint or Blacklee or something like that. Yeah. All right. Any other questions? And feel free to drop them and we'll try to answer them. There was one about just distributors in South America, specifically in Brazil. So I just found the distributor link that is on the bottom of each product. Nice. A little dropdown. And then I post it in the Discord if anybody wants to see what the list of distributors are. Yeah. This is it right here. That's all listed down by region. Nice. We also have DigiKey. You can search for our products on DigiKey and they ship it worldwide. Yep. It is on there. Yeah. Cool. All right. Well, as we ramp up to new projects, we got some ideas kicking and cooking in the background. But we don't have any prototypes just yet. So we're going to just jump right into this week's time lapse Tuesday. All right. This week's time lapse Tuesday is this really cute shopper. A gardening pot planter? Yeah. Yeah. Shopper is a droid from the Star Wars universe. He's so cute. He's a cute R2D2 type of droid. Yeah. This looks fantastic. A lot of detail. There's a bunch of detail. Unfortunately, the little claw doesn't come out. Or fortunately, it's just the cool legs. Don't move. I think this is like an in-game model where all of the pieces are being held by tiny little geometries like your legs. Let me jump over to this angle here. I'll set you up. There you are. Hello. There it is. This camera. Yeah. It seems like there's a lot of detail that I'm not sure it would have printed. But there it is. Yeah. So I'm using a combination of the tree supports and then just regular cylindrical supports on the bottom here because I didn't, like when in the preview, I didn't think the tree supports would be helpful for the cylindrical flat part. But it helped immensely with all the overhangs on where all these little wires and the little arms are. So it definitely helped for that. So on the side of Cura, you can select the custom supports and just use the per model settings and tell it to be a different type of supports. I'll be using that for if you need like different infills for different parts of your model or if you want to have with different shells or temperatures, any sort of different settings that you want within one model. So that definitely helps. And then one thing I wish it had was like a drainage hole. So obviously a fake plant. And then you can see on the inside here, there was some geometry problems. The like the normals I think had to be fixed. There was like some holes, which leads me to believe that it was an in-game model. But importing it, I guess, without doing any repairs to it, seemed to print okay. I did have the foot rip off when I was removing the supports and that's because it's being held by these tiny little little cylinders down there. You can kind of see it there. Yep. It glue right back up. And yeah, it is a very cool way to have a little Star Wars theme for your pants. Yeah, or put pencils if they fit. So I just went down a quick rabbit hole. So this is where I found the model. Originally, this is posted by Caleb Tematillo on printables.com. It is a remix of this Thingiverse thing. So I went on Thingiverse and then on Thingiverse, it says this is a remix from this thing. So I was trying to follow the lineage of where did this part come from? And I guess it comes from this model here on DeviantArt, which DeviantArt glow. And it seems like they have some models and files here. So this person modified it, I guess the print, and then this person modified it so that it's a planner. So that's why it has a bunch of mesh errors. I think so because it's been tossed around by three different people. So it's nice that you can actually go back and find out exactly where it came from. Oh man, DeviantArt, taking us back to high school. It is. It is. I never quite made an account, but a lot of artist friends did have one. Like all of our friends had one. I guess it was designed in 3D Studio Max. That's what they used. That's why. And I'm trying to have the normers. How do I navigate this thing? I don't even know how to use the website. Yeah, I don't think I ever had an account. Yeah. We're going there just for like inspiration in our graphic design class. I think it's just a tag or something. Looks like you do a lot of galleries. Where am I going to find Chopper? I'm not sure. Oh boy. So anyway, that is at least showing it here. So these are the three people that tossed the model around. Yeah, but that's where I ended up. Definitely need some reports. Oh yeah. All right. And that's the time lapse. Holding up pretty good. Kids haven't. Oh, I didn't give it to them yet. So I'm sure it might right off. Yeah. I'm just looking at the time once again just to see the combination of regular supports and three supports. Just kind of cool with the new beta of Cura Slicer. Yeah, this one you did not have to print twice, right? It's like from the time. Oh, yeah, yeah. I didn't have any time to print a choice. So really something hours. It's pretty big. Yeah. It's a good size. Like it'd be great to see a robot of this size. You have a do you have like a droid from? I do. Yeah. Alex is actually. Yeah. The only one we have is the BB-8 one. Right. He's completely not really good. It's. Yeah. It's completely different. They have a little battling arena right outside the droid depot. Oh yeah. Because you saw the last snap I took of them. One of the R2 units you can just roll the BB-8 units right off the ramp because it's like a skimo sort of style. Oh yeah. That's cute. You can just roll them off. That's funny. They're the worst for a stability. Yeah. Yeah. We still have our R2-D2 style robot in the works. Yeah, you have them. It's on hold because the cricket, it's reliant on the cricket dev board. We kind of want to, Lamar wants to redesign that. So we have something cool. If we ever get to a new cricket board, whether it's an RP2040 or a different type of chip, it'd be cool to bring that one back. I think we have a few projects like that where it's like just kind of on hold for hardware revisions. Yeah. It's several years old now, the cricket board. It's using some of the Atmel chips. And those were a little hard to come by with the parts shortage and everything. So it's just one of those boards that hasn't hasn't gotten the revamp that it needs. So that's a little background story of what happened to the R2-D2 project if you remember that one. Yeah. Okay. Looking at the DJ Devon posted a really cool idea for having queue lines from Disney show up on a display. How cool is this? I'm checking out the video that he put it on a GitHub here. Oh, let's see. People sell these, which is very interesting to have the open source one because I figured they were just pulling the data from somewhere because the album just seed in your app, but it's super cool to just have it displayed. And of course, they have the ones that they sell, they designed it to look like the queue area for jungle crews or whatever. Yeah. So that would be an awesome project idea right there. Okay. Yeah, it'd be interesting to see. Is this actually connecting to? Yes, he says all the, he filmed it at, he filmed this at 4 a.m. so all the lines are closed. Oh, that's funny because it looks like they're all hard coded, but no, it's just here. Okay. Yeah, I'm curious to see where it's the where's the JSON URL for the Disney wait times? I guess they're in the code somewhere. Maybe it's in the settings on Tomo. Okay, maybe we'll give this a try. There is, there's products out there that do pull the ride time data. So it's got to be out there. Yeah. Sorry for the dead air, but like I'm, I know, I'm fascinated. Oh, look, here it is. Qtimes.com, park 16, Qtimes, that's JSON. Sweet. Huh. That's a cool idea. There's a little bit of a hassle to pull out your phone and see, oh, you know, how are the pen yet to log in? Yeah. Oh yeah, yeah. And then that takes a while. Yeah. Yeah, this could be a fun project idea. Okay.  So it displays on the ST, one of these type of board or displays. Very cool. Oh, no idea what that is. Okay. Interesting. Hmm. Yeah, I don't know if that's like official Disney. We're going to be going it from somewhere manually and putting it. What? That'd be nuts. Yeah. I wouldn't run a bypass Disney though. Okay. Cool. I like it. Maybe we'll, maybe we'll have one. They have a site part of it. It's not just the phone. So they got to be able to, you know, serve up that data somehow. Okay. I'm waiting as Devin types. That has to be because the, those TV displays they have around the parks that show the park, or the ride queue hours as well. It's got to be pulling from somewhere. Hmm. Okay. Yeah. I see. It was like a request from someone. Cool. Hi. Yeah, we'll take a look at that. It's going to be the end of the show. Yeah. It's kind of a short show. You know, we have a really simple projects. We're still working on stuff. We haven't printed anything yet. So we're working on some new props, some more IoT monitors type things. Pretty close to what this is except doing it on a DVI. Yeah. Doing it on through the DVI output and displaying some IO data on an HDMI display. Okay. Running into some memory issues, but we're working through that with Liz. Yeah. No community makes as folks are kind of ramping back up and maybe going on break. So that's expected. Tonight we have back to back shows. Thank you everybody. Well, last week we were hosting show and tell. Thank you everyone for coming on. It's really fun. We had a full pack show. Tonight for show and tell, it's going to be hosted by maker Melissa. So if you want to come on, come into the Discord chat room. About 10 minutes before the show, she'll drop in the link so folks can join in. That starts at 7.30 PM on all the usual channels. Ask an engineer follows at 8 PM Eastern time with a full hour of open source hardware news, new products, an MPI, maybe some top secret and a coupon code. You know, I didn't even show the coupon code yet. Oh, I posted it. You did? Very nice. Well, we have a coupon code for today for all the viewers that are watching. It's good for the next 24 hours and that is coupon code IO battery. You can get 10% off your order using IO battery, but we're going to have another coupon code tonight for asking an engineer and one tomorrow for JP's workshop. So you can get coupons for the next two days. Very nice. That's going to do it for us. Thank you, everybody, so much for watching. We'll come back next week. I think we might not have a project or a learning guide next week, but I think we'll have to prototype. That's for sure. And a time lapse. And we'll just shuffle around and talk about support material. Thanks, everybody, so much for watching. We'll see you next week. But until then, remember to make a great day. Hey, we did it. Bye, everybody. See you tonight.