Hello, this is Waylon Chow and this is part 4 of the Constitution of Canada on Indigenous Rights. In this video, we will provide you with a general appreciation and overview of how Indigenous Rights are recognized and protected by the Constitution of Canada. Remember in 1982, the Constitution of Canada was repatriated from the United Kingdom to Canada. As a part of that process, the Constitution Act 1982 provided us with the Canadian Charter of Rights and Freedoms, but also within the Constitution Act 1982. There is a recognition of the rights of what are referred to as aboriginal peoples of Canada. The more appropriate modern term for aboriginal is indigenous and that is the term that we will use in this video. In subsection 35.1 of the Constitution Act 1982, it explicitly recognizes and affirms the existing indigenous and treaty rights of the indigenous peoples of Canada. Indigenous peoples of Canada includes what are referred to as Indian, Inuit and Métis. Indian is more appropriately referred to today as First Nations. First Nations peoples are those who occupy the land south of the Arctic before the arrival of the Europeans. Indigenous peoples are those who occupy the Arctic and the Métis are people of mixed indigenous and French ancestry who develop distinct customs and cultures. So what are the rights protected by section 35? There are two types that are mentioned in subsection 35.1. Treaty rights and indigenous rights. Treaty rights are the rights contained in treaty documents entered into by indigenous peoples and the Crown. Indigenous peoples are made up of First Nations, Inuit and Métis. The Crown refers to the British King or Queen especially if it is before Confederation in 1867. The Crown also includes the Canadian Parliament and provincial and territorial legislatures. Indigenous rights is a broader category of rights which are collective rights held by indigenous peoples that reflect their original use and occupation of the land. These rights may vary and may include title to land, self-government, resource exploitation and culture and customs. The Supreme Court of Canada has said that section 35 imposes a duty to consult on the Crown. This came from the decision of the Court in the Haida Nation and the British Columbia Minister of Forest. In that decision, the Court said that the duty to consult is a part of the ongoing process of reconciliation between indigenous peoples and Canadian society. The Court said that the duty to consult requires the Crown to consult with indigenous peoples whenever it intends to act in a way that may adversely affect indigenous rights. That duty to consult may be also delegated by the Crown to business interests. An example could be a company seeking a logging permit may be directed by the provincial government to consult with the affected First Nations to discuss the impact of the project and to negotiate a plan to accommodate indigenous interests as a part of the process of obtaining that logging permit. What exactly does the duty to consult require in any particular situation? That's a very difficult question to answer, but what we do know is that it depends on two things. The strength of the indigenous rights claim involved and the seriousness of the harmful impacts. On the low end of the consultation scale were a weak claim and minor impacts are involved, providing notice to the affected indigenous groups with relevant information may be enough to satisfy the duty to consult. On the high end of the consultation scale where a strong claim and serious impacts are envisioned, then a deep consultation involving two-way dialogue and participation of the indigenous groups in the decision-making process may be needed as well, accommodations may be required. Accommodations are adjustments of modifications to a project in response to indigenous concerns, for example, if a certain geographic area is seen to be culturally sensitive by indigenous groups, an accommodation may be needed to have the project avoid those areas altogether. The Supreme Court of Canada has specifically said that the duty to consult does not give a right to veto to indigenous groups. The duty to consult is best seen as being aimed towards a reconciliation of the rights enjoyed by the people who traditionally occupy the land and the right of the crown to govern all Canadians. A good example of the duty to consult and the difficulties that arise from that duty is the Trans Mountain Pipeline project that was proposed by a company named Kinder Morgan. Kinder Morgan needed the approval of the approval and permission of the federal government in order to proceed with the project. The federal government delegated the duty to consult with indigenous groups to Kinder Morgan. After Kinder Morgan had finished its consultation process, the federal cabinet approved the Trans Mountain Project. However, certain indigenous groups challenged that approval in court. In the decision of Tisley Wetuth Nation and the Attorney General of Canada, the Federal Court of Appeal quashed the federal government's approval of the project on the basis that the duty to consult had not been satisfied. Specifically, the court said that the federal government had been closed minded and unwilling to engage in a meaningful two-way dialogue with indigenous groups. Due to that court decision, Kinder Morgan decided to stop the project to suspend construction. The federal government then decided to take on the project itself. It bought out the project from Kinder Morgan for $4.5 billion. The federal government then restarted the consultation process again. After finishing a more extensive consultation process, the federal cabinet again approved the project and that approval again was challenged in court. This time, the Federal Court of Appeal upheld the approval, saying that the duty to consult had been satisfied. The Trans Mountain Project at the very least tells us how difficult it is to ascertain exactly what is needed to satisfy the duty to consult.


I would say there are no really secrets for academic success, but definitely hard work. And I would suggest go to professor's office hours if you have questions because they are there to help you. So I think that's a good way to be successful in U.S. academically.


Think about Bill Gates, right? Think about Bill Gates making billions and billions of dollars. In the 1980s and the 1990s, how does he make his billions of dollars? He makes it by creating a product. And what does he do with that product? How do you make money? How do you make money? General question. You what? Sell millions of copies. But there has to be an assumption, right? Because if it costs me $100 to produce something and I sell millions of copies for a buck, do I make millions? No, so I have to be able to sell it for what? For a profit, which means above whatever it costs me to make. And it has to be a good enough product so people value it more than what? More than their money. So if I sell you a piece of software for $100, it has to be worth more than $100 the person who buys it. And in Bill Gates's case, anybody have an assessment of how much that piece of software actually was worth to people who bought in the 80s and 90s? So you paid $100, let's say, for wood or for DOS or something like that. How much was it worth to the person buying it? A lot. I mean, thousands, tens of thousands, hundreds of thousands, a lot. Maybe even millions. Because it changed your life. Because it changed computers. And it changed everybody's life. And suddenly we were all networked. Suddenly you didn't have to have a typewriter. You guys are too young to even know what that is. I know, but it's those old things where you clunk. Suddenly everything changed. And the value of that piece of software is a lot more than $100. So here is Bill Gates. He's making all of our lives infinitely better, infinitely better. And he's making gazillions of dollars doing that. And as a culture, what do we think of him? Going back to that culture. I mean, is he a good guy? Is this a guy? We all think he's a great businessman. We all want to be gazillionaires. But is he a good guy? Is he like, are we going to build statues to him? Are we going to praise him to the hilt? Is this like Mother Teresa's over here? Where's Bill Gates? Way down there. I mean, he's not a good. He's not morally, from an ethical perspective, from the kind of view of what goodness is, Bill Gates doesn't rank. He's made all of our lives better, but he's made money at it, so he doesn't count. When does he become a good guy? When he gives it away. And that's that view, 19th century Christian view. It's OK to make billions, only if you land up giving it away, only if you land up serving other people. That's the purpose of life, is to serve other people. That's the essential. And if you make stuff, money, while serving other people, that's not that good. It's OK, but it's not that good. So, for example, you know micro loans? These loans, the people going to developing countries, and they give these small little loans to very poor people to help them start businesses on. And it's proved to be incredibly successful in really getting entrepreneurship going in poor countries. So there are companies that do it that are not for profit, and their success is so-so. And then there are companies that do it for profit, and they're phenomenally successful. But who is considered better? The nonprofit, because they're not getting anything in return. So notice that there's a, we live in a culture that in terms of respect, in terms of admiration, in terms of what gets moral, ethical, virtue points, you get them when you sacrifice. And what does the sacrifice mean? You give something, or what do you get in return? Nothing, or something less, valuable. Because if you give something and you get more in return, what do we call that? Profit, we call it a trade. That's a trade. When I give you something and you give me something that's worth more to me, you got something more, and I got something more, that's a trade. And that's a win-win. We're both better off. When I buy Microsoft product, Bill Gates is better off. I'm better off. It's a win-win. Sacrifice is lose-win, or win-lose, depending on what side of the sacrifice you're on. So, and that, that is way up here. That's up there with Mother Teresa, right? That's good. So we live in a culture where lose-wins are good. And win-wins are just OK. Kind of weird, right? Just doesn't, there's something strange about that. But think about relationships. Think about the value we place and just our terminology. We talk in hushed tones and with reverence towards people who sacrifice, how wonderful that is. In other words, losing is good. That comes out of this notion that your life is not your life. The only purpose to make your life better is to serve other people. The alternative to that has always to be presented as, yeah, you should make your most of your life. And what that means is, whatever you feel like it is, whatever you feel like doing, anything goes. There is no standard for determining what is a good life, right? Whether it's a billion dollars, a hot woman, whether it's this career, that career, whatever you feel like doing is good. Feelings is the guide. Feelings is the motivation. If you think that a good life comes from lying, cheating, stealing, well, we don't advise it because you might get caught and stuff and go to jail, but who are we to say that that's not right? Anything goes. Anything's permissible. That's what being a self-made person is supposed to mean. And nobody actually says it, but it's no because nobody actually tells you to go lie, steal, and cheat. Nobody would actually advocate that. But the implication is that it's all OK as long as you can achieve the outcome. There's a whole school of philosophy in going back to Dewey, those whole school of pragmatism, which basically says, if you can get away with it, whatever will get you to your goal, that's OK. And self-interest, when you talk about people being self-interested, when we talk about people being selfish, that's the kind of image we have. Because when you say to somebody, you're selfish, do you mean that as a compliment? No. You mean that as a derogatory term. When we look at somebody and say that person's selfish, what do we mean by that? We mean he's a what? What? Yeah, but what do we mean by that? What kind of behavior is he exhibiting when we say that? What's that? Do we really mean he's being successful? He's a taker. He's a mean, lying, cheating, stealing, would stab you in the back if he thought he could get away with it. That's what we mean by it. But what does selfish as a would actually mean? What does the term mean? Yeah, taking care of self. Taking care of self, which is what you're all here to do, to take care of yourself, to make your lives better, to improve your diet, improve your physique. I mean, this is one of the few self-help kind of conferences that actually has a kind of philosophical component to it. But you're here to make your lives better. And yet that term, making your life better, being selfish, is associated with all this garbage, backstabbing, lying, stealing, cheating, whatever it takes.


