Hello and welcome to the Enhance your Kafka infrastructure with Flubio webinar. I'm Grant Swanson, your host for today's session. We will start with a few educational slides on Kafka versus Flubio. Then go into a live demo and then finish up with Q&A. Please enter questions anytime during the session in the questions window. In the handout section, you will see some of our newest content that includes a speaking session on Wassum Technology from our CTO, Seho Chang, at the most recent KubeCon event. We also have content in PDF format that includes a Java versus Rust solution brief, a financial services solution brief, a real-time economy white paper, an ebook on how to enhance machine learning models with real-time data pipelines, and an Infineon Cloud datasheet. Infineon Cloud is a fully managed Flubio service for enterprises. Now we'll cover the agenda for this webinar where we will discuss what are the differences between Kafka and Flubio, why companies are leveraging Flubio to complement Kafka, how to quickly get started with Flubio, and then a live demo with Q&A. Let's talk about some of the differences between Kafka and Flubio starting with programming languages. Kafka was built over a decade ago using the Java programming language. Flubio was recently built using the Rust programming language. Flubio differentiates itself as a technology by providing real-time stream processing and data transformation using WebAssembly, all in a single unified cluster. Smart modules allow for programmable stream processing for clean data. We will dive deeper into smart module functionality in the upcoming slides. At first, we wanted to cover a recent POC that we just completed with a company that serves over 3,000 global banks that enables over 1.2 billion people to carry out their daily banking needs. In the POC, they did benchmark testing on Flubio versus Kafka, and the results were outstanding. The performance improvements include up to a 3x latency improvement, up to a 5x better throughput, up to 7x better CPU utilization, and up to 50x better memory utilization. Why companies are leveraging Flubio to complement Kafka? The number one use case and reason why companies are leveraging Flubio to enhance their Kafka infrastructure is to stream clean data to a Kafka topic. The data collection pipeline shown in the diagram starts with an HTTP service and a Flubio HTTP source connector. Streaming data flows into the Kafka sync connector, where a smart module is applied. Smart modules are one of our premier features allowing users to have direct control over their streaming data by providing a programmable API for inline data transformation. Finally, the transformed data event flows to the Kafka consumer. Users can quickly and easily stream clean data to Kafka with no external ETL tools. With stream processing and real-time transformation, companies can stream data from a sale, a shipment, or a trade and perform any transformation that are needed before it syncs to an application or database. The two most common use cases are to build rich front-end customer experiences and real-time back-end operations. We believe that in the coming years, there will be a fundamental paradigm shift in data engineering, where companies will move away from traditional extract, transform, and load, or ETL tools, to an STL infrastructure or stream, transform, and load. The Infineon approach to intelligent data streaming includes a new concept called smart pipelines. Smart pipelines are unique to Infineon and include WebAssembly smart modules that can process and transform data with single-digit millisecond latency. Business logic can be applied to ensure data quality. Smart modules can be deployed at source connectors, sync connectors, or within the stream processing unit eliminating the need for ETL tools and providing a single solution with distributed intelligence and centralized control. Now we're going to hand it over to Alex Mekeloff, our architect, and Sebastian Imley, our principal engineer for a live demo. Welcome, Alex and Sebastian. Thank you, Grant. Give me just one moment. I'll hand this over to you. There you go. It's all yours, Alex. Thank you. As Grant mentioned, we are going to demonstrate the Fluvio data processing pipeline, and we are going to do it in two stages. The first one, we go via HTTP connector, connecting to FinHub API, then populating Fluvio topic, and then via Kafka sync connector, writing data into Kafka topic, and then we are going to expand it by adding aggregate smart module, which will add a specific data transformation before writing data into Kafka sync connector. So the transformation will happen only before data moves into Kafka, so as Grant mentioned, the Kafka will receive already clean data. And we are going to start from installing Fluvio local cluster. So this is a fresh instance in EC2, and what I'm going to do now is to install Fluvio using our open source Fluvio cluster. So as you can see, it's downloading and storing, which is 50. So then we are going to start Fluvio cluster. This will add Fluvio command to the path. So that's Fluvio local cluster is spinning up and installed inside of the MiniCube. So that instance already had MiniCube installed, but you can follow our website for prerequisites. So now I'm going to test Fluvio cluster. So I'm going to create topic greetings. And then I'm going to create a single message via Fluvio produce command. So currently I'm using Fluvio CLI. And then I'm going to consume the greetings topic again via Fluvio CLI. So as you have seen, it's quite straightforward. So we installed the Fluvio cluster and we created a topic called greetings. We have created it and then we consumed it from the beginning. Now that instance already have a MiniCube. And it also have a pre-installed Kafka local instance, which is a development instance. Nothing resembling to production, but it's already have multiple topics incorporated. So this is the local Kafka cluster. So what I'm going to do next is I'm going to create an HTTP connector, which will read the Fluvio CLI API. And I'm going to do it building up on the demo which Sebastian already demonstrated in the previous webinar. So you can clone our previous webinar demo, but the idea is that you need to register on PNHR pin hub IO and obtain API token. Then you need to create a configuration file, which looks like this for HTTP connector. As you can see, that's the name of the connector. That's the type of the connector. This is a topic which is Fluvio topic. The data will be read. So also it says that it will create a topic, which if it doesn't exist. And then it will query the API endpoint using get method for every three seconds. And we have a make file which can very conveniently demonstrate your code around multiple commands. And this one we are going to create a connector by Fluvio connector create command. As you can see, it's quite straightforward. Fluvio connector create. And now I'm going to check. So the connector is running. And let's check that it is actually producing a topic. So I'm using Fluvio consume command. Again, much in the topic named genie stocks. And as you can see, that's what we did. They've stock data every three seconds. So now what we are going to do is we are going to write into cluster. So as I mentioned, I already have a cluster which we created using Docker compose. And Docker compose file is provided the example, which will be shared after the webinar. And the important point is that it have advertisement host, which is matching the gateway for minikube. So our Fluvio cluster can actually connect into Kafka. So what we need to create first is the game configuration file for Kafka. And it looks pretty similar to HTTP connector. Except it's so name type is coffee scene picks up the data out of topic genie stock and then the rise it into Kafka process Fluvio topic. So let's create a Kafka connector. Checking that the Kafka connector is running. So Fluvio connector logs command can help debug if there are any issues. They've Kafka connector, but no issues so far. And let's check if we actually populating the Kafka topic. So, and we are going to do it using Kafka console consumer, which is available inside the Docker, which we currently running on that server. So to change topic, this one should be Kafka process Fluvio. Yeah, as we can see every three minutes we are populating every three seconds we are populating Kafka topic. Right. So that was basics introductions. We have created two connectors in Fluvio. One is HTTP connector and another Kafka scene connector. So what we are going to do next is more interesting. So we are going to add the smart model and it is aggregate it will be from the aggregate function. So that smart model and pretends that we purchased some stock warrants. And we are going to populate them using the text file warrants txt. And it will reshape our tick options and try to speculate potential profit and all loss. So what I'm going to do is again going to the Boston's demo. And so that one of it is the rust is written in rust. And what we are going to do is to compile it into WebAssembly. And then we are going to upload WebAssembly into smart models repository in local Fluvio cluster. And then we are going to validate it and attach it to Kafka sync connector. So again, there is a convenient make file which is already online. So that's already applied. We can do a cloud smart model. And as you can see, those are just commands which are pretty long. But this Merck file on the wrapper for Fluvio CLI. And what I'm going to demonstrate that we now uploaded price warrants aggregator. And now we need to produce warrants. Assume that we actually make a purchase. And that is very simple command which again uses Fluvio CLI to relate GMI stocks topics. And then we are going to check if actually our smart model is working. Okay. And as you can see, when smart model was applied, then the shape changed. And it also could create current profit which is actually lost. So if we potentially bought the stocks at 11 for April at various purchase price, which then be probably at loss at this point in time. So what we are going to do next is we are going to deploy this smart model. So it will run inside Kafka sync connector. And for that, the only thing we need to do is to add that smart model across warrants aggregator needs to be applied. And it is an aggregate smart model. So what I'm going to do is again to create a Kafka connector. And you can see now we have a single HTTP input, single HTTP source.  And one of them is running deep smart model. And another thing is running deep smart model. So let's read the topic and validate that our smart model is Kafka gate function. So again, I'm reading directly using Kafka consumer. And you can see it's currently zero. And the reason for it is that smart model and Kafka connector is applied at the leading state. So what we need to do now is we need to populate our warrants again because they're already in the topic when the connector started reading records and applying the aggregator. So we could use warrants again. Now we are running our Kafka connector. And as you can see, the aggregates smart model was applied and we currently have current profits, which is actually a loss. So to reiterate what we have demonstrated in such a short period of time is that we are able to install Fluvio and we are able to create HTTP connector, which reads data into Fluvio topic, then applies transformation, which is written in Rust and compiled into the assembly. It runs before Kafka sync writes it into Kafka topic. And that concludes the live demo part and we have now spoken a lot of the questions. Awesome, Alex. Thank you so much. That was pretty incredible that you got all that done in about 20 minutes. So give me just one moment. I'm pulling up the questions from the audience. Again, if anyone has any questions, feel free to enter them into the questions window even the chat box is fine. And I'm going to present my screen. Okay, great. We got one question that just came in here. So they are asking what other types of data transformation can be performed with Fluvio? So off the shelf, we have predefined templates for filter map, filter map and array map and aggregate smart models. Each of them applies as described transformation, but you can put more and more complexity depending on your Rust experience into smart models. Awesome. Okay, we've got a couple more that are coming in here. So I'm just going to read the actual comment and the question here. It says incredibly elegant architecture. K8's native and connectors plus smart modules and wasm look like this could be the building blocks of a universal streaming platform of the future. Are you planning on developing a high level streaming framework akin to Flink or Kafka streams on top? I can talk about this. I'm Sebastian Imley. I'm a software engineer here. Yeah, this is a high level strategy question. We've discussed this type of thing for a little bit of how to visualize various streams and how to have more of a graphical interface for defining your Lego pieces that go into a data aggregate and ETL sorts. So it's definitely something that can be put higher on the roadmap should it be needed. But for now it's in the backlog. Excellent. Thank you, Sebastian. Appreciate that. We've got a bunch more questions coming in here. So the next question is, so this is, I guess, about a replacement. Do you have an opinion on when Kafka is suitable candidate versus Fluvio? And like I said, I'm assuming that's a Kafka replacement for Fluvio with Fluvio. That's a tough one. It really depends on your use case. We're not quite feature complete with respect to Kafka. One of the things that I will say that's nice compared to Kafka is that we were able to deploy more easily. And my experience setting up a Kafka cluster is kind of a pain. So I would definitely say that if setting up a Kafka cluster has been your friction, that Fluvio is a pretty nice thing to deploy. And we're not trying to be entirely feature complete with respect to Kafka either because Kafka, for example, doesn't have the smart module features that we've shown here. But I will admit that Kafka does have more connectors to various services because the product doesn't exist longer. I agree with you, Sebastian. And I'll just add to that answer that we're continually building out our connector catalog, but definitely Kafka's got more options to choose from source and sync connectors. So as time goes on, we'll cover that gap, I believe. Okay, next question here. When will Fluvio support windowing and processing windowed data? That is a hard... That's not a question I know off the top of my head. It has been discussed. I can't give you a distinct timeline of this thing. I would have to discuss with our product, CEO and CTO SAO and AJ more. Yeah, okay, great. So we'll respond to that question offline. And we'll move on to the next one. So what are some of the limitations that Fluvio might have that Flink does not? So... Go ahead. Flink is more geared towards analytics where Fluvio is more geared towards real-time streaming at the core and then processing at that point in real-time streaming. So we are slightly for different audience rather than for like a replacement. So I don't see Fluvio being a replacement of Flink directly. And that's why even if Kafka and the rest of the infrastructure, we probably will complement quite a lot of the existing tools during various transition states for organizations. And as Sebastian said, we think about ourselves as faster, easier to deploy and easier to manage. Thank you, Alex. We've got a number of questions coming in here. So we'll continue to answer them as long as we have time. We have about 10 minutes left in the webinar. So the next question is, can the payload that Fluvio carries be binary? I'm thinking protocol buffers, et cetera. What are the types? Example, in Kafka, the client can handle the smarts about payload streaming and sizing. So can the payload that Fluvio carries be binary? Yes. On a low level, the actual payloads are all binary. I think there was some discussion, like you mentioned, basically some kind of metadata around the payloads. We don't quite have typedness for the payloads just yet, but building that on top of Fluvio streams isn't particularly hard. So there's no reason why you couldn't say put images or even video into a Fluvio stream. You just bundle your frame of a movie or a video into a given Fluvio record, which would be big, but there's no reason why you couldn't do that. In the case of mentioning GRPC, I think I have no reason to believe that you couldn't put GRPC streams into Fluvio. So yeah, it's binary and you can do this. For the cases of metadata and typedness, you need to do it by convention rather than Fluvio type checking. Excellent. Next question. Does Fluvio have a way to duplicate jobs to avoid modules processing the same record twice? That has been a discussion we've been looking into. Right now, no. But having stapleness on the stream is an area of work we've been looking into. It is near on our roadmap. The examples of this would be resuming from an offset for a given consumer stream. Excellent. A couple more questions here. Please keep asking the audience. If you have more questions, please continue to enter them into the questions window. We have two left here. The next one is likewise, what are some limitations that Flink has that Fluvio does not? Alex, do you get this one? I think this one is difficult to answer. What are the limitations of Flink? Probably people who are using Flink in production will tell more. As a ground set, we are an upstarting platform. We are building towards connectors. That's where if you already have a large infrastructure, then we can complement it. If you are starting from green field development, then we probably will allow you to progress way faster than Apache Flink or Kafka. To expand on that, I think one area that Flink probably lacks is the ability to do more edge nodes for Internet of Things devices, such as running Flink on a Raspberry Pi. My hypothesis or my suspicion is that it would be difficult to deploy Flink on edge nodes of a various infrastructure. Whereas Fluvio, we have an installation for Raspberry Pi. Should you want to do some kind of IoT thing? That's definitely an area where I would say Flink is lacking. Excellent. Appreciate that answer, Sebastian. Looks like we have time for one more question, which just came in. And the question is, does Fluvio support any flavor of SQL or is it in the plans? Yeah, I can talk about that. Right now we support a very low level representation of Postgres. And it's mostly currently used for CDC between two Postgres instances. It is in the plans to expand this to do Postgres from Postgres to MySQL or vice versa. It depends on if someone shows interest in one of these things, we would definitely love to add it. So it is in the plans, but we'd love to make it a higher priority. I would expand in a way that we would like to validate our connectors with use cases. So if you think that Fluvio can be useful for you in particular and have a particular use case in mind, I think that will be a really good opportunity for us to validate our platform and for you to prototype our use cases. Excellent. Appreciate that, Alex. So I would really appreciate the audience being so engaged in asking so many questions. We're going to wrap this up with a few call to actions. So it's very simple. If you're interested in signing up for Infineon Cloud, which is our fully managed Fluvio service, you can do that at infineon.cloud slash sign up. Or you can go to our homepage, infineon.com and click try now. We also have instructions on how to build a streaming app. And then we also have the ability for anyone to schedule an event streaming processing demo. And we're happy to engage with anyone in the audience if they're interested in testing out Fluvio and getting a POC up and running. We'd be happy to engage with everyone. At this time, we're going to wrap this up and I appreciate everyone's engagement. And thank you so much and enjoy the rest of your day.


