We're going to continue the program. We have now Tomasz Noziczka, who will, from Red Hat Engineering, we will talk about continuous integration and delivery with OpenShift. Okay, so we all know that setting up CI CD from scratch takes a lot of time. I'm Tomasz, and today we will make it in 20 minutes. So yeah, let's start then. So we all want to deliver frequently and reliably, and that's hopefully why you are all here. But managing the infrastructure takes unnecessary time. And a lot of us remember the times before containers came to the industry, and you kind of had a Jenkins master and a lot of machines for the slaves with pre-installed dependencies, different labels, and several virtual machines providing you databases and other stuff you needed for testing environments. And this was not ideal, so then the plugin came in and it kind of provided you with clean built environments and repeatable ones and it solved the dependency issue and others. But you still had a lot of machines you had to take care about and manage those, and those were really our pets. A few years back when containers came to the industry, we kind of started to move from pets to cattle. You know the analogy, right? So this was the time when, yeah, with the rise of Kubernetes, their plugin came in to Jenkins and it kind of provided you with all the slaves running inside the Kubernetes cluster, and you didn't have to take care about anything about it. So you were left just with the master. But this really didn't work for big companies and it was a bit of a scalability issue because one master wasn't really working, so what you did was that you sharded it. So some team at one Jenkins master and other team or a group in your company had a different one. And you still had to take care about all these machines and installations. But Pipelines, the new feature in OpenShift 3.4 took it even further. You don't even need a master. All you need is an OpenShift cluster and one file in your Git repository. And that's it. But yeah, enough talking about it. This is actually a demo session and this is my only slide for today. So if the demo doesn't work, this is going to be a really short presentation. So I hope the demo goods are with me today. So yeah, let's go for it. Just before we start, how many of you know OpenShift? So, oh, yeah, that's a lot. How many of you know OpenShift and aren't from Red Hat? Oh, that's nice as well. I wasn't expecting that much. Cool. Yeah. So yeah, before we start, we will start from scratch today. So we won't have any cluster prepared or anything. So there are more ways out to provision an OpenShift cluster. And today I will show you OC cluster up, which is quite a new tool for it. And it will run it through containers. So this is a really cool one, and I like it. But just to mention for those who come from Kubernetes work and know MiniQ, OpenShift has also MiniShift, which is a direct equivalent of this. And for the production use case, you can use OpenShift Ansible scripts, which are open source. So another great way, and there is also online coming. But right now it's only a developer preview. But if you have a GitHub account, you can look in there, and they will give you some free resources, and you can try all these things out. But today we are going with OC cluster up, which is actually integrated in the OC client tool. So this is really easy. How many of you know OC cluster up? So I'm just OK. So just to show you there is nothing running. This is a clean machine, and hopefully it works. So this is all you need, but because I'm a bit of afraid of changing IPs, I will actually specify a special bridge that I have made here. You don't need this last parameter. OK, and yeah, I was a bit of afraid of the network here, so I've pre-pulled all the images. So this should go really fast, hopefully. And we have an OpenShift cluster running, and it was five seconds. So yeah, this is a really cool way. And the way we do the demo today was I will kind of get things started, so there will be some commands, but just two of them, and we will look into those files and this implementation at the end. So let's start with the cool thing. So what we need is to create a pipeline, and this looks a bit scary, but what it does is actually OC process does template substitution. So we have a template which defines a pipeline config, and we will set into it a git URL of the repository we are working with and the branch, and create those objects. So yeah, we will look into those at the end of the demo. And what we need is to start the pipeline. And it's called Hello Universe, because Universe is much more bigger than Word. So yeah, let's try to give it up. What we need is to check what the IP of our cluster is. So we will be looking at this from the web console. So yeah, we'll see cluster status. And yeah, we are on localhost, so don't be afraid of this. And the password, and the username is developer, so that's really okay, and we are in OpenChase console. And hopefully the pipeline is already starting, so yeah, we can look into it. And while it's building the image, it has actually provisioned as Jenkins, which is just an implementation detail. You don't have to care about it, maintain it or anything. If you delete it, you can get it provisioned again. So we will just hide it. And yeah, let me just make this a bit smaller, so we can actually see all the stuff. Yeah, I'm sorry about the resolution, apparently only VGA works here. So I will try to put it all here, hopefully. And yeah, yeah, because this is just a demo talk, I have created only two environments. One is dev and one is production. But in a real world, you would have more of those and did some real testing in between and integration test. It's all configurable and we will see at the end how it works. But yeah, the pipeline has been started and it's actually shown in the overview. So it has actually did some preparations, created the image and deployed to dev, which we will see in just a minute. And right now it's waiting for approval, because this talk is kind of named continuous delivery and not deployment, so we will wait for approval before deploying to production. Yeah, let's open up our environment, ideally a new window, yeah, should have brought a mouse. So yeah, and we will set up Auto Refresh, so we will actually see what's going on while we will be working on the pipeline. And let's open up the production environment, we'll just make it a bit smaller. And you see an error page because we have no deployments yet in production environment because it's still waiting for our approval. So this 503 is from the router, which is an open-shift thing for which, yeah. And yeah, there are no deployments and there is one for trying for our dev environment. And I haven't set up the refresh, sorry. So yeah, so let's deploy it to production, because the development environment seems working quite all right. And yeah, the first time we will have to click it through. And the Jenkins, which has been provisioned for us has all plug-in for open-shift, so we will use the same credentials to login. Next time we will allow some stuff. And yeah, for the future, actually this kind of approving will be integrated into the web console, but right now it just redirects you into the Jenkins stuff, but it's just a detail. We will get it better for the next releases, hopefully. And yeah, let's proceed. And you can see it deploying to production, and hopefully it will work. Yeah, and we can see hello universe in production. So yeah, this is quite cool. And yeah, we can see we have three ports ready for production because, yeah, there will be more traffic. So let's change some stuff and see how the pipeline does. So yeah, I've cloned the sources here, and let's change the message. This is a Go app, so you're probably familiar with Go, but this is pretty easy. So let's say something like hello DevCon 2017, and let's commit this and let's push it. And because we are not on a public IP and I didn't want to complicate stuff with actually redirecting the webhooks from GitHub, we will trigger it manually, but it works just fine if you set it up through the GitHub hooks. So yeah, let's start it again, and let's look into what it's doing. So yeah, we have autorefresh set up everywhere, and yeah, it's creating the image so I can refresh myself in between. And this should be devouring here. So this is actually doing a rolling update, which is a great feature for OpenShift, and we will see it after approving this stuff. So yeah, we can see that the dev environment deployed successfully, and if it would have been some real website, the problem is why you don't do continuous deployment usually is because you don't effectively test all your application. If it's something complicated and uses a lot of database stuff, and you have some yeah, there is a lot of microservices involved, you don't usually have tests that cover all the things. So at least for the sanity, like a product manager or someone responsible can actually look at the website running with all the other microservices connected and see if it's working or if it makes sense. So yeah, that's why we have all these environments and we wait for the approval because you never test all the stuff, or if you do, you are the lucky one, but yeah. So let's proceed because it looks alright in development. So yeah, let's close this and let's see the pipeline, and it's deploying to production and we can actually look at it. So this is the rolling update, but because I've seen so many hands about people who know about OpenShift, you know this rolling update actually has zero downtime and it does health checks and all the cool stuff, and there are some great talks about it the year. So this is not in the scope here. So yeah, all the pipeline worked. I'm really happy. Thank you. Yeah, so let's have a quick look into how can you do this? So yeah, if I can actually spell GitHub. So there's a deploy for which I just grouped all the stuff here and development parts. Here's a pipeline template, which is something you would need. It's Kubernetes or OpenShift object and yeah, the template is here just for variable substitution. So let's look at the development part. So you actually create a build config in OpenShift and yeah, some metadata is not important. Here you can set up the GitHub webhook and the most important part, you define strategy of type Jenkins pipeline, which actually allow you to do all this cool stuff. And if you don't have Jenkins file in your route, you have to specify the path for it and we want to run it as several because doing parallel deployments to the same environments doesn't end in a good way. You specify the Git which Jenkins clones the sources from. So this is just one time thing and the real control is here and it is the Jenkins file which actually controls what the pipeline does and yeah, it's a grueless script but yeah, don't be scared just yet. You can actually run shell inside so that's what I'm doing. So the only thing that you need to do before is to select a node and we are selecting master but you could select a slave which would have been provisioned inside the Kubernetes cluster and you could have some pre-installed dependencies there. So if you would have needed some tools for your testing or building, so there is like a Maven one which actually provides you with all the tooling and stuff but we have a go and we used S2I so we actually didn't need that stuff. And then you have to mark your stages which kind of divide your pipeline into stages and check out SCM. This is all the part of the grueless you actually need and the rest can be shell if you want or you can do some grueless stuff. So yeah, we just log in, my point here is we use OC2 as you would have in your shell when you are controlling the cluster so we are doing, we have just one way to do stuff but there is actually a DSL which you may choose to use or not and I like to do things one way so we actually log into Kubernetes through internal DNS we can actually do some reflection and find the Kubernetes and Kubernetes actually injects you with a token to log in for the service account in the namespace so we read that and yeah there is a certification authority and that's it. We will process some templates so you would have to have this either way and this is what tells you how the deployment is defined and because we have multiple environments we have an open shift template for it and we substitute just an application name and number of replicas so these are the parameters that actually distinguish our environments we could see there and we send it to OC apply because OC create would have failed after a second run so OC apply is the way here and we create an image stream which is this template and that's it so this is how you build stuff with binary builds and S2I so you start build which is the one we defined above and this is just a hack for now because open shift doesn't really let you, doesn't really let you to find a hash of what you have built so this will be in next versions and there are two stages about how to trigger deployment basically so you can do it a bit easier from command line but this is kind of for keeping you sane if you see the locks and something went wrong so we set the image with the exact shop of what we have built and this is basically it means we want to deploy our deployment we follow the locks and we ask for status if something went wrong the pipeline would actually fail here and yeah we have a special stage for deploying to production which is just because every stage is kind of a counter or a clock and we don't want like our deployment to production fictively took two hours but it was close because someone didn't approve it so yeah I've separated those two and deployed to production does almost the same thing as deployed to death and just reference deployment config with a different suffix and this is a script so we can actually write anything you want here so whatever your CI flow is just write it here create the stages you want and that's all you need and we are out of time so thank you that's all I had for today and we still have five minutes for questions or more okay so okay if there are no questions right so so would you mind speaking up a bit okay yeah so so the question is and there are two parts in this are you actually asking about how you authenticate from Jenkins to OpenShift or how you that's the one oh yeah that's the easy part that that's the login part so you find the API endpoint by the internal DNS which is pretty easy it's Kubernetes default and dot SVC but you don't have to use it but you need a token to authenticate yeah every namespace you are in has a default service account and every service account has a token associated and if you run a port inside Kubernetes or OpenShift will inject a token into your file system so var slash run secrets Kubernetes IO slash token you get the token which you need to authenticate back yeah so at this point these are in the same name space but you you can do any combination because it's just a script and the way you will do it with a different namespace or a different cluster you can actually get a secret using the OC tool you create a secret with authentication to another cluster and you can you can you can get those through OC tool like regularly you would do this if you were doing it from command line you can do the same here okay so are asking if only Jenkins is supported yeah so the point here is Jenkins is just an implementation detail right now like you can use it but you don't have to how you control this stuff is by using the Jenkins file which is the glue with which actually does stuff but all the configuration is passed from the build config object created in OpenShift so you don't have to interact with Jenkins and it's just an implementation detail so in future we could have something else running it but yeah you should in ideal case you shouldn't actually see the Jenkins okay yeah that's all I had for today and thank you for coming