So we are going to start module five, which is going to use the gene mania application. So this module is called gene function projection. And this module was linked to a recorded video that had a whole the details about the theory about gene mania. So I hope that you could watch the video and you haven't, then you can still watch it tonight I suppose. So this video was pre-recorded by Craig Morris because we're going to use the software called gene mania as our, so yeah, here is some, oh, that's the copy. Okay. I thought it was the speaker. So the video is from Craig Morris because the software called gene mania was, has been developed a few years ago by Craig Morris in collaboration with Gary Bader. And gene mania is still maintained by the beta lab at the Donnelly Center. So I will do a brief summary of the theory, but the focus of the presentation as I did for the other modules would be on the applications of gene mania in our current project. So gene mania answer to type of questions as it has been explained in the recorded video. So two different type of questions. So one is just when you input one gene. So when you input one gene into gene mania, the question that you are trying to answer is what does my gene do? And you also can input like a few genes, 10 genes. And then your question that you want to answer with gene mania is give me more genes like this. So this is a summary of the keywords, some keywords defining gene mania. So gene mania is a functional interaction network.  So nodes in the network are genes and they are connected by edges. So edges are the lines between the nodes if they are functionally associated. So for example, proteins may know to physically interact with each other or they can belong to the same biological pathway. So that's two ways to be connected functionally. And they can be also known to colloquialize in the same tissues, for example. So all functional networks may merge in gene mania as a global network that would gather all these different networks and their weights associated with them. So to predict the function of a gene, gene mania use the concept of built by association. And gene mania finds genes and networks associated with our genes of interest. So gene mania is available as a web app and a site escape app. So for the lab, we are going to start first with the site escape app. And then there is also the same lab with the web app if you want to try. And in the next slides, I'm going to present example where it's easier to use the web app when you just Google gene mania and then you enter a few genes or where you want to do more complex networks. And in this case, you use the site escape app. So just a summary of the theory. So here with the puzzle piece, I've represented the different networks that are used by gene mania to connect our genes. So it could be physical interaction, non-physical interaction between two proteins. It could be a predicted physical interaction, shared protein domain. So each protein have the same domain. So then we put a line between the two proteins, genetic interaction, collocalization or co-expression. And there is a weight associated with them. And then we construct a network. So each line is a connection from the network. And each different color comes from the different networks. So some tools, they would gather all the network and they would just put one line. That is the sum of the different networks. But gene mania, really, you keep the information of the source of the network. So that's why you have the different lines. So label propagation can be used to associate a gene with an unknown function. So here is a query gene, the gene with the unknown function to another set of genes. So here, this is an example of how it could work. So first we have small nodes and big nodes. So the large nodes, they are large in size because they are connected with each other. And this one is the query genes. And we want to guess the function of these genes. The red, let's say the red color would be a function. So we know that these two are a function A. But we don't know the function of this because these nodes here, like intermediate size, are related to the big red node. By this label propagation or heat diffusion, we can assign the function A to those genes. We are less confident for sure because it's a prediction, but we assign the function A. So that's the color orange. And because my query gene here is connected to this node, we can also, by guilt by association, predict that this gene A is also related to the function A because it is functionally related to the other genes that are known to have this function A. And for sure, we could not assign function A function. Let's say this one, these nodes have function B. We could not assign function B to this node because they are not related. So the network weights, so I've seen the weight here. So we've seen that there are different weights that are used to build the network and guess the gene function. And just to tell you that you have a parameters in gene mania where you can adjust the weighting. And by, so automatically the weighting is associated to give more weight to the pathway network. I think it's the blue network here. The pathway network come from the go BP, go biological process because we are trying to guess a function. So that's why it makes sense to give this network more weight. But also sometimes you can put equal by network. So all the networks in each individual main categories of networks would have the same weight. And it's you use it when you want to get all the information about your genes. You don't want to select just in one direction. And it's better to try it, to try the different parameters on the menu to understand the consequences on the network that you are going to create. So now some applications of of gene mania. So like mainly based on my projects and how I use it. And hopefully that gives you ideas on how to use it for your own project. And also I'm going to mention if I prefer to use it on the site escape app or on the on the website. So the first one, as we say, the first question with gene mania is we query one gene. We don't know the function and it predict the function. So here I tried it with IPO form because that was like in my work. My question was, well, do I mean, do a query of IPO four, which is an importing. So it's the role of IPO four is to import proteins into the nucleus. But IPO form is part of the family of importing. So I had to do not only the work of IPO four, but the question that I was asked to solve is to do it on the family of importance. And I had no knowledge of importance. That was my my first time working on IPO four. So what I did, I just copied and paste IPO four in my gene mania search box and gave me all these genes. And I've extracted all these genes and I did my my heat map and my analysis was all these genes. And then this is the comparison with a diagram that illustrates the importing family. And then you can see if you look at that, that's a lot of or many, maybe not all, but almost all the importing genes that were important were retrieved by gminia. So that saved me a lot of times instead of Google and PubMed and looking at the papers to gather all the genes of the importing. I just did it in five minutes. So this is one example. And I did the same with this one. So this one, these two genes is that H1 and SUSE 12, they were part of my hits, you know, when I did my RNA sequencing and they were part of my hits. So I looked at the function of these genes and I kind of understood that they were part of this PRC2 complex, which is the polycom repressive complex. But that was about this. I didn't have more knowledge than that. So I copy and paste these two genes now in gminia. And again, my goal, I wanted to retrieve all the protein complex for the PRC2 to do a more comprehensive analysis and my hit map and to make sure that all the complex was affected in my experiment. So this is also how gminia helped me with that. And I also did in the gminia web app because I just Google gminia and I copy and paste my gene. And then there is a function to export the gene list and that's the way I did it. So that's a third example. That's absolutely not my project. But I thought that it was also interesting. I think there is the paper, the reference paper here. And I think they did gminia in this reference paper. So they were working on Alzheimer's disease. And what they were doing is looking for mutations, indels, and they found 206 variants when they studied Alzheimer's disease patient resources. So early onset Alzheimer's disease patients versus control. And so these 260 variants, so that's NIPPS, deletions, mutations. They could associate this with 23 genes. So now they wanted to know the function of these 23 genes because they were not found together the 23 genes. They were found some in patient one, some in patient two. So that's the result of the global analysis. So they used gminia. So they input their 23 genes into gminia. And the first goal is to find the connection between these genes. And they found that actually these genes were known to be functionally related to each other. So that's the first result that they got. And then gminia, so using the function prediction, is going to add genes related to those genes. So the query genes are the ones that you see with the black border. And the other genes that were added by gminia are the smaller genes. So then what is useful is that it could connect two genes. So you have two genes for your query, for example, A and C, they are not connected. But by using the linker, now your two genes, A and C, are connected by this linker gene. So you expand your network. And also, now that you have this network, basically your goal is to find the genes that are important in the early onset isomers disease. So first, you started with your core of 23 genes. But maybe you retrieve these other genes as well that are important. And when you apply the functional enrichment on this, so on the left, you have the pathway enrichment for those genes. And then you see that it's also related to neuron function. So it gives you some reassurance that these genes work together in some brain function. And then you can further analysis them. And so this one was done in the app. But you could have done it in the web version. But it's starting to be a bigger network. So maybe you want to go back to the cytoscape app. So the cytoscape app will have the advantage that you can play with the visual style. You can merge networks. You can import attributes. So that would be one reason that you move to the cytoscape app. So that's another example. This is 43 genes implicated in cholesterol metabolism. And basically, they just wanted to do a nice figure for their paper. So they had their 43 genes, but they wanted to connect it in some sort of diagram as a network. And so they use G-menia. So I recognize the brown lines for shared domains. So all these proteins there, they seems to have a shared domain, which is useful information. The linker genes here, they could connect, for example. So this one is a gene that is added by G-menia and could connect these two nodes with the other nodes. So it adds some connection to make the link better and the figure better. And they added their visual styles. I think the center of the node was for the 24 time points or three hours time points. And the border node was for their 21 hour time point. So that's another example. And then you've seen it. So then we might have seen it yesterday at the end of module 3 G-profiler lab. Then when you have created your heat map, then you can right click and have directly the G-menia network. And why is it useful? It's that you could have a pathway that is very significant, but contains subnetworks in it. So it could be, I think it was like RNA, let's say RNA translation or RNA, I don't know, I cannot read it. But some RNA processing translations, it's kind of a big network. And then if you do G-menia, what you are going to do is you are going to find a subnetworks into your full networks. And you can, using the, a little bit like reactor my file. So once you do the functional enrichment, you can click on the function and it would highlight the genes corresponding to the function. So then in this case, in one node, I could extract sub five modules and annotate more precisely my network. And this is another example of when I use it. So maybe for some of you, this is a really advanced topic. This is not something personally I do, but there is the possibility to add your model organism. So G-menia, basically, there are a lot of organism possible, but you also can create your own database. So you just import your database and you can construct the networks. And there is possibility to use G-menia as an example to assemble different interaction networks that you might have for your research question. So basically use the algorithm and modify it for your own needs. So this one actually, so Ruth was implicated in this. This is MDX. It's a patient classifier algorithm that is based on the G-menia algorithm and you have the reference. So for me, it's really advanced, but I wanted to show it to you because we are working on different projects and that could be very useful for you. So I think this is, oh yeah. So this is the last slide for G-menia. Do you have any questions for G-menia? No. So then for the lab, we are going to also use the string app just a little bit. So the string app is also going to give you a functional interaction network. So you will have the choice between some different database. And so when we say functional association, it could be any relationships between the proteins like pathway relationships and physical interaction is when we know that the two proteins are physically connected to each other. So we are going to use the string app that is actually, I think included in the Insetterscape app and then you can also install it. And so first you create like a very beautiful network, but there are also options to do functional enrichment and so on. Yeah, so this is the functional enrichment on the string app. So this is these two that we are going to use in the lab of module five now. And we are going to see it also a little bit in module six. And this one is a new tool. So I just wanted to mention to you because I found it interesting. I've never used it in my research, but I was like doing some PubMed research on the different tools. And I say, oh, well, this one is interesting as well. So I wanted to be exhaustive and present you different tools. So FunCop seems to be very promising, very well maintained. It's a web app, but it has really the same idea as creating a functional network. As we are seeing today with different also with, you know, co-expression, pathway, protein, protein interaction, a lot of model organisms seems to be very user friendly. So if you're interested in your project and you need to construct some networks or just to analyze some genes, I would like to mention this tool to you as well. So that's it for the slides.


