Let's me start with three little sentences. I think you agree people want a future people need a future and I think we agree future needs innovation and but at the same time innovation Needs research to make it clear Fraunover is a contract company. We do we are doing contract research for the industry But in recent years the Fraunover Gazelle Shaff has changed its approach To a strategy development and shifted the perspective From supply to demand driven needs a little bit The emphasis is now on future challenges and the changes associated with them and the opportunities arising from these challenges and Then coming to new markets. I think Therefore, we agree people need a future looking at all this studies of UNESCO or other people We all agree. They are really Very important challenges in the first 21st century these mostly called eight challenges health and nutrition energy and resources environmental and climate protection Urbanization and globalization poverty demographic change mobility and last but not least disasters of course These challenges do not stand in isolation from one another But are closely into Interdependent this overall interdependence is particularly Permanent to the issue of poverty for instance Progress in other fields for action always represents an important step towards combating poverty Research and development can make an important contribution Contribution to meet all these challenges to create a platform For meeting these challenges of the future the Fraunhofer Gesellschaft has set up the internal markets beyond tomorrow program it focuses on Identifying the problems that need to be addressed and what people expect from the research work involved involved Fraunhofer lets itself be guided by the needs of society people need health they need energy Communication a healthy environment mobility and of course security if we take a general look As the technologies that will shape the 21st century the following stand out microstructure technologies For example micro electronics micro mechanics micro optics micro biology Developments and materials and process including the photonics Biotechnology and genetic engineering Power and environmental engineering The technologies that we should see as really key enabling tell our technologies are those that if we master them Will be the precondition to economy success and social change The application will open up new markets and areas of growth innovation will have a special role to play in their development These key enabling technology technologies will initially be mainly used in product innovations and normally require innovations in processes Starting from these global social Cellentures that have to be faced the Fraunhofer Gesellschaft X the mind its portfolio across all of its institutes in the process That identified six future Institutions which can be expected to create growth markets requiring requiring considerable research affordable health care Disaster prediction and management Low emission reliable mobility in urban areas Information and communication Low loss generation distribution and use of electricity and Life cycle production. Let's come to the first part health and nutrition Research into people's health and their environment means health research is devoted to a wide variety of topics Analysts and diagnosis should be made simpler Faster and safer by modern technology Searchable procedures may be should must be made as minimally invasive to page patent patients as possible to reduce risk and recovery times Therapeutic techniques and prosthetics must be optimally fitted to patients bodies and to treatment goals Technology can also help to make many aspects of pharmaceutical research more efficient Given that nutrition and food technology are decisive factors in health They also play an important part in Fraunhofer research as does effective environmental protection Comprehensive information on avoidable risk and a healthy lifestyle are just as important as preventive care and the early diagnosis of disease The results of Fraunhofer studies contribute to all areas of medical environmental and nutrition Research helping to improve patient's health and ultimately Working toward the reduction of course for the health care system and Making clear what really our markets beyond tomorrow program means We try to put together our activities in Fraunhofer by really offering a program within Fraunhofer by the Board of Directors and for instance one of these beyond of Tomorrow products is this product skin here As you know until now therapies for chronic wounds have been based on experience But the healing process was has not yet been understood Researchers from five Fraunhofer institutes have joined forces to change all that they want to make the treatment of Corning wounds more effective and able patients themselves to check whether they open wounds are healing or having become infected with bacteria The researchers are pulling the expertise in the beyond tomorrow projects as I just called skin here this one example looking at another topic Safety and security as you know extreme weather major accidents forest fires And of course terrorists attacks in the end of a disaster the rescue services need reliable information Intelligent analysis and information systems help rescue personnel to do their job in modern situation centers Equipped with video walls or monitors all the information they need is made available at a glance Fraunhofer sciences also conduct work on making urban life safer in Cities people Live in a confined space, so it is essential That's the supply of energy water and medical care function reliably The vital arterios of our highly complex and closely meshed society must be kept flowing smoothly at the old times risk analysts and Advanced technologies can help to protect this relevant infrastructure the range of research projects extends from new proposals and Newed from new concepts for the construction of safe skycrapers capable of withstanding a plane crash Through new developments for people and luggage checks at airports to future video monitoring systems When a serious incident occurs The police fire and emergency emergency medical services have to take decisions quickly They depend on receiving information that is reliable Information and communication techniques help them to keep on top of the situation Mobile systems are also provide them with the necessary information on site It is too dangerous for the rescue Surfaces to enter the scene on the of the accident of the incident Robots equipped with cameras and measuring instruments move into the danger zone Drones observe the situation from the air and transmit pictures and data for the control center Or having a look at the next topic Whether it's jetting off on holiday Driving to work visiting visiting relatives or simply going shopping It all adds up to an entire lifetime spent on the move on water or land and in the air Globalization has increased personal mobility as well as fried mobility We eat kiwis from New Zealand by computers made in China Products travel thousands of miles before they reach the consumers Fauna for researchers are looking to control transportation and make it reliable Even eliminating it entirely at certain points with the ultimate aim of managing resources sustainably People need mobility and fraun over striving to meet these needs in a way that is compatible with humans and the environment And looking at the next topic of course we need information and communication The extent to which ICT affects and makes our daily lives easier is set to grow in future All based on tiny sensors and wireless communication which together give passive Objects from the carpet through clothing to the window The capacity of a new function They can automatically adjust to the user and forward Valuable information to communication networks There by helping to prevent traffic traffic James for instance or monitor patients health is it is up To each of us to decide how many of these ubiquitous Unseen helpers are deployed say in the intelligent intelligent house Which automatically ensures safety and optimum energy use usage or as part of the wireless networking of consumer electronics electronics in the home and You need you know the energy Change in in Germany and we do a lot of new energy Research in fraun over With our energy we would have no warm homes No hot water for showers and no electricity to keep food chilled Operate appliances or allow us to work at the computer Up to now our economy has been driven and our homes made comfortable by oil gas and coal Slowly but surely as you know in Germany a little bit quicker these natural resource This changes quicker not the these natural resources are running out That means for everybody if you want to continue to enjoy affordable power heat and cooling in the future We need to become more efficient in the way we use energy Get better at storing it reliably and try harder to develop renewable energy resources weather from the Sun Wind coming from the Sun Sun as well water or biomass an increasing amount of energy is obtained from renewable resources Two main developments are driven demand for renewable energy As crude oil and natural gas supplies are slowly dwindling the price of oil gas and coal is rising more over UN surveys demonstrate that emissions of the greenhouse gas CO2 must be reduced dramatically if we are to Prevent the earth from heating up by more than two degrees Celsius the transition of to the to a sustainable energy supply is one of the greatest challenges we face in the 21st century and I just mentioned One example is the skin skin he'll project of the markets beyond tomorrow program another example for just Project is this beyond tomorrow program Supergrid large scale solar thermal systems in Africa offshore wind parks in the North Sea photovoltaic power plants in the South and Just and many decentralized systems in Central Europe Art to produce a large percentage of our electricity in the future But a number of challenges must still be overcome for the transition of to renewable energy to be successful How can we combine renewables and then transport electricity without considerable loss across thousands of kilometers from North of Europe to thousands of Europe and then transport electricity without really Consolable loss Can strongly fluctuating energy be effectively stored? How can we feed the electricity into our networks in the beyond tomorrow project super grid? from over a development components that will store and distribute electricity electricity with minimal loss and as we just heard By the minister we need a production scene in Europe more than before really and As the costs of raw materials energy are skyrocketing in many industries They have long since been the determining factor in the price of the end product The Paradigm and shift is needed if companies are to continue to thrive in the global market Maximum edit value must be generated for minimum resources that that means we are oftentimes in new production technology one of the key tasks for the future is to increase efficiency in production and Utilizing materials economy Kelly researchers are active across a wide range of disciplines We saw resources can be saved with wire processing metals by replacing Machining manufacturing processes with forming processes The experts aim to improve resource utilize utilization in component manufacture by means of innovation in tool construction They also aim to reduce emissions and manufacturing costs Resources can be conserved very effectively for the economical use of materials So it is important to increase process stability and produce a few rejects as possible New materials and I think this is one topic of this conference and surface structures also offer a great deal of potential The development of micro and nano structures not only feeds through into a shorter process change But all also facilitates more energy efficient production of engines and other powertrain components Fraunhofer Provides research services to customers in industry as I mentioned in the beginning and the public sector Also, our business is based on innovation and our aim is to leverage science and research to develop Innovative products and applications that benefit people If we are to this to succeed Fraunhofer research must always remain in touch with people at the only means of identifying current and future needs and Julie orienting our research according to the market Innovation is one of the key factors in commercial success knowing current customer needs Keeping up with the state of the art and quickly responding to the market changes is essential to survival is a competitive global market place Successful companies are well aware of that and value and value in innovation culture that delivers results Fraunhofer is a long-term partner who can help companies succeed We develop implement and optimize processes products and systems until they are really ready for use and ready for the market We help our customers roll out new organizational structures and technologies in their companies We provide contract research and innovation in virtually all applications application relevant fields of expertise Of course, you may I think you will need it. You will know it. We are now more than 80 research Institute more than 20,000 employees and your budget is about 1 8 billion so we are really ready to cooperate with companies in Europe with the Europe Commission and I think The Commission knows it. We are quite good customers And of course we would like to be a good customer the future and a good Good partner for for all for especially for the industry in Europe Coming to an end To the end of my talk, I would give a short comment to the new horizon 2020 discussion we have this discussion about the new simplification activities and of course we Find it very helpful to have simplification In the last years the large RTO they installed at every place full cost calculation and The nowadays you can see it by this slide that is Large at O's as we call it that are these at O's which having this full cost calculation and Having I think quite a good role a very important role in in the technology transfer system in Europe. They Not only to look at the considered fact that when you look at this slide it is It is show that I think the RTOs are playing really a significant role and in this place and For this we Look forward, but we look very Specific forward to the Your simplification project this 100 Direct and 20% and indirect cost as you see by this slide if you if the large RTOs are really together in EG you project the cooperation with industry is really increasing and therefore We hope that we will find a solution for the simplification We are now looking at the numbers and Most RTOs expect an effective research funding rate in horizon 2020 Of about 50 to 65 percent that means it's less than last time when it was 75 percent. So I think we should have a discussion on this because Otherwise, it might be that we will not so intensive within this horizon 2020 program than before But of course, let me summarize not to be to say wrong words Of course, we need simplification, but we need a simplification that is Simplify both simplification for both sides and but it's not only just a hint A short topic. I think coming back to the first one Beyond tomorrow We feel there will be there are new markets and these markets should be open by innovation and research and we are prepared to do it and Second point for the future. We need key enabling technologies maybe even more than in the past and I think we will cooperate together. I hope with all the participants from industry you should Be open to come to to Fraunhofer or to an RTO in Europe And of course to the world University as well. Thank you for your attention