From VOA Learning English, this is the health report in special English. Hypothermia is a real concern if you are outside in cold weather for a long time. It is a condition that develops when the body is losing more heat than it is able to produce. Hypothermia can be mild, moderate or severe. Mild hypothermia is something that most people who live in cold climates have experienced. You feel so cold that your body starts to shake a little, but you cannot control the shaking. The treatment for mild hypothermia starts with getting out of the cold. Drinking warm, non-alcoholic liquids and eating something sugary can stop the shivering. Taking a warm bath or sitting by a fire can also warm the body. In severe cases, the body temperature drops below 35 degrees Celsius. People may lose the ability to think clearly. Their muscles become stiff. In such cases, rangers for the National Park Service advise to prevent additional heat loss first. They place extra covering around the chest, head and neck of victims to keep them warm. It is important to work fast to get people out of the cold. It is equally important to move them slowly and gently. Sudden movement can force cold blood from the arms, legs and hands deep into the warmer middle of the body. The sudden flow of cold blood can cause shock. The process of rewarming a person needs to be done slowly in a hospital if possible. An extremely low body temperature can cause the heart to beat so slowly that a pulse may be difficult to find. In other words, a person who is suffering from the effects of severe cold may seem dead, but they may still be alive. For VOA Learning English, I'm Carolyn Presuti.


Long before the British colonialists occupied the Indian subcontinent, northeast was one of the richest areas of the region. It had an active economic discourse with its neighbours. Land and river routes were taken to travel to as far as Kashmir. It had traditional links with Nepal, Tibet and China. Assam and other areas of the northeast had one of the highest per capita income. Its ample resources like wood, oil, tea and other agricultural goods and the ability to trade live in the standard of living. The northeastern region was a kind of meeting point surrounded by different countries. When India attained independence, when the partition took place, actually the entire northeastern region was reduced to a landlocked cocoon. You know, and all our traditional trade, commerce, the linkages got disrupted. That affected the growth of northeast. Due to its geostrategic presence, the government did not really build any industry in these parts. War with China in 1962 built a case for north developing this region. Expectedly, there were very few employment opportunities. It set off a vicious cycle of lack of development and insurgency. In 1991, Indian government shed much of its Cold War baggage and began putting together the forgotten pieces of an old jigsaw puzzle. Maps of disused road and rail links, old river routes that kept northeast integrated with the rest of India and other countries in its neighborhood were revived. Termed as the Lukis policy, it revisited history to create new paradigms that were based on geography, shared culture and common religion. Lukis policy is basically a change from our trading practices and investment outlook which were mostly with the western world. And the Lukis policy is a belated appreciation of the fact that geographically we are part of Asia. The Lukis policy to me seems to be a change in strategy where instead of containment, now we are coming around to empowering people to be part of India which I think is a very, very significant change. India's Lukis policy was premised on the belief that northeast shares 4,500 km long border with neighboring countries and is joined by just 37 km corridor with India. Therefore, it made more economic sense to trade with neighbors rather than the mainland. The Lukis policy is a grand vision that envisages not only seeing northeast as the entry port to the rest of the Southeast Asia but also a recipe for the revival of northeast. There is a greater clarity in this vision this time after it was initiated in the early 90s. A Lukis policy could only work if it brought development to the neglected northeast. It also involved creating an educational infrastructure comprising of colleges, technical institutes and vocational schools that could channelize the youth into productive activities and wean them away from the path of violence. For any region to develop, it is important to know your own strengths. The same holds true for northeast. It has a large mass of English-speaking people that can easily be used in BPO's and the hospitality sector. We are good in English-speaking, we are good in IT. The northeast has a tremendous huge electricity generating capability and potential which I am sure will be very much beneficial to Myanmar and Bangladesh. We have coal deposits here, we have so many goods are here and so many things that our people have the skills but because of the link is missing. So we have not really been able to possibly flourish.


