Hello, everyone. Welcome to this session, where we're going to discuss some of the stuff that would, hopefully, enable us to build things, increase our velocity, while keeping the security and the safety of the data of our users in the back of our minds. So we all know that the demand for speed and innovation is everywhere. Users nowadays no longer wants to wait for weeks, to get their bug fixed, their new feature improved, the UX improved. The more you can ship the features to the users, the more retention, the more increased engagement, and that means better numbers for your business, obviously. However, that's unphysiasm to move fast, create some issues, and sometimes create a bug. It doesn't work really well when in security, especially traditional one, which favor the status quo. And the aim to go fast can create some kind of challenges, like from a security perspective, obviously, like you can skip some processes and efficiency and so on and so forth. And we all know about some companies that were bragging about moving fast, and they hit a roadblock because they forgot about security. And once the security is hit, the trust between you and the users is actually lost. So we spend a lot of time trying to build that trust back, but it's unfortunately gone. So DevOps is definitely desired. It enabled us to move fast, increase the velocity, ship things faster, and make our users happy, and make our managers and everyone happy. And the security is definitely required. We want to keep the data of our users safe. We want to keep the data of our customers safe. And that's what the DevOps brings to the table. So DevOps, what it tries basically is to save a seat to everyone in the table. It tries to give the developers the freedom to ship things faster, add new features, fix bugs, and add business logic as fast as possible. It enabled the operations to once the developer pushed the artifact, generate the artifact, and push it to production as soon as possible. But it also saved a seat in the table for the security people to make sure that the software that we release, our releases, are actually safe and secure. So you figure it out by now what this talk is going to be about. It's going to be basically about Formula One. How much of you watched the Formula One Drive to Survive? Well, quite a crowd. Cool. So very briefly, Formula One Drive to Survive is a Netflix documentary slash series that tells you behind the scenes of the Formula One in a dramatic way, very engaged, and it keeps the suspense very high. But it's really cool. And motorsports in general are very dangerous. If you have been to a race before, in the badge it says that the motorsport is dangerous. It says so in the tickets, in the badges, and the t-shirts that everyone wears in the pit line. And to make the Formula One safe, it's a multi-layered, multi-generational task that the FIA, which is like the entity behind the Formula One, and that oversees it, tries to actually solve. So back to this documentary, while watching the Drive to Survive in the 2020 season, this accident actually happened. So Roma, which is a driver from the Haas team, tried to overtake and then lost control over the car. And the car instantly hit the barrier, turned it into a fireball, and the car split into two. Now, by any measures, this is a death sentence. This is a fatal accident that probably nobody will get safe from that one. But what happened is actually a miracle happened. Not only he managed to get safe, but he managed to get out of the car by his own. He stayed there for a couple of seconds, but then he managed to get out of the car, safe and safe by himself. He had a couple of scratches, but nothing dangerous. And that's got me thinking. The Formula One people, the engineers there, might be doing a lot of things right to keep the safety of the driver, even of such dramatic and tragic accidents. And that's got me to the question, what would happen if we started to design our systems, our architecture, our softwares with the same level of devotion as the Formula One people, as the engineers, and everyone that is involved in the motorsports industry, design the cars and the races, and the pit lanes and everything to make sure that the safety of the driver is the number one priority. Now, what I've noticed throughout the whole documentary is they actually don't mention security a lot. They talk about safety more. And that got me thinking, because I'm not a native English speaker. So what's the difference between the two? So when I look at the dictionary, I found that security means the state of being free from danger or threat. Now, in the software industry, we know that when we put a software facing the internet and application, it's no longer safe. It's no longer free from danger or threat.  However, safety means the condition of being protected from danger, risk, or injury. And this is kind of what we're trying to achieve. We know that once we put our system in the internet, there are some malicious users. There are some things that will try to break our system. But we try to minimize the damage. We try to keep our application up and running, make it safe, and even if an incident happened, we try to minimize the damage of our application. So that got me thinking that, actually, if we want to design good architecture, we should enable the ID people, developers, security people, operators to move as fast as possible, but in a safe manner. Now, we're just assured I'm not going to propose the diff-safe ops, whatever the name is, but by itself. But I am boarded into a journey to check, actually, what are the safety measures that the Formula One people introduced and used to ensure the safety of the drivers, and if there are any lessons and best practices that we can adopt in the software industry as well. And in this talk, we're going to check 10 measures. Five of them are pre-safety measures, like the things that they ensure before the driver starts racing or before the car crash. And five of them are post-crash measures, which are basically the things that they do once there is a crash. And check in the data, it actually works. So the first graph is the number of deaths compared to the introduction of new measures. And you see, as we, the Formula One and the FIE strategy to introduce more safety measures, the number of deaths has actually decreased. And the latest one was on 2014 in the Japan Grand Prix. Also, the number of days of fatal incident has also increased the more safety measures they introduced. And you could probably think in that the Formula One people, the people that they actually do everything to ensure the safety of the driver, might get inspired from their IT department, who actually can be inspired from the car engineers. It turns out, not really. So even the people that excel in safety and security from a car engineering point of view, or a race car engineering point of view, struggle to make their system secure. But nevertheless, moving on. So as I mentioned, the first five are what we call pre-crash measures. The things that we do, or the Formula One people do, to ensure the safety of the driver before the crash. And the first thing is, they have a seat belt that is a six-point harness, which can be released by the driver by a single-hand movement. So the seat belt is, it can't be done or squeezed by the driver. It needs to help from the bit-line people. And it's uniquely tailored for a driver to fit his shape and also to ensure a little bit of comfort and a lot of safety during the race. But the driver, during the race, if anything happens, it can only click on one button and the harness will be actually released. And this is the equivalent of the push-to-release, or the push-to-deploy in our industry, right? And that can be achieved through automation. So automation is really important in our software industry. Things like check-in vulnerabilities can bring great value if they are automated, so it can free up the security team to look up for other things. We can automate manual thanks, given more time to our developers and ops people to bring more value and more business logic to our developers. Moving on. The second thing they do is stringer dynamic, static and load test to ensure the safety of the drivers. And that means that they are testing the car in the different environments that the car could potentially be racing to during the race day. They test it when it's windy, when it's super hot, when it's raining, different conditions that the car may experience during the race day. And they collect the data and check the security and the safety of the car. And the equivalent of that for us in the IT sector is to have a trusted, repeatable, and most importantly, adversarial CI-CD pipeline. And that means that we are testing our application in the same conditions it's going to be released and deployed to our users. And adversarial here is really important, since we are listening to everyone and making everyone's voice listen during the discussion. The developers, the ops, and also the security people, not only after development, but also throughout the whole process of releasing our application. Another thing we can do is actually canary deployment. And canary deployment is actually, instead of releasing your new release to the whole user base, you select a subset of a user. It can depend 1%, 2%, whatever you prefer. And then you release to only the subset of your user your new application. So actually what would happen is some of the users will go through the direction to the new release. And the normal traffic or the majority of traffic will see point into the old release. And that will enable you to test effectively in production the behavior of your new release and have metrics that define if the error rate, the latency, whatever measure is important for you, if that increased, then roll back before it damages and it impacts more users. The third thing they have is to build the car around the cockpit. And the cockpit is the formable crash protection structure. And this is how the cockpit basically looks like. And they build the car around this piece of infrastructure, or piece of structure, which sole purpose is actually to protect the driver during the race and during the incident. This is the equivalent of designing for failure. So we, especially developers, no longer should design our application for only functionality, but we should also design our application to be fault tolerant, with fault tolerance obviously in mind. We should design our application, especially if it distributed systems, whatever architecture you are using, having fault tolerance in mind, designing for failures regarding database, network, whatever that's going to break your application. Another thing is mutual TLS, making sure that the traffic circulating inside your cluster is actually encrypted. And there are many options that we can do that. Sidecar proxy, like Invoi or other open source solutions that have been probably discussed in this conference. But it is really important, especially in distributed systems, and both the client and the server in distributed systems are services. So mutual TLS will enable you that no connection will be permitted unless both clients are actually verified, which is really important from a security point of view in a distributed architecture. And the third thing, we can adopt like a micro-segmented architecture. And what it means is we are putting the services responsible of accessing the data as far away as from the internet as possible and put in some facets and proxy services in front of the internet. So what it means, if an attacker manages to get access of one of the service or internet-facing services, our architecture will basically deform itself to protect the data of our users in the same manner as the car deforms itself in the cockpit and that will enable to keep our data safe. The fourth thing is before they race, driver must demonstrate they can get out of the car within five seconds. And they actually test that. If you can get out of the car under five seconds before they race, goodbye. You cannot race for the day. And this is not only designing for the worst case. This is testing for the worst case. Imagine if an accident happened and the driver is still conscious, then he should get out of the car as fast as he can. So we are testing this scenario before actually the accident. And the equivalent of that is what we call chaos engineering. We, in our systems, we all have, we all know things about our systems and we all know the things that we probably don't know well about our system. But what scares us the most is the things that we don't know, we don't know about our systems. And those are the major incident that we have. So chaos engineering is actually a practice that enable us to test in productions, in production because that's where the fun happened. That's where your users get affected and that's where we have most of your issues. And then by that you can uncover bit by bit the unknown unknowns and reduce them and check how your system will behave in case of issues. And you can design it, you can start small and grow gradually. You can start by putting hypothesis on how your system actually should behave in case of failure. Could be latency increase. Could be error, error, database outage and network issue. And design the smallest possible failure to test and design what you would expect your system. And then do some measurement after that during the experiment. And once that done, then you will have, you will increase the resiliency and reliability of your system. You know how your system will behave. You can start, as I mentioned, small like restoring delays or errors and then you can go wild, removing a whole cluster. Yeah, you can do whatever you want. But yeah, that would enable you to understand your system and understand the resiliency of your system. And the fifth thing is constant monitoring and replacement of the tires. And check out this quick GIF. This is the world record of replacing the tire in a Formula One race. It's one second 82 milliseconds. And notice how happy they are, how proud they are. They manage it to change the tire in less than two seconds. Compare this to our attitude in the way we deploy our applications. We're bragging sometimes that our application is still alive for sometimes months, sometimes weeks, sometimes days. What would happen if we reduce the lifetime of our application and constantly replace our application? Now, we are all familiar of the pits versus cattle analogy and that basically means in traditional servers, be bare metal or VMs, we are used to keep our application alive as soon as possible. That means that we build personal relationship with our applications, with our service. We try to keep them alive as much as we can. We fix them, we patch them, but we try to keep the system up and running and we can go even beyond that and give them names and so on and so forth. However, with the rise of the cloud, we change it to the way we treat our infrastructure to be more cattle, which means that resources are disposable. We spin it up as well and we kill them as well. Now, if we accept this zoomophoric analogy of pits versus cattle, what would happen if we push it a little further to the chickens analogy? Given that the time to reach maturity for the chicken is much more less than compared to the cattle, sorry. It's days or weeks compared to months for the pit. And that takes us to some other metrics that also matters when it comes to the way we want to monitor our service and the health of our service. The first thing is diverse uptime and let's actually take an example. Imagine that you have an application running in a cluster and it's running mission critical applications and now an attacker, a hacker, manages to get inside your node, inside your cluster. Now, that is bad by itself. But he managed to uncover itself and use this node as a base to attack other systems or to attack external systems.  What that means is that the attacker will need to do the same and repeat the same process each and every X amount of time. It's one day. So we need to do the same process to try to get inside your cluster because once the application, once the node, once the container, whatever is removed, I would need to just repeat the same process. And the thing is from a security point of view, we can't backdoor a system that is constantly revaged and revamped and removed. So from a security point of view, it is actually great. And this is a great way to combine that with the base image freshness, which is the base image that you use to deploy Oriole applications. And from a security point of view, once you update the image, and for that patch, you'd say an important patch, Linux kernel zero-deck security issue. Then you know that the longest amount of time that your application would send vulnerable is actually the reverse uptime. And the smallest and the shortest your reverse uptime is, the fastest the base image will be populated through your cluster and that enable you to fix the vulnerability issue fast. So those were the fast pre-crush measures that they do. Now moving on to the post-crush measures, what happened once the car crashed and it's actually burning. So the first thing is the driver can be extricated from the car by lifting out the entire seat. And that means that the design of the car in a modular way enable them to, if a crash happened and the driver passed it out and he couldn't get the driver out from the car, they lift out the entire seat from the car. Compare that to a normal car which under stress and we try to break out the car and we lose some precious minutes, seconds to save the driver's life. And modernity is really important in the way we architect our applications. Think of how fast you can pull the plug on a key that has been pushed to get happened, made publicly available as certificate that has been leaked, a lot of things. So the more modular your system is, the more that will enable you actually to react in case of incidents. The second thing is the drivers wear a hands and hands stand for hands, head and neck system that absorbs and redistributes forces that would otherwise hit the driver's skull and neck muscles. And this is how a hands system look like and it's basically if a crash happened and said of the forces go to the driver's head that would probably break his head or neck muscles, the hands system will basically take those forces and redistributed throughout the whole driver's body. And from a software engineering point of view, that is the equivalent of having an illicit architecture. And there are a couple of things that we can adopt to leverage that, starting by having load balancers. If a load increased, we can have some load balancers that evenly distributed traffic throughout our own node, having auto-scaling that can cope up with the increase of traffic and create additional nodes to handle the traffic. If one, some of the services are starting to act small, we should have like request time thresholds that cut the connection to save resources such as CPU and threads. Sorry. And some of the cases it's really good to have some degrading performance. It depends obviously on the business but having in some scenarios, having a degraded performance is really important than having a global output. And finally, we can adopt some anti-overload patterns such as the circuit breaking and exponential back-off that would help us if some of the services are started to behave weirdly. The third thing is driver wear suits that are fire-resistant and that keep the driver's body under 41 degrees Celsius even in the extreme heat. And this is how Roma, the driver that we started this talk with, manages to get out of the car. Even if he was surrounded with extreme heat, his body was under 41 degrees Celsius. And this is the equivalent of keeping the attackers in. Trying to contain the attackers in case, even if they manage to get access to our system, we can adopt some practices that would enable us to contain them and keep them and try to keep the data of our users and customers safe. Starting with the least privileged principle, we should give our applications, container, cluster, whatever, the minimum set of access right and resources that enable it to perform its function. Things like defense in depth and building layers of security kind of like the onion architecture that once an attacker manages to sneak in one of the layers, you will find an additional layer that will make his life a little bit harder and give you more time to react and fix the vulnerability and having a zero trust, especially in during communication between distributed services and having no implicit trust of the request. So making sure that the request is what it's presented to be and making sure that it's valid before like starting process and the request is also really important. Another thing we can adopt is actually hardware security modules. So imagine that you have an application that store some users information and you are basically hashing a password with whatever hashing encrypt systems or algorithm you are using. Now, imagine that an attacker manages to get access to your database, seal the data and put it into without you knowing it basically. What he can do is he collect brute force to break the passwords and you won't notice until it appears couple of days later in the black market. Now, hardware security modules enable us to have keys that with which we're gonna encrypt the password. And that means that the attacker if he can manage and those keys are really hard to break, they're unbreakable and gonna spend more than his life trying to break them. And that means that the attacker can no longer seal the data and put it away. That means that he will say inside our cluster to at least get the keys to decrypt our passwords and that will give you trying to keep him in, that will give you some additional time to hopefully be aware that there is some attack happening on your cluster and react properly. The fourth thing is they have fire suppression system that can be activated by the driver externally or by the race marshal. And what triggers me here is this distribution of roles. If a crash happened and the driver is still conscious, then he can activate this system by himself. If the driver passes it away and the safety team and the rescue team can get into the car, they can activate it by themselves. Now, imagine as our friend Roman the car break into two and there's a fireball. So if Roman passed away and there is the safety team cannot get in time, then the race marshal can activate it remotely. And in software engineering, especially in the way we define policies between our systems, we need to define communication policies and make sure that no application can call other application if it's not allowed to. Having access control and defining role-based access can help to give access to only the people that need to access the resource. And finally, they have data records. And the Formula One people are crazy about collecting data. They collect data about everything. So they have data records that keep the speed and the solution forces so doctors know the severity of an impact.  And no system should go to production without monitoring in place. Should have login that looks events, especially security ones, having monitoring and observing tools in place that give us an understanding of how our system is reacting and behaving and could potentially trigger alerts in case of malicious behavior. And those were the 10 safety measures and their comparison in the software industry but it's all about finding the right balance. It's a trade-off between the cost, what you are trying to achieve and the security as well. And that is the philosophy that the formula one people adopts as well. And they have two examples for that. The first one is refueling. So the refueling was, so before what you were doing is actually, they will start to race with, because the more fuel you have in your car, the more slow your car is in the first laps. What they were doing is they have, they start the car with a little bit less refuel and then they kept refueling the car with each and every lap. And it was banned in 2009 because of potential risks. As you can see in the picture, drivers were actually burning and of the cost. BBC reported that the cost of maintaining and refueling the car and all the people that handled the system is cost the teams over $1 million per year. So it was removed from both a security perspective and also from a cost perspective. And the second example is, this is how the drivers in a Formula One car look like. This is not comfortable at all and they feel every bounce in the car. But it's a trade-off to gain speed. So it's not comfortable, but it's enabled them to gain speed and design the car with aerodynamics to be as fast as it could. And I want to end this presentation with some numbers from the cost of data pressure report by the IBM security folks. In 2021, they found that the average business cost of a saver attack is more than four million. But the number that scares me most is it takes over 287 days to detect the breach. That's a long time. So I hope that throughout this presentation, we have now some good understanding of how we can move fast while keeping our system resilient and our data of our customers and users safe. Some resources that's helping me to build this presentation. And with that, I want to thank you. If you have any questions.


