In your flying experiences, you will find that the occluded front has the characteristics of both the cold and warm fronts. In this film, we'll see the development of the occluded front, how it forms, and its associated weather. On the surface weather map, an occluded front is shown by a solid purple line. The classical pattern for the development of an occluded front begins with the formation of an open wave. This open wave occurs when a low pressure center or cyclone forms along an existing front. As the wind in the northwestern part of the low center becomes more northerly, the movement of the cold air is accelerated and the cold front bulges southward. As a result of the cyclonic circulation in the eastern part of the low pressure area, the cold air retreats and is replaced by warmer air, causing this portion of the front to become a warm front. This configuration of the cold front and the warm front establishes the open wave. Cold air lies next to the surface north of the wave, whereas south of the wave, in the warm sector, warm air is in contact with the ground. Let's examine the two fronts in cross section. Along this line, the frontal surfaces slope over the cold air. The accelerated cold air causes rapid lifting of the warmer air, producing a narrow, violent weather band along the cold front. Along the warm front, the warm air rides gently over the cold air, producing a widespread area of nonviolent weather in advance of the front on the surface. Depending upon the nature and temperature of the terrain, this air in the warm sector will be stable or unstable. Now, with this open wave established, let's see how an occluded front is formed. Generally, the cold front moves more rapidly than the warm front. When the cold front overtakes the warm front, the wave occludes. An open wave does not always develop into an occluded front, but when it does, you should be thoroughly familiar with the weather it produces. The occluded front may develop in one of two ways, depending upon the temperature of the air beneath the cold front and the temperature of the air beneath the warm front. Here is an example showing the development of a warm front type occlusion, the type most frequently found on the west coast during the winter. The circulation around the low pressure area draws polar air from the Pacific in under the cold front and also draws polar air from Canada in under the warm front. Since land areas are colder than adjacent water areas in winter, the polar air from Canada under the warm front will be colder than the polar air from the Pacific under the cold front. As the cold front overtakes the warm front, the cool Pacific air rides over the cold Canadian air. The cold front rides up and over the warm front, becoming an upper front. This is a warm front type occlusion. Remember, whenever the air under the warm front is the coldest of the air masses involved, a warm front type occlusion occurs. Another point to remember is that a warm front type occlusion produces an upper cold front that may ride out well in advance of the occlusion at the surface. The surface weather map shows this type occlusion with a solid purple line, an extension of the warm front. The upper cold front is shown with a broken blue line, usually well in advance of the occlusion. The winds around the occluded front tend to follow the pattern of the isobars. The second type of occluded front is the cold front type occlusion. This is typical of the east coast in winter. Here the circulation around the low draws the colder air from Canada in and under the cold front, while the cool air from the Atlantic flows in under the warm front. The cold front with its colder Canadian air overtakes the warm front with its cool Atlantic air and forces it aloft. The front aloft in this situation is a warm front. This is a cold front type occlusion. It forms when the coldest of the air masses is under the cold front. The position of the upper warm front is very close to the occlusion at the surface. The map shows the cold front type occlusion as a purple line, but now an extension of the cold front. If the upper front is shown, it is depicted with a broken red line. The winds about this occlusion will also follow the pattern of the isobars. Simply stated now, the warm front type occlusion has its upper cold front, and the cold front type occlusion has its upper warm front. The weather resulting with either of these is varied. You should understand, however, that certain characteristics are common to both type occlusions. In each case, the occlusion is a combination of a warm and a cold front and has weather characteristics typical of both. The weather typical of the cold front, that is, the narrow, violent weather core extending to great heights, is generally found along the upper front in both the cold front type and the warm front type occlusion. The occlusion also produces widespread layers of clouds typical of the warm front. In either case, violent weather should be anticipated. When occlusions are indicated, be extremely cautious in your flight planning because the great cloud layers they produce may hide from view the violent weather along the upper fronts. Unexpected contact with this weather is always a dangerous probability. In both types of occlusions, the warm air is lifted rapidly along the part of the upper front, closest to the warm sector. You must carefully study the weather at the point of occlusion and for distances as great as 100 miles along the upper front, for it is here that the most violent weather associated with the occluded front will generally be encountered. The weather conditions in either the warm or cold front type occlusion can be violent and widespread. With experience, your conclusion will be that each situation must be studied carefully and discussed with the forecaster to properly plan for flying through an occluded front. All weather facilities plus the experience of trained personnel are provided for you. Your personal safety and your Air Force mission effectiveness are the end products.


