Hello, good morning, everyone. I'm thrilled to be here today to talk about a topic that is crucial to the health and performance of Kubernetes applications and applications in general, testing observability features. As developers and DevOps engineers, we understand the importance of monitoring our applications, diagnosing issues, and ensuring that our alerts are accurate and timely. Today, we'll delve into how we can achieve these using Prometheus, alert managers, and various testing frameworks and libraries. A little bit about me. I'm John Villasa. I work at Red Hat. In specific, I'm contributing to the QBIRT project. I don't know if you have the chance, but in the first floor here, we have a small booth where we are giving some demos and giving some swag. So if you have the chance, please stop by. I started working on a tool of QBIRT named Hyperconverse Cluster Operator, but then slowly, I started having more focus on monitoring and observability features across the all components. So the outline for today. We'll start by setting up and seeing how to do a test environment, how to test metrics, then moving on to alert testing and how to ensure that they are actionable, relevant, and real alerts. And in the end, I'll show you a small demo of how I did everything together. So let's start with setting up the test environment. First, we need to understand what the test environment should look like. It needs to be, obviously, a controlled space where it can simulate the conditions of a production environment, obviously. But we don't want the risk of causing disruptions to our actual users. And in our tests, we'll need to create and delete a lot of resources, remove permissions, cause network problems. So this is where the concept of a disposable local cluster comes into play. A disposable cluster is nothing more than a temporary Kubernetes cluster that we just create for the purpose of testing. The beauty of this approach is that we can spin a new cluster whenever we want and whenever we need to run a test. And we can just tear it down once we are finished with it. This ensures that every test of ours starts with a clean slate. And we don't have to worry about any leftovers from previous tests. And weird permission changes that we might do to test our components. Spinning up a cluster can be used with a lot of tools. Some of them easy to use and available right now are, for example, KIND, which is Kubernetes in Docker, Minikube, MicroKaitos, or any other. On Qvert, we actually have this cool tool already. I literally use this every day when I'm at work. And it already creates a cluster and has even a flag and sets up everything Prometheus-related. So I really like it. And in the automated tests, nowadays, we don't use it. We provision full clusters. But that's more like, I see, like a bonus for when the projects are more mature. And the small projects that are starting, I don't think they really need it at the beginning. So let's start now with metrics and events. Metrics are obviously the ways of observability, right? They give us insights on how the application is behaving, and they help us diagnose issues. And we'll explore how to test those metrics. I'm putting the question, like, are unit tests enough? Obviously, it's a dumb question. Of course, unit tests are not enough. But in the ideal world, everything will be fully tested, right? But then again, we can't have everything. And we know time and workforce are limited. So in the end, I guess, at least in the beginning, unit tests are kind of enough. In my opinion, it's more important to start with end-to-end tests for alerts. And usually, a lot of our alerts already use metrics for the calculations. So if our alerts are working correctly, we have some degree of confidence that the metrics they are using are too working correctly, right? And even though we can start simple, and most of the times, like the simple things are the ones that end up saving us the most time in the future. And when we talk about metrics, it's very important to first validate that we follow the right naming conventions, and we have the correct labels. And if possible, if checking if the metrics are prefixed with a component name, so that later on we can easily find out where the metric is being created and just more quickly trace it back. And I have unit tests for functions that update those metrics, and in the end of the test, validate that their value was correctly updated, as we'll see later on in the demo. Now, let's start with the alerts. One of the main concerns in this topic is that we don't want to be flooded with false alarms or miss critical alerts, right? So we'll discuss how to ensure our alerts are actionable, relevant, and they are real. And we'll also cover how to configure them correctly and ensure that they react to the appropriate triggering conditions. This is probably the most known quote in the area, and if you worked with alerts, you already probably saw it, that every time the page goes off, I should be able to react with a sense of urgency. I can only react with a sense of urgency a few times a day before I become fatigued, and every page should be actionable. This is taken from the site-level engineering book. So it's like one of the vivals of observability, right? And we have to be aware that an urgent alert might actually wake up someone in the middle of the night. And this is even more important when we are producing software for external clients. We don't know how many people on duty they will have. Actually worked on a small company before, and you were two people managing infrastructure, and we didn't have someone already ready at all hours of the day, right? And since we had clients on the other side of the globe, if we had an alert in the middle of the night, one of us would need to wake up and look at it. So it better be a real alert. So how should an alert be configured? It should have an owner, a contact person that it's basically able to quickly understand the problem that created an alert or the process it refers to. Sometimes it might be the developer of the feature, other times it might be someone from a monitoring team. So this is really important because sometimes we don't want to start with something that we don't know very well and knock your head off and then lose valuable time. And as in metrics, we should be able to quickly identify the component to which the alert refers to. For example, if you have a Kubernetes operator, that is managing, for example, resources on IBM Cloud, we might want to have an alert like, IBM Cloud is not available. So we want to identify which component created the alert so we can quickly understand where it came from and go there to navigate the logs and try to understand in more detail the problem. Also a summary and a description and I think those are actually pretty straightforward, but we should also have a link to a handbook which we'll see in more detail in the next slides. Usually for severity, some people use different severity levels, but Prometheus actually recommends these ones and they are useful to distinguish like which actions we should perform for each alert and to sort the priorities on them, right? For critical alerts, those are usually the ones that will page people in the middle of the night. The warning alerts we sometimes just want maybe to create a ticket that should be looking into the next day. They are usually useful for, like some component is reaching critical memory. If you don't do anything in a day or two, they will reach a critical state and usually don't really perform any immediate action. We just also create a ticket that goes to the bottom of the line. About the alert handbooks, I think those are really, really the important part because they serve as a comprehensive guide for the cluster owners or the operators and they should provide a step-by-step instructions on how to handle the specific alert. Like you all know that if you don't provide these handbooks, usually owners or operators, we'll need to go through a lot of documentation pages or their personal notes to understand how they can debug and fix the problem and this always leads to losing valuable time. Usually that time also means losing a lot of money, right? And even worse than that, sometimes we force them to rely on memory or improvisation because they will handle some related issue in the past and that will also lead to mistakes and more delays. So, how can we test the alerts? In our tests, we should make sure that all the alerts include all the mandatory fields that we said before, that each handbook URL link is valid and the handbook actually exists, that the alert includes a reference to the instance or pod, it might be like the name of the component or really a label about the pod or even in the description. And the alert is triggered when the expected conditions are met, right? And then again, most of these steps are actually very simple, but as I said for metrics, might just save us a lot of time and ethics in the future. So, now let's put this theory into practice and I'll try to show you a small demo that usually goes very badly. So, to start with, I have here the creation. I don't know if you can see if I should increase or do I want to increase? Can you see or is better to increase? It didn't even start already, first issue. Maybe it's good. So, in our project, we want to create the metrics, right? Actually, I should start with. So, this is a simple operator for Kubernetes. I, legit, didn't have no logic at all for now, just some simple metrics and alerts as to show you how you can start with, right? And from then, I used, in this case, Kind to create a new cluster and I just installed Prometheus. I'm doing this locally, but obviously you can follow these steps on a cluster you have for testing. It's even possible to do it on GitHub Actions or GitHub. So, really simple steps that you can easily do in five, 10 minutes. And after having the cluster, I then created my metric. I have here the controller label to refer to the operator. We are now looking also, for example, to have stability levels that will allow us to deprecate metrics in the future. So, all these labels are really important for you to put some time into thinking about them and because these are the kind of things that will help you, your team, and your customers. And then, for example, for these metrics, we have here the reconcile loop of the operator. For those of you that are not familiar with operators, it lets us create a custom resource on Kubernetes and then, for example, when I create that resource, it runs this reconcile loop for me to perform any actions. Imagine that here, as I said before, I want to work with IBM Cloud. I might want to create, like, a machine on IBM or a route, something like that and this is the place where I will be doing that. And, for example, here, whatever the logic is, I want to increment this metric that will tell me how many times the reconcile loop was created. And as I said before, it's here we can start simple and write the test for our metrics. In the first step, we can start with the easy validation that, for example, the metrics follow the prometeers' conventions. And we list all the metrics and then we'll link the metrics. Here, I'm using prompt-linked tool which already brings a lot of validations that, for example, the metrics have all the necessary structure. For example, counters should not have the total keyword at the end. And as I said, this is really important to take a look in the beginning when we start adding metrics. In QBird, we have a lot of developers having metrics and without any validations. And in one component only, this is here. So, what ended up happening is that when we added the linter, we had all these issues. Non-Instagram, non-summary metrics should not have the accounts so fixed. And you'll see those are a lot of errors in terms of units and so on. And now we saw before that we are having stability levels. Why are we having that? Because this project is used by clients. And which metrics are clients using? Those ones that we created before. So we can just simply go there and rename the metrics because they are using them and it will cause them a lot of trouble. So we are now thinking about we should deprecate these metrics for two versions, create new metrics with the correct names, warn the customers that these metrics will no longer be supported, and trying to see if they are already using those metrics, not causing them issues and this will take a lot of time. So, and you saw that really it will take like very few lines to call Prometheus linter and save us from these kind of troubles. But that's life and that's why we are trying to now expose these issues that we have with the community and writing some best practices so these problems don't happen again, right? So moving forward here, it's the unit test for the metric, right? We get the initial reconcile value count and then we have the reconcile loop. As you saw it was very simple so it's obviously updating the metrics but in the future your logic will be much more complex but even though in the end you for example in this case expect the initial value to be added one that will be the final value, right? So pretty simple stuff. From there we move on to for example recording rules. So this is where we are creating the regency in the rules. For this project I created two simple recording rules, right? The first one, the number of operator pods in the cluster which is simply a query for Prometheus which counts the number of pods up in the cluster of that type and also the number of heavy pods which is the sum of the pods in the cluster because this metric will have the value one if the pod is ready to be used, right? And also you can notice here that some of the... We are also already trying to use stability levels on the alerts, for example, alpha. Here is just an example but heavy is to show that this is not like something tested and it's still being worked on and other. From these recording rules we are building our alerts and one of the most important alerts to start with is obviously testing if the operator is down or if the operator is not heavy. We make use of the recording rules we saw before. If the number of pods, operator pods in the cluster are zero, will be triggering the alert and if the number of heavy pods is less than the number of pods will give the alert test operator is not heavy. For those, we have also some validations. For recording rules, we are linking the metrics as, linking the recording rules as we did for metrics because they should follow the same conventions as before and then here, for example, I want all recording rules to be prefixed with the name of the operator. And also the same for alerts that should follow from these conventions. And actually here, I also put the link here that I said before that we are trying to achieve adding the best practices for observability on operator SDK. So a lot of these validations come from there, right? Alerts must be in Pascal case format. They must have an expression. We are validating labels, validating annotations. So just following the recommendations there. And these are basically the unit tests. I could have handles just to see that as a good developer I follow by the rules I created. This is one for the metrics. It will be very funny that it fell. And this one for the rules. Pretty simple stuff. So now moving forward for the end-to-end test that's what we want to know, right? I already here have a cluster. Actually I see that I have the resource created and the pod, but on running it will clear it all. I'll start running because it takes a few minutes I think. So, and let's see. For metrics, we are doing the same thing. Here some setup, deploying the operator, then port forwarding the Prometheus service so that we can access it locally and deleting any previous resources that exists. And our test says that we should increase the test operator reconcile count when the reconcile count is run. So we just get the initial value for the test operator reconcile count and we create a new resource. As we saw before in the reconcile loop, any resource that is created is supposed to update the metric. So in the end, we know that eventually when getting the metric, it should be equally the initial value plus one. This is a really simple test for metrics, but as I said before, it makes sure that everything is working as supposed. We saw that this is very similar to the unit tests, but in unit tests, it's easier for us to know that the metrics are updated. Here it's more tricky because it has a lot of also other operations before because we need to make sure that Kubernetes is actually passing the right events that is being cut by our operator and then later executing the reconcile function correctly. And we have reconcile count, but we can have a number of resources created, a number of resources deleted, anything we want. And for alerts, we first have the verification I mentioned for the handbook. We are checking that the handbook URL is available. I created just some geese on GitHub for the purpose of this demo and I can actually show because I copied it from one of our handbooks, cleaned up some stuff, but let's see because it's also useful to know what a handbook should look like. First, we have the meaning of the alert that supposedly these alert fires when no test operator pod is running the cluster, the impact that these alert has, sometimes incubate the operator might not have a big of an impact because the operator is not responsible for the virtual machines, but if the alert is like weird controller is down, then users might start to have a problem because virtual machines are running wild in the cluster and nothing is controlling them. And then we have all the diagnosis steps and here we should have clear steps that in the end we understand very correctly what the problem is. So moving back to the tests, we are now following the same approach, more or less for metrics, deploying a new test operator and then we are making sure that the test operator is down is thrown when we want it, right? And in this case, for example, we just scale the deployment down to zero and since we have no pods in the cluster, we verify that the alert is being triggered. In this case, pending is enough for me because you might want to have a delay on the alerts just throw the alert if the condition is met for more than five minutes, for example, but if I see if the alert is pending, like the condition was triggered, it's just waiting for those five minutes, I think the alert is working fine, so I'm okay with it. And for the operator not ready, I just come here and set the random image, which might mean, for example, that the repository is not available as happened earlier in the other demo. So it's a problem that sometimes we think, oh, this never happens, but it happens more than... It happens a lot, yeah, that's what I want to say. And we then validate that the alert is then thrown, once again, if it's firing or pending. And as the time goes by, we start adding a lot of alerts, for example, we might want to see if... Oh, it failed. If the... We might want to see if the operator is creating the right resources on Kubernetes and for that it needs permissions. One of the things that we can do is just go there, just delete the RBAC permissions and see if the correct alert is triggered, saying that this permission does not exist anymore and you should look into it, right? So that's one of the things that we test. We can test, for example, for HTTP requests if they are failing, that's actually a metric that Prometheus already gave us. So the number of things you can alert for is up for your imagination, actually. And just to finish... I want to present like this really useful tool. Actually, we don't use it on Qivirt, but I use it on my master thesis, which is ChaosMesh and it's really cool. It's really simple to use and it allows you to create a lot of problems in your cluster. For example, deleting pods, causing network issues, that might be a lot of latency, requests being dropped. You can cause CPU and memory issues. You should really take a look. It's simple to use, simple to configure and it has a lot of potential for the unit testing. So to wrap up, I just want to say that it's really important to add observability features. It really helps us. Usually when we start projects, we tend to overlook those kind of things, but they end up being very important then to help us in the future. And also important that they are actually working fine. As I said, we don't want our DevOps and the clients to be waking up in the middle of the night just to see that the alert was not real or we don't want to have bad problems happening in the cluster, but they are not alerted for and they are losing money and they are losing clients. So those are the main takeaways. So that's it. If you have any questions, feel free. Yeah, because those metrics are not up to standards, right? The idea here is to, when we have the stability level deprecated, we will add a flag in the help text and they are not. Because if we keep metrics that we want to update, we'll have a lot of more things to manage in the future, right? And we really have already a lot of metrics and it's hard to keep up with them. We are also trying to add tools to generate documentation and to centralize the metric creations, but there are so many of them. And if we have 10, 20, it's manageable, right? But when we get to the hundreds, we have a lot of components that becomes a problem. And maybe it's not a thing, as you said, to we cannot remove them maybe in a version or two or three because those problems happen. But eventually in the future, I think we need to end up removing them or else it will be unmanageable because even it's an open source projects, right? And people come and go and if we don't do anything about them, they will eventually be forgotten. And nobody will know why do we have this metric and we have another one similar. So that's why it's really important to validate them in the first place. Yeah. I don't know if you might not agree, right? But it's my only... So any more questions? Please. Four? Yeah. What do I... Mm-hmm. This is a big question. Sorry? This is a big question. Ah, yeah. So, yeah, the question was if how to create metrics for reconcile errors. So basically that example was very simple but imagine you had an error. Usually exit the reconcile loop with an error, right? And there I have just these... I have these just to operate our metrics. So reconcile count. But I could create a new one like reconcile error count. And in our loop here, I perform some operations that throws an error and I just create that new metric like increment reconcile error count. No, that was... Sorry? Ah, but this... Yeah, yeah. But you can have create any metrics you want, right? You might want to have an error that was... You could not connect to an external provider. An error that's just... You can create any metrics for the granularity you want because metrics are really cheap and you can... And you should create a metrics you need to then help you debug, actually. But then when creating the alert based on those metrics we should be more careful, right? Some of the errors might not be worth to alert for because it might come from user configuration that it was not able to create the resource with the properties it shows. So that might be like a warning or an info alert for them. But yeah, my advice would be create all the metrics you want because if you think that information is valuable, create the metric. The alert, you should be a little bit more careful here. Any more questions? So I think this is it. Thank you, everyone, for being here.