Hi guys, and welcome back to another episode of our Pokemon VGC 2019 battle series I hope you're all well. We're here. It is Friday and we are finishing up this week with the Dialga-Kaiyoga Team that we kicked off with at the beginning of this week. Thanks to all of you for suggesting this restricted pair It's been a really nice week on the channel We've had a few games and episodes have been a bit shorter because of DC's But it just contributes towards how well the team is actually doing and it's been really incredible to play it so far this week and I'm looking forward to playing it into next week Like I was saying in yesterday's episode if you've missed that go back over here I'll put a card up for you can check that out before you watch this one But we haven't seen too much of the zerketry in the bronze on so hopefully we can bring a bit more of those as we go Into today's episode and next week's episode and but it would be nice to finish and touch wood I don't jinx things, but if we can finish and beat this week with this team that would be a real change for the Book so we'll jump into it today and Hop on to the ladder hopefully find an opponent pretty quickly But as always if you enjoy this content make sure that you do leave a like on the video It really does help the channel out and also make sure you do subscribe So you don't miss these daily episodes when they do come out as well as all our other VGC content But we have a first opponent of the day so hop straight over into team preview And a first opponent today playing a team of a septile incineroar zernius sablei Suggalio and Teppu Lele So we've got the Suggalio and zernius combination for the restricted Pokemon here for my opponent got support options there with the Zernius and the incineroar obviously being its primary support option they've got sablei as well Give me another one with fake out gravity and lots of other shenanigans I would imagine there's a gravity option to this team because you've got something like Septile that has grass whistle It can be pretty problematic for us Especially with the gravity from potentially a scarf top of Lele here and all the sablei to support everything else in the team So it's definitely a mod for my opponent And but I think overall if we can get the trick room set up We will be in a pretty nice position here and bronze on doing a decent job against the majority of this team Especially as the incineroar is the only thing that they've got to really hit for good damage outside of that sablei It probably has foul play and so I'm gonna bring bronze on I'm gonna bring incineroar as well I'm gonna bring a moongus, and I don't think I bring dialga to this one I think we do need and some big firepower once we get the trick room up and to start ripping through stuff So I'm gonna finish up with the Kyogre and that is Let's get into this first one today, hopefully it's a good one and you guys all enjoy it So yeah, but yeah keep telling me about the dialga build If you're trying it out if you tried this specific team out or different ones out I'd love to hear experiences with it, but it just feels so solid in this format Such a good Pokemon and so defensively built especially with the right Pokemon around it like incineroar, moongus, and kyogre They just like compliment each other so well.  That's fine. That's fine. You don't mind that too much Okay, so we'll fake out. I know fake up from the sablei. Oh, we do actually outspeed the sablei So the same lies really actually quite slow here. Um, all right. That's quite interesting to know We'll probably see a knockoff into bronze on And a foul play as well to deny the trick room. The trick room is really important for us here I'm gonna bring in a moongus and what I'm gonna do is you turn out onto the sablei with our Incineroar and try and pivot in kyogre for this next turn And moongus is gonna be able to take a combination of attacks I think knockoff foul play will be enough for it to take We're actually just gonna see a willow has been to what was the bronze on slot and moongus doesn't mind that too much But it'll be interesting to see what this opposing Incineroar goes for there. We are gonna see an eject button They'll come out from the sablei before and deny our actual eject a u-turn here It's pretty interesting for my opponent and they'll be able to bring something in and it is gonna be that sogaleo now On to the field and a knockoff into the moongus slot. I'd imagine yeah Okay, so taking a little bit of chip there, but I think what we'll do with the moongus now. We need to try and utilize this Regenerator ability. I don't see another knockoff coming into that slot So we'll go for that there and I'm gonna just use her and again into The opposing incident or we've got to worry about a superpower, but if it's not life-old we should take it from the sogaleo We might even see zen headbutt into I'm just gonna see Sunsteel strike It's gonna be into that moongus lot bronze I'm gonna be able to take this pretty comfortably here as we can get the chiroger in before a potential Flair blitz into that slot as well And but we might see a knockoff from the incident or as well into this our incident or slot Which wouldn't be great, but at the same time Kyogre's got the the waterium Z So it's not gonna be worrying too much about that Getting the rain up is pretty important for us here, especially for Flair blitz is what the incident will goes for now Flair blitz it is! Okay, it's into bronze on Kind of covering that slot and doing a lot of damage and the burn Huh Which is really disappointing for us because the one thing that we don't want to have to be dealing with right now is Bronze on such low health where we can't really utilize that trick room I'm gonna bring in a moongus for bronze on we're gonna have to try and utilize rage powder and go for that route rather than a trick Rune route so let's see what this so go later goes for and imagine it probably attacks into the Kyogre here Wide guard. Okay. That's interesting and knockoff again You see moongus, but I'm gonna be doing too much because of we've already lost that item Okay, let's see what we can do a rage powder. Oh Yeah, I think rage powder and Let's go for a Do we go water spot? Are we probably better off going for the waterium into? So go there here Could go wide guard again.  Oh We lose a moongus that is that is terrible for us And it is life up which we didn't pick up on in the previous turn, so not paying enough attention really right, okay Kyoga's a big wing con in this game a hundred percent now We can't really rely on bronze on in the trick room now not with two dark types and we've mentioned before in games this week how Two dark types on my opponent's side of the field it makes us not want to bring the bronze on where we brought it In this game, and it's probably been the better decision all in all for every time when we've not brought it the burns haven't helped Again Okay, so we're gonna see zonius come back out now From my opponent. All right Now we know that Kyog is actually faster than the the save lie I Mean we could fake out The zonius and can't try and get a calm mind here would be pretty nice Like calm minding would be good because we can get to calm minds up then we kind of put ourselves on on par with the Opposite zonius we're just gonna see a fake out as it gonna be into Kyoga Yeah, burnt turn that makes a lot of sense And we can't really do too much to deny the the old geomancy here because we've not got snarl or anything We can water spout and we could calm mind We could just water spout get rid of the save lie and You turn out on that slot as well. I think that's probably the best thing to do The zonius definitely goes Germancy. Oh sunny day. That is not what we needed to see Okay There's a Germancy getting wrecked get wrecked by save a lie zonius Oh dear. Oh dear. Oh dear.  I would imagine But that double fake out support is so good for zonius. We've seen it so many times this season I don't feel like we're gonna have really too much to To take this out and I think it was just the bronze on selection here, which has let us down. Maybe I'll go would have been a better one But the sunny days kind of locked us out of this one, which is yeah, we've already cursed ourselves So the winning streak is this gonna finally be over. I think here I Don't feel like we're gonna be able to pull this one back not in front of zonius Not without to have our own combines and even then with the Sun up It kind of really puts us at a in a bad spot But one of the things we could potentially do is art incineroar is not intimidated so with the Sun up we can potentially Flare blitz the zonius and pick up the knockout there depending on its build and if we can do that Then we've got a way to kind of potentially come back into this match because I don't think save line Incineroar able to to beat Kyoga and that yeah, so maybe Maybe we can still do this one Oh so close so close Yeah, that makes a lot of sense doing that because now you've got the yeah Now you've got the fake out again to come in opponents playing nicely here and trying to secure it, but Doesn't gleam probably doesn't get incineroar and A skull will definitely even in the Sun get this Zonius and a moon blast isn't gonna be enough to take down Kyoga at this range So I'm just gonna go for a U-turn and I'm gonna go for a scald here You can only fake out one target Which it is gonna be the Kyoga moon blast gets the incineroar here for sure. Yeah Sunlight does fade we have to scald and now I think it's too far gone like that turn locked it there for us There was a little bit of hope for us coming back in but it was all about whether my opponent Miss played if they dazzled there instead of moon blasting like yeah, they did they did super well It's just a shame that there's only us hung on from that flablets Like we should take this now No, we shouldn't too much chip and I would have thought we would have actually we didn't have that much chip But I could give him to my opponent Not the best start for us today But we will turn things around and see if we can approach things a bit better like I say there I think the big problem with with that one was bringing bronze on two dark types Or a no-no we need dialga a hundred percent But we'll move on to our next opponent. Hopefully it doesn't take too long to find them and then we'll be good to go Hopefully we can bring zerketry. We haven't brought zerketry for ages So bring zerketry would be really nice if we can bring it Because we had that really good game earlier in a week with it where it just demolished our opponent with those tailgloves We've got our next opponent, so we'll go straight into team popular combination of groud on zernius and moongest have a cocoa insinua and braviary So it's a ql code team And I haven't seen this one So it's gonna be freshen and we'll be fresh into this one without any information prior to the match Common combination groud on zernius. We all know what that does Groud on protecting zernius from the steel tabs of its ground type attacks It's probably got the groundium if it hasn't then it's likely be on the tab of cocoa I'm gonna be careful with our intimidate support and this one because of that braviary It has the defiant ability has access to tailwind as well primary speed control on this team outside of electro Web there's not really many other options elsewhere So if we can get our trick room up deal with the moongest pretty well This one actually feels where one where bronze on would be quite good because We've got the levitate to help us against the groud on And the safety goals do give us a bit of an out against the moongest at least Um, I think what we'll do is lead bronze on Hmm, I'm gonna bring incineroar, but I don't want to bring it at the same time I think I might you know, I kind of tempted to bring zerketry to this game. I definitely need kai ogre and Do I bring dial guy? This dial guy worth bringing to this one or we just gone like the munger show or incineroar Incineroar could be really useful, but let's go dial guy. Let's go dial guy. Let's bring our restrict To restrict it's better than no restrict it's right And let's end with a win today to give ourselves all good a good feeling going into the weekend like we all like to do I feel like we can do it What's it's like 10 games this week, so it's nine and one that's not bad if we win this one eight and two Still alright, but it's not like it's not like It's not perfect. It's not perfection. So we're gonna see that good old lead like we always see from the Incineroar and the zenius, okay We could have let off with incidentally see the bravery just puts the kind of stop us on you straight away and We're gonna get faked out from the incineroar for sure now we could set up I Think we're bringing dial guy Because I think the way to win this game is to get a trick room up for sure Maybe we're gonna have to sack something the next turn and we can't really get around the Geomancy Let's switch out bronze on into dial guy and let's you turn we can't and we're gonna bring in I'm gonna bring in cowgirl as well and get the rain up as soon as we can Zonius actually switching out straight away, which is which is pretty surprising to me. Honestly, I didn't see that I thought fake out Jim and see turn one would be the player there, but no I'm gonna see Incineroar do we have to deny the trick room because otherwise they well it could be going for Flablets into that that bronze on slot for sure There's a flablet. It's just trying to get rid of the bronze on such a big problem I guess from my opponent to deal with so makes a lot of sense to do that Groudon now coming in and but we can get bronze on back on to the field Now with levitate and try and get the trick room set up. I'm just gonna protect Kyoga This turn Without any intimidate we need to be careful for that groudon because we're not able to weaken its precipice blades And it might come to the point where we we are having to To sacrifice something we're gonna see a moongers come on to the field Which is fine Because we're not setting trick room up just yet. So we don't need to worry about it too much And if the gradons days out. Oh, I don't just protecting here Hmm Protect with Kyoga there. I don't mean we can probably hmm. Did we just water spout or scald a Waterium the gradon switches out a hundred percent here the grad on a hundred percent switches out But I think you just attack the dialogue And Could we do I? Kind of just want to get damage on to everything really so I'm gonna just ally switch And water spout you could see a spore like but it's just a tectonic rage It could come out from that answer something tantrum, but it's not gonna work because we're gonna be able to get rid of it Now so this is coming in handy. Okay, here we go. I Instant disconnect from my opponent That's what allies which does that's what allies which does okay There's a sport. Oh, that is the worst turn in the world for my opponent ever Okay, at least we come back in that one and all right guys Let's go into another one because that doesn't really make too good a way to end the episode does it? So we'll get a squeeze one more in today But that is hilarious. I like switch doing all the tricks. That's the title of the episode right there for us all isn't it so There's a good one. Oh Man, you've got to feel bad. We got Tommy from Japan as our next opponent. So we sheds on looking all cool. So we're going to Groudon's only it's the type of finny incinero katana and Shin ninja. So what have we got to hit that Shin ninja with we're gonna make sure we've got something sticking around to hit it with which is gonna be the the incinero So we need to protect that more than anything in this match Like literally because if it comes down to it and we've got nothing else then we're screwed Right incinero is the the thing that we need to keep More preserved than anything else in this match.  Let's bring bronze on. Let's bring Kyogre and Let's bring Dialga Dialga Dialga Dialga is not bad here, but a mungus could also be quite useful Although that'll get probably a little bit better because of the The misty terrain on the a mungus So at least we're gonna get another bonus game today guys, which is good, isn't it? So let's say good luck to you Tommy and Hopefully you can get a win. I'm pretty confident we can we just got to manage things well enough because it's like that end game if it comes Down to should ninja versus Sinor all we've got it all day long But if we like I say if we lose incinero, then it's game if my opponents bought the shinninger They probably identified that as well. So, you know, we've got to keep that in mind for when we are playing it Grow out on top of any coming out for my opponent. Probably gonna see gravity as well as a thing But I think turn one we're pretty safe going Switch out incinero trick room It's not a bad play But like I say we've got a we've got to really preserve this incinero more than anything I don't think we see a tectonic rage turn one. We could totally see a swagger Precipus blades and But we'll just go for that trick room and get the rain up Because you could see as well like a nature's madness fire punch into the bronze on to try and remove it before the trick room gets Set up But they got a big worry and about fake out as well from the incinero So there we go That's the one thing we didn't want to see and that's the second one we didn't want to see oh Kyoga probably takes it. I mean, but we don't have a trick room option anymore Which is not so good, but we did burn the um the tectonic rage What's with all these tapu's carrying taunt these days man. Look at how well we take that minus one. That's great All right, let us just go for I think Let's try and get some leeway in this match go for the water I am into the ground on or we could just protect Kyoga I think Hmm if any goes first nature's madness into the Kyle guy and then a precipice blades would take us down a hundred percent Let's protect and get incinero back onto the field Okay, girl.  I think Yeah, there we are This can probably take down our incinero Gotta be careful.  Groudon coming back out. It's a lot of sense. And we're just knocking off into that slot for no reason Hmm Incinero we have to keep we have to keep incidental. You have to I'm gonna just jar about the ground on and I'm gonna switch it. I'm gonna have to switch in dialger. Dialger is like the one thing I can sack at this point Let's the ground on goes fire punch into bronzon and then we all screwed But I think it's more likely to go precipice because of the incoming like why they're coming in Another taunt. Yep. There's nothing we can do to get around that. We need to get rid of this finny, but yeah precipice blades This will take that out. They don't Easy easy peasy. I don't know if we can actually like win this game. It's it's gonna be pretty difficult Then so much this does just not enough not enough at all Um Let's get in seeing I've got a banker on the ground on protecting here So I'm gonna jar of all and I'm gonna you turn Out onto the finny here Hoping the ground on protect so we can get Kyle gone the field. Oh No protect not even bothered about like literally not bothered about fake out coming out into that slot this turn Yeah, does not care now. That's it. That's gonna be game Why did we have an extra game today? I mean, it's nice seeing this team composition. It's done super well, but at the same time It's not a lot we can do against it that the taunt on the top of finish is shutting us down And without a moongus to support us. There's nothing we can do Yeah, and they shouldn't injure as well another issue throwing up for us that we can't really operate too well It's a nice team a very nice team indeed But I guess all we can do is try we can't even do anything with with bronze on and Mean the ground on switch out. I doubt it does And we could calm mind, but we can't we can't beat the should ninja now. This is the whole thing There's just no way to beat it No way Come on. Come on. Tommy. Hurry up. You've won this game man. Yeah, I'm gonna switch the ground on out Should ninja coming back in should we try and be cheeky and Try and see if we can skill swap Skill swap the should ninja. It's never gonna work And we're never gonna be allowed to because we can't taunt But yeah I'm just gonna forfeit because I don't want this episode going on any longer than 30 minutes And there's no way we can come back into this now with the wonder guard there Taunt wise off, but I mean that's it. Yeah, so we can't do anything and very good game to my opponent We have one more extra today, but a nice team composition for maybe to try going forward I think there's a lot of Like a lot of room in this format for this team that Tommy's playing so props to him really nice to see something I'll probably like to try out maybe some time on the stream So and thank you so much for tuning in guys. Have a great weekend Whatever you're up to and we'll be back on Monday with more school ahead next shenanigans with this derga Kyoga team so until then guys take care of yourselves and bye. Bye


