The next step in our introduction and our discussion of basic graphics is bar charts. And the reason I like to talk about bar charts is this because simple is good. And when it comes to bar charts, bar charts are the most basic graphic for the most basic data. And so they're a wonderful place to start in your analysis. Let me show you how this works just try it in our open up the script and let's run through and see how it works. When you open up the file in our studio, the first thing we're going to want to do is come down here and open up the data sets package. And then we're going to scroll down a little bit and we're going to use a data set called mt cars. Let's get a little bit of information about this do the question mark and the name of the data set. This is motor trend. That's a magazine car road tests from 1974.  Let's take a look at the first few rows of what's in mt cars by doing head. And I'm going to zoom in on this. And what you can see is that we have a list of cars the Mazda RX4 and the wagon the Datsun 710 the AMC Hornet. And I actually remember these cars. And we have several variables on each of them we have the MPG miles per gallon, we have the number cylinders the displacement and cubic inches, the horsepower, the final drive ratio, which has to do with the axle.  VS is for whether the cylinders are in a V or whether they are in a straight or inline. And then the AM is for automatic or manual. Then we go down to the next line we have gear, which is the number of gears in the transmission and carb for how many carburetor barrels they have, which is we don't even use carburetors anymore. Anyhow, so that's what's in the data set. I'll zoom back out. Now, if we want to do a really basic bar chart, you might think that the most obvious thing to do would be to use ours bar plot command, that's its name for the bar chart. And then to specify the data set MD cars, and then the dollar sign and then the variable that we want cylinders. So you think that would work, but unfortunately it doesn't. Instead, what we get is this, which is just kind of going through all the cases on a one by one by one row and telling us how many cylinders are in that case. That's not a good one. That's not what we want. And so what we need to do is we actually need to reformat the data a little bit. By the way, you would have to do the exact same thing if you wanted to make a bar chart in a spreadsheet like Excel or Google Sheets. It can't do it with the raw data. You first need to create a summary table. And so what we're going to do here is we're going to use the command table. We're going to say take this variable from this data set and make a table of it and feed it into an object, you know, a data thing, data container called cylinders, I'm going to run that one. And then you see that just showed up in the top left, let me zoom in on that one. So now I have in my environment, a data object called cylinders, it's a table. It's got a length of three, it's got a size of 1000 bytes, and it gives us a little bit more information. Let's go back to where we were. But now I've saved that information into cylinders, which just has the number of cylinders, I can run the bar plot command. And now I get the kind of plot I expected to see. From this, we see that we have a fair number of cars with four cylinders, a smaller number with six. And because this is in 74, we've got a lot of eight cylinder cars in this particular data set. Now, we can also use the default plot command, which I showed you previously on the same data, but it's going to do something a little different. It's actually going to make a line chart, where the lines are the same length of each bars, I'd probably use the bar plot instead, because it's easier to tell what's going on. But this is a way of making a default chart that gives you the information you need for the categorical variables. Remember, simple is good. And that's a great way to start.