All right, so I wanted to have my World Building Martial Arts video out by now, but something has just been nagging at me that I've been seeing a lot, and I feel like I've been seeing it more and more often lately, and I just... it's been bothering me. It's been bothering me a lot.  See, the example that that Tumblr post uses is Beauty and the Beast, and somebody was talking about how it promotes toxic masculinity because Gaston is toxic and masculine, and I mean, okay, Gaston is a good example of that, but he's also the villain.   He's meant to look like a bad person, and the fact that he's a... is very toxic and masculine. I don't know how to use that as an adjective, sorry, but the fact that he's like that is meant to paint those qualities in a negative light. Like, Gaston isn't a bad guy because he's good at hunting or because he's really big and strong. In fact, those are arguably positive traits, which give him a little bit more dimension as a villain, but he's bad because he doesn't actually care what Belle wants. He just sees her as like a prize to be won, and because he immediately thinks when he sees the Beast like, okay, yeah, let's just go kill that thing. Like, no questions asked. But I see this all the time, and people do it in both positive and negative ways. Like, the Gaston one's another negative way. A lesser known example, which I've seen a lot, is from this. This is How Few Remain. It is the first book in the Southern Victory series by Harry Turtledove, and I've talked a little bit about this series in the past. It's pretty good. It goes on for quite a while. It's basically... it's an alternate history story about the Confederate states of America emerging victorious in the American Civil War, so they become an independent nation. And it basically just follows the world all the way up from then until the end of World War II. So because the Confederates were violently insane, slavery sticks around. And even once it is technically abolished, it's still basically there for black folks for a while. And then once you get into World War II, you get like this weird Holocaust analog between black folks and the CSA and Jewish people from Germany and all their occupied territories. Like, it's kind of weird when you stop to think about it, but you know, basically the point is things do not go super well for black people in the American South in this timeline. And I've seen people talk about this online, and there's people who very clearly haven't read it, or I'm pretty sure that the vast majority of them at least have not read it, who describe it as a white supremacist fantasy. And I genuinely have no idea how they could possibly come to that conclusion, because that is such a brain dead thing to say if you've actually read any of these books. Like, yes, there are characters in these books that are racist, and they do a lot of horribly racist things. Again, the Confederates were violently insane, and they become not exactly the Nazi Party, but they are an analog to the Nazi Party in this in this timeline. So they aren't the good guys. Again, the author Harry Turtle Love is Jewish. He actually lost family members in the Holocaust, I believe. So he's not painting those guys in a positive light. He's saying, these are bad people, they are doing bad things. And yet, somehow people just, again, I'm pretty sure most of them haven't read it. And like, I did have a brief conversation with this about someone a couple of months ago.  They see them dropping the end bomb a bunch, which does happen a lot. And they just assume that, okay, yeah, the series is racist. But again, I don't think most of these people have actually read it. I'm pretty sure they just hear the Confederate States win the American Civil War and instantly assume that that's going to be portrayed as a good thing. Because in their minds, whenever something appears in a piece of media, that's the creators uncritically endorsing it. Like, we saw the exact same thing a couple of years ago. There was supposed to be a show on HBO called Confederate. It was also about the CSA winning the American Civil War and emerging as an independent nation. And we just had many thousands of people throwing a fit for the exact same reason, because they instantly assumed that just because the CSA was going to be shown as victorious that they were going to be shown as the good guys, my dude, how have you made it through life? How have you made it to this point? To the point where you can actually read and write and have some understanding of the world around you without understanding that sometimes stories have villains. Sometimes bad things happen in fiction. And that doesn't mean that the author wants those bad things to happen or that the author is happy about those bad things happening. Now, that show wound up never getting made. Like, it was in pre-production for a while, but partially due to the backlash and partially due to just, you know, regular business stuff, it wound up being canned. Like, we're never going to see Confederate. At least, we're probably never going to see Confederate. It's never going to happen. But I'm still just left baffled. Like, how in God's name is that the conclusion you reach? Like, how do you see that? Like, especially because you haven't seen the final product. So you really can't judge it properly without having actually watched it. But I think part of the reason people are so eager to jump to conclusions like this is because so many of them barely even watch or play or read anything anymore, they just have it relayed to them via YouTube videos and podcasts and other shit like that.  And like, that's their only exposure to that media. And so they feel okay judging it. And I'm like, okay, it's one thing judging it when you've gotten some information, even if that is only partial and it is filtered through the lens of somebody else telling you about it. Sure. Like, you can make something of a judgment on that. But I feel like some people have taken that and then jumped an extra step further with it so that they can say, okay, yes, I can judge the entirety of this thing, which doesn't even exist yet, based on no information. Yeah, like just jumping to wild conclusions and assuming that everyone who disagrees with your wild conclusions is just a bad person. The phrase, don't judge a book by its cover, exists for good reason, guys. We had something similar happen with Attack on Titan, and if you haven't finished it, I guess spoilers for the ending, so skip to the next bit if you want to avoid that. But basically in Attack on Titan, the villains are fascists. Like, the heroes fight against them at the end. The heroes that basically there's two different groups of fascists that are each trying to commit a genocide of the other and the reasonable people on both sides come together and put a stop to it.  Like, okay, some people really when they get backed into a corner and when you point out that, hey, the heroes specifically say, this is bad and we shouldn't commit genocide and it's not right to treat people this way because of their race. And then when you back them into a corner and point out that that is explicitly stated in the text of the series, they go, oh, well, actually, the author created a world where fascism is correct. So you know that really the author and the series is fascist. And he very explicitly did not once again, because again, the fascists are defeated at the end. Like, the series is showing, hey, fascism isn't going to work in the long run. Like, it is still alive at the end of the series, unfortunately, because again, like that, that's a long and complex topic that a lot of people have gone over. But basically, fascism is still alive, the fascist movements are still there, but they have been defeated, at least temporarily. And the heroes are still going, hey, this is wrong, we shouldn't genocide people and we shouldn't discriminate based on race. Like, how much more blatant can you be? Like, he didn't create a fascist world, he created a world where fascists exist, and where a lot of them are powerful, and where their ideals might make some sense on a base emotional level, like that that is one good thing Attack on Titan does is that it shows you how people can get locked into that mindset. But if you're a person who reads that and then says, yeah, the author just created a world where fascism is correct, then all that tells me is that you are locked into that mindset and you don't have the self-awareness to realize what's going on and then step back and reexamine your own beliefs. Like, I'm not doing that as like a roast or to own you or anything. I'm saying like, hey, seriously, man. Like, the story is specifically trying to get you to feel these emotions and then it's pointing out to you why it's wrong and why you shouldn't feel that way. Like, that's what's going on here. But then you also have people kind of doing it in the opposite direction. And maybe I don't even know if that's the right way of putting it. But a couple of years ago, I put out a video about how fantasy is weirdly pro-monarchy and how that's kind of odd. And what I meant in that video, you can go watch it. And what I again explicitly said and what I meant in that video is that a lot of fantasy series doesn't just have monarchies in it, it explicitly shows that having a monarchy is great. And if you put the right person on there, then everything will be awesome forever. And it's only going to fail if you put the wrong person on there. So it's like, very explicitly pro-divine right of kings and very explicitly pro-monarchy. But the comments to this day are still full of, um, yeah, of course there's monarchies there. God, it's a myth that's set in ancient or medieval societies. That's what monarchies were like. And once again, they're assuming that endorsing something and portraying something are exactly the same. And they're not. Like, I was criticizing the genre because in many cases it does straight up endorse this. And I'm saying, like, why is that? Like, you can show a monarchy existing and being the way the world is run without showing it to be great. You know, Song of Ice and Fire or Game of Thrones, whichever you want to call it, does a pretty good job of that. You know, like, there are a lot of monarchies that are shown and lords and aristocrats and stuff, but they aren't shown to be great people for the most part. In fact, I would say the vast majority of the ones shown are shown to be very, very terrible people. And even if they're not straight up evil, they're just bad at their jobs. And a lot of people were mad at the ending of the show because it didn't just have Daenerys take over and be good and everything is awesome after that. You can try and lie all you want. I remember being there and viewing comments, looking at forums and everything during the last season. That is exactly why you were upset. Don't lie to me. But again, it's just, it's such a strange thing to me that people don't seem to understand that sometimes bad things happen in stories. Sometimes there are villains and we are meant to view the villains as bad people. And sometimes we're also meant to view the heroes as bad people. You know, again, breaking bad for whatever reason. People just think Walter White's a hero. He's not. There were a lot, a weird number of people who thought Homelander was a hero in The Boys. Again, he's not. I don't know how they get to that. But like all of this stems from the same place. And that is, if it's being shown on screen or being shown on page or whatever else, then that instantly means that it's supposed to be good. And I just, I don't know how people get to that point and I don't know how to help them out of it other than to tell them, hey man, once again, just think about shit, okay? Just because it's there doesn't mean the author or creator, I should say, thinks it's good or bad. It just means the creator is trying to get a specific emotion out of you. Like again, that is the point of media is to make you feel things. Like when they tell a joke, it's supposed to make you laugh. When a sad scene happens, it's supposed to make you sad. When an awesome action sequence happens, it's supposed to make you go whoa, that's cool. Usually. Again, like, maybe this is just me. Maybe I'm just the type of person who is way more analytical than everyone else. But I just, I don't know. I don't understand this phenomenon. And it only seems to be getting worse. So yeah, once again, just think about stuff that you consume. Try not to jump to conclusions if you haven't actually read it. Like again, if you've heard some things about it, then you can say like, okay, that just doesn't interest me. It sounds kind of bad. And again, if you've watched, again, a YouTube video or something, summarizing it and going into some detail about an analysis and everything, then that gives you some information, but it's never giving you all the information. And you should keep that in mind. And I guess just if I have to end this on a stronger note, just media consumption isn't a virtue.  That's all like you can like stuff while acknowledging that some of the elements in there are unsavory, or you can hate something while also thinking that it's pushing a good message.  Anyways, like I said, this is even more untethered, I guess, than my normal stuff is, but I've just been seeing this even more lately than I used to and it annoys me. So stop doing it. Hello, everyone. You're still watching? Well, that's pretty cool. You see all these names here? These are my patrons. They're the people that send me money once a month over on Patreon. My $10 and up patrons are Appo Savalainen, Olivia Rayan, Brother Santotes, Buffy Valentine, Carolina Clay, Chib Zahoy, Dan Anceliovic, Dark King, Dio, Echo, Flax, James M, Carcat Kitsune, Lexi DeLorm, Liza Ruda Coba, Lord Tiebreaker, Microphone, Mistboy, Mitsimona, Peep the Toad, Robi Reviews, Sad Martigan, Psyche XS, Celine, Celia the Vixen, Stone Stairs, Tesla Shark, Vaivictus, Vimec Zoll, and Wesley. Who could ever forget Wesley? And you know what? Thanks all of you. If you can't afford to, you know, get access, early access to videos and stuff, then that's fine. Just like the video, comment on it, share it around, annoy all your friends with it. You know, that's cool too. Subscribe to the channel if you haven't. And if you have subscribed, then I guess like unsubscribe and then resubscribe. I don't know if that does anything, but it makes me feel pretty cool. Anyways, goodbye.