If you guys remember a while back There was a lot of leaks for Pokemon Sword and shield well before the game came out And this sparked a lot of controversy with the models and all this stuff And there was already some controversy from Nintendo's own release material But it got worse and worse as the leaks came out We eventually knew what the entire decks was long before Nintendo ever revealed it or the games came out And we knew that there was a leak and we knew that the Pokemon company and Nintendo Have discovered who they thought was the leaker, but they hadn't really given us any details other than they would pursue legal action Well, we seem to be at the conclusion of that legal action and Nintendo has not only concluded the legal action and the Pokemon company They have publicly stated where this person came from and That's very unusual because usually in cases where leakers are caught and say they do come from the media Which did happen this time around So someone with access to a review copy got busted for leaking They don't usually call out the entire outlet now. I have a theory on why they are calling out this outlet But we'll get into a bit the first is getting to the official statement now We have the statement and then we have a response from the official website That was accused of this stuff, but let's get into the Nintendo statement And then we'll go over to the website to see what they had to say So Nintendo life has here building up to the release of Pokemon Sword and Shield last year certain elements of the game including Pokemon Which hadn't been revealed or leaked online images and information spread like wildfire And it was painfully easy to accidentally stumble across unreleased content ahead of the game's launch back in November It was rumored that Nintendo may have caught the person Responsible for the leaks and the following month we learned the Pokemon company was taking legal action by filing a lawsuit today Nintendo and Pokemon shared a joint statement on the matter So Nintendo and the Pokemon company agree on this statement and you can read it in full below The joint statement from Nintendo and the Pokemon company in early November Nintendo identified a number of photographs taken from the gameplay that revealed multiple new and unannounced Pokemon from Pokemon Sword and Pokemon Shield these photographs have been posted online and Nintendo together with the Pokemon company quickly identified the person responsible for these leaks they took immediate action These Pokemon were leaked by a reviewer for the Portuguese website f Nintendo who had received an early copy of the game for review purposes Both he and f Nintendo failed to handle confidential material Resulting in a clear breach of the confidentiality agreement between Nintendo and the media outlet as a result Nintendo will no longer work with f Nintendo Nintendo always protected its intellectual property and brands Leaks hurt not just Nintendo But the thousands of employees who worked hard to bring games to the market and the millions of fans around the world who look forward to News and surprises to the surprise and delight of players through new experiences is a shared passion for Nintendo and the Pokemon company We will pursue all avenues to preserve surprises for players of future Pokemon titles Now we aren't sure what legal ramifications have come out of this We do know that you know Pokemon Sword and Shield here. They've sold 16 million copies Not just a box here the games in there. And what happened is Somebody at a media outlet and I used to work at more traditional media outlets Zelda Informer I we used to get review copies of Zelda games at Zelda Informer back in the day Which has been since merged with Zelda Dungeons, so I'm sure as all the dungeon could get access to review copies Should they want I have gotten review copies for places like amnesia in the past I've worked at traditional media outlets in a brief stint at Nintendo everything And what's interesting when you get review copies is They don't make you sign an agreement before you get the review copy at least they used to not do that maybe they do that now, but they used to send physical copies in the mail and When you got those copies along with the copy would come basically a list of Things that you agree to just for having that copy It's interesting because I always thought it was weird that they would send you a review copy without making you agree To the terms before they send it because if you have no intent to ever agree to those terms ahead of time You're not gonna send the game back, so you're going to probably do something you shouldn't be doing with it And the terms would always say things like you know, you could only Here's when you could do writer preview. Here's when you can release a review in your preview You can only go through this part of the game These parts of the games are not allowed to be you know not allowed to be talked about at all You can do X amount of video clips of the game up to this point. You can't show this you can show this It'd be basically a list of restrictions even when the review came out Sometimes there would be restrictions in the review If you release it on that date the restrictions are lifted the day the game comes out So if you want to wait to release your review the same day as the game released Then you don't have to worry about those restrictions But if you know sometimes there were restrictions on the review just because they wanted to protect say the ending of the game Or or something like that which is perfectly makes sense And I don't think reviews necessarily need to spoil everything about a game to be effective There are reviews that do that, but I don't think that that's required So most of us reviewers didn't view it as a handicap and I did use these review copies to review some games Also to create some walkthroughs to get ready to go on day one for certain Zelda games stuff like that So I have I have literally direct knowledge of how Nintendo handles review copies of games at least here in the United States Now it's different now because now they do all digital codes and the last review copy I got from them was Twilight Princess HD and I got that As a digital code and in the email of the digital code contained all the NDA information So it is implied that you agreed to this information for them sending you that copy of the game I always felt like it should be something you sign ahead of time or the outlet you represent signs ahead of time But that's never been the case and I don't know how other companies handle their review copies again I think I got a review copy epic minky that was much to the same way. So The thing is is this all that probably got this did this email with the digital code And then they picked who you know, it usually is sent to either the individual reviewer or it's sent to the Editor-in-Chief and then they can delegate who's going to be doing the review who gets the copy etc and What I find interesting is that in all of this is that we've had leaks in the for from media outlets We have had specific members of the media end up leaking things and the person's never named nor is the outlet by Nintendo This is because one the outlet usually isn't completely blacklisted Which has happened in this case and we'll get into it a bit but beyond that They usually aren't this savage about it, but I think One reason why they're being this savage about it is the Pokemon company is much more restrictive of their stuff than Nintendo Themselves is and the Pokemon company has done things like shut down fan meet-ups using Pokemon imagery at bars Like there was a meet-up before packs It was supposed to happen some years back in the Pokemon company completely like banned that from happening even though I didn't have any negative impact on Pokemon But it didn't matter. They're that protective of their IP So Nintendo has to be complicit with Pokemon's desires the Pokemon companies desires But beyond that F. Nintendo released a statement. Let's get to what F. Nintendo had to say on this Now they are a Portuguese website, so I did Google translate this or will be Google translating this and Here's what I had to say and for some reason it's repeated twice. I don't know if this is a thing that happens I Don't know I'm gonna read just both statements in case there's some differences here So it's a two-hour readers in early November of 2019 a series of photographs of a screen displaying images of several Pokemon At the time not yet announced from Pokemon Sword and Shield games were shared online We want to take this opportunity to openly admit to our readers that F. Nintendo was Responsible for the online dissemination of some of these photos Nintendo offered us a copy of the game for analysis purposes with clear embargo guidelines Which with with which we agreed that copy was sent to one of our employees who improperly shared the aforementioned photographs After the investigation F. Nintendo ended its relationship with that employee our relationship with Nintendo Portugal dates back to 11 years, but our part of this is Undue sharing is a clear violation of the confidentiality agreement between us and as a result a total breach of trust with Nintendo We recognize that this is unacceptable to violate the embargo guidelines that we have not handled the materials for analysis Would do care we fully respect Nintendo's decision to cancel the confidentiality agreement between our companies and as a result of this Breach of trust and to accept that we will no longer receive Nintendo products or be invited to participate in its events But to apologize to Nintendo and the Pokemon company as well as our readers for disappointing them after Nintendo So after never confirms they are blacklisted by Nintendo. They will not get media access to things They will not be invited to events review copies all that stuff Nintendo drop the hammer. I don't really know why this statement's made twice But that doesn't really matter. The point is that F. Nintendo fully admits to it. They admit they are blacklisted And that's a huge deal. It's almost a death knell for a place like F. Nintendo now I did some research into F. Nintendo and it turns out they're a relatively small website They get about 8,000 views or so per day to put this in perspective my former outlet that merged into Zelda Dungeon back in the day so Zelda and former back in the day would get usually between two to three million views per month For us to get review copies game easier would we'll get over a million Places like Nintendo life get over six million views per month So it's a very tiny website of Portugal's opposite a smaller country And this was the largest from what I can tell in my Google research Nintendo fan site on in Portugal So I guess it kind of made sense that for Nintendo of Portugal that this might be a go-to website for review copies and events for fans in Portugal Even though the viewership is so small that's still potentially thousands of sales that F. Nintendo could Generate and it's interesting because here we literally in one week past more than 8,000 views So we are like, you know 4x as big as F. Nintendo in general Per month as a youtuber and we don't get review copies, of course They they handle video reviewers and video people differently There are outlets much smaller than me on YouTube that actually get review copies why I get denied I don't know maybe Nintendo doesn't like me It's weird to I have a history reviewing their games and I've always followed the NDA and never leaked anything But it is what it is. I honestly think that at this point The hammer had to have been dropped Because Nintendo doesn't care There's such a tiny place the Pokemon company cares greatly and they want to issue a warning to any other Journalist in the world whether you're a youtuber or or whoever you are that gets review copies of games If you leak our games in the future Do not be surprised if we drop the ban hammer someone who works for IGN leak something But by IGN we're ejecting you and I think Nintendo had to be harsh like this because they are so tired of the leaks The Pokemon company especially is tired of leaks You guys remember Pokemon Sun and Moon like the entirety of Pokemon moon was leaked online in rom form and people were literally Playing the game worldwide before the games came out clearly Nintendo wants to avoid this situation in the future And that's really all I have to say about that. You let me know what you think about on the comments Well, I am Nathaniel opponents from Nintendo Prime I'm sure drop a like on this video if you like it share it to your friends Subscribe to the channel hit that bell icon and if you're wondering yet the lighting is a little Dark today. I actually changed the setting on the camera. So I wouldn't be Auto-focusing as much and I'd stay in focus more but in doing that. It's like the lighting The camera sees this change. It's a little it's a little weird. I got to work out some kinks here There is a ring light I want to attach to the camera itself that might fix some of the shading especially when I wear my hat But I don't want the blue face to come back. Yes, remember old blue face Nate I don't want that blue face got to come back and there's a setting I could I could put on there that makes it So I look perfect, but then my face is blue And that's not the way it works in the real world. In fact, this is probably more closely to what the exact lighting looks like, but Whatever I am the tender of a chance. This is Nintendo Prime. I'll catch you guys in the next video