YouTube, Team Keep It Clean, what's going on? It's Ingraven here with another video and another episode of NFL Questions from subscribers. A series where you can ask me any NFL question you want to based off of any NFL team. And we answer it in a video just like this. If you wanna be part of it, you can send me an email to teamkeepitclean at gmail.com or for the patrons, you can send it directly on Patreon. Team Keep It Clean, we got some great questions that we always do. But in this episode, which is the first episode after the cheese game, we got a very special guest. Let's do it. So Team Keep It Clean, in this episode of question from subscribers, we got a very special guest. It's my guide, the host of KTE Sports Talk, Justin P. So go ahead and introduce yourself to everybody. Let them know where they can find you at, whether it be on Twitter, the podcast. Let them know who you are and what you do. Hey everyone, thank you Ingraven for having me all. We've been trying to get this together for some time now. Got YouTube videos.  So I'm like, hey, I like to talk sports. I do break down. So hey, why not give me a shot and see how it goes? So YouTube, everything's the same name, KTSC Sports Talk, with Justin P. Type it right in. It's gonna pop right up. You wanna see a shirt, a black and white shirt, like split in half with the podcast logo and brand on it. Easy to know what to find. I'm on Spotify. Let's see, Ingraven, Google Play Store, Apple Play Store, Pants. So everywhere you can find a podcast at, then, in Ingraven. Yeah, just type the name in, KTSC Sports Talk, with Justin P. And it'll pop right up on Facebook and IG as well, and Twitter, so. Cool way. And just to make it easy for everybody, because I know a lot of people tend to get a little bit lazy. I'ma leave everything in the description, so it'll make it just one click away. So why did you start talking about the Ravens? You're obviously a Ravens fan, but what made you really start talking about Ravens and just feeling like diving into YouTube and podcasting parts? I just felt like, I mean, because all the conversations I had with people, you know, all the shop or the neighborhood, stuff like that. I said, why not put it on a platform? Okay. I feel like your voice should be heard more than where more people can hear my opinions and takes, you know what I mean? So I'm like, hey, it might be the next Steven A. Smith or something like that. You never know. You really never know for real, man. You never know where this thing could take you, or the podcast and YouTube and whatever it may be. That's true. So a lot of people, you hear that a lot of times, but that is a reality. You just really never know. So I think it's always important that when you do start doing whatever it is that you choose to do, that you just go at it, put your own spin on it and have fun with it, man. And treat every video, not like it's your last video, but treat every video. Just know that you never know who's watching. So just bring it every time. That's a word of advice that I really give to anybody that's looking to start, looking to do it, but doing it already. Just bring it every single time because you never know who's watching. But we got some real good questions, like we always do. So without further ado, let's go ahead and hop into it. All right, first question. This question came on the 17th. So it was before the Ravens and Chiefs game. And this is the first episode of question from Subbs after the Ravens and Chiefs game. So keep that in mind. It came from my boy, Joey. He said, what's up in Graven? I was typing up some comments on YouTube and I thought I should just become a Patreon and bring it up there. I've been around the channel for about four to five years and now you make it so easy to support. Thank you for that. I appreciate that, man. He said, anyway, been watching the Ravens since 2008, the flag go in hardball years. And I've only called for one coach's job since. That was offensive coordinator after Lamar's first playoff game against the Chargers. I love all Russian attack but seeing no adjustments Monday night to throw some quick slants, quick outscreens to get the pass rush to relax really tick me off. So referring to the Raiders game in Greg Roman. I know we're one game in and I've been on the, we still have 16 more games trained but I'm calling for Greg's job. With all the new running backs, I would like to think we should use the kiss approach. Keep it super simple. Let the great running backs and Lamar just naturally be great. How are you feeling when we once play calling and do you see us making adjustments for week two? Offensively and defensively. Now, even though this question is obviously in hindsight, for me, I really felt like going into this game, Greg Roman was gonna have to call the game with his life because there was a lot of pressure on him. There was a lot of pressure on him going into the season already, especially when they hired Keith Williams and T. Martin. I think that really showed that there was a lot of pressure on him. So going into this chief's game, the world already watched last week on Monday night football. The world would definitely be watching because it's Lamar Jackson and Patrick Holmes.   He didn't have no choice but to. And they certainly did. Now, how did you feel about the play calling from the game last night? Well, I'm gonna start with the Raiders game. Then I'll give you a little bit because I can see the pass this question. You did a pretty good job against the Raiders, if you ask me. The only thing I would say, I didn't really like that he went away from Taishan, what Taishan weighs. Just ripped off a big run, run fourth down and get us attached to that play 46 yards, 47 yards. I'm not completely sure. But why not give him a few more carries?  He had two costly fumbles. One of them was his bandcage. The other one came off our band protection. So you put up 27 points, a couple misreads. But like I said, all in all, the office is averaging right now over the last two weeks. I'm not mistaken. Well, 31 points a game. You don't get too much better than that. Now, fast fourth to last night, like you said, everything he said happened last night. The run game was on. We kept the Chiefs against him. We didn't abandon the run game. We all had 11. I was saying to myself, oh, we ready to pass hand, he was ready to come up, try and chuck it, chuck it. No, we stuck tall guys. You know, we made two dumbest mistakes. Lamar forced to pick. The first one, Sammy fell. So, you know, we got those hiccups up the way early. Yeah. It was not starting to get on our side. So, Hollywood had a great game.  Bob Andrews had a pretty decent game. So, we was at, what, 13 carry, 78 yards. DeValte Freeman looked real good, came in. I got it. You were real high, or? Yeah. You brought him in. I watched that video. We'll take this. Every game he's playing, then he scored a touchdown. Like I said, he's yours, but currently he's probably not the greatest, but when we need him, he's coming through the red zone. That's a good point. Oh, the offense overall has been good to me. Both games. So, just cut back on the turtles. Yeah, yeah, for sure. And then just to flip it to the defensive side, when we go back to that Raiders game, the thing that was just killing me was the fact that Darren Waller, he ate the Ravens alive, the whole game, man. He just was dominating the Ravens. Like the whole game. I was thinking like, man, is Wink gonna make some like, are we gonna have some second half adjustments so we can try to take Darren Waller out the game? Cause he's really, he's the only player that's just really dogging and Ravens like from start to finish. And in the second half, it was nothing. So going into the game against the Chiefs, I'm like, oh boy, if we struggle like that with Darren Waller, who is the top three tight end, we about to face some people that's top three, but not three and go up against Travis Kelsey.  So, and he did just that. He absolutely destroyed us. But Wink, he adjusted to Travis Kelsey but he did it a little too late. And with Wink overall in this game, he does get a lot of credit. There's a lot to improve on, but again, you were going against Patrick Mahomes and the Chiefs. So that's a tough task, man. Cause they are one of the best, not just one of the best teams in the league, but Patrick Mahomes were the best quarterbacks. Look what it took for the Bucks to slow them down, took for him to miss his whole entire office a lot. So that's the tough task for any defensive coordinator. Right, exactly. And I just wish they would have, I wish they would have taken Malik Harrison out a bit sooner. Yeah, then they did. But it obviously ended up working out in the long run and something that I didn't even realize watching a game last night. I don't know if it's because you were there last night at the game. I don't know if you realize that when you were there too, but they, the Chiefs didn't get any fourth quarter points. That's it, that's it. I realized it once the game was over. That's crazy. Some of y'all scored them 12 to zero for the fourth quarter. And that's just like, if anybody would have said something, like they Ravens outscored the Chiefs in whatever quarter really, but then the clutch time in fourth quarter when they needed the most and like to hold them to nothing. Like that, again, while Kelsey did go off last night. So in what they scored 35 points, it was what, 36, 35? But while there's a lot of, there was some frustrations with the defense last night and Casey, they put up their points. We got to take the bad with the good too. And we got to talk about both of them. So being able to hold the Chiefs scoreless in a quarter is amazing. And especially when it's the fourth quarter, when everything is on the line, the most like this is the game right here. And especially in such a close game where things, they going back and forth and whatnot. So we definitely got to give Wink his credit. Another thing, how did you feel about the Blitzen from week one to week two? We, he downed it down a notch, which he was going to have to do because you can say no Blitz pass your holes. You just ask it for, you just ask it for trouble. Especially if you may undermine the secondary. So his Blitz was more controlled. It was more controlled Blitz. I like that, that's the way to go. Send a nickel off the corner, something like that. Or having the lay blitz of the gun, the linebacker, stuff like that. It was more controlled Blitz. It wasn't just, you know, hey.  So, you know, it wasn't really that easy. And we took time to get off the game. That was my biggest work. Travis Kelsey is going to get his numbers. That's just, no, it's not too much you can do about that. Cause a linebacker is too slow. I think he is too small. So it was like, he's going to give me my biggest worry was the cheater that he was held in check. So. Yeah. I think he had what, like three catches for like 14, it's 14 years, something crazy. 14 yards or something like that. Yeah. And for them, like for you to hold cheater all night, like literally for four quarters. In fact, like if, if somebody said, all right, going into this game, Tyreek Hill, he only gonna have three catches for 14 yards. I would have thought that, okay, only way that that happens. I don't care if you even double team them triple team or whatever that ain't happening. Unless Patrick Mahomes is not his quarterback. That's the only way I would have thought something like if Patrick Mahomes like didn't finish the game or something if he got hurt or something like that, that would be the only way that I would see that happening. But if you told me that Patrick Mahomes was going to play the whole game and cheater was going to play the whole game and he was going to only have like three catches for 14. I would have been like, man, stop that, man. Don't count on that. But the fact they literally took this guy out the game, man. That's crazy. Now. Shout out to the baller because he followed the majority of the right so definitely shout out to the baller how free Andy every. They played that game. Yeah. Avid man, he, I wasn't, it's crazy. I wasn't surprised by how he played but I was just really happy because what we've been saying with Anthony Avid is biggest struggle is just turning his head around because he'll be right. Exactly. The biggest problem just turning his head and then he did that last night, man. And the fact that we just, we really didn't hear his name called too much against the chiefs. That says a whole lot, man. Now we, we're not even done with this question yet. He said, and again, this was before the chiefs game that he sent this, but he said, we'll be calling for Wink's job too. If he doesn't realize we had amazing pressure only rushing for last week. Kaleas, Madabee, Gay, Orway, and Justin Houston definitely can get the job done. The rushing 11 every time worked great. The first and second year for great QBs and offensive coordinators know when it's coming now and all week they are practicing plays saying if they're rushing 11, then we will go with this play and score every time. Thanks again, engraving for the awesome channel giving us a place to give our opinions, to keep it clean and real. I appreciate that, Joey. And yeah, you got exactly what you asked for. He said, we had an amazing pressure only rushing for against the Raiders. So there was a lot of times when in this game where Ravens just rushed for, sometimes they even just rushed three and they still got a good amount of pressure. So how'd you feel about, I know you talked about the Blitz, but how'd you feel about, again, the lack of Blitz and how'd you feel about Jason away in that defensive line of pass rushes and all that? Oh, not Jason away, not Jason away, not halfway, gotta give him his respect. Yeah, yeah, yeah, yeah. Well, Godfell, he played amazing man. Love was not going to really show it, but the constant pressure he had and he was, and he played stronger than a run game. So he had a little bit of a move game. I think he used to start, I get it, and he would gradually work her up and all that, but. Who, away or Mata BK? Oh, wait, I know Mata BK time is coming. It's like, what's the lens of those guys that are tired? He told me that, that's just the thing. But definitely, oh wait, him and probably, him and Justin, he still had to try and start. And just, the tires, Bowser just had to play some linebacker, because he's the best cover linebacker and just put him next to Patrick Quaid in the way we got two inside guys that can cover him. And then just let Malik Harrison just rotate it and out. Because he is a good run stopper, but. Yeah, yeah, he very physical. He probably won. Yeah, Patrick Quaid and Bowser are two best cover linebacks because they got the speed. Well, yeah, I think with Malik Harrison, he is definitely the most physical linebacker that we got. That would be something. I didn't think about that last night while the game was on. I know a lot of people had suggested it like throughout last season when we were having trouble covering tight ends, which has been a Ravens problem for years. A lot of people suggested what you were just saying. Lining up Tyus Bowser next to Patrick Queen. And they, I think they did that like a tiny bit where they would drop him back. They would have him lined up next to Patrick Queen. They would drop him back and coverage a little bit. I mean, and he was obviously in coverage a lot of being an outside linebacker for the Ravens. That's just something that you're going to have to do. So because they with outside linebackers for the Ravens, they're not, they don't usually get a bunch of eye popping numbers like that. Well, the last person that really got the numbers like that and drop back in coverage too was Terrell Suggs.  But Matt Judon, he wasn't bad though, but with Bowser, I wonder if like moving forward, if they would try that because we obviously got more tight ends that we're going to go up against like next week is Hagenson, the week after that is no a fan. Did Jerry cook up the charges after that? Oh, so yeah, the middle of the field going to get tested. So I wonder if they will consider trying that since Malik Harrison, and not to say Malik Harrison can't come along and get better, but I wanted to try mixing it up soon enough. What you think about that? Yeah, yeah, or use your safeties. You got guys like Brad and Stevens that can come in. Yeah. You got Gino Stel that was playing ball. Use those shots to cover the tight end. That's a good idea. Just be more flexible. Because like I said, it's a passing league. Yeah. That don't seem to me to take Russia to football or just like that. I don't say we're taking season. We may give up on the odds, maybe once. Maybe. Because yeah, you know that's Ravens, Brad and Butter. Stop the run game first. Stop the run game, of course. So definitely, that's the only thing. We definitely got to control those tight ends of the control a little bit. But other than that, the defense now stops when we need it. So that's all you can really ask for. Our next question came from my boy, Joshua H. He said, the tired Phillips lesson, and the real reason I don't trust hardball. And this came before the game last night against the Chiefs. But I know my guy, Joshua, I know his mind ain't really going to be changed from one game. But he said, remember in 2012 when practically everyone knew Michael Orr should be at right tackle, but they kept putting him at left tackle all year. And remember, they barely let Denil L.A.B. see the field. We heard it was because they didn't trust Brian McKinney, our true left tackle. And L.A.B. has some kind of personality, hardball didn't care for or else, didn't like how he practiced. Then when the playoffs started, what all of us know, what all of us know nothing fans thought was best was what they did. L.A.B. was a force. McKinney held it down at left tackle and Orr did well over on the right side where he belonged. Orr in 2018, when the whole fan base was calling for newly drafted Orlando Brown Jr. to replace struggling James Hurst at right tackle. Yes, I certainly remember that one. If Hurst hadn't been injured, would Orlando not have gotten a start until 2019? Probably not. Or last year, the whole town, literally everyone knew they needed to drastically reduce Mark Ingram's carries and give them to J.K. and Gus. The coaches did it, but only about six weeks after it was obvious to everyone. And last year, they had Tyree Phillips starting at right guard. When all the injuries happened, we learned McCarrie and Powers were both way better at that spot. Cole Jackson told me on Twitter the other day that they don't trust Powers because he's shown up to camp out of shape a couple of times. And lo and behold, they once again had Phillips starting at left guard this time over him in the Raiders game. And over Cleveland and McCarrie and everyone else. I have nothing against Tyree Phillips, but don't they need the best players in the game? And this week, when asked why Tyson Williams didn't get more carries in the second half, we got some nonsense answer about how they like to spread it around. I say nonsense because they didn't spread it around. They gave him almost no carries in the second half. That's true. He only got two carries in the second half for that Raiders game. Ordinarily, I'd just ask if it's just me, but my suspicions have been confirmed too many times now. I think most coaches would feel like they need to play their best players and get the most out of them. Most coaches would feel like Talon is scarce and it's their duty to make the most of what they have. Hardball thinks they need to come to him and be the way he wants first in many cases. He's not failed at this in every case, but his stubbornness in other cases is very obvious and it hurts the team. And I say this is a luxury. Hardball can exercise when his team is in Super Bowl contention, not floundering in the playoffs. He will cut off the team's nose, not despite his face, but because he believes their faces should be able to walk into a knife, this was what made me move from just being steadily annoyed with Hardball on some low level to being done with him last November. How much, if at all, does this sort of thing impact your trust of this coaching staff in front office? So this was a good question about just the Ravens really making the best moves of the team and Hardball putting the best players out there on the field. And especially when we as fans, I mean, we as fans, we don't know everything. We don't know all the behind the scenes stuff. We just see what they put out there every Sunday or Monday or Thursday, whenever they play. Last week they played, last year they played on Wednesday, but that with this game, like the Chiefs game, with the Raiders game, yeah, with Tyson Williams, he was clearly the best runner, Raiders game, but he did have that fumble out of bounds. He was struggling past protection and whatnot. And then in the second, first half he had seven carries, second half he had two carries.  But this game, I liked how, even though he messed up, again, last week he messed up in past protection, this week he messed up with a fumble on the goal line, even though he did that. And thank goodness Devin Duvenay was in right place, right time. Ooh, Lord, that player almost spilled my soda on somebody. But yeah, even though, yeah, Duvenay was at right place right time, I was glad that the coaches, they still stuck with Tyson Williams throughout the game, not only throughout the hat, but throughout the game, they still continue to give him opportunities because he was their best runner. We know how easy it is for somebody to get in Hardball's doghouse, especially when you're not a high draft pick and you do not have a high salary. If those two things are going against you, you better not mess up, because it's so easy to get put in a doghouse. That's why I was surprised last week too with Devin Duvenay, when he, against the Raiders, when he fumbled their punt, I was surprised that he stayed out there at punt return. Because I was like, oh, I would not have been surprised if Devin Duvenay would have been benched, or at least at punt return, not at wide receiver. But I was surprised that they stuck with him, but I was glad that they stuck with him. So could we possibly be seeing like some sort of change? Well, but at the same time, if Tyree Phillips wasn't the best left guard out there, they did go with him, but now he's hurt. So now they went with Powers and Cleveland. So I hope that this week is the start of something new when it comes to coaching, really putting the best players out there on the field, letting the best players play and just, and really making it happen. Because again, we as fans, we don't see or know everything. We just see what's out there. And sometimes fans got a good eye though. Cause I know like some people always be like, oh, y'all y'all are fans for a reason. Y'all not on a coaching staff, blah, blah, blah. But I mean, sometimes you could just see these things, man. So how you feel about how the Ravens put the best play if the Ravens really do put the best players out there to play. And just there, some players having a shorter leashed than others and how hard ball is with putting the best players out there on the field for the Ravens?  That's a lot of pain. I felt like I was with this guy, you know, he did that, but just impressed the character. Everything you want in the office, a lot of it, nasty ball up, smart, like, I'm like, something must be going on. Why is he not starting that? You know, I guess that he played pretty well despite not having all season last year, you know, COVID stuff like that. Right, right. He showed it and by it, you know, how to resolve for the most part. I mean, JJ White exposed it, but that's JJ White. That's the first thing that all the things went healthy. So, you know, so, and Ben Cleaver, I was wondering why he ain't touched it for the first week. I was just, I saw the reports and all that stuff, saying he's not ready, that hurt. He's not deal waiting for the issue that we go off. So, why is he not on the field? Yeah, because I know he, with Cleveland, they say he had got a concussion, like late in camp, but he did return to camp, but yeah, he was in active week one. You know, he played some right tackle at Georgia too. Oh, he did? Yeah, he played some right tackle there. He played, I always think he didn't play myself. Oh, okay. So, he was all over the offensive line then. Yeah, because they had a few injuries, especially when I was, when was the kid, they the tightest draft, they the cut to do the offensive. I think Isaiah Wilson. When? The offensive line. I think yeah, I think Isaiah Wilson was the one, the tightest just recently cut. He just cracked, maybe it was when you play. Yeah, I forget his last name. I know he's talking about that. Who's Wilson? I'm not mistaken. Maybe. I don't know. Well, yeah, we know who you talking about though. Yeah, once he got hurt, he moved big Cleveland around.  So, that's what I'm saying. He's six, six, and three, four. He can play right tackle, push, cut, and shove. Yeah, I was with Ben Cleveland. I was not with Ben Cleveland, but with Patrick McCarty playing right tackle. I was worried, man. I was shocked, because I ain't think, because the offense was long enough to get him. Yes, exactly. That's the exact same thing I was worried about. So, what it worked out for the best. So, but I think something that they could have in mind. But I think Ben, the way he was going to go back there, he'll probably play a little bit better than them. Yeah, I hope so. They coached Joe Diaz there. You know, he's been coaching for 34 years. So, he's probably letting them know we need to tighten up for us to test me and stuff like that. Oh, yeah. This Roddy asked to play last time. You know, it's just though, it's like that. So, you know, you don't think there's a chance, even if it's a slim chance, that when Ronnie does come back, that they might be like, Ronnie, you want to try it out at right tackle? I would say, I mean, it's obviously not going to be about money, because he's already getting paid left tackle money. So, the money's out the way. Do you think that it's, because especially with how well, and it's just been one game, so we can't like overthink about it, because it's just been one game, we had to see circumstances. That goes both ways. Like, see how Vela Webber played bad at right tackle for one game? Mm-hmm. Move both ways, because the Raiders' defense a lot, showed up still as Olaf. He's like, Yeah. The Raiders, that's not just us, the Raiders have a pretty good defensive, decent defensive knowledge yet, so. Mm-hmm. So, I think, like I said, it's probably, I don't give it like a five percent chat, because they might just be like, yeah, all the last four years, we're gonna be here by the left and by the right. So, he'll get more comfortable with the game, so. All right. All right. All right. All right. All right. All right. All right. All right. All right.


