So I got in my car yesterday and made the 45-mile drive down the mountain view. And I was in a pretty special car with some pretty special capabilities, and I'll get back to that car in a bit. But for now, I want you to just appreciate the fact that we can do that kind of drive at all. You know, for our ancestors, getting down to Silicon Valley would have met a full day on horseback. But for us, we can just make the decision to go down to Palo Alto and not bring an overnight back.  It's truly a miracle that we have cars around. Unfortunately, that miracle is the most dangerous thing most of us participate in. I'll give you the good news first. After years of relentlessly increasing, the number of auto fatalities per year has finally started dropping. And it's now down to only 30,000 people per year. That's still pretty high. Some of the credit for that goes to the weak economy, fewer people on the road, fewer people die. But most of it seems to be due to more people using seat belts and improvements from car manufacturers such as airbags and better crumple zones. Now, if we continued that trend, we'd be in pretty good shape. Unfortunately, it doesn't look like that's the case. There are only so many more people we can get to use seat belts at this point. We've done a really good job of surviving accidents at this point. But from now on, we need to not have accidents. And as if the deaths weren't enough, there are other problems with driving. Even non-fatal accidents are going to have huge repair bills. And think of the time we waste.  We spend so much time staring out the windshield because we're supposed to be paying attention, but we're not even good at that. Most accidents that you see are from human error. If you had a component of a system you were building that caused 90% of your failures, you would do something about it. With that in mind. DARPA, the research wing of the U.S. military, sponsored a challenge in the desert where teams of driverless vehicles were supposed to drive 150 miles to the Mojave Desert with no person in the car. The winning team out of 150 miles made it 7 miles before they went off the road and ran to Iraq. Clearly, things were not off to a great start. But undaunted, they ran the contest again the next year, and that year five teams completed the entire course. That's a huge improvement in just a year. As interesting as it is to drive 20 miles per hour through an unpopulated desert, that's not how most of us do our commuting. So recognizing that, they ran a more realistic scenario, which they called the urban challenge.  This was a limited set of traffic interactions. There were four-way stops, but no traffic signals, certainly no merges onto the freeway, and there was one minor collision. But really, the sense of progress was astounding. At this point DARPA essentially declared victory and moved on to sponsoring other forms of science fiction, which many of you may know about. But the baton was passed. At this point, Google stepped in. In 2009, Google formed a team to work on self-driving cars. They hired in a lot of the winners from the earlier DARPA challenges, as well as engineers from within Google, such as myself. The goal here was to do this for real, to do it with a sense of urgency to drive in real environments and to do it safely, because this is really important. A lot of people ask why Google would even bother doing this. After all, it doesn't have a lot to do with searching the internet or serving email or serving ads. I hope I've made it clear by this point that this is a really important problem. As a software engineer, this is the most important thing I know how to work on. The other question that people ask is, why is Google even qualified to do this? After all, we've never built a car. We don't do that sort of thing. The answer is that we think that this is fundamentally a software problem. That's the difficult part of this. We think it's something that you can apply massive amounts of data to in our existing experience in building digital maps to produce a real solution to this really challenging technical problem. Approaches to date for self-driving cars can broadly be put into two categories. On the one hand, you could put all of your intelligence in the vehicle and make no assumptions about what's around the corner. This is epitomized in the desert challenges, where the teams really didn't know what route they were going to drive until a couple of hours before the event started. The problem with this is if you have no idea what's around the corner, you can't drive very fast. You have to be very conservative. It's really not how the rest of us drive. We make assumptions about how roads are laid out, about how other drivers are going to behave, but you're not allowed to do that in the desert challenge.  In the extreme form of this, you could build entirely separate lanes, which were only for self-driving cars, or you could even build rails. You essentially got a monorail. The problem with that, of course, is that infrastructure is incredibly expensive to build out. You've got a real chicken and egg problem here. No one is going to spend billions of dollars laying out tracks for cars which don't even exist yet. Fortunately, there's a middle ground which we've chosen to take at Google. We've built a virtual infrastructure in the form of digital maps. It's not that we don't know anything about what's around the corner. We actually have a pretty good idea about what's around the corner. We put some of the intelligence into building the maps and some of the intelligence into the onboard software. Quite a bit, actually, but we're allowed to make certain assumptions about what the world is going to look like.  You have a lot of knowledge about how things are laid out and often you've driven the road before and can make assumptions. And we allow ourselves to do that. Whenever you talk about a system that's complicated, it helps to break it down into layers, and I'm going to do that here. First, I'm going to tell you a bit about our platform, the hardware, the sensors, our embedded computing platform, and then I'll move on to how the cars figure out where they are. Once they've established that, they need to understand what's going on in the world around them, and then finally take a course of action. I'll start with the sensors. The most obvious one everyone sees is the laser. It's the big spinning bucket on top. That laser is a laser rangefinder which uses speed of light to figure out the distance to objects. It spins at 10 times a second, and in each of those rotations, it produces 100,000 3D points. The huge advantage of the laser is that it gives us a 360-degree view, and it's incredibly precise, giving us about 5 centimeter accuracy on any given measurement. The problems with the laser are that it can only see so far, and in the farther out you get, the farther out the points get spread in the angular direction. The other problem is that it suffers from any problem that affects photons, such as rain, and we find that the laser works less well on the sort of heavy rain that you might have seen yesterday. The other sensor that you can see on the outside is the radar. Radar has a couple... It's not as precise as a laser by any means, but it has a couple of important advantages. It can see much farther than the laser. It can also see through cars.  It can also give you direct measurements of speed via the Doppler effect. A disadvantage of the radar is that it has trouble distinguishing stationary coke cans from stationary cars. It's mostly useful for determining the position of moving vehicles. On the inside, we have a couple more sensors. The most obvious ones there are the cameras. The general computer vision problem remains almost impossibly difficult, but we don't have to solve that. Instead, a lot of driving is really tuned to the human vision system, and they build things so that they pop out in human vision. The obvious example here is traffic signals. If you want to know if a traffic signal is red or green, they've made it really easy for a person with not a fantastic vision to make that determination, and we can use cameras to figure that out as well. The last sensor I want to talk about is the positioning system, which incorporates GPS accelerometers, gyroscopes, to give us a rough position within the world, which we will find, and I'll talk about that later. The last thing I want to mention in the trunk is the computing platform. There are two computers back there. The first one I'll talk about is the drive-by-wire system. It would be great if auto manufacturers just gave us essentially joystick control that they don't give us that. Instead, we have to interface at a pretty low level, and the drive-by-wire system is a traditional embedded computing platform with a very weak processor or no operating system to speak of running a very tight loop actuating the car. Next to that is a workstation class computer with a quad-core processor running free BSD. Just kidding. It's running Linux. I'll talk a bit about how we use Linux. I apologize that I don't have awesome videos to show for the Linux part. I'm sure all of you are kind of used to that. It's a lightly modified version of Ubuntu. We mostly stripped things out of Ubuntu to get it to run. We don't run it as a hard real-time system, which surprises some people. Instead, we aim for real-time-ish, and we verify that. An example of... We have a couple of processes that really do have hard deadlines that they need to meet. For those, we run them using Sketchfifo, and we have as many of those as we have cores on the processor, and so in practice, they always get a time slice when they'd like one. For the rest of the system, we can roughly break those down into batch processes which should run when they get a chance, and things which are important but not as super-critical as the really hard real-time things. And for those, we use Linux C groups to manage the processor load between those. We separately are monitoring whether any given process exceeds its time slice. If it does, we throw a warning and hand control back to the human driver who's always present. If that happens, that's a bug, and we fix it. In practice, after we've driven several thousand miles with the same set of software, we've pretty much established that that sort of thing won't happen. I don't think I mentioned it earlier, but we have at this point driven 400,000 miles autonomously. How many of you guys have seen one of the Google self-driving cars driving around? Okay, so a fair amount. I see them constantly, but I work in the building where they all park, so... But they're out there and they're driving in real scenarios, and we find that incredibly useful. The DARPA challenges were fantastic, but they were very contrived environments, and you really need to learn how things work for real in real roads. And when I say we've driven 400,000 miles, obviously we physically drove those 400,000 miles once, but we kept all of the data from that. We record all of the sensor logs. We record everything that the processes were telling each other, and we're able to play all of that back anytime we want to make a change. And so we've used those 400,000 miles over and over anytime we want to figure out whether a change we're making is going to make things better or worse, and we're looking for regressions in that data. I'd now like to tell you a little bit about how the car thinks about itself. In the blank slate, the car has some basic positioning information. It has GPS information, which is pretty awful, actually. That's accurate to maybe five meters on a good day, 30 meters if you're in a really bad area surrounded by buildings or mountains. But we know pretty precisely which direction we're pointed. We know pretty precisely how fast we're going. On top of that, we then position ourselves on the map by comparing what we see in the real world to the map, and I'll show you a bit more about that later. What you're seeing here is essentially what the world looks like in infrared, and we're able to line those up. On top of that map, we build a logical map, which tells us not just that this pixel happens to be white and this pixel happens to be a shade of gray, but that there's a lane that goes through here and that it has this speed limit, and if you'd like to turn left at this intersection, you're allowed to move into this other lane, but you need to wait for that traffic signal to turn green and you need to wait for people who might be in this crosswalk. It's much easier to reason about this sort of map than the raw pixels. Having established that, we can then figure out what's going on in the world. I'll talk a bit more about how this works in detail, but roughly we need to figure out that a given point that we saw in the distance happens to be a car that's moving in this certain direction and that it might be turning left because that's allowed. Once we have that, we plan our route through the world. We want to stay roughly in the center of our lane, but of course if someone's blocking that or edging a little too close to our edge, we'll make corrections.  We're also paying attention to the guy in front of him and the red light that we don't want to run. Once you've got all that, you can really forget about everything else and all that matters is driving that corridor and not hitting the guy in front of you. You need to actuate the steering wheel, the gas and the brake and ultimately that's the entire job of the car. I talked a bit about digital maps before and this is the part I work on so I'll talk a bit about more. We build lots of different kinds of maps. Some of them are pixel based where we've essentially built 10 centimeter by 10 centimeter pixels representing our entire world. For each of those we have the infrared reflectivity and also the height and so we can build really detailed views of what the world looks like. And as I mentioned we then build a logical map on top of that which is mostly done by human work with some help from computers. Conceptually the way we build the pixel based maps is we drive in the laser collects data which we then project into the ground. We average all those points, subtract out things that look like they might be cars and you ultimately end up with a really detailed view of what the world looks like. In practice we end up taking multiple passes of cars and stitching them together so that you end up with a really complete view without any of the quirks like there happened to be a truck parked there one day but not the next. Once we have that map we're able to line up with the laser sees in real time with the map so that we can figure out the exact position of the car. In this view the rectangular car is where the GPS thinks we are. It's thinking we're somewhere in the bike lane and it would be really bad if we tried to drive as if we were there. Each of those little red dots represents a hypothesis about where we think we really are and the average of that is our conclusion about where the vehicle really is. We're constantly lining up the features we see in the real world with the features we've seen in the map to produce our exact location much more accurately than you would get from a GPS. As I mentioned we also build maps in 3D. Besides making really cool looking videos this is useful for figuring out what kind of acceleration profile we should use as we approach or leave a hill and also figuring out whether a point we see in the distance represents a tree, a bush, the ground or another car. Unless you know what the ground looks like it's hard to make that distinction. Now that we've figured out where we are we need to understand what the world looks like. What you're seeing here in the bottom left is a picture of what we see at the windshield. You're going to see some pedestrians very slowly across the street in downtown Mountain View and what you see in the main window is what the car understands about the world. If you look really detailed in those pedestrian boxes you can see some laser points and that's all we get as raw data. But we have perception algorithms which cluster those and figure out that those are in fact people and that they are in fact moving in that direction and obviously we're going to yield to those people because it would look bad if we didn't do that. The tracking problem is actually incredibly hard. It would be fantastic if the laser and the radar just told us hey there's a bicycle over there but they don't do that. And what you see here is motorcycles doing lane splitting on 101. This isn't legal in most states but in California motorcycles are allowed to drive between two cars and this is a really hard problem because if you were to just forget everything and see the motorcycle next to two cars of the laser it looks like a giant wall of metal. What we in fact know is that one of those things is a motorcycle and that it's moving at a faster speed and it was incredibly difficult to be able to track the motorcycle as it passes near and through these other two cars. Of course now that we understand the world we need to drive through it and this is an example of us driving in a racetrack that we set up demonstrating the control capabilities of the car.  A lot of them are good drivers and I trust that if they had a few more practice laps they would have eventually beaten us. This is not something that we've put a lot of effort into but it's really impressive that in our first try against these humans we beat them. This is a Prius, it's not a sports car. There's only so much you can do with it but it is really impressive the precision with which we can reliably control the vehicle. Of course it's not just about steering you need to know where to go. What you're seeing here is the end of one of our first attempts at driving a really long route where we ended up at a roundabout near Lake Tahoe. We're following the path of the roundabout and we're going to let this other car merge into our roundabout and not hit him obviously. We didn't tell it what to do after that though so it just kept driving in circles. After a couple of minutes this got a little frustrating and we took manual controlled system and you can't just drive down the center of the lane. This is an example of us driving through the foothills near Palo Alto where there's a massive truck taking up the majority of this two-way road and a giant cliff on the other side and we didn't, I know the video ends here, but we didn't die. Hey, thanks, yeah, I wasn't in the car. Obviously we're not driving down the exact center of the lane. We're aware of the cliff on one side and we're aware of the probable trajectory of the truck and we need to split the difference and drive safely and that's something we had to put a lot of work into and it's something you really only notice when you accumulate hundreds of thousands of miles in real world driving situations. A lot of driving is social. This is most obvious with a four-way stop. I hope all of you know the proper way to do a four-way stop. You stop, wait for your turn, the first person goes first and then you move counter-clockwise and if you actually did that, you would never get to go. No one actually does that. What you're seeing here is six cars are going through this intersection without giving us a chance to move and eventually we start to edge into the intersection which was what any reasonable human driver would do and having asserted ourselves is now allowed to move through the intersection. All of you do this. The other extremely social situation in driving is merges which I don't have a video of but it's something we spend a lot of time on. It's really social. A lot of it's making eye contact with the other person and we obviously can't do that but an important part of it is just speeding up or slowing down to assert yourself and communicate to the other person where you intend to merge and we essentially do that process as well. I wish I could tell you that we were done and that there was nothing left that we needed to work on. Obviously that's not the case. I have to go to work after this and work on some of these things. This is the bug on the windshield problem and it's really hard. It's hard enough to tell if traffic light is red or green in the best conditions but when your view is obstructed if the windshield is cracked if something is just messing with your sensor that's a really hard problem and that's what we've been spending a lot of our time working on lately is just making sure that we understand those rare situations and that we gracefully hand control back to the human. In our current driving mode we've always got a person there we're trying to do this very safely and the question now is how do we detect these unusual situations and hand control back to the human in a safe way. Eventually we'll need to turn on the windshield wiper or something to clear up the bug master and have her done in sensors. But at this point it's more a problem of detection. Another problem people often ask about is how do you deal with snow? The answer is we've never tried and we'd probably not do all that well. There are two aspects to that problem. One is the control problem. A lot of people are very proud about how they drive in snow or on ice and we think we can eventually solve that problem. It's the sort of thing that computers would be pretty good at if you put enough software into it. The other problem is perception. Snow banks are essentially giant pools of standing water that cause problems for lasers and reasoning about the world when there's a mountain next to you that didn't used to be there is going to be a hard problem that we're eventually going to have to work on but it's not something that we've put a lot of time in yet. Really right now we're trying to nail down regular driving and it's a hard enough problem.  What you see now is someone driving up an off-ramp. I don't know what happened to this person but it doesn't seem like a good idea. And if you drive 400,000 miles you eventually see a lot of weird stuff. And that's the advantage of having driven so many miles in real-world conditions with trained safety drivers ready to take over in the situation where something really weird happens. We can play back these logs later and see what the car would have done when it risked in real-time. And you're going to have to run into maybe the wrong choice of words you're going to experience a lot of these situations as you drive in the real world and that's going to be a big problem for us.  All of you make those assumptions when you get out on the road. If you were being perfectly safe you would never leave your driveway because someone could always swerve into your lane and you know, that's the end. But we do get in our cars, we do get out in the driveway because driving is so important to us. I don't want to leave on a sour note I'd like to leave on something positive. Earlier I talked about how important it is to save lives and to save time for people who are able to drive. But there are a lot of people who aren't able to drive and we'd like to help them too. I hope you guys can all see the full video of this on YouTube but what we ran was an experiment where we took a blind user, Steve Mann and we had him commute to and from work a couple of days using one of our cars and we eventually, with the police escort, put him behind the wheel and had him experience driving himself so to speak for the first time in years and this really was a magical moment for her and we're hoping that someday we can provide this for people like Steve and really change a lot of lives. I'm really excited about what we're doing I think it's the future, I wish it were done today and it's not, but I'm really optimistic. So thank you all for listening and I have a couple of time for questions in case any of you guys have something to ask. Thanks.