Aaron, another exceptional day offensively for you. Four for five, four RBI, two home runs. Can you describe what it feels like when you step into the batter's box when you're as locked in as you are? Like I said all year, we got a good team here. Guys up and down line up, we're swinging the bat well all day. I know we went down three nothing early with the long home run to right field, but these guys don't give up. So when everyone's trusting each other, go up there and do their job, we know we're always gonna come out with a win. You blasted home runs number 58 and 59, now just two away from Roger Maris' record of 61. How do you process that with 16 games left to play? We got 16 important games. We got a lot of AL division arrivals coming up. Just stay focused on taking care of business on the field and all those stuff will take care of itself. You've been doing something that's extraordinary and you've been making it look easy. Has it felt easy? Oh, never, never. This is a tough, grueling game that you can be the best player one day and the worst the next day, but it's about just, you know, keeping the confidence in teammates, keeping the confidence in each other. You know, don't overthink it. You know, it's a kids game.  You mentioned your teammates. The guy behind you, Anthony Rizzo, was in the lineup for the first time in over two weeks. Can you just speak about what he will mean to this team down the stretch if he's able to remain healthy? Wow, he looks incredible today. You know, he was taking free as he swings which we saw all, you know, in the first half, you know, to start the year. You know, having that lefty lineup in there to kind of mix in between me and GT, me and Stanton, you know, a guy that's gonna work the count, get on base, you know, he's a Platinum Glover over there at first base. He's a big part of this offense, big part of this team and why we're in first place. I know you'd rather talk about anything else, but what would it mean to you to break that American League record at Yankee Stadium? Let's talk about it, you know, if it happens, you know, I don't want to get ahead of myself. You know, we've got a lot of ball games here. They're important. You know, we've got to focus on winning. But if that ever happens, you know, I'll give you a good answer. Aaron, thanks for the time. Thanks.


Statistics and Excel. Histogram versus bar chart. Got data? Let's get stuck into it with statistics and Excel. You're not required to, but if you have access to OneNote, we're in the icon left-hand side OneNote and Excel presentation tab 1030 Histogram versus bar chart. We will also try to put the transcripts in OneNote as well. And if you go to the View tab, the Immersive Reader tool, you can actually change the language on the transcripts if you so choose and either read or listen to the transcripts in multiple languages. Desktop version of OneNote here. We have the information on the left-hand side. Our data imagining it to be yearly salary or income of employees at a corporation. We've already ordered the data from smallest to largest. In other words, instead of being in order by like alphabetical


The liberation of Crimea will happen when it is warm. The forecast of Kirillov-Budinov, the head of the Defence Intelligence of Ukraine, that the armed forces will enter Crimea by the end of spring 2023, was only a possible scenario that could be subject to adjustments Andriy Yusov, representative of the Defence Intelligence of Ukraine, said in an interview with Ukrenska Pravda. We are talking about scenarios. This is not a bet in a bookmaster's office or a tear-off calendar on the wall. Adjustments are being made, but the overall situation and the overall assessment remain unchanged. Ukraine will definitely regain Crimea. Yusov refused to specify the date for which Budinov's forecast of the Ukrainian armed forces entering Crimea could be adjusted. At the same time, he added that the liberation of the peninsula will happen when it is warm. Yusov said that as Russian missile attacks subsided following their attempts to cripple the Ukrainian energy sector, the occupiers had enough time to produce missiles to continue their missile terror in May. According to Yusov, if earlier the whole of Ukraine was under attack, now the Russians select key targets for themselves. And Kyiv has become a sacred target for Putin's regime.