When it comes to climate change, the islands of the Caribbean are particularly under threat. Natural disasters, such as hurricanes and floods, have become a constant challenge. Representatives from 10 Caribbean countries are at the IAEA headquarters in Vienna to discuss the use of nuclear science and technology in dealing with this problem. One of the major issues in the Caribbean is adaptation. Climate change will bring along hotter temperatures and higher sea levels, both of which can impact the economies of the Caribbean region. Nuclear techniques help countries manage limited water resources and measure changes to ecosystems so that action can be taken to protect them. The purposes of this regional workshop on climate change are to raise awareness on the contribution of nuclear science and technologies to building climate resilience in the Caribbean region. During the meeting, the IAEA signed a cooperation agreement with the Caribbean Community Climate Change Center to work on effective solutions against the environmental impact of climate change in the region. From Vienna, Austria, this is Alejandra Silva reporting for the IAEA.


This gas is inabondant and so is clean energy that does not damage the zone layer and can be combined with solar not only to meet Nigeria's energy but the net zero-mission deadline of 2060. This was the position of experts during a discussion forum on Africa's energy transition, business regulation and dispute management held in Lagos. Discussions at the forum were focused on funding clean and renewable energy products financing clean and renewable energy opportunities in clean and renewable energy projects as well as climate change and energy transition. First of all, we need to see where are we coming from. For a million standard cubic feet of gas, about three point, if you take a look at the combined cycle gas turbine, that will give us close to four megawatts of electric city, about three point seven or there about if you do a combined cycle. If we lose that, we've lost it irretrievably lost. So we need to think of that in the first place. So how did Nigerian waste gas flare pollution regulation come into being? Intended shift from eventually from diesel powered buses to electric buses, which is far more environmentally friendly. Now, of course, the energy side, which is about powering the buses, providing energy to charge the batteries. And then of course, the capital outlay in terms of acquiring the hot stock, the stock themselves. When you're talking about green projects, climate friendly projects, they come with higher costs. That's why we're having the conversation. If Mr. Agpene was to approve a PPA for solar, you have to provide a feeding tariff. The feeding tariff is a much higher tariff than what you get from other projects. And it's similar to the BRC buses. If you are transitioning to a climate friendly transportation system, it comes with a high cost. But about today, Falbo Hulu, SCN, maintained that Nigeria has what it takes to overcome whatever challenges as a result of second solutions will climb the chain with regard to renewable energy. That's incentives alone will not do it. We need to provide an enabling environment. Regulation has to be predictable and stable. People want to, until recently, it was extremely difficult getting investors to invest in Nigeria because of all the issues with foreign exchange in Nigeria. People need stability in terms of regulation, economic policies to be able to make an investment. So it goes beyond tax incentives to help, but it goes well beyond that if we're serious about attracting investment in that sector. One of the key things that investors will look out for is the regulatory environment to be sure that we have proactive regulation that can support investments. Today in Nigeria, we have what we call regulatory somersaults. One minute the policy is put out there, the next minute is changed. So if you have an environment where investors are not sure of what regulations they will abide by, then that's a problem. It's fair of any investor. It's lack of stability. Whether it's lack of stability and lack of consistency, then again they'll be scared and they won't want to invest. So I think African countries need to, they need to create their enabling environment and a very important aspect of the enabling environment is the rule of law, policy consistency and the consistency in the way decision making is done. Hello, hope you enjoyed the news. Please do subscribe to our YouTube channel and don't forget to hit the notification button so you get notified about fresh news updates.