Hi, I'm Sarah Clark, and I'm here to help you get your progressive web app development off to a flying start. When you look at the PWA checklist, it can seem pretty daunting. What steps should come first when you should implement HTTPS and so on? Google engineers created Lighthouse to make these choices easier. Lighthouse is an open source, automated tool for improving the quality of web pages. You can run it against any web page, even those that require authentication. It has audits for performance, accessibility, progressive web apps, and more. You can use Lighthouse directly from the Chrome Developer Tools, install it as an extension, or run it from the command line. Just as test-driven development or business-driven development makes life easier, we can use Lighthouse to drive our development. We can replace the usual code-testy bug cycle with a new cycle using Lighthouse. We'll use Lighthouse first, choose a task to solve, and then test it with Lighthouse again. After fixing any bugs, we can move on to the next task. So let's take a simple web page, run Lighthouse, and look at the PWA section. We have six failed audits. Let's expand, does not register a service worker. This gives us a quick explanation of service workers. We can also click on the link at the bottom for more technical details. Let's go ahead and add a service worker to our page. We can add a script section that runs on page load, and installs the sw.js file. sw.js is empty for now. We'll get into the details in the next episode. When we load the page again, the console reports that we have a service worker installed. Now when you do this, make sure you're using a web server instead of just loading a file. Service workers won't work when run from a file URL. When we run Lighthouse again, we can confirm that the first audit passes. Now you've seen how we use Lighthouse to guide development. Give it a try for yourself. In the next episode, we'll add the code to make this site work offline. See you then.