Hello Earth citizens. In this video, I will do a 10 minute meditation routine for relaxation. So before we begin, please find a comfortable space away from distractions and have a seat either on a chair. If you're sitting in a chair, please make your feet line up on the floor and feet flat on the floor. And if you're seated on the floor, you can sit on a mat in half lotus posture. And when you're seated, please move your hip side to side. Shake your spine. Shake your hips. Make your body comfortable. Loosen your spine. And place your hands with your palms facing up on your knees. And straighten your back. And then tuck your chin down a tiny bit.  And take a deep breath in through your nose.  Deep breath into your nose.  One more time. Deep breath into your nose.  Call out body parts that I want you to relax. Every body part that I call, release the tension there. Release the pain and tension in that body part. And you will feel more relaxed overall afterwards. First, relax your forehead. Relax the muscles in your forehead. Relax your eyes. Relax your cheeks. Relax your jaw. You can slightly open up your jaw to relax it.  Relax your neck. Relax your shoulders. Relax your arms. Relax your wrists. Relax your hands. Relax your fingers. Relax your chest. Release any feelings you may be feeling heavy in your chest. Breathe out any heaviness from your chest. Relax your abdomen. Relax all the muscles in your abdomen. If you're seated with your stomach flexed, relax the muscles in your abdomen. Relax your hips. Relax your thighs. Relax your knees. Relax your calves. Relax your ankles. Relax your feet. And relax your toes. You may stretch out your legs if you'd like to relax them more. But now your body is fully relaxed. Take notice of this feeling. This relaxed feeling in your body and your mind. Take notice of this moment right now. Take notice of the sensations in your body. Do you still feel some tension or pain somewhere? If you do, please relax that area and send some healing energy to it. Realizing the sensations in your body helps you connect to your body more and helps you live more in the present moment. And also listen to what your body is telling you. If you have pains somewhere like in your chest or your abdomen, that could be your body telling you that there's something wrong. But most people don't listen to that and they ignore those signs from their body. So this is a great way again to connect to yourself and feel your body.   One more time.  Great job. Now open your eyes and rub your palms together. Rub your palms together. Create heat in between your palms.  Send rock heat and loving energy to yourself and say, I love my beautiful face. And then send it to your shoulders. Give yourself a nice little shoulder massage. And now sweep down.  Great job. So how do you feel? Do you feel more relaxed overall? Do you feel more connected to yourself and your body? Please message down below how you felt. I'd love to hear your shareings. And if you're interested in a one-hour brain education-based class, please visit a local Body and Brain Yoga Studio near you. Thank you and I'll see you in another video.


So, the first encounter that I had with Howell, it was my first semester of school at Seattle University. I ended up transferring to Montana State. And I had three really great classes that kind of drove me off the intellectual deep end, which I think is what makes a class great. And it was also when I first found out that, or at least the science started showing up, that I was suffering from pretty severe depression and pretty severe social anxiety. That was debilitating. I was in days in bed reading postmodern literature, which was the class that I encountered Howell in. And if any of you have read any kind of postmodern literature, it's all pretty depressing. So it's pretty good for a depressed person to read, not at all. And when I finally came across Howell, it was a piece that I could relate to. It was a piece that described my anger and my frustration with what was happening to me and what I was being exposed to in the world around me. Growing up in Billings, Montana, you don't really, I guess you don't necessarily encounter the world problems upfront. And moving to Seattle and seeing the poverty. We had a juvenile detention center down the street that I volunteered at seeing that and seeing, I guess, the pains of the world finally up close really made this resonate with me. So I'll be reading the second part of Howell. Children screaming under the stairways, boys sobbing in armies, old men weeping in the parks. Molok, Molok, nightmare of Molok. Molok, the loveless mental Molok. Molok, the heavy judge of men. Molok, the incomprehensible prison. Molok, the crossbones, soulless jailhouse and Congress of Sorrows. Molok, whose buildings are judgment. Molok, the vast stone of war. Molok, the stunned governments. Molok, whose mind is pure machinery. Molok, whose blood is running money. Molok, whose fingers are ten armies.  Molok, whose ear is a smoking tune.  Molok, whose skyscrapers stand in the long streets like endless Jehovah's. Molok, whose factories dream and croak in the fog. Molok, whose smoke stacks and antennae crown the cities. Molok, whose love is endless oil and stone. Molok, whose soul is electricity and banks. Molok, whose poverty is the specter of genius. Molok, whose fate is a cloudless or cloud of sexless hydrogen. Molok, whose name is the mind. Molok, in whom I sit lonely. Molok, in whom I dream angels crazy in Molok. Cocksucker in Molok. Laugh, love and manless in Molok. Molok, who entered my soul early. Molok, in whom I am consciousness without a body. Molok, who frighten me out of my natural ecstasy. Molok, whom I abandon. Wake up in Molok. Light streaming out of the sky. Molok, Molok. Robot apartments, invisible suburbs, skeleton treasures, blind capitals, demonic industries, spectral nations, invincible mad houses, granite cops, monstrous bombs. They broke their backs, lifting Molok to heaven, pavements, streets, radio, tons, lifting the city to heaven, which exists and is everywhere about us. Visions, omens, hallucinations, miracles, ecstasies, gone down the American River.  Breakthroughs over the river, flips and crucifications, gone down the flood, highs, epiphanies, despairs, 10 years, animal screams and suicides, minds, new loves, mad generation, down on the rocks of time. Real holy laughter in the river, they saw it all, the wild eyes, the holy yells, they bade farewell, they jumped out the roofs to solitude, waving, carrying flowers down the river into the street.


Hello friends, welcome to the session. I am Alka. We are going to discuss matrices. Our given question is a trust fund has rupees 30,000 that must be invested in two different types of bonds. The first bond pays 5% interest per year and the second bond pays 7% interest per year. Now using matrix multiplication determine how to divide rupees 30,000 among the two types of bonds. If the trust fund must obtain an annual total interest of A rupees 1800 B rupees 2000. So now let's start with the solution. If investment is given as a matrix A which is equal to matrix A X and 30,000 minus X. Now we know interest paid by first bond equal to 5% that is 0.05 and interest paid by second bond equal to 7% which is 0.07. Therefore interest is given by the matrix B where B equal to matrix 0.05 and 0.07. Now we will calculate the total interest of both the bonds which is given by AB which is equal to matrix X 30,000 minus X multiplied by matrix 0.05 and 0.07 which is equal to X into 0.05 plus 30,000 minus X into 0.07 matrix. This is equal to matrix 0.05 X plus 2100 minus 0.07 X which is equal to 2100 minus 0.02 X. Now according to our question when if the trust fund must obtain an annual total interest of rupees 1800 that is total interest obtained equal to rupees 1800 and from above we can see say that 2100 minus 0.02 X equal to 1800. This implies minus 0.02 X equal to 1800 minus 2100 this implies minus 0.02 X equal to minus 300 minus minus get cancel out. This implies X equal to 300 upon 0.02 this implies X equal to 15,000 hence money invested in first bond equal to rupees 15,000 and money invested in second bond equal to rupees 30,000 minus 15,000 that is equal to 15,000 rupees. Now we will see the second part where the total interest obtained equal to rupees 2000. Now 2100 minus 0.02 X equal to 2000 this is equal to minus 0.02 X equal to 2000 minus 2100. This implies minus 0.02 X equal to minus 100 minus minus get cancel out this implies X equal to 100 upon 0.02 this implies X equal to 5000 hence money invested in first bond equal to rupees 5000 and money invested in second bond equal to rupees 30,000 minus 5000 which is equal to rupees 25,000. So hope you understood the solution and enjoyed the session. Goodbye and take care.