and also the GitHub classroom invitation. And this guide, the Get Started guide, you will see how to get started on GitHub classroom. You accept the link and then you will get your repository, a form repository of the template that we have prepared for you. So just, okay. So this assignment, this next session here, I'll be talking about how to install the DHIS-2 command line interface so that you can create a DHIS-2 application. And you will be following the same steps like it says here for creating your first project. So the task, this one is basically just to create an application from scratch. It doesn't have to have anything, no coding on the source code. It's just to show you how it works with the command line, the terminal and how to install all this, install the command line interface and to have the DHIS-2 CLI on your machine, globally installed. So you would need Node.js and Yarn. And you will run this command and I'll show you in a little bit. I'm just gonna go over the document here to initialize a new DHIS-2 application. This is for the assignment. After I'm done with the demonstration, you can go ahead and create a branch. There is more information on the get started guide that I just showed you. So I'm gonna share this link as well, sorry, so you can follow along if you like. Okay, so then before you, okay, so to create an application, you would need to install the DHIS-2 command line interface and to learn more about it, you can check the documentation from the developer portal sites. You go to the docs page and the tutorials, it says get familiar with the DHIS-2 command line interface and it will take you to the documentation here. Now, once you install the CLI, you will get a number of utilities or modules or modules I will also mentioned during this presentation. We will focus on the D2 up scripts here for creating a new application, but just so you know, there are other commands here that you can run, for example, the D2 cluster, this will create or yes, the spin up DHIS-2 instance and you can have that locally on your machine. So yeah, just know that this commands here exist and just to go back to the documents to create an application, we will run this, I'll show you in a bit again and this section here is optional. You could, if you want to just follow the, make sure that you follow the DHIS-2 style guidelines if you want to, it's not required, but this will, yeah, so this will check if everything is okay with your, with the style of JavaScript and it will be checking if everything is okay basically. Then you can add some scripts to your package.json file and run this commands. And then I will show you how to get started and connect your application to the server and then you can also read on how to submit your assignment here and if you have any questions, please interrupt me now or later. Yeah, you don't have to do this assignment right now, but okay, I'll just demonstrate on the command line. So, okay, installing the DHIS-2 command line. So I already have it on my computer. So you will just do this and yeah, it will install globally on your machine. So if you want to know more about the commands that are available, you can run the DHIS-2 help and you will see here that it will give you more information about the commands that you can run and that are available to you. So yeah, so if you have accepted the invitation link on the GitHub classroom, you will go to workshop one, you will go to the directory environment setup and this is where you will be adding a new application. But before you do that, you will need to create a branch, like I said. There's more information on how to do that. You will be, yeah. So let's say that I create an application. I am already on the environment setup directory and then I run a D2 subscripts net my app and this will be, oh, sorry. So I already have one. This will, I'm sorry, this is, okay, let's just test app. Now it's downloading. Okay, so if you're familiar with React scripts, this is the same thing. Now it's creating an application of the app platform application and it's installing everything that you need. For example, the up-run time and I forget the second thing. The CLI app scripts itself.  The CLI app scripts itself. Yes, yes, okay. Yes, thank you, Alison. This is going to take some time in my computer is very slow. Yeah, so in the meantime, if you have any questions, please just unmute yourself and see a comment. I've allowed people to unmute themselves if they'd like to. Yes, start the local host 3000. It's going to take some time. So I'll show you in the meantime how it's supposed to look once it renders. So you will see this page here, okay. We have provided a link to the DHS2 instance on the cloud and it's here for the Academy. So you can just enter that on the server when it's asking for it and then you log in with admin and district as your password and you should be able to see this screen here. And that's pretty much it to get set up for developing your application. Now if you are running into some issues, I have provided a guide on how to, and this is also part of the live instance debugging section of my presentation. So if you can log in, probably if you check on your console and then you're having some ugly course policy issues, then there are a few things that you could do to solve this problem and connect. You can also go over this guide that has more details about this, but there is a concept on DHS2 that's called a course whitelist. It's already set up now for the instance, so it should work. And I'm just going to show you quickly how to do it if you're spinning up the DHS2 instance that is not this one on your own just so you know that it exists. So you go to the apps icon here and you find the system settings. And there's an option on the sidebar access. If you scroll down, you will see here it says course whitelist and this is where you will be adding the URLs that you would need to connect. So this is to grant access basically to the URLs. So now we have a wild card here, so it's allowing everyone to, it's allowing every URL basically. So this is set up and that's why I was saying that it should work. Normally, it would just say localhost and then the port number. So another thing that you could do, it's to set the same sites by default cookies to disabled. And you can check this debug guide to disable that, but it's only when you're developing that's recommended. You can check a blog that Austin had written about it to learn more or disabling your cache. And hopefully that will work. I don't know if you have tried it, Robert. Yeah, Robert, my guess would be that it's the Chrome cookies setting for you. I don't know if you're using Chrome. Yes, yes, I'm using Chrome. However, I'm still trying to install the CLI so probably I'll follow through all these things once that installation is done. My computer is quite very slow, so it really takes some time, so I'll follow through this debug guide once that installation is complete. Okay, that's good. All right, yeah, thank you. Thank you. Yes, so once you start your application, then you are ready to submit. Just if you have the directory, you then follow this instructions. We are asking that you create a new branch and work on this one. You call your branch the same as the assignment name, and then you open a pull request. And we will review those PRs. And then after that, you will be able to march to your main. So we're doing this so you get familiar with the development workflow as well. If you're familiar with this development process, it should be fairly straightforward. If not, then it's an important skill to learn. And then that's it for the first assignment. Please just ask any questions that you have about this. And we look forward to receiving your PRs. This is not much, but we will get into more complex exercises for the UI library. And that will be more interesting, but this is just to show you how you do it. And it will be useful for when you start creating your projects. Deborah, I think we have a question here. Please, what should we do in case we install at dhs2 slash glee, but still getting D2 command not found on Ubuntu 20.04 LDS, please. It's also in Slack. I would have to check this. So I think it probably has to do with your path on Ubuntu potentially. You can also use NPX to run it directly if you're not able to install the global CLI or if that's having trouble. So on the platform documentation, I can share the link. It has an alternative that lets you use NPX to run the same command without installing anything globally on your system. I believe the system probably, you'd need to add your yarn global bin to the path for Ubuntu. I don't know exactly how you've set that up or installed yarn, but I'll share the link for the platform as well. Maybe that will be helpful. Yeah, thank you. Are there any other questions?


God is good all the time Turn to your neighbor and say good to see you Say something nice.  Amen How's that second song the Martin did jump around that was a he took it to a whole nother level. I Didn't see where my grandma was because it's too dark I'm pretty sure she was jumping around Martin. So where'd it go? Well, to be honest to you when it comes to Wednesday night Church is the best place to be you know, not because of lights cool people Great message, but I believe our church is different church Our church has a vision purpose, you know what I mean? You know what you have just building and come here saying songs here another message to leave It does not make church what makes church is a purpose You know why you come in here and our church purpose is simply to win souls and make disciples We don't car him just to waste our two hours leave listen to the sermons and go back home the same It reminds me of the story. I heard this lady About this car and a dealership actually dropped the car at her home and it was a brand-new car was amazing She paid a lot of money for it 24 hours. She calls back to dealerships.  This car does not work properly.  Can we somehow fix it? She's like this car Works during the day does not work during the night. She's like, okay, that's weird Cars brand-new how what do you mean works during the day? It does not work tonight. So he gets his mechanic on and She's like, well, maybe our mechanic can help you out. She's like, okay So mechanic gets on the phones like what's wrong with how can we help you? She's like during the day I put in D Date mode and the car drives when the night comes I put an end night mode a car stands Mechanics like okay. It's one of those Like well, it's easy to fix and actually stands for neutral, you know So if you girls here struggling with this problem, there you go This revelation was enough alone for you to come to church. Amen. Amen Well, listen, this is how church is we can have the best music the best lights great sermon But we don't have vision and purpose. It's like We're sitting in that card in the night mode and I'm moving nowhere, you know, and our what is Our purpose is to win souls and make disciples That means the friends that you have the family that you have that do not do not know Jesus I guess I have to admit to you past of lads not gonna save them I wish past of lot can go to every one of our friends to our cows and to our work and save them If he could I probably would bump my tie to like 12% But he can't because past a lot he has he has his own thing he preaches He prays at church each of one of us every person that comes here You just not a visitor.   We made these cards. I personally designed these So it will break my heart if I see them just sitting there So do me all favor grab like 20 and just make it rain You know, we used to a long time mean my Miguel my Mexican friend we used to make a bunch of flyers just go on the bridge here Overpass and just make it rain And we ran quick Anyways, but don't spread them like this cost money, but You know, it's simple. I caught myself. How do I evangelize everybody is on Friday going home? Everybody's talking about football like man, you gonna watch you watch. I'm like now, man I probably just watch highlights. Why not like oh, I'm in church. I probably just recorded or watch highlights Oh, cool. And right away. I ask it. Do you go to church like now, man? I just simply like hey, you should come check it out. Here's the car boom. I just got my light on That's how you get your shine on there you go people. It's simple another thing. We have we have an app Come on people. We're in the 41st century. Our church officially has an iPhone app So please do us all a favor downloaded rated comment only good things keep the negative to yourself We have website if your friend is Really socially not awkward doesn't want to have he can sit at home Drink his mocha and watch us on live service. You know, it's no problem We have every tool that you need to evangelize because at the end of the day, it's all about the souls It's all about people missing hell and going to heaven. It's all about people developing relationship with God The creator the one that created them at the end of the day when we everything went the end of the day And when we die, the only thing will matter is what we've done for Christ Everything else will not matter the car the house the five the girlfriend the boyfriend the cat Yeah, cat won't matter. Definitely But encourage you step it up grab the flyers spread the word and we'll see this place packed for Jesus. Amen