Talk about the relationship. My girlfriend has influence on me. She's a big feminist. And, you know, that made me think about those kind of issues. I'm a feminist as well. Any feminists here clap? Any people? Now, here's the thing, okay? Now, there's a lot of people that didn't clap. But I don't believe you. Bump, bump, bump. Bump, bump, bump, bump. Bump, bump, bump. Bump, bump, bump, bump. Bump, bump, bump. Another one bites the dust. What's up, everybody? This is Chris from the Rewired Soul, where we talk about the problem, but focus on the solution. And that's right. The latest person in Hollywood to be accused of sexual misconduct is Aziz Ansari. So, today we're going to be talking about this and we're also going to talk about some solutions. Because, like I always say, here at the Rewired Soul, we talk about the problem, but focus on the solution. So, what are the reasons that I'm making this video? There's a million reasons why I'm making this video. First one is, for guys, be better. Be better. But I've always been kind of weary of Mr. Aziz Ansari. So, I was a huge fan of his work. Still am. I like to show master of non-heck and win some awards. So, I'm not the only guy who likes it. But one of the reasons why he blew up was because he was playing this white knight, right? In his stand-ups, he even made a book about modern romance. And when he does these things, he talks down to guys for being scummy guys, which you should do.  I've discussed them in other videos, which I'll link in the info card above. So, I'm glad that he does that. But you always got to be worried about the wolf in sheep's clothing. And that is how I've always felt about Aziz. Because he's always talking about these terrible guys, and that's kind of how he blew up. And it's almost like YouTubers. It's almost like people on this platform. You see them make a video and they're like, okay, okay, that got me some traction. I need to keep running with that. I need to keep rolling with that. And then he ends up writing a whole book about it. But the book is also about like modern romance, dating, texting, dating sites, and all this other kind of stuff. But even in his show, Master of None, which he does a lot of the writing for, he tries to appear as this do-gooder man, just being a really good guy. To be this example to other men. But this story actually came over the weekend and it was first released by a website called Babe. So, I will link to this article in the description down below. But it's very long, but I highly recommend you read it. Like, my friend sent me this article and I was like, what's this about? This sounds weird and I read it and it is so detailed and just brutal. And to give you kind of the cliff's notes on it, a young woman who wishes not to be identified, she met Aziz at a party. She was blown away. Oh my God, that's Aziz. They start talking. They exchange phone numbers and then Aziz asks her out on a date. They go out on a date. Everything's cool. They have like a glass of wine and he's like in a hurry to get out of there. Let's go back to my place.  And I won't go into the real deep details on this, but check out the article.  And this is why men, we got to be more empathetic to this situation. Like this woman gave him more than one hint that she was not into it. She just didn't want anything to do with it. And she even details part where she was trying to get away from him, trying to leave and he kept kind of jumping in front of her and things like that. And it puts you in a really awkward position, right? And they didn't end up having sex, but he performed oral sex on her.  And eventually she ended up saying, all you guys are the same. I'm out of here and she left crying. And this dude texts her and like she sends on a long text like this was terrible. And he sends like a nonchalant text like, oh my bad, I must have read the signals wrong or something like that, right? And as with any of these Hollywood stories, this is probably the first of many to come out. I have a feeling over the next week, we're going to see a lot more. But aside from what Aziz actually did, his response to this thing is one of the reasons why I'm so upset about this situation. So let's go ahead and read this together. In September of last year, I met a woman at a party. We exchanged numbers. We texted back and forth and eventually went on a date. We went out to dinner and afterwards we ended up engaging in sexual activity, which by all indications was completely consensual. What indications like here's. Okay. So let's pause real quick. Here's the thing. He does not deny any, any of her story, any of it at all. So if he's not denying any of his story, then which indication did she give him? Right? Okay. Let's continue eating. The next day I got a text from her saying that although it may have seemed okay, upon further reflection, she felt uncomfortable. It was true that everything did seem okay to me. So when I heard that it was not the case for her, I was surprised and concerned. I took her words to heart and responded privately after taking the time to process what she said. Then he ends with this little gem. I continue to support the movement that is happening in our culture is necessary and long overdue.  Like you ain't allowed to be part of this movement right now until some of this stuff clears out of the air. Okay. But like here's the thing.  So like I said, I'm pretty frustrated because he built a career and an audience based on this character, this persona of him being good guy Aziz, right? He even had this stand up clip, which I thought was funny because I have a lot of female friends who get the unsolicited junk pics, right? So here's what he had to say about that. Have no message. Just a photo. Such a strange display of male arrogance. Just like, what am I going to do? Speaks for itself.  I make this video for all of you. There is no chance in hell that Aziz is going to see this video. So I make this video for all of you. So the two things I want to touch on, mental health wise, are two things called pride and ego. Pride and ego plays such a huge role in people's mental health. And when I'm seeing all these situations, I just think about the inflated pride and ego of the men being involved in these. So pride. Pride is the way we think other people should treat us, right? Nobody should talk to me like this. People should treat me like this. So in Aziz's case, you know, he has expectations of how people should treat him based on his stardom, right? Then the ego, the ego plays really closely into the pride, right? The ego is the story that we created in our head about ourselves and that inflated ego. Okay. So one of the issues in Hollywood is you have these men and this is a whole society issue, by the way. This isn't just, you know, a small like, okay, these are people right here. Like one of the reasons that these people are so terrible and run amok is because we put them. We put them on this pedestal. We put them just way up here because of this talent they have to act and entertain. You know what I mean? So they get this inflated ego and they think they can treat anybody how they want.  So I mentioned in one of my last videos about how addiction destroyed my eSports career and I talked about how a lot of that was manifested through pride and ego, right? Pride and ego destroys so many of us and on a more personal level, so you can relate to this because I'm trying to help you out. We got to start looking at how our pride and our ego plays into the jobs we have. We get a lot of inflated pride and ego there. The relationships that we're in, right? We think that we deserve more in a relationship. We think we should get this kind of attention and this love and this person, this person should be grateful for who we are and the fact that we're with them. We get such an inflation of these things and we start treating people like they're less than us and to be honest, that's one of the drawbacks of living in a capitalist society. Like so many things are based on wealth that we look at people like, okay, wealth must mean that they're a certain type of person and what we're finding out lately with all this Me Too stuff is that that's not always the case. All right? But you know, the last thing I wanted to end with is something that Gary Vaynerchuk talks about all the time, which is this. That's Buddhist belief, treat others as you would like to treat your mother. I believe in that stuff. I actually think it's not some karma cosmic thing. I think it's actually quite practical. Would it not make sense to our practical brains that if you're doing something good for somebody else, that that puts you in a leveraged position for something good to happen to you? I'm actually not very romantic or cosmic or spacey or zennified around providing people value.  That's right. Karma is practical. It's practical. Like we all have these ideas of who we want to be, where we want to go, what our goals are, what our version of success is, all these different things. But that's more of a reason why you need to start acting like a good person right now. Not once you get to fame, not once you get to fortune or whatever your your goal is. Don't start trying to be better than. Start trying to be better right now. Okay, being good to your fellow human beings. It just makes sense. Part of the problem and I've talked about this in other videos is the default mode network in the back of the brain. I'll link to a video I did about YouTube. We're trying to teach them a little bit about this, but it comes from our posterior singular cortex. This is where all of our selfishness comes in. Okay, so we need to start learning how to deactivate that thing and be more empathetic. Try to understand like you can look at disease as his whole response and like, is this dude really that disconnected to other people that he couldn't, he couldn't see the signs that she was not into this, right? But anyways, I would love to know your thoughts on this whole disease situation. So be sure to leave your comments down below. And if you liked this video, please give this thing a thumbs up. It helps out the channel. And if you're new here, I'm always making videos about mental health to help you out. So make sure you click the little round subscribe button. All right. If you want to check out some other videos, click or tap on one of those thumbnails. But thanks so much for watching. I'll see you next time.