FNN, The Tiger, Financial News Network, News Update. Good morning everyone, Basel Chapman here on this Friday the 22nd of December and for those of you celebrating Christmas, I'm very merry Christmas coming up this long weekend. Looking up the Dow, up 103, 307,508 hasn't yet taken out the 37,641 high that was made three days ago. They're very, very sharp pullback over 600 points in today. Come back very nicely. You remember yesterday I was talking about the pattern that says within the rectangle you could get slightly higher highs and higher lows moving towards the previous high in a much shorter time frame. We're going to be watching this very closely, but meantime the S&P, so this is with Nike coming in with very negative statements and earnings potential and drag the Dow down my Chapman, which shouldn't indicate it said that we should have a negative Dow before a rally comes in, which is exactly what we got. We're up 85, the S&P's up 19, and 47,66 hasn't taken, hasn't yet taken out very close to the higher three days ago. The QQQ, we're looking at 409.19, up $1.42 also hasn't quite taken out that 410.97 high. IWM, now this is a little different and this is actually one of the most encouraging things, even though it's in a leg D, that leg C in the weekly chart has gone above the whole 198 to 199 year-long resistance. We have hit from today, we're looking at 2.81. That's a good sign. Just as I mean to say, we can't have a pullback coming up very shortly, but it does say we've broken out, we've started a brand new leg A in the monthly chart. That is amazing. All right, let's go to the gold. Gold at a very strong up spike, it's still strong. It's up 28 and 20, 2,080. The dollar is coming all the way back. I think 100 is really the 101 is the target. It's at 101.50. Yeah, just on 101 is that trend line. We'll see if it's going to get there. We're talking about trend lines. The crude oil has risen very quickly to a peak A, then a peak B, and a peak C, and now it's trying for a leg D. It's up 88 at 74.77. That trend line, it missed getting to the trend line the other day, and it bounced off there. But it's done a fantastic rally. It is a rally, though. Now we're looking at the bonds, and the bonds are up almost a half a point of 124 and 930 seconds. So we're looking at yields in the lower range, and that's really important. All the economic care and news this morning was very positive for the market. The dollar is up 101. We'll be right back for the target. Finish this out. Check it out.