how the Trump campaign can help you grow your business. Now, no matter what you think of Donald Trump, he won the election. The question is, how could he win this election when everybody said he couldn't win the election? In this video, I'm gonna show you growth hacking that Donald Trump used in his campaign and how you can use some of the same principles to help you grow your business and we're starting right now. Hey guys, JR Fisher here and if you're new to my channel, do me a favor and subscribe. Go down there and hit that subscribe button. Next to it, there's a bell. You gotta ring the bell. How do you ring the bell? You click it and it's gonna make that ring noise right there, just like this. Then you gotta turn on all notifications. That way when I do these videos, you'll be the first one to know about it. You'll be part of the Fisher family and you'll be in that VIP group. In this video, we're gonna talk about Donald Trump. Now, I don't care what your politics are, it makes no difference to me. But what do you think about the way he ran his election? Put your comments below. Do you think he did a good job? Do you think he did a bad job? He won, we know that and he got a lot of attention. But the question is, how did he do it? Let's examine that in this particular video. Now also, if you're new to this channel, I've been selling online since 2009 and I've sold millions of dollars in both physical and digital products. And on this channel, what I do is I share with you all of those things that I've learned over the years so that you can start, run and grow your online business. Now let's check out this campaign that Donald Trump ran. Now, I'm sure by now you know the news because he's been in office for a few years. But Donald Trump won the 2016 election against Hillary Clinton. Now, he's now the 45th president of the United States, but the question is, how did he do it? What growth hacking did he do that you can learn from that you can apply in your business? Now, I'm gonna remain totally neutral about, you know, my political leanings and I really don't have much because I don't really think that whoever's in office is really gonna affect me much. Most of what's gonna come in my life, in fact, almost everything that's gonna come in my life is not based on some politician. And I want you to understand your future is not based on some politician either. It's based on what you do every single day. That effort that you put forth every single day will have more effect in your life than anything else you can do. Okay, so it really doesn't matter which way you lean on this political thing. But the question is, how did Donald Trump use growth hacking to actually win this election? Because he obviously did something that worked out pretty well for him. He came from nowhere. He had no background whatsoever in politics, but he did exhibit that entrepreneurial spirit and he used growth hacking to win this election. Now, most successful businesses use growth hacking. Growth hacking is a strategy most commonly used by startups to get going real fast. So to sum it up, growth hacking basically is setting up a strategy. You decide what your main goals are gonna be.   Once you figure out the things that work, you double down on those things and you spend more time and more money just on those items and drop everything else. And that's basically what growth hacking is in a nutshell. Companies like Airbnb, PayPal, Dropbox, they've all used the same strategy to grow their business extremely fast and it's been very successful for all. Now, I'm gonna talk about politics and how this growth hacking was used, but the same ideas you can apply to your business and get the same results. Now, the first thing I wanna talk about is having a specific target and identifying your audience. The problem that most businesses have is that they go after everybody. They say, hey, I want a big audience so I wanna sell to everybody. And the thing is if you don't take a side, if you don't make a stand, if you don't have some type of meaning to your business, you're basically speaking to nobody if you speak to everybody. So what you need to do is focus on a smaller group of people that are more passionate or that have more need for whatever your product or service is. And that's exactly what Donald Trump did. He tapped into that audience out there that is sick and tired of the kind of politicians we had before, who doesn't like politicians, who was for the working man and the blue collar worker, and he knew exactly the audience he was going after when he got started. Initially, Donald Trump's target was Republicans. He went after Republicans. Now, keep in mind, Donald Trump used to be a Democrat, but he decided he wanted to be the nominee for the Republicans, so he had to go after Republicans. He didn't care if Democrats liked him or loved him or hated him and made no difference to him. He knew what his target was. His target was to get the nomination, which is the first step, and then in order to do that, you're gonna have to get the Republicans to like you, and that's what he went after. Now, the next step is really studying your target and knowing your audience. Now, here's what he knew about Republicans. And I'm not talking about people in office. I'm talking about people who identify as Republicans. He knew that those people don't trust politicians. He knew it. That was the biggest thing. He knew they didn't trust politicians. So instead of going out there and saying, I don't have any experience, but I think I could do the job, he immediately would bring that up and he would say, I don't have experience and that's why I can do the job because I'm not your common politician, the person you can't trust. I'm somebody you can trust. So he was tapping in to that need they had, that pain point they had that they don't trust any politicians, whether Democrats or Republicans. So he immediately said, I'm not a politician. I'm gonna go to DC and I'm gonna drain the small. The next thing is to define your message and find your value proposition. What was his value proposition? Well, his value proposition was, I'm not part of the establishment. I'm not an establishment person. You can vote for me. You can trust me because I'm not part of them. So instead of trying to make himself liked by all the politicians, no matter which party it was, he said, I'm not part of either one of them. I'm there to clean all this up. He really defined his proposition to the audience and that made him even more likeable to that audience that's gonna be voting for him. Trump did something that I don't think I've ever seen in my lifetime before and he didn't try to be loved by everyone. And you know, it's so funny over the years as I've listened to politicians whether it's Democrat or Republican or independent, they all sound the same. It's really hard to distinguish what they really want to do and what they're gonna do. And Trump came right out and he said what he wanted to do. He said what he was going to do. So he really tried to separate himself from all the other path. Now in doing so, he got a lot of resistance. He got a lot of people that didn't like him and that just made the people who did like him like him even more. They're like, well, those are my opponents out there. Those are the people I don't like and if they don't like this guy, he's the guy for me. That's the way he went about it. Next thing you need to do is define your metrics, your KPIs. Your KPIs is basically your key performance indicator. So a key performance indicator is you need to get a certain percentage. You need to set what that percentage is or you need to get a certain dollar or whatever it is. And he determined up front what percentages he need so he could go after that and set all of his KPIs and hit them on a regular basis. So one of the KPIs that Donald set up was how many Republicans would vote for him if he was on the ticket. His whole goal was to have the highest number of Republicans that would vote for him if he was on the ticket. So that was his KPIs. Now, check out this graphic right here. This is amazing. There's nowhere in here that anybody is even close to him. He's a 27.7% of the Republicans that were polled on this said they would vote for him. And as you can see below that, the next one is unsure. That's not even a candidate. At the time of this poll, below that they had Scott Walker, which was at 15%, which is less than half. Then they had Ben Carson at 7.8. Jeb Bush at 6.8. Marco Rubio at 5.4. Rand Paul at 3.9. Ted Cruz was at 3.7. Rick Perry 3.3.  It's ridiculous. So he was just crushing it when they asked these people who were gonna vote for president who would you vote for? He crushed it. This was his KPI that he was most concerned about because he knew if he could get this, then he could get the nomination. Now he was smart technology wise. I wouldn't have never guessed this because he's an older man, but technology wise, he was on top of this. He defined his channels. What channels was he gonna use to get his message out to the people? And certainly we all know he's famous for his tweets. So those tweets go out all the time. But he figured out SEO. He figured out social media. He figured out Facebook ads. He knew what he was doing to get the message across. And he was going after those people who were Republicans and for those people who were undecided yet because that's where you're gonna win an election with all those undecided people. Now, Trump actually selected four different channels that he was gonna use. He decided on social media. Now under that umbrella of social media, there's a lot of social media platforms. Of course, Twitter is the one that he used the most. It was the most successful with. On top of that, he did PR, public relations. He was all over public relations and how people thought about him. And he didn't care that some people didn't like him. Didn't matter to him. He just needed a good base of people that did like him, that did support him. He also did offline marketing. What's offline marketing? This is unheard of for anybody to do this. He went out and did conventions. He did these huge rallies all around the country and he would get people all stirred up and they were all excited. And he filled stadiums with people so that they could see him and they could hear his message. And then they went out and talked about it and that spread. And then the last thing he did was video marketing. He did a lot of videos, folks. There was a lot of soundbites that Donald Trump did and those video marketing soundbites he had went all over Facebook. So he kind of combined all of these channels together to make for one successful campaign. And that is exactly what you need to do with your business also. Now, the next thing he did was A, B testing. What's A, B testing? He would take a platform such as Twitter and he would put a bunch of positive stuff on there about how he was gonna help the economy and business and all that. And then he would put a lot of negative stuff on there about immigrants, about, you know, trade wars with China or whatever it was. He went in both directions to see which ones worked best for him. Obviously, I think some of those negative ones worked really well for him. So you've got to kind of think about this in your business too. You want to push away from things that you don't like and you want to support things you do like. In doing that, you're gonna have some people dislike you. He has people who dislike him.  Now, look at your data analytics. Here's the funny thing. When he did some negative stuff, he really got a lot of press out of that. All the reporters would jump on it. All of his opponents would jump on it. And they would talk about the negative things that Trump was saying about the country, about immigrants, about China, about Iran. And as they did that, they were giving him free advertising. He knew exactly what he was doing. He knew if he said something controversial that people were gonna print it. They were gonna talk about it. He was gonna be on the news shows over and over again. Their thought was that would tear him down. He knew in the back of his mind that would actually build up his audience. Once he figured out what really worked, he doubled down on it. Every time he got caught saying something that was controversial and then say, oh my gosh, he's got to apologize for that one, he would do just the opposite. And he would come out stronger because he knew that that's gonna make the news. He's famous for some of his tweets. I've got a couple of them right here. One of them said, he was talking about Mexicans and he says, they're bringing drugs, they're bringing crime, they're rapist. That was actually one of his tweets. Amazing, right? Okay, one of the other tweets he says, and you're not gonna believe this because I just looked at it myself and I thought, wow, he didn't say this. But here's what he said. You know, it really doesn't matter what the media write.  That's what he actually said about his wife. So that's a pretty out there tweet, but he did it and he doubled down on it. Amazing. Trump also had to optimize his channels. In other words, once he figured out which ones were working better for him than others, don't try to, in your business, I see so many businesses do this, they'll be on like 20 different channels and trying to do all these things and they don't really do any of them that well. You wanna figure out which ones give you the best response for your time and really focus on those. And that's exactly what he did and obviously Twitter was working really well for him. Now, what happened next was really pretty amazing. His PR campaign worked so well that he won the Republican primaries with 45%, which is amazing because his next closest contender was Ted Cruz and he had 25%. And let's not forget the wall, the wall. He said he's gonna build a wall which he's actually started construction and there's been a lot of controversy, a lot of court cases and all that, but he was gonna build a wall between the US and Mexico and have Mexico pay for it. That's a pretty controversial thing, but understand what we can learn from this election, what we can learn from his campaign is that you can apply a lot of these tactics to your business and that's all he really did. He's a business guy and he knew what would work and he knew being controversial would really help him out and that's kinda what you have to do in business too. Now, in my trainings, I'm not overly controversial, but I'm not the guy who's gonna say, hey, you could work four hours a week and get rich. You can't do it and I talk about that all the time. I'm like, it's a lot of hard work. You gotta spend a lot of time. I'm doing this video right now and I'm filming for hours today to do this video. It takes a lot of time, it takes a lot of work and it doesn't mean that you can only have to work like two years and then you're never gonna have to work again. I mean, I've been doing this 10 years and at this point I'm still working hard. That's the way it is. It doesn't mean I can't take some time off when I want and I certainly do that, but what it does mean and what it does speak to is those people out there that understand when I say you gotta do hard work, they're a little bit more believing about my message. Those people who wanna work four hours a week and make a million dollars a year hear my message and they go away. They don't wanna buy my stuff because they know that I'm gonna actually ask them to work, but it builds that trust and that loyalty with the people who do know that that's a true message. So, growth hacking, can you use it in your business? Yeah, you can use it in business. Matter of fact, I wanna know which parts of this you're gonna use in your business. Put your comments below. If you had questions about this video or how Donald Trump used all this, put your questions below. Hopefully we won't get too many political things down there, but we may and if we do, that's okay. Now don't forget, if you haven't done so already and you're not part of the Fisher family, you're not part of those VIPs, you need to hit that subscribe button so you can join the family and you need to bring the bell. Turn on your bell notifications right next to it. Mark it for get all notifications.  That way you do get notified every time I do a new video. Also, don't forget, I have a free e-commerce course below. It's $197 value. You can get it absolutely free by just clicking the link. All you gotta do is click and learn. Thank you so much for watching this video and I'll see you in the next one. Hey, thanks for watching my video. Don't forget to subscribe to my channel and click that little bell right here so you can be notified every time I do a new video. Also, click on one of those videos there. Keep watching on my channel.


