Welcome to Toffy TV, it's the match preview Millwall vs Everton, FA Cup fourth round down at the new Den half-five kickoff in the UK. Live on telly. This video is sponsored by One Football, One Football is that. Makes it easier to keep up to the transfer news scores and stat in one place. To download the One Football app click the link in the description. Yeah, so fourth round at the FA Cup against a team 19th in the championship. And yet I still feel very nervous about this game, I wonder why. I should always feel nervous about FA Cup games away against these kind of teams because you're never turning. Historically it says that we don't really brush these teams aside, we might beat them. But it's always a tough game and expect nothing different from the weekend. I wouldn't be expecting anything different if we'd have won the last five or six games. I'd still be going, you can just see what kind of game it's going to be. So, and that's what the FA Cup brings. It does? That's what it is, so it's about... That's why BBC have picked it to be there that far. Well, I'm probably thinking, well, Everton are playing well, Millwall are exactly playing well. But they're at home and they've got the advantage. And this is, if you look through the ties, this has got an opportunity of being a shock. So it's up to us to make sure that it isn't a shock. It's up to us to ruin BBC's thought procession and get three in the love of 10-6. And it's the games over and the board. Well, we played them in 2006, went to replay. Good, this shouldn't be the 1-0. Tim Kayle, Goal, obviously forming Millwall player. He'll be at Millwall on Saturday and test them on for him. And, you know, it's not comfortable going down there. They'll make it very difficult.  But this being a big FA Cup tie, I'm sure they'll all be up for it. And again, that makes it just feel a little bit uncomfortable. Just the idea of going to Millwall just makes you feel uncomfortable. I don't know whether that'll... Well, there's a little bit of history. Well, there is a little bit. But in 2006, you know, we had to, as he scored late on, I think, to win us a replay. And they done quite well that day. And that could have been quite resolute, but I didn't have it and deserved a win. But again, it was Kayle slid in, didn't it? It was a scrappy goal. A bit of a comfortable 1-0 win, but as comfortable as 1-0 can be. And Saturday, they'll rightly be up for it to change for them. They're not having a great season themselves in the league. So it's a chance that... They should have beat Mills bit on Saturday. Last minute penalty for Mills bit. Denied them the three points. So that would be conference booster for them. In the last round, they've been backbanging. Hold sorry. Come from behind with two shame figures. Quite late on, wasn't he? So they'll be up for this. And I think that's where... I suppose that's where the doubts are, isn't it? If you were going up against the team, that was a pretty football inside. That'd be a little bit more comfortable. But it's the fact that we're going to have to go into this game and we're going to have to dig in. And that's where my worries come from. That's... They're the kind of games that I just think have you got the stomach for this. Have you got the bottle for this? If you ever go one-nil behind against Millwall, can they pull themselves out of it? And that's... That's where I think Saturday is such an important game. Is that just for the rest of the season? Never mind. For the FA Cup. Is that can you start showing something that you haven't been shown, seeing it over the last six weeks? That ability to dig in. Saturday against Southampton. Brighton. Leicester. New Year's Day. The ability to just go somewhere and go, we're going to tough this out today. There might be tough moments. They might go a little bit long ball. Even times when we played Lincoln at all, that game should have been dead and buried, but we allowed them back in the game and then there was a couple of navy moments. Nothing on terms of how much ball we had and how many chances. It should have been heavily skewed to us, the ones who were getting a little bit nervy about it. So I think for me, if we can go down there and get a result and really don't have to play well, that's not the thing that's necessarily been missing from Evan, although it has been missing from Evan. But that idea that you can just go somewhere and be a little bit resolute and just dig in and come away with a win. Yeah, it is a bit about resolution. It's about fighting. It's about taking the game to them a day. If Evan, say it a lot of times, if Evan played the very best he'll win the game because they're the better side. Everything tells you they're the better side, better players. But Millwall will have to fight in the heart and be ready for the ball show. You're right, if Evan don't match that, then we're going to be in for a long afternoon, isn't it? It's going to ask questions of players this weekend. I think it's going to ask questions of the managers yet. How does he set us up? Is he going to mix it up now? Is he going to go, need to freshen something up? We need to play in a different way or we need to play with two strikers or we need to take the game to these or play higher up the pit or whatever. And then can the players then take his instruction and take that little bit of heart onto the pitch and go, we're a better tie than you and we're going to show you that we are and we're going to keep it and we're going to move the ball around you know, technically we should be far too good for them but that's where they pick up shots from. What happens all the time is that teams don't match and we've seen a few Premier League teams go up last night, foot not matching size. You know, Leicester went to Newport and got knocked out. You know, Newport last year what was 10 minutes away from knock and spares out. So, excuse me, that's what can happen. You know, Rottsdale last year nearly knocked Tottenham out. I think they nearly scored. Like they're not Harry Kane penalty later on. So, if you're not at your top level when you go into these games then you dare to be shot at and middle ball will be right up for it.  I mean, what it means is that you might look at it and go, well, I need to make sure I have both games. Well, Leicester has one issue with fighting battle straight away by putting James McArthur in my field because the lad will be, no matter what else he does he will battle and fight for you and he won't have any issue with getting stuck in. That's all. You know, when I think it's a big incentive there's a game for you to get in, start, give him half an hour, sorry, give him a fair start. If he's way off it then you take him off for a couple of tackles and let them know that we're here for the battle. Me and her being, for me, no problem. Straight in. We need a couple of people who are willing to stick their head in and get involved in little arguments on the pitch because we've got too many lad too. A great footballer, but there's nothing behind him and you don't want to ever want to use terms like snowflake and some of our players are like that they look great, but when they're pressed it's attitude, isn't it? It's attitude. Have you got that inside you? That's what makes good footballers. You can have all the rest. It's what makes good teams, isn't it? If you've got a mix, if you've got eight of your footballers or fantastic players and the other three will grab you and point you where you need to go and all they'll be there if it kicks off all the day for a strong tackle. That's how the best mix is. You need some strong characters on the pitch. Again, that's what's been missing recently. For me, that's the first thing. The other thing about it is you need to be inventive on the pitch as well. There will be times in the game where we've seen this in every game. I'm not being disrespectful to Millwall in every game we play. We're into self-harm, so that's 60% of the position. We don't do anything with it. That's again, that's something that needs to be looked at Saturday. We've got a lot of ball and they'll have had us watching and gone, but if we just put them behind the ball and let them pass it, don't go anywhere, and it's whether we can be a little bit more inventive to break them down. How much do they want to come out and play there at home, the incentives on them to win the game at home? Well, they might think they've got one shot, might they? They might think realistically, this is our shot to not have enough today. A draw, and don't forget, it's the last round of draws as well. The games have decided on the day after this, so they might view that as their one opportunity. They might look and go, if we go to Gouldersen, the chances are they're going to beat us, so this is our chance. We've got to go up and it's like I've said many times this season, it's the first goal for me. If Everton take the lead, then I think we go on and win it. I'd definitely be playing Dom in the start this week because I think he will get involved. It's a target with Charleston. I think with Dom we need to throw like a cold glass of water over him something before the game, get him ready for the battle because when he's focused and on the battle, he's great because he doesn't give you a second. I think my criticism of him at times this season has been, some games don't get as kicked out. Do you know what I would say about that? I think at times he comes off, they're trying to polish him too much, because when he was a little bit more rough and ready and a little bit more like he looked like he's from Sheffield United, that's when he was prepared to get in and out. That's when you knew, you defend this new deeper in the game.  Then at other times, he looks great and you're like, where's the kid? Is your kid that we need this? He's on our Twitter, I don't know whether it was yesterday or something, he's changing the team up, playing maybe Bains, not so much Bains, but messing around with the front four, really, with down the front, with the others from back on the left, Bernard, or Bernard on the right, and Luchman as the 10, or any, the permitation of the front four, and then, we leave Gomez out, it'll take a long time, McCarthy maybe, and Garner still hasn't played by them. No, we don't know, do we? Well, yeah, but, in his mind, he might not play, he might even have to train with McCarthy. Not that Garner's a worry Garner, he'll get stuck in him, but we need someone to battle, and maybe, maybe you could go with Garner and McCarthy and get an insurance, and you're getting no, but what I'll find interesting is if he goes to trade the back again, or will he stay with what he plays most weeks, because you feel like something just needs changing, but just to freshen it up, people look and go, what difference does that go and make? Let's say where trade the back would make a difference, actually, is set pieces, they'll look to haters on set pieces, that's one of the things again, maybe that's why he looked at bringing three at the back and when they played barely, it was not only offensively, defensively, he knew that they were going to throw a lot in the air, and that day, I know we did concede from a set piece, but it's everything, isn't it? But a lot, yeah, but that was, he still conceded. But a lot of that day, when they were pumping balls in, Garner was winning everything, trade them, winning everything, that doesn't sound the same, that's what Lincoln tried to do to us, and I know these are a step up from Lincoln, but that's what they tried to do, and that's where they got their goal from. But we only played four, that day we should have played three. No, that's what I'm saying, they looked at that and they tried, and they scored a chief goal because we were all over the place and at the back again from set pieces and maybe that's something they're going to have to do, but listen, in my head, I'm looking at this game and I'm thinking of one game, Bristol City, that's what I'm thinking of. Bristol City, we went down there, I hope it's not like that, I hope it's not like that, but we went down there and it was a little bit tasty and to be fair, we got absolutely destroyed on the day. Probably, probably, probably the luckiest result I've ever witnessed in my life. We were so poor on the day and then Matt Jackson, the most unlikely is the players. Smashers won in off the post and we go on and win the FA Cup and that's what I'm saying, but if you can get through it, you get through it and then you get... If you get through, we're in the last 16. You know, you know, as you get through it and then you get a favourable home side in the fifth round. You're looking and going, like, okay, let's get this done today. So, it's first things first, we're not playing well. We've just been beaten against the team who I think we should have beaten comfortably and we haven't. They deserve to have done what we're wrong, you're looking at that, we should have beaten them. And this is another one that you're looking at. I think we find a lot out about the team on Saturday. I really do. Whether they've got that, whether they've got a heart, whether they've got fighting them, something I've been very, very critical of them in the last few weeks. They've got everything else. Because, yeah, and that's insane. In the last few weeks. If you're having them with hearts and some of them brains and some of them playing as cowardly, then... It's the stomach for the fight. Oh, it is, isn't it? And that's where I think if we had players, we had more leaders and more players who were fighting, I think we'd be probably nine to 12 points better off. Easily. We wouldn't have lost a Brighton. No way, we wouldn't have lost against Sheldon. Brighton. First half you're playing very timidly and second half you go, no, we're just going to compete and playing up to more games like that and just computer. The best teams, the very best teams are able to mix it, aren't they? I would say Liverpool are able to mix it. And I think when they have the James Milner and he doesn't, he loves sticking his foot in and he will have a battle with you. The best teams are able to do that. Chelsea, when they've got the best on the marina and that's it. It's like what are we doing? What are we fighting because we'll do either. The best evidence sides I ever saw that was like what do you just want to do? Do you just want to scrap because where are you? And if you don't, we just want a game before so we'll be doing that as well. And they were able to cover it united on the fair. That was the irony in, well, the irony in 95 was we were scrapping for our lives in the league and when we got into the cup, certainly after that game, the Bristol game started to play a little bit more football. We scraped those fairs two rounds, you know, we went to your home in Clifford. It was one was the game, it's 10 minutes left with a shot outside the box. That game was terrible. Craig Shorts actually, he should have scored for them a couple of times. We got away with them, we went to Bristol and got battered and we won that and then come to the next round against Norwich, we beat them 5-0 and they were playing all right then and we were, so it is, it can be the thing that keeps you taken over. We were the underdogs for Newcastle because they were top three or something and definitely the underdogs for Spurs and then again for Mancubo. You don't know where it takes you but what you have to do is be able to, if we go to the new den on Saturday and we get a result, we win two, nil or whatever and we get through it and we've put in a battle and performance, people will go, all right, I can get behind these because all right, they might not be winning every week but they've shown a bit of heart and fight there to go with the football that they can play at times. You can take that to the next game. I say this every week, there's probably about 20 games in the Premier League that you need to be doing that anyway and that's what wins you, that's the difference, that's what wins you those games. In an ideal world, you'd love to think you'd come out and sweet teams decide 4-0. But no, it doesn't really, I mean the league leaders at the minute, my mates are a bit better, like you've been shied for most of the season, you've been relentless in winning but performance wise, they all prefer last season because they've been flowing and they've been letting loads of goals and they've been scoring 5s and 6s. This year, they grind and out, wins, wins, wins. And that's what you have to do, you have to be able to do it and for us to progress, it's lovely being able to stroke the ball around and keep it and have 60, 70% but you've also got to mix it and you've got to be clinical at the other end and that'll be a big thing forever because me and you have both been critical of, it's alright having 17, 18 attempts on target, sorry, shot, if you're hitting 3 of them on target, where's the other 15 going? They might get a couple of blocks in but you shouldn't be missing the target on 10 occasions. And if you ever can go to the middle wall and have 15 attempts on Saturday and 18 on target, we will score 3 goals and then if that 3 goals should be enough to win us the game then we'll win more than 3 in against the championship. We'll see, we'll see. But that's what it is. Players have got to stand up and fight and get some belief for themselves and for the fans as well. These won't be any mugs. We will go out and we will have that match for a minute one. I don't expect them to be expecting the players to be up for it and I expect the fans to be up for it and the players have just got to turn up. It's as simple as that. And our fans will be loud and be ready for it. So the players have to match our support and the story. Yeah, let us know.  Are you a little bit worried? What do you think? Let us know in the comments. You just want to see an event team go away somewhere and battle and get the win. Let us know in the comments. If you haven't already subscribed, please do. There's loads of videos. We talk loads more about loads of stuff. Links in the description for that as well. We'll see you later.