This week's Good News Bulletin takes us to Scotland Wales and Northern Ireland where we'll be finding out how the National Lottery has been helping people during these challenging times. I'm Joe Suzanne Wilkinson and this is a National Lottery's Good News Bulletin. We begin this week in Northern Ireland where CineMagic have been busy delivering a series of exciting online activities, workshops and competitions to young people across Belfast throughout the pandemic. Well CineMagic started 30 years ago really in the middle of the Troubles in Northern Ireland and the objective was to bring young people from different communities and different religions together in a safe environment. I personally have been involved for almost 20 years and we have seen just so many young people's lives being changed. Patients of the award-winning charity already include Liam Neeson, Piers Brosnan and Haley Mills and they're all actually cracking Ludo players, weirdly enough. LGBTQ plus youngsters in Wales will soon have a much-needed youth group thanks to a £19,000 emergency grant. Dr M started in 1996 with a group of young people who were on the Kamarthen Youth Town Council. They felt that there wasn't anything for young people to do. When you see young people who come back and say that they really appreciated what Dr M did for them, the most important things for us. Hi Gail, I'm Ellie from the National Lottery. We have somebody who wants to come on himself to say thank you, a local celebrity comedian in fact. So let me introduce you to Rod Gilbert. Oh wow, hi Rod. Hi Gail, how are you doing? I just wanted to say congrats and thanks for all the hard work you've done down there with the Kamarthen Youth project. I know how hard you work, I know what a wonderful facility to support you give for young people. I just wish I'd had it when we were there. Oh thank you, oh thanks for taking the time Rod, it's lovely to speak to you. And finally in Perthshire, a local community has been busy treating the entire village of Blackford to garden barbecues. One of the key things we try to do is to create events that will bring people together. There would be a quiz night in the village hall, some games down the park, there'd be a cycle ride around the village and see who comes along and joins in there. An army of 30 volunteers deliver the goods on Saturday morning so the residents could make the most of the Saturday afternoon sunshine and get their grill on. That's it for me, I'll be back next week with more good news.