But he met here for late in sports car drip in one box of 2022-23. Topps Uefa Club Competition's Chrome Soccer for Simon S. Good luck, Simon. Sesco, Wonder Kids. Pajuli and Rafina. This is blue and yellow, the 75. Messi, got an all-block. Light and 59 style Fabio Canavaro. Leo Lewis and Zaydan Sertimir. Refractor Otto. Charles de Kettilaire. Refractor. Mez. Street Bellingham, 59. Nunez Speseman, Zaniello. Mason Mount. Green ray wave to 225. Johann Bacchioco, Wonder Kids rookie insert. Sesco Lazo, at this tell. And Jamal Moussiella, lava. Lava insert. Calves, Erling Holland. Tell and Phil Foden. Speseman, what is that? Is that a logo fractor? That is rookie logo fractor, Santiago Jimenez. This is the first Topps logo fractor I've ever pulled. That is sweet. That is numbered four of 52. That's awesome. Santiago Jimenez. Here you go, Simon. Luis Diaz, Pulsar. Amar Jr., Luka Sucic, Pulsar. Yeah, that's the first logo fractor I've ever... The first one I've seen in person as well. Saka and Darwin Nunez, 59. Nicola Zilevsky, rookie refractor. Two packs to go. Three and Luca Ota. That is the 399. Green shimmer. That'll do it for your box. Congrats on that logo fractor. Appreciate it, Simon. We'll get these right out to you.