Making fun of Canada. Yeah, and we make some good stuff. Yeah. Yeah, not sure what exactly, maple syrup


I always get emotional when people bring my dad up. What did I learn? You know, just what are the facts? Put them in your words. What is the most important thing you learned? And then, you know, spill it out to the crowd. It's funny, I'll call my dad or I'll email my dad or text him after I sit down with an athlete. I'm like, dad, he gave me all this great stuff, now what do I do about a 15 second open? And he'll say, let me play with it, let me play with it, and then we can talk about it. I'm like, dad, I have 15 seconds. I don't have 30. I don't have 45. So maybe to just, you know, be yourself, say it like yourself, and keep your passion in it as well.


Thank you, Mike, and also thank you, Dave, as well. So thank you. We now move on to the first of a number of really serious pieces, which we want you to take away with. We want you to consider. We want you to learn and reflect on as important parts of our journey to improve the safety of others, as well as the safety of our health care staff. I first met James Titcom nearly 10 years ago when he came to see me in London to talk about what had happened to his son. And he wanted to talk it through on the basis that he had some knowledge of safety systems. And the surprise that he had that he came up against numerous obstacles in trying to find out what had happened to his son. Now, you'll see his James, and you'll learn of Joshua's experience and the family's experience in the video. And this was going to happen very soon in this session. After the session, the video, you'll hear from Jeremy Hunt. Jeremy Hunt is well-known to many of us in the safety world. And I've had the pleasure and privilege of knowing him for many years now. Really, first of all, in his role as the Secretary of State for Health and Social Care for the UK. But also, I think, as a pioneer and champion of a different nature, a political champion for patient safety. That's a rare commodity these days. And it's a commodity that we need. We want to change systems. And we want to change and support change across whole citizenships. We need politicians on board. Jeremy has this in space. And he really worked very hard. Not only in his role now as chair of a really powerful select committee for parliament in the UK for health and social care, but also in his role to support WHO and the work that many of us are doing through the Patient Safety Movement Foundation, but also through the Patient Safety Collaboratives that we've set up across the world to try and help all nations, not just the high-income nations, but low-middle-income countries, to really help them embed systems and practices and leadership cultures for safety and safety of patients and safety of workforce. So I now pass over to Josh's video. My wife was pregnant with our second child. We knew it was going to be a boy. Drove my wife to the hospital. I think I got there about six o'clock, which was just in time, because Josh was born exactly 738 on that Monday morning. And when he was born, my reaction was, thank goodness, he was just a perfect, healthy, beautiful little baby boy. It was about 30 minutes later that things started to go wrong. He had a low temperature. He wasn't breathing properly. He was reluctant to feed. But at the time, we were just reassured. He's a little bit premature. All these things are normal. The next day, it was obvious he was a very poorly baby at that point. He was transferred to Manchester by ambulance. The team in Manchester told us, actually, the only thing wrong with Joshua is he's had an overwhelming infection and he's suffering from sepsis. We kept thinking, Josh is here for that basic care that he could have had in the first hour of his life and he wouldn't be here at all. He was actually flown by helicopter from Manchester to the Freeman Hospital in Newcastle. And that's when we were advised about this treatment called ECMO, basically a heart and lung machine for babies. Unknown at the time, his left lung began to bleed because it was more damaged than anyone realized. And the consultant had a conversation with my wife and I and said, look, if we tried this operation, it'll be futile. And we just worried it will make himself more. So on the 5th of November, yeah, we... The consultant said he's going to turn the ECMO machine off. And he went away. 20 minutes later, it came back and we said he's gone, hasn't he? And the consultant nodded in his head. And, yeah, Joshua had died. I think the first time, actually, that point, we'd seen him without all the tubes and all the equipment and he just looked like the perfect baby boy. And we said goodbye to him and, yeah, the hardest moment of my life, without a doubt. The hardest moment. What I remember thinking was if Joshua's care was this bad, if he had so many obvious signs that he was poorly and he was just left until he collapsed, is it just him or could this have happened to other babies? What we know is that there were huge discrepancies between what the midwives had reported and what my wife and I remember happening. I'd actually met a number of other families. These are families that had lost babies. It seemed that the pattern of what happened was very, very familiar, so doctors not being called. Investigations that covered up what happened. In early 2013, I met the health secretary at the time. Jeremy Hunt, he agreed to hold an independent investigation and it found a lethal mix of failures and the words in the report were that we have no doubts led to the preventable death of mothers and babies and they found that 16 babies and three mothers had died following poor care and of those, 11 would have almost certainly survived with the right care. And the tragedy really for me is six of those baby deaths happened after Joshua died. The whole management of the trust for years and years, denying that there were any problems using statistics to paint a picture of a very safe maternity unit, they described that as an ongoing cover-up and this became the headlines in England for over a week. There's no doubt to my mind that those records didn't vanish by accident. Somebody took those medical records and made a decision that it was better to get rid of them than to present the evidence. My reflection very much was, why didn't they learn from this? And you realise that we've got the culture wrong in healthcare. We just make it too hard for people to admit to ordinary human error, whereas things like the airline industry, the oil industry, the nuclear industry, they have all learned that they need to make it easy for people to admit when they made a mistake so that they can then develop the systems that prevent those mistakes being repeated. And there's a real danger, I think, of people using high-level data to misrepresent and using data for assurance rather than actually what can we learn from this. Because if you don't quantify the problem, we won't get action to change it. And we've got to have that honesty and that candour to address problems. I wish I could turn back the clock. I can't do that. I can't change things for him, but I do think his life hasn't been in vain. And I think there is a legacy for him and hopefully that legacy is safe for maternity care. I think he's played a small part in helping that happen. It's a privilege to speak to your conference today. I'm sorry I can't be with you in person, but it's a double privilege to come after the video you've just seen of James Titcombe because when I became Health Secretary in 2012 in the UK, I really have very little idea about health. I was right at the top of this huge pyramid, the fifth largest organisation in the world, which is what the NHS is. And I had no idea what it was like for people at the bottom of that pyramid, people like James, who had to write more than 400 emails before the NHS would admit what went wrong in Joshua's care. And there was I sat right at the top of the pyramid and it wasn't until I met James and a number of other families that I began to realise that things had gone radically wrong. And that really started me on my patient safety journey, which has taken me a long way. But in the process, my thinking has evolved and developed. I started off thinking that the biggest challenge with patient safety is transparency. And the tendency that we have in modern healthcare systems to cover things up when things go wrong. Often for very understandable reasons, it's incredibly difficult psychologically to deal with the fact that you may have been responsible for someone else's death. No one goes into healthcare intending that to happen. And so very often there's a kind of pressure not to confront something that might have happened. Sometimes that can be caused by lawyers. Sometimes it's just how it is. And so I felt transparency was the first thing I spearheaded a number of initiatives to bring transparency to patient safety issues, including independent rating of all hospitals in the UK for their safety and quality, including introducing a legal duty of candour on all hospitals when a patient is being harmed to be honest about it with them and their families. We introduced a huge maternity safety programme aiming to halve the number of neonatal deaths, maternity deaths, neonatal injuries, and stillbirths over a period of 10 years. We set up a new body that did airline style no-blame investigations. And all these initiatives helped make important progress. By the time I finished, after six years as Health Secretary, three million more patients were being looked after in hospitals that were independently rated as good or outstanding. We had, over the course of the last decade, we have reduced the number of neonatal deaths by 30%, the number of stillbirths by 25%. So there have been some very important improvements. But the more I reflected on the challenge, the more I realised that the real change can't be top down. It can't be because a Secretary of State or a leader decides to impose change on a large organisation. There has to be cultural change that comes from inside. And at the heart of this is the fundamental problem in modern healthcare systems that we're not very good at learning from mistakes. You compare that to other industries like the airline industry, the oil industry, the nuclear industry that have all developed systems to make sure they really do learn from mistakes and openly aim for zero accidents, zero mistakes, zero harm. We have a long, long way to go in healthcare. We know that in the NHS in England, hello, we have 150 avoidable deaths every week. And that is pre-pandemic, normal times number, but that is the equivalent of one aeroplane falling out of the sky every single week just in the NHS in England. We know that the rates are similar in countries like Holland and Canada and indeed throughout the world. And really what this is about is understanding that doctors and nurses are human beings who make mistakes too. They are particularly brave because they go into a profession where the price of those ordinary human errors can sometimes be a tragedy, a fatality, but we need to find a way to differentiate between the ordinary human mistakes that we all make that we need to be open about and learn from and gross negligence, the egregious errors that should never be tolerated. And that's what's happened in the airline industry.  But if on the other hand you forget to do check number 48 of 71 checks, then people look at the system-wide reason why that mistake was made and they try to rebuild systems so that that mistake is not made again. And we haven't yet learned to do that in healthcare. So this is really about cultural change. It's not gonna happen overnight, but I was also UK foreign secretary and I always remember one of the most respected diplomats in the world, Dr. Henry Kissinger, what he said about diplomacy. He said, diplomacy is the patient accumulation of partial successes. Well, it's the same in patient safety. We should not be disappointed that the success is partial and nor should we underestimate the amount of success we can achieve if we're patient. And someone who knows about this far more than me is your next speaker, Professor Albert Wu from Johns Hopkins University. Someone who I am a huge admirer of. He is the person who coined the phrase second victim to describe the fact that clinicians too are victims when there is a tragedy and we need to remember that and support them to be transparent and to learn from those tragedies just as we need to support families who experience them. He's also editor of the Journal of Patient Safety and Risk Management. So it gives me great pleasure to introduce him and to thank you all for the incredibly important work you are doing in patient safety. Thank you very much, Jeremy. Well, I'd like to begin by introducing today's panelists. Diane Perez, could you introduce yourself briefly? Sure, Albert. Hello, hello everyone. I'm Diane Perez. I'm a physician and journalist. I'm a news anchor and medical correspondent for Televisa. And Arianne Marie Mitchell, also can you introduce yourself? Sure, I am a faculty member in the preventive medicine and pediatrics department at Loma Linda University. I am also the medical director for health equity for the children's hospital. Thank you. And Raj Ratwani. Thank you, Albert. Nice to be here. I'm Raj Ratwani. I serve as the director for the MedStar Health National Center for Human Factors in Healthcare and also the vice president of scientific affairs for the MedStar Health Research Institute. Thank you all. I'm looking forward to a really great discussion. So James' tragic story highlights the need for greater openness about the inevitability of error and the ever-present potential for harm in healthcare. Greater awareness and acceptance of human fallibility is really needed for the entire system to be able to improve and become safer. As humans, when something goes wrong, our first instinct is to blame. But we have learned since then that it's the system that really causes hazards and creates safety. I guess one could ask, what do we mean when we say the system? And what are system factors? Who are all the players who shape how care unfolds? Raj, can you enlighten us? Yeah, happy to. Albert, I think as you described, when we think about the care process, I think the first thing that often comes to mind is the patient, the doctor, the nurse. We probably think about the family. We probably think about the caregiver. But we know it's much more complex than that. And so we often describe the healthcare landscape as a system. And when we say system, what we mean are all the different components that impact the care process. Some of those are very obvious, like people, the people we just talked about. And then there are some not so obvious ones. There's things like the technology, medical devices, the electronic health record, there's equipment, the beds, there's other supplies. There's the processes that are happening between people and the technology.  So these are all different components of what we call that system. And each of those components interact. And each of those components can contribute to the types of horrific errors that we just saw. And so for us to really tackle safety, we need to consider all these different system factors. We need to consider how they interact. And we need to look at how those system factors contribute to errors so that we can actually mitigate risk and make improvements. Thanks very much. That was very clear. And we have learned, of course, that there are factors that can contribute to errors and harm at every level of the system. Indeed, we've learned that safety is consistently improved when patients and families are actively included as members of the team. But this doesn't always happen. Arianne, can you tell us what do you see as the biggest barrier to this actually happening, to patients and families being included as members of the team? I think there are several barriers that come to mind. One is just often our visits with patients are very time pressured. And often our staff are stressed for a variety of reasons, including that time pressure. And often we're not well trained in how to communicate in a way that fosters listening. So I think all of those things contribute. But if I thought a little bit more about the biggest barrier, I would have to say it's how we think about healthcare services. So right now our healthcare systems are designed around the idea that healthcare is something that we do to someone. We need to redesign our systems around the idea that healthcare is something we do with someone. If that perspective shift were made at every level of the system, from the front desk to the most senior executive and all the processes in between, then inclusion would be recognized as integral to patient safety and would naturally lead to elevating the importance of reducing time pressure, reducing staff stress and prioritizing communication. Well, even though there's a lot of talk about being patient centered, I guess our system is still pretty clinician centered. So how did that happen? What role has the health industry played in preventing patients and families from becoming meaningful partners? Diane, can you shed some light on this? Sure. I mean, I believe this is a shared responsibility, Albert. Patient safety is not about finding who is guilty or blaming health professionals for malpractice, but to understand that the issue might have happened because the health system, very well described by Raj, has failed. We need transparency from health professionals and institutions to be able to find and correct possible implementation errors that could lead to tragic situations. Including the patient and his family is also a key element to reach the best results with the treatment. And this could also involve cultural aspects. For example, in Latin American countries like Mexico, it is very common to see family members going to the doctor with the patient, although this does not necessarily mean that the family member will be actively involved in the patient's treatment. I think there are three main points that need to be emphasized. Transparency, inclusion of patient and family, and also technology, automation of processes in order to reduce human error. Well, I think all of those three points are important. I'd like to focus for a second on transparency or as they say in the United Kingdom, being open. So there are a lot of barriers, it seems to help workers being open about all the things that might and sometimes do go wrong. How do we start to remove those barriers to being open? Raj, can you help us with this? You know, I'm happy to chime in first on this, but I wouldn't mess up to several of the panel members here because I don't know that we have the exact right answer. And certainly if we did, I would hope that we would have implemented it by now. So I think there's probably gonna be a lot of strong thoughts by panelists here. So let me start. You know, I think there's a couple of elements that come to mind right away. The first is culture change. And this has to be both a top-down and bottom-up process. So we've heard time and time again how culture can be shaped by leadership, leadership style that's absolutely true. And we need key leaders to understand the importance of openness and the implications that that's gonna have for safety. But this is also a bottom-up process or can be a grassroots process where frontline nurses, clinicians, patients, family members can keep pushing and championing for this so that it influences the rest of the organization. So I think that's a critical process here. The other important thing that I would highlight is alignment of incentives. And we see this so often in healthcare where incentives are just misaligned and it leads to this kind of, you know, secrecy or closed environments, the opposite of what we're trying to go for with openness. And I'll give you a concrete example of this. If you look at many of, at least in the United States, if you look at many of the contracts between EHR vendor companies or other technology developers and healthcare facilities, there's often what's called a hold harmless clause. And this clause essentially shields some of those companies from any ramifications of malfunctioning technology and harm that may then occur. So you can see how that's a really big misaligned incentive in terms of delivering safe care to patients. If there was to be a tragic event related to that technology, there's not necessarily a strong incentive for that technology developer to now make improvements because they're shielded from so much that happens with the technology. And so that's just one example. There's many, many examples like this. And until we get that alignment of incentives, it's gonna be really difficult to have these open conversations that we wanna have. So, Raj, I think you covered it. Oh, Diane, please go ahead. Oh, thank you. Thank you, Albert. Here, I think that the regulations in each country are fundamental. In some countries, doctors who make a mistake are punished, although they did not cause intentional harm. And I believe that must be changed from a legal perspective. Oh, great point. And Arianna, I wanna give you a chance now since our other two panelists have weighed in. Oh, I think I concur with all that they said and would go back to some of the things I said at the beginning about really just needing to change the system to focus on working with people. And if we put that emphasis on what matters to patients and families, it's drives those kind of policy changes and culture changes that we need. Great answers, thank you. So even in the best healthcare systems in the world, there are still inequities in the quality and safety of healthcare, even within single institutions. This is obviously not right, but what can we do to eliminate them? Arianna, can we get you again? Yes, absolutely. It's a topic I care a lot about. And I would give sort of two general answers. I would describe that the changes that are needed on an individual level and on an organizational level. So on an individual level, staff education about societal oppressions and how they lead to inequities is key to increasing understanding, generating dialogue and initiate the kind of changes that we need to improve our outcomes. So that education should focus on raising awareness. How is my lived experience different than the lived experience of someone else? And it also includes being aware of how implicit or unconscious bias may influence all of us in our interactions and decisions. So that would be staff education on an individual level as part of the answer. And second component is that organizational level change. So healthcare systems need to examine potential disparities in outcomes they are producing. As I've gotten involved in this work, I've just been surprised that that just hasn't been the standard to date. We've looked at our outcomes, but we've not necessarily looked at our outcomes by different demographics. And if we don't look, we're not, we don't know if there are disparities. So disparities would be population level differences and outcomes that are related to a history of disadvantage that is based on societal constructs. In other words, based on something that's not inevitable. So therefore it's something that we can potentially prevent. And when we identify those disparities, which we surely will, because we know that that's part of the society that we live in, when we identify then engaging a wide range of stakeholders is really key to designing effective solutions. And of course that's got to include members of the community that are being served. So for example, on our work at Loma Linda to promote health equity, key components of that includes staff education. We have a task force that's focused on measuring our health outcomes and looking at potential differences by demographics. And we are soliciting community feedback from our patients and families. Albert, if I just may quickly add two points to those really important points that we just brought up. I think one thing that is critical here and is missing is the feedback loop. So if you think about implicit bias and some of the subconscious processes that are happening there's no doubt that what was just highlighted in terms of education knowledge is critically important. But what we also know about performance improvement is that you need immediate feedback and it's got to be just in time. It has to be within a short window of the occurrence of the event. And so until we're able to create the methods and processes to quickly identify these point-by-point health equity issues and these biases and give that feedback directly to those that are committing them it's going to be difficult to make the widespread improvements that I think we're all hoping for. So interestingly this is a problem of transparency too but it's transparency or communication within the healthcare team perhaps at different levels. And if you see something as the expression goes you should say something whether it has to do with a medical error or perhaps some other error in the communication process. Now that said, we all patients and families included we all have great expectations for healthcare particularly our own personal healthcare. We all hope for the best even to the extent of ignoring the fact that things can go wrong. Now on the other hand we read maybe not every day but every week or every month in the newspapers and we hear in the media about terrible things that went wrong. There seems to be a little disconnect. Diane can you help us understand what role does the media play in this problem and maybe a harder question. How can the media help to improve the situation? Thank you Albert I love this question I love this topic and well it's a fact that when you go to the doctor you expect to be cured and you rarely think that something might go wrong. So the media generally publish either great advances related to science and technology or as you said huge tragedies when something goes wrong especially when it relates to a public figure. Although this is necessary from an informative point of view the media also needs to share educational information related to patient safety. It is okay to tell stories about success and failure but always we have to give a choice to all the parties involved and try it at the end to send a positive message. The media definitely plays a huge role in changing behaviors in society we have seen that many times and could be used to include patient safety issues in soap operas for example in TV series sharing information about what can be done to obtain the best results in health care. Of course we also must consider social media but it could result in a double edged sword due to poor self-regulation now in the case of social media. But undoubtedly social media is also a very powerful tool to contribute to patient safety. I'm glad you brought up the last points and in fact the people who are using who are exercising social media are humans too. A human thing I mentioned earlier a human behavior is we tend to blame or look for someone to blame when something goes wrong. So a really difficult question I think is how can we change that culture of blame? If you are a worker and feel like that you'll be blamed and shamed and punished for talking about things that have gone wrong or could go wrong then you're not gonna talk very much. So Arianne can you help us? What can we do to make people feel safer to reduce that fear of being open and to reduce the cover-ups that result as a result as they did in James's story? So a couple of thoughts come to mind. This first is sort of acknowledge what Raj said earlier about the importance of culture change involving the whole system. And often the emphasis is on leadership but we need all individuals in the system involved. So I absolutely agree with that having said that I'm gonna focus my statements on leadership because they really, really are central. So perhaps the most important thing in my opinion that leadership can do is model the change they want to see in their organization. So if they want their staff to show empathy with their patients then they need to show empathy with their staff. If they want their staff to listen to their patients then they need to listen to their staff and perhaps one of the most challenging for many of us but if we want our staff to prioritize self-care so that they can show up at work being the best possible people that they can be to do that work then leadership needs to model self-care. The second aspect that I would say that is important for leadership to do is to drive the focus on patient-centered outcomes. And this might be the researcher and me talking but I just think what we measure matters and leadership drives that. So don't just talk about the value of patient experience but measure patient experience and focus on improving patient experience. And that's gonna require talking with patients from different demographic groups and especially talk to patients who have a social disadvantage from one reason or another listening to and incorporating feedback from the most disadvantaged patients will improve care for all of our patients. I think that what you say is very true. Raj, can you talk for a second about how we can suppress our instinct to look for blame and to make it safer to be open? I think Albert, you sort of called us out. I think it's so innate for us to think about an individual to blame. We're generally linear thinkers. It's very difficult for us to think about system factors and all those contributions and how those might interact. It gets really complex. And one thing leads to another thing and that causes this error. One thing that I've seen work is to really come up with good use cases or illustrations of how these things unfold. So if we can show how the poor design of a piece of technology is what actually contributed to the error rather than looking at the individual blaming that person for using the technology wrong. I think it's those kinds of examples that help shift the culture. It helps us think about what are the other system factors in the environment that might be contributing to these issues. So I think I like these comments around leadership and highlighting those pieces. This is another one where I think leadership can start to highlight some of the contributing system factors and start thinking about all of the other players and stakeholders in the environment that we need to work with. And I think Diane early on called out shared responsibility. I think that's critical to this. So I think use cases would be the punchline for me is clear illustrations of system contributions. And a very practical punchline I think. So Diane, the media has an instinct to find a good story. How can we get to the leadership of media institutions to perhaps get them just to press that instinct long enough to provide a more balanced picture perhaps? How do we train that? Yeah, it's hard because of course media is looking for rating and the rating is given by big things. And unfortunately bad things attract more attention than the good news. So that's also one point that we need to fight in the media. And but we definitely need to have a focus on education and empowering the patients and show people that they have a responsibility when it comes to healthcare. They have to be involved and the family members need to be involved with what's happening with their loved ones. So I think their media can do a lot and not necessary only in the news shows which is my expertise. But also as I said in soap operas or TV series we need to include these topics of patient safety in those that attract people in a very light way and that they can pay attention to it and realize that they as patients can have an important role in their healthcare. So we need more telenovelas that you can tell the story also. Exactly, exactly, exactly. Well, this has been a great discussion. I feel like we could talk about this, go on talking about this for hours and with experts like the three of you, I suspect you'd be very happy to join up. But in summary, I see that we really do have a problem. And the problem is perhaps the biggest problem perhaps is with changing our culture and being truthful with ourselves. I think that we need to think more about how we can face the truth about patient safety and the fact that the truth is that care is not always safe. How can we get people to acknowledge that truth? Arianne, how can we persuade people to acknowledge this without scaring them off so that they run away from healthcare? And in fact, we wind up decreasing access instead of, and perhaps reduce equity, create inequities. How do we... Yeah, I mean, it's a difficult problem. I think as you're talking, I think there is not exactly the same thing, but a parallel to talking, for example, about the topic of racism, where it's a difficult topic. But part of what I have found helpful to acknowledge the influence of race and culture on our society is to recognize that we're not trying to identify the baddies, the racists, so to speak, right? We're trying to recognize that, for example, that we all have biases that we have grown up with, that from the day we were born, we are being taught about these biases and that these influence us and that these are part of our system. And so it's about recognizing that we all want to be treated with love and respect and receive good medical care, and how do we get to that common goal, right? So I guess the parallel to me with patient safety and errors is again, we're not trying to identify the baddies, right? We're trying to recognize that there are aspects of literally how we are designed as human beings that contribute to the potential error. There are aspects of our systems that we have built that can contribute to patient error. And so how do we all rally around what we all want, a just and fair in society, a safe and equitable healthcare system? How do we rally around that? Partly by recognizing the role that we can all potentially play in improving it. Well, that's great, thank you. I think that we really are not interested anymore in finding the bad apples and throwing them out. But in the circling back to the video that featured James Titcom, we learned that workers at many levels at Morecam Bay felt inhibited and really had information but didn't speak up, didn't come forward. And as a result, this perpetuated this pattern of substandard care and in fact, the tragic deaths of many children. Raj, how do we convince clinicians, doctors, nurses and others that we're not interested in blaming them, that it's safe and in fact, even desirable for them to talk about things that go wrong? Yeah, it's a great question. I think first is asking the question, why? So as we watch that video, why is there this move to cover things up? What's the incentive to do that? And I generally don't believe that they're malicious actors. I believe that there's in their minds, there's some reason why they can't talk about this openly. It could be repercussions from leadership. It could be financial penalties. It's a whole host of factors. So I think we have to first understand the why. And we can make some good guesses as to what those are. But in every situation, I think we have to think about that individual or that group and think about the why. And then I think it's important to come back to culture and to help people realize that the only way to improve and we should all be incentivized to improve, the only way to make improvements is by these open discussions, is by identifying the system factors and coming back to those system factors to make improvements. And it comes back to the top of this conversation at the very beginning. We talked about being patient-centered and always striving to do what's best for the patient. And we have to make sure that again, all those incentives are aligned so that we're there to deliver the best care possible and everybody's moving towards that goal. I'm sure Diane may have some other comments here and thoughts on that. So I turn it to you. Yes, Raj, I agree with you. I think culturally competent care is something very important. I see people who go to the doctor, how they react in Mexico versus how people go to the doctor and react here. I mean, I think we need to empower the patients to not be ashamed when they are with their healthcare provider and feel free to ask questions. I have seen a horrible stories in Mexico of people who do not understand what the doctor is saying and do not understand, for example, the prescription. And well, in some countries, like Mexico, for example, where prescriptions are not optimized as here. Unfortunately, you go to the doctor sometimes and the doctor writes it and we are famous for not having a very nice writing way. And sometimes the pharmacist does not understand and the drug delivery is something different and has also secondary reactions that are not the expected. So I think it's very important to empower patients to not feel ashamed to ask questions when they do not understand something and also to try to educate healthcare providers to make sure that the patient really understood what they need to do and really understand what kind of medication they are receiving. So again, I think this has to be very different and very customized in every country. So it can be really, really effective. If I could just make a quick comment on that. So I was listening to a community health worker sharing a story about a Spanish speaking patient. She also spoke some English, but she asked the nurse if she could have a translator because she wanted to really make sure that she understood what was being communicated and the nurse responded with like an eye roll and like kind of, right.  And so it's easy to be outside and say, gosh, what's wrong with that nurse? Why didn't she respond with more compassion? And I'll bet you if I were to pull that nurse's side outside of that situation and talk about culturally competent care, she'd say, of course, everybody should have a translate, right? But the thing is we get into the situations because very often, she was stressed, she was tired. I'm just thinking about things from the nurse's perspective. And that's where I think the full answer to design a safe healthcare system really is recognizing all those players in there. And it is about, to get to patient safety, it's about creating staff wellness as well, creating that's getting at that culture. So. If I just may add to that, I think that's an incredible story and such a great example. And I started by saying, let's look at the why. So if we dug into that further, just as you were, we could all come up with some hypotheses as to why the nurse may be reacting that way. From what I've seen in certain care environments, it could be that there are very few translators and the wait time increase by asking for a translator is significant and you had talked about the time pressures here. So this is adding to the time pressures. We've seen that some of the translation technology is not always fully functional and has all kinds of issues that arise. And so you can imagine the stress that comes on to not only to the nurse, but the care team if you dig into that system factor of technology. And so I think it's such a wonderful story because it highlights how we turn to thinking about that nurse as probably being not a very nice individual, not caring about equitable care, but a layer underneath are all of these system factors around technology, workflow processes, et cetera, that contribute to this. And I would wager that probably most of us in that nurse's shoes would probably act the same way given all of those constraints. And so we really need to think about how do we alleviate those system factors? I think such a great story that you brought up. So, Diane, you sort of sit in between in some ways, all of the worlds. But I think that we've heard about sort of the importance of the perspective from perhaps the bottom of the system or the base of the system, patients and families, and providers, how do we educate leaders to encourage everyone to be more open, to speak up when they see something or think something is happening all the way down to patients who shouldn't just ask questions about their own care, but should be volunteering their perspective about the quality of care that they're getting. What do we, how can we convince those people at the top? Well, I think education, education, education and of course, media's responsibility is not to educate, but we still have the duty of providing that information. So I think media can help very much in this sense. And also all these truthful sources of information like the patient safety movement, for example, it's great to have these tools where people can consult and have access to all that information. And this patient aider, for example, app for patient safety, that people can read and can really get confident with all what's going to happen if they go to the hospital and know what to expect. Because unfortunately, when patients go to the hospital most of the time, they just don't know what to expect and they try to believe the people that they understand the more, which probably are not the healthcare providers, but maybe an assistant that is filling all the forms or a receptionist and they get close to that person because they feel that person equal to them. So what we need is first to try to lower the healthcare providers, nurses, doctors, technicians to the patient's vocabulary and then also give tools to that patient to be able to understand what the healthcare provider is telling them. So to have this communication among patient and healthcare provider that flows easily in order to get the best results. I'm really glad that you got us around to tools because many people up and down the system have good intentions but don't know how to do, don't know how to take action to do the things that they understand they need to do. There are many free healthcare safety resources that are available for clinicians, for administrators and leaders and for patients and families. Many of them in fact are on the Patient Safety Movement Foundation's website. And anyone viewing this panel can, I hope will go sometime after and just look around a little bit and see what is available there. I'm going to ask for one line piece of advice or action from each of you. Raj, if you had a one-liner, what advice would you give? My one-liner would be to make sure that as a patient you have a champion on your side. A family member, a loved one, a caregiver, got to have a champion on your side. There's strength in numbers. Yeah. Ariane, what would you say? Albert, this is really unfair of you to take a very complex topic and make us reduce it to one line at the very end. I will simply say, I'll say one word, which is listen or learn how to listen. It's not easy, but it's important. Ooh, you've done really well though. So despite the unfairness of my question and Diane. I believe Ariane says, listen to the health care provider and I would tell the patient and the patient's family to be curious and to reach out to truthful sources in order to find the information that can help them lead with the disease. Well, thank you for your one-liners of wisdom but also for all of your thoughts and comments over the last hour. I've learned a lot. I feel smarter now than I did an hour ago. Thank you very much to all of our panelists and thank you to our audience for your attention. Thank you all for joining.


