Hi guys, it's Kristen from Six Sister Stuff, I am sister number two, and in case you didn't know, it is cookie season! I love cookies around Christmas time, and so today I'm sharing with you a new cookie recipe. It is called Grandma Betty's Carrot Cookies. Now, like I said, I have never made this recipe before because I am actually collaborating with my friend Erin Galloway. I met her husband at a YouTube conference in Cincinnati, and they were, those two together, are so interesting. So they used to be big employers, then they decided to, you know what, this life isn't for them, so they picked up, they moved to Wyoming, and now they have a YouTube channel called Our Wyoming Life. I love Wyoming, I grew up in Utah, so it just holds a special place in my heart. So in our collaboration, we talked with Erin a lot, I talked with Michael a lot, and we decided to do a swap of recipes. So they're actually making my apple praline bread, they go through step-by-step process of how they made it, and then they also sell things at their farmers market, so it was the process of getting it together, packaging it, and then selling it at their farmers market in Wyoming, and it's such an interesting story. Like, their channel is so fun to watch, you're gonna have to go check them out, go check out our apple praline bread over there, and then this recipe is a special one that's from her grandma because it's Grandma Betty's carrot cookie recipe. It was so funny when she was giving me this recipe, she's like, um, so grandma kind of just throws it together, and so she's not exactly sure what's in it, so she had to go and make the recipe so she knew how to tell me how to make it. No, so once I started getting going, oh my gosh, the smell that it put off was so good. If you like carrot cake, this is about ten times better. Anyways, be sure to check out these carrot cookies that we're gonna make, and then go over to her site, go check out the apple praline bread, it is delicious. Before we get started with anything, be sure to click our little subscribe button and push the little bell so you actually get our notifications. We've gotten a few comments saying that I'm not getting your stuff, I'm not sure when you're posting. So if you click that little bell next to the subscribe button, you'll actually get a notification every time that we post. Okay guys, let's go make these carrot cookies. First you're gonna take one cup of Crisco. Now this individual packaging is so nice because it doesn't make a huge mess. So I prefer using these, they are great. Then next I'm just gonna add one egg to my mixture, and then after that just three fourths cup of sugar. Then you're just gonna blend it together till it's nice and creamy. Alright, that looks good. Okay, I'm gonna move this up just a little bit so I have some room. And I have been cooking one cup of carrot so I've been boiling them with water and a little bit of salt. Then I drained the majority of the water and I'm just mashing them up. You want it to be a nice texture, not quite like baby food, you want some chunks in there. So I'm just chopping it up kind of like almost like some chunky mashed potatoes. Once you're done mashing, they have to cool completely before you add them to your Crisco mixture. My trick is I put in a few ice cubes, mixed it around, drained it out, and then it was all ready to go when I needed it. Once the carrots are completely cooled, you just pour that in with your Crisco mixture. Next you're gonna add about half a teaspoon of almond extract. You can do a few drops but I love it so I did about half a teaspoon. Then one teaspoon of vanilla and you just kind of mix that around a little bit until it's combined. Then you're just gonna add two cups of flour to your mixture and then just a little bit of salt about half a teaspoon but I kind of just eyeball it. When you're done with your salt you just mix it all together. It takes a little bit to get it going. Keep stirring, it will become a nice awesome cookie dough. It really looks so good. Okay the secret with these is you have to chill them for about 40 minutes to an hour so then they get a nice plump look to them. Now I like to make these cookies just a little bit on the smaller side so they're like bite-size. Then we're going to bake them at 350 degrees for 10 to 12 minutes. Now from my most favorite part, it's the frosting. So we have one tablespoon of butter that's room temperature, juice from one orange or about four tablespoons of orange juice and then I just added one cup at a time of my powdered sugar just because it depends on what texture you want your frosting. I like mine thick instead of really light like a glaze. I like it thick and solid. So I ended up using about two and a half cups of powdered sugar. And now for the fun part, the frosting. So see how my frosting is pretty thick. You could make it a glaze if you want to but I love thick frosting. That's probably one of my most favorite foods. So then you're just going to frost all these little cookies. It should make about 60 little cookies. Here is the final cookie. My husband voted them his new favorite. All right, taste test if you're wondering. I don't know if you can see this. Yeah, it's as good as a little bit. All right, Will, if you love this recipe, be sure to check out our other recipes that we have on this YouTube channel and be sure to stop by soon because we're going to be making a lot more Christmas cookies coming this week. Okay, you guys, we'll talk to you later. Bye.