CTC is a very large program, but we have two simple aims. One is to provide superb education. So these are our didactic courses. And the second is to provide superb training. So our theory is that we have a whole bunch of courses. All kinds of trainees can take these courses and they can mix and match to fit their needs. But then we develop training programs focused on various levels because students are different from junior faculty. So we have level specific training including PUP, which is the Pre-Health Undergraduate Program, undergraduates mostly from Berkeley. We have PAKTOR, which is the Pathways to Careers in Clinical and Translational Research, which is all of our professional students, nursing, dentistry, pharmacy, and medicine, run by Joel Polewski. The Resident Research Program, across, again, all schools, run by Doug Bauer. The Fellows Program, run by Alka Kanea. And then our K program, which is led by Steve Holly with assistance from Kirsten Bibbins, Domingo, and Ralph Gonzalez. We also have a couple of programs that are specific to areas of focus. So the Graduate Education and Medical Sciences, run by Lou Reichert, is focused on graduate students and postdocs. And the Masters in Translational Medicine, which is really a bioengineering translational medicine program run by Tejal Desai and Terry Johnson from Berkeley. And our didactic program is run by Jeff Martin, who I think just came in. By the way, the other leaders of the CTST are by sort of a bad confluence of planning are at their all-day retreat today. So I think Jeff is the only one of these leaders of the programs who's here. And the reason that I'm doing this presentation. So as I said, our goal is to spread over the entire gamut of necessary training at UCSF. We have our PhD programs, BMS, PIBs, and others, the PhD in Biomedical Engineering. And then we have our T1 programs here, GEMS, MTM, our Ticker, which spans all the way from T1. We have courses on drug development, device development, all the way to health policy, and a new PhD in epidemiology. So I wanna focus on some numbers. This is our past five years of success. These are really numbers in terms of courses. So what you can kinda see here is we started out in 2006 with about 26 courses and have grown to about 33 now by adding courses specific to some of these areas of focus and plan to grow just a little bit more there. The clinical research workshop, which is our summer workshop, had started out with about 90 people in 2006 and CTSI began, has now expanded about 120. But in terms of the people taking our main flagship course, Designing Clinical Research, we've added a specific course for students and residents and fit that into a month because otherwise it doesn't fit their schedule very well. That has gone from zero to 120 students this year and probably will expand quite a bit more over the next few years. Our one year certificate program started out with 22 people now around 30 and our master started out with about 34 now around 40. I would point out that these are large training programs, large didactic programs and we're probably not gonna grow a whole lot more because we think we've probably reached sort of a steady state in these. But there are new offerings in the training program, in the educational program. One is the Implementation and Dissemination Sciences run by Ralph Gonzalez. They've added an overview in five courses and also a training program called the Program in Implementation and Dissemination Sciences and this also includes training in health policy. We're trying to develop a similar focus on early translational sciences with a program called the Master's or PhD plus two to four more additional courses taken from Ticker. So most of these folks get another graduate degree in addition to taking clinical research courses and the training programs that go along with that I've already described are the MTM and Graduate Education and Medical Sciences. So this is the growth in the training programs. Again, success in numbers. PUP is the program that we, in which we train biology scholars from Berkeley, mostly minority students went from zero. We now have about 15 a year. They're paired with our PAKTOR professional students to develop a protocol over the summer. PAKTOR, our professional students has grown to about 30 per year. Our resident research program, and again, I think this is pretty unique across the country, started out with no residence and now has around about 60 residents per year in this growing probably up to about 80. Our fellows course, again, we had no, all of our courses are taken by fellows. Most of the people in our Ticker courses are clinical fellows, but we didn't have a specific program for them. We started that this year, there were eight of them in it this year and we think that's probably gonna be one of the programs that'll grow fairly dramatically over the next five years. Our K program, again, we started out with 20 K programs when CTSI, 20 K scholars when CTSI began. We still only fund about 22, but by including individual K scholars, we've grown to 63 this year and probably will grow just a bit more. The Masters in Translational Medicine now has 16 folks in it. They plan to grow probably to around 25 per year. GEMS has 10 or 12 folks in it now. Again, will probably grow a bit and the program in implementation and dissemination sciences. So again, these are large numbers. Some of these programs are fairly mature and won't grow much and others of them will probably grow a bit. I think it's more likely that we will add focused programs rather than growing these programs a whole lot. Now, oh, Clay, could you give me the papers at my... So I have now slides and as Bernie said, I'm not gonna talk to these slides. You're gonna have to come and talk to me or talk to the leader of the program subsequently. But what I wanna do is I just go through these slides fairly quickly is to give you a few stories. So the first one of our training programs is PUP and I just wanna tell you about one of the PUPs whose name was Ryan Chen. He was a PUP last year. He worked with one of our PAKTR scholars, Vishnath Arasu, and his Vishnu's mentors here at UCSF to publish a manuscript called Can Signal Enhancement Ratio Reduce the Number of Recommended Biopsies Without Affecting Cancer Yield in a Colt MRI Detected Breastalations, published in Academic Radiology and Ryan was just accepted to medical school this spring. We also have PAKTR, which is our professional student training program. I want to just tell you about a couple of PAKTR, former PAKTR students. One is Adithya Katamanchi, who is now assistant professor in the Pulmonary Division at San Francisco General. And in 2010, last year, he himself was a mentor for other PAKTR fellows. He actually published three papers just in his one year as a PAKTR fellow, including being a co-author on a manuscript that was published in the Lancet. There's another PAKTR scholar, Allison Weibel, who was a TL1 scholar in 2007 from the School of Nursing, who published two papers with Bill Holtzmer during this time, and is now a KL2 scholar. So the other thing we're very happy to see is that these folks are going through the different levels of training and staying in our programs. The Residency Research Program, I want to tell you about Human Kamal. He took DCR for residence as a third year neuro resident. His project was to collect halter monitor data among stroke patients to detect occult atrial fibrillation, received a small grant from the Residency Research Program to collect data and use the CTCI Consultation Service, went on to publish a paper called Detection of Atrial Fibrillation After Stroke and the Risk of a Current Stroke, and is now an assistant professor of neurology in New York. The fellows program, I'm not gonna tell you about any individual. She's gonna do it, all right. I'm not gonna tell you about any individual, but they were of the eight fellows this year, five submitted career development, K awards, three were funded and two of them scored well and will probably be funded. The K program, go. One example is Brad Orizoat, another school of medicine, a faculty person. Nursing, right? I'm sorry, school of nursing, yes. So Brad was one of the early CTCI K scholars. He subsequently received two R01s. Two R01s and an R01 equivalent, and we'll stop there. So thank you, Deborah, that was great. David. Well, I think you partially answered the question that was in my mind, which is, how many pups grow up to be dogs? There have been, there are, well, the POP program just started two years ago. So those are undergraduates. And that is one of our problems in terms of developing metrics that it takes a long time for pups to become even professional students and then junior faculty and publish and have impact. But we are working on, what I showed you today are metrics related to numbers and stories and process. We delivered these courses, we put on these training programs. We're really working hard to come up with better metrics, that is metrics in terms of impact. How many papers have our trainees published in the PubMed core journals, in high impact journals with impact factors over 10? How many guidelines have they developed and so on and so forth? But it takes a long time. Great, Talmich, so I had two questions. The first is the POP program, I mean, it was really exciting. What I want is the in vitro program. And particularly as it relates to, you know, as it relates to underrepresented minorities, it seems like there's a real opportunity to do in vitro fertilization that ends up with people way downstream. And we have to start somewhere, so is there a possibility of expanding? The POP program was really developed with the dual purpose of training younger folks and enticing them into clinical and translational research, but our real focus is to have that program be mainly filled with underrepresented minority undergraduates and that is a clear focus of our selection process. In terms of going to younger folks, we would also like to do that. There's actually several good programs that Renee Navarro's been involved with and that we've supported for high school students as well. We, it's, I think POP has worked well because we're able to pair them with our professional students and our professional students have some research questions, they have some ideas and they can work together with the POPs to produce real protocols that then often go on over the course of the following year to be actual projects. And so expanding that capacity to pair the young folks with people is one of our challenges. But we are focused on recruitment both to bring people to clinical and translational research but also to try to recruit underrepresented minorities and we like to use these programs for both of those purposes. Yeah, because I know we do a number of programs of faculty involved in the community with high school teachers and things like that and maybe there's a way we can tie them together as well. No, that's a great suggestion. And we've just found this out since we started this program and working with Renee that there are, I would say there's four or five programs for high school folks that are run by various UCSF faculty. They all, for example, need some training. So we are now producing, designing clinical research will be tested online starting in August and that would be a great training approach for high school students as well as our POPs and others. My final question relates to basic science so one of our problems is that the position scientists are, bench scientists are actually one of our more difficult areas to recruit and retain. And I wonder, are there specific programs looking at that subgroup? Because I think you've done a great job with the clinical and translational but I'm worried that is there something we need to do with that group as well to encourage them to stay in it? I guess I would have to, I think there's not. I mean, GEMs is focused on graduate students and postdocs but graduate students who have an interest in human disease and has a robust program for trying to get them more interested and keep them interested but it's not necessarily focused on MD basic science researchers and so we haven't really focused on that group and be interested in anybody's thoughts on activities that might be useful in that area. Yeah, can't be as hard as fetal surgery. Good Sam. Just, you definitely get the an acronym prize for your POPs program but we pride ourselves on having four fantastic professional schools and we have a fantastic graduate program but it's always been a bit of a disappointment to me that they run on parallel paths for the most part and we've not been very successful in getting them to intersect in a meaningful way. I know the masters in translational research and the GEMs programs are partially designed to do that but they still seem to be fairly segregated in our educational goals and programs and I just wanted to have any thoughts about whether we can, or even is it a goal? By that you mean sort of a segregation of our graduates. They don't have much to do with each other. With the BMS PIBs and the, yes. And the professional students, yeah. And I, you know, that's true and I have to say that I've spent lots and lots of hours trying to improve that situation and it's hard to put your finger on what the issues are. I think there are some lack of incentives. You know, the whole graduate PhD sort of programs have very reasonably rigid benchmarks and capstones and so forth that seem to sort of preclude a lot of flexibility in their training and we have the same problem I think from the other side. The clinician researchers find it somewhat difficult to work with people who don't understand their acronyms and their shorthand for disease related issues. So bringing those two groups together is really challenging. I mean, I personally would like to see this happen a whole lot more. We tried, we for example have tried to get the graduate division to use one course for ethics. We thought if we can just bring them together on a couple of courses that everybody has to have that might be helpful and have not been very successful in getting that approved. But it's a major challenge. Yeah, we certainly believe that that should produce new ideas, greater creativity, open up new doors. If we focused on it more at the funding end, thinking about how do we bring together these multidisciplinary teams? And then you're right, the Master Translational Medicine Program is really meant to span disciplines, but we haven't taken advantage of the existing programs nearly as much as we could. We've really been creating those other programs as standalone programs that just happen to involve people trained in various other pathways. A great point.