And a wow Anthony Richardson rpa book six of ten Big book for the Colts Big one cold six out of ten. Congrats


I'm Lee Calcote, founder and CEO of Layer 5, so Nick, you've been service meshing for a while. You ever wonder if you're doing it well, if you're doing it right?  Do you have circuit breakers that are configured too sensitively? Is your security doing what you think it's doing? Is your deployment performant? I think it's a really good question. And I think it's one that I'm kind of like really hesitant to answer because I think it's one of those things that like, I think with a lot of industry applications, you build knowledge from using the tooling. Now, with like service mesh, service mesh is really new in the sense that, you know, it's been around for a while. The concepts are not necessarily new, but the sort of the implementation of like, of having this thing which interacts with every piece of the traffic on your application is pretty new. And like, how do you know whether you're using it correctly? And I think some of that is that there are sort of standard patterns from sort of network and application development, which you can still apply and are very, very relevant with service mesh. But there's also very specific use cases, which you've got to like think about. And I'm hoping that maybe today we can kind of break some of this down and kind of share this with some of the good folks and maybe just demystify some of these things. But before we do, I suppose we should take a look at the problem statement. And that kind of leads us to here. So back at this problem statement again, distributed systems management is hard. And I think this is kind of like continually ring true. And as we kind of increase the complexity of our systems, it just kind of gets more and more of a problem. Kind of like the core things that we want to talk about in this presentation is looking at around the network and actually how the network has a major effect on your application. And of course, some of the things that you can, you can do with this. Networking has never been more significant for developers because it kind of is necessary part now we've moved to this microservice, everything is connecting over the network where previously, you know, it would have been an in process procedure call. Let's take a look at a little demo of how network can actually affect our system that leads going to show us now. Let's refresh on how a fallible network can be a real pain to your workloads. This is book info, a sample application from the Istio project. Let's dive in deeper to understand the challenge that it's having and take a look at its performance. We can use a performance profile to analyze its behavior. Here's the trouble book infos performance profile. We'll use this profile to generate load and analyze how it's running. We'll apply a short test, watch the system as the test runs. And through statistical analysis come to understand that about 18% error rate for this particular application at this time. This isn't an uncommon phenomenon. There are patterns of behaviors here. So the example of the failing system that you've just seen in that little demo there is actually pretty typical. And we're going to see how that we can apply some sort of standard patterns to be able to remedy those things. Ultimately, that's why we wrote this book. The kind of the concept behind it was that we wanted to kind of take all of that industry knowledge around networking, around kind of how that applies to the service mesh and distill it down into about 30 or so core patterns that can then be used and can be reused within your own applications. So as suggested, the book isn't about a specific service mesh, but it's about service mesh technology at large. It's about enabling use of repeatable architectural templates or patterns. These patterns have best practices imbued in them. Those best practices can evolve over time. There are a few key characteristics about service mesh patterns to be aware of. The foremost of which is that a pattern can describe behavior, not just service mesh configuration. So to give an example of behavior, take a canary rollout. Today's service mesh control planes are capable of facilitating traffic splitting between multiple versions of the same service. What they generally don't do is facilitate an analysis of the criteria to step between, well, your various steps within your rollout, whether that criteria is performance based or time based or some other criteria, error based. Those behaviors, that criteria can be captured in a pattern, can be applied to different meshes. Service mesh patterns are mesh agnostic, clearly. That's part of the goal. To that extent, they're intended to be beneficial to any who are running a service mesh. These patterns are reusable. They're exchangeable. They are declarative in nature. They're described in YAML. The syntax is about as simple and concise as I think you can get. There are any number of patterns. As they're being defined, they're being catalogued into these categories. Okay. So now you know what we're trying to achieve with the patterns. Let's take a look at a couple of examples. So the first one I want to show you is probably the most common pattern that you're ever going to find inside of applications. And also, if misconfigured, probably the one that's really responsible for bringing your application down to the knees. So in the previous sort of demo that we saw, what we saw was an upstream connection to a service and it was intermittently failing. Now, the reasons behind the intermittent failure, it could be a number of things. It could be just something on the very pure network level or it could be some application level. The key thing about the retry pattern is that it's sort of smart enough to be able to handle both of those things. The retry pattern actually operates at both layer four and at layer seven. So it understands the concept of the connection. Can we connect to an upstream service? But it also understands what success looks like with regard to the layer seven protocol that you're using. So for example, payment service here is going to try and connect to the currency service. Now at a layer four, it's going to try and establish a TCP connection to that. If it can't do it, it will then go and get that connection failure message and it's going to go into its retry loop. It's going to retry another one of the instances of the currency service. So we see that happening here. Now, it becomes successfully connected. So what the retry then does is the retry is analyzing that request and it says, based on my knowledge, has the response that I've been given matching my criteria of success. So in this instance, it's an HTTP request and the measure of success is going to be HTTP status code 200. Now in the instance here, we haven't got a 200, we've got a 500. So what's happening is again, the retry is going to go into that loop and it's going to try another endpoint and it'll do that for a configurable number of times until it gets success. Now, this isn't really kind of healing your system, but what it's doing is protecting your end user from the exposure of these problems and that's very important. A retry only buys you time until you fix an underlying problem. It shouldn't be the fix itself and I think this is kind of like a key thing when you ply a retry. It shouldn't be something which you're using as a kind of a permanent fix. You should always use it as a temporary measure because quite often problems will get worse and then you will get to a point when the retry can't help you. I think another important point about retries is idempotency. So in terms of idempotency, what we mean is that if you attempt a request multiple times, you should get exactly the same response. So for example, if I try and get a product detail, then every time I make a request for that product detail, it shouldn't be changing any state in the database, it'll just be returning me the same data. That will be considered idempotent. Therefore, it's actually safe to retry a number of times. Something which necessarily might not be idempotent, however, is something like when you take a payment. So looking deeper into something which might necessarily not be idempotent is this order service. So this order service has actually three steps. The first thing the order service does is it processes the payment with an external payment gateway. It then updates the stock level to mark that that particular item has been sold, and it then sends a confirmation-ish email to the person who's ordered. Now, in terms of idempotency, per process of taking payment might be processed correctly. Now, updating the stock levels may also correctly succeed, but when it comes to sending the email, maybe the order service at this point is going to fail. Now, assuming it does, it's going to fail at this stage here, and what happens is the order service then returns an error of 500. If a retry catches that, the retry is going to kind of say, well, hey, this call to this service has failed, so I'm going to retry it. Now, the problem is that because this isn't an idempotent service, when we go back into this flow again, I'm going to double take the payment. So idempotency is an incredibly important facet that you've got to consider when you're kind of dealing with retries. It's not just as simple as applying a retry to absolutely everything. And then there's kind of like some kind of nuances certainly around like calculating retry counts. So, for example, if you've got five instances of a particular service, and that they're exhibiting a kind of an error rate of 2%, that's kind of evenly distributed across all of the service instances. So, given kind of the application of a single retry, I'm going to just have, I'm just going to retry once, and then I'm going to give up, what you end up with is a kind of a probability of 0.004% that both the original request and the new request will both fail. Now, that kind of gives you a kind of fairly high level of confidence to say that, you know, in that instance, a single retry is okay. But what if the error level is much higher? So, for example, given a 50% failure rate this time, now the probability of both requests failings now up to 25%. So then you can kind of look at that and say, well, a single retry isn't applicable. So like, hey, maybe, maybe all I'm going to do is I'm just going to do five retries, you know, it can be really tempting to use this, this high retry sort of attempt. But the problem that comes with that is that whenever you're retrying in a system, your system is running at reduced capacity. So does your system have the capability to kind of handle this load? Because if it doesn't, what you might actually be doing with your retry is not sort of increasing the, reducing the failure rate from 25% to 0, you might be increasing that failure rate to 100% because the system is now all backed up and it can't handle any of the requests at all. The important thing that you've got to think about is that you can't just go putting arbitrary numbers around using something like a retry or any of the patterns when it comes to your network application. You've got to apply a measured and understanding approach of like how it affects the system and how these different error rates can change things. Mechery is the service mesh manager. It is a CNCF hosted project. It helps you deploy and operate any service mesh. Mechery implements and validates service mesh standards, both service mesh interface, SMI, and service mesh performance, SMP. So in addition to those management features, Mechery is designed to be an extensible platform. So not only can developers write plugins for Mechery, but it also has a number of ecosystem projects that have cropped up around it. And as the openly governed service mesh manager, Mechery and the projects around it have maintainers from Layer 5, VMware, HashiCorp, Red Hat, Citrix, Rackspace, and so on. And it's through their collaboration that service mesh patterns have become one of these ecosystem projects. So Mechery natively incorporates support for the service mesh patterns project. Using Mechery CLI, you can import and apply your service mesh patterns or using Layer 5's mesh map plugin. You can visualize and design your service mesh patterns, export them, and share them. So let's head back into Mechery and look at how it uses patterns. It uses these patterns to help you overcome those distributed system challenges. Recall that in Mechery, you can use its CLI to import a pattern. And in the UI, you can also then edit that pattern. In context of the retry pattern that Nick was discussing earlier, let's dig into that one a bit more. To do so, let's use MechMap, a plugin for Mechery. In MechMap, you can visualize your patterns and customize them, really using any service mesh that Mechery supports. Because Mechery adapters support any number of versions of a service mesh, you will have version-specific components to choose from while you're building your MechMap. Now with MechSync at work, and your patterns loaded, you can create a MechMap to apply the retry pattern. So the pattern here has been set for a retry count of two. And so we'll go ahead and connect the retry pattern to our troubled book info. And once we have this connected up, we can, from there, go ahead and deploy the pattern and apply it to our infrastructure. Now, let's head over to performance management. Back to our book info performance profile. And initiate analysis. Recall that without the retry pattern, we were seeing about an 18% error rate. And so with the pattern applied, there are no errors in our analysis. Things look pretty positive. There is, however, a slight hidden cost to this pattern. So let's go compare our two performance analyses and examine. Now in the comparison, we can see that there's a latency cost to the use of retries. So responses from our second set of requests returned without error, but they also incurred some delay as those requests were retried. So we've just seen there another demo. And Lisa showed us how we can actually use Mecheri to both kind of do that kind of exploratory configuration around our system, but also to be able to do that methodological testing to be able to do our performance testing to be able to ensure that we are confident that the levels that we've set for our retry is appropriate. But the thing is with a lot of the patterns that you kind of apply in architecture and specifically in service mesh is they don't necessarily exist in isolation. So for example, a common pattern that you would apply with a retry is the circuit breaker. So what the circuit breaker attempts to do is the circuit breaker attempts to remove a service from the sort of the load balanced rotation when it continually fails. Now there's a kind of a number of reasons why you want to do this. The foremost is that if a service is failing just because it's busy, actually breaking the circuit and not sending any requests to it will allow it to recover. In the instance that it is completely faulty, then what you can actually do is you're removing it from the kind of the process and you're failing fast. You can kind of handle that in a number of different ways, but it ultimately protects the system downstream from any slowness which can occur upstream. The way that it works is this. So a request comes into the system. If the circuit breaker is open, then you're immediately going to fail, but let's assume it isn't right. So we're just kind of getting into this situation where we're starting to experience errors. So the circuit breaker is closed. The request is called upstream as normal, and if it's successful, it's returned as normal. However, if it isn't successful, then what the circuit breaker does is it's starting to keep this internal count. So it says, well, I've had a number of failures and this could be consecutive failures or it could be failures over a period of time, but it kind of looks at a threshold that you configure. When that threshold has exceeded, what happens is the circuit breaker opens. So no more requests are going to get sent to this service, but then like, how do you determine when it recovers? So the circuit breaker after a certain period of time and is what's known as a half open state. So in the half open state, a request, a kind of an exploratory request will be sent to the upstream service. If it succeeds, then again, the circuit breaker will close and we'll go back into normal operation. If it fails, then we keep it open and we can kind of continue to assume that it's still in that healing phase. Like all of the patterns, they kind of look simple on sort of the surface, but to effectively use them, there are a number of considerations caveats that you've got to think about. Health checks are quite a common one that when you're kind of configuring thresholds for circuit breaker, you've got to do this with the health check in mind. So for example, if you have a threshold for a circuit breaker, which is greater than the kind of the passive health checks which exist in your system, then the circuit breaker is going to have no effect because the health check will detect the failure before the circuit breaker does. So a circuit breaker is designed to detect failures quickly using active requests as a method to do so. Health check endpoints also don't report things on such as database locks. I mean, sometimes they do, but quite often not they don't. So you can have a failure, for example, that is due to just a lock on a write on a database. If you ping it as a health check, a health check might just be saying, hey, are you alive? Are you okay? Are you up? You're not going to kind of get a report on that where the circuit breaker is really effective is that the circuit breaker is going to experience a kind of an inability to write it, either get an immediate response from the upstream service that it can't perform the work or it's going to time out. But in either way, what you're doing is you're kind of doing this active health checking of the service by continually looking at the service traffic. And of course, in the instance of failure, you remove it from the rotation so that it doesn't affect it any other areas of the system. But when we're working with our circuit breaker, we also need to consider things like root independent circuit breaking. So what do I mean by this? So let's think we've got a service. Now the service is allow me to get a product's details and it also allows me to update a product's details. So we just said that when we were talking about health checks, that something like a database write lock can cause a service to fail, but it isn't necessarily picked up by the health check. Now in the instance of kind of circuit breaking, if we open the circuit, because we're unable to write to write the update of the product's details, what we're also doing is we're updating the circuit, opening the circuit, which means that we can't read the product's details. Now in terms of the percentage of writes and reads, reads are generally more numerous than writes in some services. So we're removing a surface from circulation because we can't write to it. What we really should be doing is treating those independent things as with our own circuit breaker. So a write, yes, we should absolutely open the circuit when we can't write to a product, but we shouldn't if we can continue to read. We should kind of try and keep as much of our service in circulation. So we've got to think about these things quite fine grained. Ideally, we want to apply our circuit breaking on HTTP path and verb or GRPC method and not at a kind of a full service level. Heading back into Mechery, let's apply the circuit breaker pattern to our troubled book info. We will pull up our workload, we'll add the circuit breaker pattern, go about getting it connected to our trouble spot, and then again, once it's the design is complete and our mesh map is ready, we'll go ahead and deploy the pattern. We'll return to the performance profile, which has two concurrent threads configured. And that's going to be more than our circuit breaker pattern is going to allow. So as we perform analysis, we should see a tripped circuit. There it is, a tripped circuit. We've been through a couple patterns now. The thing is, there's quite a few more and actually a number that have yet to be defined. I chair the CNCF service mesh working group. This is a group in which, well, we do a few things, but one of those things is advance the thought behind service mesh patterns. So Nick and I want to invite you to come participate. Service mesh patterns are for everyone. Whether your organization is a member of the CNCF or not, you're welcome to come and participate, engage and help define these patterns. So Lee and I have been working on a book called Service Mesh Patterns for O'Reilly and it's currently an early release. We would love your opinion and if you've gotten any comments or maybe some real gems of information or some esoteric kind of gotchas that you think would make great reading, we would love to kind of hear all of those things for you and you can check that out and also with with the CNCF. We're about on Slack. Any questions we would be overjoyed to hear from you all. Hope you've enjoyed the talk and thank you so much for watching.