Hello and welcome to the session in which we'll discuss the concept of data life cycle or DLC. What is the data life cycle? Well, the data life cycle outlines the steps for managing and preserving data for utilization and repeated use. Why? Why do we need to preserve the data? Why do we need to maintain the data? Well, by implementing a cycle, the organization can enhance the possibility that the data will be functional. It means useful for us, useful for our purpose for our objective and have a longer lifespan. Simply put, we can use it for many years to go. So that's the purpose of the life cycle is to manage the data, preserve it for useful use. For this process, we're going to be using six steps. And usually those six steps, more or less like the COVID six steps of the data life cycle. The first one is plan and design, build and acquire, store, use, share, then archives slash destroy. And this is a picture of it. And if you know anything about Farhad, anything I anytime I have a series of steps, I'll explain each step separately. So I'm going to go over the step of plan and design, build and acquire in the data life cycle. Before we proceed any further, I have a public announcement about my company, Farhad Lectures.com. Farhad Accounting Lectures is a supplemental educational tool that's going to help you with your CPA exam preparation, as well as your accounting courses. My CPA material is aligned with your CPA review course such as Becker, Roger, Wiley, Gleam, Miles. My accounting courses are aligned with your accounting courses broken down by chapter and topics. My resources consist of lectures, multiple choice questions, true false questions, as well as exercises. Go ahead, start your free trial today. No obligation, no credit card required. Starting with plan slash design, which is step one of six, well, as those terms are very helpful, plan design, it means that that's the first step. I'm planning and designing the whole process. And that's an important step because it's going to lay the foundation for the entire data management process in order to achieve whatever my desired goal is. And the first thing I have to determine is what is my objectives? Why do I have this data? I have to clearly define the goals and objective of the data collection. You don't collect data to hoard the data. You want to use it for something. You want to use it, for example, for improving business operation, making data-driven decision or conducting research and reporting. So the first thing is, what is the objective? Why am I doing this? The second thing is what type of data am I dealing with? Identify the types of data that is required to reach my objective in step one. This includes determining the attributes, such as demographic information, transactional data, time series, et cetera, whatever I need. Well, the third thing I have to decide on in this plan slash design is how am I going to collect this data? Deciding on the method of data collection. I can use surveys, experiment, purchase the data from a third party. This could be acceptable as well. The method choosing depending on the type of data I am using and what is my objective. Then I have to have a management plan. Well, how am I going to manage the data? Develop a data management plan that outlines the procedures for storing, protecting, and preserving the data for future use. This plan also should address security, privacy, ethical consideration. Here, I'm just putting down the map. I'm going to talk about these steps a little bit further down the road. And last is in this step, I want to examine which method, which analysis method am I going to be using to extract the meaningful insight, to extract meaning from the data. Because the data, if I cannot obtain the knowledge through analysis, it's useless. So this could include statistical analysis, machine learning. I could use data visualization technique, as well as other steps. In step two, which is build slash acquire, in this step, data is either built or acquired through various sources. The steps involve the following activities. One is data collection. Now I am either building the data from my own transaction or remember I can acquire it. So data collection. Depending on the methods decided in the plan design step, remember data can be collected through survey, experiment or purchase. It's important to ensure that the data collected either way, either internally or externally is accurate. That's important, relevant to what we want to do, and of high quality. Well, after we obtain the data, we don't accept it as is, we're going to do some data cleaning. Once the data is collected, we clean it, we remove any errors, inconsistencies or duplicates. And if you ever work in data, whether for academia or in the real world, you will know that data always need cleaning. And that's, that's a tough, that's a tough task sometime. Also formatting data formatting. After cleaning, you will need to format the data to be inconsistent structure that can be easily processed and analyzed, especially if you are using a special software or some sort of a proprietary software to analyze the data. This could involve converting data into specific format, such as spreadsheet or a database or some other proprietary format. Then you have to verify the data. The final step in this is to verify the data, the accuracy of the data. This includes checking for any discrepancies, any missing values, any outliers, whether you want to keep them or not, they may affect the results of the analysis. In step three, we're going to determine how to store the data. So the store step involved storing the data collected in step two after we collected in a secured location. Now the storing could be physical, could be, could be computerized. This step is important for protecting and preserving the data for future analysis and decision making. The first thing is we have to determine the data storage. Well, it can be stored in a physical location, like a storage room or digital location, such as a database, which is computerized on a server somewhere. The storage method, either method chosen, whether it's physical or digital, should ensure that it's secure and accessible. So it's always secure and accessible. Then we have to make sure the data is being backed up. Regular backups of the data should be taken to ensure that the data is not lost in case of disaster or technical failure. Well, also we want to make sure it's secured. That's for sure. We talked about data storage at the beginning. How can we secure the data? Well, if it's a physical data, well, unauthorized access, locked doors, we want to protect it from theft, loss, fire, so on and so forth. Now, also if it's digital data, data encryption, access controlled, disaster recovery procedure. Also, we might have to deal with data privacy here because sometime organization must ensure that the data is stored in accordance with data privacy regulation inserting guidelines. Step four is use of the data. In this step, the data stored in step three is used to analyze and analyze and used for decision making. Here is where we're going to extract meaningful insight and knowledge from the data to support whatever we are doing, our objective, the business decision, improving operation, so on and so forth. First is data analysis. The data collected now goes through some sort of an analysis. It could be statistical analysis, machine learning, data visualization technique, or to extract the whole purpose extract, extract meaningful insight, just get more information. After we get the information, we need to interpret this information. And this could be, this could be, we could misinterpret this information. So this includes understanding the relationship between variables, identifying trends and making prediction. And this should be, this is I would say the most important. If you have the data, the software run it, everything is good. The data is good. The software is properly working. Now, do you interpret the data properly?  Are you making the right decision after you interpret the data? So the insight and knowledge gained from the data analysis are used to make decision in various areas of the organization, such as product development, marketing, operation, whatever that decision is. Also, we can use visual representation or data visualization to do what? To gain more insight. It could be graphs, charts, and I have several lessons about data visualization, then they can help communicate the information, the insight, the knowledge gained from the data analysis to the stakeholder, to whoever is interested in this data. Sharing the data in this step, the results of the data and decision are shared with stockholder and archives for future use. So data sharing, the result of the data, like who are the stakeholders? Who are they? We're looking at management, employees, people who are making decision could be customers. If it's some good news about our product, partners to provide them with valuable insight, this can be done through presentation, email, other form of communication. Also, we want to make sure the data is accessible and the results are accessible in case somebody would like to double check them. This could involve implementing a data management system and tool to provide secure access to the data. Also, we want to archive this data. Archive means what? It's somewhere for future use, should be archive for future reference and use. This may involve storing the data in an archive database or physical location. Also, we want to have some sort of a data retention policy. How long do we keep it? We should establish how long we should keep the data. Sometimes it's by law. We have to keep it a certain amount of time, like financial information. Sometimes we want to also do our own data retention policy, right? Our own data retention policy. So we can keep it to make sure that the data is not deleted, destroyed, and needed when necessary. Last thing is archivings or slashing, destroying. Sometimes we might have to destroy the data. The final step of the cycle is destroying the data that's no longer needed. This step is crucial in protecting the privacy and security of individual and the organization. And sometimes we do so in compliance with data privacy regulations and guidelines. We cannot keep the data we have to destroy it. So data deletion is important. Which data do we delete? The one that we don't need? Or we want to prevent any unauthorized access to it, misuse, or sometimes it's required by law or industry. We have to know something about data sanitization. Data that contains sensitive information should be sanitized to prevent the recovery of the data.  Recover this data. This may involve wiping the data from storage system or physically destroying the storage devices. Also we want to make sure in the destroying process we are in compliance. In compliance with what? Organization must ensure that the destruction of data is done with data privacy regulation and guidelines such as the general data protection regulation, the GDPR, we're going to talk about this much more later on, and HIPAA, the Health Insurance Portability and Accountability Act. If you're studying for the CPA exam, you're going to have to know a thing or two about those two guidelines and regulations. Also we want to document the destruction process to make sure we have evidence that we did what we did. Documentation of the destruction should be kept to ensure that the data was destroyed in a secure and compliant manner. As accountant, documentation is important for us. We want to keep track of everything that's going on. What should you do now? You should go to Farhat Lectures and look at questions such as this one that's going to help you understand the concept. What's the first step in the data life cycle? Hopefully you know that the first step is to plan and design because that's important. You don't start the process until you have a proper planning, proper design of the system. Again, on my website, farhatlectures.com, you will have access to additional questions plus solutions that's going to help you not only understand but be able to learn the information, whether you are studying for the CPA exam, the CMA exam, CISA, data life cycle or taking an accounting information system course or you are studying for your certified internal auditor. It's all going to help you just basically ingrain this material in your brain that you'll be able to answer those multiple choices. The answer to see the first step is the data life cycle, which involves defining the goals and objectives of the data collection and analysis and determining the type of data I'm going to be working with, the method of collecting and storing, basically drawing the map for the whole data life cycle. Good luck, everyone. Stay safe, invest in yourself, invest in your career.


