Dear Madame President, dear Ursula, it's really a great pleasure to welcome you to the Davos agenda today. I remember very vividly when we celebrated together the 50th anniversary just two years ago in the snow of Davos and you just had assumed your new responsibility. It's amazing how much the world has changed in the last two years, but it's also remarkable what you have achieved. I mean there's a new European spirit and you had to manage so many difficulties or challenges, a new geopolitical, let's say, situation we have, Brexit and of course COVID, the economic difficulties in the aftermath of COVID, and nevertheless, I see a new European spirit and it's certainly very much advanced and accelerated by the very ambitious programs you have created with the European Commission. I just would like to mention the transition towards a healthy planet and a new digital age which you are driving so much. The transformation, we need the transformation of Europe. I would like to mention your leadership role in the ambitious global gateway strategy. So a lot to be discussed and the floor is yours Ursula and again we are very delighted and happy to have you here. Thank you very much Klaus. It's so good to be back at the World Economic Forum and indeed ladies and gentlemen, I'm glad to be here with you today. So there's one question that is lingering out there since the start of the pandemic and it also includes what you have said as the introduction Klaus. The question, are our democracies strong and fast enough to face the incredible challenge of COVID-19? Can democracies deliver? Well, I have no doubt. The pandemic has not only demonstrated our democracies ability to act. It has also shown that democracies are the more powerful, the more resilient and the more sustainable form of government. I know of course that we have not conquered COVID-19 yet. But if we are on our way to finally end this pandemic, it is because we have mRNA vaccines developed by European scientists. And this is thanks to our values that these scientific breakthroughs have been possible. Values such as liberty of research, freedom of science and the independent choices for investors. And all of this means having the vaccines that we are much better equipped today to fight this virus than two years ago. Let me give you some facts. Europe has delivered a total of over 1.2 billion doses of vaccines to its citizens. Now over 80% of adults in Europe are double vaccinated. But what is even more important, we are the only region in the world that has continued to export or donate to other countries from the beginning and throughout the whole pandemic. A total of 1.6 billion doses made in Europe have been delivered to 150 countries. And with industry producing more than 300 million doses of vaccine every month in Europe, there will be more to come. So these simple facts show that we can trust in democracy to deliver. And this word trust has always been a thread that runs through all editions of the World Economic Forum. Davos has always been about building trust among leaders. And most importantly, earning the trust of future generations with responsible leadership. This year, like never before, trust is the most valuable currency when we speak about the state of the world. Trust in science and vaccines can make a difference between life and death. Trust among countries can tilt the balance of international affairs towards cooperation instead of conflict. Trust in functioning societies based on the rule of law channels higher levels of long term private investment, giving these societies an edge over competitors. And this trust is also essential to all of Europe's main ambitions. Trust, as you said, Glaus, is essential for citizens to embrace the green and digital transformation or to attract young talents. The point is that the recovery, be it in Europe or globally, can only be built on trust and confidence. And this is what I want to talk about today. In the economic and financial crisis a decade ago, member states in the European Union did not untrust the European level with finding a European solution. And as you remember, the result were intergovernmental solutions with deep divisions between member states, mainly North and South. This time, with the pandemic's economic crisis, indeed the 27 member states trusted the European level. With their guarantees, they backed the European Commission to raise capital on the market and to invest it, mainly in our two priorities, the European Green Deal and digitalization. We call this huge recovery program of 800 billion euros next generation EU. And this next generation EU includes by far the largest green bond program ever. We will invest close to 40 percent of next generation EU in green projects. That's up to 300 billion euros. And so far, all the bonds we issued to finance these investments were heavily oversubscribed. And over one third of our bonds were bought by investors from outside the European Union. This is a clear sign of confidence and trust in Europe from the rest of the world. But of course, I know we must do more. So public investment alone won't work miracles unless they are matched by strong private investments. Europe alone will need to invest an additional 360 billion euros for transforming its energy system every year. That is a staggering figure. Yet it is entirely within our reach. But the private sector must come on board. And governments have to create the conditions for this to happen. And this is what we have been putting into place brick by brick by brick. We have now the first ever European climate law. And that ensures that our climate targets are not just an ambition, but a legal obligation. We have now proposed a detailed legal framework that ensures that we can reduce our emissions by at least 55 percent by 2030. So this is a roadmap for the next decade, cast in law. And this provides certainty and trust for investors that if they put their money in clean and climate friendly projects, they can rely on the fact that policymakers will stay the course. Or take the critical sector of semiconductors. Demand for them is skyrocketing. Today we have microchips not only in our PCs and smartphones, but also in our cars and the heating system of our homes, in our hospitals, in the life saving ventilators. There is no digital without chips. And then European need for chips will double in the next decade. And this is why we need to radically raise Europe's game on the development, production and use of this key technology. Europe is strong in some specific areas, such as for example, the design of components for power electronics, or chips for the automotive and manufacturing industries. Europe is the world's center for semiconductor research. And Europe is also very well positioned in terms of the materials and equipment that are needed to run large chip manufacturing plants. But Europe's global semiconductors market share is only 10 percent. And today, most of our supplies come from a handful of producers outside Europe. And this is a dependency and uncertainty we simply cannot afford. So by 2030, 20 percent of the world's microchips production should be in Europe. And keep in mind that the world's production itself will double. So this means quadrupling today's European production. We have no time to lose. And this is why I can announce here today that we will propose our European Chips Act in early February. What does it do? It will help us to make progress across five areas. First, we will strengthen our world-class research and innovation capacity in Europe. Second, we will focus on ensuring European leadership in design and manufacturing. Thirdly, we will, and this is important, further adapt our state aid rules. Of course, we will also be able to make progress across five areas. Of course, under a set of strict conditions. But this will allow public support for the very first time for European first-of-a-kind production facilities, so that benefit all of Europe. Fourthly, we will improve our toolbox to anticipate and respond to shortages and crisis in this sector to shore up our security of supply, so to be better prepared. And fifth and finally, of course, we will support smaller innovative companies in accessing advanced skills, industrial partners, and equity finance. It's a whole big program, this European Chips Act. But I also want to be clear in this community. Europe will always work to keep global markets open and connected. This is in the world's interest, and it's in our own interest. But we also need to tackle the bottlenecks that slow down our own growth. Because this will help us become a stronger player, not just in some niche, but throughout the whole value chain. And it is important for us. So to conclude, we will promote diversification among like-minded partners. We will create more balanced interdependencies. And we will build supply chains we can trust by avoiding single points of failure. The point is that there will always be times that there will always be times when we need to address wider issues in our economies. And let me look at the second one. Today's global energy pressure is a case in point. We will soon mark 50 years since the start of the oil crisis in the 1970s. And I guess some of us will remember vividly the impact of the crisis on our economy, but also in our lives. I remember being on a bicycle, on the Autobahn. Some countries banned indeed the driving on Sundays, to set lower speed limits on the motorways, others rationed gasoline or told people to eat only one room in the house. And many of you know the debates it caused on the limits of growth. Now, the world is a different place today. And parallels can seem a bit tenuous. But there is a cautionary tale for us as we face today's gas crisis. And as we have our own debates on the limits of fossil fuel growth. At the time, our response was not to look at alternative sources of energy, but rather to look at alternative sources of production. So oil exploration spread far and wide from Alaska to Siberia, from the Caspian Sea to the Caucasus. The good news is that we have far more options at our disposal today than we did back then. Back then, less than one percent of electricity was generated from renewable sources worldwide. Today, this figure has jumped up to close to one-third. Today, we know much more about the climate imperative. And today, we have the technologies we need to make the transition from a fossil fuel system to a clean energy system. In the short term, we have to address the very real impact this gas crisis is having on households and businesses. My commission has put forward a toolbox of measures that member states are using to rapidly mitigate the impact of price rises. But fundamentally, today's gas crisis must serve to accelerate the transition to clean energy. It must provide the impetus we need to further integrate our energy market. And we must ensure that there are no energy islands or regions of Europe that are cut off from our network. We're working on all these points, but most importantly, we have to manage this necessary transition carefully. And this comes back to this central question of trust, because people need to trust that the transition will support the most vulnerable. Businesses need to trust that the transition will improve their competitiveness. And investors need to trust that we will stay the course whenever there are bumps on the road. There will never be a linear shift from a fossil fuel based system to the clean energy system. We must be upfront about that, but the direction is clear. And so is our commitment. As we respond to this gas crisis, we will focus on protecting those most affected. We will accelerate the transition and we will ensure that we have the reliable suppliers we need. And this leads me to my last point, that is trust in the international arena. At this moment in time, the world needs trust in democracy as much as between democracies. Because tragically, we are once again faced with the interference of some powers in the neighbour's affairs. We will not go back to the old logic of competition and spheres of influence, where entire countries were treated as possessions or backyards. We have intense days of diplomacy in different formats, with and without Russia. Russia has made its proposals, we made our proposals, and it is good that we engage in dialogue. But we do not accept Russia's attempts to divide Europe into spheres of influence. For us, the fundamental principles underpinning European security remain valid in the Helsinki final act and the Paris Charter, both signed by Russia. And we reaffirm our solidarity with Ukraine and our European partners that are threatened by Russia. And of course, we continue to stand behind the fundamental principle that Ukraine is free to decide as a sovereign state. To be very clear, we want this dialogue. We want conflicts to be solved in the bodies that have been formed for this purpose. But if the situation deteriorates, if there are any further attacks on the territorial integrity of Ukraine, we will respond with massive economic and financial sanctions. The Transatlantic Community stands firm on this. The European Union is by far Russia's biggest trading partner and by far the largest investor. And yes, this trading relationship is important to us, but it is far more important to Russia. We hope an attack won't happen, but if it does, we are prepared. And what I want us never to forget is the following. Russia and Europe share geography, culture, history. We also want a common future. Our difficulties are not with Russia, or with its people. Our difficulties are with the dangerous policies of the Kremlin. It is the reenactment of familiar patterns of autocratic behavior that underscores the old truth, where trust is lacking, force and coercion cannot replace it. And Europe's approach is completely different. We believe that trust and confidence are more sustainable than control and coercion. It is the attractiveness of our liberal democracies that the autocrats fear. Our economic success, our civil liberties, and the freedom of speech and ideas we must step up to defend these most valuable treasures of our democracies. Again, thanks for having me, dear Klaus, ladies and gentlemen. And now I'm happy to take your questions. Thank you very much, Madam President Ursula. What speech? I mean, I'm comprising so many such important issues. I just would like to highlight what you said about the European Chips Act, because it's an important step to create the physical brain for digitalization and to have it located to a certain extent in Europe. I also, your reference to the Club of Rome Report, the forum at that time launched actually the Club of Rome Report. But I think there's a big difference. At that time we spoke about the scarcity of minerals. Now we speak about the reduction of life conditions for humankind if we look at the need of the energy transition. And of course in your last remark I appreciate putting so much emphasis on our European values. Now I have some questions. I mentioned in my introductory remarks the global gateway strategy. Could you just also, because it's a very important mechanism to integrate Europe into the global context and to integrate it in a very important way, can you just give us some examples of what do you want to achieve with it? Yes, thank you very much, Klaus. So the global gateway initiative is the answer to the massive global need to invest in infrastructure. And here we want to invest in a way that mirrors our values I was just referring to. So that we want to invest around about 300 billion euros in the next seven years in critical infrastructure, be it in the healthcare sector, in education, be it in the transformation to fight climate change and go to a circular economy or in the digitalization, there's a vast need globally for these infrastructure investments. The question is how we want to invest it. And we want to invest it in a way that we are with our partners at eyes level. There are priorities, so the priority of the green transition and the digitalization, and there are critical values that have to be met. But besides that, we want our partners to come forward with the projects that they need, where they think this is important for the future of their country or that region, and then to match it with public and private investment knowledge that is coming from our side to have a real partnership in this investment. Let me take our neighbouring country, Africa, continent Africa. It is the fastest growing continent that we have. And it is a fantastic opportunity for this continent if the right policies are being put in place. Just if we look at the topic of the green transformation, fighting climate change, there is potentially an abundance of natural resources for renewable energy, sun, wind, hydropower. You just think of what the potential is. But if we look at today's share of renewables in Africa's electricity system, it's only 3%. So a huge opportunity to invest together. Let me give you an example. For example, in creating, through the renewable energies, green hydrogen, green hydrogen that will be needed on the African continent, but that will also be needed, for example, in Europe. And just think that you can match the different shores from the southern part of Europe and the northern part of Africa for the project of green hydrogen driven through renewables that are on the African continent. Another example is vaccine manufacturing. Vaccine manufacturing, mRNA technologies. What we've already started with Senegal, South Africa and Rwanda, is that we go in a public-private partnership together in this case with BioNTech to bring the technology to the continent, to Africa, and together with our African partners to make sure that we create the environment that is necessary, the regulatory environment, that's the whole medical and the authorization process that is there, to have private capital to come in, to de-risk that capital, and to create manufacturing capacities in these regions, not only for today, but also for the long-term perspective. Let me give you two figures. Today, if we look at all the vaccines administered in Africa, only 1% is produced in Africa. This is also not sustainable. Africa's goal is to have by 2040, 60% of the production done in Africa, and this is doable. So we lay the foundation for that. Or last thing, I won't be too long. We have now a partnership with South Africa to reduce the coal extraction and to go faster into renewables by building up the capacities for renewables. This is a typical topic also where it's at eyes level a partnership where both benefit. And these are examples for the Global Gateway Initiative, which comes with strategic investments, with a set of values, and with knowledge that is so necessary to share. Thank you, Ursula. After, let's say, this more policy-oriented discussion, I would add more, let's say, practical question, which concerns many of the business leaders, particularly in the energy field. When you look at the energy green deal, it's also about competitiveness. And quite a number of European enterprises now are afraid to pay the ETS, and it would give an advantage to foreign companies when exporting their products into Europe. But you want, and you have proposed the carbon border adjust mechanism, can you just tell us how confident you are that this is a completely new mechanism, an interesting mechanism and maybe not a necessary mechanism will become a reality? Yes, what is the principle? The European trading system puts a price on carbon, because our planet cannot pay the price anymore, what the damage of carbon emission does to it. So we put a price on carbon, and that nudges the companies, the business sector, to go into innovation of clean technologies. That's good, and it has been very successful in the past already. But of course, as always with innovation, at the beginning, the costs are higher. So where we have to be careful is that we keep a level playing field, that while the companies who have improved through innovation, their products towards clean technologies are not faced with competition, that comes from abroad with dirty technologies still cheap, flooding the market. And for that, we would need a carbon border adjustment mechanism, of course, WTO compatible. There's one thought behind it that is compelling. You know, we don't really want this carbon border adjustment mechanism, we are carefully introducing it, but we would prefer that other regions in the world also put a price on carbon. For example, California has an emission trading system, China is now introducing one. You can also have a tax on carbon, the instrument I'm not speaking about, but I'm speaking about the effect that we put a price on carbon that is causing climate change. And by that, nudging companies or the business sector to go into innovation. And if other regions of the world also have a price on carbon, then that's the idea of the carbon climate of the climate club. If other regions of the world also have a price on carbon, if they are part of the Paris Agreement, if they have the goal in 2050 to be climate neutral. So then together, of course, we can develop a broad market that is level playing field for innovation and for clean technologies. That's the thought behind it. Thank you very much, Madam President. We dealt with a great range of issues. And on behalf of all the participants at this open dialogue, I would like to wish you the very best for those bold, innovative policies which will ensure that Europe remains an important factor, an important region in the evolving world. So thank you again and we will now transit to the discussion with the business executives. Thank you, Ursula, and see you soon. Thank you.