Foremost Islamic human rights group, Muslim Rights Concern, urges Muslim aspirants vying for the position of the president of the 10th Senate to withdraw from the race in order to allow for a southern Christian. And federal government threatens to replace striking doctors with ad hoc staff. This is Plus Politics and I am Mary Anna Cohn. The Muslim Rights Concern group has urged Muslim aspirants vying for the position of the president of the 10th Senate to withdraw from the race in order to allow for a southern Christian. The executive director Murik Professor Ishaq Akintala said in a statement on Thursday. Murik noted that it wants the Senate presidency to go to a Christian from the south because Nigeria needs the cooperation of both Muslims and Christians for collaboration to engender peace and development. The group therefore called on Muslims vying for the post to withdraw from the Senate presidential race. Joining us to discuss this is Professor Ishaq Akintala, he is the director Murik. Thank you so much Professor for joining us and good evening. You are my friend. Alright. You are my friend. Thank you for joining us. Let's… What? Can you hear me? Yes, I can hear you. Perfect. But I want to ask, you know that of course the leadership race for the National Assembly has been thrown open even though the party, the ruling party, the APC has somewhat thrown its weight behind certain people they think they would prefer as leaders in the National Assembly. But as of some days ago, Mr. Yari had said that the formula of zoning in the National Assembly wasn't fair and that's because he's also in the running. What are your thoughts? Can you hear me? Yes. Hello. Yes. Can you hear me? Yes. Well, concerning the Assembly, we believe that if it is only fair and just to spread the message, if people are like he said, political force, they have the best thing to do. As long as the president is a ruling, he decides it's going to be, it's not for simple. Not for simple. It's not for simple. It's not for simple. Okay. Professor Ishaq, I'm going to have to jump to the next question. Professor Ishaq, I'm going to have to jump in here because I can barely hear what you're saying but I'm going to try again here. Governor Abdulaziz Yari who is obviously also running for that position has had a few words about the unfortunate zoning process in the National Assembly. We're going to take a listen and hopefully we can fix your audio so I can hear what you have to say. Let's take a listen. My party, but I know they are intellectuals. What the lawyer says, the lawyer says no one has the constitutional power or is a kind of exclusive power to me and my colleagues to decide on our leaders. Are there any wrong when I say that I want them to choose me? I don't say wrong because I'm doing the exercise, I'm exercising the constitutional responsibility. So I'm not kicking anything against my party or against anyone. But I'm saying that I'm trying to get the indulgence of my colleagues to cross to me and hire me. And at the same time I did the rule wrong somewhere, the hire me. So the hiring and hiring is the responsibility of, at least the responsibility of members of the coalition. I'm not kicking against my party. But I know them. It's still plus politics and we're still being joined by Professor Ishaq Akinthala who is the director for Murek. Now Professor, before we went on that quick break, we're still talking about the issue of zoning. Now that you are saying that you'd prefer for a non-Muslim, a Christian from the south to occupy that position, that means that we're now bringing religious sentiments into something that should be mostly about merit or capability to run for a particular office. And former Governor Yari who's also in the running for this, who obviously is a Muslim, has said that this has nothing to do with the party or picking persons, that he feels that the responsibility should be given to him by members of the Senate, only by their votes as opposed to what you're calling for. Is that not also one way or the other, bringing issues of religious sentiments into the whole game? I think Nigeria is this real country. We will never be able to drive without our thinking. Whether we are doing politics, whatever we are doing, we are talking about vote. We think it's about human creation. The creation of all living species. Can't get it out of our system, even if we prepare it to be a non-Muslim. So people say we don't want to bring religion into this. We don't want to bring religion into that. But every Sunday, every Friday, every month, every Tuesday, every evening, it is here and everywhere. I want that man to not speculate it. He doesn't decide if everyone wants to protect any dogma or everybody that's talking about it. We don't spoke our mind and we don't want to relate it to any government or any politician. It is just a good thing. Muslims are independent. That is right there. Next, let's talk about religion. We are prepared to share good positions with all Muslims. It's not the all Muslims. It's the all dogs, not the people. All roads, the roads we use, the electricity we consume, the transport system that we use. Some of them belong to only Christians or Muslims alone. So when we take the train, we don't have any guidance for Muslims. I don't want to tell you, but Christians, especially the country, they take the Muslim as a Christian. Let me ask. Let me ask. Let me come in. Let me come in. Let the Christians have their way. Okay. Let me come in there, Professor.  Where was the fair play there? Come again. You supported the Muslim-Muslim ticket of the APC, which we now have as the President and Vice President-elect. Where was the place of fairness to all in all of that? Because I remember you were on this station making that argument. But now you're pushing for the Christians to be given an opportunity. Where was this sentiment at the time when the APC was fielding that ticket? How would you, how would you, how would you accept it now? We supported Muslim-Muslim tickets, because the President-elect of the APC decided to be supported there, that would be the best opportunity to put this number of supporters and vote in. That is the strategy. The sentiment, not the opinion. He was not thinking of taking the vote. He was not thinking of taking the vote.  Now he has taken the vote. Why now? Because of this meditation. So the compassion in the world, you have the movement of people. In the worldwide, why not? How do you think there is much more silence to it than to be obliged? And why should I kill that many conductors of religious and personal? One of the first days, and you now come to play out, so we just give him the last vote because he participated. And that was why he died. Why didn't you pray? I hope you will not vote back. Provocative, public servant, congestion, affiliations, people will not have... And Professor, that's the question that I'm still asking. I don't think that you get me. If we see ourselves as Nigerians first as opposed to Christian or Muslim and see competence, why should we even be having this conversation in the first place? Why is it that when it comes to issues of leadership, we begin to bring in religious sentiments and ethnic sentiments? Why can't it be about people who are able to do the job as opposed to what God they worship? Because this is the position that you brought into this conversation. Exactly what I was saying. We don't need to bring into this conversation. But you have brought it. The governor of the state will look for... People, if he has a good example of running a big movement, he will look for... He will not be looking for different planetarists or Muslims. He will not have some... He will not be looking for different planetarists He will not have some... He will not have... He will not be looking for different planetarists because of the nature of our culture. We are multi... We are multi-trials. We do not need the religion of the people and good governance. Talking about good governance here and of course I want to bring the APC and the National Assembly here. The APC had put out a statement earlier on talking about who they preferred as their candidates for the positions of the speaker of the National Assembly and the Deputy Speaker and the Deputy Senate President. There are many who have also kicked against the party making known who their preferred candidate is as opposed to allowing for internal democracy to happen with the Senate and of course the House of Representatives. What are your thoughts on the party's position? I will not be going for it. I want it to be understood. The question belongs to each other and I don't belong to anyone. So I cannot judge the actions or decisions if it is not possible to do because politics is important in politics like in religion. We are going to say that in much life we must follow. In politics we must follow. But also if you want to judge the people concerning their political issues you have not been to me. I don't want to fall into all the pieces for now. Because you are a religious leader as a religious leader a professor of a great reputation let's talk about the personalities of these people who have been put out by the party again. Let's talk about the likes of God's will and his deputy or Mr. Abbas on the floor of the House of Representatives who is from the south south south west I beg your pardon let's look at their personalities because you talked about competence and the ability to do the job do these men reflect people who are competent enough to lead this country whatever happens after May 29 all rests on the shoulders of these law makers and it's either we're going forward or we're regressing. What are your thoughts? Because that may be clear I have never been a political neither have I been a political leader a political leader unknown to me and if I'm a political leader to join them May 29 May 29 I will just be a secret I want to contribute because I'm not a political leader I'm not a political leader because I'm not a political leader I believe that you're being economical with the truth or you're just playing diversionary tactics here you're the one who's speaking about who should be picked what religion should be picked or should be considered for these positions but yet you'd rather not speak on the competence of the people who have been put forward confused or speak about the personalities but the people who you are advocating for are also persons, whoever they pick whether that person is Christian from the south or the west they're human beings their ability to deliver in those places that they're picked for not be of concern to you so you're interested in the zoning of political offices but you're not interested in the persons who these places or these positions are zoned to, you're not bothered about that you're most interested in the zoning of the offices but not interested in the persons who hold these offices okay well I want to say thank you Professor Ishaqa Kintala you're the director of MIRIK thank you so much for joining us and thank you for speaking with us well we'll take a short break and when we return we'll be discussing the ongoing five day warnings strike by the National Association of Resident Doctors and the position of federal government on this strike, stay with us