In the previous video, we introduced the three parallel alternatives for which their names are the following. We have the Euclidean parallel posture, which we're going to typically call that EPP for short. We have the hyperbolic parallel postulate, HPP. And then the last one was the elliptic parallel posture. Well, in terms of an acronym, that would also be EPP. So we're going to call that one LPP for short. It seems a little bit weird, but it's elliptic. Well, okay, I get an elliptic sound like it starts with an L. So LPP elliptic parallel posture, EPP. Euclidean parallel postulate, HPP, was the hyperbolic parallel postulate. LPP says that there are no parallel lines in your geometry. EPP says that parallel lines are unique. And HPP essentially says that there's a multiplicity in parallel lines. Now, when we listed those parallel postulates in the previous video, I stated that these parallel postulates are mutually exclusive. If you have one, you cannot have the others. You can't have two of them. But you might have the false impression that you must have at least one of them. That's not true. You can't have a geometry which doesn't satisfy any of these parallel postulates because the parallelism of the geometry might be a little bit more mixed, less uniform. And so I want to provide you an example of a five point incidence geometry that doesn't satisfy any of the three parallel alternatives. So you have these five points right here, this five point geometry. This is not the five point handshake geometry you saw in the previous lecture. While this geometry does have four handshake lines, it also has two lines which contain exactly three points. There's this horizontal line which contains ABC. There's this vertical line that contains BED. These are three point lines. So this is a different geometry than the handshake geometry we saw before. This geometry does not satisfy the elliptic parallel postulate because it has parallel lines. The lines AD and EC are parallel to each other. So this rules out the elliptic parallel postulate. I also want to show you that that same counter example basically also kills the hyperbolic parallel postulate because if I take this line AD and I take the point E right here, there does exist a parallel line to the line AD that passes through E but there's not another one, right? If you take any other line through E, it intersects, it intersects, and this line doesn't even go through E so I'm not even gonna consider it. So in this situation, we see that there's only one line parallel to AD that contains the point E. That's in violation of the hyperbolic parallel postulates. What about the Euclidean parallel postulate because this line with this point had a unique parallel line. If I took this point, you'd also have a unique parallel line, okay? What if I take this point right here? How many lines that pass through B are parallel to AD? Well, there's only two lines that pass through B. You have the line ABC which intersects AD and you have the line BED which also intersects AD at the point D. So in this situation, there's no line parallel to the given line that passes through B. So this would then violate EPP. And so I want you to notice what happened here. When I looked at this line at this point, it looked Euclidean. But when I looked at this line at this point, it looked elliptic. All the lines intersect. So the local behavior with this line at this point was elliptic, but this line at this point was Euclidean. So this geometry is sort of like a hybrid between elliptic and Euclidean geometries. Locally it could be Euclidean, locally it could be elliptic. Now in this geometry, there's really nowhere where it looks like it's hyperbolic. At least I don't think so because if you look at this line right here and you take this point right here again, any lines go through it intersect that line. This, depending on the line of the point, it could look elliptic, it could looked Euclidean. It's never hyperbolic. So that one's definitely, definitely not on our list. But the point is if locally it's elliptic, but locally at a different place, at a different locale, it's Euclidean, that means it's not Euclidean, it's not elliptic, because elliptic parallel postulate is a global condition. That needs to be true for any point in any line. Same thing with Euclidean geometry. And so because of that, the parallel alternatives are not, it's not the only choices. There is a choice where you can be locally one of these things, but globally that behavior is absent.