You'll remember the Einstein ring we saw around ESO325-G004 in our segment on local superclusters. The ring was the image of a more distant galaxy. The arc shape was created by the bending of the background galaxy's light by the gravity of the massive foreground galaxy. The process is called gravitational lensing because the mass between us and the background galaxy behaves just like an optical lens. This same light bending leads to the warping of light from distant galaxies as the light encounters supermassive galaxies on their path to us. Here's a clip that shows how this lensing works on a grand scale. A distant galaxy would be seen here on Earth directly if there were no intervening massive cluster to bend the light. But with such a cluster, the light from the distant galaxy gets bent into rings and arcs that continue on to the Earth. This is Abel 1689, 2.2 billion light years away. It's one of the most massive galaxy clusters known. Its gravity acts like a 2 million light year wide lens in space. Here again we see how the gravitational field surrounding this massive cluster of galaxies acts as a natural lens in space to brighten and magnify the light coming from very distant background galaxies. In this photo, the galaxy is visible twice because its light followed two separate paths around Abel 68 before reaching us. This is a close up look at the brightest distant magnified galaxy in the universe known to date. It is one of the most striking examples of gravitational lensing. In this image, the light from a distant galaxy nearly 10 billion light years away has been warped into a nearly 90 degree arc of light in the galaxy cluster. The galaxy cluster that is bending the light lies 5 billion light years away. And here's another cluster, 5.7 billion light years away. These foreground galaxy clusters are magnifying the light from the faint galaxies that lie far behind the clusters themselves. These faint lensed galaxies are around 12 billion light years away. It's the gravitational lensing that allows us to see that far back in time. Without the magnification, these galaxies would be invisible for us. This Hubble image shows a massive galaxy cluster about 4.6 billion light years away. Along its border, four bright arcs are visible. These are copies of the same distant galaxy nicknamed the Sunburst Arc. It's almost 11 billion light years away. Its light is being lensed into multiple images by strong gravitational lensing. The Sunburst Arc is among the brightest lensed galaxies known, and its image is visible at least 12 times within the four arcs. Here's a closer look at three of them. The lens makes various images from 10 to 30 times brighter. This allows Hubble to view structures as small as 520 light years across. A rare detailed observation for an object that far away.


Now here's another example, this is a baseline examination. This patient has some induction problems predominantly in the right eye. Now we're giving two milligrams of Tensiline IV. Here you can see the tulsis. This is what we're using as our endpoint. Two milligrams we usually use as a test dose, and we are doing this because we don't want to give the full dose not knowing how the patient's going to respond to Tensiline to begin with. So we're not really expecting any response to Tensiline two milligrams. This is a procedure that if you're going to see patients with induction problems, lid problems, or neurophthalmology, you should get comfortable doing the Tensiline test. It's generally a safe procedure, and what we do is we fill up a syringe with atropine to have it laying at the side in case we need it. It's rare that we would ever need to use atropine, but it's not a bad idea to have available if you need it. Okay, we've just given four milligrams of Tensiline. I think that if you keep staring at this patient, as though you were the examiner and the person performing the test, you would find it very difficult to see whether or not there's any kind of response to Tensiline. What you might want to do after you've looked at this tape is to re-go over it on fast forward, and I think what you'll see is that there is, in fact, a fairly dramatic response to Tensiline.  If you remember, at the beginning of this segment, the ptosis was so bad that they were obstructing both visual axes. Now, what we've done, which are not going to be shown in this tape, are we've taken still photographs before the Tensiline test and after, and showing those photographs to any objective observer is fairly convincing that there's been a response. Now, here, look at this. The lids are way above the visual axis, and this constitutes a positive Tensiline reaction. And there you can see that infarduction of that right eye is now better as is superduction. So the technique that we like to use here at the neurophthalmology clinic is a two milligram test dose of Tensiline, flush it with saline, wait for a minute or two, then a four milligram dose of Tensiline expecting to see either a positive or a negative response, and wait for a few minutes, and then another four milligram dose of Tensiline. Alternatively, another way to perform the test is a two milligram test dose and then an eight milligram dose of Tensiline, pushing it slowly over 20 seconds or so and flushing it with saline. Here we go with another four milligram dose. And you can see in the interim period, the first dose is worn off a little bit and you can see those lids are starting to droop again. Now, we've pushed the Tensiline in, we flushed it with saline. And I think you can see those lids are starting to creep up a bit. Now, this is sort of easy. When you've got objective endpoints with myasthenia gravis, particularly Tulsa's or an obviousduction deficit, you have a nice endpoint to use for Tensiline testing. The problem occurs when you don't have as an objective endpoint. For example, the patient complains of Diplopia, but by your exam the deductions are pretty full and you don't see any Tulsa's. That's a problem. The problem is what are you going to use for an endpoint? You don't have something objectively that you can see that will improve. One technique that we've been using is Tensiline tonography which does provide an objective endpoint. What you can see is with strengthening of the muscles with Tensiline, there is a mild but observable co-contraction of those muscles that can be picked up by continuous intraocular pressure monitoring device. We have that back in the glaucoma clinic if any of you are interested in doing it. Also, I would suggest talking to photography because I've left a set of teaching slides on how to perform Tensiline tonography to talk with any of the folks in photography and they can pull those out for you. Fairly simple technique. This has been a pretty long segment, not particularly interesting, but it's to make the point that sometimes you need an objective observer and taking still photographs can be particularly helpful. If this hasn't been too much for you to watch, what I would suggest is go back, put it on fast forward, and you might see a bit more dramatic response.