Hello and welcome to the session in which we would look at impairment of intangible assets other than Goodwill. We will treat Goodwill in a separate recording. What is the big idea of impairment of intangible asset? Well, I hope you know what an intangible asset is. It's an asset that lack physical existence. It's a long-term asset that provide future benefit for the company. What is impairment? Impairment happens when this asset that you have like a patent, a copyright, trademark, trade name, loss utility, loss value. For many reasons, we'll talk about why. Lost utility and as a result, what do we have to do as accountant? We have to write it down. We have to impair it. We have to take the loss. Why do we have to take the loss? Two reasons. First is conservatism. If the asset is overstated, if we don't write it down. Two, matching. We need to record the loss in the same period that the event that the loss event took place. So what events could trigger impairment? Well, for intangible asset, maybe rapid changes in technology. You had a technology, but now there is a better technology out there that's cheaper and better than your technology. Well, your technology is not worth as much as you thought it would. As well as new innovation. You have a patent, but guess what? Someone came with a better patent, a cheaper patent. Now your patent is worthless. Maybe illegal decision. That could be the case. Maybe someone sued you. Or maybe the government made a decision to discontinue your product. Well, guess what? If you have any intangibles related to that, especially when it comes to pharmaceutical, your asset is impaired. As well as other reasons. When we do impairment for intangibles, we have to differentiate between two types of intangibles. Limited life intangibles and unlimited life intangibles or indefinite life intangibles. The way we do impairment for limited life is different than unlimited life. The good news is this. If you already know how to do impairment for property, plant and equipment, then it's the same thing as limited life intangibles. And hopefully you already watched this recording. So limited life intangibles will be easy for you to process. Well, this topic is covered in intermediate accounting as well as the CPA exam. Whether you are an accounting student or a CPA candidate, I strongly suggest you take a look at my website, farhatlectures.com. I don't replace your CPA review course. I am a useful addition. I can explain the material differently from a different angle, from a different perspective. I can provide you additional resources, lectures, multiple choice practice questions, CPA questions that's gonna help you do better on your exam. Your risk is one month of subscription. Your potential gain is actually doing better on your exam, doing better on the CPA exam. If not for anything, take a look at my website to find out how well or not well your university doing on the CPA exam. This is a list of all my courses. Intermediate accounting, cost accounting, advanced accounting, governmental accounting, that I provide additional resources, such as multiple choice through false, so on and so forth. My supplemental CPA resources are aligned with your Roger, Becker, Gleam, and Wiley. So it's very easy to go back and forth between my material and your CPA review course. I also give you access to 1500 plus AICPA previously released questions with detailed solution. If you have not connected with me only then, please do so, take a look at my LinkedIn recommendation like this recording, share it with other connect with me on Instagram, Facebook, Twitter, and Reddit. So let's first start to look at the limited life intangibles. And as I mentioned, they're the same as property, plant, and equipment, which hopefully you remember, we have to go through a two-step process, recoverability test, and the impairment loss. So let's review those tests and work an example. Recoverability test is when we look at the expected future cash flow, undiscounted, and we compare that to the book value. If our future cash flow, undiscounted, is less than the book value, cannot recover the book value. So if our expected future cash flow is $100 and our book value is 120, well, all the future cash flow cannot recover the book value. Therefore, the answer is yes, we have an impairment. If the answer is our future cash flow is 150, if the future cash flow is not less, then we don't have an impairment. But here we're gonna assume our future cash flow is 100. Therefore, we do have an impairment. If we have an impairment, we go to step two. In step two, we compare the fair value of the asset versus the book value of the asset. So notice the book value is in both tests. In the first test, you will compare the undiscounted cash flow. In the second test, you compare the fair value to the book value. And the difference between them is the impairment loss. Now, sometimes the fair value may not be giving as the fair value, sometimes the fair value is giving as the present value of the expected future net cash flow. The same thing. So sometimes they're telling you the expected future net cash flow, the present value of them, it means the discounted amount will be your fair value. So be careful about this. Let's take a look at an example. Pharma company has a patent on a drug to treat cholesterol. Recently, the FDA approved a better drug from a competitor to treat cholesterol. Pharma company has a carrying value of 50 million, that's the book value, the expected undiscounted cash flow from the patent is 35 million. So now the patent, the future undiscounted cash flow is 35 and the carrying value is 50, they cannot recover it. Therefore, when we compare the expected future cash flow undiscounted to the carrying value, we notice it's less, the answer is yes, it means we have an impairment test. Now, Pharma determines that the fair value of the patent based on the discounted cash flow is 30 million. So notice the discounted cash flow is the fair value now. Now we compare the book value 50 million to the discounted cash flow, which is the present value computation of 30 million and our loss on this intangible is 20 million, we debit loss on impairment and we credit the patent. So notice what we did two tests. This is test one and test one, the answer is yes, test two is where we have the figures and we book the loss based on test two. Now let's take a look at impairment of indefinite life intangibles other than Goodwill. So these assets, these intangibles, they have indefinite life. What we'd have to do on a yearly basis, we have to test them for impairment or as needed if technology changes. The good news about the indefinite life intangibles other than Goodwill, there's only one test. It's called the fair value test. You don't have two tests and we'll see why we don't have two tests. And basically the test is easy. You would look at the fair value. If the fair value is less than the book value, guess what? You have an impairment loss for the difference. So why don't we have a recoverability test? So there's no recoverability test, which is test one. The reason is simple. The nature of the asset has an indefinite life. Indefinite life means unlimited life for a student or for an accountant to do the recoverability test, they have to look at what is the future cash flow that is not discounted, undiscounted future cash flow. Well, if your asset, it's gonna provide future cash flow forever, how can you compute that amount? Therefore, you will go with one test. You compare the fair value to the carrying value and the difference is your loss. Simply put, let's assume Adam purchased a license for three million from the federal government to broadcast news, satellite news. Adam can renew the license with a minimal cost. In other words, Adam expect the cash flow to last indefinitely as a result. Adam report the license as an indefinite life asset because they can renew it at a minimal cost. Therefore, the asset has an indefinite life. That's fine. They paid three million for it. Now, recently the federal government auctioned the same license to the highest bidder for 1.8 million. What does that mean? It means when Adam knew about this information, they knew immediately that what they paid, they overpaid. Now the license is worth 1.8 million. It means it lost utility. Now what they have to do is, this becomes basically the fair value because if it's sold for that much, it's the fair value. Now we compare the carrying value because it was recorded at three million because we don't amortize indefinite life intangibles and we'll take the difference between that and the fair value of 1.8 million. We'll find the loss of 1.2 million. Then we booked the loss. We debit loss on impairment, 1.2 million, credit the patent, 1.2 million or credit whatever that asset is, whatever we call it. It's not really a patent, license, 1.2 million. So that's the entry for it. So notice we only had one test and that's the fair value test because the book value, it's gonna be what we paid for the asset. We don't write down, in other words, we don't amortize the indefinite life intangibles. We don't amortize them. Remember those assets, no amortization. That's why I assumed that three million is also the book value. Now it's no longer three million. Now technically the book value becomes 1.8 million because you reduce the license by 1.2 million. The best way to learn about this and get better is to work additional multiple choice questions on my website, farhatlectures.com.  Does not replace your supplement, your CPA review course will supplement your accounting courses. Your risk is one month of subscription. You need to pass the CPA exam once. You need to get your accounting degree once. Throw everything at it, put it behind you and focus on your career. The CPA is worth it. Good luck, study hard and stay safe.