or from Aaron Judge on the field with Brian Hope. Aaron, two home runs, three RBI's. We spoke the other night, you said your swing's not quite there yet. Where do you feel like it is after this one?  But, you know, with this offense, just give it time, man. Especially the guys all up and down the lineup, man, they're doing their work and just having some quality at bats for sure. Nine wins in a row, three consecutive series sweeps. Where do you feel like this club is heading in to a big series with the Blue Jays? You know, we're where we need to be, you know, not too high, not too low. The shot I keep saying consistent, I think that's the name of the game, you know, for this team. If we say consistent, you know, consistent at bats, consistent defense, don't give anybody extra outs, you know, we're gonna be in a good spot every series. Aaron, thanks for the time. Thank you.


This video will show you how to add extras to your PowerPoint presentation to make it more interesting. The three extras that you're going to add are transitions, an image, and a link to a website. The first thing you're going to add is a transition. So go up to the toolbar and click on transitions. There are different transitions. If you click on the down arrow, there are more options. But remember that you want your PowerPoint presentation to be interesting, but not too confusing. So I'm going to choose wipe. If you click on effect options, you can change the direction of the transition. I'm going to choose from left. I have a transition on this slide. If I want to transition on all of my slides, I click on apply to all. You see the small stars over here that tells you that you have a transition on every slide. If you want to preview it, go up to the top left and click on preview. If you click on each slide, you can see the preview. The next extra I'm going to add is an image. I'm going to add an image to my education slide. I'm going to open the internet and go to Flickr. And I'm going to search for a nursing assistant image. Where it says license, I need to change it to create a commons only. And there are many pictures of nurses and nursing assistants. I like this one, so I'm going to click on this one. Then I click on the download arrow. You can choose small or medium. I'm going to choose small. It downloaded to my computer, so I'm going to click and open the image. I right click on the image and click copy. And then I go back to my PowerPoint presentation. I right click and click paste. I need to drag and drop the image so I can read my words. And I also need to add an attribution so people know where I got my picture from. So I'm going to use the open Washington attribution builder. And I have my attribution ready, so I'm going to right click, copy. Go back to PowerPoint, right click, paste. I'm going to move this under my picture. I'm going to make this smaller. I'm also going to make the font smaller so that I have my image and my attribution. Then I'm going to go to my salary slide. And here I'm going to add the website where I found the information about the salary. So I'm going to go to the internet again. And I'm going to go to the website where I got the salary information. I'm going to highlight the URL, right click, click on copy. Go back to my PowerPoint, right click, paste. And I hit enter and I have my link. So now I've added transitions, an image and a link. And I want to see what this looks like for my audience. So I'm going to click on slide show and from beginning. So it's my first slide with the transition. I click. It's my second slide with my image and my transition. I click. And there's my last slide with the transition and the link. I'm going to click on the link to make sure it works and it does. So I'm going to go back, I'm going to minimize that. Go back to my PowerPoint slide. I'm going to click one more time to the end and click one more time and go back to my work. Remember to save your work by clicking on the small disk or click on file save. And that is how you add extras to make your PowerPoint presentation more interesting.


Hi everyone, today we're making roasted eggplant. We're gonna leave the skin on, we're gonna roast it in a very high temperature oven, and that's gonna caramelize the exterior of it and just bring out some great flavor, and the inside will be nice and moist and plump and juicy. And it's so simple to do, it takes about 30 minutes to cook, and I've got some tips for you so that you'll get the best results. I'm Rockin' Robin, and I'm gonna show you how to do it right after our chef joke. All right, I like to start off with a chef joke. There'll be another one a little bit later, so hang around for that. All right, so what do you call a huge henhouse? An eggplant. When you pick out an eggplant at the store, you're looking for one with a nice, smooth skin, of course, and you want it to have a little give to it, so when you push your hand into it, it kinda gives a little bit, but not too much, and you wanna make sure that it feels kind of heavy for its size. Now, if it doesn't, if it feels really light, it's probably very dry inside and you really don't want that. Like I mentioned earlier, we're gonna leave the skin on our eggplant. Now, some people think that that is the bitter part of it, but it really isn't because nowadays when they grow these, they have bred them so that they're not as bitter, and that shouldn't be a problem, especially when we cook it in the oven and roast it at a high temperature like I mentioned. That's gonna sweeten things up and really just make them taste great.  They should be at least an inch and a quarter thick. That way they're nice and plump. You've got enough because they shrink when they're cooking. So that way they'll have enough material there so that it stays nice and plump, and the skin also provides some structure to it. It helps keep it together, so that's why you don't wanna peel it. Now remember, about an inch thick. Stack the eggplant two or three high and then cut it into very large cubes, about at least one inch. Then you wanna place your eggplant into a bowl. Now my hands are clean. So I'd like to drizzle plenty of olive oil in or on top and I'm just gonna use my hands to start tossing it just because I like it better. You can use a spatula or a spoon if you want. You wanna add a little bit of salt to that. The olive oil tends to really absorb into the eggplant, you'll notice. And it doesn't look like it's very oily at all. So I just drizzle a little bit in there. I'm also gonna add a little bit of pepper to this. I like to mix it around and then add a little more pepper and a little bit more salt. Now I like to add a little bit of oil to my pan, just a light coating so that it helps not stick. So just rub that in and then we'll toss the eggplant on the pan. Now ideally you wanna spread it out so that each piece is touching the bottom of the pan. That way you'll get more caramelization of those pieces. My oven is preheated to 450 degrees Fahrenheit. We're gonna pop this in the oven and we're gonna check it at 20 minutes, flip it over and then we'll cook it a little longer. Our eggplant is roasting in the oven so it must be time for Chef Joke number two. Here we go. What kind of socks do you need to plant eggplant? Garden hose. Here's our eggplant all roasted up, 20 minutes, then I flipped it and then I put it back in for another 10. And what you want is that caramelized, almost burnt exterior. Use a metal scraper if you have one or a spatula like this and try and scrape up the bottom so that you get the crispy edge to come with the rest of the eggplant. So give it a good scrape like that. Sometimes it sticks. You could use parchment paper. It still sticks a little bit to the parchment paper as well but this is amazing. That has definitely got the crispy edge on it. It's caramelized, it's got some sweetness to it. It's own natural sweetness that, you know, there's no bitterness at all. And the inside is creamy. It's delicious guys. So if you love eggplant, you're gonna wanna check out another recipe of mine, baked eggplant, which is much healthier. It's coated with panko breadcrumbs, crunchy on the outside, nice and tender on the inside. Check it out. I'll leave a link for you right over here. Click that, go check that one out. Make it, it is one of my most popular recipes on my channel and I think you're gonna love it. Thank you so much for watching. Don't forget to subscribe to my channel, hit the notification bell and leave me a comment. And don't forget to hit the old like button for me that helps more people see my videos and enjoy the recipes. Thanks again, we'll see you next time.