Yeah, can you hear me in next write down characteristics of once again characteristics of of the compounds of group two elements Compounds of group two elements the first compound that we have is Oxide formation that is oxides Okay, see we have different different types of oxides. They forms normal oxides. That is mono oxide ammotype It also forms peroxides of MO2 type right, so write down all elements Forms oxides of ammotype elements forms oxides of Ammo type This is mono oxide basically right on these elements also forms peroxides of peroxides of MO2 type So mono oxide and peroxides of MO2 type it forms, okay does not form peroxide BE does not form Peroxide all these oxides peroxide forms because of the Stabilizing effect of the cation Okay, the positive field that we have on the the positive ion that we have basically right if you talk about the positive charge on the element which is present on the top like B plus 2 mg plus 2 and all so because of high charge density over there these oxides are quite stable This v plus 2 and mg plus 2 Stabilize the oxide ion o minus 2 and hence the oxides are stable over there correct these oxides are also strong like I said stable, but it is strong enough It is not strong enough to prevent the formation of OO bond which is there in peroxide To prevent the formation of peroxide, but super oxide it does not form means whether the molecule will form Oxide or peroxide or super oxide it depends upon the stability of the cation Right, so cation is a strong enough to stabilize the mono oxide and peroxide But it cannot stabilize super oxide and hence super oxide does not form Okay, right down as we go down the group for peroxide you write down as we go down the group as we go down the group That's stability down the group the stability of peroxide increases Oxide increases Since be be does not form peroxide, so I'm not writing it down here mg o2 is least stable Then we have ca o2 SR o2 and ba o2 the stability order we have this The metal is directly allowed to react with oxygen Yeah, we'll try to finish all important things whatever few things is left I will ask you to you know go through on your own Okay, depends like what all things we can cover. I think we can cover most of the things We have one hour so we can cover those quickly write down and Then I'm planning to start thermodynamics next class. Okay thermodynamics or equilibrium. We'll see that Okay, you see how do we prepare the you know the oxides? oxides are prepared by the direct reaction of metal and oxygen Okay, converts into M o where this M is M is Beryllium this is important here M is we can have beryllium We can have magnesium We can have calcium Stronchium and Beryllium Right, sorry, Beryllium is not possible. I guess how Beryllium is not possible Beryllium we cannot prepare Beryllium oxide. We cannot prepare by this method Tillitronium Okay When Beryllium reacts with oxygen directly it converts into peroxide. You see this Beryllium plus O2 it converts into B a2 Down the group you go tendency to form peroxides increases. So Beryllium Beryllium gives you peroxide not monoxide We cannot form BAO by this method you keep that in mind We can also obtain monoxide By the decomposition of carbonate MCO3 heat this MO plus CO2 Okay, MSO4 sulphate Sulphate you heat this It is MO plus SO3 few characteristics you write down all monoxides Except BEO, you know the reason behind this our Inic BEO is covalent in nature presence rule these oxides are highly stable these oxides are highly stable BEO is amphoteric This is amphoteric Reaction which shows its amphoteric behavior is see this BEO reacts with 2 HCl converts into BECl2 plus H2O reaction with acid with base you see 2 NaOH It forms Na2 BEO2, which is sodium beryllate other oxides are basic in nature reacts with Water you see MO plus H2O and we know it forms Hydroxide the reaction is exothermic basic character of these hydroxide of these hydroxides Increases down the group Increases down the group size increases so bond length increases Bond strength decreases and tendency to release more OH minus ion in the solution. That is a basic character next slide down sulphur reaction means Which reaction? That's how this one sulphate. Okay So if you see this Next point you write down the oxides have oxides have High lattice energy lattice energy and hence and hence Stable lattice energy and hence they are stable as we go down the group Size increases as we go down the group size increases hence Lattice energy decreases Correct. So these are few properties. We have that you must remember for oxides and hydroxides hydroxides will see For oxides basically Okay, next the second type of compound it forms We call it as hydroxides hydroxides In general, we say when mono oxides reacts with water it converts into M OH whole twice and heat releases correct heat releases, but this is not for the Be OH 2 or Mg OH 2 beryllium and magnesium is not possible here means this M is Only equals to calcium strontium and beryllium So how do we obtain be OH whole twice and Mg OH whole twice beryllium hydroxide and magnesium hydroxide beryllium and magnesium hydroxides are prepared by dissolving Their sulphate in water so it forms be OH whole twice We get any two SO4 Similarly Mg SO4 plus H2O Mg OH whole twice once again This reaction. Okay, so we have any OH also here Solution of any OH we use Okay, any OH with water this solution we have and hence we also get here any two SO4 So be beryllium sulphate and magnesium sulphate is dissolved in The aqua solution of any OH which gives you this reaction now the properties you see like the first one be OH whole twice is Amphoteric is amphoteric in nature reacts with both Acid and base as we go down the group down the group this point already I've given you Down the group the basic strength the basic strength increases since the size increases more tendency to lose OH minus ion Okay, second point you see thermal stability of hydrides thermal stability thermal stability One second. We're talking about thermal stability means reactivity towards stability towards heats, right? Okay, so hydroxides we have correct so thermal stability right now thermal stability as we go down the group wait Thermal stability increases as we go down the group when you have suppose Mg OH whole twice and You heat this it converts into oxides and and Let's do okay. Next. We'll see the solubility Write down as We go down the group the solubility Increases as we go down the group the solubility Increases see solubility right on solubility depends upon Solubility depends upon the lattice enthalpy lattice enthalpy and hydration enthalpy the lattice enthalpy and hydration enthalpy Both lattice enthalpy and hydration enthalpy right on this point both Lattice and hydration enthalpy hydration enthalpy decreases down the group Decreases down the group if you talk about the relative decrease that decrease in lattice enthalpy is More rapid than that of hydration enthalpy next slide right down the decrease or Allowed on this way the lattice enthalpy the lattice enthalpy decreases decreases more rapidly more rapidly Then hydration enthalpy and when lattice energy decreases. So obviously solubility increases the decrease in Lattice enthalpy is more it decreases a lot in comparison to hydration enthalpy and hence the solubility increases then Next you see highlights write down elements of group 2 forms halides of Mx2 type Mx2 type highlights of beryllium BE x2 Are covalent? Again the same reason Only highlights of beryllium is covalent All other elements highlights are ionic in nature. If you talk about the ionic character of these highlights ionic character BE x2 is The least ionic impact it is covalent and we know as we go down the group the ionic character Increases covalent character decreases so any orders this One more point to write down the compound which is more covalent Can be easily hydrolyzed? Okay, so we can write down like this hydrolysis is Easier of covalent compound for example if you need to write down the order of hydrolysis of Vecl2 MgCl2 CaCl2 Bacl2 That's a SRI forgot. So we have SrCl2 and Bacl2 Hydrolysis is this Because it is the most covalent covalent compound can be easily hydrolyzed write down BE f2 BE f2 has random structure other highlights of beryllium But other highlights of beryllium other highlights of beryllium are crystalline crystalline is they have a different pattern fixed structure Are crystalline? Like you see Bacl2 and write down this is important Becl2 has different structures in different state like you see Becl2 in vapor state in Vapor state in vapor state Write down it exists as monomer Vapor state exists as monomer Zero dipole moment with zero dipole moment, but this is possible When temperature is greater than 1200 Kelvin, so when temperature is greater than 1200 Kelvin So at this temperature, its structure is pretty simple BE and Ca This is the structure with single bond okay, but when the temperature is less than 200 Kelvin 1200 Kelvin Then it exists in dimer form Right exist in dimer form if you look at the structure the structure is this We have Cl here beryllium Cl and Cl and this chlorine is in the same plane So it exists as dimer This one is monomer because we have only one molecule. This is in vapor state Vapor state on different different temperature more than 1200 Kelvin monomer Less than 200 Kelvin dimer Okay, next if you look at this structure of Becl2 in solid state in solid state in solid state it exists in polymeric form or It has polymeric structure polymeric structure. For example, you see beryllium chlorine beryllium chlorine and chlorine and Again, this is, you know, it is coming Out of the plane beryllium coming out of the plane out of the plane like this and Then again in the same plane and then this side we have again out of the plane This side also we have Okay, so this is the three different structures exist in two different states at different different temperatures So this is a structure you must remember it is important then copy Okay, next write down carbonates and bicarbonates carbonates and bicarbonates Okay, write down See carbonates we can prepare in two different way. I'll write down the reaction here directly The reaction is first of all you can take hydroxide moh whole twice aqueous And you dissolve this in CO2 this converts into M2 CO3 aqueous and H2O forms We can also use sodium or magnesium carbonate like you take mgCl2 suppose magnesium or carbonate you need to form So you take mgCl2 aqueous aqueous and dissolve this into sodium carbonate that is any 2 CO3 aqueous Then from this what happens mg2 mg co3 forms mg co3 forms And We get NaCl here This two won't be there This two will not be there because mco3 type carbonates will get These two methods we can prepare carbonates Write on thermal stability As we go down the group thermal stability increases thermal stability increases Okay, the reason for this is There's a fact called large cation large cation can stabilize Can stabilize large ni So as you go down the group the size of cation increases metal ion increases and hence the stability of carbonate ion is more Okay, carbonate ion is a big guy Right sulphate ion carbonate and these are the big ions here So for all these ions if you think of the bond length Then you'll get the reverse order Because down the group if you go bond length increases thermal stability should decrease That is not happening here, right here. It is happening because of the stability of anion So stability of anion is more because of the large size of cation and hence down the group The stability of carbonate increases thermal stability Okay important order this one So if I write down the order here Be co3 is least stable Then we have mg co3 ca co3 sr co3 And ba co3 Solubility in water of this carbonates you see as you know thermal stability increases down the group And hence the solubility decreases So as you go down the group thermal stability increases solubility decreases down the group as thermal stability increases thermal stability increases by carbonates you see It is prepared by first of all the reaction of hydroxide with carbon dioxide Which gives carbonate m co3 H2O comes out and then when this carbonate is dissolved in aqua solution of co2 saturated Then this converts into m h co3 bicarbonate Whole twice Get on all body bicarbonates Are stable in solution all bicarbonates Are stable in solution next You see nitrates There are three different way by which we can prepare nitrates One is you take monoxide And dissolve into hno3 So it converts into n o3 twice plus water There is nitrates If you take hydroxide Again in hno3 It forms m n o3 whole twice Achai made a mistake. This is only h2b hydrogen gas evolves here plus will get water to h2o with hydroxide If you take carbonate m co3 Again, you dissolve this into hno3 will get m n o3 Plus co2 Plus h2o This is the three way we have by which we can prepare nitrates Yes, you see as size increases hydration enthalpy hydration enthalpy Decreases and hydration enthalpy decreases means hydration decreases hydration You know size increases down the group so we can say hydration decreases as you go down the group nitrate o3 twice When you heat this It dissociates into oxides monoxide n o2 n o2 comes out So nitrogen dioxide evolves. This information is important nitrogen dioxide evolves last We have three more to discuss in this sulphates nitrites And carbides these three Not a big one small small things are there will finish by time So next is we have sulphates Four different way by which we can prepare sulphate Metal you dissolve into h2o4 converts into mso4 plus h2o oxide monoxide you take Again, you dissolve into h2o4 So it forms obviously mso4 will get sulphate With oxide we have water evolves If you take hydroxide mOH whole twice Dissolve into acid again h2so4 converts into mso4 Plus two h2o carbonate plus h2so4 converts into mso4 Plus CO2 Plus h2o for this also we have the same thing thermal stability increases down the group So if you talk about BE SO4 MG SO4 CAS SO4 SR SO4 thermal stability decreases down the group same reason we have thermal stability decreases down the group correct thermal stability increases so obviously solubility in water decreases exactly the same logic solubility decreases because more stable less solubility solubility decreases then copy Okay, next you see nitrides see all metals when heated with nitrogen forms nitrides of m3 and 2 type all nitrides Property you see all nitrides are colorless crystalline compound except Except which one could you tell me the first one right that is what you know the abnormal behavior we have except BE3 and 2 Okay, these nitrides when dissolved in water m3 and 2 dissolved in water It evolves ammonia and along with ammonia will get hydroxide will get NH3 evolves ammonia gas reaction with carbon monoxide is a bit different for the different elements you see here m3 and 2 When reacts with carbon monoxide it forms monoxide and n2 releases nitrogen gas comes out into this where this m here is We can have magnesium We can have calcium We can have strontium Okay Badium reacts in a different manner BA3 and 2 reacts with co It forms barium oxide and BA CN2 This is the reaction we have copied Okay The last one is carbide Two different types of carbide these elements forms In fact 3 write on alkaline earth metal earth metals forms three different types of carbide it can form m2c type It can form mc2 type and it can form m2c3 type carbide m2c type carbides Forms only by beryllium Only by BE so only we have BE 2c exist in this case Okay, this is formed by all the elements we can have different conditions for preparation But all elements can form this kind of hydrides This is also formed by all elements, but mainly magnesium reaction we'll see here Mainly magnesium So if you see the first type here, that is m2c type You know m is beryllium over here So first is so beryllium directly reacts with carbon Around 1900 to 2000 degrees Celsius And it converts into BE2c Okay, we can also take The oxide of beryllium Suppose 2 BEO with 2c Converts into BE2c Plus 2co this reaction is also very high temperature Uh around 2000 degrees Celsius. We have this reaction. Okay. So once they have asked this question in JE Which gas evolve when the carbide? I'm not sure with with you know What metal was there? But this was the you know, the idea of the question was this BE2c, suppose we have this carbide when this carbide dissolved in water Then which gas evolve here? right So obviously you should know the reaction The reaction is We have BEOH whole twice And CH4 4 so methane gas is the answer How do you memorize this? We have BE2c So BE2c actually dissociates as 2 BE2 plus since it is the Metal of second group. So it will always have plus 2 charge on it And BE2 we have it means 2 BE plus 2 will have 2 BE plus 2 will have total four positive charge It means carbon should also have four negative charge C4 minus And since carbon has four negative charge This is only possible When it forms CH4 Right since four negative charge it requires four hydrogen And hence CH4 will get so this is how we can memorize this reaction second type you see mc2 type carbide Like I said it is prepared by all alkali metals beryllium you see beryllium is allowed to react with acetylene forms BE2 And hydrogen gas releases If you take calcium Calcium directly reacts with carbon At high temperature 1100 degrees Celsius Forms CaC2 Condition is different again It can also be obtained by oxide of calcium you take You take carbon and you heat it around 2000 degrees Celsius CaC2 Plus CO So we have three CO here now on this the question that they ask here this type you see similar kind of questions That suppose if you dissolve calcium carbide CaC2 in H2O Then which gas evolves over here You see here Ca again it converts into Ca2 plus C2 2 minus will have you 2 carbon with 2 negative charge it means the possible reaction is Product is here. We obviously get CaOH whole twice calcium will plus 2 And this would be C2 H2 that is acetylene evolves in this reaction The last type you see M2 C3 type carbides Mainly formed by magnesium The reaction is 3 mg Plus acetylene Converts into Mg2 C3 Plus H2 2 mg 3 Sorry 3 C2 so it would be 6 So we have 2 here and this is 4 6 hydrogen so 3 H2 this is the balanced reaction here mg2 C3 Again you see when it dissociates It gives what? 2 mg 2 plus And this side we get C3 4 minus So when this dissolve in water mg2 C3 Dissolve in H2O It gives hydroxide We get C H3 C triple bond C H Propine So all these carbides hydrolysis reaction is important. You must do this Done copied Yeah finished Okay, so we are done with this. Okay almost done only a few things is left Like I'm going to you know tell you what all things you have to study In ncrt or any other book you have but ncrt you have to Read it read completely from beginning to end properly. Okay So only a few compounds, you know small small reactions out there, which is left What you need to do At home is You finished Magnesium hydroxide not much important Magnesium sulphate mgso4.7 H2O Okay, some properties and you know reactions. We also call it as ipsum salt quick lime you finish CaO Calcium hydroxide You'll get only four five reactions not much. Okay, and the last one in this you must do a little bit of about Cement and plaster of Paris plaster of Paris This five six points is very small small topic it is There is no, you know logic at least some carbonate stability sulphate stability and all there are some logic orders We have stability and all here. We have just reaction and all that you can memorize Okay, so these things you finish ncrt or if you have any other book Yes, if everything is given in ncrt go through it. Otherwise, I think few Things will not be there Probably if it is not there then you can refer any of the book But ncrt the entire chapter you have to do from beginning to end Okay, so this is it for this chapter next class. We'll start with either equilibrium Or thermo. I'll see that. Okay. Yeah, thank you guys. Take care. Bye