Hello everyone. I'm Sanjay Gupta. I welcome you on Sanjay Gupta Tech School. In this video, I'm going to demonstrate a scenario with the help of trigger and test class. Let's understand the scenario. So based on opportunity stage upon opportunity creation or updation, we need to set the description field as opportunity is closed lost or opportunity is closed one or opportunity is open. So for example, if you're creating any opportunity, so on opportunity creation, you need to populate some value in the state field because it is required. So if it is closed one, then description should be having opportunities closed one. If it is closed lost, then description will be having opportunities closed lost as text. If stays field is other than closed one and closed lost, so description should be having opportunity is open. Then if you open any existing opportunity where stays is populated with some value and you change that stays field value. And according to the change, again, you need to update the description having one of these three values. So for this requirement, like it is working for both insert and update. So we need to implement a common method and that will be working for both the requirements. So I need to implement a trigger, then trigger handler, which will be having the business logic and the test class for code coverage. So let's jump to developer console. So in my org, I already have opportunity trigger implemented. So I'm just going to open that. So for one of the scenario I implemented that. So here you can see before insert and after insert events are available and these two methods update description and populate latest opportunity amount are available. Now, the requirement as per the requirement, this method will also be called in before insert. So what we need to do just copy paste and update description based on stage, right? And we need to call this method for update operation as well. So what I'm going to do, I'm just copying it, pasting it. And here I'm writing is update. Then inside is before we need to call this method update description based on stage. And in case of update, along with trigger dot new, we need to pass trigger dot old map as well. So trigger dot new will be having the new state of the record and the same record will also be available in old map and that will be having the old value of that field. So for example, if you are updating stage from prospecting to closed one. So prospecting you can find an old map and close one you can find in trigger dot new. And same method we are calling from before insert. So as a second parameter, we need to pass null here. Now I'm going to open its trigger handler where I'm going to implement the code. So public static void. Then I'm copying the method name. So here list of opportunity. OPP list and map of ID comma. Opportunity. Old map, right? So here in this method, I'm going to implement the logic. So what we need to do, we need to iterate a loop on this OPP list, right? So OPP list will be having all the opportunities that we will be inserting or updating. Now here we need to check whether we inserted the opportunity or we updated the opportunity. How we will identify that. So if we updated the opportunity in that case, this second parameter will be null. It means if old map is null, then opportunity was inserted. So we can directly check it like this. If old map is null, it means insert operation happened, right? Or if opportunity is null, then we need to perform some logic. If a old map is not null, then update happened and we need to check whether on update that stays field is updated or not. If stays field is updated, then only we need to execute the if condition or the otherwise not. So here I'm writing OPP dot stays name not equals to old map dot get OPP dot ID dot stays name. So this old map is a map. So if you want to get the value of map, so you need to use get method and you need to pass the key. The key is OPP ID, which we are receiving from here and its stays will be fetched. So the same record will be available in the OPP list through trigger dot new and it will be available in old map as well. So here new value of the stays will be available and here old value of the stays will be available. So if old map is null, then directly if block will be executed, assuming that record is inserted. If old map is not null, it means record is not inserted. It is updated and in case if it is updated. So we need to check whether stays is updated or any other field is updated. So if stays is updated, so this old and new value will be mismatched. In that case it will be true. Otherwise it will be false. And if it is true, then we need to write OPP dot stays double equals to closed one. If stays is closed one, so OPP dot description equals to opportunity is closed one. Else if OPP dot stays name double equals to closed lost, then we can write OPP dot description equals to opportunity is closed lost. Else if it is, if opportunity stays is not closed one, not closed lost. So it is other than closed one and closed lost. So we can write description equals to opportunity is open, right? So this way the complete code is implemented here. So this code will work for both insert and update operation that we need to check. So code is being saved. So I just saved trigger handler as well as I'm now saving the trigger part. If I jump here, now I'm going to create new opportunity. So here I'm populating stays as qualification. So it is not closed one, not closed lost. So here you will see the description will be opportunity is open. You see opportunity is open. So insert is working fine. Now if I change it to closed one, so I'm updating the stays. So update will work and here you can see opportunity is closed on. So this way both insert and update operations are working fine. Now we need to implement it's test class so that we can check whether through code. It is working fine or not. And like for deployment, we need to have proper code coverage as well. So for that I'm going to implement it's test class. So first we will be testing the insert part and then we will be testing the update part. And we need to annotate it with address test. Now here you can see some of the reports are already created in the other methods. So I'm going to copy this piece. Now let's understand this. So how we created the data. So first opportunity list is created then five times loop is iterating, which is creating bulk report. So always remember whenever you implement test class, so data should be created in bulk so that your code can be tested for bulk operation. So here opportunity name stays closed date amount. Everything is populated and then opportunities added into list. So five opportunities will be created and will be added into the list. Then after creation of those opportunities, we need to insert them so that they will be available in the database. Now after this operation one more thing we are using test dot start test stop test so that separate methods of test class will be having separate governor limits. Right. So this is the use of using test dot start test and test dot stop test. Now after that I'm just going to query updated opportunity list. So I'm selecting description from opportunity where ID equals to OPL list of zero dot ID. So here in this OPL list five opportunities are there. So I'm just wearing first one and if its description is updated. So it means others are also updated. So we can just check it with system dot assert equals. So expected will be opportunities open and action. So updated opportunity list of zero dot description. So this way this assert equals is implemented. If after the query description is updated and having opportunities open. So it means this code will work fine. Now we need to implement the update part. So I'm just copying it. I pasted the code so it will be for update operation. So at the time of insert opportunity stages prospecting then we inserted and now I'm implementing a loop. So here I'm writing OPP list and then OPP dot stage name equals to closed one and then update OPP list. So at the time of insert stage was prospecting then I updated it to closed one. So here this time we need to verify in assert equal like opportunities closed one. So if both are matching it means update is working fine. So I'm just saving this code. So there was typo. I'm just saving it again. Now I'm going to run the test. So it is failing. Let's check what is failing. Okay. So update description test. So this any other method is failing and yeah. Okay. So any other method is failing where assert is implemented. So basically what is happening now? We have two methods which are updating description. So we can just comment it out. So they may they may not be scenarios like both the methods will be updating the same pill together. Right. So if I comment it out and again run the test. Okay. Update description test. So basically what is happening on insert opportunity description is updated. So we what we can do like in this scenario like this piece is already implemented. We implemented a new scenario and we just want to run our two test methods. So what you can do just click here new run select your test class and select the particular method that you want to test. So I just want to test these two methods. So I'm just running them. So now you can see both the methods are passed. Right. So this way you can just test your implemented method. But anyhow, if you walk as a developer and existing code is also breaking. So you just need to do some work around so that that existing code should also work. So here what we need to do. We just need to modify this assert. So here we need to write opportunity is open. So in this case, it will be working fine because at the end description will be opportunity is open. So now if I run the whole test class, so it will pass. So here you can see all the methods are passing. So this time all four methods executed and all are passing. So this way I hope you understood like how I implemented the scenario in front of you. So implement this in your org so that you also can understand the implementation.