So when we talk about special movements of the muscular system, it's going to be really easy to identify those with a simple game of Simon Says. So grab your friends and start. All right, Simon Says, flexion, good. Simon Says, abduction, you're out, that was pretty good but it was kind of late. Simon Says, extension, Simon Says, rotation, you guys are getting pretty good at this. Simon Says, circumduction, you looked first. Okay, two left. Simon Says, protraction, winner, good job. Thanks.


Hello, good morning So it's time to make a start on this. What a lovely audience if you don't mind I just can take a quick selfie of you guys and ladies Because normally nobody turns up for my talks Well, some people do Okay, so we need to talk about system D Get through this stuff. This is me. I've done some stuff. Let's get that so Yeah, some of you may remember a couple years ago I did a talk on boot time reduction boot time optimization which you can find at that URL there and It was mostly focused on the bootloader and the kernel parts When it came to the user space part I kind of bailed out and I just put in an init equals whatever program I was running So when a boot up it just runs In this case Qt demo, whatever Which started really really fast got to say that was a good solution, but it doesn't always work out because there may be some other dependencies So in this talk, I really want to look at the things I was missing out In doing it that way so this talk then is going to be well initially it was going to be about a Really hard focus on boot time optimization But then I kind of discovered that as I delved into this I was having to describe more and more stuff So it's kind of more slightly into a introduction to system D And then some boot time optimization following that So I'm going to be covering what is system D. What did it do? Bit of an introduction to as to how system D works Then we talk about optimizing boot time and Then there are a couple of topics I'm going to cover at the end before we're all finished I Got to say that this is not if anybody here is expecting The real deep dive into system D. This is actually not that talk This is the embedded Programmers view of system D and how the hell do we make this thing work? So first of all in it demons What do we need demons do you got to have an in it demon otherwise nothing is ever going to happen? So the in it demon is the program that's launched immediately after the carnal has booted So once the carnal got up to its done its initializing of its all internal structures and device drivers or whatever It execs the very first program which therefore has process identify PID one and then in it starts running and It starts a whole bunch of other demons it configures a bunch of stuff through various obscure means and Sorry, that's the wrong place And then once it's done the initialization it will then sit in the background just waiting for things to happen So part of it has to part of things that has to do at this stage is it is the parent of last resort so when a Process dies which has children then those children get reparented to in it for example It also is monitoring some of those demons and restarting them as necessary And it's also killing off zombies and all the all kinds of other exciting stuff So there are several in it demons we may consider So here I'm looking at three busy box system 5 and system D So system sorry busy box in it is the simplest of the lot It's part of busy box. So there's no real overhead to it is just a couple of shell scripts and it kind of works So for simple embedded systems that is by far the best thing to use System 5 in it on the other hand is a bit more Flexible than busy box in it it has this concept called run levels And you can switch from one level run level to another which allows you to start and stop a bunch of demons when you make that switch But system 5 in it is kind of slow because it's a bunch of shell scripts Each one of those shell scripts takes time to launch and so on plus it is 30 odd years old So then we have system D Which is the the modern way of doing things? And that's what we're going to talk about basically So system D it is not just an in it demon. It is a way of life Well kind of so system D is aims to be a general-purpose system manager and It does a whole bunch of things I've listed I mean I if I were to list every every component of system D. It wouldn't fit on the slide So I've edited things down a little bit But the things that are important to us are the system D itself There's a journal Journal D, which is doing the event logging kind of replacement for the old assist log stuff There's the login demon which is handling logins on terminals and such like the event demon Udev has been around for a long time But it's now integrated as part of system D And you that you'd have is basically managing the dev directory and also handing hot plug and other kernel events Network demon does what it says it configures network interfaces time sync demon handy first synchronizing your clock and Resolve demon is basically a wrapper around a DNS resolve So those are the kind of things that we want those are kind of services want in our in our embedded systems So why system D? Why go to all this trouble? So system D is kind of reinvented from the ground upwards Started in 2010 I think by Leonard pottery pottering and case Eva's red hat and They basically started with a clean sheet of paper and said how should we design a system startup? demon So it is it we have now explicit dependencies between services whereas Wacken the old System 5 in it days The only ordering was was by the number of the script you put into the RC whatever directory It Given that dependency information it can build up a dependency tree at boot time and then by walking through the tree We can then do parallel starts as we walk back up the tree At each branch node we start everything at that level and then work back up to the route So theoretically at least it should be faster because we're doing things in parallel No more shell scripts So system D doesn't Depend on shell scripts. So that's a that's a definite plus Plus there are some handy things which are good for embedded So we'll look at this briefly at the end of the presentation, but we have per demon resource control so we can set CPU and memory limits on each program if we wish and It has built-in support for watch dogs. So we can set a watch dog So if a demon stops responding for some reason it stops responding to the watch dog It will get restarted So all the kind of things that we need in our systems so The aim then is to for at this point is for me to describe the the base some of the basic concepts of twi behind system D and I'm attacking it from the point of view of unit services and targets I believe if you understand these three things you basically understand system D So a unit Is a thing everything is a unit. It's a text file A Service is a particular sort of unit which describes a service in other words a program that you run and Then a target is a group of services So as we go down that list we go from the particular to the general So that's a quick look at these things. So system D units They're just text files and they live in one of these three directories The nice thing is that when system D goes looking for a unit or any other configuration files It scans these directories in this order. So it looks in the ETC system D system directory first Then it looks in the run directory and then it looks in the lib directory The idea then is that the stuff you put into system as I into ETC system D system This is the local configuration anything you want to change you do in that directory Whereas the stuff that's in the lib directory lib system D system That is the system default stuff if you do nothing in the ETC directory then what is in the lib directory wins So that means it's very easy to customize stuff You just put newly new units into ETC system D system and they will override Whatever the system defaults are in the lib directory So for example, it says at the bottom if you want to disable a unit the quick and dirty way to do it is Either create an empty file with the same name in the ETC system D system directory Or if you want to be a bit fancy about it, you can create a file. That's a link to dev null so units A unit is Well, all the things we're going to talk about are going to be units every unit begins with a section marked unit and In my example here, we have a description, which is just some human readable code Message rather we have documentation which references a man page in this case And then we have a dependency which I'll come to in a moment So the dependencies The dependencies are the crucial bit because by reading the dependencies of all the units System D can build the dependency graph and then it can do its parallel execution thing So in the previous example, we have a requires So requires is the most common sort of dependency it says this unit requires some other unit or units can be multiple So that means that those units when I start this unit it should start up the other units as well You can also have wants which is kind of like requires but less Is a weaker former requires in other words if the If the unit If I have a wants instead of requires it's not fatal if the the wanted unit doesn't start and Then conflicts is the opposite of requires if I have a unit that conflicts for another unit It means the two cannot coexist at the same time if I start this unit It will stop the other unit if the unit gets started it's gonna stop this unit Okay, but we can't have them both and then we have another similar concept called order So the requires etc is the dependencies the order is the order we'd like things to happen They are different concepts different things So typically if I put here that Where is this? Well, okay in this particular unit. It says after network target So that means that when we start this unit up, which is going to be a web server Then it we're going to start this after in this case network target is started Which kind of makes sense because a web server doesn't make much use without without a network So after is kind of Similar to require but also different So just as an example if I have three services ABC if I say a Requires b and c and it is after b Then that means that we so when it processes processes that requires statement It'll actually start all three things or can start all three things up in parallel but if I put in a An after statement after b for example, it means it's going to start basically See and then be and then it will start a Okay, so we're introducing some order into the way things are going to happen If you don't add in an ordering, then it's just however system D chooses to do it. So that's the unit section The next bit then is a service so a service is a particular sort of unit and It has a unit section and then it's followed by in this case a service section This is again for the light ttpd service So in the service section we basically say what program it is you want to run and any parameters we want to specify there So the key thing here is the exec start statement Which gives the name of the program like ttpd and the parameters required to run that and In my example here, there's a net exec reload which says that if we do a reload of this service You'll do that by Staining a kill minus hub to whatever PID it happens to be running with and then the Third part of the of the triumvirate is the target. So target is a group of services So targets their units they end in target and they look something like this The interesting thing is that when you look at targets Initially, I thought that if I looked at a target it would have a whole bunch of dependencies on services So that if I start for example the multi-user target, I would expect to see all the services required for multi-user In fact, when you look at a target Such as this one here the dependencies are just on other targets So how does that work? Well, I'll come to that in a moment. Oh, yeah, so I meant I've slightly forgotten this bit here There is a thing called a default target. This is that link shown there This is the target that's going to be started when you boot up So it's called default target. It's a symbolic link in this case to multi-user target, which would be the The non-graphical login So, yes, how do these dependencies with targets actually work and the answer is it all works by reverse dependencies So we have two more keywords here requires and wants So these are called outgoing dependencies. So essentially I can within my service. I can say my service Is wanted by the multi-user target So instead of having a pointer from multi-user target to my service It actually goes the other way and then when it starts a multi-user target It will see that it's wanted by a whole bunch of other services So it will then start them all up in the right order and the way this is actually implemented is kind of interesting It's done with a bunch of symbolic links So if you look Actually in the ETC system D system multi-user target wants directory So this is the list of incoming dependencies in this case for the target multi-user target and There you will see there are symbolic links created by the wanted buys For each one of the services. So in this case here, it's for something called simple service, which is just a demo program Okay, and if you look further in that directory, you'll see the symbolic links for every single one of these things And then I need to talk a little bit about system CTL So this is the the driver program which allows you to control system D and make it do different things So you can do a whole bunch of things with system CTL. This is just a brief list But we can for example start and stop a unit for example a service We can enable a unit so when you enable a unit, this is the point at which it installs that symbolic link We've just been talking about so if I enable in this case simple server That's the point at which it creates that symbolic link If you are shipping a system which has a bunch of units enabled by default Then essentially your system image will have these these links already created in the Lib system D system directory And if you're using pocky or build root or whatever that will create the symbolic links for you in the image before you put it Onto the target Disable just deletes that symbolic link sees enough and then status tells you what it's doing Get default tells you what the default target is There's also a set default if you want to change that symbolic link for the default target And then list dependencies shows you a nice little graph showing how all these dependencies work So that's a kind of the as much as I want to go into right now So that's kind of hopefully Despite my slightly garbled description of all this stuff. You got an idea then of how the dependencies and how the ordering of System D allows it to bring things up in a particular order So what do we how do we apply this then to reducing boot time? So I'm defining boot time here as the time from powering on to running the the app the critical app Typically then what you are doing at this point is you have some generic image generated by your favorite build tool like build root or Yachto project Or maybe even using a standard off-the-shelf distro like Debbie on or something these images are generated To cover a variety of circumstances possibly different hardware Different configurations or whatever so they tend to be quite conservative and the things they're going to do because they have to work in all circumstances In most cases then reducing boot time is taking something that's generic and making it specific to your particular use case There are basically two ways you can do this apart from rewriting the whole thing The simplest thing is just to leave out stuff. You don't really need so if it's running a bunch of demons you don't need or if it's configured some some Interfaces that you don't require you can just tell system D to ignore those things The other thing that can sometimes be a win is doing things in a different order so sometimes it's It is a win to be able to start your critical program ahead of stuff that's less critical system D comes with a bunch of Well, it comes with a tool called system D and Analyze which has a bunch of options to get information about what system D is up to So this is the key the main tool. I would use I do use for running for optimizing system D So you can just try it system D Analyze and it gives you a brief summary a one-line summary of what's been going on Then you've got blame system D Analyze blame which gives you a list of all the units that it's run to get to boot up and Tells you how long each one of those took and then it orders them from the longest to the shortest Which is kind of interesting, but really the key one is the last one on this list here critical chain This takes the the critical path from start up to Whatever the default target is and it tells you which units were affecting that that path So really the critical chain is where you want to start you look at what is taking the time What are things on the critical path and then you start optimizing those things? so as an example then I have Some example dumps of system D Analyze which I took on this little pocket Beagle, which I happen to have Leftover from yesterday being at the e the embedded apprentice Linux engineer thing down in Yeah, the thing that Debbie that behind running so that's running a copy of Debbie and stretch and When I run system D Analyze it tells me this So it's taking quite a long time to boot the kernel. I haven't done anything to optimize that but it's 18 seconds But then the user space is taking 47 and a bit seconds So the total boot time is one minute and a bit So obviously there is some optimization to be done here if we run Blame we see a whole bunch of things So the one that's at the top of the list is called board Sorry generic board startup Whatever that is Then it seems to have some the MMC block device That's not actually very interesting Network service CPU free service and so on but the interesting thing is This one here if we look at the critical chain so we can see there that the default target is graphical target So it's going to run a next server and some kind of GUI on top of that That depends on what the user target Then we have getty target, and then we have something called getty GS zero service I wish it depends on the honor device So having a quick look at this Just yesterday in fact and trying to optimize this the most obvious thing is that TTY GS zero doesn't actually exist and if you look at the The logs if you look at the journal log you see that there is a timeout after 40 seconds or something trying to it initialize this device So the quick win is to remove that service So taking my pocket beagle and doing a few changes to the system de-configuration First thing I did is I switched from graphical to multi-user default target because There is no display on this device Then I removed the offending GS zero service And then I went through and Actually these yeah, I went through and removed a bunch of other services whilst I was at it Which I knew I wasn't using so I'm not using this as a robot Controllers I could remove remote robot control. There was no Bluetooth hardware on this device and I don't really need an Apache web server running So I had to all those things out run system de-analyze again. Yeah, and it's quite a good So the kernel time is Well, it's slightly different, but that's just a random variation The important thing is the user space boot time is now 12 seconds So I've managed to shave 35 seconds off the boot time which I regard as a win It's still kind of longer than I would like and I had intended To spend a bit time more time optimizing that but I kind of Run out of time doing that But hey So that's the kind of things you can do. That's the that's the I guess the key point here is we have the system de-analyze Command which allows you to get a list of problem areas and then you can go through Looking at the units look at that at the dependencies and removing stuff that is needed or is in the wrong order So that's the main part of the talk. I've got a couple more slides before we're finished So in addition to just the plain and it demon which we've what we've been talking about System D comes with a whole bunch of other useful things and So I want to mention just briefly the watchdog and the resource limits both of which are kind of useful for the embedded use case so here's an example of the watchdog you can you can use in a service and Just looking at the example there we have watchdog sec Restart and watchdog so basically the watchdog sex says that if this Service isn't prodded by the by the watchdog in 30 seconds. Then we're going to restart the service So so long as the service is responding to watchdogs That's fine But if it doesn't respond within 30 seconds something's gone wrong System D will then stop that service and then restart it and you can also do this Other thing you can put in a limit so you don't get into some kind of boot loop So in the example here If we get four boots for sorry for restarts in five minutes Then there was something seriously long wrong with the system and that case will force a system reboot and start over again and the other really useful thing in again for the embedded use case is to be able to set limits on the resources used by a service and In this example here, I'm just showing two of these things We have CPU quota That's the percentage of time that this Service is allowed to use Okay, so it can't use more than 20% of your CPU bandwidth Which is kind of useful if you've got some real-time stuff going on as well Then you may want to make sure this doesn't take up too much of your bandwidth and Then the other thing the memory max option. This allows us to say how much memory What's the memory quota of this device? In this case is set to 4x There's a whole bunch of other stuff you can do with this the manual page system D resource control tells you a bunch of other bunch of other things to do with IO scheduling and such like and If you're interested in on how this is actually implemented. It's all done through control groups or C groups But I'm not going to describe that now and that is basically it there you go So there's a quick run through system D fancy stuff. We can do a system D any questions I Have a microphone here. No. Yes. Okay. You have to come and get the microphone I'm sorry if I take questions without the microphone, then it's not picked it up by the recording and then nobody knows what time and we're talking about All right. So about the watchdog. Do you know if it's possible to implement it without Needing to have specific system D related code in your application No, I mean so in order for the System in order for your service to respond to the watchdog prompts that which are going to come from system D Then yet you've got to write some code to do that Is it's only a little bit of code but system D specific you kind of import something or is it where what is the way? Okay, I have a further input on this Well, you either use a lib system D which in which case you have one line of C code to just Triggers a watchdog or you can just at the end of the day It's just writing in a socket that is made available by system D so you can just check an environment variable which tells you where the socket is and Find out what you have to write in that socket and do it in whatever way you want. It's not very complicated Okay, thank you for that to to answer the question I assume you want to run some cell script to do the watchdog check And I've written a small utility call health doggy confinement github where you It will wrap your program and automatically Forward the exit code of your health script to system D. So you don't have to Change the target program and recompile it What was the name of that github a health dog? Yeah, okay, cool. Thanks.  It's faster to actually not paralyze too much to put in some boundaries So they can't paralyze too much Yeah, I mean, so if you have On boot if system D is starting to start up a million different services Then obviously that's going to consume all your CPU resources so I guess the answer to that would be to put in the ordering statements The the after and before and so on so that things happen in a more A more leisurely order should we say that's also what we put in there. Yes. Yeah Behind you. Thank you so a lot of embedded systems up till I don't know I guess recently have been you know using the busybox startup I Think build a ship with busybox startup by default at least a few years ago. Maybe I'm wrong about that But at what point would you recommend switching to system D from busybox? Well, what would be the What would be the criteria you could suggest? Well, I mean, that's kind of a general-purpose question. Yeah, I guess I mean The cop-out answer would be at the point at which busybox in it stops working for you But Thank you, but I think that I mean if you have a really small system and you have You know just a few megabytes of RAM and a few megabytes of storage then obviously you want to slim things down as much as possible but if you've got a more complicated system with multiple network demons doing various things You know and control programs and so on then system D really is an advantage Because you have all these extra facilities I haven't even talked about the journaling yet which allows you to to Do journal do a logging system logging in a flexible way and to upload those logs securely to remote webs remote servers and so on So it has a whole bunch of extra facilities, which you just don't get if you're using a simple Either busybox in it or system 5 in it. Okay, it's more about the capabilities of system D than the boot time advantages It could give you um Yeah, I mean that If you have a system that's that simple then Probably busybox in it will be as fast or faster than system D So in that in that particular case your advantage would come from the extra things that system D can do for you. Thank you Hi Would it be possible to open slide 25? I don't know what it This one. Yeah here if you see the second line, there is the device file and on the fifth line There is the you'd have trigger service. Did you make any optimization to improve the speed of these files? No, it's a simple answer. Thanks. Sorry to be so terse on that whoops Excuse me that that's indicating times up Yeah, so we can talk about this afterwards, but the same transition that I didn't Do you have time for more question? Who's controlling this? Go on then maybe not really a question, but a comment to the gentleman in the gray t-shirt there who had the problem with a Paralysation I Sounds very familiar and I think Your second line even it's a bit different shows actually the reason because of many of those embedded systems are very much IO bound so the IO limited and now system D coming from the server world They paralyzed like crazy, which is not nice in our embedded systems So the answer the addition I would get to make To make there is I would use system the analyze plot which actually shows you Which step takes how long and it shows you whether you have a CPU bottleneck or an IO bottleneck In most cases what my experience you do not have a CPU bottleneck You have a IO bottleneck because it takes too long to read All the executables and all the libraries from this low MMC crap So And the answers then as you as you said as you said Look there what takes long and then just add more after statements there to get it not so parallel Okay, so the system D there are two system the analyze things that you didn't mention which I would recommend The plot which I said and the dot the dot is typically very intimidating, but that also tells you That you have too much stuff ongoing So probably show something out so the system D analyze that's many hidden goodies there Okay. Thank you very much. So I think that's the end of the session. Thank you all very much and yeah Enjoy the rest of the day


