We're looking for three male persons who have done a number of armed robbys on the south side of Brisbane and we're investing on the public to look on Facebook. We've got quite good CCTV footage of an armed robbery that was committed on early hours of Monday morning the 21st of March at the Lucky Star 7. We believe these three male persons are also involved in the armed robbery at the Sunnybank Hotel which was also, that armed robbery was also committed at about 1 a.m. on Saturday the 19th of March. We believe the offenders responsible for these armed robbys are using a white Camry sedan and as I said, if members of the public could look at the CCTV and they know of the description of these people or the vehicle with us in the contact consulate. Why isn't it so concerning? Why are the robberies so concerning? As you can see on the footage of the CCTV, they are very aggressive in their manner. They're armed with heavy sonar weapons. A number of people are occupants in these premises have been threatened and that's why we're so concerned. Could they do it again? We believe they could do it again. They demonstrated what they've done on two occasions at least that we're aware of. They could be more offensive if they're committed and certainly they could do it again. What happens if you approach them? Oh, sorry, if they approach you. Yeah, we've sent out a message to a lot of licensed premises just to be vigilant on locked up time. Particularly these people have targeted places that have a machine and obviously cash on premises. So they are very aggressive and we just ask people to be compliant with their wishes to save any injuries. So far we've been fortunate not to have any injuries. Is there any, like, linking this to the rung on cover? We don't believe it's linked at this stage, but we're still looking at those. Any offensive, similar offensive we're looking at? Any indication this has been a threat in the area? We're not sure at this stage. We're actually, if they were approached, they would have been overpowered. I believe they could show violence as they've used verbal threats, actions with firearms. So I think people did approach and they could use violence towards them. I suppose it's particularly concerned with so many people around that they're not afraid of groups of people or customers being in stores or anything other. They don't appear to be so and they seem to be quite random attacks. They're saying that they were right at the end of their closing time, if you like, but it's saying that a number of staff still in the premises. Professional? Quite professional, yeah. You see, again, on the footage that they're covered up, they've obviously tried to avoid any detection. So I'd say they're somewhat professional, yeah. Do you have any clear detection of the ones that they've shot down? Oh, I believe one's a sawn-off shotgun and perhaps a .22 involved, yeah, a .22 caliber rifle.