And as the FCT prepares for its 2022 Area Council election, young male and female aspirants in the Federal Capital Territory have identified finance and insecurity as major obstacles. This is a fallout from the outcome of a town hall meeting organised by YAGA, a non-political and non-partisan organisation whose aim is to get youths interested in the political decisions of the country at all levels. It is a one-day sensitisation and awareness programme organised by YAGA to bring youths and their party leaders together. People who have shown that they are not just getting into office for their own personal desires but as a call to service, especially. So we are happy with what we have seen, but we want to see more. We also want to see more young people come out to register and vote. So when we have that critical mass of young voters, those are the young voters who would also vote in young candidates into office. Yes, I am aware in terms of security, on the very day our candidates emerge after the primary election, they were attached with the DSS, I think the Chairman has two DSS and the Council has one. Then in terms of funding, as a young party, I cannot tell you that we have all the funds to run this election, but we will be doing a lot to mobilise party materials, posters, jingles for them. And I am aware we have a content that can swiggles to win the FCT election, which we will be promoting in every wards of FCT. Being a woman, I feel this avenue encourages more women to participate. Seeing the father, a young person is coming out to give them the courage and the determination and resilience to actually put themselves forward, irrespective of the challenges. The candidate of PDP, in fact I want to assure you that he is the youngest among all the chairmanship candidate in FCT, in all the political parties. And for that, that alone has boosted the morale.  Somebody that has been our client. And now the PDP has said, okay, take it and we have given it to you. With that money, they are ready to go for this election.