Okay. Yeah, thanks everyone for coming. My name is Grisha Kruglov. I work for Mozilla as an engineer and I'm here as a poor conduit for Emily's slides. She could make it at the last moment. So I'm here to talk about Project Mentat, which is an embedded Rust store that we're using at Mozilla to solve some of our problems. And I'll talk about what those problems are, how we're trying to solve them, and a bit about the team that's working on that topic. So we're part of the browser architecture user data team and that's Emily Tupnik Alexander myself and in the past Richard Newman, who's with us in spirit and in the front row. And yeah, and so the team's goals are to kind of figure out what changes we need to make now to solve our three to five year goals. And for Mozilla and for Firefox, those are expanding Firefox and so like making the Firefox better, creating user experiences and also going beyond Firefox, building new applications to solve particular user needs. And a lot of the stuff, like there's a lot of hurdles involved, but one of the big things is user data. That's our big mode essentially, is we have a lot of valuable data and people would like to access it in different types of applications and our apps would like to use them. And currently that's problematic. We have, for a variety of reasons that I'll kind of go through. So one of the problems is storing the data. So we're storing, like something like a browser stores a lot of, you'll be surprised how many different things it stores. Some of it is about user behavior, some of it is about just like internals of the browser and a lot of it. And so there are a lot of different teams involved in storing this stuff. And the teams make their own decisions about data storage layers. And oftentimes, those decisions are driven more by immediate needs. Like how do we make this thing work for this UI? How do we make it? How do we query it quickly? How do we ship it tomorrow? Et cetera, et cetera. And then since a lot of different teams are making the decisions, they're not necessarily, well, so they're making the decisions and the outcomes vary since you just have a lot of people and not everyone talks to each other. And like there's some of it is shared expertise and some of it is sort of like folk knowledge. And teams might not be thinking about needs beyond their immediate needs. So like if today and like in a month you don't need to share some data in between different clients, you might not like bake that into your initial data schema. And then you'll realize that when you will need that eventually it's going to be problematic to evolve. Right. And so the decisions that people end up making around data storage needs, well, often they start off as like, well, let's just use something simple, maybe like a JSON store or something. And that doesn't tend to scale all that well. It might solve your really immediate needs, but it doesn't necessarily solve future needs. And building fast, concurrent, safe access to a JSON store that will happen across many different components is going to be troublesome. And you're going to end up essentially solving a lot of hard problems many, many times because you have many different data stores. And then if you do pick like a more comprehensive solution to begin with, you'll, well, you will, sorry, I don't know my slides here, but you'll end up with a lot of, with a host of other problems. So like if you, so for example, like if you picked a SQLite store as your storage model, you'll still need to handle a lot of migrations. And as your project evolves, as your data needs evolve, that tends to become quite problematic as well. And people don't necessarily think about, think in the correct ways about those problems because it's a fairly specialized skill doing this stuff, like building data stores that will sync and it will wolf well over time. And another, so that kind of ties into the second point is sharing good data. And by sharing, we mean sharing amongst, well, like in Firefox, we mean specifically sharing across different instances of Firefox or in the future between different products that use Firefox data. So we have strong privacy and that's part of, like a big part of that is end to end encryption, which means that clients have to do all of the conflict resolution work. Server cannot be there to, like server is just a dump, a blob store, more or less. And we have multiple clients and the set of clients is growing and would like it to grow, right? That's part of our three to five year goals is that building more products that use this data. And then each client is, well, they have their own data storage implementations are written in different languages, we have JavaScript, Java, Swift, et cetera, implementations. And the clients tend to build data, like the teams that are building this stuff, they tend to build data that's oriented around their immediate needs, so like querying the stuff, which isn't, the schemas you'll pick for that are not necessarily the schemas you'll take if you want to optimize for syncing. And so you run into problems like you can't do three way mergers of data because you don't have historical view into how some tables changed. And yeah, so, well, here, so let's, let's, I guess, let's try to look at a concrete example of what that actually looks like in practice. Like here's a simple, like a really simplistic way to model a password storage layer. So like you have two clients, we have a server in the middle, which it just acts as a dump blob. And the schema is very basic. There's a URL for that URL. We have username and password and there's a timestamp. So there's some immediate problems as you start making changes here. So say imagine client one makes a change to a URL. Maybe they've observed now that, oh, I think there's a change. So they've observed that the URL changed and they record one that the change happened. And client two makes a change to the password. So you'll see the password is now different. And there's an animation. There you go. Yeah. So like client one sinks, the data is now on the server. And client two will sink eventually. And the data will now slowly, yeah, you'll notice that like we essentially get a blob, JSON blob back, right? And now at this point, we have to make a decision. Like we have two JSON blobs and we have to somehow smoosh them together, right? We see that the URL changed, the password changed, and this information is on the server already. So other clients might have seen it. So we don't have a ton of choice here. We have to take what we see, which is usually what happens in like simplistic kind of sinking scheme flows like this, right? And so we end up on the client two, we've just lost the password. So like this is a lossy process. We lost the password changed. And we end up like with a state that we've never really observed. And client two has really no way to recover from this. And so their ways to kind of fix that problem in an existing world, but they tend to involve a lot of work essentially, right? Like because we could track more states on each client. But as I mentioned, we have many clients and they all have different implementations of stores. And it involves writing a lot of complicated code many times in different languages and trying to coordinate across teams to do that.  And that's, there's this idea of CQRS that you essentially segregate, separate query from command, right?  And that lets you address individual like needs specific to each side of that equation in a more coherent way. And be very explicit about that separation. So for example, we'd like fast querying, but we'll also like data that is syncable. And those two are kind of at odds with each other. And this kind of approach making this explicit lets us actually address, like make some progress with the problem. And so, yeah, so we get to trying to, and so we get to trying to build Mentat and fix those problems that we've observed. And we, the teams made, they went through kind of this regular buyer build decision. Like we're like, we're looking for something that solves the problems. Like maybe has a, maybe is shaped in the CQRS style, maybe is event or like log shaped has allows us to define strong schemas explicitly, because we that really helps with syncing data. And there's always a scheme in your data, even if it's implicit, except you're just gonna like it's just a full gun waiting to fire if it's not explicit. And yeah, and then so we went through like this, you know, kind of a set of regular suspects. And like the point is that something like we always have run into missing features, right? Like it's not embeddable, or there's not full text indexing, or we can't you know, use it in many different platforms with a single implementation. And so ideologically in a, we've kind of came across the atomic, which is a database that exists in the closure world. And it's transactional. It has few main data models in the sense that they're like, they're we have a strongly typed schema with us and we can mutate it for time easily. We have transaction, we have a log of everything that happens. We have reach querying via the data log, which is their querying language. But yeah, it's only but only in a spirit is it like a good good fit visits. Well, it's actually is a server side kind of a system. It's not open source. And yeah, then we get to data script, which exists in the same similar mind share. It's a closure script implementation of those ideas, of the atomic ideas. But again, it requires a JavaScript runtime. So not really something we can necessarily deploy for real in the environments we care about. And it exists in memory only and we really care about persistence of data. And so we get to build your own. And so like the, which is what the rest of this kind of talk covers. And the basic concept is for now anyway, is to use something like SQLite or specifically SQLite underneath to store the data. You get everything from SQLite. It's a solid project. It's a reliable relational store with FTS capable small memory footprint, et cetera, et cetera, as long history behind it. And then we'll start layering kind of the ideas we care about on top of SQLite. So we'll layer transaction log on top. We'll have a meetable strongly type schema and we have querying it. And that implies that we'll need to kind of compile our query language or like data log in this case into SQL in the end. And so one of the first kind of prototypes and stops at this is was written in closure script. Because at the time we're prototyping a browser written in JavaScript and this, like this was a good prototyping decision. We ran into a bunch of problems, buggy async channels, et cetera. Like the transpiling process was slow and buggy. And it's just, and again, like this required a JavaScript runtime, which like is a hard requirement if you're trying to embed this across and use this across like, oh yes, Android applications and also in desktop, et cetera. And so we, yeah, so like Rust is a natural next kind of a choice. Like the only real alternative to this is C++. But like we get a lot of benefits from Rust, right? Like it's a modern expressive language with really nice algebraic data types that really kind of help manage complexity or something like this. And we get predictable, correct results once we sort of work through all of the problems, right? And we, it's performant, right? So like it's not all kind of roses. It's the implementation took much longer to write than something done, the initial prototyping closure script. And it's still kind of an ongoing thing. But we, like we get a lot of things out of it, right? In the trifecta that Mentat cares, the Rust trifecta Mentat cares about this kind of correctness combined with portability, so cross-platform combined with performance. So those sort of things that really make a difference here. So and if we kind of peek under the hood of Mentat, it's essentially, so like the core is the transaction log. And this isn't quite what, like if you were to open up a Mentat SQLI database, this isn't, this isn't an exact representation, but it's close enough. It's a quad, well, it's a topple store. We have, everything is an entity in the system, including your schema definitions. And entities are described by attributes, which, and then like the two have a value, right?  And those, everything is grouped by transactions because we want atomic applications of data. We kind of want to track when things happen and how. And since it's a log, and it's an append-only kind of a log, we need to know if we're adding or retracting a piece of data. So changing a URL will actually involve retracting the existing URL and then appending a new one. And so that's what this looks like under the hood. And so the thing that's missing here is that, you know, the values can be typed. And we have a bunch of different types we support and, you know, we can enforce that at schema level. And then Mentat will complain if you're trying to write wrong types into data. Yeah. And so, and let's try to, and like this is an example of what's the transaction table, how data flows around, right? What it actually looks like for real. So for example, like it's also simplistic, but it's, I think it illustrates the problem well enough. So we have the same citations before. We have client one, two, a blob. The server is still like a DOM server blob. Everything is still unto an encrypted. And except now we have those transaction logs. And so let's try to start making changes, right? So like changing a password in client two, we're missing some records, but this is good enough, is essentially evolves appending a new password to the log. And you'll notice that it's, now it's in a different transaction. And let's make a similar change in client one, we'll append a new URL. And there you go. Now we're syncing stuff. We append like a server essentially has like an encrypted log, which two into which we appended new records. And let's, when we sync those records back, we now have like, you'll notice that we have conflicting IDs. So well, it's almost an implementational detail since we chose integer, you know, like transactions are represented as an integer. But like we performed something akin to a git rebase, where you play back, well, you rewind your current state back to a shared parent, you play in remote changes. And then you play your local changes on top. And like that's one way to do this. You could also represent this as a merge or depending on your needs or like the schema might different things might make sense. But like if you were just to do a simple rebase, well, you end up with this nice linear log where you have like an exact record of everything that happened in the system. You have the old password, the new passwords, the URLs, everything. And then we sync back the log back to the first client. There you go. And so now both clients, they agree on the log. They have a coherent view into the system. And they have a nicely, like they have a nice historic view of everything that happened. And so like your conflict resolution algorithms, like specific to the domain, so the data models can make the right decisions, which is nice. So that's kind of the flow. And then we get back to kind of querying this data. So like we talked about CQRS and how it's important to kind of think about that separation of how you restore data and how you modify the data and then how you read it back. And then the server are quite different. Like if you were to read the transaction log all the way from the beginning, it will be a terrible experience performance-wise since you have to actually... So we do that for you. We call that the datum stable. And it's essentially a materialized view into the transaction log. It's a snapshot of the transaction log as it is, as of the last transaction. And so you notice it's missing the added field. Well, it's not. It's just a snapshot. This is what it is now. So it's... And Mentat internally keeps modifying this materialization as the data changes. And yeah. And then so you'll notice that... So this is what the datum table will look like. And you'll notice that the attribute is now expanded. Like it's actually... Attributes are also part of the schema. And they're just another entity in the system. You have entities, discovering entities. It's kind of like an RDF approach. And yeah. And then when we're querying this stuff, we expand out from the keywords like login URL into an actual entity. And the datum stable will contain that. But when you're querying this data, you don't have to worry about stuff like this. You describe the attributes you'd like. And this is a simple example of a Datalog query that you would use to query this stuff. You describe what you would like and you define your bindings. Like URL, username, password will be bound to login slash URL, et cetera. And you get back.  And you'll notice it's self-joins on a datum stable. So we're not querying the transaction log. We're querying this internal materialized view of it. It's a bit quicker. It's not... Like it's still pretty slow or slow enough. But it's... Yeah. But that's how it would sort of look like internally. So you go from this into this. And you'll notice that we're not doing anything really tricky here. Like we've resolved the attributes into their entities and we're joining on NTID. So to ensure we get the correct view of the data for each entity. Yeah.  And this is missing the NTID column. But you get back data from the system. And then you do this at infinite. The Datum Stable is just as simple. It's an internal materialized view. It's one materialized view in the system. But the CQRS lesson is that applications are usually well served by many, many different views that define... That represent the data that the UIs or whatever else would like to query in your data stores. You have a really normalized data store. And you have denormalized views into that data store. And so we have... Or we will have, anyway, is a user-defined materialized views. Where you define... Say you might... If you're in a browsing situation, you might only care about the top 10 visited websites. And your history might have tens of thousands of records. But you only care about the 10 of them. And you only want your view. And when you're querying your view, it will be really quick. It will just have 10 records. It may be like 5, 10 columns or something. So the querying will be really quick. And internally, Mentat will use transaction listeners to monitor changes to its log and update the views you've defined, which is nice. And it's the same mechanism that it uses internally for its datums table, for its datums view. And then you can define as many of those views as you'd like, as your application requires. And there will be very domain-specific for you. And that's your way to query data. But when you're writing data, you're not touching your views, obviously. You're still writing into the transaction log. So that's sort of like a peek into Mentat's internals. And it was really important that whatever we build will work in every environment we need. And those environments involve many different mobile platforms, well, two mobile platforms. That's one too many. And as well as Firefox desktop itself and maybe other consumers in the future. And so we have a public API which is abrupt in an FFI layer, which lets you access it from, well, from non-rust code. And we build an IS SDK in Swift and an Android SDK in Java. They're shallow SDKs. They map pretty well to Mentat's internals. And they'll essentially let you use this stuff without having to worry about FFI and any of this stuff. Just as if you're writing like a nice native Java application, you can query and write data and you can define materialized use and things. And you can, you know, invoke syncing and integrate with whatever is appropriate to your environment for scheduling stuff like this. And soon we'll have SDKs in Kotlin because that's like the hot new thing, apparently. And XP-COM stuff for well integration into Firefox proper. Because the plan is to, well, so right now we're still solving some of the hard problems. So syncing is work in progress. We're still working on the various merging algorithms. We're working on forgetting data, which is important from both privacy concerns, like the right to forget and just the ability for people to erase history from their log that they don't like, as well as just from engineering perspective. You have an infinite log and I really find that universe and it's just not going to work forever. And yeah, we're still evolving our API a little bit as we're building our internal consumers that's shaping the API and writing the commutation.  And so it will be backed by Mentat and eventually syncing via Mentat as well. And in the future, we'll have this internally process of building Android components that help us build browsers better and will be wrapping Mentat into an Android component. So like it's more easily accessible for our internal teams and for anyone who's well, building something that looks like a browser. We'll be using it in new products that Mozilla is building to explore storing new data and interacting with the existing sync ecosystem. We'll be building new features inside the existing products, which was historically quite difficult because evolving data is really difficult in the existing system. It will be much simpler in this new world. And eventually we'll start evolving the existing Firefox stores and building, we have a vague transition plan, and it's sort of coming to fruition with some of the efforts internally. And the next is, well, I guess you guys, like perhaps other people have Mentat-shaped problems, then we'd love to help you address them and get you involved in the development of this stuff. So the links are, everything is in standard places, although the development happens at GitHub. The commutation is there. There's a wiki page, has a bunch of model link examples, and a lot of kind of theory on syncing and data stores written down. So please peruse that and yeah, and then find myself or other people from the teams to ask additional questions. Thanks a lot.