ුසේශා යුල වීහ්දු, ඝෘඳශා මේා එත්ලා අවහාව अමෙෂ, තීතා මිහාවටබ පිතලා . හොයේරවෙයබතිසු, ඎයන්සේ් මේෂඪ පාවි මේශාවිවාදගටborne� n pi i the value z plus twice n pi i is called the general value of log E w and it is denoted by log E w,お願いします, log E w equal to z plus twice n pi equal to twice n pi i plus log E w, думаю sovereignty complex number long the way to be x plus y then log E x plus x plus iy equal to twice n pi i log Ex plus iy. electro ఇరాతా ఔంది బినితా పృచతా చాపానిన చాపానా ఑ిక్చతి బికికానికి పినికి కరూది పికికి పృతికికి కరికి.సిరా పనికిసికిmanuel�ి. కికికి బ� colm  cél  Abg  Darkness  ゴル cciones                                                       ంవి మెలోలాన్ పికిర్మే పికులింపి. పిలోలులోటాన్ కాలికార్ములిలోానుకిషాల్కార్యాస్లుల్టిందంది పికికార్టికుకి ሒ ᑫᑁ ᑧᑂᔾ�媒 Councillor dys call money bli bild film 1 ben chase and rooms booey one took a lot mind sales it was full and log minus x is equal to pi i plus log x. So, here I am in logarithm of negative number only of r. So, I mean here it is a complex number, it is a logarithm. So, here I mean no issue log of one bracket one plus i. So, one plus i complex number two I mean logarithm liable. So, I mean no issue one plus i equal to r bracket cos theta plus i sin theta. So, I mean both sides this I mean compare current. So, I mean from r cos theta equal to 1 and r sin theta equal to 1. Now, squaring both sides and then adding. So, we get already square cos square theta plus r square sin square theta equal to 1 square plus 1 square. So, here problem become r square bracket cos square plus sin square equal to 2. So, I mean I know that cos square theta plus sin square theta equal to 1. So, r square r square equal to 2. So, what we get r square equal to root over 2. Now, r sin theta by r cos theta equal to 1 by 1. So, here problem become sin tan theta equal to 1. So, tan theta 1 equal tan theta equal to 1 implies theta equal to pi by 4. So, now, 1 plus i we put the value of r and theta we get 1 plus i equal to root 2 bracket cos pi by 4 plus i sin pi by 4. So, here problem become equal to root 2 cos pi by 4 we can write cos bracket twice in pi plus pi by 4 plus i sin bracket twice in pi plus pi by 4. So, 1 plus i we run the problem. So, now, we take log on both sides. So, log of 1 plus i equal to log bracket root 2 cos twice in pi plus pi by 4 plus i sin twice in pi plus pi by 4. Here problem become log bracket root 2 plus. So, here problem become e to the power bracket twice in pi plus pi by 4. We are taking formula to use for this one e to the power bracket cos theta plus i sin theta. So, now, log of root 2 plus log of e to the power twice in pi plus pi by 4 using the property of log. So, now, log root 2 plus so log e to the power twice in pi plus pi by 4 equal to twice in pi plus pi by 4. So, this is the value of log of 1 plus i. So, find the general value of log minus 3. So, first we take minus 3 equal to minus 3 plus i into 0. So, it is equal to r bracket cos theta plus i sin theta. So, this implies minus 3 equal to r cos theta and 0 equal to r sin theta. Now, squaring and adding both side we get r square equal to 9. So, this implies r equal to 3. Putting r equal to 3 we get cos theta equal to minus 1 and sin theta equal to 0. This means theta equal to pi. Now, minus 3 is equal to 3 bracket cos pi plus i sin theta. So, here from we found 3 into e to the power i pi. So, hence log minus 3 is equal to log bracket 3 into e to the power i pi into e to the power twice in pi. So, e to the power i pi plus e to the power twice in pi i amelique equal to e to the power twice in pi plus pi bracket i. So, here from we found log 3 into e to the power twice in pi plus pi bracket i. So, using comparison of log we get log 3 plus log e to the power twice in pi plus pi bracket i. So, log 3 plus here from we found twice in pi plus 1 bracket pi i. So, log minus 3 is equal to log 3 plus twice in pi twice in pi plus 1 pi i. So, this is the reason we do log minus 3. Now, putting n equal to 0 we get the principle we do log minus 3. So, we get the principle we log from log minus 3 is equal to log 3 plus pi i. So, hence we get a negative number logarithm we will get. I am a video lecturer to Rajeev. Logarithm of complex number we can also know by law. So, you dare to tell me that a complex number logarithm can occur in the logarithm. Principle and general value of a complex number will be equal to 0. Therefore, logarithm of negative number will be equal to 0. For a particular class I am here at the unit of my course. Thank you.