The YouTube team keep it clean. What's going on? It's Aang Raven here with another video and in this video, I'm here to talk about the game that we all watched together for the second half. In the first half we weren't able to catch it live but I did just go back and watch the first half of that Ravens and Giants game and oh, what a game it was. Shout out to the Giants. Shout out to the Giants. I know I've seen a lot of Ravens fans trying to discredit the Giants and oh well the Ravens, we beat ourselves and the Ravens of course, they have their self-inflicted wounds but the Giants won. They took advantage of those wounds, they exposed some of those wounds and they got the W. So they are sitting at five and one while the Ravens are three and three. Appreciate y'all, I love y'all. Positive, no we just crossed 59,000 subscribers so that's good, right? But I know it's not many positives to take from this game, whatever some but anyway let's just get into it. So overall this team, before we get into the specifics of what I saw, this team is just very, very undisciplined. They are such an undisciplined team. They lack discipline in a major way and it shows a lot.  Now there was the passing of fans on Marcus Pease, I don't think that was P.I. So excluding that one but there was some just bad penalties. The all of the false starts, I think really, I think on the first drive they had like two, three false starts alone. And it's just like man, why do you do this to yourself? The Ravens had got a stop I believe, they got a stop on third and short. And then the whole thing with Adafi away, he grabbed the Giants players helmet and was holding it up in the air, swinging it around and then put it on the ground and gave it a little kick. And I'm like, that's like, and I know a lot of these guys are so young. I know and now I get it, it's the heat of the moment. So they might do a little petty stuff like that towards one another. Maybe somebody might have did something to Adafi away earlier, I don't know. But they can't afford stuff like that. AJ Klein, his very first game active. It was on a punt, on a punt. The punt returner, he was out of bounds. AJ Klein wax him, 15 yards. That's 15 yards, that's a lot of yards. And the Giants, it ain't like they were moving the ball like crazy. The Adafi away with the helmet and the little kick, 15 yards. That gives them yards. And then of course all the false starts, that takes away yards from you. So this team, they are just very undisciplined. This team, they also, they don't know who they are. We don't know who they are. Y'all have heard me say it. I said that with the Baltimore Ravens, I said it's gonna take like maybe three, four even maybe even after week five. That's when we should really know who these Baltimore Ravens are. We still don't. We still don't. We do not know who this team is. Another thing too, yet again, another lead blown, just another one. They were up big on the Dolphins. They were up significantly on the Bills, not the biggest lead. And they were up multiple scores on the Giants. All three losses. And then now the stat went from, I think the Ravens were only trailing for 14 seconds this season. And now I think the stat is the Ravens have been trailing for 120 seconds this season. Only 120 seconds all season and they're three and three. So they've been trailing for two minutes all season and are sitting at three and three. This team, now you know what? I guess I gotta take this back. I gotta take back saying that they don't have an identity because they do. They're not disciplined. They're not disciplined. Their team that's not disciplined, they are very inconsistent when it comes to finishing the job, to closing it out. They, it's been rough, man. It has been really rough. But they, it's like they can't get out of their own way. They can't get out of their own way. And that's one thing that you see over and over and over and something's gotta give. Let's start with defense. I know offense, I know everything. We gonna talk about offense, don't worry. Defense, what I saw, especially in the first half, in a lot of second half too, but I saw where the defense, first down, hey, shut it down, let's go baby.  But there will be these, in the crucial moments, the clutch plays where you gotta get off the field. Defense will give up a first down. And that was really, really throughout, really throughout the game that just, that kept happening. There was one drive. Was it the, I think it was. It was the one where they had it, it was gonna be fourth and two. They were in field goal range, but it was gonna be like fourth and two or four. It was gonna be fourth and some, but they had, the Ravens had an option to either accept the penalty or decline it. Hardball accepted it, which was smart because it pushed them back. It pushed the Giants back, took them out of field goal range. So it was like, all right, cool. It's like third and 16 at that point, something like that. So all, like Ravens defense, yeah, we know they struggled from time to time, but it's Daniel Jones. It's Ravens defense, Ravens corner, Ravens secondary. It's Daniel Jones and that offense. What receivers do they even have? And all you gotta do is get a stop. Even if you, they get a completion, you tackle them short, cool. They, 16 yards or 50, how long it was, it was long. But it's like, no, you ain't gotta worry about that. Except the penalty, that was a smart move by John Hardball, make them play another, cause he backed them up. He didn't want them to get a field goal. So rather no points than possible points. But anyway, Daniel Jones drops back, first down. And it was on Marlin Humphrey. I forget which receiver it was. If it was one Rundale, one Dale Roberts, I forget his name or it was Marcus John. I don't remember which receiver it was, but they, they beat Marlin Humphrey. Kind of like they were like in zone a little bit, but it was in Marlin Humphrey's area and he gave up first down. And I'm like, man, just watching it. Cause again, I didn't get to watch that part cause that wasn't the first half live and watching. I'm like, man, I'm getting frustrated and I already knew what the outcome of the game was going to be, but I was still getting frustrated watching it. But anyway, you just, you kept seeing stuff like that. I remember, I mean, it's still a good play regardless, but I didn't have the context. I remember when I first started streaming and somebody was like, hey, Patrick Quinn, he forced to fumble. I was like, oh really? And Chuck Clark recovered. I was like, okay, let's go, man. And then I watched the replay of the game and I was like, oh, that was the situation that it was in. I was thinking like it happened maybe if Saquon Barkley was carrying the ball or Patrick Quinn punched it out or something like that or maybe a tight end or receiver Carter and Patrick Quinn punched it out. But it came with Daniel Jones when he was holding the ball for forever, trying to do a hell Mary. Now, and with that, the pass rush, same old stuff. We really got to talk about it cause it really was nothing. I mean, the first play of the game, Travis Jones, he came through and got the sack. And then there was another play in the third or fourth quarter where Calais Campbell where he got the sack. But for the most part, yeah, it was just a lot of the same stuff. Daniel Jones was doing a very good job of being decisive. He knew where he wanted to go with the ball. He got the ball out pretty quick. Got the ball out pretty quick for the most part. The Giants offense, they set him up. They put him in a good position to where he has some short routes. It's like, all right. I don't think they got anything deep. I don't think they got anything at all deep. Not one play, I don't believe. So they took what the Ravens were giving them. They took all the short stuff and it worked. It worked. And what's crazy, for the most part, the Ravens, my biggest concern going into this game was, all right, Ravens, if they can hold down, say, Kwame Barkley, they'll be straight. For the most part, they were. For the most part, they were.  See, cause look, you see his Russian numbers. You see 22 carries, 83 yards. But he only averaged 3.8 yards per carry. That was it. Say, Kwame Barkley, the guy who was leading the league in scrimmage yards. He only averaged 8, no, not average 8. Average 3.8 yards per carry. Ravens were doing a good job, for the most part, on say, Kwame Barkley, but on defense, for me, I think it was just the fact that they could not get off the field at crucial times. And Ravens also, sometimes what they just, they look confused on defense. They look like just, they don't, sometimes they just don't know what's going on, on both touchdowns. Like it's one thing if a receiver, if he master somebody, all right, hey, you just got lost, straight up, you got beat. It's one thing if a receiver, he hit you with a nasty route, you thought he was going to the right, he went to the left, or vice versa, whatever it may be. That's one thing if you just straight up get beat. But if guys are wide open, wide open, what's that? The touchdown to, was it SEAL? It was either number 13 or number 17 on the Giants. Literally wide open in the flat, wide open. Untouched, nobody there. He, I mean, he was so open, he almost stumbled out of bounds at the one yard line. He was so open. Nobody was there, nobody at all. And I was like, wow. Then the touchdown to the tight end. Josh Bynes just got caught slipping. And it was a great play by the tight end and a great throw by Daniel Jones. Daniel Jones had actually thrown a touchdown early in the first half, where Marcus Peters just got beat. He got beat by the wide receiver running in the back of the end zone. He got beat, but the receiver, Daniel Jones put it on the money. The receiver just bobbled it. Then Marcus Peters, he ain't even realized the receiver bobbled it like that. Then he bobbled it. And then Geno Stone came and whack. Came and whack Marcus Peters, but he was trying to hit the receiver. But anyway, so that could have been another touchdown. But thank goodness it wasn't. But yeah, man, the tight end, he, Josh Bynes, they went zone. They went zone. And I know a lot of Ravens fans have been complaining about the Ravens playing zones. Saying, hey, they need to be a man. They're a man team. They need to start with his own stuff. And then sometimes I wonder like when they play zone, I wonder if that's to try to sort of help out the young cornerbacks, because the young cornerbacks have, they've had their issues in this first six games of the season. So I wonder if it's to try to sort of help them out, try to help put them in better positions or whatnot, but I don't know. But anyway, they were in zone and Josh Bynes, he was, the tight end was coming across the middle and there was a receiver that was going up top. Josh Bynes got caught slipping. He started, he started following the receiver that was going behind him.  And then by the time he turned back around and it was, the tight end was going past Josh Bynes' zone and it was right before he got to Malin Humphrey zone. Daniel Jones put it on the money, tight end caught it, boom, touchdown, great play. And then just that last drive of the game, just again, this just about defense right now, we're gonna get to offense now, but then that last drive of the game, Saquon Barkley, that dude put, y'all remember when Marshall Lynch, when Marshall Lynch shook both Ray Lewis and Jared Johnson at the same time? That's what that Saquon Barkley spin move reminded me of.  Maybe not so much Madden this year, but Madden last year, you press circle and for the past couple of years before this year, you press circle, they do crazy spins. It's like, well, come on, is that realistic? Saquon Barkley showed you it is realistic. That dude hit the nastiest spin move to end the game and then ran for the first down. Coulda got a touchdown, but he just ran for the first down. The guy is amazing, he is amazing. But that was their offense versus Raven's defense. And just looking at the numbers, the numbers are not anything crazy. Daniel Jones in a good context is everything. So, but 19 for 27, 173 yards, two touchdowns, no picks. Two touchdowns, no picks. And I don't even remember any almost interceptions or anything like that, two touchdowns, no picks. So, he wasn't throwing all over the place, but when it mattered the most, he came through, made some big time throws, some clutch throws and it worked out. Again, back to Saquon Barkley, 83 yards, average 3.8 yards per carry. Matt Breeder had three rushes for negative six yards. Three rushes for negative six yards. Their highest, the leading receiver had 38 receiving yards. Did have my touchdown. And then a second leading receiver also had, he had 37 yards and he had him a touchdown too. But the longest receptions of the game were for 18 yards, 18 yards and 17 yards. So, that was that. So, anyway, like numbers wise, you look at what the Raven's defense did overall in terms of yards and you think, oh man, wow, like they did pretty good. But then, if you look at the actual game, while they didn't give up big yards, they gave up big plays. And not necessarily big, when I say big plays, I don't mean long plays, but crucial plays, clutch plays. So, that was that. Now, special teams. Oof. Whenever Justin Tucker misses a field goal, that's how you know things are bad. You know things are bad. Justin Tucker missed that field goal, that thing said, don't. I felt like the field goal post was gonna break. But that was rough. Then the Ravens, they gave up a huge kick return to that running back. And it looked like that, whatever position he played, the kick returner for the Giants, it looked like he was in a game of Madden. Wait, he was shaking people and breaking people? I said, man, this dude looking like a 99 right now and the Ravens all looking like overalls 38s. Oh, he was doing his things. I said, oh, boy. And then on special teams, there was one return. Jordan Stout, he punted one out of the back of the end zone. We're like, okay, cool, whatever, it happened. No big deal. But there was on one return with Tyler Wilders. He got a penalty. Again, the penalties by the Ravens. Undisciplined team. So that was just rough. But anyway, offense. Man, offense. Where do we start? J.K. Dobbs, what did J.K. Dobbs have like two carries? Now, I ain't trippin' off of that because one, we know the field. Oh, I was reading it wrong. J.K. Dobbs had seven carries? Man, I thought the most he had was like, maybe like four, maybe five? I just, I don't, I ain't feel like we saw J.K. Dobbs that much. But I'm not complaining because of two reasons. The number one reason is because we know that turf, we know that field, it's nasty. A lot of injuries happen there. So, hey, J.K. is here for the long call. But I did hear that he was having some issues. He was having some health issues. So, with his knee, with some, I forgot exactly what it was. So hopefully it's nothing, but this week we'll find out. But my bigger reason that I'm not mad at all, I was not mad at all that J.K. Dobbs was not getting carries like that is because Kenyan Drake was going off. Kenyan Drake was the hot hand and for a while they kept feeding the hot hand and that's what you're supposed to do. So that was a good thing. We talked about earlier, there weren't many positive, there were some positives in this game for sure.  Kenyan Drake was breaking them. Kenyan Drake was finding his lanes. Kenyan Drake was doing his thing. And I feel like in this game, for once, the run blocking was better than the pass blocking. Usually the season's been the other way around, but in this game, that's how it was. Kenyan Drake had 10 carries for 119 yards, average 11.9 yards a carry. And of course had that 30 yard touchdown, which was beautiful. It was beautiful. And he was just making it look easy today. Now, I know there was some very questionable play calling in where the Ravens got to the five yard line. I forgot what quarter and what drive it was, but they got to the five yard line. After Kenyan Drake, he'd been doing his thing like, all right, Jersey, we see you, baby. Then they didn't run the ball not one time. They didn't run the ball not one time. And in this game, man, pressure all game long. People in Lamar's face all game long. All game long. Now, with Lamar Jackson, there was a little bit of the overthrows that continued. There was one where Mark Andrews had beat his guy deep and Lamar, he just sailed it. He sailed it. So we, of course, we remember last week against the Bengals, those two overthrows that he had, or three, three, three. Two touchdown overthrows were the one to the Marcus Robinson, but the one to Mark Andrews today, he just sailed it. And I'm like, oh, and then there was, there were two passes that I remember for both for Devin Duvenay. One was in the end zone where it was a little short and one was on a third down where it was a little short. On the third down where it was short, that one got tipped though. That one got tipped by one of the Giants defenders and then the one in the end zone where Lamar just ain't put enough on it. He was having a back pet, why, because he had all these people in his face.  Hey, well, welcome. So yeah, and then there was man, well, shout out to that, the touchdown that he did throw to Mark Andrews, which it actually shouldn't have even been a play because they like the clock, the play clock is there. And I know the play clock that we see on TV is different from the play clock that's actually at the stadiums. But still, it was like that play clock was on zero for like two seconds. It was at zero, then Raven still sitting there. They sitting there chilling, still looking around. It hit negative one, then it went to negative two, then the right set, then they snapped the ball. Ooh, you got Okie doke throwing that one. They threw the touchdown to Mark Andrews on that play. So I'm like, okay, cool. Now, the pass that initially I thought Mark Andrews just dropped it. I thought he dropped. Now there was one drop that he had in the first half where Lamar, initially when I was watching it, when I was re-watching the first half, I thought, man, did Lamar throw a bad pass on that one? But then I saw the replay and it wasn't a bad pass. It wasn't too high. Lamar put it on the money. Mark Andrews ain't even had to jump for it. He just had to reach his hands up and get it. He reached his hands up, but ball went straight through them hands, but on the pass, on the pass in the end zone that I thought Mark Andrews initially dropped when I watched it live, I was watching the replay again and the Giants defender, they tipped that pass too. You know what, going to, let's fast forward to the end of the game. Those are the two Lamar plays. The interception. The first it was a bad snap. Lenderbomb snapped it like way to the right. Lamar went to go chase and this is on third and I want to say it was third and six. It was third down, whatever the down and distance was. It was like third and five or third and six, third and four, whatever, but it was third down. So it's a bad snap. It's a little to the right. Lamar goes to chase it, picks it up. Look at the job of that. I said, okay. And then he throws it to one of his top wide receivers, Patrick Ricard. Throws to Patrick Ricard and love. I think he was number 20, because he reminded me of a different number 20 that he used to play for the Ravens going in the hall of fame on that play. The way that he read, reacted, jumped the route. Oh, not even a route, he jumped that throw. That was a bad move by Lamar. And because I saw it live and then when they showed the replay, I was like, okay, Lamar, he saw Patrick Ricard, he threw the Patrick Ricard. Now, if the defender wouldn't have been there, then Patrick Ricard, he's catching that first down. Cool, the drive stays alive. But love was not the only Giants player that was over there. It was two Giants players over there. So that was just a bad decision by Lamar Jackson. And see with that, with Lamar Jackson, we were talking about this after the game. With those plays like that, there have been so many times where he has made those plays like that. So he has a confidence in himself. Oh, I could just make another one. And Ravens were up then, they were up 20 to 17. But with that, it's like, recognize the situation. And of course, with football, you gotta be quick. You gotta be quick. You gotta think on your feet. Things are happening in a split second. So you don't necessarily have all this time to sit there and process and go through every single thing. But if you see two Giants players there and only one of your guys there and that one guy is a fullback, yeah, I don't know about that one. Throw it away. Get rid of it. And just gotta just trust your defense. Throw the ball away. That's it. So that was all Lamar amazing play from love, from the Giants, amazing play from him. Just a great play, a bad play from Lamar. Now, on the other play, on the following drive where the Ravens needed a touchdown to win because the Giants, they took that Lamar interception, Love ran it back for a nice little chunk of yards. I thought it was gonna be a pick six, but he ran it back for a chunk of yards and Giants ended up getting a touchdown. But on the following play, so Ravens were down by four. So yeah, they needed a touchdown to get the win. There was a minute, 43 seconds left. I think it was the first play. From jump, K-Von Tibodeau, he beat Patrick McCary from jump. Like literally from jump. Lamar, he had about three seconds with the ball and that was it. He had three seconds. And K-Von Tibodeau, this is how I know he's very smart and he pays attention because he beat Patrick McCary and he went knocked the ball out of Lamar's hands. Perfectly, perfect play from him. See why a lot of Ravens fans wanted to draft him. Well, perfect play from him, knocked it out of Lamar's hands. But when I was watching the replay of the first half from, since I didn't get to see it live, when I was watching that, there was a Lamar run and where Lamar, he broke for a long one. And K-Von Tibodeau, he kind of went for him, but more so he was just watching Lamar. He was watching him. And in my opinion, what I think he was doing, which would be very smart, I think he was watching how Lamar was holding the ball. And I think he was thinking like, man, if I see him do that again, if I see him hold the ball like that again, I got an opportunity to knock that ball out. I got an opportunity to knock it out of there. Because on that big Lamar run, just watch it for yourself. Let me know if you agree or disagree. You think I'm overthinking it or on the thing, whatever. But that's what it looked like to me. It looked like K-Von Tibodeau was watching Lamar extra close on that big run that he broke in the first half. And he was looking like, oh yeah, yeah. If he does that again, I got it. And while he didn't knock it out on from Lamar doing a big run, Lamar was in the pocket, but he beat his guy and saw Lamar holding that ball. Look, pow, knocked it right out, game over. Game went and played right there. So shout out to Tibodeau, man. I know Giants fans have been waiting on him. And Giants, that pass rush is something serious, man. What corners do they have? What corners do they have? So yeah, man. So definitely not Lamar's best game. Not as worse, but not as best. But again, that clutch play. And as I saw people say, oh, Lamar's not clutch.  But I'm like, what? Did we all forget last week? That last week not happen? What happened to that game?  But yeah, man, this tough game all around. Mark Andrews, even with the drop that he had, not the one in the end zone, because that wasn't a drop, because the defender tipped it, but even with the drop that he had in the first half, the dude is amazing, man. He is amazing. He just continues to be amazing. I was hoping, I was hoping that Mark Andrews was gonna get a little extra jealous to Travis Kelsey from the other night, where Travis gets, he got like four touchdowns. And I was like, all right, Mark Andrews, you know what you gotta do next game. But it ain't end up happening. But Mark Andrews, let me see his numbers, exactly. He had seven catches for 106 yards in the touchdown. So yeah, he did his thing. But didn't have any contributions from anybody else. Isaiah likely, he had that big catch, a big catch in the first half. DeMarcus Robinson, oh, DeMarcus Robinson, he had three catches for 27 yards. And then like, I didn't even remember the other catches. Oh, I think one of them came like early in the first quarter, sort of on like a screenplay. LeMar threw it to him. DeMarcus Robinson caught it. The cornerback in front of him fell down, but DeMarcus Robinson, he was doing all this and he fell down too. Like he ended up, that could have been like 10, 20, 30 up, but it ended up being like two, three yards at the most, I think. But on that last drive, well, second to last drive. DeMarcus Robinson ran a quick little inside slam. LeMar hit him. DeMarcus Robinson said, blow, blow, blow, blow, blow. He dropped it and I was like, ooh, man, that hurt my heart. I was so frustrated, I was so frustrated, man. Oh, it was just, I was like, man. Josh Oliver had two catches, both of his catches, they got challenge or review or whatever. One of them were really nice, one-hand catch. I said, all right, Josh, we see you. Nick Boyle still like, what are we doing? I think he played, what do you play, like two, three snaps? I don't know, but nothing like, I don't know, man. I don't know what to say about Nick Boyle. Devon DuVernay had the one catch of 14 yards. He did have five targets. Again, one of them was tipped. One of them, one of them was tipped. That was the one that was on third down. One of them was short. That was the one where LeMar got all the pressure in his face. Another one where the defender just made a really good play. Devon DuVernay could have had it, but it's like Devon DuVernay grabbed it, but the defender, he was all over it too. And just, yeah, defender made a good play on it. Then, of course, there was the catch. And what was his other target? I don't even remember what the fifth one was. Just trying to remember them all off the top of my head. Oh, Tyler Wallace, he had a catch. I don't even, I don't remember Drake had a catch. Had two targets. There was one where LeMar either overthrew him a little bit or underthrew Ken Drake. I wanna say he overthrew, I forgot, but it was not on the money from LeMar. It was on a little check down pass, but LeMar just, he just straight up missed him. Pat Ricard, he had a one target and we all remember what that target was. So, yeah man. That was the game. Still wondering who is gonna be that steps up, who comes alive, who as a pass catch has another playmaker for the Baltimore Ravens. In this game, in the run game, it was Ken and Drake. So that was a beautiful thing to see. Mark Andrews continued, but they were like, oh, they said, Devin who? Devin Duvenay? Oh, he ain't about to go off on us. Who else is gonna be? So, yeah man, it's, we've been saying this way before this loss, way before any of the other losses. We just, I would love it to be to where everything, it's not everything being on LeMar, where he don't have to make these miracle plays all the time, where it can be somebody else. Now, one thing that I think about, and we're gonna get into this a little bit more throughout the week. One thing that I'm thinking about, I wonder, because obviously if you ask anybody, hey, who's LeMar's number one target? And the commentator was saying that they were like, man, this offense is just nothing but tight ends. And that's it. All the pass is going to the tight ends. But obviously if you ask anybody, who's LeMar Jackson's number one target? They say, hey, Mark Andrews, of course, Mark Andrews. But I wonder, because LeMar Jackson really throughout his whole career as a Baltimore Raven, Miles Boykin, he wasn't really out there too much. So really throughout LeMar Jackson's career as a Raven, all of his receivers have been little guys, man. All of them. Had Hollywood, Willie Snead, who else? James Proshade, Devin Duvenay. I know I'm missing. Now, Sammy was over six foot, but he wasn't on the field. Rashad Bateman, he was over six foot, but he been hurt. Miles Boykin was six, five. He wasn't ever out there. So he, there's Bryant, goodness gracious, there's Bryant. Oh, and every time I think about the day as Brian, I'm like, I'm thinking like, man, I remember being so excited for that signing. And that just showed me how, that just reminded me how rough it was for Ravens at the receiver position. But I just, my thing is I just want the Ravens to, that's why when there were rumors about like, oh, Cole Beasley, the one from the Bucks, Scotty Miller, I'm just like, no, man, I don't want the Ravens to go get another little wide receiver, man.   Like these receivers, they gotta be open, like open, open, if you get to the ball and the catch radius is a lot smaller. I just wish that the Ravens would have gotten somebody like liked that, but somebody who got some good size on them too, or somebody who plays up to a bigger size than they are. But I mean, it is what it is, man. The Ravens are three in three. They clearly have a lot of work to do, a lot. The season is definitely not over. The season is obviously not done. They got a long way to go. Well, they got 11 games left. Yeah, wow, we already been through six games. Wow. It's going by fast. It goes by super fast. But anyway, we'll see how they bounce back, man. This team is just very undisciplined in so many ways. They have, they gotta improve. It starts at the top, but it trinkles down to everybody. So John Hubbaugh, he gotta improve with just grabbing his team by the horns and say, hey, like y'all gotta be a lot better than this. And through some of the stuff, this season has been on him. This game, it was not on John Hubbaugh, in my opinion. It was not on John Hubbaugh. You know what I'm saying? Some Greg Roman stuff. Yeah, a little bit on Greg Roman. The part that would be on Greg Roman to me would be the personnel. Well, it would be the personnel, especially in clutch time. And it's Ricard going out for a route. Like I understand he's out there a lot to block him, but anyway, that was still a bad decision by Lamar. Just because it was Paracord out there on the route, it still doesn't take away that it was a bad decision by Lamar. But I just think about the personnel. The Ravens still second half. They just keep stalling out, man. They keep stalling out. They keep giving up these leads. It's like nothing is safe with the Ravens, nothing is safe. But yeah, so we talked about Greg Roman, Mike McDonald, the defense, they gotta get some consistency. Cause again, numbers wise, stats wise, minus the touchdowns of course, but numbers, yards wise, it's like, oh, hey, okay. There we go. But situational wise, it's gotta be better. It's gotta be better. Lamar Jackson, the decision-making, it's gotta be better. And the touch, the touch, it's gotta be better. Because again, especially close games like these, last week too, close game, those missed opportunities, they will come back to bite you in the butt. If you miss like how he missed to Andrews in this game on what would have been a huge chunk play, came back to bite them in the butt. And then of course the interception, that it threw to record, but love got it, bit them in the butt right away. Cause it gave the Giants field position, gated them the ball with good field position, boom, they scored right away. So if he had, he thrown that away. It's like, all right, defense, hold it down, give the Giants a longer field to have to get down, work through, whatever. Okay, but no man, didn't do it. Offensive line, I wish LaBalca had consistent protection. That would make stuff a bit easier. Running game, well today was good. Overall, it's been very inconsistent. You just, you never know who's going to be good that day. It was nice today though to see somebody other than Lamar have a good running game. It was nice. I think this is Raven's first honey yard Russia, besides Lamar, that was nice to see. It's refreshing, again, refreshing to see somebody else. Wide receiver, hoping Bateman can be back this week. Not expecting it, but hoping. And just hope that somebody else can be the guy. Somebody else can contribute. And again, whether it's on Lamar, whether it's on the receivers themselves, whatever it is, the scheme us. Again, it's probably a mix of all three at different times, but yeah, man, so. But yeah, anyway, tough loss, but not the end of the season. So yeah, that's that. Love y'all team, keep it clean. I appreciate y'all. Ravens are still technically in first place with the Bengals and the AFC North. They're not a first place team right now. They really not the Ravens. So, I mean, I've seen people say, oh, we're still in first place. Yeah, they are, but is this really a first place team? Do you really think so? Yeah. I mean, we'll actually in AFC North, yeah, they probably are. Cause Bengals been, browns been, Steelers been, exactly like that. That's the perfect way to describe it. But anyway, love y'all, appreciate y'all watching. Thank you and let's have a great week. We out.