I came to UWM because it was close to home. Not that I wouldn't have gone out of state, but UWM gave me the most opportunities. Being from Milwaukee, it was just the right fit. I've had roughly six internships. Some of the companies I've had internships with so far have been Foxconn, or Healthcare, or Foster Mutual, and even some local startups. I studied abroad in Taiwan. That was great. There's a lot to take in. It's not like you're just going to travel. We went there for engineering. Second trip was completely different, actually. It was a co-op program that was sponsored by CYCU, UWM, and Foxconn. Basically consisted of just us UWM students going over, getting some training focused on what Foxconn does, LCD manufacturing, like foam screens, TVs, et cetera. My current internship is with Foxconn, and it's a continuation of my time overseas. I've met some really cool, successful people that have graduated from the school. There's so many things going on, so many opportunities here that if that's what you're looking for, then you should look for that at UWM.


Welcome everybody! This is a very brief video, I think, on the topic of encapsulation in computer programming. So this doesn't necessarily only apply to AP Computer Science, but this is what I'm making this video for, is for my students. So basically, from the Wikipedia, here's the definition of encapsulation. In object-oriented programming, and if you're programming in Java, you're definitely programming object-oriented style, encapsulation refers to the bundling of data with the methods that operate on that data or the restricting of direct access to some of an object's components. Pretty cryptic. Basically, what that means is you have an object and you don't know how it works inside. You just push a button and it does something. So there's a button, there's a switch, there's a dial, whatever that case is, you push it and it does something inside. But you do know what that button is going to do. So you may not know how a car works, you may not know how an engine works, but you do know that if you turn the key to your car, your car is going to start ideally. So let's take a look at an example here. So what I've done is I've created a tic-tac-toe class, a very simple one, and I've created two different boards. I've created board A and board B. So I've got a board A class and a board B class. And so what I've done is each of these boards has three methods. One is add move, one is clear, and one is two string so we can print out what the board is going to look like. And then what I've done is I've kind of simulated a tic-tac-toe game here where we add certain moves. Now, in this tic-tac-toe game, you are basically interacting with it. So the top left corner is position one, the top middle is two, top right is three, kind of like a old school, you know, dival pad or a phone number, dial or thingy. And so for example, so you add your move. So I want to say add X to 10. Now 10 doesn't exist. So we should get some kind of message telling us that that is an illegal move. And then I just simulated a few different moves and then clearing the board. And each time I print out the board to make sure that it's doing what we expected to do. Okay, so here's the result with board A.  Okay, let me clear that and run it again so we don't see all the old stuff. Okay, so you can see it says board A is ready and it prints out an empty board that shows us that it's set up the way we want it to be. We try to put player X into position 10 and it tells us that's an illegal move because the position must be between one and nine. Then we put player X again in position five and that puts it in the center square, of course. Then O takes position one. Then X tries to take position one but it gets illegal move because the space is already occupied. Then X says, okay, I'll take position two instead. O takes position seven and X takes position eight. And then finally, we have a winner so we will go ahead and clear the board. So this board object, this board class, has three methods. Again, add move, clear and to string. We have no idea how it's programmed inside and we don't know what data structures it's using. We don't know what type of code is there. We just know that if we do add move, which takes a string and an integer, it will add the move for us if it's within those ranges. We know that if we send the, if we call the clear method, it will clear the board and empty the board. So that's all we know about.  So I'm going to go ahead and comment that out and I'm going to try the same thing with board B. And then again, I'm going to run it. Oops, actually let me clear this. Okay, I'm going to clear it.  So now it says board B is ready. And so same thing. Player X is trying to move position 10. Illegal move. Then player X to position five. Player O to position one. Again, player X to position one. That is also an illegal move. The space is already occupied. And then player X goes to position two. Player O to position seven. And player X to position eight. And we clear the board. So notice, if you recall, there's absolutely no difference between how the board A class functions and how the board B class functions. They have identical public methods. Or I should say publicly accessible methods. Add move, clear and two string. They do the exact same thing. Now let's take a look at the code. Okay, so board A is very simplistic code-wise.  And I'm using C here because I'm using in conceptually I'm saying it's a cell, like in a spreadsheet. So I'm just using C1, cell 1, cell 2, cell 3, etc. etc. The constructor is called. It just prints out board A is ready. And then here's our add move method. And this is very, very simplistic. It doesn't use any loops. It uses a bunch of if and else if statements to check if the position is, first we check if the position is valid, greater than or equal to one, less than or equal to nine. If it is, then we check to see if the spot is empty. If it is, we update it with the new player. And then else if, else if, else of if. And then if we get down to the bottom here, it must have been an illegal move because the space was already occupied. Or in the case where it was outside of the range, it says the position must be between one and nine. And then down here, when we clear it, we just set C1 back to space, C2 back to space, C3 back to space, etc. etc. And then two string, we just, we create the output and then we assemble it line by line. And then we return it. So that's the two string method. Now, again, private, I can't access C1, C2, etc. directly. I don't even know it exists in this case. It's just, all I know is that I've got a constructor. I've got a public method called add move that takes a string and integer. I've got a publicly accessible method called clear takes no arguments. And I've got a publicly accessible method called two string that returns a string. When we use the system out print or system out print line. Now, board B is a bit more come, a bit more, I guess, advanced code. I'm using a, an array here for my cells. And I've got zero. I use the blank space here. This is zero. And this is one through, and this is one through nine out this way. I called a board B and it says board B is ready. Now, this is essentially the same code structure. But in this case, I'm using the array to access it. So I don't need if cell one equals if cell two equals. I just use if cells position equals. And so again, structurally, it's the same. But you can see what's nice about this. If I wanted to make a larger board that was say four by four, all I would have to do really is change this to, what I guess it would be 16 or 17, whatever that would be. So I could make almost an arbitrary size board, depending on how I want to do it. And then clearing the board also is I'm using a loop and I just set each position to a space. And from one to nine, because that says less than ten, and then the two string method, I use cells one, cells two, cells three. But what's the principle of encapsulation is I don't know anything about the code of this object.  In this case, add move and string and int, clear and no arguments, and same thing for two string, but it returns a string. So board A and board B, their public methods have the same signature, same return types, but the implementation is different. And that's encapsulation. So we don't know what goes on inside the class. All we know is how we can interact with it. And that is one of the bedrock principles of object-oriented programming. Okay, that's it. Enjoy.