Amanda Weidner.  Hopefully this helps you guys, but are any of you researchers besides you? Because I already know. No? Okay. Then I will not spend the time.  Okay. So what I've just tried to answer a few questions in this presentation. I'll give you some site history, but we're looking at long term tillage, long term no till, long term other till. And we wanted to ask, does soil, carbon, sequestration, does it saturate after 50 years of no till? So that's the site that I was gifted generously to work on my PhD. Does the no till system after 50 years benefit air quality? What soil health indicators explain crop yield? And does no till profitability, including those ecosystem benefits, possibly outweigh yield losses? So we're just going to work our way through these four questions, one at a time. So some site history just so you can get an understanding is, well before I was thought of from 1970 to 1990, this site was in a continuous grade production. Just corn continuous for the first 20 years. The next 30 years was a corn soybean rotation where fertility treatments were only applied in the corn yields years. That's pretty typical that soybean was not fertilized for the next 30. And then I step in and I took a lot of data. This is just a portion of it. I'm going to be working through these four tillage treatments. Don't worry about the fertility treatments. There were fertility treatments in a split plot design. But in this case, I will only be talking about the treatments that had typical fertility, nothing else. So we don't have to worry about that variable. But I'm going to be using these same colors for these same treatments.  The first one is mobile plow. It's red. It's what was originally 1970 labeled conventional tillage. So that's not what we label it anymore. But that plow is 15 to 20 centimeters deep. Our alternate tillage is what I call the AT alternate tillage. It's two years no till. And then the third year is a mobile plow. If I had my way, it would be third year chisel disc that I believe would simulate. I'm no tilling. I'm doing these things from my soil.  My pressure has got a little too high. I'm going to till it this one year. And then I'm going to let the soil rest for several more years. But it is a mobile plow. Then we have a typical chisel disc and then no till. All these have been implemented for 50 years. I will always list them in the order of most intense to least intense. Seeing a mobile plow, alternate tillage, chisel disc, no till. It'll always be in that order. Just to help go through these graphs. Field plot design, I'll say the plots are small. They're 8 by 6 centimeters, very small meters. But the main point is that our plots, we always drive the tractor the same way in the same direction. So the tractor tread, we're always avoiding. We don't sample in the tractor tread. We don't sample anything. Yield nothing. We avoid the tread because it looks like this. So we just avoid that. Materials and methods, I'll go through quickly. We soil sampled. We used probes. We used trucks. We went to multiple depths. Aggregation. This is, I really like this photo. We took aggregation, both dry and wet stability. But here's a sampling of kind of the portion out of aggregates and what those look like. We took aggregate associated carbon and nitrogen. We're going to be talking a lot about what's happening within each aggregate size.  Let's see. We took soil volumetric water content. That's just the moisture content of the soil. I measured it basically every time I was in the field. So 14 times during the growing season in 2018. And that was only on a few treatments. And then for corn grain harvest, these are very small plots. And so because the plots are so small, we only sample, harvest the center two rows. There's only eight rows in these plots. So we harvest the center two, and then we do some math and that's our yield. We want to avoid kind of all areas of the side. And because it's so small, we just go right down the center. We took penetration resistance. That's just how compacted the soil is. We took both density. We took mean weight diameter, geometric mean weight diameter. That's just a fraction of aggregation. Oh, we sampled a lot a lot. We sampled refraction of nitrogen as well. Lots of sub samples. Here's something that's interesting. We sampled for nitrous oxide. In our nitrous oxide sampling, that's what the chamber looks like. The lid comes off. So there's just, once we planted, well, really before we plant, we pound these into the ground so that there's metal, there's beveled edges that's pounded into the soil and it sits open just like any other portion of the soil. We take it out to plant, we put it back in after planting and it stays in between the rows. There's soybeans on the other side for the entire planting season until it's time to harvest and then we take it out and then we put it back in again. But what that is doing is the lid stays off all the time. And then when I show up to take soil samples, so when it rains, it gets wet in the chamber. When anything, when we fertilize, it gets fertilized in the chamber. Everything happens outside of the chambers in the chamber and when I show up I put the lid on the chamber. I hit stopwatch times zero and at periodic time points I put a syringe right into that little rubber stopper and I take an air sample and that's how I can see what gases are coming off this soil. And then when I'm done, I take the chamber off. The chamber is water sealed if you're curious. I pour water in here so that no air can get through. And we calculate nitrous oxide flux. More soil samples. We took PLFA. So you're talking about PLFA before, sir? We'll do a little PLFA. Getting matter. I sample for nematodes. I like worms. I like earthworms. I like nematodes. We get to go through a little bit of that data. We'll talk about free-living nematodes which are not, they don't live in the root. They're not the root-dwelling nematodes. They just move through the soil. That's kind of everything we did. So we'll get to the meat and potatoes. First question. Does soil carbon sequestration saturate after 50 years of no-till? So to answer this, I just want to get into what is aggregation in soil carbon briefly. This is a fine example of an aggregate. We'll plant root running through it. There's microaggregates within this aggregate size which, to me, coming into soil science that was something, it took me a while to grasp is I have one, one shape and size when aggregate and I break it down. And now there's microaggregates and I can break those aggregates down. I can break those aggregates down. And it broke my brains. Where does it end? But basically what an aggregate is is those primary particles, sand-silk clay, held together by organic materials. Plant roots, microfire, or fungal guys and all kinds of stuff. It's all held together like a glue. So if we just get into some baseline data, this is a dry aggregate size. So I'm always going to list them in the same order. So we go mobile plow, alternate tillage, chisel desk, no till. Mobile plow, alternate tillage, and it'll go. The whole presentation. But when we're looking at it, this is kind of the macro categorizations where this is considered large aggregates. There's no difference in large aggregate size. This is considered small aggregates. We're going to go into large and small aggregates later. So if you just remember small aggregates is this kind of 0.25 to 2 millimeter size. And then micro and then just silt and clay. But this is the same data. Mobile plow and no till had roughly the same percentage of large aggregates. That was very surprising after 50 years. But what we found, and I will see in a second, these micro aggregate or these large aggregates right here, they were not water stable. There's something that we call false aggregation due to tillage time that once they once when both of these large aggregates were put in water, this one held and this one dissolved. So they were just that was false aggregation. No till did promote the highest of the one to two millimeter aggregate size. That's still a decent sized aggregate. And then what was interesting is chisel disc had the highest amount of smallest aggregation. This is a proportion.  But no till had the smallest as well. So you can see in these proportions no till alternate tillage and mobile plow all kind of performed very similarly. Even when one was only performed every three years, which was interesting. Here's where it shows those large aggregates, they just broke. Because if we look, these are all the same. And that large aggregate stayed together for no till. So this is our water stability. Small, large, stable, unstable. I know it's a lot, a small state. Most of our results were in the small aggregates. Large aggregate size, it really only gave us unstable differences. It did not give us stable differences. But within the small aggregate size, the way I said, Oh, I always present these stepwise, it presented stepwise, which is always so nice to have in data coming out. But it reduced the water stable aggregate size as we went down in intensity, which means to this is pretty intense. Our aggregate associated carbon nitrogen. So we've looked at aggregates, we're just going to keep getting closer and closer. We've looked at aggregates. Then we looked at in their sizes, then we looked at are they stable or water stable? Now we're going to get within the fraction of nutrients within those aggregates. And so within these aggregate sizes, we had a larger storage. This is the same amount of aggregates, right? Aggregate associated carbon in both small and large aggregate sizes in no till dramatically increased. And I'll turn it till it actually is a little bit lower. That was really interesting. And when we look at our aggregate associated nitrogen, we still have no till outperforming. So within those aggregates, even though aggregates are there in the other tillage treatments, they have less carbon and less nitrogen stored within those aggregates, which was very surprising. Okay, deeper. Within those aggregates, within the carbon, we have poxy, which is active carbon. This is the available carbon. And poxy was very high within these aggregate sizes in the no till. Great, what we would expect. And then didn't expect this. Alternate tillage was lower than the rest of them. Semi significantly, I wouldn't say like, whoa, it's not all the way significant. It's not all the way not significant. It doesn't mean something. And what we found, I'm sorry, I'm going to forget the citation. But what we found was that in those two years of building aggregates, that alternate tillage was not tilled. They were building aggregates. It was storing carbon within the aggregates. When those aggregates were broken apart, because it only had two years, that carbon was more susceptible to basically just decomposing and disappearing from the system. And where if it was tilled every year, it didn't have the chance to build the aggregates, but store the carbon and then break apart and leach out where it just wasn't building aggregates. So it wasn't losing as much. It had just had a higher loss potential, because it had somewhere to store it. It's like, if you have a cupboard, you're going to put something in it. It's kind of that ordeal. We also looked at it by depth. So this is pretty what you would expect. We're looking at no till. No till had the highest amount of carbon, highest amount of nitrogen. At this depth, we're looking at our centimeters here. We're pretty shallow as we got deeper. Basically what we really wanted to see is, it's not penetrating lower. These benefits are, after 50 years, they're still not getting to the 15 centimeter, the six inch mark at all. We expected that. That's fine. What was nice to see is that nitrogen was not tied up in carbon, despite this higher carbon. Nitrogen was also high. So carbon nitrogen ratio was the same across all treatments. Very nice to see. And that same difference with Poxy. That was not a big deal. And then Poxy by depth. And then we're done with this aggregation business. But if we look by depth, it's what we would expect. The active carbon portion in the Poxy was much higher in no till. These all performed similarly, which is, again, not quite what we were expecting. A chisel disc actually had the lowest amount of Poxy in this medium depth. No differences, no differences. That's fine. How do you define active carbon? Active carbon is the available form of carbon for microbes. It's measured in particulate. Do you remember what Poxy stands for? I'm not going to remember what Poxy stands for. But it's measured in the active form that is available for microbial intake and inactive carbon. That is not solid. No. Yes? No. No, no, no. I don't remember when the university came out with the program. I got a lot of... It's... In other words, what is a good number? What is a good number next? I'll show you what it's associated with. Yeah. So to answer our question, does carbon sequestration saturate? We were really thinking it might. It didn't. That's great. Continued to build carbon, but limited to the surface. Therefore, some type of fibrous plentiful root system to drive that carbon nitrogen deeper into the soil would be beneficial. But carbon does not saturate up until 50 years. This is what we know in this particular soil. A basaltile silt loam if you're interested. Okay. So second question. Does no till system after 50 years benefit air quality? Here's we get the gas emissions. Little diddy here is greenhouse gas emissions that are emitted through the microbial process. To increase that microbial process, you're going to have increased respiration of those microbes and then you're going to have increased gas emission. We looked at nitrogen oxide because it is 300 times more polluting than carbon and it's driven through our fertilization. It's driven by temperature and humidity. There's a bunch of rain and it's very hot. That's going to spike. Type of vegetation, lots of variables. No. Well, it's a poll. It's a little more complicated. It is a it's part of the denitrification cycle, but I wouldn't define it as denitrification. So looking at nitrogen oxide flux, this is over 2018 to 2020. Those these are corn years. That's what I should say. We weren't looking at nitrogen during the soybean years. We don't fertilize during soybean years. So it's too complicated. So looking at corn years when we are fertilizing. So I have it broken up into here's our baseline. Here's our post-tillage and fertilization. This is where we plant. This is where we have major rainfall events and there's plenty of nitrogen available because we just fertilized here. And this is end of season where we do have large rainfall events, but nitrogen is limited at that point. The plant has taken up most of the nitrogen that we put on. So this is 2018 and this is 2020. You can say we had a little crazy in 2020, but this kind of background, it might be a bright in here to see is the precipitation laid over. And you can see here this is daily rainfall in centimeters. We are lucky enough to have a weather station on my research station. So I get to it's not like I was out there with a rain gauge every day, but I got to collect this data lucky me. And then we're looking at no-till without fertilizer and no-till with fertilizer because we wanted to fuss out that fertilizer data. And then we're looking at chisel disc without fertilizer. It's control chisel disc with fertilizer MPK. I'm sorry. These are terrible abbreviations. But you see there's no differences, no differences were going on in the year. And then we hit this major rainfall events after we fertilized. You can see our nitrous oxide flux went up here and it really went up here. These are on the same scale, right? 1000 grams nitrous oxide nitrogen per hectare per day. If it rained, if there was something significant happening or tried to get out there, I could also tell if it hadn't rained we hadn't fertilized. And you can see my every time every point is a sample, sampling day. You can see how the sampling gets get spread out more here. There's not, I know there's not a lot going on. There's not a lot to pick up, but there's a lot of sampling days in here where I get those. Here I think I actually missed one. I think that should have been like one day sooner and I might have had a bigger spike. But what we found was that early in the growing season, there's no differences in the flux. But during major rainfall events, when nitrogen is not limited, chisel discs produced more emissions likely due to higher soil and availability. So you can see chisel disc is red. I'm sorry, this doesn't follow my rules and I hate it, but chisel disc up here, no till down here. Chisel disc up here, no till down here. Looking cumulatively over the year. That was daily. This is cumulatively. Cumulatively looked, you know, pretty regular. Chisel disc had higher N2O emissions like then NT, no till. So you can see the differences cumulatively. Not in 2018. It wasn't significantly different cumulatively. This was likely due to site differences as well in 2020 because it's a small plot. There's one block, one block that is just a little bit more wet than the rest of the blocks. Sometimes I throw it out of the data. Sometimes it's absolutely insane. Sometimes I keep it in. It depends on the data. It depends what my outliers are looking like. But in this case, I do think it was affecting it because it's randomized within the block and those chisel disc sites just happened by random to be in some of the wettest site in that block and no till was it. Now, it's that does accumulate. But then we have, I didn't put label on this one. This one's kind of confusing. So I just want you to look at one one place in 2020. We're looking at soil nitrous oxide, nitrogen emissions. And this is not daily but categorically in these kind of day chunks. This is in that time period where it spiked. So we're just looking in that time period where it spiked and we're lumping some of those days together to see what we can. And greater immobilization of applied fertilizer to the nitrogen or to the no till systems because of the crop residues may have been the point of reduction in N2O or N03N concentrations. So what we're saying is the nitrous oxide emissions were lowered by no till but not because of any reason. Otherwise the no till just had more residue and it was tying up some of the nitrogen. So less was available to the plant therefore less was available to be released. We also looked at moisture and temperature. This is just interesting on its own but these are some of the drivers of those emissions. Here we can see chisel disc. I just circulate. This is where it's significantly different is with these stars. Here's where it's significantly different. There's no differences again in the later season but in these earlier seasons are water content early in the season and our water content early in the season much warmer no till. Soil temperature cooler and chisel disc. I honestly thought the differences in soil temperature would be much greater. After 50 years walking across the field you have to step up to go into a no till and step down to go into the rest of it. It's pretty significant and I thought I would see greater differences. Sure water content yeah definitely. I think this is helpful just as a little side note to know that our climate is getting a little more volatile and we can't always rely on the spring rains anymore. They come all at once and then none. It's not that consistent spring rain that we used to be able to rely on. It's just a little bit more volatile. In those volatile systems holding on to your water content that's better that's excellent. After 50 that is that is a great difference. Percent water content that's these were sampled at the exact same time so it's pretty big deal. And then we looked at bulk density. This is nothing you wouldn't expect. Bulk density was lower in no till. It's mesoporosity. So these are terrible. Mesoporosity and macro porosity were higher. Chisel disc followed in macro porosity. That was pretty expected. And this is the water table. I guess I showed you that before I just but interesting factors and affecting these N2O emissions. So we ran this little guy we got our PCs don't worry about it but we have our nitrous oxide emissions and our nitrogen here and inversely related we have gram negative bacteria. So that means the higher the nitrous okay let me get this right. The higher the nitrous oxide emissions the higher the amount of nitrogen the lower the gram negative bacteria were. Which means inversely technically the higher the gram positive bacteria were. Gram negative bacteria are kind of like this boom and bust they're not great. If you're talking about bacteria you have gram negative and you have gram positive. They're a good indicator. These were just some other things I threw in that I thought might be drivers but you can see they're kind of jutting off left and right not really telling us anything definitive. But with this low gram negative bacteria that has been associated with higher carbon availability. So the more carbon availability you have the less gram negative bacteria you have. All that data does it benefit air quality? Absolutely it does. When scaled per bushel N2O emissions were almost half of chisel disc tillage. Due to differences in boom boom boom boom soil moisture, nitrogen mobilization soil structure and lower percentage of gram negative bacteria. I just love that result. These will get faster. Okay third question what soil health indicators explain crop yield? I apologize this is the worst graph that's ever existed. This is yield. There's no differences and I'm so sorry I haven't remade it a thousand times but year was significant tillage was not that's what it's saying. So corn yield not significant not significant not significant tilletry was not significant but each year there were significant differences same with soybean yield. This year was great these years were poor but you can see that alternate tillage and no till did follow an insignificant trend of being higher in soybean years. The alternative till was pretty interesting because because it's every third year that means that sometimes it's corn and the other time it's soybean so it's never falls it could be four but then it always fall in the same one so it's meant to fall between the rotation. Um so I just got I have to back up for a second so we had no differences in yield. What are nematodes? We're going to talk about nematodes and we just got what are they? They are a they're a lot of things but they're the most abundant animal in the world at four out of five animals in the world is a nematode. They live on your skin they live in the ground they live inside of you they live on surfaces they could be living here right now but what's so unique about soil living nematodes these are free living nematodes they're not living within a plant they're living within the soil and they're really moving in the soil kind of water surface like around those aggregates they'll be water held tightly they can they're so small they can move within that water they move very little in their lives but they occupy a cross section of the entire soil footprint that's why they are so interesting so cool so important so they eat bacteria they eat fungi they eat plants they eat each other they eat a combination of many of those and I get to look at them in the microscope some of them are cute some of them are real cute and by looking at each of these nematodes we get to see oh there's a lot of bacteria eating nematodes there must be a lot of bacteria there same with fungus same with eating each other um we also have um they're classified into cp units and cp units are colonizer persister units and they're I don't know why they're not called rk strategist because it's the same thing where um in rk strategists you have this was a forest and it was burned and then you have your you know first little weedy plants grow up those are the ours right and when it becomes a full forest again those are the k's same with cp units but it goes one to five one being these guys can live anywhere it doesn't matter they will persist they make a lot of babies they're always going to be and then we have five which is they they need the right conditions they have low fecundi so they only make a few eggs at a time they have long lifespans those kind of things so we get to look at these and interpret um our soul food web which is amazing and for our nematode community analysis I will preface this is one year of data um I don't want to talk about what happened with my second year and I will someone threw it away it was terrible um and I didn't get to take the second year but for my first year of data this is what the community looked like and each point is a full nematode community so uh the nematode I type every by genus genus genus and I have a full spreadsheet and I'm like okay I have all these different types of nematodes I have ones and twos and threes underneath all of them and it all gets compressed down into one point and that's the entire community and um when that's compressed if there's a nematode there that is um a cp5 nematode so it has a long lifespan it makes very few babies um it doesn't live everywhere it gets weighted heavier than having lots and lots of the ones that can just exist wherever and there's tons of them so we can say alternate tillage this is also I know this is a weird no no that's not a weird block alternate tillage had the most variation which I thought was really interesting um where these kind of they all collapse onto each other we do see the separation between no till and mobile plow but it kind of hits everybody it's kind of like right in the middle we have this I'm trying to remember what was happening in this one I want to say the nematode count was just very low in general I thought about throwing it out but there was already the very wet block I already threw out of this data it was all over the place it didn't make much sense but there was no significant difference between those communities given another year I think there would have been given more sampleings yes um but over the entire community no but that's fine because we have other things to look at um next I looked at these indices so what these indices are I'll step you through them but each number ranges from one to five and it's really just ranking on that cp level one two three four five five being wow um there's a there's a lot of those guys there one being really boomer bus situation this is a maturity index it's exactly what it sounds like how mature is the soil food web how mature are those nematodes maturity index two through five this is like oh those ones can be out of control so we actually calculate a little bit different I like to look at both you can see they are a little bit different this is the sum of maturity index again it's it's very similar these are just three different ways to calculate the same thing and depending on what system you're in it depends on how you're calculating it um but if we looked at the sum maturity this is what captured you know my significant data with this ecological data I do always argue that um point one can be considered significant because this is 50 years of data it'd be ashamed to not glean things from it but it follows the same trend so I just focus on the sum maturity index but the soil environment cultivated by this no-till long-term no-till encourages um higher cp unit groups and that's why you're seeing this higher number um and that means that despite the fertilization which when you fertilize it will bring that number down when you till it will bring that number down when you disturb your soil in any way it will bring the number down um despite there being tillage and fertilization that there was stable soil system developed and a lack of short-term enrichment so you can see the certificate higher this was stepwise um surprisingly those two years of no-till did build some compared to the mobile plow obviously it was very destructive but chisel disc it isn't that far behind which I was very surprised about but alternate tillage letting it rest really helped it was closer than chisel disc um if we look more the rest then we have the structure indicee this was really interesting because we see the at's like almost performing as well as as no-till and we come here and look at at and it was the most perturbed by disturbance this is called the structure index so it's saying okay the cp units on the on the nematodes they were higher yeah that's fine um but then looking at the structure it's like wow the this is looking at the overall soil structure it was much lower in at it was more detrimental to let it build and then when you go through until to have that boom and bust scenario where all that carbon is then um you know introduced into into the system and let go that we talked about earlier where you have a mixture of all these nutrients of the of the fertilization of the nitrogen into the soil you have all these things happening and it's more detrimental than just tilling every year because you're letting things build and then destroying it um that was very interesting I didn't expect that and we're going to get to a multivariate analysis oh no I moved my okay these are supposed to be here and that is supposed to be there um I moved it over put that in and then I forgot about that um so we're looking at our multivariate analysis this is where some of those handy tests that you're talking about comes into play and but really I'm just looking at yield I want to look at our soil yield and our corn yield and I laid a bunch of stuff on top and I just really want to through stuff at the loss what what'll stick what's going to happen here we've got aggregation we've got all kinds of stuff but if I'm looking at cumulative corn yield this is a positive um association and I'm looking at cumulative soil yield this positive association anything over here is negatively associated so if this goes up then that goes there um so the soil yield was largely associated with these large aggregates that's a pretty strong correlation where soil you can say I can't say it's driven by large aggregates but I can say it is strongly correlated with large aggregates out of everything that I threw into this graph additionally corn um corn yield here was this is a little bit this is kind of weak but it was weakly associated with this plant parasitic index there was a greater number of plant parasitic nematodes based on corn yield thank you um and that was most likely due to a greater root density that's really all it's saying is you're going to have plant parasitic nematodes there most of them aren't a huge deal some of them are in specific numbers but um what we really saw was no don't look don't look hang on I don't know how I just jumped to the end but as you can see we're very close so hang with me that's not the right way no don't look okay okay so what we're bringing it down to is our soil yield was associated with this larger aggregate size corn yield was associated with greater root biomass if we're looking at the soil health indicators that explain crop yield I want to go that to that bacteria both were associated with a high percentage of bacteria not gram negative bacteria but bacteria um actinomycesia bacteria it makes up a very large portion of the bacteria in the soil um then we have percent bacteria here uh look no different the lines mean nothing um so it's just like where the like it's where these fall in association each other the longer the line the stronger the association what's I'm sorry I didn't explain these are the nematode communities laid on top I I totally blew past that so these are the nematode communities um no no no these are not the nematode communities these are this is the yield data laid on top to see like what's happening what's being associated with this yield data you can see that none of them are outperforming because it wasn't significant the next one's no I know I'm sorry I'm sorry we just have one more um but they mean nothing so much as they're associated together like all these are pointing at no till these are positively associated with no till yes um all these are loosely pointing it to the list because it was very variable um these are associated with mobile plow yes okay we don't worry we're gonna get in this graph again um so this is starting to point at a functioning soil ecosystem so what soil health indicators explain it really that actinomyces bacteria really pointed out it's really quite interesting fortunately nematodes didn't tell us too much but last question I promise it's just one slide there's no till profitability including ecosystem benefits outweigh possible yield losses okay here's where we get into the the green circle if we look at no till I know it's so small um we can see our maturity indexes we can see our microbial active carbon right here um we see carbon here here's your soil health indicator in the test um we have organic matter we have this size aggregate which we saw like way thousand slides ago um and we have the water soluble total organic carbon here all these were associated with no till these none of these are yield but all those are great great things and if we look loosely but negatively associated with chisel disc which is the standard it's not it's not saying it's bad detrimental but it it's associated with very small aggregation and it's associated with more compaction and I'm seeing this fungal two bacterial percentage that you were talking about earlier um was much higher in actually chisel disc and lowest in no till so it from fungus to bacteria that was much a wide region yes yes um and then you know alternate till there's more plow they kind of get when it gets sucked towards the center it's really not you can't take too many conclusions from it so my personal opinion sit in there's no number it's just a fungal two bacterial um this is yep I don't I could pull up data if you want me to send it to you but I couldn't say it off top my head I'm very sorry yeah um I can if you and me you can all send it to you but um my opinion yes look at all these amazing things and that was just a portion of my dissertation I went deeper I I just focused on that no till if you could think of it I took it and with no statistical differences in yield obviously there was minor differences in yield but statistically no differences I would say yes thank you for your patience I appreciate it so much thank you for ser if you want to look up the rest of the results of my research um my grant number is GNC 19-292 um I put out a lot of informational material in that grant my professor and co-PI Dr. Amir Sadikpur he spoke here earlier he's at Enric he's down the hall and of course they're gonna agree in conference because they are so delightful to me but thank you guys