And now for your U.S. Army Europe spotlight. It stinks sometimes not being downrange, because you always feel like you can affect more change. But I think what they've realized over the months so far is that the job that they do back here is just as important. First Sergeant Timothy Jensen, 173rd Airborne Brigade Combat Team, Reared Attachment First Sergeant. There's so much anxiety that goes along with deployments, both on the soldier side of the house and the family side of the house. We can do our part to ensure that we can control some of that anxiety. The Reared Attachment does this by passing information forward and being accessible to families and soldiers. I've done four deployments with this brigade. It's paramount. We support the mission forward. And that's by making sure that our soldiers downrange have nothing to worry about on the home front. It makes their welcome home ceremony just that much better.


Hello people of the internet, my name is Johnny and welcome back to Five Nights at Chuckie, Jesus. Now I actually have already beaten Night 5 as of the recording of this clip and it actually isn't that bad. If you use the vent glitch, where basically all you have to do is at the start of the round, as fast as you can, go over to the vent, close it, and then open and close the monitor, and then the vent will stay closed, but it won't drain your power. It's a very useful glitch, so then it eliminates two animatronics, Helen and Jasper, and you can just forget about them. So now all you have to pay attention to is the door and the closet. The closet can be pretty easy. I think... I can't remember if I got 1990 or 1980s, whatever his name is.  I don't think he even appeared. So he's pretty easy, just flashlight on him. I do use a pretty good strategy, where if you have... Sorry, I'm out of breath. I just got done with the run and it was pretty tense. I actually only had two playthroughs or two attempts at it. The first one I got to 5am, I'll show you before I actually show you the whole clip, and then the second one was the one I actually beat it. So it only took me two tries to beat Night 5. It's really easy as long as you use the vent glitch. And then if you have a lot of power, something that you can do, it may use up quite a bit of power and there's a chance that some people won't be in the hallway. But because they're so active and there's three people in the hallway, Mr. Munch, Billy Bob, and Chuckie Cheese, because there's three people in the hallway, there's usually someone there at least, you know, there's usually someone there. So what I find when I shine, something that you can do to make sure that they don't get in, but you can still flash, use your flashlight on the closet to keep away to keep away. Classic Chuckie is hold the vent down, not the vent. Hold the door gate down. And then as it's going up, use your flashlight on the closet and then just hit it down again. If you keep doing that for a few times, then you can see me use it in this one. It's pretty easy to use. Yeah. So here's my first attempt at it. And then right after that, I'll show you the actual winning attempt. Here they go. Here it goes. Here you go. Night six will come. I did notice that you can still use the bank glitch at night six. I also got my one hundred and fifty dollars. No, one hundred dollars and fifty cents at the end of night five. So next time next episode, we're going to be going into overtime with night six. But thank you everyone so much for watching and I will see you all on the flip side. Goodbye.