because, as I say, it's been a strange day so far. Myself, I'm a freelance consultant and trainer on cloud-native solutions. I'm a Brit living in France for about 27 years, so I'll soon be a Brexit refugee, no doubt. And I run a local Docker meetup group and Python user group. And this is Grenoble in the French Alps, where I live. OK, so first of all, so why wouldn't go from monoliths to microservices? But first, a bit of history. So it's interesting, if you look back the last 20, 25 years, it's been quite phenomenal the way computing has evolved. 25 years ago, we were still running bare-methyl servers and I guess if you were running virtual machines, it was because you were running IBM mainframes. I don't think there were many instances of virtual machines at that time. Then VMware came along. So then, virtual machines became the new thing, running on hypervisors, which led on to cloud, with a choice of hypervisors available. So cloud search more elastic systems. Then containers came along, which existed before Docker, but Docker made containers really usable. And that has really changed the system again. And the new FAD, I would say, I believe in it, it's real. The new thing I would say, new kid on the block, is serverless. So we're going to talk about microservices, which is a bit, actually, you could do microservice on virtual machines or containers or serverless. And one initial point I would say, well, the future will be hybrid. We will use all of these technologies depending on different constraints and important choice. OK. But why, still, would you want to move away from how wonderful monoliths have been serving us so well? Well, these monoliths, more or less, they're big bricks of software that are developed in some sort of waterfall development mode, where the new release is like six, 12 months out. So at that point, the official release comes out. In the meantime, if you need to patch, for example, it's a bit of a complicated process, both for the vendor and for the person deploying. And generally, you just don't have very much agility with monoliths, even when it's an end-tier architecture that you still have fairly large pieces of software that's difficult to deal with. And these are particularly ill-suited to large enterprise scale or web scale. And obviously, with the sort of applications we have on the web today from the likes of Google and Facebook, basically the GAFA, we're running at enormous scale. And so microservice really makes sense at that scale. So as I said, I mean, these are big pieces of software with components that are tightly coupled. Generally, the components are linked together with libraries. You can't separate out components very easily. Of course, those libraries could be reused, but there's still a whole sort of build process and packaging associated with that. And so generally, it's difficult to move, difficult to evolve, to innovate. Microservices, on the other hand, we're really talking about splitting up an overall application into components where each component does one function and it does it well. And that has several implications. That means that when you're working at web scale, for example, you might have some parts of the application, maybe a database, which actually might be just one instance, but other parts, which may be a front end web server, which you want to scale based on the amount of traffic coming into your system. One of the advantages of cloud, of course, why do you use cloud at all? What's the big interest? One interest is agility, ability to fire up new applications on the fly, but especially to scale out based on the traffic coming for the network. And that, in particular, allows to mutualize the resources in the cloud. So you want to be able to scale up some components when there is need for them and scale down when there isn't need to make efficient use of cloud or data center resources. So microservice architecture components, that they're lightly coupled. What that means is they're no longer linked together as a binary, but they're interconnected over the network. They can be scaled independently, and they can be deployed or upgraded independently if you do it right, of course. It isn't free. And being able to deploy and upgrade independently is really important to be able to quickly evolve your service. And you can even replace implementations of some components. Because the components, I'm saying, do one thing well. You might decide you might have an implementation of, let's see, a web server. It suited you well to do that in Python in the beginning. Now you want to go with Go, or maybe even C++ or Ultimate Speed. And with microservices, you can make that sort of change. So advantages, say, a component of a microservice does one thing well. And this means you can have small focused project teams working on these things. Who really are focused to just guarantee the functionality of this component. They might be working on several components, but each one they have some focus on. It's easy to scale these components, to deploy them, to test them, at least in the sense of unit testing. And so easy to evolve them. And also because they're separate components where it's just network communications, it's easy to compose new services from microservices. And so each component, as well, you can choose to re-implement in best of class technology, change the implementation language, or maybe change the implementation of a database, go from SQL to some no SQL or graph functionality, whatever. So are there panacea? No, of course. There's some cost. Of course, there's great complexity. Technically, you have more components and you have to manage more things. And you need to orchestrate these microservices. You also have greater complexity in your organization because you have more teams to manage. And then operationally, in terms of monitoring, debugging, and end to end testing, so for your overall service, these tasks are more difficult. Network communication now is critical. So you really need to manage that in terms of latency and detecting where problems are. Maybe doing what we call circuit breaking when a problem is detected to isolate problems from a particular area. So there's a sort of a mindset of design to fail but to keep working when there are failures in your system. And then be aware, microservices are useless if you don't adopt best practices. So it's really essential if you're doing microservices. You really want some DevOps processes. You want behavior and test-driven development. You need to be very rigorous about implementing the APIs around these components. You have to guarantee your interfaces. And you need to provide stable APIs with some degree of backward compatibility. So providing you stay with those best practices, then microservices are a good solution. So I mentioned one thing is that we need to orchestrate. So basically, now as these systems scale, your application scales across maybe a data center of hundreds of nodes, maybe even thousands, or maybe with a cloud provider. As there are more and more instances of each component, it becomes impossible for an operator to manage that. And you just wouldn't want them to do that. So you want to be able to place your components on different nodes to ensure availability. If a node goes down, for example, that your overall service still continues to work, maybe respect some affinity, non-affinity constraints, as well to guarantee the availability of the overall applications. And you may want to take advantage of specialized hardware, maybe a monitor which containers are not functioning and whether they're started and ready to go. And also, how are you going to upgrade your applications? Again, this is somewhere where an orchestrator, like Kubernetes, can come in. So we need orchestration. And I'm going to assume that we're part of the Kubernetes.  If you're in this talk, I guess you're aware that, basically, Kubernetes is a cluster management system coming from Google initially, based on their experience in-house container orchestration. The basic architecture has a set of master nodes, which is basically the control plane, and a set of worker nodes where your actual containers will be running. I say containers, but actually we run pods in Kubernetes. We'll come to that in a moment. OK, I'll skip over most of this. I want to spend time in it, but just to say that Kubernetes is a declarative system. You say, for example, you want to run an Nginx web server. You're going to say to Kubernetes, OK, these are my constraints. I want, let's say, three replicas, three instances of this. And it's Kubernetes that then we'll see what's the utilization of the different nodes, and it will decide where to place those instances. OK, I'm going to skip. Just to say so, a pod is a Kubernetes concept, which represents one or more containers running together. The idea is that you have one main container, which provides your functionality, let's say, web server, since staying on that one. And any extra containers, we call them a sidecar, which are basically providing ancillary functionality, helping that main functionality. So we'll see an example of that with Istio. OK, so as I was saying, I had intention of doing a lot of demos, but it's been a weird day. I will show just, nevertheless, that this is a visualization of, in fact, I'm running Docker for desktop. This was the environment I was going to show, but my Kubernetes cluster on digital ocean, it went away yesterday, so I recreated it. Today, I still had connectivity problems, but OK. Just to show, I was hoping to demonstrate across a three-node system, one master and two workers, but I would do the same demonstration based on Docker for desktop. We enlarge this. Probably can't see much. OK, is that readable? OK, so I'm going to just show how I'm going to basically deploy a Redis key value store. I'll tell you the right command. Basically, you do the kubectl create or apply of the YAML definition file for creating deployment. And what we're seeing here, this block is a set of Kubernetes objects that have the same run tag or app tag. And what we're seeing is a deployment. I'm saying, OK, deploy me one instance of Redis. OK, that's a bug. You see it twice. And we have a replica set, which we're not seeing. Sorry, and that's the third one is the part. It will become clearer when I run the example. I'm going to run a flask application, which would normally be a front end. OK, it was just red there as the container started up. If it was having to take time pulling images, it would have stayed red a lot longer. And I can do things like, I should show you. So the YAML file for creating those, basically you specify the number of replicas up there. So the initial version I did had replicas one, obviously. And now I'm going to rerun essentially the same YAML with replicas four. And we can see how it quickly creates several containers, several pods, rather. If I had my other environment working, then these would obviously be distributed across the two worker nodes that I had. OK, I'm going to move quite quickly. So I've got some slides just representing that deployment that I just did, but we'll skip over those. OK, so I've tried to organize the presentation by in two main parts, really, deployment strategies and architecture design patterns. Those might not be the best names for these categories, but naming is the hardest thing in computer science. So you'll have to let me get away with that one. So first of all, what do I mean by deployment strategies? So basically, how are we going to roll out our services to our data center or our cloud? And then how are we going to upgrade them and this sort of thing as services evolve? And so there's a group of things I'm putting under this banner. So there are deployment strategies for sort of evolving a service, upgrading a service. And we look at some of those examples. Some of these, most of them can be implemented by Kubernetes alone. The more advanced ones like doing canary rollouts or A-B testing rollouts would require something like an API gateway in front. So I'm going to look at service upgrade strategies, health checks, and what we call the strangler pattern. OK, so first of all, for service upgrade strategies, so really saying, for example, the flask and redis that I just deployed, how can I go about upgrading, let's say, the flask application in a way that it makes sense to the overall application? So for example, the first way of doing this is a thing called recreate, which is fine in development but not very good in production because you stop the old version of the application completely, and then you deploy the new one. So obviously, that's not exactly very production friendly. Nevertheless, it is a deployment strategy, which is fine for a developer on his laptop. The one which is used by default in Kubernetes is ramped, which basically Kubernetes will deploy a new version of an instance. Once that's running, it will stop an instance. So if you have, let's say, as I had here, four flask instances, it will upgrade one when it's ready. It will stop one of the existing ones, and so on. And so during the upgrade, we will see we actually have a mix of old and new, tend to say blue and green versions of the service. So that's one way of doing it. Advantage of that is that you have a service running all the time. It's not like the first one where you stop everything. But you get into a mixed situation, so you could have requests coming in that we treat by the old or the new version.  That's something you have to design. OK, so I will show that one in a moment. Another way of doing it is blue-green. So blue-green, if you have the old version running, you start up the same number of instances of the new version. And once they're already, you then switch to the new version. So that's great. Sounds slightly ideal, except that, of course, it means you need double the resources during the switchover time. That might not be a problem. Canary is basically saying, OK, I'm rolling out this new version service. I'm not completely sure yet. Maybe I want to just allow it for 1% of the users, something like this. See if the phone rings and roll back. So try it and see. And for that sort of functionality, you generally need to implement that in an API gateway or a service mesh, which we'll come to. And the last one is AB testing, which is very similar to canary testing, but with the difference that you selectively determine which version of the service user will need. So if you have a service in production and you actually want to operate it just for certain class of users, for example, just with them you want to test, then you could do that. And that, as well, would require an API gateway or service mesh to implement that. So those are the choices. Now we'll show an example of ramped, which is the default Kubernetes way of doing things. So basically, I have another YAML file I'd already created. It's, I should actually show it. In fact, if I do, I'm going to be a bit strange. I don't have a copy base. OK, if I do a diff with the one I just used to get to four replicas, we'll just see that I'm using a different image in that file. I'm going to pass from v1 to v2. So I'm going to perform that update. And we should see, as I talk, there will be a moment where, on the right is the four flask pods. All in version one, we will see that we have more than that, more than four pods during the upgrade. Let's go fairly quickly. So we see new pods red until they're up and running. OK, it's all gone. OK, it's a shame I have a bug on my visualization because we would have seen the replica set. And what we would have seen is there's a deployment object, which is FlaskApp. And then we would have a replica set, which represents the version one of this FlaskApp. And it is the one that creates the pods. And so what we would actually have seen is still the same deployment, but we would have had two replica sets. The old one now with zero instances and the new one with four instances. And then these are the new FlaskApp pod instances, which you can see in version two. So just to be careful where I click. That was just to give you an idea, show you something real around one of these strategies. OK, so that's the demo I just showed you. OK, another thing to do then is to validate. So containers, yeah, it's fine just deploying them, but we need to be sure that they are healthy before we actually put them online. So Kubernetes will not want to root traffic to containers or pods that are known not to be functioning. And so how do you do that? You do that through health checks. And there are two types of health checks, liveness and readiness. So I have a definition. Liveness basically is detecting that the pod's containers are themselves just up and running, whereas readiness is detecting they are actually capable of serving traffic. OK, and there are three types of probe that you can do. So either a command to execute, check something about the container, or an HTTP request to try. So typically you would just have a standard URL but with a slash health or something like that to test, or a TCP request to try. And it's Kubernetes that's going to basically poll your pod to see if that health check passes or not. Likewise, there are so readiness probes. So the first one, although there are things like an HTTP request to try, this might be just a test to verify that the pod is there, that it's up. But not necessarily testing your application yet. With the readiness probes, the idea is that it's actually going to be testing the application. So it's a second stage of readiness. And these are the same probe types as for the readiness probes, same type, but maybe some different URL should be tested. OK, so the definition of a liveless probe, liveleness probe is something like this. So in this case, it's something that you exec on the container. And you can specify the initial delay when to start testing and during what period. And Kubernetes could determine that after a certain time this doesn't succeed. Then we should just destroy that container or that pod and create another one. And readiness probes are exactly the same. It's literally just the keyword, liveleness probe. It's replaced with the readiness probe. So I just wanted to say, OK, that's an important thing about the way Kubernetes operates in deploying pods. The other thing is, so how do you go actually from a monolith? That's actually the subject of the talk. So how would you do that? It's not easy. I've said it's a monolith. How the heck move to microservices. You can reimplement everything and six months down the line. Yes, we've got the new service. Exactly the same functionality as the old service, but you've lost six months. So you probably want to have some more incremental way of moving to microservices. And basically the strangler pattern provides a possible solution to this. The idea is that you would progressively take out or disable parts of your monolith application and reimplement them in microservices. And so you'd be in a gradual transition until you have lots of microservices and maybe just one small part of the monolith which is left functional, which is being strangled by the microservices. That's what the strangler pattern is. It's basically a migration deployment strategy. And this is something I took off the Azure documentation site just showing the migration from left to right, from lots of legacy in a bit of the modern microservice implementation through to having just the modern implementation where you finally you've strangled the original monolith. OK. The other thing I want to talk about is I grouped as architecture design patterns. OK. So I'm not talking about like standard component design patterns, Java design patterns, whatever you might have within your components. That's another subject entirely. Microservice themselves is worth mentioning. Microservice is a design pattern. Nor sidecar pattern, which we mentioned exists that you can have second, third containers within a pod. Now, we're concerned with basically exposing services and ingress functionality, so providing access to services within the Kubernetes cluster itself. I'll come onto that. And then externally around your cluster, the use of things like an API gateway service mesh and even more advanced API gateways based on what we call the API gateway pattern. And I would say this part is real war zone, that last bit of API gateway service mesh. There are several API gateways really well established, something like NGNX, HAProxy, and so on. But now we have service meshes coming from Istio, LinkerD, and so on. And there's quite a battle going on between the gateways themselves, between the service meshes, and between the two of them. OK, so that first part, looking at how we access our services. So we've deployed them as a set of pods, but so far we don't actually have a way of addressing them. Each pod has its own IP address and maybe is exposing some ports. But those are specific addresses to a particular pod. And the very nature of Kubernetes or these container platforms is that pods of containers are coming and going, they're dying, or they're being scaled up, scaled down. So you certainly can't depend upon the pod IP remaining valid. You could attach to a host with something like what we call NodePort or HostPort. But then you're exposing your infrastructure. Actually, the same thing if you were addressing directly the pod as well, you should actually be on an isolated network and that shouldn't be something you should be extroving into the exterior. So what we need is basically service endpoints, a well-known address we can use to address our application and then the platform will take care of routing that through to the pods that implement that service. I'm sorry, I've said most of what is on here. So the basic principle is we have this service of some sort which is going to access and load balance across the various pods available in our system. And our end user application, he should just need to know the service IP in port or host name. This is where you would have reverse proxies that map to a nice application name through to some internal address on your system. So there are various ways of doing this. NodePort and HostPort are almost the same thing. I don't remember the difference but essentially it's providing an access direct to the actual cluster nodes of your system. There's cluster IP which is an internal address which is addressable by pods within your cluster purely internal. And there's a load balancer. Typically load balancer functionality requires natural implementation of load balancer. So when you create a service on, I don't know, APS or GKE or whatever, if you create a load balancer service, it will actually, behind the scenes, it will be integrated into their infrastructure. If you run a mini cube, just sort of a Kubernetes in a VM, there is that functionality already implemented. If you're doing yourself on a VM you've created, then you'd actually actually have to add something like an NGINX to do that load balancing. Okay, so NodePort, basically, your user who's wanting to access your application will attack this well-known input and that will be mapped onto, if I, sorry, in this case, you'll actually address directly the IP and port of one of these nodes, okay. So that works, but you're exposing part of your infrastructure. Load balancer, on the other hand, you really have an independent endpoint address and it will take care of balancing across the nodes, of course, addressing to the specific pods. And ingress controller, so, in fact, ingress is the process of controlling access into your cluster. And an ingress controller would actually be an external element like an NGINX or HA proxy, something which will implement the ingress rules that you specify about how to access your services. I don't want to do a demo on that. There are slides just on creation of a load balancer service. Actually, what I will do, because I had prepared that, so I can add, if I were going to use this application, I would actually create a service on my Redis application here. And in my architecture, this would be basically used internally, it would be so that my Flask front end can attack the Redis database. And if I wanted to access my Flask application from outside, and again, I would create a service Flask application. Interesting, I now see the replica set there that wasn't appearing because of a bug. Okay, I don't want to spend long on this. I really want to get to, I'm running out of time, and I want to move on to API gateways and service smashes. So API gateways essentially is an external software which will be doing typically things like access control, load balancing, maybe reverse proxy functionality, and allowing to access services within your Kubernetes cluster without seeing the internal structure. And there are things that this can be doing, things like TLS encryption, and essentially doing so offload from your cluster. You don't have to implement these things in the microservices, but you run them at the entry into your cluster. And actually on the diagram, another functionality which is important is that it might be doing protocol conversion as well. You might be just wanting to expose an HTTPS API, but internally that's going to map on to REST, to RPC, to whatever. And there are many examples of API gateways which exist, I've just named a few there. Nginx, HAProxy, I guess traffic should be in there. And there's a newer generation based on Envoy, which are being created. I'll come on to that in a moment. Okay, I'm personally going quickly, so I want to get on to the next contender is service mesh. So one problem with microservice is, well, first of all, the network communication aspect is much more critical. So there are things like detection of errors or maybe circuit breaking or these sorts of functionalities, or maybe just logging or encryption. There are a lot of functionalities which could be common to all your functions. So you don't want to have to implement them in each microservice or these are going to be micromonoids and the size of those container images going to be larger. So the approach with service mesh is to say, okay, well, we'll create a cluster-wide capability which provides these services over the network, of course. And so this reduces a lot of the functionality you would need to do within the microservices themselves. Oh yes, and one point is initially with microservices, people tend to implement these sorts of things, but then in libraries. But given that one advantage or maybe a risk with microservices is that you can be polyglot, you might do one component in Python, one in Go, one in Rust, et cetera. But of course, if you're building with common libraries, nice to have, you might be having problems then with your polyglot environment. So that's something you don't have with service mesh. Basically, it's provided by a set of containers through external for your actual microservices. And the software functionality is provided through sidecar containers. Okay, so there are other examples. I'd say the two main service meshes around today, I certainly have a lot of traction, are LinkerD and Istio. It was looking for a while like Istio is just gaining so much mindshare. Basically, it's supported by, part of it came from Lyft already. I think they created Envoy Proxy, supported by IBM, Google and others. So there's a lot of traction behind it. But there's still LinkerD, which has been around for longer. And I read just a couple of days ago, they've secured some venture capital funding. So that's good. I think we're open source, we do need more than one solution for each of these functionalities. So very quickly, with an Istio implementation, what you would have is an Envoy proxy which is going to run in each of your pods. I think I won't have the time to show a demo or that unfortunately. But basically, when you install Istio, you can then enable a namespace within Kubernetes that any pods that will be created will be created in Istio mode. So if I were to recreate my flask application, I actually did it just earlier as a test, in an Istio enabled namespace, then we would find that the pod that it creates actually has two containers automatically. There is the Envoy proxy, which is inserted into our microservice pod. So in this way, basically, all network communication from our microservice is going to pass via this Envoy proxy. And so we've offloaded things like encryption functionality into the service mesh. Okay, so let me just say, service mesh, there's a lot of traction around that. The service mesh vendors are saying today, well, we still need API gateways today, but maybe not tomorrow. So service mesh is really about this east-west traffic between services within your cluster, as the API gateway is really up top north-south traffic into your cluster. But Istio, for example, I think about six months ago, they added first implementation of gateway functionality within Istio. So they're starting to north-south traffic. Nevertheless, there really is room for both. I'm gonna try to move on very quickly. So there's another sort of API gateway, which is coming out based on what we call the API gateway pattern. It's actually this guy, Chris Richardson, who termed the coin. And it's basically talking about an API gateway functionality where the gateway understands the APIs that are passing through it. And it also maybe understands the APIs of the infrastructure on which it is running. And so an example of this is a project called Glue. It's an open source project from company solo.io. And they're demonstrating how they can do hybrid applications where because of their understanding of different protocols and the APIs that are being used and the infrastructure API, they can actually allow sort of a more flexible way of federating across existing legacy. So monolithic apps, microservices, and then like the next step in a way, serverless, where serverless functions could be considered the nano services. So I really wanted to just, I've run out of time, but I really wanted to get to that and say that that's an interesting next step in microservice evolution. So I encourage you to have a look at what solo.io are doing. They're a small startup, been around for about 18 months. They have several tools for helping to migrate to microservices. Okay, I'm gonna, I basically said what's on this slide. To summarize, I mean microservices, they offer new deployment possibilities, really increasing the agility, the ability to deploy, to scale, and upgrade more easily. And they can also facilitate best in class implementations of components. Nevertheless, that's useless if you don't adopt best practices. And that includes not just the design, but in terms of your organization, the way these teams work together. You can do incremental rollouts with like the Strangler pattern, for example. Of course, you can do Greenfield deployment if you're really lucky. There are as well hybrid approaches like I've just shown you in this project called glue. And then there are, it's interesting to offload the functionality via API gateway and or service mesh. I would maintain that I think for foreseeable future, we will see both of these being used. Okay, thank you. It was a bit quick and sorry for lack of demo. Any questions? Okay, we are a little running out of time. So if you guys have any question, Michael will be here today, evening and tomorrow, all day. So please conduct him. So please put your hand together for Michael for a great time and a great presentation. Thank you.