If you are looking for trustworthy pitchers tonight in Daily Fantasy Baseball, you have come to the wrong slate because there aren't any. And not only are there no trustworthy pitchers, there are a lot of guys who we just kind of can't use primarily due to pitch count. So we're going to break down which guys you actually can consider for today or which ones we want to cross off. And the one guy who stands out plus I think a good slate for stacking is the one consolation for tonight. Let's dig on in now and break all that down. Welcome on into the solo shot. That's right here on the FanDuel Podcast Network and FanDuel Research. My name is Jim Sonnis. I am a digital media managing editor for Fender Research here to break down Wednesday night's sixth game main slate with locks up for 6.40pm Eastern for today. Again, lock is at 6.40pm Eastern for tonight for this slate. So be sure to get those lineups in earlier than usual. For the weather for tonight, we have the slight chance of rain in Cleveland for the Guardians and the Dodgers. I think they'll be good to play, but worth checking back on that rain later on. And also with that game, it is 80 degrees humid and the wind is blowing out to center at 10 miles per hour. So I would upgrade batters for the Guardians and the Dodgers as a result of that weather. I think the over in the next game is pretty interesting and bats might not need the help there, at least on one side. So I think that will be a good game as far as the weather goes forward today. Also worth noting the second game of the Angels Reds double header is not on the main slate. So if you're worrying about that as far as timing a line is being released, stuff like that, don't sweat it. That game is not in the slate, so it is not a concern for us for tonight. We'll dive into the pitchers we can trust, the stacks I like, and much more all in just one second. First day reminder to make sure you're subscribed to the Number Fire Daily Fantasy podcast feed. Wherever you get your podcasts, we recorded our PGA DFS preview for the tour championship. The final event of the FedExCup playoffs yesterday that is up on the Number Fire Daily Fantasy podcast feed. Via myself and Brandon Ghadoula broke down a unique format for that event, just a 30 golfer field and our favorite golfer's in each salary tier over on Fando. Also worth noting that is the free play for this week for Fando research is for the tour championship. If you want to get yourself entered in the free play, again, it's free. There are prizes to be had. What more could you want? Go to Fandall.com slash research and check out the post. It's on the main page on the top part so you can find a link to the free play in there. Fandall.com slash research for that. Get ready for the NFL season with incredible offers from Fandall. Fandall America's number one sports book right now. New customers can bet $5 and get 200 in bonus bets guaranteed. Plus all customers who bet $5 will get $100 off NFL Sunday ticket from YouTube and YouTube TV. Now is the best time to join Fandall. The app is easy to use and you can bet on everything from spreads to player props and more. Fandall official partner of the NFL must be 21 plus and president select states. Fandall is offering online sports wager in Kansas under an agreement with Kansas Star Casino LLC. First online real money wager only $10 first deposit required. Bonus issued is non-controllable bonus bets that expire seven days after receipt. Restrictions apply, see full terms at sportsbook.fandall.com. Gambling problem, call 1-800-Gambler or visit Fandall.com slash RG in Colorado, Iowa, Michigan, New Jersey, Ohio, Pennsylvania, Illinois, Tennessee and Virginia. Call 1-800-NEXT-STEP or text NEXT-STEP to 53342 in Arizona. 1-888-789-7777 or visit ccpg.org slash chat in Connecticut. 1-800-9 with it in Indiana. 1-800-522-4700 visit kscamilyhealth.com in Kansas. 1-877-770-STOP in Louisiana. Visit mdgamblinghealth.org in Maryland. This is 1-800-gambler.net in West Virginia. Call 1-800-522-4700 in Wyoming. Hope is here. Visit gamblinghelplinema.org or call<PHONE_NUMBER> for 247 Support in Massachusetts. Or 1-877-880-Hope and Y or text Hope and Y in New York. NFL Sunday Ticket Offer ends 9-18-23. No refunds, terms and embargoes apply. $100 off NFL Sunday Ticket, not YouTube TV. YouTube TV Base Plan required to watch YouTube TV. Redemption requires a Google account and current payment, commercial use excluded. Let's dig in now to the pitching preview here for this Wednesday mainstay where we find Kevin Gauze at the top. His salary is $11,000, followed by Clayton Kershaw at $10,000, Charlie Morton coming off a big game. At home it's $10,000, Aaron Savalli with his new team, $97,000. We have Chris Sale at $93,000 with Mackenzie Gore, Jack Flaherty and Jose Quintana as the others. At $8,000 or higher. Now a lot of those names on that list are guys with bad pitch counts for tonight. We're going to go through those and thanks to watch and it's going to have a major ripple effect on this slate. As far as the guys we can trust tonight go, Kevin Gauze has a lot of flaws. He has a tough matchup with the Orioles. He is on the road. He still lets up a lot of hard contact. And despite that, I think that Gauze is, it has to be, the top pitcher on our list for tonight. Now the Orioles, again, tough matchup. 105, WRC plus against Wright, he's on the current active roster. And their strikeout rate is lower than he'd want it to be. It does help that they've seen Gauze in just twice this year, despite being a divisional team. One of those was August 3rd, so somewhat recent. And then the other one was back in May. They did get to him the more recent one. He went just four into third innings and allowed three earned runs. And that was not a great showing for Gauze, but it's a bit more of a blip because Gauze has been throwing more sliders as past 12 starts. And he does a 3.76 ERA. And that's not perfect, but his skill interactive ERA is 3.35. He has a 30% strikeout rate. He's had 12 plus strikeouts twice and has had nine into others. I don't think there's anybody on the slide who can match Gauze's upside. And I think that honestly, the median expectation for Gauze is also much higher. Even with Gauze being, again, a very flawed pitcher, I haven't projected for 7.1 strikeouts tonight. Nobody else for me tops six. So Gauzeman is a top guy. Even if it is a bit uneasy to go with someone in a tough matchup on the road who does let apart contact, I something Kevin Gauzeman deserves to be number one on our list for tonight. After him, there is a pretty big fall off where I don't really want to go at anybody. I'm going to put Charlie Morton seconds really more out of obligation than anything. His salary is 10,000, which is more than I want to pay for him given his inconsistencies. But he does have upside and he'll have a full leash. And again, that matters a lot for tonight. Morton's facing the Mets. They're a low strikeout offense. And they're probably still a good team against righties. They're the 116 WRC plus. Entering last week, Morton was in a pretty big rut. His walks were way up. He was not getting many strikeouts. But in that game, he had 10 strikeouts across six shutout innings. He came against a Yankee, so much better matchup than this one. But he had eight strikeouts, a couple of stars before that as well. So Morton can't have pop gains and they're more likely to come at home, which is where he's at today. The strike area for Morton is 5 percentage points higher at home than it is on the road. I do still worry about the walks. I worry about the matchup here. And those concerns are enough for honestly, I might not get to Morton tonight, despite the fact he is my number two stud for today. So Morton is number two. He is right there. That does not mean I will get to him. I might just go all Gosmin, honestly. But Morton does at least have upsides, which is more than a lot of the studs for tonight, can't say. For a value play, I'm going to go Jack Flaherty. He's at home against the Blue Jays, meaning he is facing Kevin Gosmin. And the Jays offense is still pretty good. But I like the length for Flaherty. Flaherty has made three starts with the Orioles. He has gone 92, 98 and 84 pitches. The 84 pitch outing was because he struggled, got bounced early. But broadly, Flaherty's been okay. He's been using more sliders. His past 11 starts and his skill interactive era is 4.56, which is not ideal, but he's getting some ground balls, getting some strikeouts. And again, the pitch count is there. Flaherty has also made seven of those 11 starts on the road and he's at home for tonight. He did have an eight strikeout game against the Astros in his first home start at Canton Yards. So pitched really well there. I've got Flaherty projected for 5.3 strikeouts tonight. That's not a big number at all. But on this slate, given a pitch count concerns, it is at least somewhat competitive. So I'm probably more likely to use Flaherty in the Morton just because Flaherty saves me $1,400. So I don't know. I think hopefully you can tell from the vibe that I am not into pitching tonight outside of Kevin Gosmin. So I think I'm just going to build around golf and then figure it out from there. Luckily, I can build around Gosmin because the primary stacks, although they're like high profile teams, all have key value plays we can turn to. We're trying to highlight those in the stacking section in order to allow ourselves to get to these fun teams while still using Gosmin as a pitcher. That begins with the Dodgers. They are facing Xavian Curry tonight and as mentioned, the weather very good for hitting. Curry has appeared in eight games since he made his first start and it's a decently large sample. His ERA in that time is 3.58, but it comes with a 5.51 skill interactive ERA. A lot of times as we discussed when you see a gap between ERA and skill interactive ERA, it's because a player is not letting up hard contact. That is not the case here. Curry is actually letting up a 45% hard hit rate with a 53% fly ball rate. So it's going to be hard to keep that ERA low with numbers like that. Strikeout rate also low for Curry at 18%. He's benefited from a good number of plus matchups, but when he was facing the Rays, tougher matchup, he let up five runs in five innings. That's the one quality team where we've seen Curry get a full start. The Dodgers, obviously a very good offense. 110, WRC plus against Reides with a 183 ISO. That is the second toughest offense he has faced thus far. I think the Dodgers will be able to get to Curry here. So to me, they are easily the top stack. They're not as far ahead of the pack as the, as Gosmin is a pitcher, but I think the Dodgers pretty much in a tier of their own as far as stacking for tonight. I think James Altman is starting to trend back up. He could be one of those guys along with Jason Hayward, maybe David Peralta, it can be a value play on this team. Altman obviously got off to that crazy hot start, but then he honestly became unusable in DFS for a long stretch. Wasn't starting part of the reason, but like was not playing well either. But since the all-star break, Altman has an 11% barrel rate. His strikeout rate is back down to 26%. He's drawing a ton of walks. So he's seeing the ball well and he can run a bit too. Unfortunately, he's not facing Noah Cindergar, which makes running a lot easier, but still, you know, we'll take it. Salary for Altman is $2,900. I am very okay with him for tonight. I think that using him alongside Hayward should make it pretty easy to get to Max Muncie, who's a rookie best as well while using Kevin Gosman as your pitcher for tonight. Number two stack is a braze and they're facing Jose Quintana. Quintana is doing a great job of suppressing our contact, and I think he can keep that up. So I would not stack most teams against Quintana in this current state, but most teams don't have a 131 WRC plus and a 237 ISO against lefties this year, which is what the braze has. So that does change the equation quite a bit. Number six starts this year, and he's doing a lot of the stuff that made him successful last year as well. His ERA is 3.03 as a result, and that's all great.  He has a 17% strikeout rate with an 8.8% swinging strike rate. He needs that hard contact number to be kind of like an outlier in terms of how low it is in order to get by. Now it could stay there, but this will be a major test. It is risky to stack the braze, riskier than usual at least just because of the matchup, but I do still think they're worth it here. So the braze to me, the number two stack behind the Dodgers. Now the less time the braze faced a lefty, they had Kevin Pilar bat seventh. Because of Pilar's defense, now good it is, he does play the entire game when he starts. Pilar has a 213 ISO against lefties so far this year. He has a 36% fly ball rate, so he's not perfect, but he's $2,100. I am very willing to use him if it allows me to jam in, you know, again, the studs. Same thing with Von Grissom, $2,200. Does have some speed, obviously. Power is not perfect, but facing the lefty should help him too. So Pilar and Grissom, both guys, I'm okay using within my braze stacks for tonight. Third stack is the raise. They're facing Austin Gomber, and we discussed this last week, but I like the strides Gomber has made throughout this year. I still think he's much better now than what he was earlier on this year. But I don't mind stacking a team as good as the race against him despite that. The big shift for Gomber seemed to happen when he upped his slider usage, and he's been doing that now for his past 14 starts. And is he already in the time this 4.4 rate? Considering half those starts to come in the course field, that's a pretty impressive number. Just not sure how sticky it is, because Gomber is still letting up, he's still getting just a 15% strikeout rate. His hard hit rate allowed is 44%, with a 38% fly ball rate. That combination of numbers doesn't typically result in a lower ERA super often. The thing about Gomber is he's not making mistakes. His barrel rate allowed is 8%, and he has not let up multiple barrels in a game since June 25th. So that's how he's kept things from being worse, and that's a credit to him, because avoiding mistakes is a skill. But we can still get good games from teams that are facing him. The Rays diminished team from what they were before. Their active roster is WRC+, against lefties down to 113, but that's still good enough to use them for stacking. So the Rays to me belong third on this list, behind the Dodgers and the Braes, and I would put the Braes above the Rays, in large part because of Park, but also respect to Gomber as well. In this roster, I'm happy to be high on Jose Ciri. He had 5th against a lefty last night, though he was 8th in the game before that. Ciri is striking out a ton, which is annoying, because it means your ball's in play, but Gomber doesn't get a lot of strikeouts. That's less of a factor here. Iso for Ciri is still very high, so as long as he makes contact, he can do damage, and he's more likely to do contact here. So as far as mid-range plays go, I think Ciri makes a lot of sense here. $3,100 is his salary. Obviously not like a value play at that number, but he's also in the mid-range at $3,100 as well. You can get out of Curtis Mead at $2,200, save some salary. Across the Dodgers, Braes, and Rays, you can find guys with upside, with lower salaries, and that does give me more confidence I can get to Gauzman tonight without totally handcuffing myself at stacking. Let's go to things to watch and run through the biggest pitch count concerns. You kind of know the red flags on this slate. The two big ones are Clayton Kershaw and Chris Sayle. Kershaw has gone 67 and 72 pitches, and his first two starts back, so I can't see him going longer than 80 tonight. And that's 80 pitches against a guardian's offense that never strikes out. So that pushes Kershaw to play for me. Sayle has gone 58 and 65 pitches and his first two starts back. His velocity was awful last time out, like down about three miles per hour from what it typically is. So I'm not going to touch him, and I would consider stacking against him with the Astros at times and tournaments of how concerning the Velo was in that game. Final guy here is Jose Urquiti. He has looked good since the return, but I have no idea on his pitch count. His max so far is 80, so all three to me of Kershaw, Sayle, and Urquiti are out due to pitch count concerns, and for Sayle, I'd at least consider stacking against him because of the low Velo his last time out. Finally, Luis Severino is on the mound tonight. He's still pretty shaky, but he's facing the Nationals. The Nationals have an 87 WRC plus against Urquiti, so I think the Nationals are fine for one-offs. If you find some guys with upside, they do have guys who can't do that there. CJA Abrams' salary is still $3,000, Lane Thomas 34, so you can potentially get some one-offs on this team, but harder to get to a full stack just because there are not a lot of guys I want to use in that lineup. Let's finish up here some Dinger calls for today. Boring one, Max Munsee. He's a lefty in Cleveland, basing off against a guy leading up a lot of hard contact and a lot of fly balls, and Max Munsee knows a thing or two about Dinger. So Max Munsee, the Boring and Run call for tonight. The fun one, let's go Jose Ciri. I mentioned before that when he makes contact, good things tend to happen, and he's more likely to make contact tonight against Gomber than he is against most guys. So Ciri, hoping he gets back on track. I think he's a good option for tonight. So, home run calls for today, Max Munsee at Jose Ciri. That is all that we have here for today for the solo shot. As mentioned though, our PGA DFS preview is posted in the Number 5 Daily Fantasy podcast feed. So go find that wherever you get your podcast to check out the stuff for the tour championship. And again, don't forget the free roll over on Fandall Research, Fandall.com and slash research to find the link for the free roll for this week's tour championship. If you've got any questions for me, I am on Twitter at Jim Sonnis, J-I-M-S-A-N-N-E-S. You can also follow Fandall Research at Fandall Research. I want to thank you all for tuning in. Good luck to you and your lineups for tonight. We'll talk to you once again tomorrow to preview Thursday's slate. This has been the solo shot right here on the Fandall podcast network.