Hey guys, today we're here with Michelle at Vitamix Type Cores and she's going to show us how to make black bean soup. Welcome back, Lonnie. Yeah, thanks. It's great to have you back again. It's so fun to be back. And it's such a soup day today, isn't it? Uh-huh, chili for snow. Oh yeah, I love it. This is a great recipe that we've been doing. We do it in a lot of our classes. And one of the reasons that I love it is because it just teaches people a lot of tips about making soup in the Vitamix. As you well know, Vitamix doesn't heat. It's friction heat. It doesn't cook.   And we start with just, we have a can of chickpeas and a can of black beans. And I put half in here and then I reserve the rest later. We're going to add them in there. So we're going to start with half a can of black beans and chickpeas. And you know I'm always telling people to put their liquid in first. But I don't do it when I do the soup because if I did that then you'd be wearing the soup. Oh, okay. Clean sure. We don't want to do that. Yeah, exactly. I make the exception for beans too. Yeah. They're pretty soft. Well, it's like the liquid will go in and it'll be fine. But if I put the liquid in first and it splashes up everywhere. I've got a jalapeno. I take the seeds out. If you like a little bit more heat, feel free to leave them in. And then we've got, now the recipe calls for half a cup of sauteed onion. And I want to show people that you don't have to, you can make a swap to raw. But be keeping in mind that that flavor change that happens when you saute an onion isn't happening in the Vitamix. Right. So what you want to do is when you go with any of those things in the lagoon family, so garlic, we're going to do it within this onion, you want to cut that amount in half. If the recipe calls for it to be roasted or sauteed, you want to cut it in half because you can always add more in, but you can't back out that flavor. And you know from experience what it does to the flavor of the onion. It just explodes in. Yeah, onion soup. That's a great tip. So that's, anyway, so that's what we went to about a quarter cup of onion. Okay. And again, the recipe calls for three cloves of roasted garlic, but I didn't have time to roast these, so we're just going to go with you closing a raw. And we've got a little bit of lime juice here. Okay. And I have here is cumin, salt and pepper. I'm just going to go ahead and add that in. And then I'm going to add in some vegetable broth. And I love this recipe because this is just something you can do after work. Super quick. Yeah. And it's just as simple as opening a few cans and just getting everything ready to go. So we're going to go ahead and put it up here. And I'm going to start that soup setting. And then at the end, I'm going to show you how we can stream in some things to give some texture to the soup. Great. All right. So we're going to go ahead and, this one is a preset setting. So we're going to go ahead and put it on soup. But if I was doing this on a blender with all manual control, I would just take it to high. Oops. Here we go. For about 60. Okay. I like to let this go high. It'll be a little bit longer because when we stream in these additional ingredients, that's going to bring this texture to the soup. Got it. All right. Cool. Okay. So here we are.  Ooh, the steam. Best part. That's the big wow moment. But you know, sometimes you don't just want a pure age soup. Sometimes you want just to have a little bit of bite to it. So I'm going to go ahead and turn it back on to three. And basically I'm going to do wet chop. Got it. So first I'm going to add in the reserved chickpeas and black beans. I've got a lot of black beans. I'm going to add in the reserved chickpeas and black beans. I've got some yellow and red pepper here. I'm all, like I said, I'm only out of three. Second there. So now I've got texture in the soup. Okay. You can garnish this however you want. I'm going to put a little bit of tortilla chips on it for you. Nice. Some people, cilantro is very polarizing. I love it. That would be good on here. It would be great on here too. Some tortilla chips. Some tortilla chips. Give you a little bit of crunch on there. Yeah, and some salt. And some pepper. And some pepper. And some pepper. Some tortilla chips. Put some tortilla chips. Give you a little bit of crunch on there. Yeah, and cilantro gives it a little color too. Yep. There you go, my darling. Okay. I got lunch for you. So much pressure. Thank you. It's been a long morning. This looks delicious. I don't know if we can see it. It looks really, really good. And just, like I said, just add a little bit of texture to it. You could even put like a cooked chicken in there if you wanted to add a protein. Yeah. Yeah, definitely. Oh, this looks delicious. Nice. Really good. And I'm thinking this is a good soup to give to like a picky eater. Yes. And not say that there's beans in there like we were talking about when it was blending. Yeah. This is a delicious soup. And it's nice and thick because of those beans were in the base. Yes. So it's got, that's one thing that I think is great about it. It's a nice texture. I can taste the cumin is really nice and the garlic. I, we like a lot of salt in our house. I'm not sure why. I would maybe add a team bit more salt. Yep. Like we kind of talked about. That was only like a quarter teaspoon. Right. I just thought everything. Yeah. You'll find that with all the Vitamix recipes, the salt and pepper are very low and you should feel free to go in and add a little bit, add it to, so it fits your personal taste. I'm so glad you came out. Delicious. Thank you so much for, for making this. We will bring this recipe home and make it at home. Wonderful. And it's so good to see you again. Good to see you too, Led. Michelle from like Vitamix headquarters. Guys, this is one of our favorite, one of your favorite guests on this channel. You loved it when she taught us how to make green juice and almond milk. What else did we make? We made my icky green juice. Icky green juice. Icky green juice. Yeah. So guys, and subscribe to our channel if you haven't already. Hit that bell to get notified. Thank you so much for watching and we'll see you in the next one. Bye bye. Bye guys.