Hello everyone, so in today's video, I wanted to do something a little different and I wanted to show you my desktop And this is it. This is my desktop and the reason I wanted to show it to you was because I actually went through quite a bit of trouble at the very beginning because my desktop was a mess and Now very often when I talk to other people and I see their desktop is a mess and I kind of wonder how they can You know get by Having that so to me my desktop, but you know, I started treating it basically like I would any other space like a desk space or something like that And I need it to be in order and I know I'm a bit worse than some because I really need things to be in order to function correctly So this is basically my desktop here. I have you know, I have what's going on I have pending jobs here. I have a couple jobs that are pending and so I'm waiting to hear back And I want to keep them handy right here These are the videos because right now I'm making a couple of these videos like the one I'm recording right now So I keep them in a folder here. These are printouts later on I'm going downstairs and I want to print stuff out So I have it in a folder here and then here I have I'm taking a sales course right now and I have some notes there This is Kind of embarrassing. It's kind of like a vision board. I have some stuff in there that I'm working on now I'm not sure and this is just an ongoing. I have an ongoing translation I'm doing of my grandfather wrote some books in Italian of about a soccer and I'm translating them in my spare time So anyway He and this is everything I have going on obviously if I need other folders I can find them easily, but I really want the bare minimum on my desktop I probably could get rid of a couple of these from my desktop right now But for now it's fine I keep as you can see the folders are quite small and I keep them on a separate side here So they don't interfere too much with what's going on right now at this moment By the way, if these jobs are pending for too long, I'll probably move them down here So they're kind of out of sight From that location Oh, and this pops up every now and then because I have my settings where I can see all the hidden folders as well You know that can be up to you or not. However you prefer anyway And you know so so where are my other folders? Like how can I get my other stuff and oh there pops up again? Anyway So what can and this is where I keep everything else as you can see it? It's minimized and so it doesn't even pop up unless I put my cursor over it now I think the default is down here in the bottom. I found it works well for me on the side I mean that's you know personal every one, but here too I got rid of everything you know because max come with a bunch of weird stuff the garage band the email clients and all that I got rid of anything. I don't use and I don't need right now I'm using quick time player to take this and so obviously it's being in use I had music on Earlier and you know, this is my inbox that I this the yeah my browser and otherwise You know, I kind of had the bare minimum here as well and Once I close this in fact, it'll go out of this permanent The list of permanent stuff and I try to keep everything as a minimum so I can keep it, you know as simple as possible There are fewer distractions and it's just a lot more easy for me to function now I recognize not everyone is like this but I do feel more people are like this or people are more like this than than they think and The simpler things are the easier it is to get stuff done a lot of people if you've been in school You know if you have to study for a test you start putting things in order And I think this is subconsciously because you kind of want to have everything in order Before you sit down for something important. So I like having things in order ahead of time So anyway, I just want to share this with you and hopefully, you know, this can This could provide some help for you if you're thinking of working for yourself and you know, you need to get rid of some distractions so if you did find this useful, please don't forget to click like and And don't forget to subscribe if you want more advice information about freelancing and freelance translation and Otherwise that's it. I'll talk to you in the next video. Thanks. Bye