Hi, I'm Jeremy. This is my slightly gravel top title. I'm going to start with a question. How can we dynamically generate interactive animated graphics in a web client? And over the years, there have been many answers to this question. Some of these, of course, have become dead ends. So, you know, I'm looking at Java applets, flash and action script. And actually the newest technology listed on here, WebGL, apparently came about eight years ago. But, you know, over the last several years, performance and general browser support have been improving. So, it's not really a blank space here, but moving on. The dominant ways that we draw 2D graphics are, you know, the HTML5, which gives us two things. Canvas and SVG. There's a lot of overlap between these, but in case you're not familiar, I'm going to introduce these quickly. So, say you want to draw these three squares via the Canvas APIs in HTML5. So, we have a Canvas element in our document. We get a 2D context from our Canvas element, and then we execute a series of commands which draw our squares. And as you draw these, they become pixels in a bitmap. The squares no longer exist as squares after that point. So, if we compare this to SVG, instead we have DOM elements that represent our primitive shapes. So, we don't have to write any JavaScript. We, of course, could if we wanted to, because we can write JavaScript to create these rectangles and insert them into the DOM. So, we can render pretty much all the same things with these two techniques. Some things are easier or harder with one or the other. But there are some subtle behavior differences that I'm just going to touch on quickly. If I can, the computer is behaving very differently than usual, I have to say. So, sorry. Does anyone know how to escape PowerPoint? Okay, better. So, one subtle behavior of difference is that because SVG creates DOM elements, we can attach event listeners. And these are backed by the browser and we have sort of sensitive edge detection. Whereas with a Canvas, we have a single element, it will detect events on the Canvas. And if I look at the source code, oops, my goodness. Okay, if we look at the source code quickly, you can see that in fact our SVG elements, we can attach our usual event listeners on our Canvas. There's no opportunity to attach event listeners to these rectangles. We can do things, of course, with the X and Y coordinates that we get from the house event. So, moving on. Another subtle behavioral difference has to do with text. So, on the left we have text rendered via SVG and even though it has some transformations applied to it, it's still text. As far as the browser is concerned, we can select it, we can search for it. So, that's cool. Whereas with SVG, I mean, sorry, with Canvas, we basically have the same text rendered as a bitmap. All we can really do is save it as a PNG file. Other differences that I was curious to investigate a bit are performance differences. So, there are claims out there that are often repeated that say that a Canvas works better when you have a large number of objects to render because there's no overhead of representing objects in the DOM that SVG has. Whereas SVG may work better at high resolutions because Canvas is basically rendering into a pixel above for a bitmap and the larger it is, the more overhead you would have. So, I thought, well, can we test these claims? Can we see what this is like in 2019 in a modern browser? So, I did some informal tests. First test here, you know, I thought, well, let's try animating 15,000 tiny moving, randomly moving squares and see how many can we animate and hit the 60 frames per second cap that a modern browser will impose on rendering. This is how many. On my MacBook Pro, I tried a few different browsers. They're all pretty consistent just for fun since we're, you know, looking at pictures. I added some mouse interaction, which doesn't seem to affect the frame rate at all. So that's a Canvas. With SVG, I hit a cap at 1,000 tiny moving squares, which is along the lines of expectations, a little bit sad there. But we can actually do better and stick with SVG. So this is still SVG, but now we're rendering 6,000 tiny moving squares. And the way we pull that off is we use this generic element called a path. It's kind of a do-it-all element. It does have some limitations because everything we draw to our path is going to share, you know, a color. We can't add DOM events to parts of the path, but, you know, in JavaScript, we can generate path data or we could specify it statically. But here, basically, we're giving commands in a data string. And we're saying move to a coordinate, draw some lines that outline our square, close the path, fill in the entire thing, and we get our randomly moving squares. So there we go for a performance comparison. So another one I'll highlight is that in a modern browser, at least, I couldn't reproduce this sort of piece of common wisdom. So unless I disabled hardware acceleration, so in Chrome in the advanced settings, you can go and turn off hardware acceleration, which is on by default, and then all of these characteristics change a bit. But, you know, basically, Canvas is going to be faster depending on what you want to do. There is a third option out there, which is WebGL. So as mentioned briefly before, so what is WebGL? Again, in case you're not familiar, WebGL is mainly a 3D rendering context for Canvas. So instead of, before we paint to our Canvas, instead of getting a 2D context, we get a WebGL context, and then we can execute commands on that. What kind of commands do we execute? They are basically OpenGL API calls. So if you know OpenGL, you would be very comfortable with WebGL. If you don't, you're in for a very steep learning curve, as we may see in a second. And what this enables in web browsers is you can see it in basically a huge number of JavaScript libraries that are out there that can load all kinds of model file formats. So if you have 3D models that you've created in an editor, there's probably a library out there that can load your model file and display in the browser. There are game engines that already targeted OpenGL and can now target JavaScript and web browsers. So big names like Unity on real engine will target WebGL in a web browser if you want them to. And I repeated my informal performance test on WebGL, because why not? And I got up to 45,000 tiny floating squares, which is a much denser mass. And we can look at the code, keep doing that, we can look at the code quickly. And you can see why at least I think there's a pretty steep learning curve. Again, you know if you're familiar with OpenGL, great. This stuff is pretty new to me, but as I mentioned, you get your WebGL context to run commands on. And then you have to do two mandatory things which are creating shaders. So you need a vertex shader, which my understanding determines for every vertex in the models that you're going to paint, where on the screen is your vertex going to end up. And you need a fragment shader, which determines for every pixel on the screen what color will that pixel be. So these are basically trivial implementations of these just for the purposes of this informal performance test. But this is not actually JavaScript code within these shaders either. These are coded strings in an OpenGL shader language. So that's exciting. We compile these shaders into a shader program. We set up some data structures that will pass data into these shaders. So this is all kind of minimum mandatory setup initialization.  So I did this perhaps there are better ways. But I did this by creating a single buffer which contains all the coordinates of all the square corners. And loading that into an OpenGL buffer which I believe will send the data to the graphics card. And then stepping through and rendering each square as a four pointed triangle strip. So do all that and you get 45,000 tiny floating squares. So and then here's the summary of this very informal performance test performed. I know today is Wednesday but I made this slide yesterday so forgive me. So like I said I was curious about the current state of things and that's what I found. I'm going to change gears a bit now and talk about applications. Because of course we don't, you know, browsers haven't been driven to adopt these technologies by the desire to render squares. Large ones, small ones, whatever. So I feel we should briefly touch on charts which is, you know, I was employed for some time rendering charts of application performance data. And way back in the day we had charting packages on the server. We generated bitmaps. We shipped them to the client. You could see your data. What more could you ask for? So there were a few things that we had to come up with to motivate a transition to rendering charts on the client. And since maybe demos are slightly more interesting than slides I'll just very quickly demo a few attributes that we should expect from our modern HTML5 charts. You know, there are many, many charting packages out there but hopefully they will give us features like on the fly layout. So, you know, JavaScript is fast, rendering is fast. Nowadays we should be able to recalculate geometry depending on how much space we have on a page. Animation, you know, arguably a faded animation like this isn't super useful. But if you're transitioning between different views of a data set or of real-time data is coming in, animation can be very valuable. And interactivity.  So that was a very quick discussion of things we should expect from charts. Moving on, there are a lot of data sets that we can model well as diagrams of nodes connected to each other based on some relationships they may have. Here is an incredible trivial one. And the challenge with diagrams and, you know, showing them in a web application often is not rendering the thing because, you know, we have rectangles. We have text. We have some lines that we can probably figure out how to draw. And in an example like this, it's not very hard to figure out where we could put the nodes. There are many options that make sense. But what if we have a lot of nodes? What if they are heavily connected? What if the data is somewhat unpredictable? So I'm deviating a little bit from talking about rendering. But one algorithm that I always find very interesting for laying out graphs, it's been around for some time. You may have seen this demo before. But I'm going to show you guys a force-directed graph layout. So the fun part of this is that you do this by pretending to run a physics simulation on your nodes. So you initially randomly position your nodes and then you apply repulsive forces between pairs of nodes, which immediately makes this an n squared algorithm so we have performance concerns. We also, but we do this so that nodes will distribute themselves far around a page. We also apply attractive forces between nodes that are connected so that related things will end up near each other. So we need a data set to look at. So one that I found on Wikipedia, somebody pointed me in this direction, was this very exciting table of countries and their primary trading partners. So we could scroll through this and we could kind of understand who likes to trade with who. Perhaps we'd like to visualize it. So let's try that. And you know, an interesting thing about this algorithm is that we don't have to, but we can animate it. So have people seen this demo before? No. So this is kind of meta because we're watching the process of what the algorithm does. It actually sorted itself out fairly quickly and there's some issues that we could try to clean up like overlapping nodes and so on. But we can see that there are three trading hubs in the world. The data is a little weird because the EU trades with countries in the EU according to this data set. But this is based on data that was copied from that. Wikipedia table turned into a JavaScript array and then plugged into the algorithm that we were looking at.  So of course we can do the same thing off screen and just throw up the result, run it in a loop, not wait for frames to render. And you know, there's our output. So fairly easy to render, not very advanced requirements, but I don't know. I always find that algorithm interesting. So there it is. So moving on. Last topic. So, almost done. So who here codes for fun? Who doesn't necessarily need a practical endpoint? Some people. Okay. Maybe a third of the people here. So I'm going to talk about games briefly. For some people, games are work. I have friends who work in the video game industry. I've picked up a few things from them. For me, it's an off and on hobby. It's a way to explore ideas. Prototyping games is fun. It's challenging, even if you never finish your game prototype. And trying to put a game on the web has obvious, very obvious benefits because, you know, anybody with web browser can go play your game. So if one wants to write a game, first two things to consider, of course, are using a game engine. There are many out there. I already mentioned, you know, a couple big names, Unity and Unreal Engine. Another one, smaller one that I've used at one point was called Cocos2D. So what game engines provide to you is they will abstract away basically all of the low-level rendering. So you won't necessarily know if you're writing a 2D game, whether you're rendering to a canvas or a WebGL, you know, whatever is best supported by the browser is what you'll get. And, you know, if it's 3D, it's going to be WebGL most likely. But, you know, they'll help you manage your sprites, your assets. They may provide a built-in physics engine. If they don't, then you can look at the many physics engine options out there. So depending on the type of game you might be interested in, physics engines will help you model the objects in your game as primitives, like circles, lines, polygons, or in 3D, you know, 3D objects. And you can set physical attributes on them, and then you can predict collision times. You can do ragdoll physics. For today's purposes, I'm not going to do either of these. Because I like occasionally low-level coding. I'm not really interested in practical applications at this point, and I'm going to talk briefly about sprites. So if we want to develop a 2D game, of course, you know, say in Mario. Mario is your sprite. He runs around, his feet move, he jumps, his hand goes up in the air. We need to animate these things. If you're a graphic artist, you can sit down and draw animations frame by frame, and you can get very high-quality results. If you're like me, and your skills don't lie in that direction, and maybe you'd rather just code, you can go with this second direction, which is using vector graphics. So say we have a person we want to animate. We want to model him and have him move through space. In this case, we can just identify some key vertices or joints. And as long as we know the coordinates of these joints, we can render our sprite ultimately. And when we render, we can exploit the concept of keyframes. So if we want our animation of our vector graphic sprite to run at a very high frame rate, we don't want to sit down and define 60 frames to fill a second. We maybe want to define the frames at the beginning and the end, maybe a couple in the middle, and then we want to interpolate between these frames as time passes. And we don't have to linearly map the passage of time to the progress of our animation. We can take advantage of this concept called easing, where we can kind of ease into an animation and apply a curve function to our elapsed time and get sort of a more impactful end to the animation, or we can ease out and get a softer end to our animation. So let's see. That's a lie. Okay, very briefly, almost there. Very briefly, going to put up a game prototype. So we put these concepts together.  We wave our hands, and then we have a game prototype, where perhaps we have two boxers. They're ready to fight. They're Singapore, so they're sweating. It's hot. Our boxers can do a few things. Perhaps I feel I might be punched so I can guard myself. Perhaps I want to punch with my right hand, punch with my left hand, walk over to my opponent here. He has no AI, so he's defenseless. So he's just going to stand there, and then I can maybe take out some aggression. Maybe I have a bug in my actual work work that I can't figure out, and I can just, you know, do some punching and so on, and kind of ruminate on where this game prototype could go, how much cooler it could be if it was in 3D, implemented with WebGL instead of a canvas, and so on. So that, in fact, is the end of what I have today. So thank you for bearing with me. Yeah, Shailesh. Can you open the 45,000 boxes? It's so mesmerizing. So it gets more interesting if I make it smaller, but yeah, so I, you know, don't claim that this is the best possible benchmark, but this is what I live together. Any other, yes? Isn't there another option? Before going to shaders, you could just do WebGL without shaders? That may very well be. So as I tried to explain WebGL is very new to me, and I didn't have as much time as I would have liked to learn the details. So from what I read, I did not see that option, but I absolutely believe that that may exist. No claim of expertise here on that topic, yes. Okay. Have you also considered looking at WebAssembly at all for this type of more demanding graphical processing? Right, so I have certainly heard of WebAssembly, and I think that's probably a direction a lot of games will go in because of, you know, especially if you have to do physics simulations or even the graph layout example I gave, you know, it's not an especially fast algorithm if we had more than the 500 nodes I was showing. So even outside of game applications, you know, WebAssembly is going to help you out there. It's not something I personally experimented in, but... Yeah. I just saw the different SVG a bit. Yeah. If you use CSS transitions or CSP frames, I think maybe it can be more performance, but less dynamic than... Right, right. So yes, to be fair, I did not explore the option of animating via purely CSS, and in fact, I think that we don't need to render 45,000 or 15,000 objects usually, and the graph demo and the chart demo that I briefly showed used SVG, and it has nice features like you can select and search for the text, and so on. So I'm not maligning it. I just wanted to test that claim. Okay. Thank you. Thank you.