And we'll get things going. Thanks, everyone, for joining us today. Welcome to CNCF's live webinar, Kubernetes Data Protection Requires Orchestration, Canister.io Delivers. I'm Libby Schultz, and I'll be moderating today's webinar. I'm going to read our code of conduct, and then hand over to Michael Corsi, solution architect, principal, cloud native project manager, both with cast in by Veen. A few housekeeping items before we get started, during the webinar, you are not able to speak as an attendee, but there is a chat box down the right hand sidebar, where you can leave any of your questions. Feel free to drop them in there. We'll get to as many as we can at the end. This is an official webinar of the CNCF, and as such, is subject to the CNCF code of conduct. Please do not add anything to the chat or questions that would be in violation of that code of conduct, and please be respectful of all of your fellow participants and presenters. Please also note that the recording slides will be posted later today to the CNCF online programs page at community.cncf.io under online programs. They're also available via your registration link, and the recording will be available on our online programs YouTube playlist. With that, I will hand things over to Michael and Mark. Thank you, Libby. All right. Hello, everybody. So Michael and I, we'll just add a little bit more, but we both represent Kastin, which has been a CNCF Platinum sponsor for a number of years. We're always at KubeCon, so come and find us. We have a number of open source projects, one of which we will speak today about, as well as contributing directly to Kubernetes itself. We'll show you that at the end with the resources. But I'm coming to you today from Austin, Texas. And Michael, where are you based? I'm living in a part of France called Normandia that you, American's guy, should know for good reasons. Yeah. Yes. And Michael, give us a tiny bit more of your career, if you would. Yes, sure. So I've been a GE architect for a few years. So I was really on the development side. Then I start to help different teams with their DevOps process. And one day, Kubernetes is under the scene. And we had to deal with that. And we had to deal the protection of the workloads on Kubernetes. That was one of my tasks. And we were looking for solutions, like Kubernetes, Kastin, and other kind of solutions for protecting workloads on Kubernetes. And then I naturally moved to Kastin, which is a tool really focused on that. So mainly now, I can describe myself like a solution architect at Kastin. I help our customer to deploy Kastin on their infrastructure and to integrate with the different kind of database that they have to manage in this different kind of process. Yeah, not speaking too much about me. But that's a good summary of what I'm doing now. Great. And that's exactly where Canister comes in, customizing solutions to do data protection operations, which is exactly the heart of our presentation today. So we'll give you a quick overview of what data protection challenges are on Kubernetes and then how Canister helps solve that problem. We'll wind up with some conclusions, give you all the resources that we've cited in this presentation, including GitHub repository with the demonstration code, and then we'll get to your Q&A. All right, let's get started. So when we start talking to people about how do they solve their organization's ability to continue running no matter what, we get into all of the challenges of data protection. And the time-honored rule is the 321 backup strategy. You need three kind of online backups of your data in two different locations, and one of those has to be at least off-site or offline, in fact. So bringing that forward into the cloud-native world with Kubernetes really shows a whole new set of challenges for these old problems, which is that we see our customers and our prospects all at different stages of adopting Kubernetes and their maturity with cloud operations. So we're going to get into all of that. Stateful versus stateless workloads, why a lot of people think Etsy backup is the way to protect Kubernetes, but it's not. What is an actual application-consistent backup and why would you need to do that instead of backing up a Kubernetes cluster? And ultimately, we're going to get to exactly to how Canister solves this problem in an open source manner to give you application-consistent data protection. So first and foremost, I'll actually show you this is the data on Kubernetes community report. We'll link to this at the very end. We see basically everybody growing for the last couple of years to get past stateless applications and finally add stateful applications, which means that they have storage, means that their state is important, and we'll talk about exactly those workloads. But as soon as you're successful with Kubernetes, more and more workloads, more and more complex workloads, and more and more traditional workloads follow there on. So we see that growth exploding. So the first myth and question a lot of people come up when they meet us is, isn't everything stateless on Kubernetes? Why do I need backup, recovery, disaster recovery, and so on? And the answer is the cluster itself has a lot of state, not just at CD, which we'll get to in just a moment, but actually all of the secrets, all of the configuration. And when we go even back to 2020, the CNCF found that 55% of their respondents were already running stateful workloads. We know that that has grown quite a bit since then. The majority of those workloads, I'll just jump ahead also, are primarily databases that are stateful. And we see even a third of everybody back in 2022, already running many different variations of basically databases and stateful caches. So getting back to this, another workload that we see more recently growing a lot is even traditional virtual machines running on top of Kubernetes with the Kubevert project, another CNCF project, is also another growing workload that is incredibly stateful.  But the next step is that, well, it's not just enough to have, if you don't even have staple workloads, it's not enough to present everything as being stateless because you, in many organizations and in many industries, you must regulate, you must be able to audit, you must be able to prove what the cluster configuration was and get or doing it by hand or just a Wiki document is not enough, actually backing up and restoring, having the ability to restore your workloads and the configuration is required for audit purposes. That's all there is. And if you're not at the point where you need to be audited, if you are successful, you certainly will get there. Michael, you wanna join, add anything here? Yes, what about you said that everything is in GitOps does not mean that everything is actually in the Kubernetes cluster. So what you said about the intent, everything should be like GitOps said and what you really have is there is a real distance from a legal point of view, you can't say, I have to prove that my state was this one because look, my GitOps, my GitOps things is like this. You need to prove that on Kubernetes, it was like that and only on Kubernetes. So Kubernetes basically is the source of truth. And from my experience, what I can say is even if the good organization have very good GitOps process, when you are facing urgency, when you are facing obsolescence of an applications, when you are facing some time ignorance, many people, we see many cases where people are changing things manually. So they deploy their GitOps process, then they do some manual change. And it's very important to be able to track that as well. Even if you don't have state food workload, as you said. Agreed, agreed. So we fully endorse GitOps, but you need to add the ability to audit. And more importantly, do disaster recovery to keep your business running or keep your data because the configuration in code is not enough, right? We always have our persistence. And so that's what we see over and over and over again and our business is growing roughly double just last year alone. So yes, this is the reality. And the final myth that we also have to explain to customers is that just because they're on public cloud, which has great uptime, don't get me wrong, they're not fully protected, right? They have outages, they still need to satisfy audit requirements. And ultimately, every public cloud provider wants you to do disaster recovery, can be to another area inside that public cloud, of course, but we have many of our customers trying to figure out how to do multi-cloud using Kubernetes to be able to do hybrid and multi-cloud workloads. And so ultimately, disaster recovery and auditability and stateful workloads is the maturity journey that everybody takes. And we hope you're along those lines too because you will need canister later on. So we've covered this very briefly. We'll have links for these at the very end. So let's get to the next major concern that most people have. When they learn about Kubernetes, one of the first things they learn is how to get onto the cluster and then how to insert custom resources. And then they hear that backing up at CD is the way to preserve the state of everything. And while this is true, however, in reality, we have never seen anybody successfully do at CD backup and restore all back to that cluster once the cluster is in a bad state. That's all there is to it. I'm happy to be disproved, but I would even argue even if I'm wrong, that's a 1% use case. We see that customers do use at CD backup for forensics and audits, even development and test kind of scenarios, but restoring at CD and production when the cluster is constantly drifting, constantly changing its state and at CD is only as good as the last backup that you did. And when you do the restore, you'll go back to that point in time, but that doesn't represent where the cluster is. That drift is not represented well. So in practice, also, the Kubernetes project is trying to lock down the control plane as much as possible, such that you don't have access to even do at CD backups. And all the other Kubernetes vendors are doing this as well. So we only would advocate, if you are beholden to this strategy, you need to test whether or not it actually works. You're only good as your last restore, but the truth is that this is not the right way to actually do backup recovery and disaster recovery or auditability. It's part of it, but it's not sufficient. Michael, anything to add here? I would say that if you are in the situation where you think, oh, I should restore ATCD, it's most of the time it's too late. You are already in a very, very bad situation. It's really too late. The best is to rebuild another cluster somewhere and to restart your application from your backup. That's a much better strategy. If you have a backup system, recreate your Kubernetes cluster somewhere else and restore your application, but don't try to restore the ATCD backup. I must say that I've been an open shift administrator for three years. I never, ever restore an ATCD backup, never. It never happened. I never need to do that. Sometime I lose some clusters, hopefully I have backup, but I never try to recover from an ATCD backup. It's just a bad idea. Yeah. That's not to say you can't use GitOps to populate things on that new cluster, of course, but you'll need to ultimately restore the state as well. And not or. So this is where we get to the final contention and the takeaway that we'd like you to have is that really the applications on a Kubernetes cluster is what's important. The clusters should become cattle, should become ephemeral, should not be the logical concern of how you do backup recovery and auditing. It is one of the logical concerns, of course, but the applications themselves, their state and their configuration, that is what everybody is after. So when you approach this from an operation standpoint or a traditional backup standpoint or an infrastructure standpoint, Kubernetes allows us to finally deal with the entire vertical stack, top to bottom application infrastructure and all the operations together. This is revelatory for a lot of people, but they still approach the ability to maintain their business in traditional ways. And so this is no longer necessary. And again, Canister will help us solve this, but let's justify exactly why we need to talk about application consistent backups. Well, most people think that once they have persistent workloads and persistent volume and their persistent volume claims, that all they need to do with CSI snapshots, volume snapshots, is that's good enough. But the truth is, while that may be a crash consistent snapshot of the storage on disk at that point in time, it is often, and I would argue almost always, never good enough, right? So while you can bypass CSI container storage interface and go directly with your storage provider and use their volume snapshots, that's one thing some of our customers do. A second stage that a lot of our customers try to do to make it a more generic operation across any storage provider so that they can go multi-cloud, multi-provider and even multi versions of Kubernetes, right? As you know, CSI changes, everything changes. Even that LCD backup between different versions of Kubernetes won't work potentially. We see generic backup being the next solution that most people do where they mount a file system and just basically take copy every file. But this and the next step, which is the traditional CSI volume snapshot, all of these have failures for crash consistency in the sense that until the application and all the data is at rest on that storage medium, you do not have a proper backup. You certainly will restore it and not get what you thought. So we see backups and restorals fail because the backups weren't crash consistent and application consistent. So the next level up from that is logical backups where you use the application's backup facility if it exists or even the backup operator if it exists as a way to do an application consistent backup. And this is certainly a better state but we'll show you that it's not the final state of how to achieve this properly. So what we see, let's say you mount a MySQL container in a pod and you do MySQL dump on it then you need to get that artifact off.  You have to figure out a whole new way to manage everything in order to even get to incremental and why would we need incremental backups? Because now we need to bring down the database, get everything logically flushed on disk and get going. Actually I'm getting ahead of us, that's the system backup. Long story short is that this is a good first step but actually not good enough and not stay the art of what we have in the more traditional area of bare metal and VMs for backup. So system backups are really where we are in that world, more traditional world and we don't have that exactly on Kubernetes. This is where Canister comes in. We need to actually stop the application, lock the application or flush everything to storage. One way or another or a combination of all these things, bring things in and out of load balancers, scale up and scale down everything to make sure no transactions are in flight and then a CSI volume snapshot works and then we need to invert all those operations to orchestrate everything, to unlock everything and get the application back to a fully running state. This is where we go but once we have this orchestrated set of operations for system backups we need to then orchestrate all those notions and then figure out how to do deltas or incremental backups because that's how we get to shortest backup windows and the least amount of storage required for all that backup and recovery. So this is where that complexity of orchestration comes in for an application can consist in backup and that's how you finally win to get to what everybody expects to happen on Kubernetes but is not currently the state of the art. For performance, storage efficiency, and so on. Any other comments you might have there? Oh, yes, all you said is so true. I could just add a little thing is in my experience when the storage is not working anymore because it happens sometimes that you lose the storage for many reasons, most of the time the snapshot is not working anymore as well. You are not able to restore from the snapshot and you absolutely need an offsite copy of your backup. So just leaving, you already said that but I'm just saying that it's a common pattern to see that when you have a disaster it's often a storage disaster and you just can't use your snapshot anymore. So it's not always the case but it's a common pattern, unfortunately. So great, we've now shown you everything that you need to achieve on your journey to get to mature data protection on Kubernetes, all the characteristics of that solution but let's describe exactly how we can start to address this, right? Michael, you were going to tell me a little bit about how you used to solve things in a quick and dirty way, could you do that? Or take it? Yes, I can give you my experience. So I remember on the first time we were doing all our Kubernetes cluster on AWS. So we had the EBS storage available and our first solution was to create a script. It was a lambda function on the AWS and we were taking a snapshot of every EBS volume and that was our solution. And one day we had a disaster and we had to recover and I remember that it was a nightmare because it was very difficult to make the relationship between the EBS volume snapshot and the actual PVC that is running on the application. So we had to recreate this mapping, it was very difficult. Also, we were dealing with a lot of solution for storing the backup. So on the first place, we were storing things on AWS S3, but then for legal reason, we were told that we should send the backup on on prime S3 storage. So we had to change all the code to make that possible and we even have to rewrite the library. So that was a real pain. And also, how could we handle the logical backup for example, when you try to backup a MySQL database with MySQL and DOM, you need to establish a connection between your clients and your database. So how do you do that? Do you create a path forward? Do you open a route? And do you try to do that on the Kubernetes cluster? All these questions were pretty difficult to solve. And we quickly felt that for all those reasons, we needed the framework. We needed something generic, something that solved this problem. Right, and so we've enumerated some of the problems that our customers typically have when they do a quick and dirty backup script, right? It may actually work, that's not the issue. The issue is, does it work for everybody else? Is it available, is it flexible? Are you going to maintain it? Who else has the skill sets to run it? Is it delegated to everybody else in this world of DevOps and platform ops? Can a developer run it? Who can run it at four in the morning when you are on vacation and so on, right? So this goes on and on and on and that's why we have a company. But Canister will show you next, starts to address all of this as that flexible framework that gets you an application consistent backup. So let's go on to the next slide and we'll show you Canister now. So as alluded to, you want to be able to work with any sort of application, right? You can't hard code everything for one application in one cluster in one provider. Just won't scale. So Canister is a cloud native solution. It's an open source project. It's a patchy to license. It's available on GitHub. It is, it follows the Kubernetes operator pattern in the sense that you can use a Helm chart to install the Canister controller onto your Kubernetes cluster. It introduces three new custom resource definitions which are basically a blueprint, a profile and an action set. Michael, could you take us into a little bit more detail about how we use it? Yes, yes, yes. So to start from something simple, the profile is where you put your data. Is it on an S3 bucket? Is it on an Azure Blob? Is it on a Google bucket? Is it on the S3 compatible bucket? Where, in which region, with which credentials? So profile is all about that. So when we do a backup, we give a profile information so that the backup system know where to put the backup. Then come the blueprint. So the blueprint is really the, you can see that blueprint and action sets, they always come together. The blueprint, you can see that as a library of functions like functions that define a backup, a restore or the deletion of an artifact. And an action set is the actual invocation of a blueprint action. So you can see blueprint like a function or library of a function, an action set like an invocation of this function. So you always create an action set saying on which workload I'm working on with which blueprint, which action on the blueprint and which profile. These three things create the backup orchestration activity. So that's how we, that's how I would define this three big custom resource. Yeah, awesome. And remember, the whole goal of this for disaster recovery is to get those backup artifacts off of the cluster to be disaster recovered any place else. Right. Most customers bring down example blueprints. They customize them for their need. They upload it after putting canister, installing canister on their cluster. They upload some blueprints. They set their profile configurations. And then the action sets are the actual invocations that we trace for the lifecycle of executing a blueprint with its runtime arguments and its profiles to do a backup delete or other crud like create read update delete type operation for your artifacts application by application. All right. So that's a quick overview of what it does. Let's get a little bit more detailed. So how do you interact? Once you've installed canister on onto a Kubernetes cluster, usually you can use a cube cuddle or cube CTL. This is a religious discussion on how to pronounce that. But we also have a canister CLI tool called can cuddle which also helps with the facilitate with the lifecycle of blueprints profiles and action sets. But you can use cube cuddle as well. So once we actually have loaded on blueprints, loaded on profiles, those CRDs onto a cluster, the canister controller is constantly watching for action sets to be created. And once it does, those basically runtime arguments say with this blueprint, do that action with that profile and any other runtime arguments. And an example, the example we will be illustrating is with my SQL, please back it up or restore it to an S3 bucket. Very simple use case, typical for everybody, but obviously we can change everything with the profile and we can do many more operations than just backup inside the blueprint. Okay. So we create an action set that invokes all of these things, buys all these things together. The canister controller retrieves all those objects, the blueprint, the profile, et cetera, creates an action plan and then starts executing it. Those individual actions are examples of anything like a cube executive or executive type things. So that can be a shell command, that can be everything we can do through cube cuddle, can be any CLI, can be any API. And that's how we bind to not just what's inside the cluster, but anything outside of the cluster because we do often have to orchestrate external systems, DNS, load balancers, et cetera. It canister controller continues to exact all each of those actions, do all those operations, ultimately typically with our my SQL database instance in its pod and gets the my SQL instance appropriately stopped, flush to disk, volume backup or logical backup, in this case, a my SQL dump, and we get it off of the cluster to the backup location and S3. Canister tracks all while executing all this tracks, everything updates the action set with its status. Ultimately, when the artifact is created and exported off, we get that final state concludes and returns that status back constantly, but we finally get a completed action set. And that's really roughly how canister works. Anything I miss, Michael? No, no, no, this is perfect. The only thing we, I could add is the action set is how you're going to track your operations is the, every time you create a backup, you create a new action set. Every time you create a restore, you create a new action set and so on. So if you want to get the history of all your backup and restore activities, you just follow the least direction set and you know what happened and what failed and what succeeded and so on. Good. So shall we start showing everybody this in action now, Michael? Certainly. All right, let me stop sharing and hand it over to you. Let's go for a small demo. Let me know if you can see my screen. Can you see my screen? Yes. Okay, cool. So this is going to be a really common line demo, but yeah, that's how we use canister. So I am deploying the solution on an open shift cluster to be accurate is going to be on a row, which means open shift on Azure. And I am on the namespace MySQL test. On this namespace called MySQL test, I have a M-shart, which is deployed. And this is a MySQL M-shart. So I got the pod, which is a stateful set. Actually, it's a pod of a stateful set. I do have a stateful set, of course. I also have a PVC because it's a stateful workload. And I also have secrets, which is the credential to the database, which is this one. Now I can visit the content of the database just to show you that I do have some content inside. So let's exact inside the pod of the stateful set. And I'm going to connect to the database MySQL. And let's see the database. I do have the usual database and also the test database, which is something that I created. And inside this test database, if I use this test database, I have some tables, and actually for the demo, it's just one table, it's stable. And if I do a select star, yes, select star from this, I can see one line of a hamster. So all that to say that I have that in my database and I want to do a backup of my database. So what I'm going to do is I'm going to use canister for that. So first I need to create a profile. I already created a profile. So I can show you the profile that I created. Click the get profile. So this one is a S3 profile, which means that it's S3 compatible, but actually it's a profile that point to a WSS replicates. And also having a blueprint. So the blueprint is how you define your operations when you do the backup. And the blueprint has been created by just creating a blueprint object. So I can find my blueprint. It's here, I can see my blueprint, the my is called blueprint, and we're going to have a look to this blueprint very quickly because this is not the goal of this presentation to go into details of the blueprint, but we can just have a quick look about that. So a blueprint is made of different actions, a backup actions, a delete action when I delete my backup and a restore action. So if I go to the backup action, let's see the important thing. Actually, it's a MySQL dump. So I'm doing a MySQL dump on my database, and I zip this dump and I push this dump to the profile. That's what I'm doing exactly. And once I'm good, I'm saving the path to this dump so that I can reuse that later. Now, I can just do a demo of a backup. So what does it take to create a backup? So let's first grab the profile. Let's make sure this one is good. PRO, yes, correct. Okay, so yeah, the profile is there. And I'm going to create an action set, the famous action set that we've been speaking. So what I'm going to do is I'm invoking the backup action on the MySQL blueprint, which is living in the namespace, but it's to save the stateful set, which is leading in the MySQL test namespace and having for them MySQL release. Then I will send all that to this profile location that I already showed. So you see doing a backup has become something very simple and very easy to follow. So now let's do it. Okay, let's go. Okay, the action set has been created. You see its name is there. And I can grab the name in a variable to make it easier. Okay, so what we want to do is to follow up, see how the action set is going. And this is very simple. The only thing I have to do is to just do a get action set. And what I can see is the backup is complete. So it means that it succeeded. So let's have a look in this case. Let me take you to the bracket. And if I reload, I see a new folder. We are just seeing your... Oh, I'm sorry. Okay, I was showing you my AWS console. Okay, well, why don't you cut over to that? I'll explain a tiny bit more. So because you can see the CLI invocation of this, there is a full API of it. So this is how you can put backup and recovery into GitOps, right? Don't just place GitOps, we augment it with the data operations, the data protection operations with Canister. And so you're absolutely right, this is an object. And we can see the content of this object. This is really a Kubernetes object. So it's an action set with a name, with a name space and so on. And you can see the three components, the blueprint, the profile. And no, that's all, the blueprint and the profile. And yes, and on which thing we are acting, the object. So the three elements, the blueprint, the object on which we are acting and the profile. And in the status, you can see that we created the dump here on this S3 bucket. And we've got a state, the status of the good completion of the backup. So the state is complete here. So now let's imagine that I lose my data because I know I made a human error, it can happen. So let's imagine that I'm removing my SQL data pass. Okay, if I do also get O, you see that nothing. If I do also get STS, nothing. And let's say that I also remove the PDC. Oh really, no chance. Let's see, get PDC, you know, everything is gone. So I need to restore. So the first thing I'm going to do is to reinstall the whole thing, the data pass and the PDC. But this is going to be completely empty. So there won't be anything inside this data pass. Let's, yeah, yes, we're not creating. So we need to wait for the pod to be up and running. Now we're just doing this on the same cluster, but it could be any cluster at this point. Yes, we could restore that in another cluster. That would be perfectly possible. Okay, so my pod is now running. And I could go inside the data pass and show you that the test data pass does not exist, that the pets table does not exist. But I'm pretty sure that you trust me. So now I'm going to create a restoration. So this time my approach would be different. I'm going to create again an action set, but I'm not going to define the profile, the blueprint or the object because I'm going to work from the preview section set. I want to restore the backup created in the preview section set.  So let's do it. And getting back to auditing. This is exactly how you can target the appropriate point in time action set record to get the database back to where you need it for an audit purpose at any point in time. You just have to find the right action set. Yeah, that's true. Something that I did not show, but I could have also get action set minus and cast an IO. It's where I put all my action set. You see many action sets. Some of them failed because I was just doing some fine tuning. So you can always list the different action, the backup and my restore attempt and so on. So you can follow up your action. So let's do that now. Let's create a restore action. Yes, you can see we did a dry run of our restore earlier today to make sure everything was right. So now, yes, it's because we are introducing a new CRT called repository server, but never mind. So everything works fine. I can grab the new action set. This one actually the restore backup, but I want to put that in a variable easily. So I'm going to just execute this command. Go to action set. Yes, this is the one. And if I check the value of this action set, I'm sorry. You see that it completes, which means that it's successful. And the things I can do is now connect to the database and just check my data, our back. So I'm going to connect to my code, connect to my database and just check the database. Basis. And this is there. And I can just. Oh, no, let's just select start from pets. You're right. Use best and select start from pets. And no surprise. We get back a world economy stuff. So to summarize, once you have the framework is installed and the blueprint are okay, the only thing you need to do to backup is this. Cube cutter, create an action set. And when you need to restore, the only thing you have to do is this. The restore consume the previous action set, the backup action set. So yeah, that's my demo for the moment. Thank you, Michael. All right. If you would stop sharing, I'll finish up everything. This one. Okay. All right. So let's conclude and wrap up with what we had. So what we've shown is that canister is a cloud native open source extensible framework for Kubernetes data protection. Please adopt it. Please join us. Please improve it by joining us at canister.io. So we have community bi-weekly meetings on Zoom. We have a Slack channel that you can join and ask questions. Our engineering team and many other customers and adopters are there. And so that's how the community interacts and we figure out what we need to do next on the roadmap. For instance, I think I saw the complete percentage doesn't really seem to make sense. There might be some bugs there. We have a partner in Kube campus that does a lot of Kubernetes training and they have a tutorial for using canister. Please come to canister.io and you'll be able to get to all of these references. The MySQL database blueprint is available on our GitHub in the project. And today's webinar materials themselves, the code that was executed, is also available there. I've also linked over to the references that we cited earlier, the CNCF survey about going from stateless to stateful. The data on Kubernetes community 2021 report for again, increasing stateful workloads and which databases. The Datadog HQ Container Report also for more database insight. We are actively involved with the Kubernetes community and Kubernetes engineering in the data protection working group that has a charter and a white paper on all of the data protection concerns that are needed between the storage provider community, the application provider community and so on. So please come and join us there. In particular, we are leading a lot of the effort for Kubernetes enhancement proposal 3314, which is to introduce change block tracking to the CSI volume snapshot operation. And so if you're interested in helping us get that spread and adopted, please join us or even comment on the design. We are in prototype phase right now. So that gives you, I think, a great overview of what Canister does, where it does it and how it does it, which is most important because we're helping all of our customers and all of the entire CNCF and Kubernetes community grow in their data protection maturity such that they have disaster recovery in an application consistent way. And it's not easy, but with a community like this, we're solving it and we're solving it at scale. So, Michael, any other final comments? I think that's it. We probably, if you're in the last thing I would say for my experience, don't try to implement the backup solution yourself. Don't try to implement the backup framework or a very small teeny backup framework of your own because it's an incredibly difficult problem to solve. It's better to rely on framework that have experience on this matter. And we do have a lot of experience on that. And believe me, the Canister framework has been built right, really built right, but you need some experience and to exercise, to understand. Yeah, we'd like you to make mistakes with Canister and recover from those mistakes and achieve data protection that much sooner rather than relearn all of the mistakes that we've already corrected with our community and proved in many more use cases outside of even what we imagined. Because we do data protection at Veeam for traditional workloads and because Kasten does it for Kubernetes and specific, we created Canister such that we didn't have to do a specific integration for each and every provider and each and every application. This is leverageable by anybody in any scenario. So this is our contribution to the entire community and we hope you find it as valuable as we already have and our customers already have. All right, Libby, how are we doing? We are doing good. We are ready for some Q&A. So if anyone has questions, go ahead and drop them in the chat and we have about 10 minutes to answer anything. Any burning questions? So I think we did a good job on timing then. Excellent job. Anyone have questions for Mark and Michael? Either we did an excellent job or people are still trying to figure out what's the right next question to ask. Well, long story short, as we said, we've got lots of resources. Come to canister.io and learn about it. And not only that, you'll be able to get this entire presentation and our video recording, Libby, hopefully a little later today, I'll send you final version of these slides right after we finish. Yeah, perfect. All right, no questions. Is this our final offer? You can reach out to Michael and myself through GitHub, through Twitter, et cetera, et cetera, et cetera. And our first name, that last name at beam.com. Awesome. Oh, here we go. If I lose not only app data, but also cluster as well, do I have to restore actions before I can use canister to restore data? This is a very good question. Yes, thank you for asking that. Actually, I show you that I use the action set to recover, but this is not mandatory to create another action set. You can just create an action set out of the blues, out of the blue, I'm sorry, not out of the blues. If I share my screen again, if you want to make sure you have your screen again. Yeah, stop sharing. Go ahead, Michael. Yes, show this window as well. Okay. If I just execute also get the action set, the action set minus n, because then I hope, this last one, it was the restore one. Yes, okay. And now if I just pick the content of this action set, you see that you can perfectly provide the information yourself. You don't have to get back to, yes, you don't have to rebuild from a previous action set. You can just create this restore action set directly by providing your information and that will work as well. So it's just these things, the from, is just to make it easier. But at the end, what you create is a plan, is a plan action set where you provide the artifact where you want, on which you want to work. Yeah, I hope this is answering the question. I'll add a tiny bit more there. So yeah, if you have a brand new cluster, you would need to get some basic things installed such as canister, get those profiles and blueprints loaded and then yeah, you can start with your action set. But that's a get-ups operation in my opinion, not hard to do. And we have the home chart, so really easy to do. All right then. I think Libby, we'll thank you for your time. Thank you for seeing us today. Well, thank you both, Mark and Michael. Thank you everyone for attending and those of you who view this later, thanks for watching. We'll get this up as soon as possible. And join us again for another live webinar with CNCF or all of our online programs that we post weekly. And thank you both so much again and we'll see you next time everyone. Thank you. Merci Michael Auvois.