Now before we get into the video people, this item I will give away to 5 people on xbox and 5 people on playstation. To win it it's simple, leave a comment down below stating your platform of choice and your game attack and hit that like button on this video too. I will send winners messages so keep your eyes on those in boxes. While people here we go again, I am back with more handcrafted modded hacked items call and what you want, but I am back showcasing them. Now I have a semi important message I do want to get across, I love boardlands but let's not kid ourselves here, on YouTube I won't ever be able to compete with the likes of the oldies in jolts in K6 and to be honest I don't ever expect to, well not unless I do something a little different. To me modded items make BR3 fun, I mean it's fun when they knew DLC drops for me, but that for me lasts only about a week, after that period I'm back being bored. Custom weapons and items keep this game fresh for me and it's why I love showcasing them and giving them away to you guys and it's why I will continue to do so, this is what I will bring the BR3 community on YouTube, especially when things get a bit stale BR3 wise, I mean I won't lie. Now I ain't done covering a game in a normal format, it's just times like these when a game is kind of boring to me, I'm gonna post on things which I think keep it exciting, but even I have rules, I never really cover items which break the game and make it a walk in the park, I prefer items which are fun and unique but don't one shot all buses and that's what we have today people, we have an amazing custom made legendary you will not want to miss out on. How's it going guys my name's DPJ and if you enjoyed the video leave a like really helps out and if you like what you see and want to see more be sure to subscribe. So this shield was created by Wubbles who hit me up on my discord which by the way if you want to join us links with the video description, he said he had an amazing item he created which I needed to check out, so here we are people. Some massive shout out to Wubbles for this amazing shield. So this shield what does it do and what does it offer? Well you guys know these anth shields where when shields are full you lose some of that shield for a certain damage bonus, well he has created a shield here which does this 10 fold. Basically when that shields full we get a 70% damage bonus, the beauty of this is it almost instantly charges so you constantly get that amped shot and well it's amazing. Now I wouldn't say this is OP at all because of the fact while the damage increased only like 70% it could be made higher but I don't want it made higher, I think it's fine the way it is but it does change things off for sure. Now you can see the footage in the background of this now against buses on Mayhem 10 which is far from one shotting anything. Now what this shield is, it's a great centerpiece for a building which this is the kind of thing you want. I mean I've seen many builds out there where shields are used for that amped shot and where they try and build around regen in that shield by as quickly as possible. While this shield there alone that's not needed, this does it for you. The shield itself also offers a nice 60 plus k shield capacity which in my opinion isn't crazy high too. So all in all what we have here is a nicely balanced shield which would suit many builds and an item I feel would be great to experiment with. So shield I use and loved and I'm sure you guys will do too. Now people if you aren't lucky enough to receive an item from me through the mail to get it otherwise join my discord where open love is over the next week will be done where this item and many many other items will be given away. Link to my discord can be found in the video description. A place full of overboiling players willing to train and help almost every hour today offers. Well yeah guys this has been a showcase of this amazing custom shield made by Wobbles and while I hope you enjoyed the video. And on that note the end of the video has arrived. If you enjoyed it leaving a like really helps out and remember subscribe and turn notifications on. We liked what you see and want to see more. Again thanks as always for stopping by and hopefully I'll see you on that next one.