Where's other there I think this one needed it to sell to in it That's how you do that Like that. Yeah, that's how you go through it. I'm getting buried that L2 that is really useful There's like there's a couple of missions where you have to use it like you have to do things mid-air Well, that's not Gosh Raw button visibly shaken Arm drones Let's see if I can integrate the cloaking tech with my suit. My energy field interferes with my web gadgets Not exactly a keeper. Oh, oh those arm drones are malfunctioning. They're dangerous I can get close enough to trigger the destruct mechanism that drone didn't go far I'll download its data before I wreck it so they can ID the problem Okay, I need to get within 10 meters of the drone to stop it and I'll need to be cloaked Now I've got to go visible again so I can swing to the others Sorry, it's a little tricky Now I've got to go visible again so I can swing to the others. I mean, can I just hit R1 in there or? No, I have to have to do it while I'm cloaked on that. I'm starting to see how to do this I can just stand here. Oh, I pressed R1. Okay, we're gonna purchase right there But your data lives on Wait, is that H. Oh, never mind.  That really hurts when you're not visible. Where'd you go? Did you blow it up? Okay So this one I Have got to go mid-air Probably can do it from up here run, okay Jump off into that bubble and then go invisible while in the middle of it.  All right. Well, that hurt a lot But that was the way to do it that was the way to do it. Oh Hey, all right triangle first chat and I lost that drone by the way I'm not actually angry about that Why was a lot of them over here That was not easy. Oh, that was close. All right Take one There you go One more plus triangle. We do our one chat and I have to start over. No Now I've got to go visible again so I can swing to the others that was kind of easy Why is everybody screaming? Is these drones killing people or something? Am I missing something yet? But your data lives on this sounds like the apocalypse down there. What's going on? That's kind of disturbing I'm this is gonna be in or not. It's not I can climb up here, right? I just sit here Okay, I climb up. All right. Here's the tricky one triangle first chat Triangle first You know, I should do it from this side from back probably easier You just have to do them in the right order man But we dig it up there.   Give it to me. Oh, come on Whatever I'll climb it Let's try this again. I want to climb this I want to climb this. Thank you Hey Probably not Hopefully Oz corp will figure out armed drones in Manhattan are not a good idea. Oh crazy. Okay. I think the map has And the stealth deck is promising even if it needs work I think Harry's station is safe. And if they ever work the bugs out, maybe I'll whip myself up a stealth suit Some foreshadowing chat Stealth Spidey suit coming Stealth Spidey suit in the future Future it's almost morning in it feels like it is In a game chat not What they say I don't remember That's some sound logic J Jonah some people just want to watch the world burn through potholes I'm talking about spider, but Helps improve GPS on Oz corp tech, which You know what but I should have remembered to tell you not to bother with this one Tech here might help me track my missing spider, but those things are too expensive to lose Okay, I boosted the tracking foreshadowing I've done one past this and I already have my spider-bot back the other bots signal in the park So that's where I'll need to drop this one. I think we already know what's gonna happen here Just taking my spider-bot for a walk in the park, you know You'll okay. It's following the pings from the other spider-bot. Let's see where it takes us. I Like spider-bot a lot chat. I'm just gonna put that out there me and spider-bot got a future I wonder if a kid picked it up and took it home. It is way better than any toys on the market Yeah, I told the AI to test it in narrow areas. So this pipe makes sense. Oh No, I hope it didn't get run over New York drivers have no respect for the crosswalk. Looks like it made it quite a ways neat neat Absolutely neat. This is so good. I hate that. I'm gonna have to someday stop playing this Submission and if I startle the bird it'll drop the spider-bot and break it This pigeon's strong someone didn't skip wing day at the bird gym wing day It's nest That's the other spider-bot. I busted a feather kleptomaniac Now that I know where they both are time to mount a rescue mission Oh That's it. I was gonna say I thought the bird was gonna come after me I got some work to do on these spider-bots Oh, I gotta wait before I can send them back out of the world. But if they have DLC you can play it again. Yeah That's me crying anyway. All right, um Okay, that means I already did it. So I got these three bases here. I should I should move on this story chat I've been doing so many side quests like all day I kill shocker that was like the only story not killed shocker But I fought shocker that was like the only story quest. I've done all day. I've been doing side quests backpacks towers Land the landmarks There's almost daytime. It's time to switch suits We'll go back to the homemade one since I worked so hard for it We got all them backpacks for this suit. All right, we're at the warehouse Got it boss tripling security. Are we gonna try we're gonna do our best to stealth this Stealth is actually really fun in this game Box 20 cash is the demons after Need to take out fists men and figure out what they're guarding. Can I get the Norse who get I don't want it. I can I Don't care about the suit. I just want the ability which is Sound of silence enemies no longer call for backup when alerted Fists or the demons hands Snipers everywhere might need to deal with them first a lot of junk scattered around here A well-placed web shot could make a great distraction Sniper has a guard watching Everybody sucks you including me everybody hates everybody Everybody hurts Oh Look at all this stick look at all of these chickens out. I don't know what that did What was that? What was that the sound of silence?  Oh, look at all these bullets.   I'm coming to get you up Get watch me. Yeah, I'm coming. Oh Up the duck in that pain. That's pain. Okay stop stop it. Wait. I want to go in there. Ah Okay, I missed it do it again Deal it from you have to I can't see my face. What time is it? What days am I? How would you compare this?   Oh No, we're gonna hit the button. Hopefully people just get dead. I don't even know if it's okay that pole drop there Okay, okay, this is me. This is me dying. This is the sound of learning.   We'll get this guy Y'all they got the way. I'm in trouble. Oh, here we go. Oh, this guy's dead Boom and then we're gonna go over here and we're gonna find the sniper gonna reach out and touch Somebody's hand make this what a bed flows If you can Okay, we're gonna grab this we're gonna go Wait, that's not it. That's the boom. That's the boom. We want it. That's the sonic boom and we go a little We're gonna grab this guy and we go go the rope buttons. They're gonna go over here. We're gonna hit him And they're gonna play that music and we go over here and we're gonna hit this guy And then we're gonna hit him and then we're gonna okay. Things aren't working his plan So we're gonna go plan C. We're gonna grab ourselves a robot We go like deploy droids deploy droids and we're gonna get this guy and we're gonna get to him and we're gonna grab this thing over here We're gonna jump up in the air. What and then we're gonna wait I Can't even articulate what's happening now and we grab this get this guy grab this Passing are doing illegal searches. So what do you say we do some perfectly legal searching? I Like the sound of that. What's your name? Officer Davis? Call me Jeff and you are just messing with you My son's a big fan. So your son wouldn't happen to be Miles Morellis. Would he breaking find another way? Any place this rundown should have a hole in the wall or a broken window Check around back.  Oh I feel like I'm in a horror movie. Hello any fisherman with a grudge and a hook for a hand Okay, where's that locked door? Jeff you there. I'm doing my best to refrain from knock-knock jokes Smart but I don't have anything that packs enough current Stun gun genius Capacitors in this are just what I need for an upgrade. I've been thinking of Oh, well, okay that bread it for the win Gadget man, huh? You remind me of my son started taking apart the tv when he was five Now he's unlocking his friend's phones Sounds like he could teach me a few things Okay Nothing illegal in plain sight Kind of anticlimactic, huh? first glance Let's look closer Looking for something specific This yard's been here a long time bootleggers used to use it back in the day Gotcha. Those guys loved their hidden rooms Check it out Sound hollow to you No surprises on the floor. I got a hidden panel like the one on the door The conduits lead out the back. Look for another junction box Let's see if my mask lenses can pick up the conduits Here's one Did that work? That was too easy. So it must be that one, huh? There we go Hey, I doubt I would have found it without you.  Well, there's one secret room that could be more Notice anything about the floor They can hide the doors but not the scrapes they leave keep an eye out for more of those Oh, we got some Found a scrape Oh, I guess normal doors don't count, huh? Wait, wait, how am I here? And Where else could there be scrapes? Go team scrape scrape I hear some Scrape no door none. I can see anyway Sit tight. I'll pull you up Second floor rusted machine parts big honking rats Careful the bridge is out. I got this one. He's stuck the landing and everything. We're not all donut eaters Fair enough Another secret door. I'll rig the lock. Let me know if you find the junction box. Yep on it Did it open? No, this door must be hooked for another box Surprised He's my great white whale