Six years after Lufia 2, Rise of the Sinistrals on the Super Nintendo, the Lufia series continued on the Game Boy Color with Lufia the Legend Returns. And yeah, right from the get go, this game has a very familiar feel to it. The dialogue is just as sharp and funny, the character design is consistent with the previous games, and the music, while limited, does sound like it belongs in the Lufia universe. Despite the familiar feel, though, there are some significant differences in Lufia the Legend Returns compared to its predecessors, the primary one being the dungeon design. Where the first Lufia game is a traditional JRPG, the second game is kind of a mash between RPG and Adventure Elements, the Legend Returns is more of a dungeon crawler. In other words, did you like the Ancient Cave and Lufia 2? Because that's what they had in mind with this game. Because every dungeon in the Legend Returns is randomly generated, and changes every time you revisit. In fact, the Ancient Cave is actually in this game, but no, these dungeons aren't all 99 floors deep. But they do have similar characteristics to the original Ancient Cave, with hidden treasures found in walls or shrubs, traps that can ambush your party, and just like Lufia 2, most enemies are visible, so battles can be avoided. The thing is though, there's no puzzles here at all, this is strictly a dungeon crawler, and that makes the combat kind of monotonous. Speaking of which, they also changed a few things around with the battle system as well, the main aspect being that you can have up to 9 party members, and you place them on this grid, with the top row dealing the most damage, but also taking the most damage, the back row doing the least damage, you know, the usual stuff that applies to grid based combat like this. Even though you can get as many as 9 characters here, only 3 can attack per turn, one per vertical column. You can play with and flip around the alignment however you'd like in between battles, but if the character on the top of each column dies, no matter who else is in your party, it's game over. However, to keep you from just relying on the same characters for every battle over and over, each character can learn a different IP spell, for each ancient scroll they find, and those spells will be unique to that particular character. Leveling up your IP skills is dependent on something called a spiritual force. In other words, a character comes with a color, red is strength, blue is magic in defense, green increases HP in defense, and yellow increases MP and agility. So yeah, there's some interesting stuff here on the surface, but like I said, the battles here tend to get monotonous. I admit I missed the occasional puzzle stuff that Lufia 2 offered. I'd argue the strength of this game is the story, in fact that's probably the strength of the entire series really. The Legend Returns takes place 100 years after Lufia and the Fortress of Doom, and 200 years after the prequel Lufia 2. This time you play as Wayne, who is of course a descendant of Maxim, and the mysterious woman who shows up at your village this time is Sina, an unknown force appears that the conspicuously named Deadly Tower, and weird stuff starts happening, so of course Wayne teams up with Sina to investigate and you run into all sorts of other characters along the way that join your party. Again, in typical Lufia fashion, it's how the story is told here that makes it worthwhile, with well-written quick-witted dialogue and certain characters you recruit are all kind of like their own inclusive episodes, so to speak. It's well-executed and exactly what you'd expect from a Lufia game, and despite whatever shortcomings that might come with the battle system, it's definitely a worthwhile inclusion in the series. There's a little bit of odd history with the Legend Returns. It was originally made to be a PS1 game, but the developer at the time filed for bankruptcy in the middle of production, so Neverland, the originators of the series, took over the project and settled on making it for Game Boy Color. So yeah, if you liked the two Lufia games on Super Nintendo, you'd enjoy Lufia the Legend Returns. The battle system is a little more grindy, but the story is certainly up to the task. If you're looking for something closer to what Lufia 2 offered, you'll have to go to the Game Boy Advance's Lufia the Ruins of Lore, which brings back puzzles and capsule monsters, not to mention an appearance by Dekkar, which is a nice touch. The Legend Returns goes for about $20 on Game Boy Color, not too bad, but it's also on the 3DS Virtual Console for $6. But yeah, the randomized dungeons give it a bit of a different spin, but the familiar Lufia lore still keeps the series true to its roots. It's a worthwhile playthrough today.