What is up you guys, welcome back to another one. If you are new to the channel, I'm Goldpony and today we are in the new 2020 Toyota 86 courtesy of Hanover Toyota and Hanover PA. And this one is special for the 2020 model year. You guys probably already know Toyota always does a special edition, so to speak of the 86. This particular 86 is called the Hakone edition, better known as the Hakone, more than likely to us here in the US. But anyways, today I'm going to be going over everything about this one for you guys, including the changes for the 2020 model year. So what do you say? Let's go ahead and jump right into it. And as always, let's start with pricing. And so as you can imagine, there are a few different trim levels for the 2020 86. First one being the base, starting at $26,985. GT starting at $29,835. And the one we are in today, the Hakone edition starting at $29,870. So the regardless of trim level that you go with, the power plant is going to be the same. Powering this little beast is a two liter, horizontally opposed four cylinder boxer engine, putting out 205 horsepower at 7,000 RPM and 156 pound feet of torque available at around 6,400 RPM. And in case you were curious, Redline comes in at 7,400 RPM. But overall power is going to be sent to the rear wheels through a six speed manual standard. There is a six speed automatic available for this one. And actually that's only going to add $145 if you were interested. But if you were to go with that six speed automatic, you will also get paddle shifters and some driving modes including track, sport and snow as well. Although with the manual we have today, I will say we do have that track mode button that's by the way located just behind the shifter. Essentially your drift mode is going to turn off the traction control and allow you to have some fun there. But zero to 60 is going to come in in approximately 6.2 seconds. To go along with that, the CPG numbers come in at 21 in the city, 28 on the highway taking premium unleaded fuel. But now since I've mentioned all of that and we are coming up to a stop sign here, let's go ahead and do a quick little acceleration here in this one and let's see how quickly we can get this thing here up to speed. And here we go. All right, forget about track mode. We're slipping either way. It is like 30 degrees out today. So that was quite fun, a lot of spinning. But then again, this is one of those cars you drive when it's a little bit warmer than 30 degrees outside here in Pennsylvania, but still a absolute blast to drive. I will say this is definitely feeling like it's going to shape up to be a driver's car here. All right, so I keep mentioning we do have the six speed manual here. So I did want to mention as far as the grab points go, the clutch feel, all of that feels brilliant. Definitely an easy car to learn how to drive manual on as well if you don't yet know how to drive manual and you're thinking of this as the first car, but certainly a nice little car to drive. Definitely a very nice feel, very easy to shift through the gears in this thing. Also it does have reverse lockout protection. Toyota calls it essentially means that you're not going to be able to throw it in reverse where you're actually driving. To actually put the 86 in reverse, they didn't make it an intentional act, meaning you have to lift up underneath the shifter and slide it into the upper left hand corner. So therefore it is going to be impossible to actually throw it in reverse when you're actually driving. So that is definitely a good thing. You don't want to blow anything up while you're driving this thing. So do want to put everyone's mind at ease when it comes to that, but now let's go ahead and touch on breaking a little bit. Up front you're going to find 11.58 inch ventilated front discs. In the back, 11.42 inch ventilated rear discs. As far as breaking feel goes, this felt perfectly fine to me today. Do want to also mention though, since I'm mentioning the braking, there is a TRD handling package that goes for $1,270. And that is actually new for the 2020 86. It's one of the new changes for this year. Although I will say it is not available with this special edition here that we have today, but it is available on the other trims. But the reason I'm mentioning it now is because it actually does bump up the brake size. Frembo 12.8 inch front discs, 12.4 inches in the back and it comes with an adaptive damping system as well. And essentially what an adaptive damping system is is it monitors each shock absorber individually, soaking up the road's imperfections, giving it a smoother ride, but also tightening up the suspension during heavy cornering, really giving you the best of both worlds. So that is definitely going to be a plus with that package. And in addition to that, one more thing that package does add is Michelin Pilot Sport 4 tires, so a little enhanced grip there as well. But I suppose that kind of segues us into the suspension components of the 86 up front. You're going to find a McPherson strut front suspension in the back, a sport tuned, independent multi-link rear suspension. Of course front and rear stabilizer bars as expected, but also a torsion, limited slip differential. We're just going to essentially send torque to the rear wheel with the most traction. So it's not only going to give you a little better acceleration, but it's going to give you a little better handling there too. And another thing I found kind of interesting when I was glancing over Toyota's website with the specs on the 86, is they do list a center handbrake in the performance section of their website, kind of indicating, yes, you can kind of use that to drift if you wanted to, although it's not a true handbrake for drifting, but still, it's better than that E-brake where you actually have to slam your foot on it. So that's definitely going to be a plus if you do plan on drifting this thing at least. But yeah, rowing through the gears is definitely easy to do. This car is fun. Definitely a driver's car. I'm actually very much enjoying driving this car and that's coming off driving my own car with 460 horsepower. So I should say something right there. And perhaps one of the reasons for that is the steering feel. It's definitely a heavier weight to it. So it immediately points you in the direction that you want to go. And really in a car like this, you would expect that. But the steering feel is nice. So I definitely did want to mention that as well. Ride quality is pretty much as expected. Usually cars like this, you are going to feel a bit more of the road. So there is that to go along with that cabin noise. It's a little more pronounced as well. But all of that really is in the background if you're looking at this car anyways. It's like, who really cares? This car is so much fun to drive. Do you really care about a little bit of cabin noise? I think not. But so they're touching on visibility a little bit. I can see perfectly fine out the back. But so that about rounds out the performance segment of this review. Let's now go ahead and take a look at the exterior of this new 2020 Toyota 86. All right, you guys. Here it is, the 2020 Toyota 86. And just to elaborate a little bit on the name, Hakone Special Edition that we have here today. That was actually named after a turnpike in Japan famous for its bendy roads basically through the mountains. Kind of like the Nurburgring of Japan. It is called actually. So that's where the name came from in case anybody was curious. And of course the color with the Hakone Edition is specific. It is this Hakone green that you are looking at right now. It's kind of like a British racing green. Definitely a darker, deeper tone to it. So that definitely looks good in my opinion. Anyhow, the other new color for 2020 is going to be called Pavement. It is a kind of a dark gray color in case you were curious. But let's go ahead and take a look up front. LED low beam headlights will come standard. One of the cool things about these headlights, guys can see the 86 engraved into the side of them. I always found that pretty cool. And different companies do that. Usually luxury brands do that, but I love that Toyota did that with this one. But LED daytime running lights, of course will come standard as well. And those headlights will come with automatic feature, meaning when it starts to get dark out, the organ will turn on automatically for you there. So you never have to worry about that. And just below you will find LED fog lights for the GT trim level and the Hakone that we have today. So that is pretty cool too. But let's go ahead and make our way to the side on this one. 86 badging can be found in the front fender. Always liked that. It's kind of like Nissan puts their Z in the front fender. Toyota puts the 86 up there. So that's pretty cool. When it comes to the side mirrors, they are body colored power adjustable side mirrors and they will be heated actually with the GT and the Hakone edition that we have here today.  And then taking a look down at the wheel setup, 17 inch alloy wheels will come with the base, 17 inch bronze alloy wheels is what you were looking at right now. And that is specific to the trim that we have today, of course. And with the GT that's actually gonna upsize that wheel setup to 18 inch alloy wheels. But let's go ahead and make our way to the back now. Shark fin antenna can be found up top. You guys could probably see that. There is an added rear wing with the GT and the Hakone edition here that we have today. Definitely looks very good in my opinion. Love the design of it. You don't see too many rear wings looking like this that come straight from the factory. Now I don't know if you guys can see this, but it is body colored on the side.  So there is a little bit of a contrast color to that rear wing as well. But as far as the tail lights go, they are LED tail lights. That is going to be the standard setup across the board. And just below it all, I love the matte black rear diffuser to kind of ties it with the spoiler actually pretty well. But to the sides of that, of course, dual exhaust outlets with large chrome tips. They are pretty large outlets, considering the size of the car at least. But anyways, as always, you guys know what we have to do next here is that 2020 Toyota 86 exhaust clip. All right, so now since we are around back, when it comes to opening that rear trunk, there are two different ways you can open it up. There is a button on the key fob, so simply feel free to just press that if you like. The other button is going to be located by the driver's left knee. That is the second way you can go about opening up that rear trunk. But once opened up, cargo capacity is going to come in at 6.9 cubic feet. So not the largest trunk, but it's not the largest car either. But if you did need more space, these rear seats actually do fold down for quite a bit of extra space there if you needed it then. Then make your way to the rear legroom that is going to come in at 29.9 inches.  For reference, I'm going to take my shoes off here so I don't get anything messy. I am even six feet tall. This is how much space I had back there. Essentially, I'm not even sure if a small child could fit back there, at least with an adult in front of them. Car seats maybe, but not a whole lot of space in the back seat. I will say that. Then make your way up to the front seats. This is where it's really at in the 86. Manually adjustable front seats will come standard. You will find heated front seats located behind the shifter here. That is going to come on the GT trim level and the Hakone trim level. And you will actually get suede inserts. The suede inserts are going to be found in the middle as well as a little bit of the upper portion of the corners here. So it's a leather suede combo actually. And I love the tan accents. That's actually specific to this trim level that we have today. But the suede inserts, you guys probably know suede slash Alcantara. That's usually stuff you find on Porsche, on Audi, on Lamborghini, McLaren, the higher end cars. So I do love that it's on the Toyota 86, I gotta be honest. But as far as the bolstering goes, the seats are bolstered very well. But again, that is to be expected. A lot of people do use this as a drift car. So excellent job there, Toyota. Taking a look at the steering wheel. It is tilt and telescoping. It is leather wrapped for all trim levels. And you gotta love the 86 center cap as well. And you will actually get some tan contrast stitching. Once again, you're gonna find the tan theme all over the place on the interior here of this Hakone edition that we have here today. But now let's go ahead and make our way to the startup. Let me first start by showing you guys the key here. Do have your Toyota logo on the one side. And when you flip it over lock, unlock. And again, that button to pop the rear hatch. But to go ahead and start this one, all I'm going to do is simply put my foot on the brake and clutch. And there is a push button start located directly in front of the shifter. So little different positioning on this one. You don't usually find that there. Almost other cars out there. So we did want to mention that. But once started up, speedometer is all the way on your left. Tachometer is front and center, giving you the RPMs up to 9,000 RPM. Although I told you guys the red line is only 7,400. So don't try 9,000. Also have a G-Force meter all the way to the right. I found that pretty cool. It gives you your G-Force stats basically at any given time when you're driving. Although you probably shouldn't be looking at it while you're driving, but it's kind of cool that it's there. Also your outside temperature is going to give you down there. And of course the tack, how many miles you actually have on the car. So kind of a cool gauge setup there. I'm kind of surprised to find the G-Force stats up there. So that was pretty cool. But now let's make our way to overall interior quality because I actually absolutely love the interior quality of this thing. Alcantara accents on this Hakone trim level that we have today. And you can find them everywhere, including just above the passenger side glove box with the Toyota 86 etched in tan. And those suede accents continue around the infotainment screen actually there as well. Lot of companies will leave that plastic around the infotainment screen, but I love that they're suede on this one. Also suede just above the gauges. It's on the doors. Of course I told you guys on the seats, it is found absolutely everywhere. And that is a good thing for sure. You can also find the suede accents actually on the GT trim level as well. And there's actually also some knee support cushions for every single trim level. Again, a very good thing for this being a more spirited type of car, more spirited driving I should say. Dual-zone climate control is gonna come standard with the GT and the Hakone trim level we have today. Just in front of the shifter, there is probably the tiniest cubby area in existence. There is a USB charger just to the right of that. And you do have a cell phone holder and a couple cup holders actually just behind the heated seat buttons. And there is a cargo area so you can actually take out those cup holders if you didn't want them there and just use that as cargo space. There's a 12-volt power outlet right there as well. And just above that, there is a sliding armrest. And this is important. I always like to emphasize this in manuals. The sliding armrest is good because if you have the 6B manual like we do here, if you're going on a long road trip, it does provide you a nice rest for your elbow as you're shifting through the gears, at least with that center armrest pulled up. So it is kind of nice that it slides up there at least when you have the 6B manual. But let's go ahead and make our way now to the tech display. Seven-inch color touchscreen display will come standard on the 86, including Bluetooth and audio streaming. And one of the new features for most other 2020 Toyotas as well, Android Auto and Apple CarPlay will come standard on the 2020 86. So that is most definitely a plus as well because that means all you need to do is simply take your smartphone, hook it up to the 86, and therefore you have free navigation displaying up on that screen, as well as the ability to actually like and dislike your Pandora songs if you wanted to. And there's a couple other compatible apps as well. But speaking of Pandora and the radio settings, you will find an 8-speaker sound system on the 2020 Toyota 86. So what do you say? Let's go ahead and turn on the radio. See, we got playing this morning and let's test out the clarity of this one. Honestly, eight speakers in this size of a vehicle is more than enough. Clarity is all right, bass is all right. It is a pretty adequate sound system for the 86. Quite honestly, if you're going for the 86, I don't think the sound system means all that much. That's just my opinion because again, this is more of a driver's car. I find it much more enjoyable revving through the gears, hearing the sound of the engine as opposed to listening to the radio or something like that. Anyways, last thing I wanted to mention to you guys on that tech display is, when you do put the 86 in reverse, and by the way, to put the 86 in reverse, again, all you need to do is simply lift up underneath the shifter and pushing the upper left-hand corner there. When you do that, you will find a rear view camera not on the infotainment screen, but rather in the upper left-hand corner of the rear view mirror. This is one of the coolest things about the 86. I've seen this before, I always get a kick out of it. But I guess it makes sense because you're looking in your rear view mirror to see what's behind you anyways. Why not put the little camera up there as well? So I guess it makes sense to me, I'll go for that. But anywho, that, as always, is going to lead us into safety. And so when it comes to safety, again, this is a driver's car front side side curtain airbags.  So basically all the basics that you're gonna need. And so, but anyways, that is about it for this one, you guys, thank you so much for watching. Feel free to follow me on social media at the bottom of the screen there if you like. Be sure to hit the subscribe and the bell notification button if you're into new car reviews. That is what we do here on this channel. Do appreciate you guys watching more than you know, and I will see you guys in the next video. Stay gold.