In this video, we are going to look at properties of division of integers. Let me just write integers here. So, whatever set that we are going to look at is the set of integers and we will perform division and we will come out with interesting properties. Very first property that I can think of is closure property. So, what is closure again? Closure is when you choose any two numbers from the given set and divide them. Do you get a number in the same set? Now, I will just quickly write the set of integers here. So, integer set I, some negative numbers that I need to write, then 0 and some positive numbers and then dot dot dot. So, this is how we can write integers and then we can choose any two numbers in C. Once we divide them, do we get a number from integer set? Let me choose 1 and minus 2. Let's say 1 divided by minus 2. We can write this as minus 1 by 2. Is this an integer? Not an integer. So, an integer set doesn't follow closure under division. I will just put this sign here. You could choose any other two numbers. Just remember that we cannot divide any number by 0. Whenever choose any two numbers, make sure that you should not divide by 0. So, you should not do something like this, 2 divided by 0. So, let's not do this. All right. Let's go to the next property. We already saw closure is not followed under integer set for division. And now we want to see whether the commutative property is followed. So, what is commutative property? So, whenever you choose any two numbers from integer set, say something like 10 divided by 2. Right? So, it's like saying 10th of ease being distributed among two people. So, everybody will get five toffees. But is it equal to 2 divided by 10? Is it? It is not. Because the meaning completely changes. It's like dividing two toffees among 10 people. And the answer would be different than what it would be when we divide 10 by 2. So, this is not equal. And therefore, whenever we have two numbers, a divided by b. If it is not equal to b divided by a, we say commutative property is not followed. And therefore, we can say division is not commutative for integers. Now, there is another property called associative property. This is just a kind of an extension for the commutative property when it comes to division. Let me just discuss that. So, in associative property, we choose three numbers. Let me just write it here. So, let's say we have three numbers. I'll just write associative property. So, we will have three numbers. For example, 10 divided by 5 divided by 2. Now, we use brackets like this. And the question is whether this is equal to 10 divided by 5 divided by 2 when the brackets are placed for another pair of numbers. Now, this is 2 divided by 2 because we will perform the operation in brackets first. And this will give us 1. But here, 10 divided by 5 divided by 2 is 2.5. So, this will give us 4. And so, these two things are not equal. And so, we can say that division is not associative for integers as well. Okay. Let's go ahead and see some special numbers for division. And these special numbers are called as 0 for division and identity for division. So, now what is a 0 for division? 0 for division is a special number dividing which will always give us 0. So, the fourth thing that we want to talk about is a 0 of division under integers. So, 0 for division is a number 0 itself. Why? Because once you divide 0 by any number, say 99, you will always get 0. 0 divided by 5 will be 0. 0 divided by minus 3 will be 0. So, every time you get the output 0 and that's why 0 of division is the number 0. Now, there is another special number and that's an identity for division under integers. And the identity is basically a number which you can use in the division operation, returns the same number. Identity in division for integers and this is going to be some number, some number a, so that you divide any given number say, let's say 65 divided by a gives you 65 itself. If you divide any number say minus 10 by a, it will give us minus 10. Can you think of such number? Yes. Yes, yes. It's 1, isn't it? If you replace a with 1, if you divide any number by 1, you are going to get the same number and therefore, this a or the identity in division is 1. That just means that once you divide any number by 1, you get the same number and these are few important properties for division. Let's just revise. First, we discussed closure property and we saw that division is not closed under integer set. So, a divided by b is not always an integer given that a and b are integers. Then we saw commutative property. Once you choose two integers a and b, a divided by b is not always equal to b divided by a. Then we came to associative property. So, if you choose three integers a, b and c, then in bracket a divided by b, bracket complete divided by c is not equal to a divided by in bracket b divided by c, bracket complete. Then we came to zero of division which is basically a number which when divided by any integer returns zero and such number is zero itself because zero divided by any integer is zero. Note that in any of these properties, the number with which you are dividing by cannot be zero, right? Lastly, we looked at identity in division which is a number by which when you divide any integer, you get the same integer and that is one.