So, that's a wrap. I hope you enjoyed the event, no matter how chilly it got at times or how pitchy it got at times. So, thank you so much for attending. I know some of you flew abroad and some of you walked a lot and some of us talked a lot and annoyed you. So, thank you so much for staying. And I don't know how to use this, but I hope I'm using it right. Yeah. So, thank you so much for attending the con and it would not have happened without you. We did this for you. And if you enjoyed it and share the opinion and all the yeas or nah, that'll be great. So thank you so much. And I'd like to now go ahead and thank the sponsors. We have our diamond sponsors, Red Hat, Cystec, Optics, and VMware Tenzo. We have a Platinum sponsor, Apero. And we have our gold sponsors as well. So thank you so much. We would not have been able to do it without you. And we also have our wonderful program committee who were here to collect all the wonderful talks that you listen to and provide you with the right agenda, right content. So we were right on top of it for last few months. So thank you so much for everybody. And there are a lot of members that are not mentioned here, be it the CTF team or the events team or anybody who really advised us and got us moving. Thank you so much. And now I will now hand it over to James and Andy to wrap up the CTF. Thank you very much. So the last couple of days, we were running a CTF event here. Yesterday, we ran a couple of introduction workshops. And today we had an all-day event, just a couple of numbers on screen. We had 50 clusters, 80 flags, 11 hints, 560 total points possible, and 74 flags of missions. Next slide, please. Thank you. So we can see it was pretty tightly fought event, which is really good to see. We actually had a lot of collaboration this year, which is great. Lots of people working in teams. And the top four users were Adrian, Nick, Metahertz, and Alex. So congratulations. So thanks to everyone who played. We welcome any feedback. And if you're interested in the solutions, please come and talk to us. Thanks. Excellent. And thank you to Metahertz for choosing a genuine hack and name in the context of the rest of the individuals. Right. Let's talk briefly, if you haven't heard it before, about tag security, who we are, what we do, and why we care so much about trying to raise the bar for cloud native security. We have a repository. Everything we do is GitHub driven. We are modern developer flow focused. We come from a practitioner background instead of an abstract ethereal security deployment stopping background. And really, we're looking to work with projects to enhance their security and dispel some of the latter old security practices which involve perhaps fraud, fear of deployment. Instead, we prefer to deploy regularly and enshrine modern development practices. So what does that mean? It means we are a voluntary and community-based organization. Of course, the Linux Foundation runs KubeCon. We are under the CNCF, the Cloud Native Computing Foundation. But we operate with our own editorial independence, I suppose, from one perspective, which means that we're a collection of a raggedy collection of voluntary individuals, as you can see. Enthusiasts is probably the strongest defining commonality. Many of us are lucky enough to do security for a living. We also welcome people from an educative or academic background, as well as researchers, hobbyists. There is no minimum bar to entry. We're thankful for anybody who chooses to spend their time with us. The goals, really, this concept of strengthening the ecosystem, tag security's mandate is under the technical oversight committee of the CNCF to ensure the products and projects that are looking for that stamp of approval, looking for access to the marketing budget, looking for the reflected associative glory that comes with being in the same foundation as Kubernetes, one of the fastest growing projects in the history of open source, plus the cavalcade of other projects we have with us, are appropriately hardened, that we don't miss the foot guns, that we don't ship things that do not have that minimum standard of technical security quality. We identify gaps. This is part of our threat modeling process that we will talk about. Education is really important. Thank you for arranging and running the CTF today, James. Part of the point of running those sort of things is enshrining the adversarial mindset in defensive security. It's only really possible from a Sun Tzu perspective to know your enemy and defend against them with a full understanding of the suite of capabilities an attacker or adversary may have. I hope that we're the kindest, approachable security group in the history of security. You be the judge. We do meet regularly and have very open discourse. There is no nerd sniping going on here. Fostering maturity, this is part of our mandate to help grow the projects in the CTF. Engaging more communities, we do this intrinsically by virtue of those organizations coming to us as part of that TOC mandate and stepping up through the levels, advancing hopefully to graduate. We're there as part of that path and we look to collaborate and work in tandem with the projects themselves. Finally, nurturing growth and participation. It is a highfalutin goal. We really want as much contribution. We are the product of, or we are the sum of our parts, really, we are the product of the contributions that people make to us. And we're nothing without the community that builds and supports us. So thank you to everybody who has contributed and please do throw your hat in the ring if you would like to understand different security mindsets and different ways of approaching problems. There really is no finer community in my humble opinion. Our charter, protection of cloud-native systems. This is our goal. The advent of all this new technology brings a rush of developers as we saw at the advent of the cloud-native Renaissance. The people who were delivering code were writing Golang. Golang's relatively exclusive in terms of language penetration. In 2013, there were not many security engineers writing that language. And so we see incredible utility afforded to developers and operators with some attenuation of security focus because, again, of the complexity of penetration of dealing with a language with concurrency primitives, I suppose. What about Rust? What about Rust? We ask ourselves, the Rust Foundation is interested. We're yet to see a lot of Rust turning up in the CNCF. Perhaps you can correct me. But, yes, as it advances, we will also be looking for Rust security practitioners because that is certainly somewhere that we do not currently have strong representation. It is exactly the same problem, the long tail of, I suppose it's the short entrance to the humble brag from Mr. Kaffos that we have two implementations of the update framework, one of the first security projects to come through tag security with published security properties and a known attack and defense service. But, yes, please, anybody interested in helping the ecosystem, we are raising the bar of security universally. We have next, helping developers meet security requirements. These are the abstract, sometimes security requirements that developers find hard to reconcile with genuine implementations. This is where we can provide value. We have been through this process multiple times and we look to minimize the friction involved with implementing, again, these abstract security properties and common tooling for audit and reasoning about system properties. We have provided some organizations and I referenced the Spiffy Spire threat modeling work here especially with very detailed security properties that can be given to adopters, so the systems that they build upon these security tools and we're in a space where we know that rolling your own security tools is the method of last resort, that roll your own cryptography, do the minimum you can, try and implement other things, but when there is a gap in the market where there is innovation, when there is the bleeding edge, instead of allowing adopters to be cut on that bleeding edge, we provide them with, for example, in this case, a matrix of compromise, an attack matrix. What happens when an attacker has this level of access to your system? These are the security properties that still remain. These are those that you should mitigate with other controls. I advise you, if you're interested, to look through that work as an entry point to understanding the capabilities of some of the people that I'm lucky enough to work with. With that, thanks to my co-chair, Brandon Lum, who is here today, Aradna, who also spends a huge amount of time working in the team. We're lucky to have an active and vocal tech lead community. We welcome Mr. Justin Kappos back after hiatus. Very pleased to have you with us again. We have Andrews here, push cars in the room, I hope somewhere, or at least was, and is around. And we have, of course, then Michael Liebman, who is also our interface into the OpenSSF and into the Salter Steering Committee. And then I'm lucky to be joined on stage by Marina and Raga, who have joined us recently. We also have Matthew, who happens in here, but is working actively on a complex threat model dealing with Argo CD. This is how modern GitOps-based deployments occur. We also have, as we'll see coming up, work with Flux and GitOps in general, SERT Manager, again, huge thanks to the team, and I will pass over to Marina. All right, thank you. So I'll talk a little bit next about a couple of the projects that the tag is currently involved in. So here's a quite quick highlight of some new projects and things that just finished. So there's the Cloud Native Security White Paper. We have a version two of that white paper that was recently released, as well as an audio version of the white paper that's available online for folks who prefer to consume it in the audio format. Another white paper that was recently released was the Supply Chain Security White Paper. So that's also available. These slides will be available when they have links to all of these projects. They're also available on GitHub. And the other breaking project is this Cloud Native Security Controls Catalog, which is a catalog in GitHub where you can access all of the controls and go through those. Some other upcoming projects, these are in-progress projects. This is a great place to get involved if any of these have your interest and they have open issues on GitHub to track all of the different progress. This includes the lightweight threat modeling project, the version three of the Cloud Native Security White Paper because security is always evolving and so we need to keep making versions of this white paper until we capture everything and perfectly, which will never happen. And then we have the Cloud Native Security Controls Mappings. There's a couple of different versions of that mapping. The Cloud Native Security Controls to existing standardization efforts. And we have some security assessments. There's lots of ongoing ones here. I think a couple just completed. Some links there that are ongoing or upcoming. And the Zero Trust White Paper is also an in-progress project. Another white paper explaining, focused this time on the Zero Trust architecture for Cloud Native. And the V2 of the audio for this Cloud Native Security White Paper that covers the V2 version of the white paper instead of the V1. So that's kind of what we have ongoing. And then again, links to the GitHub. Anything catches your attention with lots more detail about all of these projects. So I encourage everybody to get involved and join us in whichever version of this, whichever project seems the most interesting to you. And we're gonna pass it on to Raga to talk a bit about where you can jump in and some kind of quick calls to action for getting involved today. I missed one thank you, which was, I've been eyeballing him about the Spiffy work. But of course, thank you to Andrews Vega, who is also our tech lead for this piece of work. And everyone else was called out already. Cheers. Okay, so now that we've established we are the kindest, humblest and the most welcoming community here. And there is a ton of work for everybody. And a recent study astonishingly says that there is only one security engineer for every hundred developers, which is a really, really, really less amount of numbers. So we need you. We need you to come join us, collaborate. We're really friendly. We are not at all scary. And we're not scary as our vulnerabilities are. So come join us. And how you could help immediately is by joining and sharing the survey, responding to the survey and share whatever you know, how supply chain is affecting you. So this really helps us in driving our roadmap as well as derive some key insights on where we can improve. So take a moment, take a moment, scan this QR code, please respond to the survey and we really will be benefited out of it. I'll pause a moment. So you actually take your phones out and scan this, please. We are active on a number of communities. If Slack is not your cup of tea, then go ahead, check out our GitHub. We have GitHub as our single source of truth. We maintain everything via GitHub. There are a ton of issues. Last I checked it was more than 130. So feel free to check out all our issues wherever you want to get involved. Just drop a message or drop a comment there and we'll get back to you. We are really active in Twitter as well as well as our mail lists are active as well. So whichever platform you favor, you can go ahead and get involved. And we meet weekly on Wednesdays in two different time zones in APAC as well as US time zones. So feel free to join us, whichever time zone you are, we have a room for you. And if you are sometimes like me, Misson Zoom meets, there is always YouTube for all our recordings. So feel free to go back, check it out and whatever you're interested in, come join us. And more importantly, we are going from colo to solo. So we need your support. Do check it out and the CFPs are open, so submit and we look forward to seeing you here again in four months. Miss us maybe, but we'll be back in four months. Thank you so much. Thank you from our racoon.