so you sent me a new one and then afterwards we're gonna look at the other one so just like the other one this is gonna at a rougher stage so I'm not sure not sure what's going on there is no audio so I'm not I'm not quite sure maybe I am missing audio there like this it's good that the filename is textbooks otherwise I would not have quite close inspection though I guess it's clear that this is a book but it could also be ginormous tapes or something but it seems to be it's almost given that he has his ginormous nose to me it's almost as if he is sniffing it you know see he looks at it very closely and then he freaks out and I'm not sure why and then he looks over there and then I'm not sure why they look at different corners and then again looks over there it's as if there's something really important either talking to him I'm not quite sure what's going on and then after that it's that long pause and it goes story point is that he you know puts these over over here why again and it looks around and then goes whoa and then they're gone again this is this could be me being completely stupid which in most cases is the case so maybe let me know but this is my first impression I'm not quite sure what is going on what why he's doing what he's doing is he alone is looking at someone else talking someone else if I'm missing audio that would explain everything that I'm not understanding all right so the most unhelpful critique ever just have a bunch of nice and then this guy it's go back so you mentioned the shoulders the girls get away more frantic and change expression at the ends very curious awesome shot I'm still deciding whether or not to kill you princess if I were you I'd avoid doing anything more to antagonize me I'm still deciding whether or not to kill you princess that's already very cool I like camera changes there I'm still deciding whether or not to kill you princess the only thing I would say I'm still deciding whether or not to kill you princess the camera happens right when the music happens to kill you princess but it could be okay but even without the sound I'm looking at him it's it feels a bit too linear it feels like your curve is you know the camera is doing this editing slot it really goes down with a slight easing and that's it and I think you can set a key set a key in this guy almost give this a bit more easy you don't have to any overshoot something a bit more why it's again but unless you want to do you know in sync with the sounds I'm still deciding whether or not to kill you princess it's kind of neat I why not I mean I guess you can keep it there I would just slow this down so it feels a bit more natural less CG this works right now because it's with the sounds your call if you want to be like that kill you princess if I was you I'd avoid doing anything more to antagonize me well okay the basic actions are cool I think what I would do is to kill you princess her actions volume sorry volume nine a little bit it feels like she is waiting for action so if possible can you do this move not the chair I get something where and even right now she's you know the legs are are everything she's kind of straight she's really just waiting so your first pose could be more something where maybe one leg is out there one is a bit more over there and she has kind of a you know there's something going on there it's just running but something where you can tell the moment you get over it that it's not just a person waiting this could be psycho where it's that mother we have no idea but if you start in a pose like this and the moment we turn over the camera to her she can bring those legs back get straighter maybe lean back a bit more and then that immediately tells us okay well someone is in that chair against their will and then you end with that okay well now they want to get away this must be really serious that's cool it feels like your leg is shrinking you know if you have a table chair and you go over that you do have a horrible arc that's the idea right that the length is still the same and tip over and right now it feels like you have this and then it gets massively shorter so this this might be going through the ground it harsh like you're the key on the chair I know this maybe it's just a scale thing and also that it comes a bit straight towards us so can give it off and come to the right and then after that just again for the friendliness actually does that then she kind of stops and goes okay you know like this little moment and I will go bum bum straight into that and I know you're saying maybe that she tried that she wants to do something else but then it wouldn't just be good then I would make it a lot bigger like you know she's really like overall I will take her her body and make it more like that where she's like you want to point with the body I want to go out I want to go this is the exit I need to go and right now especially this if that's a breathing thing where she's kind of exhausted it's just too quiet and it happens only here there's not much going on ahead here you know it needs to be bigger maybe I could arc down and up I would amp it up if you want to make this more frantic that kills the weight you're going forward this guy you can see if you track that's in general you're doing this I know this is the rough but you know you have the pivot points of this guy and then from here to here it's huge tracking a corner that chair then you go from here to here holy moly go straight back so couple more frames through this here and then definitely a couple more frames where if you hold on to this and pulls back this can come back but the energy of this going up is going to continue meaning that you know there's going to be a pose where it can be like this his arm is down here back forward and her legs then shoot out because she is being pulled back home into this now this makes it that much bigger so if you don't want it to be that big which is almost between you want to go maybe from here to half that distance just that massive that's cool that makes more sense struggling struggling and I like the body moves here then the knife comes up I think what you could do is to make this more she doesn't quite know unless she feels it on her hair but this could be something where I don't know if you can do this tape but imagine the jaw goes down and you realize she's going yelling and then as that knife comes up into this you actually bring the chin up to here and the knife a bit higher meaning that you know the flat part of the blade pushed the chin up so that knife stops that whole thing that that's what makes her look holy shit what was that and then she goes holy moly and into that that would be my princess if I was you I'd avoid doing anything more to antagonize me the the guy's cool I think I like all that stuff still deciding whether or not you know there's some technical things like there's a shoulder whoop this kind of pops up here again you can look at this is the line the next line is here like that's a pretty big move it's not really easing in plus it seems massively isolated in this section you know there's some stuff going here but there's nothing going on here and it continues with the rest of the shoulder going up here so you really have to look at body mechanics and I move this means it affects the chest which means this moves a little bit drop the show a little bit and maybe some overall wire rotation in the body but even here see that I can draw that line crosses shirt here see you have two arms moving head is moving that line is not moving so you gotta make sure during all this the root can move a bit again any type of wire rotation in the roots or left and right tilts you know there's lots of stuff to do subtle stuff that makes it more look like more the whole thing is now at this point we're just having this and that's all locked again this might just be the rough stage I'm just pointing out or future revisions but in terms of his acting princess if I was you I devoid doing it's cool I like it and actually I was going to say well his walk is pretty repetitive but at the same time actually I think it's okay because I want to look at her because he's not doing anything crazy or pointing at her anything I'm not I'm not conflicted I look at him because he comes in but then I go back he doesn't really change much which then to me dramatically is I like it I keep looking at her has this thing with the audio here I devoid doing anything more to let's make sure that when you do this it doesn't stop this feels and stop right so he's not moving anymore especially when you have movement in his arm his left shoulder rest but after all this like he does all that move keep going like he can straighten his legs and tower over her to make it more imposing this is big looming figure over her so that once you get to here there's still movement in him right and when he does the little knife thing with the knife on her on a throat he might still get closer to her shoulders my higher again you want to emphasize that it's this big looming thing and she has no escape all right that's kind of what happened thank you all right there's an email you can sign up you can start whenever you want you can submit whatever you want you get 16 submissions either way like and subscribe would be awesome all right thank you


So, one thing that I have offered to do in a few states in Maharashtra, I offered in Tamil Nadu also, we offered this. Andhra Pradesh is much better. In Karnataka we want to do this. In every village, if they give me one acre of land, we will do this out of our funds. We will set up minimum five varieties of fruits, where only children below fifteen years of age can go and pluck and eat what they want. They can't take it home, but they can eat whatever they want sitting in that place. Because this will change the nourishment value, and the way people expect the joy of plucking a fruit from a tree and eating, a child should know. It's simply gone out of our lives. Completely barren, everything, every village, whatever you see. If we do this one thing, just the nourishment levels in our children will change dramatically. Many things will change. Above all, life will happen. Just going, quarreling, fighting with each other, plucking one fruit and eating has a different impact on a child's development.