Hello, everyone, and welcome back to the State of the Web. I'm joined again by Felipe Hoffa, developer advocate for BigQuery. And today, we're taking a closer look at the web Almanac and how we can use it to study critical aspects of the state of the web. Let's get started. All right, Felipe. So we have two web transparency tools that I'd like to run by you and see how we can use BigQuery to learn more about the state of the web. First is HTTP Archive. How familiar are you with it? A little bit. I think you have a lot of web pages stored here? Yes. So we have about 5 million web pages. We test them monthly. And we save all this metadata about them, like the requests they use, any technologies that they're using, like is this a WordPress site? What type of JavaScript is it running? And so we save all that information in our BigQuery data set. So we have a table with the content of each web page. Yes, we do actually save the raw HTML responses and CSS responses. We do some interesting things here. So in some of the reports, you can see the state of JavaScript report. At a high level, things like how many bytes of JavaScript are loaded, or the median web page, how many bytes of JavaScript are loaded. So interesting things like this. What people might not know is that there's this show query where you can go in and actually see the query that was used to power that. So looking at this query, is there anything that you can see that jumps out of the BigQuery anti-pattern? Well, first of all, I like it. It's using standard SQL, which is our new standard. And then you're using some advanced functions. But I wonder, with all these millions of web pages, how much data is this query processing? That's a good question. So we're querying the summary pages data set. And the asterisk here means it's the wildcard query over all tables. So we have a table for every monthly release for both desktop and mobile. So that could be since 2010. So just do the math about how many tables that is. So it could actually be a pretty expensive query to run. Yeah, I know your queries have, like, petabytes of data? Yes. No, not petabytes. At worst, yeah, some of the response bodies tables could be petabytes. But this should maybe be gigabytes. Yeah, but at least this query is not going through the content. So BigQuery will skip that column, and your query is way smaller. If we copy this query into BigQuery, we should be able to see exactly how many bytes it will process. Oh, look at this, our classic web UI. Yeah, it's my standard go-to, all the habits are. OK, that's running the query. Now, if you want to see how much data your query will go through before running it, you can click there on the right button. So it's only a gigabyte. Yeah, so basically each table might have a terabyte of data, but if you are only looking at the column for bytes, that stores a number of bytes, yeah, we go through a lot of tables using only one gigabyte of your free quota. OK, so that's manageable. You can query this table 1,000 times. So this is the summary pages data set. And the schema for this is pretty simple. It has mostly just integer values and strings. Pretty standard, and there's one row for every URL. Perfect, so this table for 2012 is, we can look at details here, and yeah, oh, it's only 26 megabytes of data, perfect. This is not one of our huge tables. No, I can show you an example of one of the queries that we're hoping to write. And it does require the raw response bodies data set. And I'm curious to see what you would think about that. So a little intro to the Web Almanac. We are trying to write an annual state of the web report using HTTP Archive data. So we try to answer questions like, same things that you would find on the HTTP Archive.org website, but combine that with expert analysis. So people from the web community who know CSS and know JavaScript will be able to say, this trend that we're seeing with the state of CSS or JavaScript is cause for concern, or we should really be doing things differently. So for example, we have a few metrics here for CSS that they're hoping to the authors of the CSS chapter, Unicrabbits and Adam Argyle, two people who have been on the show before, so check out those videos. You can see that they're looking up usage of at import in a style sheet. So we have the raw CSS, but querying them, I suspect would be quite challenging because of the terabytes of data. What do you think? Okay, show me the table. I would love to see how much actual data you have. Okay, so in response bodies, oh, this is the one that's already running. So in response bodies here, let's go to the latest one, 2019. Oh, you can filter everything there. Details, 6.4 terabytes. Six terabytes of data with all of the responses. How many columns does this table have? Four. So the page, the URL, and then the body, which may be huge. That's where all that data is going to be stored. And if the page is more than two megabytes, you truncate it. Yes. Even then, you have six petabytes of data in 140 million rows. 147. 47 million, wow. So I love being able to query this kind of data. Like, you still get fast replies, but if you want to stay under your free terabyte every month, analyzing this table will bust it. Yes, will it even let you run the query or will it give you one terabyte worth if you're using the free sandbox? If it lets you run the query, it will run once, and then you're out of quota until it gets replenished. But maybe it will stop you before running it. So I actually have billing enabled for this account. So we could run this query if we want. And it's, what, $5 per terabyte? So this would be a $30 query? Yeah. So for some people, it might seem a lot. On the other hand, if you're going to analyze a 40 million pages, like the raw content of them in one query, in a couple, not seconds, but maybe a minute, that's a pretty good price, like. So I guess to get started implementing this query for finding things like at import, let's approach it by taking a subset of the response bodies for only known CSS files, and then we can create a subset table that we can query over and over and refine our query. Does that sound good? Sure. So if someone wants to analyze all the CSS pages, it's much better instead of finding just this page, is let's extract all the CSS pages, which will be a way smaller table. Okay. So let's start with that. One thing that comes to mind is that, we can look in the preview here, is it's not always obvious what type of resource it is. So this looks like a JavaScript file, it's .js, but everyone knows the final name does not necessarily mean that it's necessarily JavaScript or CSS, it could be named anything. What really matters is the MIME type of the response, which is in a different table. So now we need to do a join of that table with the response bodies. So let's start composing a query. I'll just put this together. Perfect. It does default to legacy SQL. So what I usually do is. That's because you're using the legacy UI. I know, I know. I usually just like check this box and say, don't use legacy hide it again, click query again, and then it formats it using standard, which you always know it's using standard versus legacy when you see back ticks versus brackets. Yeah. Okay, so we're gonna need to join this table with also I'll just format, format it, remove the limit. I'll do a join with the, what table is it? Responses table. Thank you to complete our request. And we'll keep the same data table, 2019.05.01 desktop. And we need to join it on something. So in both response bodies and requests, we have a page field and a URL field. So I think we could just join on page and URL because a specific URL could be loaded by multiple pages, but it's always gonna have the same response type. So I guess we can only join on URL, using URL. Does that look good? So far. I would still use a page in case to avoid having multiple replies, like it makes sense, but let's use both. Okay. Yes, in case. Play it safe. And I love that we'd say, well, you can say just using when you have the same name on both sides. I love that too, yeah.  With the line. You'll need to have like A equals B and you'll need to alias one table as like A one is B and then B dot page. Yeah, it's just so much easier to use using. Well played. Get rid of that. So what are we actually selecting here? We need the payloads. And I guess we should keep the URLs, pages and URLs. And let's say like mime type. Oh, I just had an idea. Maybe instead of, so the request table, the payload here is a JSON object. And every single piece of metadata you can imagine about this request can be found in here. We do have summary tables where we extract high level pieces of information. Good. That's much better because instead of processing the whole JSON, it's already pre-processed. Exactly. And you can go through one column. And as you click, that's it into the query. So we will not do that. But we will do summary requests. And the table name, 2019, 0501 desktop. Thank you, summary table. I will be using this one. Now, does it make sense to limit the summary requests based on mime type now? Or should we just join the table, save that to a temporary location and then query that separate? Well, if more people wanted to use this summary, of course I would do a complete one. But if it's only for us now and we want to see all these CSS, I will limit it now. Okay, so mime type. Let's look at an example of what some mime types might be here. This is one problem I have with the preview is that we have some very long responses and it makes it very hard to find whatever you're looking for. Sometimes the new UI makes that better. So you should check it out. You know what, let's do it in the new UI because this was a BigQuery episode. Let's do it right. And we can switch between both. Sure. So we're looking at HAP archive summary requests. And I'm gonna filter again for 2019, 05. Summary pages. Desktop. So you're saying if I preview here, this would be a better UI. Sometimes. Yeah. Oh. Can I not scroll? Oh yeah, okay. So I'm looking for mime type. And those are blank. So maybe this isn't a good. We could run a quick query over. So if you say query table here and you run the command approach top count. And you can now complete mime type and give it, let's see the top 10. Yeah. I can read your mind. That's a fast way to just go through everything and count an approximate. So this is what we want, text CSS. Yes, sir. All right, if you don't mind, I'm gonna go back to this legacy for a second. For sure. Let's jump between both. So we're selecting page URL, mime type payload joined by page and URL. Okay. Between response and summary request. Uh-huh. And this query. Save it to a table. Yes. Scratch space. Call it CSS responses. Is there anything else you could see that we would need to? I see that's where we're not running. Can you press, click on the red button? Page. Uh-huh. So the summary requests. Don't have the page. Doesn't have page, it just calls it URL. So just using URL. Cool. So because it's a summary one, it just gives you the. Just wanna verify. Yes. Okay. So we will. We don't have a payload now. So from the bodies, you might want the body, not the payload. Oh, true. Okay. Body, body. And now we have a six terabyte query. It's okay. But we only incur that cost once. Because we will get a way smaller table out of this one. Nice. How long do you think that should take? Six terabytes. How long did it take? How long would it take without the query? By hand? Or what? Yes, on your laptop. Oh, I don't know. It's a MacBook Pro, maybe. Couple minutes. Yes. So while the, well a couple minutes, yes. So while the query is executing, we can see this chart of how many parallel inputs are looking at the underlying table and you have the underlying. We have like 8,000 different jobs and half of them are active. Some have completed their work. You can see them going up. Okay, so this blue means it's getting closer to finding the result we're looking for. Exactly. But only when it reaches active, it's done. Is that right? Yeah. So basically, we have a mix of active and pending and then there will be a time when there are no more pending or active jobs. Okay, oh, we just jumped. Yes. Yes. Basically running a join like this is a little crazy. We're moving a lot of data through two tables through the network. So, yeah, it might get crazy. You can also see here where things are happening, where are we spending most of the time. For now, it's this hash. It's being able to join two giant tables. Is that hashing the using field? Or what is that hash? So basically, it's not a hash that you see, but it's a network hash. So you can find what data of this table matches with the data of the other table and you can output. So yeah, there is a hash happening here and there's a lot of repetition inside the network. So as we wait for this to finish. Yep. I wanted to also show you a data studio dashboard for the Chrome UX report. Perfect. Let's talk about the Chrome UX for a second then. This is a different data set. It's a different data set, but it's also hosted on BigQuery and we have these different visualizations of the data that people may be familiar with on PageSpeed Insights, but this one here is the data studio connector. So we can enter things like developers.google.com and connect, allow it. So you are just entering any web page on the internet and you are able to see. This is by origin. So the difference being a web page could have like slash product slash 123 as a product ID, but this is origin level, which is only the protocol like HTTP, HTTPS, any subdomains, then the domain like example.com and we create the report. So when we view this dashboard, the first thing people should see is a bunch of months. So we go back to July, 2018 to the most recent data set in April and we see like fast FCP is 45%. What that means is that the percent of first contentful paints on this origin are considered fast, less than one second, 45% of the time. So all of this data is available in BigQuery as well and a quick shout out to BigQuery, we can also look up the ChromUX report project, which I have down here and the data sets are available in monthly tables, yeah, 2019, 04. And we have things like just a preview for a second. We have each month is grouped by it's effective connection type like 4G, the form factor like phone and histograms and histograms are repeated records. So they're a little tricky to query. So one thing that makes things a lot easier is this materialized data set. Where you can look at the metrics summary, where it just says this origin for this month has a fast FCP of whatever percent. I love when you give people a summarized table so they don't have to query the whole. Exactly. But also people have access to the raw data if they want it. So this looks like it's a partition table. Good. It has a weird date. So we don't want to do today's date. We want the April 1st data set. Fast FCP and origin. Formats we can see. So this should be 40 something percent. Yep, okay. So this query is exactly what the data studio dashboard is doing under the hood. Pretty cool. So there's a site I'm interested in. I know that Reddit is going through this whole redesign. And what if I want to see the percentage of fast pages that they have through time? So is that hhtbswww.reddit.com? Yeah, most probably. So we could remove the where date and group by that date. Cool. Yes. Fast FCP, so here's an interesting problem. So we don't need to group by date because they're individually fields. Order by date is cool. Yes, order by date is still needed. And now we can see what percentage of pages were fast. So in 2017, 63% of loads from Reddit were fast. So what would you recommend for visualizing the data? So we could export to Sheets. The new UI has integration with Data Studio. What do you feel like? Let's do this on the new UI. Okay. So we'll try it in the new UI. Paste the query in. Run a query. It's already in your cache. I can explore in Data Studio. This would be good as a time series. Time series might look nice. Okay, and we need to make some changes here. So let's roll that up. Instead of looking at the record count as a metrics, we want to see fast FCP as a metric. And you can remove record count. And now this is monthly data. You know the secret? I think so, but tell us anyway. Yes, I usually come here to edit data source. And I tell Data Studio, this is not daily data, but this is monthly data. Let's see if that works. Aha. Well. I did not know that. Aha. And what we can see here, that is really interesting for people that are developing the new Reddit site, is that Reddit is getting slower. So I want to caution you from jumping to that conclusion. So is the website getting slower or are more slow users using the website? That's an interesting question. It sounds philosophical, but also keep in mind that some people, some websites have different origins depending on their traffic. So maybe things like mobile traffic on a M.subdomain have now been merged with the WWW origin. So maybe now there are more mobile users being users. So we cannot quickly jump to the conclusion that Reddit got slower, but we could just say the percent of fast experiences has gone down over time. Yes, from 60% to 40%. Why we don't know? But there is a degrading. Well, what we were showing me on developers, developers Google Chrome, it was fairly stable. But yeah, this is interesting and it would be really interesting for Reddit to know why things are getting slower. I want to show you one thing that I always do is set the y-axis to zero because when you have a chart like this, it looks like it bottoms out, but it's really 40%, which is still kind of a high percentage. And also the other thing I would do is change these decimals to 2%. And I think what you did earlier was good. You go in here to the data source. And this is not a number, it's a percent. And now it shows up as 60%, 62%. So this looks good to me. Beautiful. It's less dramatic as it goes on, but still it's going down. Nice. I like your chart. Cool, thank you. So the other queries are still running. Yes, somehow our join turned into a very big network. So I think we should let these go, but is there anything else that you can think of with BigQuery that would be good to demo here? Yes. Just as a note, what I would suggest here is, if this is important, we should create these table ones and have it pre-joined for everyone to use so they don't need to go through this. And I'm wondering if we could have, maybe we have a splotting join here and we could have optimized this query before, but for now let's think of other questions that we can ask. So for the Web Almanac, we are currently in this data analysis phase. And pretty soon by November, we're going to release the full report. And for anybody who's interested in contributing to the Web Almanac, you can go to almanac.hhbarchive.org and there's a button in there that you can check out to link to our GitHub repository. And if you follow this, you'll be able to see all the different ways that you can help out. We have subject matter experts writing about the state of things like JavaScript and CSS. And people are peer reviewing each chapter. Other experts from the field are ensuring that the results that are found from these subject matter experts are not only technologically sound, but also the writing style of everything fits our Almanac as a whole. Data analysts are doing these queries. Web developers and designers are building the website and it's even being translated into the top 10 languages. So we're really excited about the Web Almanac. Check it out, almanac.hhbarchive.org. Felipe, anything else that comes to mind before we go? I would love to optimize this query. So if we don't have time to do it in this video, I will send you the optimized version of it. And why don't we do this? So we have discuss, another URL, discuss.hhbarchive.org, where we share queries about hhhbarchive dataset. So we could post this query there when we're done. How does that sound? Perfect. We have a link here so people will find the fast way of running this query. Exactly. Excellent. All right, so thanks a lot for watching. We'll see you next time. Check the links in the description. See you next time.