Yeah, it works. Okay. Hi, I'm Erin, Erin Chen. I'm the founder of Leela Sutra, a sexual-oneness company, as Angela introduced, and we're going to talk to you about my fuck-up story. It's kind of funny because it's actually technically not over. It's at mid-fuck, so that comment earlier about it takes two years, and all that stuff, I'm kind of like right in the middle of it. And Angela and I joke that, you know, I'm not there yet, that like post-fabric cigarette. I'm not really like that. So, and I work in the area of sexual wellness. So just a bit of a forewarning.  But it's not that type of fuck-up story. It's still about a start-up. So I was thinking about, you know, how to start sharing this story, and this definition of start-up kept coming up for me. A friend of mine sent it to me a few months ago, and it really resonated with me. Now, this is not the absolute truth. Like there are many other definitions of what a start-up is. This one just resonated with me.  I don't know who said this, so I'm attributing it to my friend, Damian. And the word in there that I really liked was search, because that's basically what the last two years really felt like for me. It was a search of something scalable and something sustainable. And the start-up idea was Lila Sutra, and this is how it started. The idea that I started off with was to sell pleasure products, aka, you know, sex toys, organic lubricants, massage oils, you name it, through the home party model, or direct sales, as some would say. And it's an idea that's quite popular in the States, quite popular in the UK, the idea of, you know, home parties, direct sales model for sex toys. I mean, it's just never been done in Asia before. You know, we had that for supplements, for insurance, for other stuff, but not for toys. And, you know, for me, when this idea came about, it was perfect for me, because it checked a lot of boxes.  You know, I've been since I was a teenager. I was just human sexually fascinated me. I was always that friend that people would talk sex with. I shared everything I read with all my friends. And I wanted to do something meaningful, something fulfilling, something that would make a difference. And I thought, you know, this could work in Asia. You know, we had this perception that Singapore or Asian society is pretty conservative, no one wants to talk about it. So I thought, this approach could be good, you know, it's intimate, it's safe, people feel more comfortable. No one wants to walk through a black curtain on Orchard Road, right, to check out products. So, okay, that's how I started. Didn't quit my job right away. I did the lean startup boot camp thing, so I knew, like, alright, you're supposed to test your assumptions.  So that's how I started. On the side, you know, consulting by day, by night, doing parties for friends. And the word kind of spread from there.  That's kind of like how my dad reacted when I told him what I was doing. He was like, the mafia's in that business. I'm like, I'm not trafficking people. Parties actually turned out to be really fun. They were inclusive. They were gender-friendly. Women started, you know, they had a lot of fun learning. We talked about where your G-spot was. You know, what the clitoris actually looks like.  And they were really educational. So I thought, okay, like, I'm, I could be onto something. You know, expats were liking it. Locals were liking it. I tested it with different age groups. It was a point where, you know, I felt like I needed to spend a lot more time networking and introducing myself to people because this was a very new concept in Singapore, you know. So I needed to spend a lot more time educating basically the community. So it came to a time where I was like, all right, should I quit now? What do I do, you know? And I got this piece of advice, which was really helpful, actually. And I received this piece of advice at the second fuck-up night, which is kind of cool because we're on, what are we on now, 15? 15, so that's a lot of fuck-ups between number two and number 15, which is, you know, kind of consoling for me. It was for me when I realized that. And the advice was, you know, basically my friend Adele, she also runs, she used to run this with Angela.  Some people will think it's awesome, some people will think it's not gonna work. The only thing that you, you know, the only way that you'll know if it works is if you actually do it, right? So the only thing that's black and white right now that's certain is money. How much money do you have? And how much time does that buy you? And is that enough time? So that made it really easy for me.  And I was like, woohoo! So I went into 2016, I was like, yeah, I'm gonna do this, right? But really, what happened in 2016? Are any of you friends here? Here we go.  So this idea, right, tested, uh, no, no, not, didn't work. You know, because I thought, alright, I'm just gonna fine-tune the process, create my script, create this business in a box and find people who are just passionate of me, who will do this with me, grow my sales team. People were passionate, people really responded, they wanted to be part of this movement, but people weren't really ready to go out and sell toys. So this was gonna take a lot longer than I had planned. Alright, so then I needed to create other revenue streams. E-com, yes! Because, you know, past customers wanted to buy other stuff, right? So I'm like, great, I'm gonna do this. Two birds, one stone. E-com is like a whole other beast. It's like a full-time job. Right? I soon found that out, and I have a business background. I'm kind of techie, but like, wow, that was tough. Okay, so moving on. People started asking me how much I charged. And in the beginning I was doing these for free. When people started asking me, you know, how much do you charge, that was kind of telling me, like, alright, people found value in the experience. It wasn't just about the toys. So great, I created different workshops, you know, and I started charging for them. Then other brands started approaching me and they wanted to collaborate and put on a fence. And, you know, there were certain people that gave me feedback that they didn't want to come to such an intimate thing. They didn't want to hear about their friend's sex lives. Oh, good point. And they wanted to kind of something that they could be more anonymous, but still get that experience.  So lots of pivots. And at the same time, you know, women were asking him, and they were asking, you know, do you do private sessions? Because I want to continue these conversations.  So lots of pivots. And, you know, some of them didn't really work. Like, that's not, that did not work. E-com, not going to work.  And at the same time, in 2016, you know, life grew a few pivots at me as well. So around the time when I attended my resignation, my now husband thought, hey, it's a good time to propose. So he surprised me with a proposal. Well, you're early in my head, pun. So in the end, in 2016, my husband was offered a really good opportunity in Syria. So all the boxes that I had originally checked for my story of idea, now I had another box. I needed to now pivot towards something that was international, that was borderless. So in 2016 was a lot of fun, really stressful. You know, this is what it looks like from the outside, right? You know, the networking started to pay off. People, you know, who were starting to find out about what it is that I did. Word was spreading, and so, you know, her world wanted to, like, put me in their magazine, and expat living and all that, and people wanted to interview me, and, you know, Diamonds sold out, so people were like, wow, Erin, I'm on the right side, right?  For me personally, that kept me saying throughout all these, all this, was two things. One was, you know, my husband, my friends, family, support, support network, and the second thing for me was purpose, the sense of purpose. You know, social wellness, you know, something I could talk about all the time, but throughout the two years, it's really validated for me that this is really now more than just a passion, it's a purpose. So, even though it's like, all these pivots and pivots, it's still towards a similar direction, at least for me, you know, for me, honestly, I want my kids to grow up in a world where sex is not a taboo, right? It's like, we could talk about sex you know, and yeah, I could go on and on, but that's a different talk. So, that's where really kept it going for me. And so, going back to the idea of like, midfuck, right?  But I don't know, right? I'm still pivoting. So, maybe, maybe, that's just, this is going to get really deep now. Maybe that's just what life is. It's just one big midfuck. Like, you're on the way, right? You're in, you're, you're on the right path. And that's, that's at least kind of how I feel. That's what kind of keeps me on this path. So, midfuck, where am I now? Basically, I'm, oh, you're not supposed to see that code yet. But anyway, I'm exiting the Pleasure Products business, as you can see. The code is actually for sale. That's happening now. On the Leela Sutra website. 50% of all of you used to code pivot. And basically, the next two pivots coming up are this festival that I'm running which Angela referred to earlier.  It's throughout all the pivots. You know, you start to learn about sex, right? I'm a business background. I was in consulting. I thought I would build this, like, fabulous startup, right? Like, yeah, maybe a unicorn. It's taking a lot longer than I thought. It's very humbling. But you start to, or I start to, you start to see what you're good at. So I'm good at events. I'm good at organizing, right? I'm good at creating that space for people where they feel comfortable. You know, that's where I'm focusing now. Collaborating with Green is New Black. It's on May 12th and May 13th. It's going to be awesome. It's a resort world. We're filling, like, six fall rooms with tons of brands, different marketplaces, speakers, thought leaders. And we're going to show them that Singapore is not so prudy as, you know, we all think it is. And you're not. I know. I've seen so many people. So yeah, so that's the that's the language for final information.  And it's something that I can take with me. It's international. I'm going to be making trips back to Singapore three times a year. And so that's kind of how I've worked out this next pivot. And let's see where this takes. Thank you.


the fancy biological word for that is habituation. That's the word from animal behavior science, ethology, that describes how animals, we're animals as well, get used to stimuli in their surroundings. So every time a plane goes by, generally animals will look up and see what the plane is, see what the noise is, where the noise is coming from and eventually they'll just learn to tune it out. Whereas us autistic people, we don't have that habituation effect. We don't know how to do that. We will always be looking at what the sound is, my fridge, my mortal enemy in the room behind me. I can always hear it. Got a little bit of a buzz. It's on gloves today. Good. I'll put it back on later when I'm upstairs, but we just don't have that habituation.