Hello, children. It's dress update today. And I was just wondering, what do I make for dress update? Then I saw after teachers video on how to make a newspaper garland. And so I did. I made this pretty newspaper garland for myself for dress update. And for story time today, I have a new story. So let's start reading. The name of this book is Macy Dresses Up. I see Macy wearing a pirate hat. And she is holding a magic wand too. Well, I'm just wondering, is Macy a pirate or is Macy dressed up as a fairy? In this book is written by Lucy Cousin. So let's find out what is Macy up to? Macy has been invited to Tallulah's costume party. I see Macy holding an invitation card. What will Macy be? She looks in her dress up box. Hmm, she's wondering. Look at that big red box with all kind of things inside it. Could be a pirate. But Charlie is already dressed up as a pirate. Now Macy will have to think of something else. She could be a queen. But Eddie is already dressed up as a king. Look at Eddie, the elephant. She could be a firefighter. But Cyril is already dressed up as a firefighter. Macy has a good idea. She will make her own special costume. Hmm, look at Macy. She's all ready with a scissor, pencil, some glue. And I can see a white paper in her hand. Charlie, Eddie, and Cyril are already at Tallulah's house. When ding-dong the doorbell rings, in comes a zebra. Who could that be? Oh, it's Macy. Hello, everyone, says Macy. It's party time. And all of them starts dancing and singing. They are having lots and lots of fun. So children, wasn't that a brilliant idea to make your own costume? Well, I enjoyed reading this book and I hope you did too. I will see you next time with a new story. Until then, happy reading, happy learning. Bye-bye.