Hi, I'm Chris Thompson for Investor Intel, and we're back at PDAC 2023, this time with Peter Clausi, who is the president and director of CBLT. How are you today, Peter? I'm very well. So, what's happening at CBLT? I hear there's some breaking news on CBLT. Here we are on the shop floor, and we have breaking news. And the breaking news that our optione has cleared its prospectus, which is important news, and it's a public domain document. And this is at your Chilton Cobalt property in Quebec? Yes, it's about an hour north of Montreal on the highway. And I mean, it's called Chilton Cobalt. What minerals on it? There are four main ones. There are three large target areas hosting nickel, copper, chromium, cobalt. Very easily accessible and accessible to infrastructure. So what we had done is we optioned it to Powerstone, subject to four conditions. Powerstone has cleared three of the four conditions. The fourth condition is they have to do $150,000 of work by next September. And what sort of percentage will you have of the project? At that point, it vests 100% in Powerstone. And we will own shares in Powerstone, so it's a win-win. And looking at your other projects in CBLT, you have this shop for late lithium project. Very exciting. What can you tell us about lithium? How important is lithium these days, Peter? Well, this is the mining show of lithium. Well, that's expanded to critical minerals as a whole, but everywhere I go, people are talking about lithium. We put out the results of our latest exploration program at Shatford Lake, and we've received inquiries from other mining companies about partnering, joint venturing, optioning something. And here at the mining show, those discussions are continuing. They're not brilliant numbers, but they're indicative of an LCT type pegmatite, which is the good kind of pegmatite. And there's more exploration work to be done. Now one of the interesting things about your property up there at Shatford Lake is its proximity to Tango Mine, which is not really well known, because it's privately held by a Chinese government company. But it's actually producing lithium. It's Canada's only producing lithium mine. Give you an example. Down in Bolivia, the Solar is great around 800 parts per million. If you get 800 PPM, the Tango grades at 2.7 parts per million. Yeah, PPM. Right? So, sorry, 27,000 PPM, not 2 points, you threw me with the percent. 27,000. So Canada's only producing lithium mine is the world's richest producing lithium mine. And in 2017, we let it get sold to the Chinese government. My problem with that is that everything we produce goes over the big red wall and it's never seen again. So your hope is getting Shatford Lake and the other projects in the area into Canadian hands? Yes. So we're about three kilometers south-west of the Tango Mine. There's other players in that area because it's the Bird River pegmatite field, named appropriately. A lot of drilling there post-World War I looking for tin. And a lot of these properties were discovered by tin drilling. In fact, the Tango started out as the Canadian tin and tantalum company and eventually shortened over time to Tango. It also has beryllium, tantalum. Over 100 minerals have been found in that crystal. So that's rare earths as well. So what are your plans this summer for the Shatford Lake project? Get back in. There have to do more surface sampling. We're partnering up with the University of Manitoba and we've extended an offer to the local First Nation to bring some of their younger people with us and show them prospecting 101 and geology 101. That's exciting. Yes. Anything else you can tell us about things going? Building partnerships with First Nations is crucial. We've been doing it before ESG became cool. It's just the right thing to do. So we're looking to build on those relationships. So you could expect some, investors could expect some news on some sampling and some prospecting from the summer. Absolutely. On that, on Powerstone and of course the CISCOM dividend, which is pending. Which is a company that you invested in as a CPLT. Yes. So anything else you want to comment on before we wrap things up? You've heard me say this many times. A company can make more money with its pen than the drill bit at last risk. We've been able to do that. The company is 12 years old, 70 million shares outstanding, never had a rollback because we've been able to make money with the pen in conjunction with the drill bit. We're looking to continue that this year. Great. Thanks for your time Peter. I'm Chris Thompson for Investor Intel, this year at PDAC 2023.