All right, hey welcome over on so I'm gonna talk about fedora core s and live pixie When I start this talk, I'm gonna go pretty broad because there's a lot of stuff. That's pretty new here But then I want to so I'll go kind of broad and then do a sort of deeper dive into the into the pixie and ignition Advanced ignition, so I'm actually taking over this talk from Andrew Jettalo Former ignition maintainer. He went on to do other things But he did a lot in ignition and hopefully I'm channeling his his vision talked with him some about this talk and hopefully What he wanted to have will come through here Yeah, so I work on co-ess and open shifts. I've been contributing to free and open-source software for a long time And I can start all my talks by saying why I do what I do. I love working free and open-source software Just it feels like we're all collaboratively building something together and because software is just kind of a foundation of our society Like what we're building now is going to power, you know different businesses and nonprofits and all sorts of things for years and years to come so Yeah, it's just a it's just really really fun to do and important Let's see So let's start and let's talk about fedora. So fedora is a bunch of things Remember we're talking about fedora core s and pixie. Let's start with fedora So fedora in the in the ecosystem that is our distributions is leading edge we really want it's the place where we're new features are landing and We have a number of those actually in the fedora coral west side give some examples But it's where you know, we track the latest Linux kernel And it's also crucially a great the place to start if you want to contribute to the ecosystem that you know The red hat has That leads into sent us and and read at our price Linux So it's a very vibrant place to I love like the activity on the development mailing list and as I'll mention later Fedora core s is fedora. So like We inherit all that that happens there Obviously fedora is the upstream for well But one thing that comes up a lot and this is really important here is fedora is not just a desktop system I I can't tell you how many people I've talked to and they say I run fedora and they always mean as a desktop They never mean as a server. I mean one percent of the time. That's what they mean So that's something that we're trying to change and that's actually pretty profound, you know, how do we? Manage that how do we make fedora into something you want to use as a server? okay, so Before we get to the core west part of fedora core west The whole technology industry, you know kind of evolves in layers We've added virtualization and when we added virtualization It didn't change how you manage the operating system the role of the operating system is basically work the same You know, we added, you know, things like vertio to optimize how you do guest host Communication but again if you did pop it on your bare metal machines, you did pop it inside your VMs to broadly speaking Containerization though deeply impacts how we think about the operating system and you see this tension over and over in fedora course because we're not Getting rid of the way things worked before Like you still have traditional fedora fedora co-ass is for you know, we're optimizing for containers But we can't just stop what we did before because it's heavily heavily used And a great example this tension came up in the minimization talk was basically like if we right now We ship an Apache container that includes the rpm and closing includes the rpm it drags in system D And it drags in system D because that's how you run Apache if you young install it on a traditional system So we have we have these interacting ecosystems but containerization is deeply deeply impacting how we think about the operating system and this trend really accelerated with the introduction of container Linux red hat acquired core s with three years ago now and We we're trying to inherit the direction and Momentum the container Linux started with with fedora core west because container links was and It still is very very widely used for a whole lot of different things and There are a couple ingredients. I think that we're we're preserving I'll get to that the next side but the important thing with fedora core west here is that we're taking it is a successor to both container Linux and Fedora atomic host There was a comment on LWN from Someone who well, I guess I won't go into that, but I guess what I'm trying to say is we're We're really combining these forces and we're putting a lot. We're putting a lot of effort behind fedora core s it means a lot to to our team and Yeah, we really wanted to inherit this mantle So again taking the momentum of of containerization another aspect of fedora core west is also upstream to Rel core s and I'm not going to talk about rel core s too much in this talk other than to say that we have closely tied it to open shift Currently and it is It's kind of Kubernetes native operating system is the way I like to describe it But the the sort of core ingredients of what we think of is core west go into rel core west too So if there's something you want to land in rel core west to please contribute to fedora core west first You know everything we do there for an open source. We have public community I think we are pretty good at the sort of rough consensus working code model Yeah, again, like we really want to preserve Preserve and build on the huge community that fedora is Well also Interacting and you know, so for example, maybe we're also pushing back against fedora in certain ways Because again, we're trying to make a server that you can install for a while and that you know, there are a lot of Changes there actually a great example is the C groups v2 fedora core west today still uses C groups v1 Because we include docker which doesn't support it It's a great example So we are taking some divergence there, but it is upstream to rel core west Yeah, and I just really have to emphasize here that like definitely the vision I think is that it is fedora like it it's a different way of Managing a fedora system, but like something should be feel very familiar to people for a long time admins But we also want it to feel very familiar to people or container Linux admins Which is a balance a tricky balancing act in some ways Just recently it came out of preview so Yeah, check out the fedora magazine blog post if you want more details of that and one of things I think is most interesting about fedora courses We're also tying it to okd, which is our upstream for open shift So if you haven't tried okd you can get a Kubernetes cluster the same way the the open shift product works Except we're tracking fedora core west so I'm really excited about what we're going to do here because that's going to provide a Lot of additional testing for fedora as a Kubernetes host Well, you know fedora is tracking the latest Linux kernel So if we want to prototype out cgroups v2 and how that works in kubernetes You know having that land in fedora core s and okd first will be a great way for us to do that Yeah, so that's that's gonna yeah basically just ties together communities in a new way So talked about fedora talked about coral s so but when I say coral s what does that really mean? So we talked about okay, you know, we're emphasizing containers You know it's server-focused, but but let's get in the details, right? so Fedora coral s like what we're talking about when we say corvus is a fusion of technologies from the original container Linux Which was called coral s until it was renamed naming is hard and Atomic host and things kind of from the traditional red hat ecosystem like so for example se linux Can't tell you it was a lot of effort to make ignition work with se linux for example a lot No, we'll ever know how much effort that was it was a lot, but yeah, we're fusing using these technologies. So what is ignition? Ignition basically if you if you come from the traditional red hat ecosystem Ignition is a single replacement that works across metal and cloud that replaces kickstart and cloud in it Ignition runs in the initial ram of s and The core one of the core principles of ignition is that it runs exactly once and it either Succeeds in a hole or it fails So you know if your system boots and you provided it an ignition config and that succeeded your system is in that state Described by that ignition config it doesn't it doesn't vary so the the grating contrast here is cloud in it because cloud in it kind of runs right in the middle of your boot process and If it fails your system can just kind of be partially configured It might still be accessible by SSH But you know you you kind of have to log in and check to see or if ignition fails It stays in there at fast and you can't talk to it over SSH Which does make debugging a pain But one of things planning to do is basically support dumping the failure to a remote host So again the kind of principle here is that it's I really don't like this term But the most popular form is called a mutable infrastructure where you're not kind of logging into the machines Periodically to like move them to a new state. It's if you want Basically, yes, you start your system and it's desired configuration. They have automatic updates So getting to automatic updates our PMO Street is the ingredient. We took from Fedora atomic hosts I've been working on the OST tree and our PMO Street side for a long time I'm really passionate about making sure that updates are fully transactional and offline. I Yeah, because if you're applying updates period right applying updates is just a crucial aspect of maintaining software infrastructure, I think it's it's somewhat irresponsible just to start an operating system and not have a Mechanic like not have a procedure and mechanism to keep that up to date. I Do believe that over time we are improving the security and reliability of Linux and the Ecosystem on top of it. So, you know enabling updates is is crucial Let's see so Yeah, the automatic updates on by default is true today for Fedora core OS And this is a large part of our what we Well, no, yeah about I don't know 20% roughly of like kind of what we're focusing on like there's new tools here So what actually drives our PMO Street? I didn't mention it here is a tool called Zen Caddy that knows how to It basically has pluggable infrastructure for coordinating reboots of updates because if you run more than one server You don't want them all to update at the same time, right? And that was something that container links had a couple iterations on that Also is completely replaced by the machine config operator in real course. I won't go into that too much, but just to decide Yeah, and obviously container focused There are a number of other related projects like a toolbox like we kind of really want when you log into node To rather than think oh, I have to debug something I'm gonna yum install s trace is you toolbox a yum install s trace in there or you want to do some BPF tracing It's like not don't put on the host Do it in your toolbox container? So it's separate that keeps the host small and so when the next kernel security erotic comes out You have a smaller update to apply your your debugging tools can wait, right? You want to apply your kernel security erotic?   It's about We want to because containers apply everywhere Containers are a thaw going old to virtualization. You can you can use containers on bare metal and this actually makes a whole lot of sense Actually, I think we basically virtualization should be inside containers so We want fedora coral ass to go wherever you want to go and that that includes You know public cloud infrastructure as a service whether it's gcp or aws or you know on-premise open stack If you want to virtualize that's great, you know, we have builds for all those but we also want to run on your bare metal machines Because for me like part of working on free and open source software is you it's your computer you should have control over your infrastructure and that's that's actually an important point of worry why you want to use a Fedora coral ass live pixie so When we do builds of fedora coral ass We get basically an OS tree update, which is something that nodes can do in-place updates to but we also generate a huge variety of image types like virtual machine images and and this live pixie media So what is pixie pixie actually mean? so when you start the system is in the bios or ufi and That system the the BIOS would do a DHCP request and from there If you set up the server it will reply and it will provide a kernel and in a net ram fs And then so here's where it becomes and so normally when a system boots The initial ram fs transitions into the real root file system So if you have a persistent install it kind of works the same way, but Here we basically We run ignition in the init refs and this works the same way as if you boot fedora coral ass in a cloud or for a persistent install Where things start to diverge in this setup is that we basically have the full roots file system Inside that initial ram fs. So you press power on in your server The that firmware goes out over the network and retrieves all this stuff So this is what it actually looks like to set it up. There's a couple of ingredients here for for Linux admins Hopefully about half this is familiar if you're already maintaining pixie infrastructure So the the IP equals DHCP for example tells The booted system to go out and do DHCP as well The the rd.need net as part of drake it it tells it, you know, please wait for networking There's some console arguments that tell you where I'll put the console The ignition arguments are new to fedora chorus and derivatives like raw chorus the Ignition platform ID says this is a bare metal system Which because basically ignition needs to know how to fetch its configuration depending on what what Platform it's running on so for example if you're running in Amazon web services We need to fetch from the metadata service which is on a link local IP So the the OS needs to know what platform it's on that's basically what's going on with this kernel argument The and then here's here's where you start to configure things so we're gonna look at is some ignition configs and What you provide here on the kernel command line is a link to your ignition config. So if you think about Analogy here as if you're booting an instance in infrastructure as a service like Open stack then this would kind of be what you would put in the user data field It's it's basically the the same thing.   There's downloads for the kernel and the initial RAM disk now I already did this download because I'm sure as you all know don't trust the Wi-Fi Yeah, so what I wanted to demo here So this is the manager and I'm actually sort of cheating here because You can set up Pixi in Invert manager, you know, like basically you need two VMs and then you know You run a pixie serve on one and you actually kind of really want to run an isolated network for this So I'm sort of cheating here because I'm basically telling Livered and QMU to just directly boot the kernel which is almost the same thing that happens when you pixie because basically It you know instead of having the kernel be provided over the network. It's just directly entered by QMU So cheating, but it's it's basically almost the same thing. The only detailed here is some if you go back to This thing there's this Magical option IP append in the pixie linux config and what that does is it tells the BIOS to set to tell the operating system Which network interface it's booted from because that's actually very important in some scenarios like you might have a management network and a You know like a sort of front-end network. So, you know, I'm basically ignoring that part I don't have multiple nicks in this VM, but that's it's kind of you know So I have all those same kernel arguments That was in the demo But the most important thing to look at here is this one at the very end this SSH basic ignition file Can you guys see this? Okay? Yeah, it's pretty evil so one thing I didn't mention is Ignition is sort of intended to be a low-level language. It's JSON, which is human editable ish You know, you always forget to add the comma or remove. Yeah, not have a trailing comma and listen all stuff So you can human edit it but the idea is that we have higher-level languages that basically compile to ignition which is also a big difference compared to cloud in it and Yeah, so part of the idea is these higher-level languages might have Specific knowledge about the operating system that might turn into a bunch of things like system D units and scripts and stuff I'm not using much of this here. This is kind of just the most one the most bit of minimal ignition configs you could make that just has my SSH public key and You know creates a user Walters and adds me to the pseudo group the enabling SSHD service is not necessary I don't know why I added that Yeah, and you can also tell here. I'm bad at key rotation Alright, so let's go ahead and boot this So It's very exciting to see Linux boot, but give it a Minute here. So what we're actually seeing right now we're in the initial RAM desk and We did a DHCP request there ignition ran and fetch that config that I have running from a Local Yeah, I'm just I basically have these ignition configs on my host. I'm just running a web server and they're stored and get kind of It's not doing anything Awesome, I Just this well, okay, it's cool seeing things fail because then Then it's actually very descriptive of oh I know what happened. I rearranged where this stuff is and My reps web server was running in the wrong directory. I Move this stuff to a directory. I wanted to be in the assets directory So if you look oops looking here, basically, I have a couple ignition configs that I'll demo Let me run the web server again And what you saw here actually is is kind of actually an interesting one to go into it's because when it fetched the config I got a hard 404 and so that made it fail fatally If it fails to fetch the config and there's like an internal server area or a transient network error ignition We'll sit there and retry but if it gets something that says this config doesn't actually exist or it's malformed It will fail Okay Let's try that. Okay. Cool. We found the ignition config this time and So one of the things one of the nice things we actually took from container Linux is changing the console to include your Your IP addresses your SSH keys some of the things that are actually Actually also involved a non-trivial diversion into making divergence into making this work with se Linux Because we kind of had to like tie together a couple different processes You know when you change when you tie together a bunch of different things that you need to change the S&X policy So yeah, it's just an example of like where we're preserving That kind of container Linux experience So yeah, I have the the IP address that it has here, which is basically this s station. Okay, cool So I'm logged into Fedora co s You know one of those things it's like Yeah, we are Deriving from Fedora, you know, you can run RPM dash QA and It does work right because if you're this is one of those things that's actually quite important It's like what is inside my system? What kernel am I running? You know what version of system D if you're maintaining systems you got to have infrastructure to like track what you're running and You know RPM. I mean it could be improved, but it works pretty well for this You know tracking what's inside your system, so we're not we're not replacing that and we basically Our team can focus on what we need to and inherit the Fedora kernel instead of you know Container links kind of was a derivative of gentoo and you know That's part of the what they had to do is maintain packages. We're doing less of that Let's just focus more on containerization stuff But you know There's a try and find a Yeah, so on the other hand though, some things are different Yeah, so by default and this is something that we inherit that is true was common to both container links and and Fedora atomic host and derivatives is the slash user Is a is a read-only mount In fact something we inherited now. Yeah, I mean it's a general OST tree system We also make slash directory immutable and basically the only writable Directories are Etsy you can write to Etsy and you can write to Var so Real brief really briefly here with OST tree the idea is you have configuration and Etsy Very familiar right But a corollary corollary corollary of this is you shouldn't have configuration outside of Etsy, right? All your configuration should be an Etsy period and then further all of your state Should be in var and the code is in user. You have this really clean separation Just chain code that we manage. That's read-only the source of truth comes from Fedora Configuration and state is owned by you and the difference between configuration and state is actually pretty important here because The best practice is to use ignition just to write to Etsy Broadly speaking and then so your state is written by programs So one one thing we maintain with RP most three is for those of you familiar with traditional Fedora systems, you know just the way it's worked for a long time the RPM database was in var Which is basically wrong in this model because it's it should be immutable and owned by the OS So one of things is we move it to slash user. It's an example of So the separation between this is pretty important to understand let me run a fine mount So yeah, when I'm booted in this live system, let me actually demo thing here Do you notice here? There's no discs in this system.  No, it doesn't make sense Probably a better word is actually ephemeral. Yeah, kind of ideas Everything here goes away. It just lives in RAM if you look at the the file system mounts here We have a writable Etsy. That's an overlay of s that points Yeah, it's basically all coming down to a temp of s and the we also have a read only squash a fast Like that's where the real root is so if you booted in this system now, you know, some things work busy box so Hopefully this one works over the Wi-Fi. I didn't cast this one. At least it's small so you can do this and you know one the important things here is all the All the container state is stored here. So when I did that pull, you know pod man wrote some stuff here, this is Yeah, that's the that's the image. It hasn't created a root file for it The point is basically when you did that pod man pull it wrote to var and not Etsy because it's not configuration It's state basically Cool, okay, so let me Demo that so yeah, I mentioned it's live. It runs for ma'am now you can have disks That's what I'm gonna demo next so this this starts to like get into a trade-off between the two systems Yeah, I mentioned the OS is an error fast one difference here with you if you look at traditional Fedora and rail systems with anaconda anaconda basically is a live system Like that's what it does. It basically just runs out of rams Just its role is to install the OS, you know to do partitioning and all that stuff on your whatever you disks you want to install to you and And then go away whereas here We're kind of emphasizing the use case of you can just run it persistently you can provide a nation campaign and run from RAM I Wouldn't think I actually forgot to add to these slides is that if you do want to do an install to disk Running the installer is just something you run via ignition from Fedora chorus You can just write a system to unit that runs our installer and pointed at a disk It's just one of the things you can do and that's so it's basically a generalization of that anaconda model another difference with anaconda is For size reasons because Anna at least some builds of anaconda include a basically a full desktop There's limitations on the internet ramp size. There's a stage two that so basically go in the internet fast and that fetches a whole other file So we aren't doing that yet We may have to do that eventually we'll see So I'll talk a lot about what gave you a lot of demos But actually and you know may some of you are already downloaded the live image Maybe you're you know logged in the console and one of your bare metal servers. You're like this is cool Why am I doing this? Right, so good example use case here It's basically on-premise systems disk lists and you really emphasizing compute You know, I've definitely heard from some real customers that have large fleets of bare metal servers and they really want them to run all the same thing I'll get the stateless in a second. So they do is that there's no persistent storage I think in their case they were doing NFS route, which we don't really support I think we really want to emphasize this live pixie model because honestly it's just kind of better It yeah, it just it works better I won't go into a lot of details for that and the compute portion. So like let's say you're doing a bunch of numerical simulations Great thing to do package those as containers and then you can write ignition configs That run podman and pull those containers do your computation and then write it to you know Do a post HEP post to some server and That's kind of a good use case for this live type of pixie Setup of now in this scenario right like one things I just said is that it's kind of we're providing some base level infrastructure for this We're in you know invested in ignition. We're invested in you know providing an OS update stream and testing it All that stuff, but it is kind of up to you then in this scenario. Okay. How do you do orchestration? That's kind of a bring your own scenario, which can be good if you're doing something costume Yeah, so why wouldn't you do this? Well, one reason is that it actually We're not really using OS tree here the OS tree aspect of fedora core s because that's basically about maintaining in-place updates and Since there's no persistent story or there's no we're intentionally not doing persistent storage for the operating system Like OS tree doesn't do much here. It can tell you what version the OS is But not more than that so What yes, it is it is useful um Reminds me. I need to demo something else if I don't run out of time. So okay. Yeah bring your own orchestration Yes, so it's just not our primary path We're definitely supporting this actually partially because it's now critical path for the install to disk like the Yeah, the persistent path is just a subset use case of this live pixie So we're we're heavily testing it. It's just that for example the Zincati process. Let me go in Tim with that. Yeah, if you're logged into fedora fedora core s system Zincati is one of our custom services and what you see here is it basically has a stem to unit that says I'm not gonna run if there's a live system. There's a slash run OS tree live stamp Wow, so Zincati doesn't run doesn't know try and apply OS updates. Yeah, and so I Definitely talked to a lot of rel customers that really want their They want to make sure that their systems in the desired state like they've you know had an admin log into a node as a one-off And maybe change something as you know a hot fix and then that kind of sits there and is a time bomb for later Right, you don't want that What some of them do is basically kind of once a month at least they just Whatever happened just flush and reprovision a node it just makes sure that you really have all your state stored and revision control or manage somewhere else Do that kind of on a rolling basis? Honestly, I think that's very much of best practice if you're running for example Open shift for today one of the cool things introduced with that is the machine API Which manages provisioning of underlying virtual machines and infrastructure the service scenario So you could totally write a controller that just periodically looks at uptime and like does an OC Delete machine slash blah and that'll that'll kill the kill the VM and like open shift will actually react to this Make sure it drains the node beforehand and maybe scale up a new node in response Definitely best practice. I'd actually like to see that machine API And that's the kind of thing you could script in your infrastructure Even if you're doing persistent installs, right? That's not something we provide code for but you could do it And obviously if you don't have any disks, but you do have a lot of data. It does mean that If for some reason all the machines power cycle at once, maybe have an electrical blip or something, you know When all those machines come back up, they're all going to be getting all their Data over the network again, and it's not a it can be a non-trivial cost. So You just have to be aware it basically makes applying updates more painful, but again going back to the control It's your computers you have total control like once you've configured that pixie server to boot a specific version That's that's what you're gonna run right? Nothing's gonna go and change that unless you change it Yeah, so let's There's a lot of good docs here on ignition one things I That needs to be emphasized the one the cool parts about running ignition in the initial RAM disk Is that it can do disk partitioning because if you're doing installs on bare metal, that's absolutely critical, right? The disk partitioning path also works in the cloud So we have a bruising path again that works symmetrically in bare metal and cloud So if you want to for example, create a separate var partition on your cloud images your fedora core cloud images That works great today Because we run early enough to do that We're also something we're actively working on is basically support for DM Crip slash Lux So that if you want to encrypt a root file system again doing that in the cloud makes a lot of sense if you you know If you're saying okay, well my Ami or whatever is encrypted Yeah, probably but that's like invisible encryption that you can't see and they could just not be doing it You wouldn't even know whereas if you have DM Crip inside the US, you know again kind of goes back to you Yeah, some scenarios where it makes sense. So it's sort of core ID core stuff You'd craft together in the scenario you may have private CA certificates So that's something you'd include in your ignition config and then kind of one things I mentioned before is your you have your numerical Stimulation packages container your ignition config has a system to unit that says podman run block and that could be it So let's talk a little bit about mixing the trade-offs of these two so If Yeah, if you have large Container images like it's not just the OS size like right now I think the niche the live pixie and it ran fast as something like 600 megs if you have some you know Like hundreds and maybe gigabytes of container images when you do that reboot where you're pulling all those can be really expensive So one things you can do is basically have a persistent disk for slash var. So let me Yeah, that's the rendered ignition config which I didn't demo yet That's the JSON. This is the Fedora core S config. So there's a couple things going on here. It's a little bit more advanced I included my my SSH key what you can see is a system D mount unit that basically mounts the var partition Here's where Ignition is running. So we basically this is the storage section of ignition right here And we are creating it with the label var, which is what this thing finds. We're giving a provided size We're saying we want it to be XFS in this case now You can do a lot more advanced things and I just want to emphasize you can pass this It's exact same ignition config in a cloud instance or bare metal and it works just fine.  So let's say I have a disk I really want to be Verdeo because if you notice my ignition config references dev VDA, which is Verdeo devices So, yeah, and this would be kind of You know just like if you want a bare metal machine that happened to have some NVMe drives or whatever cool So now my system has a disk if I booted it with this config that disk would just be completely ignored like it should be untouched Because nothing's there's nothing that's configured to touch it But what I'm going to do here is I'm going to change the ignition config I'm providing to this var persist Yep, oh, I think I it should go back when I shut down for managers, let's see Yeah, yeah, okay now we're good. Okay. Yeah, that's what divert managers really confusing Basically only shows your changes once you shut down. Cool. All right. So now we're we're booting Ignitions running we're doing a do you superior quest? Yeah, and what scrolled by pretty quickly is it's basically creating that partition in var and I demo here Rebooted in the same IP address reconnect and Now I do an LS block and what you can see here is I have a partition mounted on var So what's going to happen here if I touch Etsy foo That's going to go away So Again that scenario where where you want This setup, but you want to cache your container images or cache other data Maybe you I mean you could just imagine any kind of on disk cache If your software sort of written in a way that you know, maybe it checksums that data like it's an object store So it's identified by its checksum. So like you're very careful about how you manage state then you can You can do that with external disks even in a live pixie scenario So if I run podman images busy box will be there. I'll reboot the system So again an ordinary live pixie scenario if you reboot again, everything goes away because it's in RAM Just give it a second We still do to each DHCP in the interface ignition did not run on this boot though Or no, it did run on this boot. Sorry. Yeah, we refetch and reapply the ignition config On a persistent scenario ignition would not so if we go back here remember I touched Etsy Something yeah, yeah, it's not there, but Images I have this box right so it's still there. So you can kind of mix the trade-offs. So think of my time so One of the cool things I think Andrew want me to demo I didn't quite get to is like if you want to like test something in the cloud You could again boot that same ignition config if you want to capture your state All you need to do is serialize var and basically you have your system The door cross is uploaded everywhere. You have your configured ignition. You have your state and var You can put those things together anywhere you want to want to have them. Yeah, so one things I should definitely mention is this is not yet shipped by open shift. Yeah, let me let me just finish real quick Then we'll do questions We're almost certainly gonna ship this but Running it persistently like we don't have a story for how this would work with the machine config operator because it Breaks OS updates for the most important parts of OpenShift 4 and like you don't need to think about it But yeah, one things we do like about the live image though I think in this scenario is that you can use it just to play around and test things like what are what are my nicknames? Because like right now we just this is not an ergonomic thing to do Yeah, cool. So what a demo for our core last live pixie kind of all subset of what we're doing But I think an interesting one that kind of illustrates the number of the trade-offs involved Yeah, it's available on the website now That's it so what have any yeah, how to do kernel modules Yeah, no, that's a great question. So that's something that heavily interacts with our chemistry We've gotten a lot of requests for this I think the most there's the most recent one is actually maintained by Dusty's kmods via containers and Yeah, we're there's a foot or a core west tracker issue where we've Debated this a lot We put that way, but I think that's that's the most promising approach we've gotten so far and definitely check out kmods via containers So that should just work, right? Right What if you have an NVIDIA GPU? I mean it kind of falls in the numerical simulation case, right? You want to load the NVIDIA module which I think should work It should agree Like one of the goals of this right is that you don't have GCC and kernel headers on your host because again That's other stuff. You need to if you type young update it would drag in but like we keep the host small Keep all your build stuff in the container Cool. Any other yep This one right right, okay? So the question basically I think is around how the disk is identified and What happens when it's not format so that the identifying the disk is actually very simple in this scenario because like there's only one disc And so I've just kind of hard-coded I think if you were in a bare metal scenario like you might end up having to do something where you Template your ignition configs depending on like the particular server, you know like on this class of server my newer ones They have NVMe drives, and you know you need to write Dev NVMe You could probably write a script that detected things and generated those system D units That would work too if be a little ugly. So that's kind of like the I just sort of hard Hard-coding dev VDA is cheating in this scenario Yeah, it's it's up here. So Well, okay, right. There's there's a couple chains of things for how So the storage section operates on the block level this section says on dev VDA first It says wipe the partition table which yeah, and then and then it's saying make a partition with the label var and So that that's basically what happens on the block level like that's telling ignition find this device and apply the var partition So I think I only glossed over this basically ignition by default you can configure it to have Create this file system if it doesn't exist if it does exist and that files to matches exactly what the ignition config is Then it gets reused you can configure it that way and that's what I was demoing here So that was the block level and then this is the file system section that says create XFS on that partition Yeah, yeah, that's that's the key one here So the question is around bare metal and what happens if you specify the drive on the kernel command line Basically don't do that Like so if you want to do a persistent install I mean I can go to the Fedora core West doc I like is that kind of what you're getting at is like if you want to do an install to disk Okay. Yeah, that's Docs so if you go to the Fedora core West Docs, there's actually two sections here now So up here is what it looks this is yeah, this is probably I should have mentioned this talk because it's a really good example You basically Have here we have magical kernel arguments that are interpreted by the operating system to run a system to unit There runs chorus installer. So here's what you're talking about is this chorus install dev dev SDA like that's what it looked like if you want to do a persistent install we do We've we've debated the insta how the installer works recently because again, it's a general system So we're gonna install is just one thing you can do So kind of the ideal is you have a system to unit that runs that you're not using the kernel command line You don't know what the device name is right? So the question is about how do you handle to scenarios where you don't know What the device name is so It's a complicated one there's not one answer to that But I think one scenario here is if you have a class of servers you boot one of them live We're the way they're identified should be the same now it gets tricky like because You can actually Find disks by their I may get this wrong there WW ID I think most modern artists have basically a UID encoded in them And you can find that that find them that way if that makes sense that there's not one solution to this But you know if your servers only have one NVMe disk, then it's kind of simple Yeah, I think I can answer that In one I can only give you one answer to that But you know I basically recommend booting it live first and seeing what it looks like and then kind of come back and craft your configs If that makes sense Well, but once you know what the config is then you come back and and automate it, right? Like once you know what the disk is in the general general case Yeah, hopefully Cool So the question is why wouldn't we want to use this for OpenShift 4? I think Live pixie. Yeah, so Like the MCO today like so applying OS updates applying updates period is like we put a lot effort in that no an OpenShift 4 and A lot effort in the MCO and managing OS updates. So I mean it could make sense for workers It's just Right, yeah, that's right. I think yeah, that's that's the one of the yeah, thanks Let's see that's definitely one of the biggest issues and so what does he replies that? Basically the kernel that's booted is not under control of the cluster anymore in that scenario Which means it's a kind of partially managed scenario You know we could support that I think it's just It's just not a primary target right now Like I think we basically like again what I would recommend people they're running OpenShift today Is like do that periodic reprovisioning and that's going to get you 90% of the benefit of this Without all the drawbacks of making you know when I know reboots it repolls all the containers, right? Please go to come to you, but Cool All right. I think I'm out of time, right? Oh Five minutes. Okay. Any other questions? Okay Okay, all right. Yeah, Dusty said there's a nicer way to do that in the bird So I'll have to you may update the talk cool. All right. Thank you everyone