I'm a data scientist at the Cedar Centre and I'm going to talk today about deep learning. So a number of interesting application areas and just a brief overview of deep learning itself and also where Cedar is working in this field. So firstly there's a huge buzz at the moment about deep learning. It's all over the media and you might see it as well in kind of technical type publications and technical technology media. You can also see it in popular media as well. So there's a lot of headlines about AI and deep learning and the machines taken over the world, that humans are doomed. I mean I think even my grandmother probably knows what AI is at this stage. But as well as these kind of shock headlines that you get in the papers such as the sun and the telegraph and so on, there's also a lot of more practical applications and really interesting new problems and new areas where deep learning is really providing huge innovations and huge leaps in the state of the art of what machines can do and how they can help us. So I suppose first just a brief introduction what we mean by deep learning. So deep learning is a name given to related machine learning techniques that are based around artificial neural networks and what artificial neural networks are, are an architecture for a machine type of machine learning algorithm that's loosely braced around how human and animal brains work. Now we don't really know in a deep understanding of how brains actually work but at least some of the small components and some of the small parts of those, there's a loose analogy to deep learning and artificial neural networks. And why is this popular these days? Well, recent improvements in computer processing power and also the volume of available data over the recent years have really led to rapid advances in this field. And we can see this graph here which is a Google Trends graph. So this is showing the volume of searches for the terms deep learning. And you can really see that they're quite flat up till around. It's hard to see there but around 2012 and then since then they've really kind of skyrocketed as there's more interest in this area and more people, more practitioners, more people working in this, more tools available. So what deep learning really is, it's a deep learning architecture is multiple layers of densely connected artificial neurons. So what each of these neurons are, they are just individual very small quite simple processing components really that take very simple output and produce a corresponding or an input and produce a corresponding output. But when you have millions of these neurons connected together and connected in very dense complicated ways, they produce quite a lot of quite sophisticated behaviors that are really built of these quite simple components. And usually these architectures are organized into a number of different layers, hence this analogy for these deep layers and deep learning. What we have in these where these networks are able to learn quite complex concepts. So in this diagram here we see sort of at the layers near the input layer, we have this network for example that's learning to recognize faces from images. And at the initial layers we have these very kind of low level features being recognized of faces, they're not really something that we'd recognize. But as we move deeper and deeper into the network, more complex and more abstract representations of what a face is, is being learned in the network. And there's many different kind of architectures, convolutional neural networks are used a lot for image analytics, image analysis, RNNs for kind of time series data. So we have a lot of these different architectures and these are also combined in many ways for specific applications. So that's a brief overview of deep learning. But what can I actually do, what's the interesting bit about them? So one of the main application areas which really was where they've come to the fore in recent years is in image recognition. So this is recognizing objects in images, classifying images, analyzing in images. And we can see a lot of applications in this area for example, image search, so a lot of people use Google photos, for example, for storing their photos they take on their phone and their devices. And now you can search on that. So if you search your photo library for, you can type in photos of the beach and it will show you any photos that you have in your collection of the beach. Now you never labeled or annotated those images with that. But there's a deep learning technology that Google has behind the scenes to actually understand that these photos that you took are of this concept, the beach. And there's many applications in self-driving cars, in security, medical diagnosis, and robotics in this area. Another recent innovation that deep learning is used for is with Google's DeepMind AlphaGo. So Go is an ancient Chinese game. It's a few thousand years old, which it's very complex. So you might remember back in 1997, Deep Blue, IBM's Deep Blue beat the chess human champion, Kasparov. However, Go is a much more complex game with many more possible game states. And at the time, many people were saying, well, it's going to be many, many years until a computer can beat the human expert in Go. Well, that happened in May of this year, where AlphaGo beat the current world champion. And what's interesting with this as well is AlphaGo has also added many new moves and playing styles to the game. So remember, this game has been studied for over two and a half thousand years. But human players are now learning from the moves that AlphaGo has brought to this. And when we think of creativity and machines, it's something to think about here that this AlphaGo has really created some of these new styles. And what does that mean for creativity and machines? Another very interesting application is in a number of grand challenges on mitosis detection. So this essentially is learning to spot cancer cells in microscope slides of close-ups of cells. Now, this is a very hard problem. Human experts generally train for many, many years to be able to do this. And it generally takes a consensus of experts. So any single expert in this field might spot some of those and make other mistakes. So generally, a number of experts have to work together to get higher accuracy. However, a deep learning-based solution won this particular challenge a few years ago. And what's interesting is no one on the winning team had any specialist domain knowledge, knew anything about the area about mitosis detection. They certainly weren't trained experts who'd spent years and years studying to do this particular task. And that same team has produced state-of-the-art deep learning solutions in many other problem domains. So they don't know, the team don't know about the particular area that they are applying these algorithms to. They don't have that deep knowledge, but the algorithms have the ability to learn that domain knowledge themselves once they're provided with enough data. And this concept, I suppose, is represented in this diagram. So on the top here, we see more traditional machine learning approaches. And for example, this might be a task such as identifying the image of a car in a picture, for example. And typically, you need a human in the loop here, a domain expert in image analysis to pick out particular features and to find out features which the machine learning algorithms can then exploit to build into the classifier to say, okay, it's a car or not a car in an automated way. So there's a human expert that needs to understand the domain and the task and what needs to be done. However, with deep learning, the learning networks themselves can actually do this feature extraction part as well as the classification. So given enough data, the network can learn what's important about that data as well as then inferring the patterns to do that classification. So this is a kind of very important step. And it's something that I think is one of the key things of deep learning. And what we call this kind of data, that's really hard to understand by humans as opaque data. So we describe this as data that's not easily interpretable by humans. It's very unstructured, it could be in binary or raw formats. And it's very large volume. So for domain experts, for people to understand this, it's highly complex and it's very difficult. This kind of data is very common as well. But because it requires traditionally this expertise for traditional machine learning algorithms, it's very difficult to apply those kind of techniques too. And we see some examples such as raw sensor data. The sensors all around us, they're collecting this very raw data. Now, often that has to be rolled up into more high level interpretations for humans to understand. But that raw data, there's a lot of it and it's very complex. There's a lot of physical or biological process data, so think of raw audio, radio spectrum data from telescopes or other measurements, physiological data from our measurements of our own bodies and so on. And also machine interpretable data, so compiled machine code. And what this data, it's all very difficult for humans to understand and therefore for humans to understand and pull out features to apply traditional machine learning methods, whereas deep learning gives us an advantage that maybe we can start applying these to this kind of data a lot more. So now I'm gonna introduce a colleague, Adita, who's gonna talk.


Memo of understanding with our Secretary Boilridge Hope that we can take advantage of that to increase our market share NTT We're all very pleased Before I start talking Mr. President, our President Nakashun called Miyapon to his office and he especially ordered You Very much of him we've just had a very fine meeting here at the Williamsburg Summit, but I am greatly Greatly impressed my friend Mr. Nakasuni Secretary Boilridge You once Long time to discuss how we can solve this problem I'm going to meet them again here in Washington quite a few years, so I hope I can smooth out as far as possible Well, I joined you in that that hope and I'm sure we can He is my very important security concerning the relationship in the United States Well, my brother has written me about the wonderful meetings and the warmth and hospitality Yeah, he ran into there, and I know that the College is very Proud of what has been worked out say something about Thank you, Mr. President Thank you all for coming down here today, and I'm sure you know that we have a security meeting Council meeting this morning to discuss the start position. What isn't the first of the discussions we've had recently since we last talked to each other and Particularly we were discussing the scope of permission reports and where they figured on that and I Can assure you that there was unanimity everyone around the table was completely in support of the scope of commission report and was a good opportunity for all of us to review the other complex issues that were social at the start and We're still reviewing the issues make sure that our negotiators go there Knowing what's what are bottom lines and what are flexible positions and so forth And I want you to know that I am fully committed for this bipartisan effort to achieve a start agreement and Is that a way changes which we may wish to make in the Start position during the course of the negotiations. I wanted to hear your views also in this same section because I know it's something you're interested in and now I'm going to talk about it in front of you. Well, thank you all for being here and you know we had a meeting of the National Security Council this morning to discuss future steps in the start negotiations and with the round table we also discussed our under-announced concept of a guarantee, a mutual guarantee build-down and I remain fully committed to the promise that I made to develop build-down options which could help us achieve our objective of significant reductions in nuclear arms and today I want to give you a status report on our work and program and progress and also to hear from you your own thoughts on the issues associated with our work I must say on the build-down we found out that there are a lot of technical points that have to be covered so we've come a boomerang that's for example if we are modernizing and building down and they are already so far ahead of modernizing and therefore don't need to add something that's not going to be building down but I don't think there's going to be any problems I think it will be a sizable help in the program of getting mutual reduction and right now I'd like to turn to Bud McFarlane here for a brief example some of what all took place today in the student the other day I'll have a problem if there's any of course you've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it I've seen it As you know, there are critics out there speaking of Star Wars and Darth Vader and all of that. And you know, I never even indicated what type of weapon it might be. I had no idea, but they ought to manage it all of a sudden now. You would think they specifically said laser and satellite and all of that. Well, it's a funny situation. You see, there's not so much information out there. It's out there. But there's not going to be any weight on it. First, I've got two subjects here. The first one is the Whistler's Summit. Let me just take the metaphor. I think it's very different. I won't say more because I don't want to cut in on what I've done, they say. This was the first one in all the nine years of summits they've taken place, in which we tried something different. It was an American idea and it had never great approval on the part of all our allies. The summits in the past have been a kind of formalized structure in which they go round the table and they get a state bid. They have something to say and they've already lived it permanently before the meeting started. But we released one there over the tells everyone what we did and they wrote it before we did it. But this time we communicated with them in advance until we thought it ought to be a round table in which we take up all the issues that are a concern to all of us and throw them out on a table for everybody having that. And they lumped it and that's what we did. And we got agreement. In fact, we stayed on the subject until we got agreement. And not by a majority vote or anything, it was going to be total consensus. And I don't think they'll enhance it stronger than it's ever been of themselves. They all would have been poosed or would have taken place. Everybody aligned in their support of how together we've got to meet the economic problems, how together we've got to bring down the worldwide inflation not just in one country, we've got to bring our policies into different regions. And as I say, it was a very heartening experience. I'm very happy. I don't know, maybe you all know this secret, this last basketball. I remember when I was in college, we almost had one basket. The championship was scored 36 to 34. Of course, the score is in the hundreds. But in addition to the height of the players and all of you, one of them had to say, I don't think I'm going to go south. I think the goal is going to be, I don't think I'm going to go south. I wonder if the hoop is the same height. The players are also about 10 inches taller. I found that out when I put a basket up in the garage and at home, and I stood up. That's the best one I've seen. And I was telling somebody about that. The shots that used to roll around the ring and come out of it because of a basket ball, you really had to shoot through it. Just going to give me some lessons out there. Sorry. I hope you notice, Al, that we have you on the president's left hand. I want to be on his right side. I think that's the ball for a man to be able to go out and say that. The only thing I can comment on that is, I'm on my usual stock in the middle. Any questions? There will be another meeting where they'll be invited. Mr. President, are you going to see that Johnny learns to read? Are you going to see that all the children really learn to read when they go to a public school plan of college? That's, I think really one of the purposes of the commission report. Thank you.