Governments around the world are finding that people's happiness and well-being are of paramount importance and must be factored in when they are developing their public policies. According to the 2017 World Happiness Report, the countries that are thriving economically and socially clearly understand this proposition. Just released, the fifth edition of the World Happiness Report ranks more than 150 countries on their level of happiness using six key indicators. Freedom, generosity, health, social support, income, and trustworthy governance. Take Norway for example. Coming in at number one, Norway is a rich economy that prosperously invested their abundant natural resources in long-term sustainable growth as opposed to short-term gain. Rounding out the rest of the top 10 in order are Denmark, Iceland, Switzerland, Finland, the Netherlands, Canada, New Zealand, Australia, and Sweden. Dropping one point to number 14, the U.S. illustrates that while income and healthy life expectancy increased, the four social variables, generosity, social support, trustworthy governance, and freedom all deteriorated. This concludes that American happiness is failing primarily due to social rather than economic causes. Our experts also drill deep into the unique experiences of China and Africa, collectively 2.5 billion people. China's admirable per capita income growth over the past 25 years is contrasted by life satisfaction evaluations that fell steadily over the same period. Africa's experience paints a regional picture of people living in limbo while waiting for the happier lives promised to them by ever-changing governments. The World Happiness Report will continue to analyze the dynamics and drivers of happiness. As the only statistical analysis that focuses on the complex nuances of happiness, it is an invaluable tool providing world governments with a roadmap towards a happier future. To explore the World Happiness Report, visit worldhappiness.report or follow us on Facebook and Twitter.