Welcome to this introduction to the session Building a Pathogen Surveillance System with Galaxy. I'm Wolfgang Meyer, member of the team behind the European Galaxy Server, but also one of the main contributors to the Galaxy COVID-19 project. When you watch this video, then hopefully you've seen a lot of the Galaxy training material around sequencing data analysis already. And you will know that, or you should have learned that Galaxy is a really nice analysis platform, also for analyzing pathogen sequencing data. What might at the moment still seem like a big gap at this point is how to integrate a simple Galaxy-based pathogen data analysis into a public or animal health program. So take as an example the simple SARS-CoV-2 variant analysis tutorial that you might have worked through already from the training material. Well, it explains in detail the different steps it takes to get from whole genome sequencing data of SARS-CoV-2 samples to lists of mutations identified in each of the samples. Well, and it's certainly great to have the bioinformatics explained and made accessible through Galaxy. But in a routine molecular surveillance program of a pathogen, these steps are just one piece. Personally, I would say a rather important piece of a much bigger task. So in a larger program, you might well have data generated through different sequencing schemes and you will certainly have a lot of data, which means you want to automate as many analysis steps as possible while still being able to process data from different sources rather flexibly. You would also not want to stop at simple lists of mutations like this tutorial does, but instead, most likely, you want to answer higher level questions about circulating lineages or circulating drug-resistant strains of the pathogen in your region under surveillance. And you would like to be most likely again alerted of shifts in those lineages or strain patterns. So what you'll need for that are aggregated reports and visualizations that let you keep an overview of a large amount of data and that also let you detect patterns in that data. And then, of course, you want even more automation so that also these reports and visualizations are getting updated when more data becomes available. So then finally, at the same time, and I think that is equally important, you also want to archive generated data safely and ideally publicly, I would say, so that others and your own research can profit from that data again later. So, yeah, all in all, the gap between that simple pathogen analysis tutorial here and the full solution for molecular surveillance of any pathogen is a rather wide one. Luckily, though, national players and also supranational organizations, like, for example, the EU and also the International Atomic Energy Agency through that joint center with the Food and Agriculture Organization, just as examples, have recognized this issue too, and they have initiated programs to improve things. So within the Galaxy project, we are currently working together with the EU funded by COVID project, which has the goal to make pathogen data open and accessible to everyone. And also with the IAA coordinated research project with the VATLAB network, which works on bringing state-of-the-art molecular surveillance tools to veterinarian diagnostic labs around the world. And our goal with both of these projects is to align galaxy-based pathogen analysis better with the needs of public and animal health initiatives. So the way things have gone over the last years in the middle of the pandemic, our efforts are most advanced for SARS-CoV-2, where we have already built a modular genome surveillance system with Galaxy at its core. And as a first component of that system, we have built and released a set of workflows for automated reproducible analysis of SARS-CoV-2 sequencing data and we have registered these workflows with the two major public workflow registries, Dockstore and Workflow Hub, from where users can then easily import defined releases of these workflows into their accounts on any Galaxy server of their choice and start a high quality data analysis on their own data immediately. And this tutorial here, mutation calling viral genome reconstruction and lineage plate assignment from SARS-CoV-2 sequencing data explains this kind of import of workflows into Galaxy and also how to use and combine the workflows. Importantly, it will explain that there are different workflows for different types of input data that let you analyze data from different sources, but that finally these all arrive at standardized reports and visualizations and SARS-CoV-2 lineage assignments. We then also worked on automation scripts that let you trigger automated runs of all these workflows as new sequencing data becomes available within your project. The technical basis of this is explained in a dedicated tutorial, but we have also put together a demo of how to use this automation system on example data. And the whole SARS-CoV-2 surveying system we've created is also presented as a showcase on the by COVID infectious diseases toolkit webpages. And you are very encouraged, of course, towards a visit that showcase page which provides a very structured overview of the system along with many additional links, two different components and resources we have used for that. So the clear goal for the coming years is to keep on extending and improving this kind of surveying system and to also provide comparable support and solutions for pathogen other than SARS-CoV-2 from within Galaxy. Here then, finally, regarding data archiving I've alluded to before, you should know by now that it is not particularly difficult with Galaxy to produce consensus genomes of viral and also bacterial samples from high throughput sequencing data. And for many pathogens, there are domain specific databases to submit these consensus sequences to. So as for example, GZ8 for influenza and COVID sequencing data. But it is important to realize that a consensus genome of any pathogen sample only captures a tiny fraction of the information present in the original raw sequencing data. And so we strongly urge everybody to submit also their original raw sequencing data to truly open databases like the European Nuclear Tide Archive, the ENA or NCBI's Sequenced Read Archive SRA. This will not only allow other initiatives to benefit from your efforts, but it will also make sure you yourself can still access the data later when you might need to reanalyze it, be it in light of new insights into a pandemic or epidemic or new developments on the bioinformatics side. So for this aspect of data management, we've prepared a demo on how to upload data directly from within Galaxy to the European Nuclear Tide Archive and also tutorial on the hosting your raw sequencing data before submission to such databases. So you see, there is a lot of material to be discovered by you and I don't wanna keep on talking and prevent you from accessing it right now. So with that, I'm at the end of this brief introduction. I hope it clarified a few things and I wish you fun with and insights from all this material available. Good luck and bye-bye.