Badger, man. I wish to go back to my younger days. Do you? I don't. I would never go back if given the opportunity I wouldn't go back there. That's nuts Man what I know now If I could keep what I know now and go back.   Oh Stop that Don't do that.  Right, so To go back to younger days some people say, oh if I could keep what I know now I go back to my younger days No, you wouldn't man. Most of the people you look at you go Dumbasses, right?  Hell no. No, no, no, no, no. No salutations for wanting to stay where you are Salute


Oh my god they sent me so much stuff! I feel like I want to share the tear. Welcome back to my channel, it's Justineen. Thank you so much for tuning in for another video. If you are new, welcome and do not forget to subscribe and hit that notification bell. If you're already subscribed, welcome back. So today guys, I am going to be giving you a natural hair update. This video is going to be packed with a lot of goodies. I'm going to talk about my favorite products, staple products that I have. I'm also going to be introducing new products to you guys. Products that I have not even seen yet that I just got today. So I'll be doing some product reveals. So there's a lot of stuff going on in this video. So we're just going to go ahead and jump right into it. So first things first. I'm going to start by talking about my favorite hair products. So we're going to break this down into shampoos, conditioners, deep conditioners, deep ends, and then my styling products and oils. So we're going to start with my shampoos first. Now to be perfectly honest with you, I don't have a lot of shampoos, believe it or not. As far as ones that I can say is like a real staple, but I do have a few shampoos here and there. So I have Carol's daughter, the almond milk sulfate free shampoo. This is a very nourishing and conditioning shampoo. So I am just about finished with this bottle. But again, this is one of my favorite shampoos from Carol's daughter. The almond milk collection. And I will say the shampoo is very hydrating. It's definitely very conditioning and it softens my hair. Now initially when I first tried this product, I didn't too much care for it. But over time my hair got, I guess, used to it and so I really like this product. The next shampoo that I love is from In Body Works. This is the Peppermint Tea Tree. I think I've shown this in a video before, I'm not sure. This is a real good cleanse and clarify shampoo. And what I like about it is it does have that tingling sensation on my scalp, which I really love with tea tree products. So again, that is from In Body Works. This shampoo is very gentle on your hair. It's not stripping at all. It definitely just makes your scalp feel really fresh and really renewed. And so it's just a really great shampoo. And it definitely helps to increase the circulation of your scalp. So anything with tea tree or some type of a menthol type feel on my scalp is really great. So definitely highly recommend the Peppermint Tea Tree if you want a good clarifying shampoo. Then I have my Detox Shampoo, which is from Natural Sisters. This is the Activated Charcoal Detox Shampoo. So when I need that good detox and I need to get the impurities and all the stuff and gunk off of my scalp and product residue and all those things, this is a really great shampoo. Yeah, so when I feel I need to just start my hair at a clean slate, this is really great. The Detox Shampoo from Natural Sisters. So the next product I got from Giovanni, the Tea Tree Triple Threat Invigorating Shampoo. This is actually a clarifying shampoo as well. It is a little moisturizing, I must say, and it does contain the botanical oils, a cooling peppermint, conditioning, rosemary and clarifying elliptus. So this product, it helps increase scalp circulation for a refreshed, renewal feel. It also helps to strengthen the hair with a three organic oil blend to stimulate the condition and clarify. And it also helps to alleviate dry flaking scalp with organic tea tree botanicals. Alright, so on to the conditioners. Now I have a lot of conditioners. Conditioners are my best friends, so I've got a lot going on here. So we're going to start with my top favorite so far, which is from the TGIN Honey Miracle Mask. I've shown this product before, I even did a product review on it. This is definitely an intense, deep conditioner. It is very penetrating and nourishing to extremely dry hair. Mine is extremely dry. And as you can see, I'm just about out. Now from Giovanni, I also did get the Triple Treat, the Tea Tree Triple Threat Invigorating Conditioner as well. And this is a very light conditioner. This is not a deep conditioner, it's very light. And it also helps to increase scalp circulation as well. This is a very penetrating conditioner as well. So there are some conditioners that I just sit on my hair, but this one actually penetrates my hair strand, so I really like this conditioner. Now another great conditioner that I love, that is really great on my scalp, that I've just about gone through, is... Oh, it's almost like a mentha.  It just takes the top off. But this is the Tea Tree and Rosemary from Natural Sisters. I've shown this product before. It has a great tingling sensation on the scalp as well. This is a deep conditioner. It definitely stimulates hair growth and it's just packed with a lot of great natural ingredients in here. Definitely gentle enough for all hair types. And of course, my all-time favorite oil from Natural Sisters. Mega Growth Elixir. This is the most amazing oil that I could ever get my hands on because it has just about every oil and herb possible that is made for hair growth and hair nourishment in this bottle. It is packed with everything that I need. So this is definitely going to be a staple. I don't need any other oil. Another favorite deep conditioner and brand of mine is from My Yellow Organics. This is the Babasu and Mint Deep Conditioner. This is a protein deep conditioner. So when I need to boost the protein, this is definitely a go-to. And it's also very minty and very invigorating on the scalp and tingling on the scalp. So it feels very refreshing when you're doing a deep condition. If you feel your hair is lacking in the protein area and you definitely need that boost and that moisture back in your hair, I would highly recommend the My Yellow Organics Babasu Deep Conditioner to get those things back into your hair. Okay, for my leave-ins. And I don't have a lot of leave-in conditioners. As far as leave-in conditioners, I do have the TGIN Green Tea Super Moist leave-in conditioner. This is a bomb leave-in conditioner. I would highly recommend this on your hair. It's very penetrating. If your hair is extremely dry, it is really, really great. What I like about it is that it's lightweight. It is very moisturizing on my hair. So especially if I'm doing a lock method, I normally tend to grab this product. But it's very conditioning, so good for all hair types as well. One of my staple leave-in spray conditioners is from the Jane Carter Solution Revitalizing Leave-In Conditioner, which is a great detangler and heat protectant.  The one thing about this product, it does not disturb your curls.  So it does not disturb your curl pattern. It does not mess up your styles. And it just keeps your hair nice and moisturized. And it smells like flowers. It smells like a bouquet of flowers or roses. It smells so good. I don't know what kind of flower it smells like. But it smells like a big bouquet of flowers. Or maybe sunflowers. There's a big old sunflower right here. I don't know. This is definitely a staple. It will always be a staple in my house. This is a really great stuff. So Jane Carter Solution, the Revitalizing Leave-In Conditioner, check it out. Now from As I Am, I also fell in love with their Coconut Co-Wash. I've shown this product quite a bit before. This is really good. If you want to do a really great co-wash. And I've also heard that this product does help to grow your hair as well. And it smells really good. But I love, love, love this product. It's also very hydrating as well. Very cleansing. If you don't have a lot of product built up in your hair, I would say definitely use this Coconut Co-Wash. It's just very nourishing on the scalp and on your hair. And it's just packed with so many really great ingredients. From castor oil to coconut oil, tangerine, salt, pimento. It's just, it's got a lot of great stuff in here. So my other styles include Eco Styler Gel, which is always going to be a staple. But only this product, only this brand, which is the, what is this? This is the, oh, Olive Wool. So the Olive Wool Eco Styler Gel is the only one that I'll purchase. I don't include with the other Eco Styler Gels because they just do them the most. But this is the only one that I'll use. Also, TGIN, they're a curl balm. This is really great for extreme definition, curl definition. Very moisturizing as well. It has nettle leaf, olive oil in it. It does have a soft whole to it. Definitely enjoy this curl balm gel. TGIN. Also from Jane Carter Solution, I got the Curls To Go. I got the Curls To Go Pulling All Curls, elongating gel. This elongates curls, controls frizz, and reduces shrinkage. I don't know about the shrinkage because I don't, I haven't found anything that can help with the shrinkage in my hair. But it has a nettle, aloe vera, and coconut oil in it. This is also good for a washing go as well. So if you want a good washing go, I would definitely recommend this as well as the TGIN Curl Balm. They definitely make for good washing goes. Now, for my favorite, favorite twisting butter, because I don't, I only had one twisting butter, and that was from Carol's Daughter, which was the Prakashie. And I thought that was a good product, and it is a good product. But I just found the greatest of all time. This is like the goat. I found the goat. I found the goat of a good twist out. And that's this Camille Rolls Almond Gye Twisting Butter, Sweet Almond Milk and Honey. And when I tell you this is the most penetrating of butter on my hair, I did not expect to get the results that I did.  But I tried it again, just to try to test it out.  So it smells like cake batter. Looks like cake batter, but it smells like cake batter. And what I like about this product is I know it's going to last me a long time because it does not take a lot of this product. A little does go a very, very long way. So this is going to last me a minute. The only thing about Camille Worlds is their prices are just, their products are very, very expensive. But this is going to last me a minute so I feel like I'm going to get my money's worth on this product. But yeah, this, and it's definitely elongating as well because it does say that it adds course moisture and elongation and it does. When I twisted my hair out with this product, my hair was still elongated. So I was really impressed by that because I have not come across a product that kept my hair elongated. But it's really good for a wash and go. So once again, so once again that is Camille Rose Almond Gye Twisting Butter. And this product is also very penetrating on my hair as well. So it absorbs very quickly into my hair as I was applying it. And it's not greasy or anything. It's just like, just absorb right into my hair, moisturize my hair, twist it all the way down to the ends. My hair was cool. So this is some amazing stuff. So I can see why people talk about it the way they do. Highly recommend this Camille Rose. I will be trying some other products. This is actually my first product in purchase of Camille Rose. But I will be trying some other products soon. So hopefully I'll be bringing that your way. So I want to share with you guys some new products that I've gotten, that I purchased and some new products that were actually sent to me. Complimentary. So let's go ahead and get into that. So the first product I want to show to you guys is from a company called MyLovelyFro. You can also visit the website MyLovelyFro.com. The owner reached out to me and she sent me some hair balm. This is a nourished plus heel hair and scalp fertilizing balm. She sent me one, which I did put on Instagram. This one, and I just dug all in it. It may be kind of hard to see, but it's kind of like a tin can. And that's what the inside looks like. Smells really good. So this product contains Shea Butter, Mango, Butter, Lanolin, Argan Nut Oil, Vitamin E, Aloe Vera Oil, Olive Oil, Jasmine Extract, Jamaican Black Castor Oil, Rosemary Oil, Avocado Oil, and Bees Wax. So for this product, for me, I use it when I do a lock method. So when I have freshly washed my hair and it's damp, I get some of this and put it in my hand and just massage it into my hair. And it definitely softens my hair immediately. It locks in that moisture immediately. And this is some good stuff. Okay, I got more products. So some other new products that I picked up. I got this actually from Kroger's. But Herbal Essence has some products. And I guess they've been out for a minute, but I don't know why I'm just seeing them. I got the Black Detox Charcoal Shampoo and I got the Replenish White Charcoal Conditioner. I never heard of white charcoal. Y'all always hear about black charcoal, but you don't hear about white charcoal. But I guess that's the such thing. So both of these products are crafted with Biorenew, which is Antioxidants, Aloe, and C-Cip. And they're both paraben-free, gluten-free, silicone-free. So I did have the opportunity to try these two products, the shampoo. It was a little dry into my hair. It was a little stripping to my hair. So I definitely had to follow it up with the conditioner. And then I turned around and did a deep conditioner because the conditioner was good. But I just feel like it just really didn't penetrate my hair as well as I would have liked for it to. But they're still good products. They do have several collections, different collections in this Biorenew line. It smells like a really nice men's cologne. Both of them smell the exact same. But it smells like a really nice men's cologne. It smells like really, really good. But it is Kylie Fragrance. So I don't know if that's a good thing, but they're both Kylie Fragrance, but they also have ones. I didn't know that. But they even got little bitty ones here. This is the Argonne Oil and Morocco conditioner and the Argonne Oil Morocco shampoo. So yeah, if you just want to test them out without buying the full bottles, you have that option. So yeah, some good stuff. For the grand finale of the product, this box is so heavy y'all. So I'm excited to see what is in this box. Let's find my scissors. Where are my scissors? What did you do with my scissors? Okay, so made beautiful. Let's see what is in the box. Actually, when they free, what is in here? Paper? Okay, never had none new before. This is the Inspire Manageability Milk Styling Lotion. I'm gonna have shea butter, coconut oil, chamomile and sage. Let's move on to the next one. Okay, put it back in the bag. And then they sent me the Hydrating Jelly. This is also from the Inspire Lawn. This is the Hydrating Jelly. Okay. So now this is from the True. This is from the True Lawn Collection. This is the Hydrate and Elongate. This is the Curl Defining Jelly. Okay, this is the Morch... This is also from the True Lawn. This is the Fine and Style Moisturizing Styling Foam. What is she out of here? Let's see what else I got. Oh, I got Morse... Y'all, they got this box. When I take this box, this pack, they got this me, y'all. They... Oh my goodness. I tell y'all just know how to make somebody's day, man. Y'all just really showed up. Okay, so this is the Inspire Leaven Detangling Conditioner. This is from the Inspire Lawn. Also with the Shape Butter Honey Coconut Oil and Camomile and Sage. I'm just overjoyed right now, y'all. Y'all have no idea how much I love hair products. Natural hair products. I love testing and trying to see what my hair likes and what it responds to and you know, getting all excited. It's all like Christmas. It's like I didn't know about it. This is also from the Inspire. This is the Creamy Coconut Milk Conditioner and this is the Creamy Coconut Milk Cleanser. Mmm. Yes. All these products smell so... Yeah, I just don't know what this means. I have no idea. A lot of things I get excited about but when it comes to natural hair products and just hair products in general it's to me, I'm like a kid I'm like a kid at Christmas. Okay, this is the Curly Temple Balm. I'm not really sure let me see what this is all about. This is a bunch. Okay, so this is basically like an edge control as well and it eliminates the frizzies. You can also use it for twist and braid outs to eliminate the frizz. But this is the Curly Temple Balm. You want to enjoy every last one of these products.  You know when a product good or you get to clap it. I'm going to try. I'm just a couple things here because my brain is bad but I will be bringing more DIY videos to you guys. I'm trying to educate myself on a lot of new things that I have not tried before such as henna, fenugreek excuse me, amla different things like that because I've been seeing a lot of videos when it comes to hair growth and hair strengthening and hair nourishment and a lot of people are doing DIYs with the henna but there's different types of henna different grades of henna I need to educate myself a little bit more on henna and what works for me because I just don't want to just dive into this stuff and mess my hair up. Also I'm still doing the rice water I am going to up it up a notch on the rice water I feel like I just need to kind of I don't know tweak something and boost it. It's not that it's not working it is working and my hair has grown since that last trim and haircut that I had it has grown a lot and I have still been using my rice water I have not done an upcoming video on that yet that is going to be coming but I think I'll do some things like adding essential oils and stuff like that so I hope you enjoy the video I know it's rambling so if you like this video don't forget to do the normal like comment and subscribe it's Jess Janine I will see you guys on the next video bye guys