What's going on, everybody? Dr. Doi here with a different kind of video for you today. Today I thought I'd record myself playing some rank matches as I'm still pretty low in the ranks on PC. As you can see, I'm up there with the 17,000, y'know? I am absolutely killing it on PC right now. I've been splitting my time between PC and Xbox, so on Xbox I'm a little bit higher, but I'm sure I've fallen behind on that as well. Alright, and I'll be right back as soon as we jump into a match. Oh no, red bar! Wait, I've never seen a blue threat level. That's awesome. Alright, as you can see, I'm playing Super Saiyan God, Goku, Krillin, and Tien. Really, this team is not very optimized at all. I didn't even get to see what my win-loss record is on PC. Sure, it's pretty bad. I didn't even get to see who we're going up against. Alright, Goku, Trunks, and Super Saiyan Gavagea. Started out with the- Oh, gotta love that instant turn. Oh, that's awesome. I got to show you guys my Goku combo and switched it out on me. Oh! Whoa, that hit me? That was crazy. Alright, this guy is a nice, very nice down heavy there. I was going for the overhead when he saw that, or maybe he just didn't feel like blocking anyone. This guy is wild. See if I can't. Oh, my deflect was poorly timed there. You know, a lot of the stuff he's doing, we're starting to get some lag here. No, that was supposed to be a do-it-on-way. This guy is absolutely wild. This guy is a nut. I think it was in the Piccolo there. Krillin, I'm so flustered I just said Piccolo. Here, I'll do it too. Nah, bro.  Hopefully me having three characters is enough here.  That's why this guy's a blue rank. I have better combos than that. Okay. Okay. Oh, I'm not dead. Oh, we got... No, we don't... Oh, I was going to say we have Krillin combos, but we absolutely do not. Random level... Oh!  Oh, I thought... And this is over. Alright. Wow. Sorry for the absolute terrible commentary there.  I'll just say what's on my mind. I'll talk about the team stuff at no time at all. That guy was insane. Alright, watch this. We're going to start this with a simple down-h. Oh! I couldn't stay true to my word. I thought he was going to do a regular old death. Ooh, that is an overhead. You got to watch out for that. That wasn't real. Let's see if we can't finish this. He could not finish it. Whoa! Did you see that? Putting on the pressure. I like it. Oh, let's go, buddy. Down we go. Alright, we got him in the corner. Simple enough. Simple enough. A lot better than last time. Can't catch me. Can't catch me off guard with the same stuff twice. Let's go. Oh! Saw that one coming a mile away. Oh, I did not mean to do that. We are getting some lag here. Whoa! Is that real? See ya. Alright, I got it. What's he going to do? He saved his sparking blast this time, so it is going to be harder to kill him. Oh, there we go. Whoo! Clean him up. Alright, wow. Sorry, guys. That was a bad round. We ranked up to the mech game. Oh, man. We got a ton of points off that guy. That was pretty good. Okay, so I think we're just going to jump into the next round right away, because that one was pretty bad. Yeah, and I guess I'll see my record next time, too. Alright, let's see my record. Okay, I am 10 for 10, which means I could be doing a lot better. I could be playing a lot more games. Oh, we got a classic go... We got... What am I saying? We have the classic God versus God anti-skippy intro. I was really looking forward to that. Start off basic. Oh! Let's go. Oh, I messed that up. Oh, here we go. By the way, what I'm doing with Goku is what you'll see here is you can't go jab into down medium with Goku blue. So what you have to do is you have to... I'll land it in a second. You have to go jab, jab, and then wait a little bit. And then you can do down medium into medium. So, like, what I did just there. By the way, if they have someone with that much blue health, what you can do to get them out is a...  What you can do to get them out... I stopped blocking. Something like that. You can get their blue health back pretty easily. All right. Are we looking at a dead cell here? Is that what we're seeing? That is not what we're seeing. Tien! Tien! Hey, Cell! Hey, Cell! Oh, no! Ah! Whoa, whoa, whoa, whoa! Ha ha ha ha! Always going for the extension. All right, that's pretty cool.  Boom! Boom! Boom! Doudon Ray! Doudon Ray! So Tien actually has a lot of blue health. So what I'm going to have to do here is I think he's going to go for death saucer or something like that. Oh! Ha ha ha ha! That was actually a better call on his part. I did not think of that. One, two, three. Oh, that was bad. Oh, cancel into heavy. Land. And he's down. All right, so he's down to his last character. Not a lot of health. He does have sparking and I have no meter. So I guess this could be good for him. Oh, but I got Justin up. Ah, that didn't work. All right, let's see if I can't pull off a sweet combo here. Nope. That's a big no. Oh, this match is over. Okay, let's do a rematch with this guy and then maybe we'll call it. I don't know. Maybe one more. I'm feeling myself. Wait, my voices are in Japanese. I just realized. Rematch. Ah, I skipped the intro again. One, two. Oh, he hit me. He hit me. I don't know how, but he did. I don't know why I'm playing this round so bad. Oh! What you doing down there, bro? Haha. So one of my favorite parts about Tien is actually Chatsu. I haven't really found too many good combos off of him. But like, in cases where they're too far away, I like to throw Chatsu at Justin in case it hits. You can actually just do a full dash and let me get Cell off of me real quick. That's a bad color. Oh, here we go. Here we go. Is this worth the extra bar? Probably not, but I'm going to do it anyway. Just for the style points, here we go. There you are. We're not in English, so we can't hear that. I'm not going to let him switch out. Oh! Wow, he called it. He knew I was going to be playing defensively. Wow, the sparking blast this early. All right. All right, because that might actually kill me. Oh, that is... I'm definitely dead. All right, I can respect that. That was a good call. Will it be worth, though, in the long run? Oh! Punched him right into that mount. That was clean. I was actually doing that because I thought he would switch out. All right, Incinero dash. Whoa, he jumped it. That was awesome. Oh, that was a good grab, good grab. All right, so when I land, I think I'm going to... Oh, I'm not going to get the land. Really, I do not agree with that. I think those two bars were better spent on something more defensive, especially with the situation he's in. Then again, I am prone to not blocking. Wow, that was bad. Okay, sparking blast. No! All right, he's dead. Bring that up, bring it back down. And that is a dead sell. So what you notice is I do have T in the back, so I can just save up meter and absolutely eviscerate this guy. Oh, but I won't need it. Oh, that's going right through! Oh! Krillin is so cool, man. How can you not love this character? All right, you know what? I'm doing one more just because I'm feeling myself. Here comes a mighty warrior. All right, we are going up against another Namekian who is 26 and 18, and he's part of the space police, apparently. I haven't had time to customize my border. I should actually get on to that on PC, at least. The next bar is pretty cool. Hey, he didn't skip my intro. This is definitely one of the best intros in the game. Now, when they don't skip your intro, you don't skip theirs. That's just common courtesy, guys. All right, let's see what he starts off with. How crazy is this guy? All right, all right. That wasn't that crazy. All right, now we're getting into the crazy territory. That was honestly a really bad combo for me. No, that's not what I wanted.  All right, so this is actually what you want. So I think Trunks is dead now. Simple cross-ups? There we go. Lovely, lovely. All right, so now that one character is down, like I said in my team-building thing, this is a very bad place to be. I don't want to be down a character this early. All right, now he's down to Sparking Blast as well. Sparking Blast does mean he can cancel his moves easy on a block, which means it's very hard to get away. Deflect, get him off me. Deflect, get him off me. And then, boom, now's my time for the strike. We are in there. Oh, he activated the Sparking Blast thing where if you hold it, you don't have to do attack. Oh, Krillin's getting wrecked in there. We would have definitely finished that guy off, even with a longer combo. All right, you guys want to... No off. No. Oh, no, that's not what I wanted. Oh, no. Okay, that works. What's that behind you? Yes, Chatsu! I mean, no! Rip Chatsu. Forever in our hearts. Oh, come on. Good sport rematching. All right, this time I'm not going to go for the cross-up. Going for the instant air dash. Overhead. Didn't work, as you can see.   Oh, he's not clicking buttons anymore. All right. Oh, all right. You do not want to press buttons there against Trunks. That is in the danger zone. All right, now it's my turn to be a little bit crazy. All right. Just keep him in the corner to do some crazy... Watch this. Empty jump. Oh, he switched out. That was very good. Good reaching normal there. Overhead. Oh, that was awesome, dude.  Oh, that was so cool. So what happened there was that I inputted my instant transmission right before he did that. And that was the... I'm just going to kill this guy. So what happened there was I inputted my instant transmission before he used that super, and it came out just in time for me to dodge it. Man, this game is so cool. I don't know how you could not like this game. I kind of thought that was going to happen. You guys want to see that again? No. Too quick. Too quick. Too quick on the trigger. Too quick on the trigger. I was just practicing that earlier, so sorry if I messed that up. Oh, let's go. One, two, three. Oh, I only got to throw one. All right. Wait, should... Oh, no. I feel so bad for this guy if he goes down like this again. Hey, what's that behind you? Chatsu! Chatsu, no! Man, okay. Well, that's got to be it, guys. I'm so tired, but man, I had a blast. These three matches were insanely fun. I hope you enjoyed this. Comment, let me know if you did. I'll be down there as always. If you liked the video, like the video and subscribe to the channel. I'm super tired, so forgive me if that intro wasn't... I mean, outro. Man, I'm going to bed.