Now that we know how to take our text and convert it to binary or numerical representation using ASCII or UTF-8, we're going to learn about a new category of cipher that are called stream ciphers that can make use of this binary representation. So a stream cipher is just a type of cipher, and it's pretty similar to what we've actually seen already, especially the visionare cipher, where our plain text gets converted to digits, in this case it'll be binary digits, and then combined with this pseudo-random cipher digit stream that we've been calling a key stream. So this is very similar to maybe the visionare cipher that we've learned in the past, particularly one with a one-time pad implementation, where we would pair up a letter from our plain text with a random letter from the alphabet to be added together to create the cipher text stream. However, with these stream ciphers and computers, these plain text digits are going to be encrypted one at a time with a corresponding digit from our key stream, but that random digit in practice is actually going to be a binary digit, not a random letter, so just a 0 or a 1, and instead of adding and modding by 26 or whatever the length of the alphabet was like we saw with visionare, our combining operation now will be the exclusive OR operation, or the XOR operation, that we've learned about with our binary operations in a previous lesson. Let's take a look at how this plays out. So say we have the keyword, smath, and the plain text, and see SSM capitalized. And we'll combine those together in their binary forms using the XOR operation. Remember that's that plus symbol with the circle around it. So converting both the keyword and the plain text to binary representations using the ASCII, 8-bit ASCII, we have these two representations here, and going down the line bit by bit, we perform the XOR operation on each bit in order to compute the ciphertext as binary. And if we were to take those into groups of 8-bits, or we might refer to that as 1-byte, we can convert those to their decimal representation. And lucky for us, all of these numbers have a viewable character using ASCII that we can see becomes the equal sign, the period, the 2, the single quote, and the percent symbol. So we've encrypted our message. Now one benefit of using the XOR operation, and this is part of the reason why stream ciphers use the XOR operation, is that it's very easy to reverse. Let's see how. Keeping the same keyword, smath, but now using our ciphertext, again we can convert these to their binary representations, one character at a time. And if we XOR the key stream onto the ciphertext again, so remember we got the ciphertext by XORing the key stream to the plaintext, we can now obtain the plaintext. So to undo an XOR operation with a key stream, we can just XOR by the same key stream again to recover the plaintext. So same operation, encrypts and decrypts, it's very similar to our previous algorithms where we could maybe add a key to encrypt and then subtract that key to decrypt, or multiply something and then multiply by its inverse to decrypt. But here we can do literally the exact same operation with the same key to recover our plaintext, so very handy. And we can confirm that this plaintext representation taken 8 bits at a time returns back these decimal representations which correspond back to capital N, C, S, S, M. Now one word of warning using the XOR operator in order to combine our keyword and plaintext is that we might end up with a binary stream of ciphertext where when we take it 8 bits at a time, those 8 bits don't actually correspond back to our numbers of 32 to 127, which remember are the printable characters in ASCII. So here's an example where we take the same keyword, smath, with a new plaintext, it's lowercase N, C, S, M, and we'll produce our keystream and plaintext using the same way converting each character to its 8 bit ASCII representation and then we'll XOR those together to produce our ciphertext. But now when we take those ciphertext bits 8 at a time or 1 byte at a time, we can see that each byte corresponds to a number 29, 14, 18, 7, and 5, none of which have printable characters. Remember the values between 0 and 32 are those values that would control the way that the old teletype printer would work and don't actually have a visible character that would appear on the screen. These 5 operators are GS for group separator, SO for shift out, DC2 for device control 2, BEL, that one I do know what it does, it would actually ring a bell calling the attention to the operator of the teletype machine, and then ENQ is short for inquiry. So some of these have some obvious operations that they would do on the machine. Others might require a little bit more research to understand exactly what a group separator is or inquiry means, but the point here is that we wouldn't actually be able to see these on the printout. So let's dig in a little bit deeper and figure out what might be happening when we do these with a more modern way of controlling text like Python. So if we were to try to use that CHR function that we've learned about in previous lessons to turn, say, the number 29 back into a character for ASCII, you're going to get a question mark on the screen when you ask it to print that ASCII character because it doesn't actually have a printable symbol that it can display. Now, one little note is that if you weren't actually use your keyboard and mouse to copy and paste that output, that specific question mark would retain a value of 29. I could copy and paste that somewhere else and use the ORD function to turn it back into a 29. But since all of those question marks would look the same, this is not an ideal way to manage these non-printable characters, just having a collection of random question marks we hope we put in the right order then we can remember later. This turns out there's a better way to handle these characters that aren't printable, but Python can still keep track of them for us on our string. And the way that Python does this is by keeping the original ASCII value stored in the string as an escape character. I mean, remember the escape character if you learned long ago about strings, the ones that have those backslash symbols that have a special character after it. Let's take a look at what it would look like. We can call the ASCII function in Python to display for us the character, not as it would be printed but as it would be represented using the numerical value. So here again is that 29. We're trying to convert it to a character using the CHR function. And then we throw that into the ASCII function, which we'll take a look at it and decide if it's printable, I'm going to show you that ASCII character. If it's not printable, I'm going to show you its value. Now one thing to note is that that value that it's showing you is in hex. We know that because of the X as the leading character there and then 1D. And because this is an hexadecimal where it's a base 16 number system, the one corresponds to one group of size 16 and the D corresponds to 13 groups of size 1. So the 1D is hexadecimal for 29. So again, the benefit of this is that when we print out our string, we won't have a bunch of indistinguishable question marks for these characters that we can't see, but instead will actually be displayed their hexadecimal numerical values that might help us represent them, distinguishing them from each other. Again, question marks, there might be a bunch of them and we won't be able to tell them apart, but their hexadecimal representations will at least be unique for different characters. Now where are we going with this? Our goal is to ultimately get a one-time pad stream cipher using this system. Remember we talked about the one-time pad cipher when we were discussing the vision air cipher, where we could hopefully choose just random characters, pair them up with our plain text, and then use the vision air process to go character by character to produce a cipher text that should be immune to frequency analysis. Now the issue we ran into there, and it's the same issue we'll have here now, is that it's hard to generate random digits, in this case our digits will be ones and zeros, not random letters from the alphabet, but it's very difficult to do that in a way that ensures that everybody, sender, and receiver are using the exact same series of random digits. Again, if it were truly random, we shouldn't be able to recreate them the same on both ends of the line. We should be able to get completely different digits if it were truly random. But what we do need to come up with is then a way to generate what we call pseudo-random digits, or pseudo-random characters. That way it's still seemingly random for all intents and purposes, but we can be set them up in a way where we can predictably create the same sequence of digits, both when I'm encrypting the message on my computer and then decrypting the message on somebody else's computer. Turns out Python does give us a few ways to do this, but none of them are going to be perfect. Let's take a look. The first way we'll look at is by using the secrets library. You can do import secrets, and then secrets has a method that's called randbits, and you give it how many bits of random ones and zeros that you would like for it to create. And then it would give that to you as a decimal, so we're using our friend the format function here to show this to that in binary. And we can see it does, in fact, give us 15 bits that are randomly generated by the computer. And the fact that it comes from this secrets library means that it actually is very secure. The secrets library is the way that anybody who does this for industry or business or website security, that's how they would generate random ones and zeros. However, it's not truly random. It is pseudo-random, but because its intent is for truly random-like data that we wouldn't want to be able to be recreated by somebody else, there is no way to kind of set up this number generator to produce the same stream twice. I've got my 15 bits. There's really no way for me to recreate that random 15 bits again if I wanted to use it to decrypt a message. So we're going to have to go to something a little bit less secure in order to implement our random bit selection process. The other library that comes with Python is called random. And we could use random because it allows you to set what's called a seed. And a seed is just a way to initialize your pseudo-random number generator so that you can recreate the same quote-unquote random 15 bits, or however many bits you'd like, on demand. So I'm going to set the seed to be 4,200. It will take in any numeric value. And that will set up your number generator so that when you call random.getrandbits, immediately after setting the seed, you're going to get the same 15 bits every time you run that code. So if you were to prime the random generator with the seed, generate 15 bits, you're going to get the same<PHONE_NUMBER>01 on your screen, assuming you use the same seed value. So in that way, the seed is very strongly tied to the key that you end up generating. Now this is all well and good if we have access to a modern computer in the Python programming language and we understand how to use either secrets or random to generate our random stream of bits. But that wasn't always the case. And in fact, this XOR cipher has its origins back in the 60s. So we'll need to figure out what are ways that this was done before modern computers. Now one of the things about stream ciphers and why they're used is because it actually is very simple in order to produce these random streams of bits in hardware, meaning using circuitry or computer processors without high level programming languages like we have today. And in fact, in an upcoming lesson, we'll learn how this can be done with a system that only uses logic gates and resistors and batteries, something that could have been built pretty easily back in the 1960s. And we'll see that this premise of using XOR ciphers with additional hardware in place to generate the streams of bits is what led the way for many modern encryption systems to produce these stream ciphers in the XOR operations like A5 slash 1, which has been the standard for cellular telephone security for a while. CSS, or the Content Scramble System, which is what encrypted every DVD disk ever made using a stream cipher built on an XOR operation or WEP, one of the early Wi-Fi security standards that has also been used for quite a long time built on stream ciphers with an XOR operation. All of these are able to do it without a full-blown computer, just a tiny microprocessor either in your DVD player, in your cell phone, or in the Wi-Fi router at your house. Now, one thing that these all also have in common is that they're all insecure, they've all been broken. So we'll see that these stream ciphers and this kind of way of XOR or generating the random bits has to be done just right in order to maintain security. Remember, the goal is to create a pseudo-random stream of 1s and 0s that is for all intents and purposes as good as a truly random 1 and 0 sequence like a one-time pad cipher without all the hassle that goes along with a one-time pad cipher. The fact that these have all been broken show this is really hard to do, but maybe we can learn from some historical applications to figure out how we could do better going forward. So that's it for our introduction to stream ciphers. I hope that you've taken away, is that the goal is that we can take our plaintext message, convert that to a binary representation, and then work towards creating a stream, a key stream of random or in our case pseudo-random 1s and 0s to help XOR our message bit by bit to create the cipher text message. Where appropriate, we can convert those new stream of bits back to characters using ASCII and if we end up getting an ASCII character that isn't printable, we can use the ASCII function in Python to see its hexadecimal representation instead of a question mark.


This paper examined the effect of mislabeled training data on classification performance for land cover mapping. It was found that both support vector machines, SVM, and random forests, RF, were relatively insensitive to low levels of random noise up to 25 to 30 percent. However, when the level of noise increased, the accuracy of both algorithms dropped significantly. Additionally, the RF algorithm proved to be more robust than the SVM algorithm, regardless of the type of noise present. Furthermore, the cross-validation procedure was affected by the presence of class-label noise. This article was authored by Charlotte Pelletier, Sylvia Valero, Jordy Inglada, and others.