Excellent, thank you. So, hi everybody, and welcome to a virtual talk. Always a weird thing, probably, I don't know, probably weird for everybody, really weird as a speaker because you have no idea whether you're even like getting all the way through to people. But hopefully this works well for you. So I'm Kelsey Brason and I am currently working at the Environmental Data and Governance Initiative. I actually used to be a lot more on the tech-speaking scene in like the Node.js and hardware open-source hardware communities with the Tesla project, kind of moved from that space more towards purpose-oriented thinking and purpose-oriented technology. One of the things that concerns me about hanging out in communities of technologists is a lot of times people get really, really excited about building things because they can. And I realized that it was really important for me to always be thinking about who's actually going to use the thing, what is the valuable use case and work backward from there. And so that's probably the perspective I come into the DM from. Probably most of you have heard this phrase before, well, making some assumptions, but there's this Tim Berners-Lee, early internet sort of rant post on the W3 style guide, cool your eyes don't change. And I really like this as context for the decentralized web. And in fact, Tim Berners-Lee is now working on solid for the D-Web. And I just really like this rant and I recommend looking it up and reading through it. But just to highlight a couple of quotes, when somebody follows a link and it breaks, they generally lose confidence in the owner of the server. So you can see where this might have been in early internet, like a really important way of thinking about the domains you manage. My current work with the Environmental Data and Governance Initiative has a sort of a different, a different take on this same quote, this concept of loss of confidence in the owner of the server. This is climate.dot.gov as of March 1st, 2017. First year of our Trump presidency here in the United States. The Environmental Data and Governance Initiative sprang up because it was worried about things like deletion of public information from public access, which is a thing that has happened. By the way, this is not a politics talk. My organization was originally politically motivated, but not so much as being like for against a particularly political candidate, but really for advocacy for public data around the environment. Basically, if we're going to have a democracy and an educated public making comments on policy, we need the public to be able to become educated about the policy they're commenting on. And so what we do is we watch the way that public information, especially around the environment is handled. And this is a number of reports that we've produced over time. And by the way, we plan to continue regardless of who takes office. There are no clean track records here. But there's been a number of issues with sites being taken down from public site or from where they originally resided on.gov servers. And it results in a pretty big loss of confidence and loss of ability to make good decisions about like as a public to make good public comment about events that are occurring. And we've seen kind of a really interesting pattern emerge. It's hard to say how much of this is like a strategy and how much of this is, I don't know, happening incidentally, but we've seen some websites be taken down and then a few months later, a big policy change comes out and is open for public comment, but the website you use to go to to get information about that thing is no longer there. And so that's the sort of thing that we track. And so this is sort of how we arrived as an organization, as folks who are really interested in what the decentralized web is. If you rely on a.gov page for certain information, how do you know that there is an archive? How do you know where to look for it? Maybe it doesn't exist. If you do find it, how do you know it's exactly what was originally there? Maybe it has been modified in the meanwhile. And sometimes this matters a lot and I can get into that more a little later. And then if you, like maybe you decided to save it and maybe you've heard of the data rescue movement, there are a lot of people right around the election who based on this very specific fear spent a lot of time saving data. And that was actually kind of the beginning of my org. And a lot of that went into the internet archive. Which I actually can examine a little bit later in terms of how safe it is. But like if you saved it on your laptop, is that any better than it just getting deleted? It's a little better for you maybe, but it's not gonna help with the public comment problem. This is back to Tim Berners-Lee's rant. What you need to do is have the web server to look up a persistent URI in an instant and return the file, wherever your current crazy file system has it stored away at the moment. And that's exactly what the D-Web protocols typically do. So here's an example of a URI versus a URL. And by the way, I sort of designed this presentation originally to speak to people who are not already experts on IPFS, not already experts on decentralized web. I'm interfacing a lot with archivers, with folks who are like involved in environmental protection, involved in sort of lawsuits around the environment. And I'm sort of trying to be a bridge between decentralized web communities and folks who have really, really strong use cases for data to be held by the public and held safely. So some of this might be a bit redundant to things you already know. But I'm going to go ahead and go through it anyway, just in case there are folks out there who don't already have all of these backgrounds. So the difference between a URI and a URL is, a URL tells you where to look for something and a URI tells you what it is you're looking for, how I'm asking, who I'm asking and where to look versus how I'm asking and just what it is that I want back. And of course, that's what the D-Web does well. So a lot of this talk is actually based on slides by my sister Dana that I asked her to put together for me in the fall. And she went and did a whole bunch of research that I want to credit her for. And I also wanted to mention that if you're not as familiar with these concepts, what I'm going to show you here is a very picture-heavy version of this. But if you do better with text, I'll post a version of her slides, which are much more text-based into the IPFS channel. But just to get straight into it, here's what happens when you put files on the decentralized web. Here's what we start with is some files. You want to get them on the web. And let's just have a little look in that folder. We've got this text file, a PNG, a really big CSV file. Wow, not that big, but comparatively. So the first thing we're going to do is try to standardize the sizes of these little files. This is a process called chunking. So it depends on the protocol, but for the purposes of this presentation, let's just say 256 kilobytes. And you can imagine this as kind of a box. And if it's bigger than that box, you're going to need another box. But you don't want to mix things up, right? So if you put a small amount into the first box, even though you could put more in it, you're not going to because you don't want to get confused with all the different stuff that's in there. Very unsophisticated take, but this is really important because you need to be able to know that no chunk is bigger than 256 kilobytes. That's going to help you understand what hardware you're able to use. It's going to let you make a lot of different estimations. The next thing you're going to do is going to hash each of these. The full content of the files and basically tag them with a hash. And just to break down hashing a little bit, how it's some characteristics, it has to be one way. And so this is an example that I found on the internet. And this is demonstrating the concept of one wayness. If I say the output was two, you won't be able to tell me what the input was because in this very simple one, it's anything that ends with a two. So that's one version of what's one way. What we actually have for these protocols is more complex as you'll see later, but that's that one concept. It has a fixed size, no matter how big of the file you put in it, Fox, the Fox and perhaps that ICE, that PNG file we had earlier, it's all going to come out the same hash length. And it is deterministic. The same input will always produce the same output. It's also collision resistant. A different input will produce a different output. And this is something that's a little bit more complex than the other concepts because this is a little bit probabilistic, but in general, a hashing algorithm will have basically a very, very small likelihood of collisions, such that the same input will produce the same output. And I won't get into that here. But so once this process is done, each chunk receives a hash that is uniquely coded to it. What this does is creates file verification, it creates a unique identifier, and it's efficient because you can identify any file, even a very large one with a short text string. And if you'll notice this one's two chunks, so it's going to be a couple of short text strings. The hardest thing for me about this non-in-person speaking is that I have no feedback anywhere. So I hope this is going well for you, but feel free to hit me up on Twitter or something later if there's a new part you wanna talk more about. So next we go into the Merkle Dag, directed acyclic graph or a Merkle tree. And basically all we're trying to do is say, hey, I have this set of files and I want them all to go together and be treated as a group. So we're gonna produce a hash that has all the same characteristics of the other hashes and it's gonna represent all of them, all of the things in it. In case what that looks like is, if you take this hash and you copy and paste it into a text with the other hash next to it, what you have there is now another hashable item. This is just a string of text. So you can make a hash for that too and you can keep doing that until you only have one. And once you have that one, if you're able to map that hash back onto its original content, then you're able to split it again back into these individual pieces and trace all the way back down the tree. This gives you the same ID length for even many files and I'll show you a little bit about this file verification concept, any change anywhere in any file will result in different hash, but it does follow from what we already talked about with cryptographic hashing. So here's our original hash. And then if we modified, if we just added a white space somewhere in survey.csv in its second chunk, that hash changes, which means that every hash after it changes, every hash above it changes, such that the top-level hash is different. That doesn't necessarily mean it's wrong, by the way, it just means that it has a totally different identifier. So that could happen when you update a date stamp on something and it's got a slightly different information in it now. You can also do this for partial verification. If you don't want to receive everything in it, you know that maybe the purple hash is the only part you want, you just need to summary on the image. You don't actually have to trace all the way back down the tree and get the CSV back as well. I recognize I'm going pretty fast through this, but I hear these videos are gonna be released. So just play me on like 0.5x if you like later. So you access files by requesting their URI. Returning to this Tim Berners-Lee quote. Sorry, I just really like that rant. So you need to look up a persistent URI in an instant and return it wherever your current crazy file system hasn't stored away at the moment. And Dietrich was talking in the introduction about how the 0.5 release has significantly reduced that time. One of the things about IPFS that I really don't understand is exactly how this process of finding and returning the file works. But what's really important is that it does in fact do that by sourcing that across all of your peers. On IPFS, that indicator is the top level hash that we just showed with the Merkel tree. So you go and you ask your peers, hey, where is this IPFS protocol? Find it for me. And IPFS looks everybody and then people send back all the little bits that you need. What's important about IPFS is that one URI will always yield the exact same static content. So this is huge for my use case, which is maybe we need a file that is just exactly, perfectly a record of what happened or what the data looked like or what a website looked on a particular day. So we'll be able to return that. That actually has a really different take on this. The URI is the read key for the directory. So in an SSH key pair, you have a key that's held by you and a key that is made accessible to the public, you as the author. And you ask using a public key for the thing with the latest date stamp. And I am definitely paraphrasing how this works, but folks go in and make a compare, like the protocol does this, goes in and looks at all the different available date stamps that correspond to the correct key. And they send back all of the, whatever is the latest for that. And this is really important because instead of saying this is a particularly, like this is the static thing, it's saying it was definitely authored by this entity, whoever owns the private key, which like if you trusted the entity, for example, the US government, you would want to check the key that they said was their public key. And this is very helpful because the URI will not change. However, if you don't trust the entity that you're working from, this may not be helpful because they can change the content at any time. And when you get it back, you'll automatically re-host it back onto the network and you will be able to share two peers across the network, which makes you a node that strengthens the centralized web. That is a lightning tour of how the protocol works, which I hope is helpful. I wanted to bring this back to our use case within edgy, the environmental data and governance initiative to something that came up just over a year ago. So there was a, so there are a lot of air quality monitors in general around typically maintained by government or somewhat governmental entities. So here's an example of air quality data collected daily at some sites in Deer Park near Houston. And they've produced a whole bunch of these different data sets.  Response on the ground was absolutely awful. The fires burned for days. And there was some misunderstanding among the responders about how many parts per million were okay to breathe. They were wronged by, I think, two orders of magnitude. And they sent kids back to school and workers back to factories. And first responders didn't have the appropriate gear as they were sent in to help with this. Cancer is not something you're gonna get an immediate backlash from, right? You're just breathing the air. But in a decade, we're very likely to see a pretty big set of cases where a lot of folks have health issues based on this fire that was poorly responded to. Something weird happened during the fire, which was that one of the air quality monitors was taken down by the monitoring entity. But this air quality data is kind of the basis for a legal case that would help folks cover their bills as the benzene takes its effect. So it's really important that that data be saved. And so that's something that we were called in to help with. How do we make sure that this data, which is clearly endangered, potentially one of the entities that would be held responsible is the entity that puts the data online. They would potentially be culpable in the legal case. So we can't really trust them as a source and we really can't trust that 10 years from now, this data will be available in a usable format in a way that we trust. So this is a case for why we might need data to go on to a static site, like a static verifiable provenance shown repository like something on EPSS. I also worked on a paper earlier this year in the data science journal talking about data risk matrices in a couple of different contexts. And this is one of the contexts that we use. But this is through the Earth Science Information ESIP Group. They did some workshops with folks who do a lot of different types of archiving, maybe some of them with university libraries, some of them in sort of rescuing data from like old on paper NASA data sets, some for like collections of botanical specimens, different ways that important data can be put at risk. And as this great quote in this paper from a workshop participant, data were considered to be at risk unless we had a dedicated plan to not be at risk. Take a second to think about that. We have this idea that data that's on the internet never disappears, but it's not accurate to say that. It's accurate to say that data that you might want to disappear maybe never disappears like anything that's done on the internet might be owned by someone but it doesn't mean that all data that has ever been on the internet is safe. I'm probably preaching to the choir with this crew but one of the things that we did in this paper was develop a risk matrix. So we did PES from this deer park fire that we stored with a partner in sort of a traditional archive. And this is some highlights from the risk matrix that I applied to this space. And you can see that there are a number of areas that are pretty high risk. The way you read this is the left column is categories of risk and then the top column is sort of the different lenses through which we might view that risk. So severity time to recover the degree of control we have over this problem. You'll notice that we are at low risk of loss from like political interference likelihood of occurrence is low. It's just it's data in an archive. They're not going to go mess with it. Our degree of control is also low. But you'll see that there's a lot of high issues like if a catastrophe will occur. So this particular archive has its servers based in San Francisco catastrophes can happen. That's if it did happen, the time to recover would be well maybe forever. This might be lost. We also stored many of the same data sets on IPFS specifically through Query which is a data set tracking software. And it's definitely not a panacea. And in fact, you'll notice that see the areas where it's high here are actually the ones that are low in a traditional archive. So look at this loss of knowledge, for example, the severity of risk of loss of knowledge for how to access this data set on IPFS on Query. We don't know in a decade where Query or IPFS are going to be. Hopefully they're going to be doing great but possibly not. And if you were a lawyer who's not involved in this but is involved in math suits about benzene, how are you going to learn that there exists a data set stored on something called Query on this alternative internet? So we kind of need this chain of people passing knowledge in order for this to, which is largely an early technology type of problem. And it's something that potentially IPFS could change. But then we also have this other problem of, like in theory, we could recover quickly from a dependence on service provider because in theory, the data set would be resilient because lots of people across the entire world would have copied it. In practice, I'm not 100% certain it exists in more than one place. So that's sort of some of the issues that we have to think about with this, like the same set of questions that I brought up at the beginning of like, does the archive exist? If it exists, do we trust it? Is the archive actually safer than the original? So hopefully take a look at this paper if this is something that's interesting to be a really interesting way to assess different impacts that decentralized web technologies might have on different spaces. And I would love to hear if you use it in your work. My summary is what I already said, single point of failure risks are down and new technology risks are up by using an IPFS-based technology. And this is like, we're not really actively using IPFS right now at edgy. We are really excited about it and we are waiting for the moment when we're able to, you know, broadly pitch it to all of our activist friends. And maybe that's a familiar challenge for you all. And like, you know, I try to get my family on, you know, signal and riot and all this sort of stuff. And they're like, that's great, but I definitely don't know how to use that. And this is just kind of a more professional application of the same problem. On the other hand, again, I'm not preaching to the choir, but the strongest way to strengthen this web is to use it. You all are working on this. And I'm glad to be here and I'm honored that I get to talk to you all. And one of the things that I thought could be cool is the project that I was working on for a bit was just trying to hold onto different D-Web technologies and taking notes to share back to the project owners from different perspectives, different archivists' perspectives. And I've talked to different communities, typically not involved in the D-Web space about kind of looking at this different stuff. And, you know, I've gone back and made issues on a whole bunch of different repos that say, hey, in this setting, this thing doesn't make sense or this thing's confusing or I tried to follow these directions and just kind of being an early user. These are sort of low T-weights as being on the D-Web but you probably are aware of them. And I'll finish out by giving a little plug for a group that I host, data-together.org. And this is sort of a splinter off of edgy and it's a partnership with Query and with Protocol Labs actually. We have a reading group where we talk about different contexts by which the decentralized Web and the concept of decentralization plays into civics, ethics, actually this season where we organize it like semesters, this season where we have the topic of polity, what defines the group to which I am responsible and whose laws I follow or build upon. So if hour and a half monthly discussions with kind of well-chosen readings are interesting to you, go ahead and check that out. Thanks very much. Thank you so very much, Kelsey. This was wild and I, you know, we were all talking about it in the chat. Chat please give Kelsey a huge round of applause. You did such an amazing job to explain the underlying technologies but also some like, I would call it deadly serious implications of these technologies. It's so very far out. Thank you so very much for sharing that with us. Thanks for having me.