It's a lot of money, but it's a big disaster. You've seen that with your own eyes. So I feel pretty good about that. I think you should think about it. I'm proud of the Department of Agriculture people. We had a lot of people there. Hi, Howard. Fine, thank you. How are you? That's, take a look. Thank you. Well, we'll miss you when we're on the road, but at least you'll still be around. Yeah, I'll be around here. You'll probably see me in here a couple times. Thank you for everything in just one second. Sue and I are just on shifting places. Thank you. Thank you very much. Well, I have one for you too. I don't know if many people give you something when they're leaving, but I got this and it reminded me I spent three and a half weeks in the Soviet Union getting ready for your trip. And when I got this book, I looked through it and it brought back a lot of memories, and I thought maybe you might enjoy looking at some of the pictures. Well, thank you very much. That's pretty neat. Yes, that is. It's got all sorts of, it reminded me when I look through it, all of the, um, so many faces, so many different types of people living in the Soviet Union. And really, I was in Moscow for three and a half weeks, and we spent one day in Leningrad. And I really saw very little of it compared to the amount of land that there is in the amount of people there. Wonderful. Thank you very much. You're welcome. I won't let it talk me into defecting. Okay. That's good news. And the last thing, and this is kind of corny, but Jim mentioned that you enjoyed poems. And my father wrote this about 20 years ago, and I won't read it because I'll be too embarrassed to read it, but the gist of it goes, it's something to the effect of what you can do with your life and how far you can go if you want to and whether it's something that you do because you have to, or because you want to try and stuff, and the title is mountains to climb, and the last line is mountains to climb, mountains to climb so little time. So I think this is for you. Well, thank you. Thank you. Thank you for everything. I'm really going to miss this year. Good luck. Thank you. All right. Maybe I'll see you with the Prime Minister. Okay. Okay. Take care. I'm lucky. Okay, I'll try. Nice to see you, sir. Great. Thank you very much. Mr. President, thank you for all you've done, and I wish you well in your new occupation. Thank you. And I wish you all so well because I understand that there's two of you together now in a couple of months. Thank you. Brand new. Do you want to see it, sir? Why don't you turn it off? All right. Thank you. Thank you. Thanks, people. This is such an honor, Mr. President. Thank you. Well. You've enjoyed it. Well, absolutely. It's been one of the great experiences I've ever had. I'll try to find a big part of your team. Well, now that you're householding. A little memento here. Don't drop it. Okay. Great. I'll hold on to it. Thank you very much. Well. Any more advice for us? Thank you very much. Thank you very much. It's a pleasure. It's an honor. Right. Please tell Mr. President. Thank you. Well, I'm an happiness to you, boy. All right, sir. Thank you. Thank you, Mr. President. I won't be in with any more real soon. You don't have to go out there and dance in my own. We won't come to that. Thank you. Okay, go ahead. Hurry up. Well. Come in. Hey, boss. Come on in. Come on in, Greg. What do you think? You're so shy. Hey. Can't you stand up? Hello. I'm not shy. How are you? Fine. How are you? Love to stand up. Come on in. Yeah. So, I'm going to sit down. What are those? We're going to do a little photo from the desk. Oh, nice. Yes. We're going to do it there today. Are you guys smiling? Are you guys smiling? Yeah. How about if we did something a little bit different? Like put them on the desk? Yeah. Or you hold the baby with that one. Okay. Oh, what's that? You started to scream for babies. There's nothing. So, let's see how it goes. Well, he's never, he's never held a baby before. And maybe put the children on the desk or hold them up. Yeah. Good idea. Put it down, kids. Are you going to sit here? Yeah. There you go. There we go. Okay. And move in a little tighter. Yeah. Close. Oh, you want all those kids in the middle? Yeah. Close. Yeah. I think it's going to happen. What? I think it's old. Here. Look at the camera. Are the kids looking at the camera? They're smiling. Oh, I think somebody wants mommy. Say goodbye. Say goodbye again. Thank you, sir. How do you do? How do you do, sir? I'm always grateful to see you. We hold you in awe, sir. And we can't thank you enough for what you've done for the country. Thank you. It never stopped. I think she wants her. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Mrs. Raymond? Hello, there. Hello. Hello, there. Turn around. Look at the camera. Alright. Nice to see you. I think she'd like a family picture here I have to tell you. I'm overwhelmed. family picture here I have to tell you I'm overwhelmed I have long been an admirer of being birds and why don't we gather around and have a whole family picture here behind the table and on the sides. God bless you sir. He's just wonderful of you. We hope you enjoy it. Well we shall and the library you know is going to be in the hills down the San Fernando Valley within sight of the ocean about 100 acres of land there are hills in the valley. I just said to go in on our way down last night I hope that we can come out to the light. Well these are just beautiful. Thank you very much. Please express our fondest regards and admiration to Mrs. Reagan. I shall. Thank you. And she too she is also a lover and admirer. Thank you. The bees are just ready. Thank you. And Mrs. Reagan has been very helpful to us. Giving us down here. Wonderful. We're going to miss being here terribly. Sure are. Goodbye. Thank you very much. Thank you. Well thank you. Thank you. Good luck. Thank you. It's okay. Thank you very much. Well my thanks to you. You're welcome.


Hello, in this video we're going to create a pie chart of the land cover in a subcatchment. Because we want the pie chart to have the same colors as the legend of our layer, we need to install a plugin that will save the colors to the attribute table. Plugin is called ColorToAttribute. After installation you'll find a new icon in the toolbar. Click on the icon and make sure you choose the Corrine Catch Intersected Core layer that we created before and we use the Create New Attribute option there and we will call the new attribute hex because it will store the hexadecimal color codes that it finds in the legend that we already created. Let's check the result, go to the attribute table and there we find the color codes added in the hex field. For making great charts we use the Data Plotly plugin, you can install it from the Plugins Manager and before we start configuring our pie chart, I'm going to dock the attribute table, you can do that with this icon and then I see the attribute table below on the screen and this is useful for later when I need to use those hexadecimal codes for each land cover so I can easily read them from the screen while we are working in the Data Plotly panel. I sort it by the end value to have all the classes and corresponding colors here on the screen. Click the Data Plotly icon and choose the pie chart. Make sure that you use the Corrine Catch Intersected Core layer. We're going to create a feature subset by using the data defined overwrite and first we will create a pie chart for dn equals 0 so that's the subcatchment which has dn value 0 and for the grouping field of the pie chart I use land cover and for the y field I use percentage and then when I create plot you will see that it will use random colors here that have nothing to do with our own legend colors that we defined before. If you want to use the legend colors you need to again go to the data defined overwrites and click edit to build an expression. We need to create the expected format that is printed in the dialog and therefore we need to use the map get function combined with the map function and this will map our land cover classes to the corresponding colors and format it in such a way that we can create that legend. So now we need to add a land cover field. If you click all unique you can find all the unique classes in the land cover field and let's start with the first one agricultural areas and let's look up the hex value that belongs to it we can read it from our attribute table and we double click so there are basically two strings added here in the map function the land cover class and the corresponding hexadecimal color code. We do the same for all other classes we'll end with a bracket and the map get function still needs the land cover field added there so don't forget that and then a bracket and now we can change the legend use a horizontal legend and give it a nice title and then we can create the plot and here you see the plot in the correct colors and you can use this button to export the plot to an image a PNG file for example. So in this video you've learned how to create a pie chart of the land cover in a subcatchment with the corresponding colors of the legend.