Russians losing their positions south of Bakhmut, Ukrainian army advancing. Russian occupation forces lose their positions south of Bakhmut and withdraw to the Bakhmut Holivka Highway, while the defence forces of Ukraine gain a foothold in the area of the railway near Klishyivka. We continue our offensive in the southern direction near Bakhmut. The occupiers in their Z-channels are already starting to get hysterical that they have to lose their positions south of Bakhmut, that the situation there is as difficult and uncomfortable as possible for them. They begin to withdraw to the Bakhmut Holivka Highway and are going to gain a foothold there. However, they mind the territory, there are quite large mine-explosive fields, but now we have already gone behind the railway in some areas, gained a foothold and continue to inflict fire damage on the enemy. Ilya Yevlash, head of the press service of the Eastern Group of the Armed Forces of Ukraine said. At the same time, Yevlash noted that the Russians had quite powerful forces in artillery systems. In particular, in the Bakhmut direction, the enemy has more than 100 tube artillery systems and the same number of multiple launch rocket systems. When asked about the situation near Khurdiumivka, Yevlash said that the situation is tense, the enemy tries to counterattack, pulls up reserves of various units, separate motorised rifle battalions and regiments, also has paratrooper units there, storm zed units and the combat army reserve. Of course, the enemy does not want to retreat just like that as their troops are forced to advance. If the Russians refuse to advance, they are destroyed by their own military, the spokesman added.


We got a juicy interconference matchup for Thursday night football with the Panthers visiting the Steelers. Now Pittsburgh is favored by four points.  We've had a lot of bad Thursday night football games over the years. This is not going to be one of them. Two of the hottest teams international football league right now. Pittsburgh on a four and Oh straight up in ATS run Carolina on a three you know, straight up in ATS run and how about Norve Turner and the job that Norve Turner has done. They're averaging 33 points per game during their three game win streak. Pittsburgh Levy on who they don't need Levy on bell. Although I think this Levy on bell situation could be a little bit of a distraction coming into such a big football game on Thursday night football. Now the players don't like playing on Thursday nights and a lot of times I can get into more trends and all this other type of stuff guys. But then we're off this burger has his own weekly radio show in Pittsburgh and he came out and he stated how he hates Thursday night games and he goes. No one likes playing in Thursday night games. I know the fans like it and the fans want to see more football but the players hate it. And then he goes on to say especially after a very physical division game like we had against Baltimore. It's not often Maria that a quarterback of a team will basically tell you we don't want to play the game and we're beat up. And oh yeah we've got a weird running back situation in which the room is divided whether we want him back or not. Now look at the Carolina Panthers six in two right now guys. Six and two. They're getting healthier. Their offensive line is getting healthier. They're young wide receivers starting to develop and Cam Newton's one of the best quarterbacks in the National Football League that people just don't give credit to. We talked about Norve Turner. One thing about Carolina seems like they're always in a bad spot. They've had a tough schedule. It's like man think about it. They were just in Pennsylvania two weeks ago taking on the Philadelphia Eagles. Now they got to go on the road and take on the Pittsburgh Gasteelers. Number hovering around four right now is just enough to pique our interest. Guys I think it's going to be a fun fantasy football game. I think it's going to be a fun reality football game. Give me the Carolina Panthers plus the points and the over in a higher scoring very entertaining football game. I can't help but wonder if Big Ben was pulling a little bit of a reverse psychology act. But Gabe likes the road team the Panthers Thursday night. Enjoy the game.


وَأَقُولُ فِي القُرْآنِ مَا جَاءَتْ بِهِ آيَاتُوهُ فَهُوَ الْكَارِيمُ الْمُنْزَالُوْ وَأَقُولُ قَالَ اللَّهُ جَلَّ جَلَالُوْهُ وَالْمُصْطَافَ الْهَاديِ وَلَا أَتْ أَوَّالُوْ الحمد لله رب العالمين له الحمد الحسن والثاناء الجميل وشدوا الله إلا إلا الله وحده لا شريك له وشدوا النسيدنا ونبينا محمد صلى الله عليه وعليه وعليه وأصحابه واتابعين لهم بحسانين إلى يوم الدين أما بعد إن شاء الله وطعاله I want to be in the name of Allah the Generous discuss and cover the strong bond between fast in the month of Ramadan and bravery and courage Ramadan is a month where the person shows courage and bravery it's not a month of weakness and life because you're not eating or drinking you become weak rather if you look at the Islamic history you realize that it was in this month that great battles in Islam took place let me go through some of them the first of them is when the first year of the Islamic Hijriah in the month of Ramadan and this is of course before Ramadan was made obligatory meaning fasting was made obligatory there was an expedition named Saif al-Bahri and this was under the leadership of Hamza ابن عبد المطالب the Prophet's uncle and his brother also from breastfeeding they left with 30 men and this was the first time a number or a group of the companions of the Prophet went out to fight and they went out to defend themselves regain their rights and what was taken from them but nothing happened no fight happened and the army never met and no one fought one another if you go to the Islamic history and you look at it you see when it was the second year of the Hijriah in the month of Ramadan the 17th the greatest battle in Islam معركة فاصلة this was a fight that distinguished falsehood from truth قلبة الموازين this battle changed the scales this battle is none other than غزوة بدر الكبرى the battle of Badr it is معركة a fight that took place that really showed the true essence and the true meaning of bravery and courage and the battle came to an end with victory on the side of the believers and the Muslims and this was the first actual time that Muslims and non-Muslims fought one another and the believers were literally number but they were strong and powerful in their belief and faith of Allah الله mentions it in the Qur'an لقد نصاركم الله ببدر وأنتم أدي الله الله gave you victory in the battle of Badr when you were literally number the Sahab was very little and this معركة this jihad happened in the month of Ramadan it happened from the 17th of Ramadan in the second year of the Hijriah the third battle happened when the year was the 23rd of Ramadan the 23rd of Ramadan في السنة الثامنة من الهدرة on the eighth year of the Hijriah and this is the conquest of Makkah بقيادة رسول الله صلى الله عليه وسلم the Prophet صلى الله عليه وسلم was the person who was leading the conquest of Makkah and this was من أعظم الإنتصارات this was one of the greatest victories that Islam and Muslims saw the other battle that happened in the month of Ramadan is في الثامن والعشريلة من رمضان on the 28th of Ramadan when the year was 92 Hijra أندلوس was opened under the leadership and the general القائد البارع المقاتل الفدر طارق المنزياد رحمه الله طارق المنزياد he had brought victory to the Muslims and أندلوس was opened also in Ramadan when the year was 583 when the battle of Hurdine took place under the leadership of Salahuddin Al Ayyubi Bayt al-Maghdis was taken from the Crusades and this happened in the month of Ramadan when the year was 583 in the month of Ramadan the year 658 a battle known as Ainu Jalu took place this is the month of Ramadan again believes are fasting and this was against غزوة المغولي the Mongolian fight when it happened in a place called Ainu Jalu which was close to a place called الناصرة in Palestine this became one of the famous battles that took place in Islamic history also the year 857 فتحة القسطانطينية until opal was opened على يد القائد محمد الفاتح محمد الفاتح opened قسطانطينية when the year was 1230 هجرية from the month of Ramadan the 16th of Ramadan the famous battle took place known as the siege of Napoleon in حدار النابليون and how he was destroyed against the great walls of Aka known in English as Aka or whatever they call it and he left with loss and as he was looking at the walls he said he said my dreams have become destroyed and it has been annihilated on your walls on your fortresses سلام عليك peace be upon you سلام اللالقاء بعد a greeting that there is no greeting after it and if we went in I'm not hesitating but I could show you more than 100 battles that took place in the month of Ramadan all of it signifying that they saw it as a month of خير and he didn't stop them from fighting and fasting and يكفي القلادة مع حاط بالعنق I mean that is enough for you to understand that this month is a month of working hard it's not a month of sleeping around and sleeping the whole entire day and staying awake the whole entire night it's a month of strength and power it's a month of lifting yourself and your weight and do what is upon you if I said anything wrong or incorrect from me and Shaytan and his messenger are free from it سبحانك اللهم بحمدك أشدو الله إلهي لله أستغفروك وانتولك السلام عليكم if you're enjoying these videos and you'd like to keep up to date with all of the courses we're going to be running make sure you head over to amauathome.com


So the controlled area lab is the lab responsible for both analyzing fuels and compressed gases. And more specifically, why we test the fuels here is to ensure that before refueling any aircrafts or ground transportation vehicles, there's no impurities in them. On the compressed gas side of things, it's very similar. We test them as a quality assurance, quality control, just to ensure that there's no impurities for the aviators breathing that, as well as the firefighters and maintenance folks. So the process for receiving samples to test is twofold. Either we're receiving the samples here locally by drop-off of fuels or compressed gases, or surrounding bases are dropping off their fuels and gases to be tested. The fuels aspect is shutting down completely. All of the samples that were tested here, as far as fuels are concerned, are now being redirected to one of our sister labs at Wright-Patterson Air Force Base in Ohio. As far as the compressed gas lab, about 80% of the compressed gas samples are being redirected to either our sister lab in Milden Hall, UK, or Wright-Patterson Air Force Base, Ohio. The small remaining portion of compressed gases that stays behind will be tested by the POL lab folks. So the lab here is shutting down for three main reasons. For one, it's really difficult to maintain the equipment out here. For two, it's really difficult to get samples here in a timely manner due to the international customs and courtesies. And three, we've easily been able to prove that we can redirect the samples to Wright-Patterson and they can handle that increased workload.