Hi Anka. Hello. So just the two of us here. It looks like Robert, who was the other person interested in Oscar, he had a schedule conflict. So I think he is not able to attend. So I'm not sure whether Jim is coming. Let me see here. So we may have to move this discussion to. I'm sure the fortress team will not wait for another two weeks. Let's see here. Is someone recording this? It looks like it automatically records it.  I think that's what we need to do. I'll put I'm adding some notes into the document. Okay. That we both joined and let me let me add that you can see what I'm adding. Do you think it makes sense just to present because since this is recorded, I think people can watch that and use maybe next week to get more feedback or maybe you can get feedback from. Is there any, what are the means of communication with the, with the team is via mail threads or. It's mainly with the, in the, in this call and in that meeting notes. In the meeting notes. Okay. Yeah. Why don't you do that? That's a great idea. So let's go ahead and have you present it that way it's recorded and people can review it. Yeah. And then we can ask, you know, what, what is the feedback? I hope the PR would be maybe. So the sample would be available for everybody. Let me. I need to share. Okay. Can you see my screen? Yep. Okay. So I have here a tool. Jason structures. Left and right. They are both related to the result from the compliance operator and the OpenScap and those originated X, X, the F results are structured here around the. Uh, a scale assessment result. Uh, subset of. Of, uh, I think you presented Oscar in the prior sessions. So the team members are aware of the Oscar as a compliance framework, as well as a, uh, uh, the, uh, schema, the data models for that framework and as well as the documentation, uh, uh, standardization. So here we are leveraging the Oscar schemas, the data models. Uh, the data models. Uh, and the data models. Uh, and in particular the assessment result. Uh, schema. Um, the, the framework is complex as well as the, uh, schema that are associated with that at the various level of the flows in the, uh, of the data flowing through the. Framework. Um, the, uh, which brings right into, into the schemas dependencies on the different, you know, prior steps. Um, on the, on the, on the, on the, on the different findings, we are able to, um, extract a set of, um, objects that can be leveraged to describe the results in a way that we do not need all the other, uh, dependent, um, artifacts, um, on the prior steps in, in Oscar. So, um, we, I present here left and right, uh, this, um, uh, Jason form on based on the Oscar. Findings. The difference between them is whether the, um, the assessment tool in this case, the compliance operator is regulation aware or not. So if we are looking strictly X at the XECDF, uh, result, right? At the, uh, open scape, uh, uh, results. There is no mention of, of, um, regulation or the controls we've seen a regulation. What you'll see are the, um, CS benchmark banks rules, um, with the timestamps and, and the results. And this is what we have on the left. Um, we have, uh, a bunch of properties that, that, uh, we can find in, in that file, right? What is the run of the test? Um, right? What are the, um, some, uh, remarks that are in there? So all the, all the, I would say, uh, items that are not strictly related to the result and to the rules are mapped here under the, uh, properties, the observation properties. And, uh, part of that we get also the rules that are associated. And I'm looking here at two particular rules. Right. So I'm looking at item nine and item 10. And they, um, uh, describe the rule that, uh, particularly the idea of the rule. XECDF, um, the one is finger service and the other one exact time out. Requesting some time out. So these are, these are the, the rules. Let's say that I have a, you know, an XECDF as config map. And these are the rules that I find in that, uh, let me close the properties. I have here all the details and that. And now we are looking at the, uh, evidence. So I have two rules. So I expect to have at least two, uh, uh, uh, evidence items in here. Um, in the case of compliance operator, I have, um, uh, uh, a result per, uh, worker node. So if I have two rules and three worker nodes, I'll have six evidence items here. Here we have just, you know, for the sake of this example, two rules on one worker node. Um, and I'll have those two rules. So I have the, um, properties in the one being, okay, what is my rule? What is the timestamp? And what is the, the, uh, status? Uh, it is a pass. And in the other one, we will find the, um, um, rule, the timestamp, uh, and the fail that, that second one failed. Um, um, and the second one comes with, uh, additional, uh, properties and they are, they are described in here. Um, so we are talking about the scope in this case. It was an, uh, cluster with one worker node. So subject references, um, is the object under which I put the subjects of my assessment and the, the, the references to that those subjects. So in the case of VMs would be the, um, you know, IPs associated to that and so on. In this case, I'll have the, um, um, the, uh, details associated with that, uh, with that, uh, worker node that we could find in that, um, uh, result from the compliance, uh, operator. And there is one last item observation methods where I can describe details in the cases and automated, uh, automated test. The reason why I find this relevant is that, uh, if we have certain, uh, uh, tests that are, uh, done, um, uh, manual and, and this is the case, for instance, in the, um, uh, CS benchmarks that are not implemented. They do not have a script within the, um, um, OpenScap, uh, logic, right. They will be marked as info or not checked. Um, and the, um, the, the meaning behind that this is a, uh, check that is done, is done manually. So we can capture that aspect as well here, uh, knowing that the result will be passed in a, in a manual way. So, so this is mapping, uh, what we have in terms of the XECDF, uh, from the, um, compliance operator, uh, on top of the, uh, the OSCAL, uh, assessment result observation object. Now, if we are looking at the, um, uh, code that is available, the data that is available for the compliance operator, uh, particularly the, um, uh, compliance as a code, uh, project, we find, uh, as part of the data available, the mapping of the rules of the CS benchmarks to various, um, regulations. So, um, in particular, the open-scap for, um, uh, OCP, uh, for Linux, right? They are both covered by, um, by a compliance operator. Uh, we see the definitions of the profiles and the, uh, the, um, a SIG has a profile for NIS, the profile for CIS, profile for HIPAA, and, you know, other, other regulations. And we find as part of the documentation in compliance as a code that mapping between the CIS benchmarks for R-HEL 7 and the, uh, NIST, uh, 853 controls, um, that are relevant for that. Uh, in the case of the, uh, OCP, uh, we are looking at OCP 4, um, the, um, so this is OpenShift Cloud Platform, uh, version 4. We have only two that are mapped, but through, um, uh, other artifacts that are available in the compliance as a code, we are able to infer that mapping as well. So now, depending on where the logic of associating those results on the left, right, just the observations with the, uh, corresponded regulation that is of interest to the consumer, right? The consumer may be, uh, looking at NIST level or CIS level or HIPAA level. The, um, result that we send back to, um, to the tool that is providing the display of the, uh, or creating the document for that regulation, uh, may contain also the association with the controls and OpenScap and, uh, sorry, OSCAL allows that mapping as well. So, um, I present here on the right, um, an addition to what we have on the left in order to include the regulation. So the left one is regulation agnostic. The right one is regulation aware. And you see here under observations, right? I'm marking here, right? This, what we have here are basically the, um, uh, details that I have on the left, right? So we have the properties, the evidence group, the observation methods and so on for, for multiple items. And what I have above is the delta that I'll, I'll show how OSCAL handles in order to, um, to provide the mapping to the controls. So, uh, we are talking now about results group and findings. A finding includes multiple, uh, observation, but the finding, uh, maps one to one to a control in the regulation of interest. So here I'm looking at the NIST 853. So one finding, right? I'm looking at item zero. I have, we have two items in here, item zero and item one. So item zero is interested in the, um, control AC three. So the objective and objective status, uh, object in here contains the control AC AC three. Um, and the result, um, with the value fail, um, this is the aggregated result across all the, uh, constituent rules that are associated with that AC three. Those can be rules in OCP, um, uh, for ICIC, um, um, CIS benchmarks, uh, for Kubernetes, those can be in our health seven. These are the, uh, Linux, uh, benchmarks, right? That are associated with AC three. So all those will be, uh, will contain observations with their individual status. And what we have here in the objective status is at the regulation level, AC three, the NIST control with the aggregated status across that, um, uh, in the properties here, we defined all the rules that are associated with, uh, AC three. And we have rules that come from the, uh, Kubernetes CIS benchmarks on Kubernetes as well as, uh, rules that come from the, um, our health seven, the Linux. Um, so we did, we have here all the rules. And now we expect that the observations will provide at least one observation for each rule. If, if one of those rule is, is missing the status that we have here, it would be error or missing or. So now that we know what are the rules that are associated with AC three set. And because here we are in the context of the compliance operator, we are looking at CIS benchmarks. But if we are looking for other contexts, right, you may have other, um, rules in there. Um, when we are looking at the observations and I said, okay, the first observation is for the rule in our limit user access. And as we've seen before, I will have here the properties associated with that. We'll have the evidence, uh, where I present the, uh, what is the, what is the rule and what is the status. So in this particular case, um, this is not checked. Let's see what, what, what was the, um, target, the, the subject, the resource on which that was, um, it is, uh, it is a VM. Okay. And the details of the VM will be provided here. Okay. I'm talking about, um, that worker node in that cluster in, in that region. So whatever it is provided by, uh, the compliance operator, uh, result, right, will be, will be here. So we'll have the details of the, um, uh, target resource in this case, it was this, uh, worker node. We'll have the evidence that will tell the rule associated with the, uh, with the, with the status. And in the, uh, uh, properties above, we'll have additional details related to, uh, uh, to that, like the, uh, result or the timestamp associated with that. So this is, this is one item. We can look at another one. Uh, and this comes from another, uh, another, uh, VM. In this case we had, um, uh, cluster with three worker nodes. So we will have the results, um, uh, in the observation, right? Three observation, one status for each of the, each rule for each, uh, VM. And if we are looking at the others, we will see also results from the, um, the Kubernetes CS benchmarks, because in the dependencies for this AC three for this needs controls, I have both CS Kubernetes rules as well as, uh, Linux, um, CS benchmarks. So the, um, subject reference here, I think would be, uh, a worker node and those will be the details of the worker node in here, the location, the cluster associated with that and so on. And if we are looking at the, um, um, evidence, okay, what would be the evidence, right? We will see the rule that is associated with that and the, uh, result, right? The failure. So the, the, the logic, um, here, actually we have this implemented and the logic that we use that if we have any failure, it's a failure. If we have, um, any, um, error, it's an error. If we have any warning, we are looking also at, um, uh, trends, right? For, for some of the rules. So, uh, if we have a warning, right? I get close to a limit of a value of a parameter. I have a warning, um, um, else if everything passes, I have a pass. Um, so let me close the observations here and go back for a second to the, um, objective. So in this control AC three, we, um, Oscar provides also, um, uh, an object which is implementation status that allows me, uh, allows the, the, um, uh, user of the system to tell whether this, uh, um, control is implemented completely or partially. Right. So, uh, this means that the interpretation of missed AC three, uh, from the point of view of the, uh, rules, the CS benchmarks that I, that, that are associated with that in the, in the properties completely cover, right? AC three, uh, control. So then I'll have a complete and a complete and, uh, and, uh, uh, pass, right? Will give me a pass for this control. However, if this control is partially implemented, meaning that the, the benchmarks that are associated with that do not fully cover all the items that the control, um, requires, I will have here the implementation status as being partial. And then the, um, uh, the result in, instead of being a pass, if everything passes, it will be a partial pass because it's not completely implemented. Um, and, uh, one last, um, item here, um, we, we discussed that under the observations, right? In, in the, uh, observation, we also give this observation method, whether it's automated or not. If we are dealing with a mix of automated, um, tests assessments, as well as manual assessments, um, until we have the manual, uh, items as well in the system, that will also be a partial pass. So if I have, uh, um, all the results from my automated tests, right? Everything that I get from the, uh, openscap that is, um, has a script, right? To, to check a rule. Um, if everything passes, but I do not have the results for the, uh, the test bench, that are manual, it will be also a partial pass. So all this, all this, um, um, let's say levels of granularity and levels of, uh, detailed to inform the user on the actual posture of, uh, of a control are supported in this rich, uh, schema, uh, uh, that comes from, from Moscow. So now, uh, depending on the level of, uh, leverage right in, in this, uh, uh, project, this working group, right? We can, we can select a subset of that or, you know, go with, go with the full blown, um, a set of, set of items. So I know it's a mouthful and we have many items covered, but I would say in, in a, uh, summary here that, um, what we, um, uh, and by the way, as a, uh, uh, pull request, uh, that I, um, created for the, um, sample, right? That I submitted, um, is for the complete one here on the, on the right. If we need, I can submit it also the, the simpler one, but since this one includes the observation of the other one, I submitted only this one. So in, in, in conclusion, right? We are able to, um, map the, uh, current, uh, you know, uh, XECDF result part. XECDF is very rich, right? So it has items related to remediation. It has items related to, uh, violations and so on. This wasn't the scope of this exercise. So in this exercise, we only focused on the, uh, results, um, uh, that are presented in XECDF. By the way, Oscar also supports the, uh, the, um, um, description of the, uh, uh, remediations and, and, and threats and risks and so on in other aspects, other objects associated with the assessment results. Again, they are not subject of this, uh, um, uh, presentation and the, um, um, modeling that we have done between XECDF and, and, uh, Oscar Jason here. But if we are interested, right? I can bring, uh, samples related to that as well. So we only looked at the, uh, results. We've seen that the Oscar observations object, uh, can encapsulate the aspects related to, uh, scope, right? What is my target, um, uh, subject, uh, that I've done the assessment one, uh, covers the evidence. Um, uh, it, um, covers the, uh, observation method and properties that, uh, can be associated with that. Beyond this, we've seen also that we can go a level above and associate this with a regulation, uh, and be able to describe how this individual observations contribute to an aggregated result for a control in a regulation. And now, for example, it was NIST 853. Um, so, um, I'll stop here, uh, uh, uh, Jaya and let me know if there are any things that you've seen this presentation before, if I missed anything, or if you think there are obvious questions that we need to answer. No, this is great. Um, thank you, Alka and I think, um, I see Jim has joined, which is great. Hey folks, yeah, apologies. I was running late today. Oh, how, uh, how far did you see into the presentation?  So I caught most of it. Uh, Oh, excellent. Yeah. So Anka, just so you know, is, uh, is, uh, is at IBM research and, um, she's working actively with IBM cloud. Um, and, um, so this, so since they are also looking at, um, feeding, you know, information about results from for various controls assessment. And so I kind of pulled her in into this work group, right? So that's great. Yeah. And, uh, she's also, uh, has dug deeply into Oskal. And, um, and so I think this work she has done is a very good example. I think of how we can bring, bring in Oskal into the policy report, uh, standard, right? That we are trying to stand. Yeah. And that, that's a good question. And Anka, I did see your pull request as well. And thank you for, you know, providing that, uh, the detailed report there. Um, I think the question we need to think through and, you know, discusses is the expectation that the policy report, uh, like a policy report would contain all of the Oskal report details or what is the mapping and how will the two live together, right? So I'm not sure. Like today in your system, when you're producing this Oskal report, I'm sure there's other systems consuming that directly and that will continue. So what is the expectation from the policy report? So if we want to put some of this data in a Kubernetes CR, or maybe all of the data in the Kubernetes CR, how do we do that? And then how is it consumed and used?  And we, um, since, since Oskal again has these many layers and, you know, it's a, it's a full blown framework, right? We've done baby steps. So the way that we adopted, um, uh, Oskal was in phases. So, um, we have created our own, uh, schema validation. And initially we had more items being, um, optional than in the, um, validation that you have, uh, on the official, uh, Oskal project. So that, that's how we adopted. So one way of moving forward is having, um, uh, mandatory only those, uh, objects that are necessary, right? In the context, right? Um, of the working group. And, and then as you move forward, additionally can be enabled as, as mandatory and the schema validator, uh, updated. That, that's how we worked out into, into the complexity of Oskal. Okay. Um, so, but which would it be that Oskal, the Oskal report and that schema that remains like a superset of what we want to put in the policy report or would the, do we want to see if all of this somehow fits even if it's a generic untyped data? Um, it, somehow we want the policy report to contain this information when I'm not, yeah, not too clear about how or what would be the goals over there? Yeah, I think, uh, Anka, did, did you say that, uh, if you want to kind of break up, you know, what Oskal is providing into buckets, right? So there is the result and then there is the remediation and then you were talking about, uh, evidence, right? Uh, so the, yeah, the result and the evidence, um, evidence reference, right? So if we go here into the observation, right, we have the evidence, uh, uh, reference, right? And, and, um, reference at the policy and, and the status, right? Um, then we can have a separate, there is a separate, uh, sub item here on the remediation. Um, what are the issues associated with that or the tickets or, uh, actions that are recommended and so on. Then there is another item related to, um, risk. Um, and, uh, and I think the reason for leveraging, right, those is if this result is sent to a system that deals with enforcement or, um, uh, right, automatic remediation, whether it's sent to a GRC system, sorry, where risk is needed in order to fit into the processes that they have there to associate risk with that. So, um, I think as Jim, you know, pointed out, I think it's, you know, fair, uh, very fair that depending on what is the goal, right, of, of this, uh, policy result and, and, uh, framework that is used within, right, more or less of those items will be leveraged. Okay. Yeah, I think the way I read this, uh, at a very high level is, looks like, you know, a lot of thought has gone into the definition of the Oskar standard. Oh, definitely. Yeah. Right. And, uh, and it comes obviously disorganized in this and there are other parties contributing to it. Um, and it seems to me that, uh, the policy report is essentially, uh, representing that in the context of Kubernetes, right, for Kubernetes, uh, CRs or Kubernetes resources, right, controls to protect a Kubernetes environment. So then Oskar obviously can apply to all layers of the stack, right, not just Kubernetes, but also VMs, et cetera. Yeah, that's, that's the beauty of that, that at the end of the day, we are able to put together a report where those different items can be aligned. Because if I'm looking for AC3, right, or the other one was AU3, I, I picked up those on purpose because these are controls that, um, gather their, um, aggregated result across the stack. So in order to meaningfully be able to aggregate that, we need those different layers in the stack to produce a result that, that, you know, we compare and are able to aggregate. Yeah. And I think, uh, from my point of view, right, um, given, you know, the focus, uh, that I'm working on is, uh, security and governance, um, on the, I would, I think, as everybody knows that needs to be applied across the stack, right, for all the controls. And, and you want to be able to represent the results in the context of a standard that the customer is interested in, you know, whether it is in the state, number 53 or PCI or HIPAA or whatever, right? So I think this, um, this kind of brings that to the table. Um, so, so I really like this approach of bringing the Oscar concepts into the policy report definition so that we can start, uh, have a more consistent way of dealing with all layers of the stack in what I mean, Jim. Yeah, I think that makes sense. Um, so I think the question then becomes, so are we expecting, so for the Kubernetes layers, when we are reporting, and one option is, okay, we could say, well, let's just adopt the Oscar definition and somehow see if we can, you know, if there's, uh, if we can take that definition and represent it as a Kubernetes CR, right? That would be one approach. Um, the other approach would be to say, okay, we still want to provide some generic top level information like we have in the policy report, uh, which is something that we're inventing, but then somehow we can, you know, we can keep all of the Oscar, I don't know which layer it would cleanly map to, like, so I see there's findings and there's a results group of findings and observations, so somewhere in there if we map one of those layers to a policy result, um, then we could put all of the other data in, in just like the generic kind of an object, right, which is untyped or unstructured in the policy report. But yeah, it is tempting to kind of at least take a deeper look if this work has been done, if it's used and if it's comprehensive, um, can we represent this Oscar report or the entire structure in Kubernetes, right, for the Kubernetes layers?  And you can share the experience that, um, we, um, had items as part of that, uh, that through the experience of, you know, in the field found out that, you know, things have to be handled in a different way or it makes sense, more efficient. And, um, the, uh, Oscar team was open and flexible to take these feedbacks, um, and, and, um, make changes in order to be more efficient. So if we find out that the exercise that you may, uh, mentioned Jim, let's take, have a deeper look and you see that some things are needed or missing or need to be done in a separate role, although the schema is pretty flexible and generic. Um, the team is, is open to, to listen to those feedbacks. So this is, this was a positive experience for us. Okay. Well, that's good to know.  So it'll be interesting to see that, can this data, are there actual, uh, real world examples of this data being taken and translated, uh, into something consumable by administrators and, uh, people concerned with security of these systems. Um, because that would be a good data point to see that, yeah, then this makes sense that we also supported for Kubernetes. So Jaya, you have more experience with this working group. How much can we disclose from, you know, what we, how we use this for SCC and the plans and so on. I, um, yeah, I think, um, we are just starting to, you use on the call, he's in, uh, my team, uh, leading the, our GRC squad and we are just starting to look at this, right, in terms of putting it into the product. So we haven't done that yet, but that said, you already have submitted an example of our config policy controller within Rackam, how it would use this standard to represent the results. So, and, um, so what I'm saying is that we have mapped our, um, our existing controls, um, to this standard, the existing policy standard, right, policy report standard. And, but now that, uh, Anka has done the work of bringing the scale in, um, we can do a, we have to kind of redo that mapping, I think, because I think, uh, some of the fields that you have filled out, uh, was not done as part of use work, but that said, our control today already has standards control categories and controls in it. So we already have those pieces of information for our policies. So, so we should be able to fill those in, um, based on the example that you have here. Um, and I think I would like to proceed in this direction because eventually, like I said, we take the Rackam product today, it already has, um, if you look at our dashboard, it already summarizes the controls in the context of their standards. Right. Um, I think, um, by making sure that when third party contribute to our open cluster management, uh, policy collection repo, right, where they start contributing policies and so on. If they also return results for the standard, uh, I think this will make sure that they are also including the, the, um, control categories and controls and standards in terms of the results so that when, when we roll it up in our, in our UI, we can have everything contributing to that overall picture. Right. Because, um, that's really what customers are looking for. Right. When they operate a cloud, they're saying, you know, I have to operate it to a standard and, and when I'm using governance, I want to know what am I actually governing? What are the gaps? Right. Um, and so for that view, we do need this information. Um, otherwise it's going to be just islands. Right. We'll just no policies, but we wouldn't know, you know, where, where do those fit? Right. And right. I think this is that, that's, that's, um, an important path that, that is needed for, uh, and where this can help to, um, write, uh, standardize and, um, organize the, uh, across the stack and other direction that, uh, I have seen the, uh, compliance, um, right institutions, uh, going towards is automatic generation of the documentation. So we are talking about those, you know, hundreds of pages of, um, of the reports for the audit. And, um, our, our initial thought and, and they start started producing a particularly coal fire, which is the first one that we've seen interested in Oscar, uh, uh, templates for those documentation that can then be automatically, uh, filled out from the, from the assessment results in, in Oscar. So that's another direction. We are not yet there, but for us, that's, that's the ultimate ultimate goal, right? To, to help the automatic generation of the audits. Yep. Yep. That's a second. That's another goal. Yes. Right. So I think the, the other question that comes to mind is, and I don't have an opinion on this, just kind of wondering out loud as, you know, so part of the, the driver or the motivation for the policy report was to have something that the cluster admin could see and that we have all of these different, uh, you know, the growing set of policy tools, uh, for Kubernetes, right? Whether it's, uh, image governance or runtime policies or configuration scanning, things like that. So the question is like this report, it, it seems extremely comprehensive and well thought out. So definitely seems worth the closer look, but how, how would the, if somebody is looking at this as a custom resource or like as a, um, you know, set of YAMLs and Kubernetes, will this be, is it consumable as is? So do we need a simpler format that the admin can see and understand to say, okay, what's going on, uh, in their particular system at a given time, right? Um, so if we are looking strictly at the language, uh, Oskal, uh, provides the same thing in YAML and XML and, you know, so we can get the YAML. Uh, so that's one aspect of your question. Uh, the other one, um, I think the, um, uh, it depends. Uh, and, and we've, we've, we've got exactly into, into the, uh, core of, of this, uh, uh, concern, right? Um, if we are looking at the compliance, uh, operator, I think we have about 600 rules, right? So, um, is it, is it, uh, the expectation there that an admin will be able to go through those 600 in one document. And of course that, that's not, you know, feasible. So we are looking at organizing those, um, uh, Oskal files and objects within, in a, in a way that it is, uh, easily, um, uh, handled, um, by, uh, by the person that is looking to make changes to the profile or the policies and so on. Um, and, uh, and this is done by structuring all this, you know, uh, results and the policies, um, in, uh, in, uh, github in a way that is, that is easy to, to navigate. Um, the other approach that we have is via the, is via the UI. Uh, where I think it's very similar to what Jaya has today in, in Rakam where we are able to, uh, search or we are able to display, right? Through navigation, what are the policies and then display the content that is relevant just for that particular, uh, so you see here, uh, an observation is kind of self-contained. It has the evidence, the scope and, uh, the properties. So those would be the two means by which that can be, uh, done. Um, if I can make the comparison, first one is more like the Linux approach. The second one is more like the Windows approach. So depending on the, you know, the, the type of users that we are dealing with may, we may have people that work directly with the files or we can people that would work with the UI like, uh, Jaya has today in the ACM. Yeah, I, I have to drop, but, um, I think, I think this is, I know Jim, uh, I'm sure you have to think out, think through this. Um, and I'm, I know Robert couldn't join. Um, so I'm hoping that he will listen to this recording and, um, I think we should, uh, come back and regroup, right? Yeah, absolutely. Yeah. Let's, let's have another discussion on it and maybe, you know, like I'll, I'll do some more research and read up on this too. This is super interesting and I mean, I agree. It makes complete sense. I'm just, you know, we need to kind of make sure that the, some of the initial intent of the policy report are still, um, met, right? Like in terms of having something simple for the user to see and understand what's going on. But yeah, at some point this data becomes overwhelming, right? Cause if you have thousands of rules, it's no longer going to be easy to read anyways. So yeah, those are some interesting tradeoffs to discuss and decide how we want to proceed. Yeah, I think one interesting, um, uh, aspect for us would be, are the users interested in, um, uh, configuring those policies at the, uh, CIS benchmark level? Is this, what are they rather interested in having, uh, blueprints? The, the same way that the, um, CIS benchmarks creates those or the openscap actually those profiles. So I'm taking my 400, uh, missed rules and I'm taking my 300, uh, you know, CIS benchmarks and I, I know that they are targeted to HIPAA or to NIST or to, to the right level. And I try or do I really have to go and edit within each rule of those, you know, 400 or if you have any, any usability at this, at this point, I would be very interested because that would drive the user experience in a different way. Right. Yeah, makes sense. I think that's something we need to think through. And I, I don't know. Like again, it will the mapping be done externally. Will it be done on a poor rule basis? And which, you know, who represents that, right? But at a high level, what we, at least with the policy results, uh, the policy report. Like just if you do run a CIS benchmark, the idea would be to at least we get to be able to see some summary status and under, you know, kind of be able to represent that in Kubernetes as a native object, uh, of what the benchmark results were. Now details, we have to decide, are those separate CRs, are they part of the same report? Uh, or, you know, are they managed in external tools, right? And all of those are possible options. Uh, but the more flexible we can make this, I think the wider adoption and usage we'll see. And the schema allows for that, right? Right, right. So is there any, I didn't see any, um, so Jay, I know you, you have to drop. So please feel free. Maybe if, if Anka has some time, we can continue chatting. Um, I have. I have 10 more minutes. Yes. Yeah. Please go ahead and we can catch up. Okay. Thanks. Yeah. Okay. Thank you for joining today. Thank you. Bye. Bye. So is there like in this, um, and I, you know, are there provisions for even providing things like summary counts, et cetera? Cause, um, that was one of the things we wanted to do in the report is have some inability to say how many total pass failed, or is that just something, I mean, obviously you can process that by scanning through the data. So is that also available? That would be as part of the, uh, properties. So it's not, it's not, um, uh, uh, singled out as, uh, as, as such. Um, and the reason for that is that this is part of a. A larger hierarchical structure. So you have those individual observations, then you group them and aggregate at the controls level. Then you group them at, uh, regulation level. Then you group them at the profiles that, you know, may include multiple. So when I have my counts, right, it may be you given, given this hierarchy, um, it's very difficult to, to, to have a count because you will need to associate it, which, which level I am in, in, in that. Right. So all counts are rather, um, by product that, uh, that, uh, can be, um, generated rather than have it as part of the schema. Right. I see. Okay. Um, and then it's so like just going back to the hierarchy, you know, so there is the result group, the findings, the observation. So how, where does it say, if I'm running like a CIS benchmark, and you had some example of this. Um, is the CIS benchmark map to the, like, so let's say I'm running CIS benchmarks for Kubernetes. Does that map to the top level result group? I have, you know, one result group for CIS benchmarks for Kubernetes. And then I have findings underneath for each rule or how, what is the mapping? Uh, correct. So, um, we pick a regulation. Right. So in your case, uh, in our case, we had missed, you say, well, I'm looking for CIS benchmarks. This means that my findings here, my, my control, right. It is, it is the CIS benchmark itself. So then that's what I'm declaring there and the, um, that's my 12 o'clock. And, um, the, um, the rule, the observations that are associated with them would be at the, uh, would be mapped one by one. So if you are looking here at this item, so let's say that I'm looking for a CIS benchmark. I'm not looking for AC three. This means that that will be mapped to mapped one to one to an observation. Right. Because, uh, although I have seen in, um, uh, in, uh, the CIS benchmark is implemented by two rules. Right. So, um, so this is the finding, right? Is that the regulation level? And then what I have on the left, these observations, right? Are the individual results. So what, what the finding allows you to do is that level of, of, of mapping to say, well, what are the, my, um, my individual results out of which I create my, uh, in this case, the CIS benchmark. But I would say 99% of the cases I will have here a CIS benchmark and I have one to one, one observation associated with that. You change the finding to NIST. Right. I have, uh, this, you know, for properties for rules, uh, for CIS benchmark that are associated with that. So you, you can use it across any, any type of, um, uh, regulation or benchmark that you, that you need. Okay. So then what does the result group map to, if, um, Is that. Okay. Uh, the result group, it is part of the, um, uh, an object above, uh, those, those observations and findings, which is called assessment result. So as part of the assessment result peers to result group would be, um, the, uh, uh, SSP would to be the inventory on top of each. I apply, uh, my, um, objectives. So let's say it gives you, it gives you flexibility as an auditor to, uh, fine tune your audit. Right. So if I'm, if I'm doing openscap and I'm doing all the compliance operator and I put it in there, format, right? It is all or nothing. What the other levels, um, peers to result group allows me to do is to say, uh, I'm looking only at this set of inventory. I'm looking only at this, uh, particular clusters or this particular VMs. And my SSP will, will give only those items. So then when I go here in the observations, I will not have a hundred percent of my inventory. I will have a subset of that. Um, another. Sorry. Okay. No. Just. Yeah, I see. So, so this seems like this report then is generated based on what you're trying to. What information you're trying to gather, right? So if I say, okay, I want to look at maybe, um, some subset of my clusters or maybe some subset of nodes in a cluster, then the report will, the result group will be for that particular, did I understand that correctly? It's for that inventory that I will create the result group. And then the finding will map to each one of the benchmarks or each one of the regulations. And then the result group will be for that particular, um, the results that I want to apply. And then within those, I will have multiple rules. Um, yeah. So let me see if I have, um, This is the right. No. I try to find, because I think the, uh, what I try to say is that the more layers you add to this, the more functionality you get out of the Oskar framework. So right now we looked only at the core results, right? If you add to that the SSP, you get flexibility on handling the scope. Uh, another aspect that you have here, it's called, um, assessment methods. And it allows you to describe, let's say that I have, uh, 10 tools to do assessments, right? I have compliance operator. I get caveonics. I have Prisma. I have, right, different tools. So it can be that an auditor says, you know what, I, I want that tool, the results from that tool. So it allows you to describe how the, uh, what are the methods. So, um, again, Oskar is very rich, right? Another aspect it's called, um, a peer to result group is called, uh, objectives. So the objectives is derived from the object of profile. So where you say, I'm not interested in full mean state 153. I'm interested only in the, um, uh, access control part, or I'm an auditor that I'm only familiar with the network, uh, aspects. So I want only the, um, boundaries, uh, related controls, right? So the, the more levels you, you add here, right? The, the, the richer starts to be the, the way that you can tune your result. Right now is what we have. It's right all, all or nothing, or we have other means by which we trim that. Okay. All right. Yeah, this will be interesting to think through and discuss and see how we want to, like, because if we have certain policy frameworks running in a Kubernetes cluster, how should they. Store their information and then seems like maybe we do need a little bit of, um, um, something which can allow queries to pull this together and, and pass back a particular report in Kubernetes, right? Or if you, if you want to support. Add all these other layers is because they are dependencies as you say. Right. So this means now I have, I need a discovery. See provided inventory in the Oscar SSP format. So I'm able now to build this into, into this report. So, uh, I removed on purpose everything so that the people are not that we need all these other tools, but now if we have that discovery and we are able to produce, uh, uh, Oscar in other aspects of Kubernetes, like inventory as code in the Oscar SSP format. And so then we, we are able to put those together and, and leverage them here as, as, as, uh, uh, um, um, item. All right. Yeah. I'll do some research and thank you for this again. And, um, I know we're coming up on the hour and we both have other meetings coming up. So we'll maybe continue the conversation offline and we can meet again next time. Yeah. So I'm really looking forward for the, the, the people. Hello. Good evening. Good afternoon. Who is listening to that? Yeah. And please join next time to, to provide the feedback on, on, uh, on this, uh, Proposal of, uh, uh, policy result standardization. Yeah. Looking for it. All right. Thanks uncle. Thank you. Thank you. Bye bye. Bye bye.