So today we're going to be talking about Blair White, a popular transgender YouTuber. I learned a lot about her from making this video and I think she's really interesting. Blair is 25, soon turning 26 years old at the time of this recording and has 228,000 followers on Instagram and 631,000 on YouTube. She's all-American, born in Chico, California and now living in LA like the rest of the world. Blair has been making headlines lately for her drama with Jessica Yaniv, a trans activist from BC because Blair exposed Jessica for being a trans predator. Apparently Blair's private information like address and phone number was released to the public after that from Jessica and things got even uglier. But that's a story for another day. One thing that makes Blair really unique is her political views. Let's be honest, nobody would expect that someone who's transgender would be conservative or a Trump supporter, but Blair is exactly that. She's totally controversial but stands by her beliefs strongly and makes them work for her. These kinds of people are my faves. Blair has said, I really am the only trans woman occupying this space within the conservative movement. I take what comes with that. There are people on the very far right who no matter what I say or how I express myself won't accept me. But honestly I understand a lot of what Blair says and why she chooses to stand for what she does. She basically explains that being conservative in America is harder than being trans these days and I don't disagree with her there. A lot of her viewers agree and think that with Trump as president, being Republican can be its own kind of minority. Blair started out on YouTube a few years ago in 2015. Hello, my name is Blair for those of you who don't know and in this video I'm going to be discussing a few related topics, one being feminism, the next being men's rights movement, also the concepts of privilege, both male and female privilege and just kind of my thoughts on all of those things. At the end I'm definitely open to criticism, comments and everything of the sort so here we go. And she discusses a lot of political issues like feminism, black lives matter and more. All from her point of view. She also adds her own sense of humor to her videos and definitely likes to stir the pot.  Are there though? In a shorter life, less mobility, a plethora of health complications, being seen as generally less attractive to most people? I mean what is the upside? You get called for gigs like this where you whine over a sad piano track on YouTube? There are only two genders. To make a video proclaiming something as obvious and as apparent as the fact that there are only two genders. And even where she wore a trumpet out in Hollywood and vlogged all the nastiness that went down, which was pretty messed up. Okay, so first of all I had no idea there was even going to be a protest.  I was trying to get your hat because he threw your hat. He took my hat right off my hand. Blair told Newsweek about this experience, I have never been assaulted for being trans. I've never had anyone on the street say anything nasty to me about being trans. But I was assaulted for wearing a Trump hat. I think that speaks for itself. Blair posts other content on her channels too like vlogs talking about her transition or Q&A and reaction videos with her fiance Joey Sarson who's a YouTuber himself. Anyways, this intro has been long enough but today we're just gonna be focusing on Blair's looks and transformation instead of all that other stuff. Although Blair is non-op and doesn't believe you can physically change your sex, she has really made a great transition to be so feminine. But we'll talk about all that in a little bit. What's going on guys and girls? My name is Cara and this series we have titled Before and After. Today we're gonna focus on Blair, cosmetic work she's had done and just her overall look and transformation because she's came a long way. I've done other celebrity transformation videos including ones on Nikita Dragon and Gigi Gorgeous and we'll have links to those at the end of this video. I've also been reading all your comments and I'm gonna be responding to some at the end of this. As always if there's anyone else you want me to document let me know in the comments down below. Now let's get into this video. Let's start with Blair's face and how different she looks from before. It's no doubt her face is really feminine now compared to when she was pre-transition. So the topic for this week is talents and stuff that we can do beyond like hair and makeup and stuff and honestly I couldn't think of anything. So I'm gonna try my luck at acrobatics. Is that a word? I think it's a word. We'll see. Blair has said that during her first years of elementary school is when she started to feel a bit weird and unsure of where she belonged. Okay so this doesn't creep me out because it has zero resemblance of you. Mm-hmm. Yeah. So it's kind of creepy that to be honest. It's kind of creepy. Well it's creepy that it was you. It's just it doesn't it doesn't creep me out. This this one doesn't blow my mind. Okay. It's still scary. Next.  When Blair was around 16 she started to experiment with different looks like dyeing her hair bright colors for example and wearing makeup. Blair had the emo or scene kid vibe if you remember that and at this time he was still identifying as a homosexual male. It wasn't until Blair was 18 that she started dressing and looking more feminine finally realizing that she was trans and wanting to transition. Her father sadly passed away around this time though so she just focused on being there for her mother and family. Then when she was 20 Blair came out as transgender and started hormone therapy. Looking at before pics Blair had a typical boyish face and much stronger features. Her nose was larger and her jaw and chin area was wider. These days Blair's face looks perfectly feminine and naturally gorgeous. Her nose is also really sleek and petite. Of course to get to this point Blair had to undergo what many do who are transitioning into females which are facial feminization surgeries. Before facial feminization Blair was still girly but not as female as she is these days. So some time ago I was in a psychology class. This was about I'm gonna say three semesters ago maybe honestly two I don't know. Anyway Blair has made a vlog on her experience with facial feminization surgeries and it was definitely a lot. I had a really huge life changing surgery which involved five procedures all of which related to me being transgender and when I tell you I am so happy right now having gone through it and with the result. And for those of you who don't know facial feminization surgery is a catch-all phrase for a group of cosmetic procedures that make the features more feminine for a male who's transitioning into female. Blair explained that she had her hairline lowered, her eyebrows raised, a brow ridge shaving and reduction, a nose job to sculpt it and make it smaller and a boob job. But we'll talk about the boob job after. All of this work Blair had done at once was obviously intense for her and like I would imagine painful afterwards. Okay so it is day two I am currently at the surgeon's office for a little checkup and I'm gonna see my boobs for the first time today and hopefully my nose and my forehead is a lot more swollen. After taking off the bandages she didn't look anything like herself likely because of all the swelling and healing going on. I am officially unrecognizable. I mean I don't think any amount of research could have prepared me to see myself like this. My mom is currently cleaning my incision, the one that goes all the way around my scalp. For Blair but at least she looks amazing now. It's hard to believe that that was how she looked post surgery. According to Blair the most painful one for her was the forehead work they did since the stitches went all around her head. Another thing that I would assume is that Blair gets her lips filled before they were much thinner and these days they're always looking full and plump but that's not really shocking. Anyways I think that Blair looks gorgeous these days and whatever she's gotten done to get to this point really glammed her up. Let's move on to Blair's body. Like I mentioned she obviously got a boob job. Although she went through hormone therapy which does change the male body slowly it wasn't enough to give boobs. Blair has said in some videos that she just gave that illusion for mooring push-up bras at the time. Back in the day Blair didn't have that feminine figure that she does today obviously. She's been on hormone therapy for five years or more now so her shape has settled into some more feminine curves. In her vlog about her facial feminization surgeries she also spoke about her boob job which she had done at the same time. Blair went from being boyish and flat chested to having great boobs which obviously boosted her confidence. Aside from the boob job Blair hasn't gotten anything else done to her body. Unlike some trans individuals she doesn't actually really believe in gender reassignment surgery at least not any time in the near future for her. She has stated in a vlog called Why I'm Not Getting These Surgery plenty of reasons why she's not up. Some of her reasons include the high rates of post-op depression, the expensive cost, the complications, risks and the aftercare which is crazy. All of her reasons are completely legit so I'm glad that she shares her real thoughts with her audience and the public. It can definitely be helpful to others. Blair says that she's at a really good place with her transition, her body and her relationship so she doesn't care about it at the moment. Like I mentioned earlier she also believes there are only truly two genders. Blair basically believes that biologically she was born male and that's just fact. I'm a biological male who was born that way and will die that way.  There's been a number of studies that have shown that male to female transsexuals have similar brain structures and activity to that of biological women. Because of that I decided to take it upon myself to seek out the help of medicine to transition or physically resemble the body of a woman to the best of my ability. This leads us to the next thing about Blair which is more about her transitioning and hormone therapy. Like I said she's been on it for years now. She posted a video on her second vlog channel about how the hormones changed her body. The hormones basically estrogen makes physical changes in the body to make it more female over time. Blair said that her hairline changed and improved. It wasn't as far back as before and her hair quality changed from being naturally oily to silky and smooth. Although she got facial feminization surgery she didn't get anything done to her jaws or her chin but the hormone therapy made her face shape change on its own. Before it was a lot more angular according to Blair. Before I went on hormones my face was a lot more angular like my jaw was a lot more pronounced.  And the hormones helped to make the fat distribution change in her face. So you can tell that the changes in Blair's face were a combination of both hormone therapy and plastic surgery. Estrogen in hormones also changed her body in many ways such as fat distribution in the body to the thighs hips and butt for example and reducing body hair and how much it grew. One interesting thing I learned from Blair is that hormone therapy doesn't change a person's voice. She said in males transitioning to females it doesn't make a difference you just have to work on it yourself. I always thought that it did make the voice girlier but maybe I was wrong. If you guys know whether or not this is true definitely let me know down in the comments because I'd love to know. On that note I really like how educational Blair's video seemed to be.  Finally let's talk about Blair's fitness. It's no doubt she's in great shape but it hasn't always been like that. Blair said that hormone therapy and estrogen actually made her gain a lot of weight.  I had probably gained 20-25 pounds and it was very easy and very comfortable for me to mask the fact that I had gained weight on my youtube channel because all the videos are from here up you know what I mean. But in real life I would put on dresses and I'd want to go out and I'd want to look cute and it was just not I was not happy with my body and it was honestly really depressing. She went from being naturally so skinny and unable to even put on weight to finding it much harder to keep it off. Blair ended up losing weight and treading 25 pounds though. So how did she do it? Blair shared her fitness routine on her channel earlier this year. She says that when she wakes up she goes in hikes running and canning with her dog Bella. Not only that but they walk there which is a mile and a half walk, they're in back. Then Blair goes straight to the gym after the hike. She says she does 30 minutes on the elliptical for cardio and then some weights to tone her arms. And then she's done but she does that every day. Blair's diet isn't as disciplined as you may expect. She said she used to be vegan but she isn't anymore. She still splurges on stuff like pizza but generally tries to eat healthy and even though she doesn't cook she tries to order unhealthy food. It's clear that her workout plan has been good to her and she's lost the weight considering she's back showing off her bikini bod on social media. Okay so Blair might just be one of my new fav YouTubers. I can see that she's really open with her audience and true to who she is no matter how controversial it may seem so I love that. She also comes across super educated and smart. The internet can be a really nasty place so to not let haters get to you and stick to what you believe in only makes your true fans more supportive. I think that Blair has changed a lot through her transition and is sure of her identity now and she looks really great. I would have never even recognized her in her old boy photos. Aside from looking pretty and feminine her voice sounds girly too. Okay guys so just like last time I'm gonna be reading out some of your comments from past vids. This one was from a recent vid on Dove Cameron's Before and After. Jaquelia Berry said, I ain't trying to be mean I love Dove but she looked like someone from Bob's Burger. That's kind of funny which character are you talking about from Bob's Burgers Jaquelia? This one was from our Lele Pons video Lizith Valencia wrote, I think that she looks beautiful either way everyone is beautiful in the inside. That's sweet of you Lizith. Internet definitely needs more kind words like that. And on another note this comment was from our video a few months back on Iggy Azalea and Raven said, Dude you are so boring to look at and listen to. Well thank you Raven that's really sweet of you. I decided to share a negative comment too because I feel like there are always those few haters on the vids. And we definitely see them all. Alright guys and girls that wraps up this video here on Before and After. If you want to talk more about Blair's transformation you can hit me up on Instagram. Let me know who else you would like me to make a Before and After video on and I'll see you guys in the next video. And if you haven't yet please hit that subscribe button. I want to get to know you guys better and hear more of what you guys have to say. So let's get the 50k to 100k. Bye.