So I personally did not think that this was possible, but Ted Cruz the senator from Texas who we all know and hate He actually said something that was perfectly reasonable shocking I know and of course since he said something that was agreeable to most reasonable human beings it caused outrage among his Republican followers and honestly, let's be clear to even call his statement his tweets Reasonable or even compassionate. It really just feels like we're giving him too much credit Because this is the bare minimum like it is the bare minimum expectation for basic human decency But having said that though the bar is very low, so I do feel inclined to give him credit So what exactly am I talking about? Well without further ado He reacted to this story shared by the New York Times on Monday where they say the president of Uganda signed a punitive Anti-gay bill on Monday that includes the death penalty and shrining into law an Intensifying crackdown against LGBTQ people in the East African nation It is one of the world's most restrictive anti-gay measures now in response Ted Cruz tweeted this Uganda law is horrific and wrong Any law criminalizing homosexuality or imposing the death penalty for aggravated homosexuality is grotesque and an abomination all Civilized nations should join together in condemning this human rights abuse Hashtag LGBTQ now I get it the bar is very very low here, right?  What are you conserving? Uganda is based.   Uganda follows Christian values more closely than Texas. You should be ashamed Uganda is based It's actually pretty epic and will protect his country from the plague in which we suffer in America Imagine how beautiful our country would be Ted. I'm very disappointed in your take here Homosexuality is sinful and unnatural Maybe they saw how it unfolded here in the US first the gays wanted to get married and now they want to touch your kids Seems pretty logical to me if you're Uganda right now We made a societal mistake when we normalized the deviancy you would have hated God's law Ted Glad you're here now to fix all that God got wrong.  So that is where we're at in 2023 America folks if you simply say that Jailing gays for life is wrong or killing them is wrong Well, congratulations. You've been infected with the woke mind virus And I understand that reading all of that is probably very depressing. I apologize for putting you through that But I need people to understand that This is a very widespread sentiment It's not like there were a couple of tweets with no engagement that denounced Ted Cruz That was widespread and a lot of those tweets Had tons of likes hundreds of likes in some instances But to his credit despite the backlash he doubled down on this I guess highly controversial stance that you shouldn't kill gay people and he doubled down in a response to former Trump Attorney Jenna Ellis writing Jenna not sure why you're defending this barbaric Ugandan law It imposes life imprisonment for consenting adults who engage in gay sex. That's ridiculous You or I may or may not agree with their choices But consenting adults should not go to jail for what they do in their own bedrooms and as you can see here She also called his tweet pro gay Because again, this is where we're at in 2023 despite Ted Cruz's past as a passionate homophobe he's now woke or pro-LGBTQ for simply denouncing life imprisonments or the death penalty for homosexuality It's just astonishing that we've come this far or we've fallen so much just within the span of a year Particularly a couple of months. It's it's really depressing But I do have some good news at the end of this video So stick around for that if this is kind of getting you down, but I need people to understand that This extremist almost Nazi-esque views that we're seeing from the right. It doesn't just Start and end with LGBTQ plus people for example far-right influencer Ian Miles Chong got Ratioed into oblivion for simply responding to an anti-semitic tweet by saying Jews aren't the problem and his followers roasted him And some of them even shared pro-Hitler images because I mean of course But it doesn't even stop there because in response to a video of Biden saying that he's taking unprecedented action to fight hate and Anti-semitism Lauren Bobbert responded by saying when they say stuff like this, they mean they want to go after conservatives I mean way to tell on yourself Bobo Fucking moron, but I want to stress that We're no longer just seeing typical right-wing bigotry. None of this is standard bigotry bigotry involves somebody Not wanting a marginalized group to have Civil rights this rhetoric that we're seeing is extremist and genocidal and you don't have to speculate Where it would take us if we follow this ideology to its logical conclusion because they've already told us They want what Uganda has in America and Uganda's bill is so bad that again It is viewed as one of the most homophobic laws in the world, but ironically Uganda didn't necessarily come up with this by themselves This homophobic wave that we're seeing in Uganda and other countries is the result of US meddling But first let's get to the law itself So as lgbtq nation explains while homosexual sex was already punishable by life imprisonment in Uganda under the country's colonial era Penal code the new law imposes a life sentence for recruitment Promotion and funding of same-sex activities and even bans Identifying as lgbtq plus it makes what the law describes as acts of aggravated homosexuality Punishable by the death penalty as Politico notes the law defines aggravated homosexuality as same-sex relations involving HIV positive people Children or other vulnerable people now many of the fascists and Ted Cruz's replies used the law's definition of aggravated homosexuality to Basically defend the law saying that this doesn't apply to all gays It only applies to HIV positive people and pedophiles specifically the problem However, is that this law is framed so as to conflate homosexuality with pedophilia And it also suggests that gays are plague-ridden deviants who are knowingly spreading diseases But I mean what if two HIV positive gay people engaged in intercourse?  What's the standard for evidence furthermore is this going to be a Trojan horse for an expansion because their first law which criminalized homosexuality was expanded here, so What's gonna stop them from conflating a man acting too effeminate around a child as pedophilia? I mean it is a very Slippery slope here and we're already seeing a surge of homophobic or harassment as a result of these laws But it's not just queer people who are being harassed. It's anyone who is perceived to be LGBTQ So this will affect straight and cis people as well. That's what they don't realize But I mean when you have this culture that is deeply homophobic You can't just create these exceptions and not expect Innocent people to get caught up because they will get swept up in this But even though politicians like Ted Cruz are against these laws It should still worry us that there are so many right-wingers who publicly support laws that are this homophobic But we shouldn't really be shocked by this because homophobia is something that American evangelicals exported to Uganda and other countries as well to be clear and they basically used these countries as testing grounds for their highly conservative social policies and the goal ultimately is to export those policies Back to the United States after seeing that they're successful in these countries where they're testing them out in MSNBC columnists Naira Hawk explains American evangelical missionaries arrived in Uganda in the 1980s They built medical clinics and schools as part of a strategic effort to prompt a religious revival in the developing world The 1980s also marked the start of the AIDS epidemic that at its peak ended up infecting 30% of pregnant women in Uganda and 20% of adults across the continent that epidemic also offered 34 million children across the continent Missionaries in Uganda quickly adopted America's virulent homophobia to preach against what they argued was deviant sexual behavior It did not matter that AIDS in Africa was mostly spread by straight people Lou Eagle and evangelical leader from Kansas City, Missouri Known for his opposition to abortion and gay people brought Ugandan preachers to America for training and education American church leaders have also had a direct hand in Uganda's criminalization of LGBTQ people the PBS documentary God loves Uganda features Scott lively a religious personality who blames homosexuals for the Holocaust and Follows his celebrity rise in East Africa in that documentary We see lively appearing on talk shows and addressing the Ugandan Parliament in favor of the 2009 version of the anti-homosexual bill now the original version of the 2009 law referenced in that article was originally dubbed the kill the gays bill Because it originally wanted to kill all gay people simply for being gay But the compromise was life imprisonment and as you can see that law is being expanded here It just was expanded now Scott lively is one of many American evangelicals to spread bigotry across Africa and especially in Uganda and They're successful at doing this because of their methods so they'll do actual charity work for these impoverished communities and They'll build schools. They'll offer them food housing, but in turn They indoctrinate them and you know It sounds reasonable because if your village is struggling and hungry and you have this American come along and offer you food and In exchange all you have to do is listen to them preach to you that sounds pretty reasonable on its face, right? But that's how they indoctrinate these villages Into their hateful ideology and they kind of saw Uganda as a sort of testing ground and for those unaware Americans have been using other countries as laboratories for their shitty policies since forever Another example is how American neoliberals used chili to test out privatizing social security, which has been Disastrous doesn't even begin to explain it, but it's been a colossal mistake But this is what they do right with regard to Africa, for example a large portion of non-governmental organizations are religious So you begin to see why these countries slowly, but surely adopt social conservatism because they are influenced by these Western creatures who come in and They're nice to them and Again, they offer you all of these resources They offer you charity.   But the difference is that a bunch of bloodthirsty evangelicals convinced Ugandans That the existence of gay people is wrong and that's why we're seeing so many laws Their influence is far and wide in some of these countries, but as depressing as the story may be I want to make it very clear that not every country is moving backwards when it comes to LGBTQ plus rights Because as pink news explains on Tuesday May 30th Nagoya district court became the second to rule against Japan's banning of same-sex marriage Despite the country's prime minister Fumio Kishida claiming the ban wasn't discriminatory to the LGBTQ plus community The ruling welcomed by activists and supporters outside the court follows Japan's main opposition the constitutional Democratic Party CDP Submitting a bill calling for same-sex marriage to be legalized Now what I also love to hear is that Prime Minister Fumio Kishida's lack of support for gay marriage is one of if not the main reason Why his support is just imploding so his approval rating dropped by 30 points last year And as his approval rating goes down support for marriage equality goes up In fact 69% of Japanese citizens nice support marriage equality and 68% support gay adoption So to see their homophobic prime minister hemorrhage support in part due to his refusal to support a policy that the overwhelming majority of the population wants I mean it demonstrates that not every single country Is following the u.s. Backwards when it comes to LGBTQ plus rights now The reason why this is happening is because progress isn't always linear like we kind of visualize Progress as always moving forward, but sometimes you take a couple of steps forward and a lot of steps backwards There's periods of progress that are Rapid right that was the 2010s for LGBTQ plus rights, especially gay marriage rights There's always going to be swift periods of progress followed by rapid regression But what matters the most at the end of the day is that the trend overall? I think ultimately heads in a positive direction and despite the GOP's genocidal rhetoric I do believe that we are also headed in a positive direction Even if it doesn't necessarily seem that way now But just remember that the biggest bigots are also the loudest So what we're hearing now basically is a last-ditch effort by bigots to turn the country against LGBTQ plus people But it's probably too late for them and while the damage that they're causing is palpable. It's real We're feeling it now. I do believe that this is only temporary So keep that in mind if you start to feel depressed from these stories because I feel it too But understand that things will get better because we didn't think that they could possibly improve before and they did So all of this is temporary and we just have to keep fighting Because the second that we give up and we see the ground to these bigots, that's when they win That's when they pounce so just hang in there as difficult as as it may be Trans rights are human rights. It is necessary to push trans on the kids pride