Well, for me, schizophrenia is a fascinating disorder. There's very little that you can see in brain scans or other kinds of biological tests to show what's different about the brains of individuals with psychosis from individuals who do not have psychosis. I'm Neil Malhotra from the Zephyr Hillside Hospital in New York and I'm the principal investigator of this project. We're looking to see if a treatment strategy called transcranial magnetic stimulation may have the ability to actually improve cognitive function in individuals with schizophrenia. And what that tends to do is either turn on or turn off brain circuits. What we hope that that leads to, of course, are individuals doing better in their day-to-day life and out and about. TMS is FDA approved for the treatment of depression, obsessive compulsive disorder, and smoking cessation. It has not yet been tried as much in individuals with schizophrenia. So it's very exciting for us to start this study for the first time.


I love frogs. I also love horses. This gave me a great idea. A little sandy. A little bit of surgery.  A drop of glue. A pinch of baking soda. And both a horde and a horde are boring. Seamlessly with some clay. A quick pry. Some paintwork to finish them off. Don't forget the details. These are my forks and these are my forks. This is what happens when both your loves come together.


So hi everybody. Thank you for coming for my talk. My name is Edith Levine, and I'm working in EMC in the CTO office I'm also the CTO of EMC Cambridge Dojo Cloud Foundry And I wanted to show you a very cool project that we did called Project Unique That was an advanced development that me and two more developer kind of like spin up And we feel that this is very cool. We wanted to show it to you so First let's start talking about the motivation. Why did we do this? So if you're looking around you see the stack This is the stack that today most of the enterprise is using specifically if they're using Cloud Foundry, right? So there is the hardware. There is the hardware drivers then on top of it. There is usually a app advisor There is virtual hard drivers, and then you have the OS kernel Then on the operator system you have also the OS user, sorry the OS user processes, right? Then that basically separate your processes on top of it you have Docker, right?  All of this, all this huge stack It's what you're running every time that you want to run. The question is why do we need all this stack and What is important to us to recognize is that the only reason we actually need all this stack is because we want to run a Single application with a single user on a single server That's all we really want to achieve and we have all this huge stack, right? With all those layer And if you're looking at this layer, there is a lot of redundancy For instance, isolation is a great example. You have the physical isolation on the hardware, right? Then you have the IPv4 itself who isolated the VM You have the OS user processes who separate the processes then you have Docker runtime We're basically doing the same thing then you have your application who separate your users, right? So a lot a lot of redundancy and inefficiency So now let's look at the kernel one second and see if there is any complexity there And if we're looking at the kernel We see that most of the complexity is coming from the one target that the kernel should do which is protect, right? It should protect application for application should protect user from user and it should protect application from user, right? So this is basically one of the main job for the kernel the question is That's really needed Like that was very very makes sense on the 50 and 60 when we bought this huge computer was very expensive And as a business use case we decided that we cannot afford ourselves by this huge computer based one for application And therefore what we did we had to share it, right? Because it costs a lot of money But today we're not doing it, right? Today. That's not the model today You can actually run a really small computer VM with what you need If you're looking at the microservices architecture, there is a lot of duplication That Linux kind of already did for us if you're looking at library like it's it's like ETC You will see that basically what Kora is doing with that CD It's kind of like a like just in this deep with it way But there is a lot of stuff that the operating actually already giving us and we duplicate it on the microservices architecture Um And if we're looking at our inefficiency if we're looking at something like the kernel And we're looking at the driver that running inside the kernel We will be surprised to discover that there is a floppy driver there I didn't see a lot of time floppy actually driver attached to a machine But you still have the bit and the byte on your computer same thing for usb. You're running on amazon on aws You can't even get to the machine. You still have the usb Our driver so a lot of unnecessary stuff running on your laptop Constantly now On your laptop or on your infrastructure and what is important to say is that every other Company that's trying to attack this today like core s for instance They're trying to attack the the operating system destroy They never touch the unicerno the kernel itself which means that in the kernel you still have a lot of unnecessary code And if you're looking at the update update model today So when you're doing gay, I don't know if you're running fedora and you're doing yam Or if you're running gay or boondoo and you're doing get up you're getting a lot of stuff to your computer I don't know if you really know what you're getting but a lot of the stuff probably are not necessary You're still getting in and paying for the storage and for all these um beat and byte running So cio probably will appreciate this slide because also in the security there is quite a lot of problem Because the kernel is so big and the operating system is so big The surface of attack is huge right? I mean I can think about A lot of component that I can actually use in order to attack those operating system And when you're looking at linux, which is a very popular operating system There is a lot of explosives targeting it Versus the hypervisor people are less target because it's usually behind the internet right if you're not exposes it to the internet And the last security problem that I notice is the microservices architecture sharing a lot of stuff right You're sharing the kernel you're sharing the memory you're sharing the file system You're sharing the hardware you're sharing quite a lot of stuff And the only thing that actually protected is extension like a c-group a kernel extension like c-group So again, it's not very native right So let's look one second a little bit more about the linux kernel This is an example for how many technologies you need to know in order to actually maintain the linux kernel It's going on and on and I will argue that there is not a lot of of people in the world are actually capable of doing it So very complicated If you're looking at that source line of code This is like my estimation. I think that a small application is around 10k line of code This is what usually we like to say If you're looking at medium and large it's probably around 100k line line of code And you're looking at a big one huge the team is actually maintain probably 1 million lines of code This is the only the kernel of the linux 22 millions lines of code right If you're looking at the db and distro 419 Lines of code this is huge. There is no, you know, it's very hard to maintain tons of Technical depth and it's just very hard to reason about right So this is basically the you know the the ratio between the line of code of the unique of the kernel and the distro So the question is how did we get there right? I mean I just described you tons of inefficiency That we're running every day in your infrastructure And what I came with is that it's probably a regular, you know, it's an evolution right We started with a big computer. We went all the way to the personal computer all the way to you You know to your mech and your entry and the only thing that come between all of this Is basically unix right it supported us all the way So it's so basically so what can linux run on anything right what can run on linux anything I can seriously take right now the last Obuntu distro run it on my 10 years Pentium one left. It's just going to work right. I don't need to do anything out of the box So we made a trade-off right we made a trade-off as a community We decided that it's more important to us to A to support compatibility versus efficiency Right, so we make it work right? I mean we are running it in your data center It's quite very you know, it's performable. There is google and of the world and they're running very efficiency, but It's not right the architecture is wrong And what I I offer right now is that let's make it right and hopefully after it. Let's make it fast So what I suggest is is to use unicernal And so let's talk a little bit about unicernal So the traditional approach today when you're running you have the kernel itself And then you have all the libraries on top of it and your application This is the stack that you're getting no matter which application you're running. It's always look the same This is in your operating system. And that's what you're running Question is do I really need that? And you don't really right you only need what your application actually consume So the unicernal report saying Let's just take just the white Triangle that really need in order to run our application. So you're not going to have the full kernel You're not going to have the driver that you don't in you're only going to have the driver that you actually need in order to run this unicernal So This is sounds like a magic. How does it actually work right? So what we're doing is we're taking your application Code binaries right you're taking your config you're taking your dependency You're taking your runtime language runtime that you need to support your application and you're taking your virtual drivers And you're putting all of this in some packaging tool Right that the unicernal ecosystem already creating for us. There is a few of them And then result it's just a unicernal and you know, it's basically a bootable image, right? So it's can run either on hypervisor All bare metal right because it's basically a bootable image So if it's running on hypervisor, it's it's it's it's it's on machine Like it's a real vm everything that we already knows about hypervisor We work here right if you want to v motion it if you all of these things is going to work because it's running on an hypervisor But unicernal will have their own network stack They have their own virtual memory and they contain and hopefully immutable. That's what we hope Um, so what did we do here? This is the stack We just remove everything that we don't add right very simple It just remove what we don't add much easy to reason about less layers and so on So let's just summarize what is the advantage of unicernal So the first time the first thing is that there is no other user The only user that you know, there is no multi-user support You can add a multi-support for your application, but it's not going to be when you log into your machine, right? No permission check and this is kind of like key because now you don't need to do all Contact switch and you're running on actually ring zero Which means that you act on kernel mod which means that you can actually utilize 100 percent of your hardware Your application is doesn't need to switch between the kernel mod to the user mod It's just running in the kernel mod much quicker much more performance um Isolation only individual hardware the only sharing hardware, which is very very important, right Now if we're talking about sizes Um, the minimum virtual machine that you're taking today with an operator system It's probably one gig. This is what usually people working with right the minimum before you're putting your application The unicernal is case, right? So I mean if you're putting basically that size of the unicernal is the size of your application, right because it's very very tiny And because there is not a lot of line of code not 22 millions only like thousand or so It's very quick to boot up, right? It's not a lot of line to actually boot So the booting time the performance time is as quick as container at least right if not more And the last thing is that the the surface of attack It's very very tiny because if you think about it, there's not a lot to do attack You don't have ssh to this machine. How can you attack a machine that it's very, you know, it's almost impossible to to um log into it And but it's not only that the surface of attack is tiny. It's also cast a customizable which mean The unicernal will look differently between different applications So if I have one application that running from this unicernal the libraries will be different than another application So even if I was very very, you know smart and managed to attack this application I would not be able to do that on a different one. So it's very castable So last slide about unicernal, uh, basically there's two types in the ecosystem today There is the fourth compatibility, which is uh, basically the language specific So it's very performable, but it's work only with a specific language a good example will be Docker just acquired in the beginning of their company called unicernal system They are focusing on something called mirage os mirage os only support or camel as a language So if you don't want to write or camel your few come from Cambridge must a u k You're basically capable of running that and get a very very killer performance But most of us don't write or camel or at least didn't use it until now And therefore we're going to use the other one, which is the posse compliance So posse is basically the api of the operating system and therefore It's supporting most of the language that we know today. So you can run cvc plus plus go Node.js ruby python and name it it's going to work, right? So what did we do right because all I described right now. It's only what is the motivation When I saw this I said to myself why not everybody using unicernal? It's just very very good And what I realized is that the reason people not using it because it's very hard, right? You need to take your driver and you need to understand how it's working very complicated to work with And if you think about it, this is exactly what docker did to linux container linux container was there for a long time But it couldn't actually been used because it was very hard for the developer to understand what's going on there What what docker did they make it very easy to use? So what we did is exactly the same thing for unicernal basically creating a command line Rest api tool that make it very easy for you. It's abstract from you all this mess You're just pushing your application and we're taking care of the rest So it's called unique So how does unique work very simple right very like docker So unique daemon will set up your environment Mainly it will set up the daemon itself, right of the unique And if you're running and you don't have your infrastructure dns We also spin it up a new unique kernel actually which is very cool because it's 300 mag That actually will give dns to you. So if you're running on there something like vSphere and Then you just build your application your unique kernel Then you can attach volumes and then you can just run it very very simple to use So for my opinion, this is the most important slide that I hope that you will take from here Is the fact that we were I I believe that we were very very smart about making a decision About how to architect unit and because this ecosystem is very very new We didn't know what will catch we didn't want to bet on one unicernal type And we didn't want to bet on one cloud and we didn't want to bet on processes We just wanted it to be very very pluggable. So what we did we make unique very not opinionated So today if you wanted to add, you know out of the box, we're supporting ram kernel Which for my opinion the best unicernal today There is a mirage os which as I said is language specific and osv Specifically very important if you're running java So we're supporting all of those right, but there is more and we invited the community to help us Create a compiler for them, right In terms of cloud provider out of the box AWS That's the first one we did then we added all the vSphere. So you're supporting vSphere and it's supporting futon the new The new a platform on its scale of VMware We also want you to have the ability to run it on your laptop because we think it's very cool So we're supporting right now virtual box. We're going to add a q mu and kvm very soon So basically what we're trying to do is cover most of the ecosystem that you can run it whenever you like And we're also working on open stack as we speak actually And the other thing is that we didn't want to be only Intel specifics because my belief is that The big use case for unicernal will be in the internet of think He people can argue about if it's suitable for cloud. Yes, if it's too mature But no one will argue that this is the best fit for internet of thing And for a few reason one of them very small footprint, right? It's not taking a lot of storage second of all very performable and third one very secure So like the third quality, I think this is like perfect fit for you for Internet of think and this is why we decided to support arm as well to show that this is Can run on those embedded devices But we wanted to make it easy for you to run. So what we're working on right now is unique up Um, not always the guys who actually building the unicernal will be the one that running it So we want to make sure that you can pull and push And and also it will make an easier experience to try in And okay, so we didn't stop there because we know how the community really really like docker api So it was very important to us that it will not have going to be very hard to adopt So what we did were basically Each unique out to speak docker api. So today you can just use the minus age flag in docker Target daemon of unique instead of docker and then you basically can do docker run docker build docker ps Docker rm. It's just going to work for you out of the box So you don't need to change any script that you had before it's going to work But our main target as the cdo fmc dodo was To integrate it with cloud foundry because we feel that that's will be the best experience for the user So what we did is exactly that Today if you're running cloud foundry, you can run it on a regular a you know If you're pushing it it will go to the old architecture of cloud foundry If you're pushing it with the navel diego flag It's going to go to the diego new architecture if you're doing right now enable unique It's going to go and run unicernal. So the same application you can do push to diego or push to unicernal. It's going to work Demo Let's see them Okay, can you see that it's good Okay So the first thing that we will do is we will do unique queue that will tell us what is the unicernal that I already compile So What is what are unicernal when after I compile unical? I'm getting it depends when I'm running but what I'm getting is a bootable image if I'm running an aws I will get an AMI if I'm running on a on a VMware I will get a VMDK Okay, uh, so basically what you see is that before that I had a application that I'm that I that I build already Now what we're going to do is unique ps that will tell me when I'm running already So as you see I'm not running anything So let's just go and run something real quick so unique run And the name of the application that's simple, right? So that's specifically running on aws. And as you see, I have a unicernal running. So that's quick, right? If we're going to go just to see that let's do unique ps Let's grab the the ip Let's go to a website Anyone and as you see we have very stupid static go website running Whoever know me know that I'm really adored stiff job. So every demo that I have will be with stiff job So as you see we have stiff jobs running, right? Um, so that's cool. It was very very simple. But now let's build one Okay, so again, it's very simple Nick push Let's give it a name And I just want to make sure that I'm on the right place Okay, so now let's run it The only thing that I'm doing is unique Run a build push And I'm giving it a name Let's give it cf And I'm running it and what you will see right now that it's starting building the unicernal But we'll take a sec. So let's go for the meantime and look At the cloud foundry one It's creation So what you see is I have a cloud foundry here for each Up so we have no application running, right? Can you see it good? Do you want me to Okay, so we don't have application running. What we're going to do right now is go and push an application Let's see that just do right so The only thing that I need to do is cf push So see what I'm doing here. There is cf push. I'm not starting the application and then I'm enabling unique I'm giving the endpoint of unique and I'm starting it, right? So this is basically what I'm going to do what you will see right now is that it will go It will build it using the build pack We take a minute. Let's continue. Look at it and So as you see it's running all the build pack It will take the build packet of the unicernal that we build it's going to support everything that that cloud foundry support today logs um If you need a you know the router everything out of the box will work for you, right? So as you see it's we work right now um So while it's doing it What I would suggest is that let's go one second back and see a little bit more demos while it's working So as I said to you the thing that I believe is that Internet of Things will be a killer use case And we decided that instead of wait for that to happen. We should do it So the future is out to create what we did here. We basically took a Raspberry Pi and We attached it to another Raspberry Pi that actually debugging the Raspberry Pi And we were the first people in the world that actually run unicernal from kernel on a Raspberry Pi As you see, this is how we're working on it. There is the gdb that actually debugging it and that's exactly how we did it So what I want to show you for the meantime is a quick demo Before we did that and what I'm going to do right now. We'll ask unic To push unicernal to a raspberry pi that will talk to the toaster and we'll make a toast because I skip breakfast Okay, so you want to do that Let's do it real quick And just verify that you see so this is still building the the application This one is already ready. So if we'll go right now just quick, I will show you this For removing so if we're doing unique queue right now We will see that We built another application. It's probably waking up Yeah, you see cf that we just built so now we have the unicernal we can do again cf Now if we want to do logs just before we're doing this, so we're saying if we want to do You can do unique logs the name of the ps.running. So let's first do unique ps And then unique logs Putting the unicernal name But you can see this is the actual Putting of the of the unicernal now you need to understand unicernal is actually running. It's it's the kernel it's running Inside and your application inside the kernel, right? It's kind of like up together So as you see it's actually putting up your application, you know the operated system and then it will boot up your application Okay, so now let's do this In order to do that we need to switch network the second Okay, switching Unicernal Which i'm connecting to the network. We are going to Run this real quick The website, okay So you see right now that should work Okay, so this is basically the website that i build and what i want to do right now is i'm going to plug in everything And i'm going to click. Oh, i forgot to put the toaster though So i have bread right i'm going to put it in the toaster Close it As you can see it's closed. No working the raspberry pi is attached and then let's just ask unique Okay, so now Soon, hopefully it will start working Yeah, so again, what's happening is We put the u-boot. I don't know if you know what it is, but it's basically boot on network on the raspberry pi It's waking up. It's going to unique. It said do i have something to run? Taking all the unique kernel. It's putting it on the raspberry pi. We should Switch this switch was going to open the disk So now what you see is that it started it and this one is working right So let it work and then the last thing. Let's just see what's going on with cloud foundering Let's go back to Your network Let's do cf apps We have one application running Hopefully it will work or if we didn't fail because it looks bad. It's maybe because a switch network And So as you see, this is this cloud foundering running Steve jobs different Steve jobs And now what we can do will quick Because I know I'm out of time Let's go and scale this application will quick. So i'm doing cf scale Right i'm scaling it to three So now I have three instance of three unique kernel running right and cloud foundering Let's go quick today Let's go here to unique and do your unique ps What you see is that there is four four unique kernel running The first one is the unique kernel demo that we did the first one Then there is three example app right now what we're going to do we're going to kill it from unique So i'm basically doing unique a rm And just choosing one of them doesn't really matter which So what you will see now and what I want to show you is that basically what will happen is that Cloud Founder will will just add a new one right because he just lost one of the unique kernel so We're looking right now this one is shutting down and we'll soon cloud foundering We'll do this a new one So until that's working any question Yes, I forgot to say that yeah, and we did open source it um So you can go to the github we really like open source so Well, you can go to the github of us Just one of them Just maybe github So you can go here it's open sources You see the community actually really digging already 299 stars Great traffics people are coming people are cloning people are watching So the community actually really really digging to it and I will suggest that you will do the same There is a very very easy kickstart We did everything so so simple like it's Docker and it's running So really like go try it. Let's see if Diego actually got it. I don't know. Diego is not recover Okay. Oh, yeah, you see sir. See so I'm still I have one shutting down application Three new one right like basically I have three instances that I want to ask for cloud foundering and The last thing because I think beyond that Is that you can see that the toaster is actually working We can eat that's it. I mean do you have any other questions? Different for microkernel So microkernel they've been around for a while I mean for a long time Yeah, I mean Let me take it with you offline I will answer that Do you have other? Yeah Yes No, so the thing is that what I'm doing is I running unique channel instead of container The only limitation is that this is as you say it's one user So which means that they cannot fork That's the only limitation that I have on the the platform itself, right? So application that you're forking will not work Yeah, so I mean this is a regular cloud foundering destroy, right? The only thing that I did is I basically created the back end So when I'm running it instead of running content it will run on unique channel Okay, I question You know that set Think relate Okay, so thank you guys