In this video we see how different metals bond together to form alloys which still retain the metallic properties of the starting metals but are usually stronger. Metal atoms are typified by having only a few electrons in their outer shells. This means that even when they bond there's always room in this valence shell for more electrons. Each metal atom can bond with up to 12 others in a close packed lattice. Look at the red atom, it is surrounded by six in its plane and three on top and three underneath. The less compact crystal structures are possible too, for example this arrangement where each atom is bonded to eight others. Because there are still not enough electrons to complete the outer shell of any of the atoms the electrons can move easily from one atom to another making metals good conductors of both electricity and heat. And because the electrons are not localized in fixed bonds the atoms can slide past each other making them ductile allowing the metal to change shape. It also means that when you try to react metals together the atoms normally just mix into the lattice forming metallic bonds with each other and with no fixed proportions and randomly distributed. These structures are called alloys. Contrast this with compounds between metals and non-metals or between non-metallic elements where the proportions of each element is fixed. The oldest example of an alloy perhaps is the way bronze took over from copper in the early human communities of Europe around 6000 years ago. During the late stone age axes began to be made of pure copper but they were fairly soft. When small amounts of tin were added to make bronze you got an axe which was twice as hard and worked well. The bronze age had arrived. The atoms in a metal lattice are held by non-directional bonds a sort of sea of loose electrons as we said allowing the atoms to slide past each other still touching making metals relatively easy to melt and bend but hard to vaporize. When metals change shape atoms actually slip over each other like this. However this process does not happen all at once but bit by bit rather like trying to move a carpet by putting a ruck in it. Here is the way it happens in a metal. You see the slip moving easily one atom at a time where there's a dislocation in the lattice. It is this easy movement of atoms in the crystal lattice that makes most pure metals soft. Now put a smaller or bigger atom into the lattice and this easy movement of the dislocation is blocked. See the way the bigger atom stabilizes the dislocation which gets no further unless you put greater force meaning that it's harder to bend the alloy. To finish let's look at some well-known allies. Bronze, 3 quarters copper, quarter tin for sculptures, boat hardware, screws and grill work. Brass, 70% copper, 30% zinc, musical instruments, coins, door knockers. Carbon steel, 99% iron and up to 1% carbon for building construction, tools, car bodies, machinery, rails etc. Stainless steel, iron with about 18% chromium and 8% nickel used for tableware, cookware, surgical tools and so on. Aluminium alloys for planes contain a few percent of copper or other metals. Amalgam is mercury with silver and other metals once used for dental fillings. Solder, lead and tin for joining electrical wires and components melts very easily. Gold is usually an alloy containing another metal such as silver for increasing hardness. The number of carats, K, defines how many mass parts of pure gold are found in 24 parts of the alloy.