Welch chi'n gael'r panelol fath o'r newid energis. If you're using social media, the hashtag is Wealth23. Without further ado, I'm going to begin. We're in a crisis, perhaps the worst crisis in a generation. Not since the 1970s have we experienced an energy emergency on this kind of scale. One and once again that is hitting the most vulnerable, the hardest. What we actually have is interwoven crises. Felly crisis, post-pandemic inflation, food insecurity, the climate crisis, and of course the illegal war in Ukraine. Tackling one requires addressing them all. Energy literally fuels the global economy. Providing it in a cost-effective, efficient, equitable and crucially sustainable manner is a fundamental necessity. Today's short-term decisions must accelerate us towards a secure energy future tomorrow. It requires, as you're here today, a massive, massive rise in renewable energy investment, and it has to reach the most vulnerable nations that need it most and simply cannot afford it. The good news, and there is good news, not too serious right now. Renewable energy investment did jump in the past year up 12% from a poultry 2% post the Paris agreements, and also major economies stepped up to provide tangible support. The less good news will call it bad news. Fossil fuel subsidies doubled in 2021 and have probably continued to rise. The industry itself says, look, even if we meet our Paris obligations, oil and gas will still provide for around half of our energy needs in 2040. If that's the case, then that reality requires thoughtful infrastructure investment today. What's more, the lack of diversification that exists in energy supply today exists in clean energy too. Great example, electric car batteries rose 10% in the past year. Cobalt, lithium, nickel, all those prices rose. Like OPEC Plus today, the nations that mind these inputs hold serious playing cards in the future. Energy supply chains have to be strong, diverse, sustainable, or we're simply in danger of swapping one challenge today for another, and that's going to require global cooperation. Finally, our role as consumers, the new energy economy requires significant change from us. The total energy bill paid in the past year $10 trillion globally for the first time ever. What's more, the top 10% of households consumed 20 times the energy of the lowest 10%. The richest nations of the world have proved that they can drop their demand when prices are high. That has to continue as prices come down because it's simply the right thing to do. Whether we like it or not, this is the reality of the new energy economy. Now it's down to us to master the policies that will sustain both the planet and its people. Now, enough of me. Let's talk about this with some of the world's most energetic masters even at this time in the morning. Mae introduced by panel Fati Birol, Executive Director of the IEA. Ysif Sikola, who's the Minister of Industry and Trade for the Trek Republic. Vicky Holler, President and CEO of Occidental. Patti Poppe, CEO of PG&E, and Martin Wolf, Associate Editor and Chief Economics Commentator at the Financial Times. Welcome everybody. Fati, I'm going to kick off with you. You've said it, clean energy, energy security, inextricably linked. There's opportunities. There's also huge risks. Just spell it out for us briefly. So many thanks, Julia, and also framing the discussion in the beginning. Tried. Well done. So, 24th of February was the invasion of Ukraine by Russia. And first of March, just a week later, we set the entire world. We publicly did. We are entering the first global energy crisis. Our world has never ever seen an energy crisis of this debt and of this complexity. Why? This is very simple, the reason. Because Russia is of 24th of February was the number one energy exporter of the world. We aren't talking about any country top energy exporter. Number one oil exporter of the world. Number one gas exporter of the world. Major play in the coal markets. And the Russia's actions and the measures that the countries took against Russia meant we are in the middle of the first global energy crisis with huge implications on oil and gas markets. We are seeing it in Europe in the rest of the world. However, this crisis, why we are going through this crisis, at the same time, it gave a big boost to clean energy development. Because in the past, clean energy was renewables, electric cars, efficiency heat pumps. They were growing, but the main driver was environmental reasons. And now the biggest growth, biggest driver of renewable energy growth today is energy security. Renewables are pushed very strongly because mainly for energy security reasons because it's homegrown. Renewables are the energy of peace. So, therefore, the long lasting solutions to our energy security problems go through clean energy. It is renewables, solar, wind, efficiency, electric cars, nuclear power, all of them. And when we look at the numbers, Julia, you know that my job is making my hands dirty with data every single day. And I can tell you that the growth we are seeing in the clean energy is very, very strong. Just to give you one example, renewable energy. 2022, last year, the growth is compared to one year ago, 25%. We have never seen that. Electric cars, 2019, only three cars out of 100 were sold was electric. And last year, it is 13%. Big growth. And if this trend continues, not even acceleration in 2030, which is tomorrow, every second car sold in Europe, US, and China, three largest car markets will be electric cars. So, let's keep this thing in mind. And maybe finally, let me mention that in addition to this immediate response to energy crisis, there is also more structural response coming from the countries such as from United States, Inflation Reduction Act. In my view, the most important climate action after Paris 2015 agreement. So, the IRA, Inflation Reduction Act from United States, fit for 55 from Europe, a Japan Green Transformation of Japan, the incentives, huge incentives in India for the batteries, or China pushing in their five year plan, big new clean energy technology manufacturing. This is a second dimension. In addition to the current immediate responses in terms of renewable efficiency, the heat pumps, electric cars, we are seeing a big push, mainly driven by industrial policies of the countries. I think they will emerge, and hopefully we will have a secure and clean energy future. Fati, I'm going to stop you, and you've stopped anyway, so that's good. You're half, glass half full, which is good. So, he's the optimist voice. Martin, I'm going to come to you now for the counterbalance, because we are seeing a rise in investment, which is great, but it's nowhere near enough. I think Fati would agree with that, at least today. We need to see a massive rise in investment. As he mentioned, if I look at China, if I look at India, if I look at the EU, and we'll hear from the example there, they have to invest more in wind and solar, because as far as I know, no one's worked out how to turn wind off, and no one's worked out how to turn the sun off, at least, which I think is an important point. So, it's a great story, but, of course, we're hopelessly behind. So, let me just set out how I see it. The good news is we all agree that massively expanding the supply of renewable energy is a climate and security priority, as the point has been made. And the second piece of good news is that these technologies are increasingly cost competitive. And, therefore, in economics jug and their dominant technologies, that is the most economically efficient thing we can do. And that means that over time, if a lot of problems are solved, market forces alone will deliver this. But those forces are, of course, because of the scale of what has to be done, which is not just money, but planning, solving systems, reliability problems, solving the developing country, finance problems, finance is a huge issue. The market forces just won't get there at the time needed. All the serious climate scientists tell us that we have to have very sizable reductions in world emissions by 2030 if we're going to have any chance of keeping close to 1.5 degrees. And that's just not on the horizon. It's not what's been happening. So let's not be complacent about it. We need a massive acceleration of the transformation from where we have been, and that will require dramatic changes in policy, serious incentives, serious de-risking of investment across the world, and not just in our own countries. We are not going to solve this problem. Europe generates 10% of emissions in the world. If you include the UK, it's just not relevant to the total picture. So what I want to say is we've got to a more comfortable position technologically and economically than most thought 20 years ago, but we haven't got the world into a more comfortable position and we should not pretend we are. We'll talk about getting over some of the inertia, because as you said, the pricing actually, in many cases, is right, but we're still not seeing the kind of investment and the direction of investment that we need. We'll come back to that. You've given me loads of launch points for every other panellist that I want to hear from, but Minister Seeker, I'm going to come to you, because I think Europe's been one of those hardest hit and had to make the quickest transitions and taken a significant amount of action in the last year. Talk to me about energy security from your perspective. Briefly, if you can, as a kicking off point. So first of all, thank you very much for the invitation to this very privileged panel. The second point that I completely agree with Fatih, that basically on 24th of February, the energy world has changed and this change is irrevocable. I give you the simple example of the Czech Republic and then I will come back to European issues. With the beginning of the war, the Czech Republic, as a land bloc country, the dependence on the Russian fossil fuel supplies was ultimate. 100% the nuclear fuel, the nuclear bars for the nuclear power plants, 99% gas and more than 50% crude oil. Without infrastructure, the infrastructure was built from the east to the west. So what you do if you want to impose sanctions on the aggressor. And there are similarities with the Yom Kippur War from the 70s, but the combination Europe has to solve and is solving successfully is much worse because it was something like the George Clooney's Perfect Storm. Not only the market manipulation which Russia started already before the war where basically gas from rented the gas storages across Europe and they were with the beginning of the heating season on the record low level. Empty, simply empty. Without the possibility to get this 155, we are talking about a replacement of 155 billion cubic meters of the natural gas from Russia. So one sort of the consumption of Europe. Then the extreme dry during the summer. So the hydropower plants in South Europe were not working. Also Scandinavia and then basically missing capacities in France. 30 reactors out of nuclear reactors out of 59 out of order because of the maintenance. So it was like more than 140 terawatt capacity which is the production of the Czech Republic and Slovakia together, the yearly production. So it was the perfect storm and in combination with the need to fulfil the storages before the winter, extreme pressure on the prices. 1,000 euro per megawatt hour on the end of the summer for electricity and 350 for gas. So nobody can afford this. There was like a big threat that the social agreement in European countries will be broken. That there will be a social unrest. That the industry will not be able basically to pay the electricity bills and the big threat of the industrialisation. What is positive is that Europe has again shown the unity under the extreme pressure and I had the privilege to chair the European Energy Council of the 27 member states and we were able to keep the unity and the solidarity and in extremely short time to introduce a package of the measures which basically helped us to calm down the prices to balance the demand and the supply. The situation now if you look on the gas prices, the spot was yesterday at 55. So 350 on the end of the summer of 55 yesterday. So this is like heaven and hell. The heaven is not as cheap as it was before but it is affordable. What is extremely important is that the part of the package is the idea of joint purchases in order to prevent for the future these price spikes. What is extremely important that everybody understood that the dependency on the Russian fossil fuels might be reduced by speeding up the renewable resources. So basically the time we missed in the past is not available anymore and we have to act now and we have to act fast. So basically that the euro was able to agree to speed up the permitting for the renewable resources and to create funds for this higher speed in basically renewables. Of course what is extremely difficult by taking these extraordinary crisis measures not to forget the long-term narrative. Right. I want to hear from somebody else. We'll come back to it because we're going to more depth. But this is a yes or no question. Can the momentum that you've achieved over the last 12 months be sustained? Because it has to be. Can it be? Yes. Yes. Good answer. We'll come back to that. Now have a choice. Patty you also understand crisis in California. The provision of trying to provide 60 million people with stable. We touched on that there. Cost effective with prices soaring. And of course you're fighting the long-term challenges of security against wildfires. The flooding that's going on at this moment. Talk to me about how you view energy security and what you think. Whether it's for your company or more broadly needs to happen and change and fast. Well first thank you for having me. I'm proud to represent the people of California and the people of PG&E. You know we are in a different kind of war in California and that is the front line of the war on climate. We're experiencing it. We've just had historic flooding. We've had historic wildfires. We've had historic mouse snowfall and earthquake just in the last month. All of those things in the last six months. So we're experiencing it. And we have some of the most ambitious climate objectives because of that. And the people of California are very resolved. And I'll remind people that the state of California if it were a country is either the fourth or fifth largest economy in the world. And yet we have very ambitious climate objectives. And I am extremely optimistic about the opportunity to lead this climate transition in a systems mindset way. So as a system when we optimize that system as we transition we can do this for the lowest societal cost. And I see a very clear and specific pathway to the lowest societal cost of the transition by optimizing distributed resources along with central station traditional sources of supply but optimized in a very specific way. So let me just tell in September we had a peak summer heat event. California had its peak demand for electricity on September 6. And so we are boots on the ground.  We saw the battery storage kick in right when it was supposed to. That's new additions to California's energy supply. It worked just like it was supposed to. But as we got very close to having to shut down our transmission systems and prevent energy delivery to preserve the grid the state took a very aggressive action to send out an emergency text message to all of the California cell phones. And instantaneously 2,500 megawatts came off the system. We watched the load curve drop with the straight line which told me and reaffirmed a hypothesis that I have that demand management with modern technology can be automated. We shouldn't have to send a text message. It worked.  It was an emergency message that said yes please reduce your usage. But Californians responded because they're good citizens. But what it says is that could be automated with smart devices Wi-Fi communicating devices and electric vehicles as a power resource bidirectional power resource back to the grid would be even an additional asset that was what I would refer to as anyways economics. People have already purchased the electric vehicle. It's an investment anyways. Get its full value by putting its power back to the grid. And all of that can be automated. Technology can enable that. This is a technology that has never been available in all of our years of delivering energy and electricity in particular to the people of the world. We can now manage demand and have the right use at the right time not just conserve not just use less but instead smooth out the demand curve and have distributed variable resources that can deliver. It will happen. And I'm very optimistic about that. Yeah. And you also have an electric vehicle advantage as well. And I know you're pioneering feeding energy back into the grid at these moments of peak demand will come back to that as well. And Mr. Sikler I know he's nodding because he wants to talk about how Europe managed to bring their demand down as well. I have to hear from Vicky first. It was 15 to 20 percent though wasn't it. I can see you smiling. Come in here please because I think the key word for Martin was emissions and I think the oil and gas sector has a terrible reputation. I think you would admit that there are pieces of this sector that are recognizing that an existential crisis for the planet is also an existential crisis for them and that's creating inertia. But you have a different way of looking at this. It's sort of a reality check I think for all of us. Please explain. Yeah I think that it's what's important to understand is that the enemy is our emissions. It's not the energy source and what we really need is a more thoughtful transition and the transition has to be one that's built around ensuring that as we transition that we don't leave developing countries behind and emerging countries. We have to understand that oil is the highest intensity energy at the lowest cost. What we have to do now is we have to address the emissions and we have been making important strides toward lowering our methane emissions across the industry and it's been a concerted effort by a lot of companies and countries to make that happen. And I agree with Fati and Martin that and Patty that renewables are critically important and the reality is that's a part of our transition too. We need energy to provide our equipment to run and we're starting to move to using renewable energy. Battery advancement is important to make that sustainable and to make that a consistent provision of energy but that's going to happen and we're actually as I will say just occidental as an example. We know that we not only need to lower emissions from our oil and gas operations. We need to lower the emissions from a lot of industries. The oil and gas industry is always the industry that's attacked but the reality is that a lot of the products you use and you don't like to hear this but a lot of the products you use comes from oil and gas. And so simply building wind and solar is not nearly all of the answer to the question and to the challenge. So we believe that what we're doing will help transition our industry and that is to get very aggressive with carbon capture not just at point source emissions but you're seeing what's happening around the world with respect to climate change where we are today. So if we cannot reduce the CO2 that's already in the atmosphere we have a real problem. So direct air capture no matter what model you look at has to be a part of the solution and we're we just started construction last quarter of what will be the largest direct air capture facility in the world. It'll extract 500,000 tons of CO2 per year from the atmosphere. The next largest is extracting only 4,000 tons. So this has to happen and it has to happen in a big way along with point source capture and to me if we can all work together to make that happen that's the best way to partner them with solar wind and build a building electric vehicles. So that is going to be the best way to transition. Very quickly are you in favour of ending subsidies to the oil and gas sector because it goes back to the point that I think Martin was making about that the price signals being off at certain times. You know there's no doubt that there's been hardly any game changing and transformational technology that's ever been developed in the world that did not at some point have some sort of subsidy. Like wind and solar took about 10 years to reduce the cost of wind and solar by 80%. It's collapsed. And wind and solar had subsidies. Now we with the inflation reduction act that was just passed and thanks to Senator Manchin wherever he is. He's here at the conference somewhere. Thank you when you see him. But the IRA is an important bill for us in that it does provide subsidies not just for carbon capture but for electric vehicles for lithium for many other things that will help the climate transition. As Fatty said it's and others have said in the meeting I just was in it's one of the most transformational passages of a bill ever in the world. And it's going to I think jump start a lot of things. And for us the thing that it does is it does enable us to advance the technology faster. Our goal is to build was to build 100 of these direct air capture facilities so that we could be extract 100 million tons of CO2 from the atmosphere between now and 2035 with the passage of that bill that's going to make it possible for us to build up to 135 of these. So it is important and subsidies are very important for the development of new technologies. And what I'm really excited about I know there's a lot of thankfully a lot of enthusiasm and optimism on this panel already. And what I'm really excited about is we're we have an advantage over wind and solar in that we're starting to develop a brand new technology that's critically important for the world. But we're going to be able to build a digital twin as we're building the facility so that we can with that digital twin advance the development and the optimization of that plant a lot faster than wind and solar was able to do. I think that's the key. We have to accelerate everything whether it's the investment whether it's the technology we have to take risks. I know it's tough during a cost of living crisis where you're having to make short term and longer term decisions. But I think that points to it. Martin come in here because there's two things I want to talk about. I want to talk about the best ways to do risk finance whether that's to countries that need it most that can't afford adaption finance never mind mitigation finance. But I think the other thing we've touched on it here with the subsidies in the United States and that is creating good competition not creating protectionism. And I mentioned the dangers of an OPEC plus kind of scenario with some of the minerals like and metals like lithium like cobalt like nickel. How concerned are you one about insecure new supply chains but also pushing it so far with subsidies that perhaps we create unhealthy competition and maybe that's the first class problem. Martin had we overcome these things or get the balance right. And we haven't even mentioned China yet. Well my general view in having watched governments for about half a century and watch climate policy for about 25 years is that it's always going to be a mess. I don't look for optimality or anything vaguely like it. It's going to be wasteful politicized but it has to move in the right direction. When I think look at the mess of the nature of our subsidies what we subsidize I'm very happy with the subsidize subsidies in most of the subsidies in the IRA. God knows why it's called an inflation reduction act. But never mind. But that's the point I'm making. It's going to be it's going to be political. It's going to be political. But so what one has to do in practice is find a way to marry political realities with moving us very very rapidly in the right direction. And I would say so far we haven't done a great job of that. But we haven't done an unbelievably bad one either. So the answer to that I think is countries which have a lot of fiscal room like the U.S. and Europe just need to be prepared to borrow and spend a lot. And I'm less worried about fiscal deficits than some. So that's what they're going to have to do the. But there will be a lot of economic interests pushing them in the right direction because there's a lot of money to be made. So that that has made it more even than it was 20 years ago. But it was basically if I may say say the fossil fuels industry pushing against it. Now we actually have a renewable energy industry with everything around it and everybody can see there's money. So this is good. And that will push people for governments further to support them. And that I think part of what happened with the eye the IRA and also with next gen EU. But the big hole to me the biggest hole is the risk profile in developing in emerging countries. And there's some very good reports recently out on this. The high level group with Nick Stern and Vera Songway for example. So these there are two elements. The first one the problem is that nobody wants to lend money to developing in emerging countries with a very few exceptions because they think they might not on cheap terms because they think they might not get their money back. So they raise interest rates to a level at which they guarantee not to get their money back. Now this is a real trap. And the only way round that is to do risk it by the developed countries using the international financial institutions as risk guarantors. And for that to happen the major ify's in here. It's the World Bank more than the IRA have to be prepared to lose quite a lot of money. And that then gets to really big political issues who bears ultimately the risks in this system which has been operated for 60 70 years on the assumption that essentially they never lose money. So this is a there is a risk. There are risks here that have to be born by someone. My view is basically is the rich country governments because there aren't any other risk bearers. There are lots of other things you can do equity financing to something. But on the scale that is needed and the speed that is needed we really have to think about how risk is reallocated and born in the system if you want this to be a global activity and remember emerging and developing countries are where all the growth in energy consumption and emissions are going to come from. Yeah. The World Bank in your case in particular needs to take that first loss piece. They have to be willing to bear the great proportion of risk. But to do that they have to manage the scale of the losses from their point of view because they don't want to go back to their shoulders and asking for more capital. But somebody has to take that bite and say well actually this is so important. We're going to have to risk losing money. Yeah. The mindset has to change. That has to be clear to the shareholders in the beginning. We're going to throw money at this and we're going to throw money away. Good luck with that. Well that's where you get to the point where what is politically feasible may not actually match with what is globally essential. And when you're in that situation well political feasibility has to change.  But I feel like I've sort of teased your responses to a number of these things now. What do you make of this. And how would we how do we do. How do we do this. How do we facilitate this. I'm going back to the savings. 40 percent of the energy consumption is related to buildings and the biggest part of it is a heating. And what was extremely important that the euro was able already during the summer think about the next heating season. And the first extraordinary meeting and I became known that I convened the historical highest number of extraordinary energy councils in the history of European Union in order simply to align. I said we will sit as long. We will finish basically what we have to finish. And the first mission in impossible was the alignment on gas savings already during the summer. Save gas for a safe winter was the slogan. And what was extremely important to convince the population that they are the part of the game. And what is fantastic for example in my country that we were able with simple measures to save 15 percent of the gas consumption only during few months by simply convincing the people they have to heat less they have to sink if they increase basically the room temperature of if they wear a hoodie. And I know that we cannot repeat it for a second time. But you know why not. This is technically not possible. But the demand response. The limitation of this like hot fixes is simply given. You cannot afford the people to have like less than 18 degrees. You know in the room. So so they are like a technical limitations. So we now have to come with more advanced approach. But what is important is that basically Europe is aware and Europe is working in this direction. When it comes to subsidies as a former banker and also partially macroeconomist I say that you know we should be careful because subsidy is something like a doping in the sport. If you then have to live without a subsidies it is difficult to turn back to to a normal life. And sometimes we see that the people the entrepreneurs are not thinking what is good for the people but where I can get subsidies. So I will invest there where I will get a bigger subsidies and I understand the importance of the inflation reduction act from the U.S. perspective. On the other side in Europe it is seen much more controversial because it is saying to the European investors go back go to U.S. because this is this is more profitable for you because they will subsidize and they will give you much cheaper energy than you can get in Europe. And when we start a rally of subsidies this is extremely dangerous because you are speaking about fiscal room and I don't know that you know for example FET would agree that the fiscal room in U.S. is as big as some of the people believe and Europe it is not the one animal. We have a situation countries with 25% inflation countries with 7% inflation with completely different levels of indebtedness to a GDP so with a completely different fiscal room within a Europe. So we have to be smart and we should not allow that the western world will now also compete where basically the necessary investments will go to. This is capitalism isn't it? I think this is capitalism. Healthy competition. They are trying to boost their industry. Europe has to in some way step up to the plate too. I agree that we don't want siloed investment in the duplication of investment. Subsidies and capitalism. I feel like we have to think outside the box where renewable energy is concerned but I take your point. Vicky come in here. I don't know what you want to say. I just want to say that subsidies shouldn't last forever but subsidies really are needed to develop new technologies. What we are seeing is we are seeing a growing voluntary compliance market that is willing to pay the price to achieve net neutrality from the standpoint of their carbon footprint. More than 2,000 corporations around the world have committed to that. So we are seeing that subsidies will not be there forever. We don't expect it. We expect to advance our technology so that it will stand alone, support itself and be a growing business force. We do expect to become a carbon management company over time so it is going to be a profitable business. I will say though with respect to Europe. I hate to say it but I have to say it. Imposing windfall profits tax on the oil companies that are doing their best to grow wind and solar in Europe was not the smartest move in my view. Vicky come in here. I mean it could have been tax free if it would go into renewables. Let me just put this investment thing making simple for all of us to put it in the frame. Now if, big if, if we all want to reach a 1.5 degree target to keep our climate safe but the scientists tell us to do our climate target. Today the world invests one dollar for fossil fuels and one and a half dollars for clean energy. So the ratio is one dollar for fossil fuels, one and a half dollar for clean energy. If we want to reach our target, this ratio of one to 1.5 should be one to nine. So a big increase in clean energy investment and which makes it even more difficult, the growth of the clean energy investment need to come from the developing countries where cost of capital for clean energy technologies is about six, seven times higher than US or Europe and elsewhere. I think this is the nerve center of all the problem. How, because I believe money and the clean energy projects in Europe and in US IRA, FIFT 4.55 at the end they will meet. But what are we going to do in the emerging countries? And I believe advanced economists have two reasons to support the clean energy financing in developing countries. Number one, one ton of CO2 going to atmosphere from Detroit or from Jakarta or from New York or from Marseil has the same effect on everybody. You can do whatever you want at home. It doesn't change. If the emissions come from elsewhere, you can bring the UK emissions, Europe emissions to zero.  So first, on a logical reason. And second, the other driver why they should invest help the clean energy transition in developing countries is a moral reason. The climate change is an issue of concentration of carbon in the atmosphere and about 80% of the carbon in the atmosphere put there by the advanced economists since 100 years. So they have a moral reason to clean up as well. For two reasons I believe would it be work bank reform, the IFIs and so on, they have to advance this. One thing I have to congratulate Joseph here. He did an excellent job for Europe if we are still here. Enjoy the warm, at least here, the temperature and the lesser on. Well done, Joseph. The temperature, the winter, warm winter helped you a bit. We should be honest. But well done, I just want to congratulate you. But you still did a good job. Exactly. Martin, come in here and Patty. No, Patty, come in. Okay, thank you. Martin, I'm coming to you. I want to make a point about Martin what you said about it won't be optimized. I appreciate that. But I also think that there's a tradition and the historical investment in technology and even in California, the early investment in wind resources when they weren't popular and weren't economically viable have then made it possible for wind to be developed around the world as well. And so over time, I agree wholeheartedly that there's the wealthier nations can start the engines of progress and of innovation. And Vicki, I think what you said, I'm so excited about your work and what you're doing with carbon capture. That will create the possibility for developing nations to access that technology in time. And as you said, where we fix it, it has a positive impact in whatever sequence we do it. So let's go ahead and let the innovation occur. And I just think there's such an opportunity to adapt, enable and accelerate. So we're adapting with hardening our infrastructure, whether we're undergrounding our power lines or building a more resilient distributed energy system that is more secure for people to have power when and where they want it. But we're also enabling in the IRA and the earlier legislation that was passed, it's enabled the extension of nuclear power plants. I have a 2200 megawatt nuclear power plant that was scheduled to close, but because of that legislation and the support from the U.S. government and the state of California, we're extending the life of that nuclear power plant. That's an enabling investment on the part of the federal government in the United States that has benefits globally. But then finally to accelerate the advancement of electric transportation as a key resource back to the grid, as well as distributed microgrids. And it's an all of the above, all of us have to do all of it as fast as we can. And I think some of these economic subsidies are absolutely enabling that to happen in the larger wealthier nations so that the developing nations will then be able to access that technology affordably. Yes, it's not just about providing financing, it's also about the provision of technology as well and subsidising it and pushing it forward. I'm a naughty girl because I was supposed to open it up to Q&A and we've got one minute left. Martin, the floor is yours. You were waving at me to say something. So make it really good, my friend. So no pressure. I think the situation is incredibly clear in the sense that we sort of know where we've got to go and we have to accelerate the speed at which we're going there multiple times. Nine times at least. This will require a staggering volume of resources, a lot of very, very clever policy, and it has to be seen as a global public action programme. The first genuine league, as it were, global effort by humanity to manage the world on a war basis. That's where we are. And in this situation, to me, the most important thing is that everybody who's involved, politicians, businesses, have the sense of urgency because so much of this is talking about things as if we had years or decades to sort of all these out. We don't. So the key is to get the urgency and in my view is of course they're going to spend money. A lot of it is going to be wasteful. A lot of the policies that we'll get through are intensely irritating, but as long as they're pushing really, really rapidly in the main right directions, we'll get there with a lot of luck. And the key things are to look at what isn't happening. What isn't happening is we're not investing nearly enough. Right. And two, we're not investing nearly enough above all in the places where we know that's not happening because they don't have the money. Right. And it's no good for us to say we don't have any money because we are the only people who do have any in this situation and we've got to do something. That's how it is. Yeah, and citizens. Citizens have to take responsibility. And also we have to buy some room for our politicians to make tough choices for us in the short term that benefit us in the longer term. So I think we all have to stand up, step up and protect our planet and our people. In fact, if you wanted to talk about China, can you do it in... No, I'm being given the timeout. I'm done. Otherwise I'm going to be fired and I've got to do another panel. Don't forget China. Exactly. We have to do it together. We're one planet. But we have to understand that China is the number one driver of clean energy today. Yeah. And we've got to cooperate with them, obviously. Martin, we want to enter an optimistic note. To your panel, guys. Thank you.


Welcome everybody. What I've been asked to do is just to run through a sort of increasingly standardized setup. There's a number of us in the server admin community have been working on this for nearly a year now, I suppose. It's being used in quite a large number of countries, one guys or another. It's not specifically about COVID-19. The reason that we came up with this set of deployment tools was really to assist with system administrators to be able to install a reasonably secure installation of DH-2 out of the box. Some people will remember the old DH-2 tools. I think there's quite a few on this call. We've used them. A number of people use them for a number of years, but for all kinds of reasons, they're not really adequate in today's day and age. So we've come up with a sort of next generation version. Maybe just to dampen expectations a little bit. If people are expecting a sort of setup.exe, that an inexperienced person will be able to just run and host their DH-2, I think they'd need to think again. If you're not experienced in hosting Linux systems, your best bet is going to be to get some support from somewhere. Probably outsource it to the likes of BAO systems, Hisp Geneva, Hisp South Africa, Blue Square, possibly a number of others who offer this service. It's not a good idea for your DH-2 system running your COVID-19 tracker to be the first system you've ever administered. So that's my spoiler. Having said that, if you are going to work with DH-2, it makes sense to do it in a way that lots of other people are doing it too. And that's kind of one of the reasons why we're trying to standardize around this particular approach.  I don't want to take too much time talking because we need to get installing as well. What we're aiming for, what we're aiming for is a situation like, I've lost it. Where is it? Where's my picture? They have a nice picture somewhere. Is it gone? Aiming for a situation where to meet, I think quite a lot of people's requirements who are taking a single machine, often a cloud, a cloud VPS server from Amazon or LinNode or Contabo or Teddy server, some of the common providers people use. They typically just give you a single box, a single Linux machine. And the problem is, as most of you know, DH-2 has a number of components to it. And it's not a good idea running them all together in the same memory space and in the same sharing the same CPUs. It's not good from a security perspective. It's also not good from a monitoring and performance tweaking perspective. So what we try to do is to break those pieces up. So each component, you have a proxy. You have one or many TomCats. You have one or many database servers. You have one or many monitoring systems. They run using something called containers inside the host box. Setting all of this up from scratch is quite a long operation. But most of it is fairly easily automated. And I've actually done that. And I'm going to show you that briefly now. There are, is the beginnings of a simple ish setup guide. You'll find in the repository here. This repository, by the way, we need to move at the moment. It's sitting under my personal object. We'll move it into the standard DH-2 space. I've got a couple of steps here, which describe how you go through the installation. So I'm not going to go through this document. I'm just going to do it. And I'm going to skip the prerequisite because I've already done that and go straight on to installing. So I have a server here, which is relatively empty. It's running on LinNode. And I've run the setup script on it already and then sort of wound it back so that I can do it again. But what you would do, you pull these scripts from JIT and that's described in here. Where are we? Well, there, JIT clone the tools from the repository. Then you go into the setup directory in there and you'll find that there is a file called containers.json.sample. You need to rename that file to containers.json. This is a configuration file. And just make a few edits in that. I think I've already done it. Yeah, you put in the domain name of your server, an email address, and for those, just these three things you need to do. And then your time zone, quite important to do the time zone because most often the time zone in the place where your system is meant to be serving is not the same as the time zone in the data center where the server is. So you have to be able to set that. It's important to note that you cannot do this with just an IP address. You need to have a fully qualified domain name. That's because the setup is geared towards using SSL. And there's quite a few things I need to undo on it to not use SSL. So you need to have a fully qualified domain name that works and is mapped to your IP address of your machine. You need to have an email address and you need to set your time zone. From there, normally you would just run this, sudo lxd setup. I'm not actually going to run that because I've run it already. If you just see what's in it, I'm just going to run the last part of it. I don't want to do all of this stuff again. What I want to do is just run this create containers. SSH there. That takes about seven or eight minutes to run. So while that's running, we can go back and look at the diagram. Off it goes. While it's doing that, let me go back to my diagram and tell you what it's doing. In our configuration guide, or in our configuration file, we specified that we want to have a proxy here. Now I'm using Apache 2 as a proxy. I know that there are religious wars to be had about this. Some people prefer to use engine X. I don't want to go into all of those here. I've done a lot of work on tuning up my Apache 2 configuration. Tuzo from his tens of minutes. Has recently contributed a engine X content version of it. It needs a little bit of tweaking still to get it into the, into the setup. I just merged his commit about an hour ago and actually broke my, my install. Revert it. But yeah, it sets up a proxy container. It sets up a database and it sets up a database. It sets up a database and it sets up a little monitoring program called Moonee. You can ignore this thing about encrypted disks for the moment. We're not going to be out of the scope of this discussion. It's important, but it's not something that I've managed to automate and document as yet. The important thing about automating, I mean, we could just like go in and follow the install guide. Right. I'm typing sudo nano this and what have you. One thing about automating is that it becomes it's, it's repeatable and you don't have to remember all the little things that you might forget, particularly around security. We've done quite a lot in terms of insulating these containers from one another. For example, we have, you'll see when they're up and running, there's no space firewalls running on each one. So it's only possible for your Tomcat container. For example, the only thing that can access it is the proxy container. That's the only thing that needs to access it. Similarly, the Postgres permissions and things are set up so that when a database is created for this HMIS instance, for example, then nobody else can access that database except that HMIS instance. So yeah, quite a lot of work has gone into money. In terms of the containers themselves, I've made use of a set of benchmark controls from CIS. You might want to look that up. CIS security is one of the many tabs I don't think I have open. I can Google it. CIS security. And try it to go through each container as much as possible. I've been assisted here by, now there's an open, Tuzo has done a similar due diligence on his engine X container. This is quite a nice website and it gives you kind of checklists of things to do if you're setting up an Apache HTTP server or a Tomcat or whatever it might be. This is sort of many hours of work, right? The Apache HTTP server is about 170 pages worth of content of checklists, which we've tried to go through most of those so that the containers are by default set up reasonably secure. They are probably still going, wow, it looks like they are done. Let's have a look. There you can see, there's our three containers. What we don't have, we talk about what's inside them and how to get inside them a little bit later. Let's first of all just get something up and running. What we don't have is a DHIS2 instance, so we need to make one. The last step of the installation process is actually to install some scripts. They actually go into a place called user local bin, so that they're in your path. You can see there's various scripts around backup and creating instances and deleting instances and what have you. What we're going to be doing here, some of these might be again familiar to people who use DHIS tools. We're going to create an instance and deploy a war file to it. Then if we do really well, we might try and deploy some COVID-19 metadata. Let's have a go. Sudu, DHIS2, create an instance.  One thing that's different, particularly people have used the old DHIS tools is we need to specify an IP address for it. Remember, if you see these three machines that are running here, the monitor and the pose, they all have IP addresses. By convention, when I start up my Tomcat servers, I start them up on <IP_ADDRESS>. If I make another one, I'm going to make it 11. If I make another one, I'm going to make it 12, et cetera. The other thing we need to specify when you create an instance is to tell it the name of the database to use, the database server. In this case, there may be in most cases, you only have going to have one database server, but it's possible. If you've got many trackers, you might want to run each one using a separate database because as some of you know, trackers are not always very friendly to databases. I create an instance like that. This instance is based on Tomcat 9. I've only been trying this for the last couple of weeks, but it seems to be working well. There's a few odd things about Tomcat 9, which took a bit to figure out. Generally, it functions perfectly well. Some of the places that it puts its files are slightly different to if you're using Tomcat 8.5, particularly the Catalina.out. It seems to be no longer there. What used to be in Catalina.out is now ending up being logged directly into syslog. This will take a minute or two. It's just downloading all its packages. It's going to install the OpenJDK and Tomcat 9. Just about done. At this point, it's updated some firewalls and it's created a database. Done all kinds of useful things. Now we can see we've got a new container running. There's our COVID-19 container. It's just running a Tomcat. It's created a database on Postgres, which is called COVID-19, and owned by a user called COVID-19. It's just easier to maintain consistency throughout. But it doesn't have a war file on it. In order to become useful as a DHS2 thing, it needs to have a war file. Let me just copy from what I had before. Let's take the latest 233.2. The command there is to deploy war minus L as you're getting it from a link. This is from an HTTPS. We're going to deploy that war file to our new container, which is called COVID-19. Just download the war file as a quick check on it. It's going to deploy it. The way it deploys it is in a way that, again, is slightly more secure, probably than the way that most of you are doing it. It doesn't just dump the war file into the web apps directory. It actually unpacks the war file, makes the directory owned by root, so that if the application gets hacked, it can't modify itself. At this point, it's starting up. While we're waiting for it to start, because it can take a couple of minutes to start, let's make another one. If you want to make a few instances, you can. Let's make one. If you make a new instance, you've got to give it a new IP address. Let's make COVID-19T. The reason I'm doing COVID-19 and COVID-19T is that one, I'm going to try and put tracker on it, and the other one, I'm going to put the aggregate on it. Unfortunately, we had an issue. A couple of days back, where the tracker metadata and the aggregate metadata is a little bit clashing with one another. There's some harmonization of UIDs need to happen. I'm hoping that'll happen soon. Anyway, it's a good idea in general to keep your tracker separate from your aggregates. And I think most people are doing that. There might be a case if you wanted to have a very COVID-19 focused box that you put the aggregate together on it. Okay. This is doing basically the same as the other one is. While it's doing that, let's see how's the other one come alive yet. Reload. Okay. Long URL. It will be COVID-19. Ah, okay. There it's there. Few scary little messages. Okay. So this is the first one that we created. We deployed a whole file for it. So it's just going to be admin districts. And 23.230. There's our instance. We can have a look at the about page just to check that it is what we think it is. That link doesn't work. So you need to enter into one of the apps, the old apps, then you're to write. Ah, okay. All right. Never mind. Yeah. Okay. Let's not go there. There's our COVID-19. By this stage, where's our COVID-19 tracker doing? Okay. We had a problem with our COVID-19 tracker. Okay. Rather than try to fix it. I know why that is. I'm going to just make a different one. Let's make a third one. Call it COVID-19. TR. Now, after I create the container and then start running the, the updates scripts and things on it. Sometimes the network doesn't come up immediately and then the app get fails. I need to find a way of making that a bit more robust. Just make a third one. Okay. That's looking better. Okay. The other thing that has been configured was configured behind the back was this, right? The SSL was set up using Let's Encrypt. All right. So that was automatically pulled in on the basis of the domain name. You also have a very simple monitoring program on here, something called MoonIn. It's not going to show you anything interesting, but it's configured and ready to roll. We don't have any interesting data yet because this machine is new. Have a look. Now, I've just collected a couple of pictures from some running servers to show you some of the MoonIn graphs. Looking at the graphs that you're going to get of a brand new server is not interesting. Okay, that worked better. Let's deploy a war file to it much the same way. What have we done before? Remember, history, grep is my most common command. Try to remember what I typed before. Okay, there we go. Let's deploy a war file to our new one as well. COVID-19 TR. We'll put the same war file on it. That's version 233.2. And off it goes. Just looking at the time, it's 1324 now. So it took us about 20 minutes to set up machine pretty much from blank to having your 233 instance running on it, your SSL configured, a little bit of monitoring happening. We created three instances, though there was a problem with this one. I'm not going to look at it. But the TR has worked fine. We've got three instances running. We'd have to delete the other one at some point. But this is, let's see, is it up here? That takes a while as you know for the war file to load up. Maybe it's still running. Okay, well, that's running. I'm not going to, not going to show you what's on these graphs. I've just taken a few pictures really of, I'll show you a little bit. It's not going to show you much. The monitoring machine here. I'm monitoring itself. The Postgres machine. There are lots and lots and lots of graphs. I mean, there's one of the problems with, with MoonIn, it does give you a lot of graphs. You really have to become very adept at navigating your way around or just keep yourself some links or make a dashboard page that links to the ones that are interesting. As you can see at the moment, there's not much there. The way MoonIn works, it's fairly primitive. It's not as fancy as something like, like Grafana. It simply samples every five minutes. The reason why we've used it was, well, partly because it's really quite easy to set up.  But as far as the configuration is concerned, if you look at what we started with, the plan is for that to be configurable. You see in our config file, at the moment, this is a bit hard coded, but you can specify what kind of monitoring solution I'm using MoonIn. Then we specify the container called monitor. What's the type of container? It's a MoonIn monitor. The idea being that over, over a bit of time, we'll also create perhaps a, a Grafana Prometheus type monitor. And then it will be a matter of in your configuration specifying different type of monitoring and then a different type of monitor to load up. Let's look at what some of the, the, okay. I've just made a couple of collection of little, I just grabbed these this morning from another server. One of the most important things is that it really easily gives you a way of looking inside your, your JVM, right? To see, see whether you've allocated enough for a lot of people allocate heap memory as a sort of act of faith. Oh no, my server is going too slow. It's crashing. Probably I need to give more heap to Tomcat or what have you. People are not using an objective measure to do it. It's really useful to have these little graphs. Basically you look at that and as long as you've got a happy amount of green free bites, it means that your heap is, is operating nicely. If you find that you're getting places in the day where that green is getting very low, that's a sign that you're going to need to increase your heap size. You get a simple view of what Tomcat's threads are doing. As you can see, this server is not particularly busy. It's generally running with the minimum of 10 Tomcat threads. Every now and again, it gets a bit of activity and it jumps up to a maximum of 24, it's looking like. That's usually a sign that some of these threads are now getting quite busy and maybe getting quite slow to return, right? Maybe they're making database queries which don't come back straight away. And so the threads stay alive for longer and then you start to see an increase in your thread count. Something that's going to be really nice to do and I haven't done it yet is to go through some troubleshooting and some interpretation. If you see this kind of thing in your graph, that possibly means this, that or the other. Because, you know, all monitoring solutions provide you with dozens and dozens of graphs. But if you don't know what they mean, it doesn't help you too much. It also, a bit of monitoring here on your Apache server. This gives you a good idea of what your throughput is like, whether it's... The nice thing about MoonIn is that you can see this daily graph but you can also see a weekly graph and a monthly graph to see what your trends are over time. That's very important for things like disk space, for example, if you see your disk space. Another useful thing is monitoring your Postgres and this is probably the most important graph in the whole thing because most of us who have seen performance problems on DHIS2 in the end comes back to something that's happening at the database. And this is a graph here that's actually showing a fairly healthy performance. You're looking at the total number of connections and what you want to see, as you can see, there's most of them are idle, which means as we sample them you're not coming across a large number of connections which are active or which are waiting for locks or something like that. So what you'd see typically, if your database starts to become much bigger, you'll see this number of connections will start to rise. You might reach a point where you've got to think of increasing your pool size. But as long as they're all showing orange, generally you're happy. When you start to see them showing green and blue, it means there's some problem with your database that you need to sort. It might be to do with the kind of locks that some people have seen happening. Sometimes with track error it can be because of program indicators which are a bit ambitious. Besides actual applications, money also monitors aspects of your system. I'm just giving an example here. You can see the CPU and all kinds of things. This is looking at a disk. Again, this is quite an important figure to understand what your latency is on your disk. Often when a database performance is slow, it's because the underlying disk is slow. Often it's not a disk at all, but it's just some disk IO that's been given to you by your VMware or by your cloud provider. This is a very good example here where we are seeing IO wait times in the hundreds of milliseconds. That's an example where you need to get onto your cloud provider in this case and say, you guys are giving me a crappy old disk. I've paid for SSD. You expect to see those IO wait times more, either less than a millisecond. If it's really, really busy, you might be looking at one, two, three milliseconds. It's certainly not hundreds of milliseconds. Sorry, that was just a diversion to show you what the graphing you get while we were waiting for, what were we waiting for? We were waiting for COVID-19 tracker to come up. Did it come up? Let's see. COVID-19 tracker. Oh, yeah. Okay, so we have two instances running. All right. The first one is the process. The process is something that, I mean, typically we've done a number of server academies over the years. A couple of people here have been on some of them, I think. Going through all of this and then looking at the detail of what's inside of everything, it's typically four or five days academy. It's not something that easily one can go through and demonstrate over the course of an hour. It might be a good time to stop and take a couple of questions for five minutes.  Yeah, Bob, maybe if you want to start with the questions that are already in the chat, you can open that. Okay, that's scary. I haven't been looking in the chat. I've just been talking. Yeah, we just let the questions pile up there for you. I'm sure there are tons. How do I find the chat? More. Record, leave, share, share, share. There's a little chat bubble on the bottom. Okay, I got to say the 10 chats. Bug from, okay. Thanks, Nick. Does it include a DB by default? Is it empty by default? Or can we provide one that we have? No, it doesn't include a DB by default. It's quite easy to deploy a DB to it. But it's empty. How can we specify Tom? Okay, good. I wanted to go through a little bit where some of these files are. Okay, so yeah, answer the first question is no. It starts up with a blank database. Empty by default. What do you do get? Let's go into it. We haven't done this yet. So here's our chance to see. How do you go in and see what's going on inside these containers? Well, the easiest way to do it. I mean, I've got a lot of scripts which can run commands inside the containers to do various things. But the easiest way to do this interactively is just go run bash inside a container. You do something similar with Docker. So let's go into our Postgres container and type bash. No, sorry. Execute something inside my Postgres container. What? That's going to drop me to an interactive shell. What is in here is this is something that we've talked about quite a lot of how to I've tried to make the configuration of the database as straightforward as possible in the sense that we can't really easily tune it out of the box. I know you can sort of do it by making estimates on how much RAM you can see and the like, but what I've done is just taken the the standard settings from our DHS to implementation manual and try to put them in here. They commented out with a little bit of annotation so that to get this thing tuned properly, you would just probably increase your shared buffers. They increase your workmen, your maintenance workmen. Most of these things you'd want to keep the same. Your max connections is going to depend on how many instances you plan to run against. We know we need at least 80 connections for each instance. So if we had those three instances running, I'd have to up this. I'd probably up it to about 250. So where the files are and the files basically are inside each container and because we've just used the standard package for each using the Ubuntu package system, the files will be in the standard place that you expect to find them. This is maybe slightly odd. Normally people go in here and they edit this postgresql.com file directly. I've never been in favor of that. I've always advised people not to because it's very hard to find out what you've done and what you haven't done. Unless you keep it all under version control, which is probably a good idea. But you'll notice there is a little thing at the bottom of the file that says include everything you find in this directory, conf.d. So what I've done is just group everything together. So all the configuration for your postgresql you'll find in here. This is something that we've done for a number of years now in the community. So the way postgres configuration works it will override a setting by a later setting that it finds. So basically whatever you've got in this file is going to override everything that's sitting in your postgresql.com. So the place for doing your tuning is in here. So that's postgres. Tomcat configuration and stuff like that. Yeah, very good. Let's go out to postgres and do the same thing and go and have a look inside of one of our one of our Tomcat containers. We've got one called COVID-19. A few things to note. Explore this container a little bit. One of the things you'll see is that my default got firewall set up so you can't access this container unless you're coming from the main host. That's 192.16801 or unless you're coming from the proxy. The proxy obviously needs to be able to access the Tomcat. The configuration files then I have not changed from the standard Ubuntu defaults with the install. So you're going to find et cetera default Tomcat 9. And that's where we've got your Java Ops. I've not set anything in Java Ops here yet. Again, it could be done automatically, but I think we're doing enough auto magic. It's probably better to set some of these things manually. But that's where you'd set your Java Ops up. Your server.xml is the other important one people tend to go for is sitting in there. Nothing too interesting in your server.xml, I guess. I've turned off the control pot. That's a standard security measure that everybody should be doing. I've enabled the user database here. That's for the Tomcat monitoring. A little bit of monitor the Tomcat. You'd need to have a monitoring user, which is configured. I don't really have time to show you all the setup for it, but it happens automatically. And there's your standard connector ports, your relaxed query characters and things like that are in there. So that's where your server.xml live. The other interesting thing is where does your DHS-2 home live? Because you might have noticed when you went in there. Normally with your Java Ops, you're going to have to specify your DHS-2 home environment variable. We don't specify a DHS-2 home environment variable anywhere. That's because by default, with DHS-2, there's a Tomcat memory or maybe a container. John, I'll come to that. With DHS-2, if you don't specify DHS-2 home, if you just started up with no environment variable, it has a default that it'll fall back to. So from a configuration perspective, it's best to just ignore DHS-2 and let it fall back to the default. And the default happens to be oct DHS-2. So if you're looking for your DHS-2 home, that's where everything lives. And again, what I've done here, again, to try to encourage people to explore and use some common options. This file has already been set up. See the database was already created for you with a reasonable password. You notice I use a username and a database name the same as the container. It just makes life simple. What I've done here, I've actually copied the DHS from the reference manual. Because the idea of this is not to replace the reference manual, but more to implement it. So we're implementing all of what we can find in the reference manual. So everything is in here for someone to go through and set how they might want to set it. I think the only thing that I've done, okay, I wanted to actually do this and turn it on by default. Because it's such a common thing. I think many performance problems are solved by having that on. I can't leave it off for the moment. So that's that file. Right, James, there's a couple of other files I could go through like the proxy setup, but time is a bit ticking. John, on the TomCat memory, all we give memory for container. Okay, that's quite a good question. Normally, the most important thing you're going to set on your TomCat container is going to be your heap size, right? You're going to have to stab in the guess at what heap size you're going to need here. Sorry, I don't have any. It's minus XMX and then maybe we'll give it eight gig. So here you'd specify the heap size to use. The good thing about doing that is that you can then watch it. Usually, when I set up for the first time, if it's in a production environment, you watch it very, very carefully the first couple of days. You see, did I give it too much heap? I don't need that much. Or did I give it too little? In terms of how much memory the container has itself, by default, if you don't do anything and I haven't done anything, there's no per container limits applied. Those can be applied. I'll do one. I might want to, for example, I've only got eight gig I think on this machine. Three minus M minus H.  Right. I want to be careful with these containers that they're not going to interfere with one another's memory. One of the things that you can do is you can say LXC config. Take a container. Let's say the one we have that's doing anything. Config set. Config set on, I'll document this stuff somewhere in the documentation. But let's take, if we wanted to limit the memory on this, we can do it like this limits.memory and make sure this thing can only use one gigabyte. LXC config set. Let me doing these things live, I get that. Config. I'm doing it the wrong way around. Config set. I do it there. Set to container. I thought I'd had that right the first time. Config set. The name of the container, which was COVID. Limit.memory or limits.memory. I'll put this in documentation after I'm having a brain freeze trying to do it live. You can limit the memory of your individual containers. You can also limit the number of CPUs that your individual containers have access to. That's typically something that, again, I don't do it as part of the setup. I rather, first of all, let everything use whatever it can find and then you monitor it carefully over a day or two or three. And after you've done that, you get a better idea of what you can and should restrict. Okay. Nick, should I quickly try and put some COVID-19 on here? Yeah, I'd agree. I don't know if it'll work. Sure. It's not very well rehearsed. The problem I had, as I said, my script got broken. Okay. At least I've read, I've kept it in history here. So let's try and set up aggregates. So basically I'm going to pull the aggregate metadata here and just try and post it. Try and post it into our container there. Check this carefully. Our container is cold. It is called COVID-19, isn't it? I'll remember correctly. Okay. So I'm just pulling. Oh, no, no, this is not the COVID-19 metadata. I'm going to pull some org units first. A lot of, if you're bootstrapping a system like this, you're going to need to get your org units from somewhere. Most commonly you're going to get it from your own HMIS system. The HMIS system acts as a kind of de facto facility registry in a lot of jurisdictions. You might have a proper facility registry somewhere and you'd pull them from there. But okay, what I'm doing here, I'm just pulling the org units from play. Always a risky thing to do and try to push them. Oh, there we go. And that looks like, yeah, lots of created. Yeah. Okay. That looks like we now have org units. I'm going to check that. Do we have org units? Let's make sure we get our right instance. It's getting confusing. Okay. Admin district. Did a lot of fiddling around with these parameters and a lot of discussion with Morton and all about whether we get the GIS stuff in or not. But I think this does get the GIS in. Easy way to check. We'll go to the maps, see if I can get boundaries. Add ourselves a layer. Let's just see what boundaries we have. It is thinking. What is it thinking about? It's loading org unit hierarchy, I guess. Doing it kind of slow. Leave it thinking for a bit. Let's go back to the, let's try and get some metadata in the meta. Okay, this one here, this will pull the aggregate, all the aggregate metadata and push it in. Whether you do this from the front end or the back end just doesn't make, I think most of the guidance and stuff is about doing it from the front end. Obviously, if you're, if you're installing this system from scratch, then you might as well curl the stuff in like I'm doing here. Let's try that and push in the, the aggregate metadata. Looks like it worked as well. Yeah. Okay, this didn't. We need to check there. It might be something Nick was telling me about. My admin user probably needs to be assigned to the root of the org unit hierarchy. Let's just have a quick look. It's a bit slow. This is running in a very, very tiny environment here, right? With three, so that's too slow. Why is maintenance giving me so slow? I don't know. I need to check that. I can't see why that's not loading. We need to go and check in the logs to see. It worked when I did it yesterday. Other odd things happening here. I'm getting not secure. I don't know what that's about. There must be, must be some resources on this page, which are not coming under HTTPS. Okay. I don't know. Sorry. The, the importing of the COVID metadata and stuff, we still need to test it. Tested it all yesterday and it worked well. Obviously it needs to be tested some more. But I think the main point, as I said, these tools, it's not really about, it's not really about COVID-19 specifically. It's about setting up an environment where you got reasonably strong security applied to all of your particular components. As I might Apache configuration took me about a week going through all the CIS benchmarks and try to fix whatever I could. Similarly, the Tomcat is, is reasonably securely set up. And to make that sort of out of the box experience, that by default, you follow as much of the best practices as possible. Let me stop there again, see if there are any questions. I'm embarrassed myself with more things that don't work. And I just want to say, anyone who hasn't typed a question in the chat can also use the raise hand function that should be the bottom of your screen. And we'll just call on you if you have a question you want to ask live. Yeah, Tuzo has fixed my, thanks Tuzo. This is the way you limit your memory. LXE config set postcode limits.memory equals. What I did wrong, I think I'm bad. Okay. Good, thanks. John, you might need to check your user. Yeah, I need to go to my user. So when you want to start again, it won't assign to all units. Yeah. How do I do that? Because I need to get to my, I need to get to my maintenance app to do that. Maintenance app is not coming up. I can edit the user. Yeah, I can do that. This is great. Everybody in the audience is telling me what I need to do. That's the kind of viewership that you want. There's something which is unhappy about this. I mean, that's not, something is not right. Okay. Without going to look at the log files when all else fails. Let's just reboot the thing anyway. Okay. Just restart our COVID-19 instance. I'm going to have a little bit of it again. When I did this yesterday, it was fine. I could go into the maintenance app. I could see the user. I could see the, I could see the org units. And then I was able to assign my user to the org unit.  Has anybody asked me anything else or given me more advice? Yeah, access by a user app. Thanks, Stephen. Yeah, that's what I was trying to do. Does anyone want to ask me anything about the, the actual service setup while we wait for this? There are quite a few people on this group who've been using this way of doing it already. I know Stephen is a bit of an expert. I'm too. So is a bit of an expert. Clemens. John has raised a hand. Okay. John. Yeah, like you need to give the access to speak. Everyone is mute. You need to learn about the zoom. Max is operating the zoom. I think I'm just talking. Yeah. I'm the same dictator at this meeting. Yeah. Thanks. Bob, like I just see like it's most of the things are been done at the different script, right? Yeah. And it installed in different places. So are these things. It's been currently documented somewhere or you are going to know that they are being currently documented somewhere. I've been, I've been at it all week. Carry on towards the end of the week. You see the thing with, with the, like with the likes of the Postgres container and the Apache container ones have it, they're all, they're all in their standard places. So in a sense that's quite useful. You can, you can, you can, they should not be clashing with what you read with the official reference documentation for those packages. But the piece of documentation that I need to write now is going through all of the particular configuration files where they are and how you access them. Yeah. That's fine. Yeah. I've not completed. No, no, I'm not talking about that one. Like especially for the script, you know, instead of like loading a code, you can also load a restore database, right? So I guess like you're script for the restore database. Sorry. And you have the, the man help in the, in the script, right? So we can just like say, man or just a, you will, the next, the next, the next couple of days that'll be there. Currently, yeah, there are a couple of utility scripts that have been installed on the user local bin. I've got to make new man pages for them. Interesting one, the DJS2DB activity. This is a really useful diagnostic script. I was running it so much that I decided to just include it in the package. What this does is it just takes a look at a lot of you may have seen this before where you're looking in your PG stat activity table inside Postgres to find out what queries are actually running at any particular time, what queries which are not idle. So running that now is where you just have to go Zulu, DHS2DB activity. And there's, it's not finding any active queries. It wouldn't because the system is so quiet. But yeah, ideally what you want to have and you will have, I just got to write these things with part of the install. We should install the man pages with it like we had from before. You go man and it'll give you what you need. Yeah, just the syntax will be fine for now. Yeah, I mean the man pages don't have to be very long. It's a little synopsis of what the syntax is.  I think I've ironed out most of them now. But I got broken again. Just two hours ago. Because as you know, I'm using Apache. There are some people who are fond of engine X. I'm not particularly, but Tuzo contributed a package for, a container set up for engine X. But unfortunately I didn't test it properly before committing. And so I found out two hours ago that it was breaking a few things. But yeah, that'll be easily fixed. So you could have an option of using either Apache or engine X, but of course that also requires more documentation. So I'm going to keep on documenting my Apache. And I'm sure Tuzo will take on the responsibility of keeping on documenting the engine X version. My last question, can we use your script right now? Or do you ask us to wait a bit more? No, you can use it right now. Well, okay. You could have used it two hours ago. I'm going to just check again. I've fixed the stuff that got broken. But yeah, I have been using it. That's how I'm getting all the bugs ironed out of it. You can take a blank machine, what you can't remember, like what I what I put up here. Follow those instructions carefully in the read me. And it will work just like you've seen here. Great. Thanks. Anything else. Are we over time? Anything, any questions left in the chat? Thanks a lot, Bob. Maybe you want to mention which asks, yeah. tried this thing out this morning or yesterday on Debbie and then it didn't work. Yeah, currently all of these scripts have only been tested on Ubuntu version 18.04. Okay, I have no intention of backporting back to Ubuntu 16.04. I think anybody's on that should probably consider moving forwards. Ubuntu 20.04 is going to be around the corner next month so yeah we'll test them and release a version for Ubuntu 20.04. It doesn't currently work out of the box on Debbie. It could be much easier to make it work on Debbie and then it would be to make it work on Red Hat. That would be quite a different prospect. So yeah then if there's a sufficient interest and demand for doing it on Debbie and I'll certainly put a little effort to make that work. But for the moment I think we've got enough to do getting everything really watertight on 1804. I've kind of I've targeted what I guess is that the mode what what most people will probably use as a starting point.


Okay, fantastic. Okay, now clap your hands if you've ever thought about starting up. Look at the entrepreneur-ish script in this room. Fantastic. I save about 30 to 40 percent of you guys. Fantastic.


So welcome back to another screencast on basic set operations and set theory. And this one we're going to talk about a kind of mysterious idea called cardinality. On the surface of it, cardinality is actually pretty easy if you're working with finite sets. So the cardinality of a finite set A, and we're going to use the sort of, it looks like absolute value notation for A, is the number of elements in A. Now the key word here in this definition is finite. If we have a finite set A, we could start counting the elements at the beginning and eventually we'll stop. Then the number of elements in that finite set is what we mean by the cardinality. So for example, here are four examples actually. The set consisting of A, B, and C, it's cardinality. You can see there with the symbols there is three. There's one, two, three elements in it. Similarly there are one, two, three elements in this set here, 2200. This set here, the set of all natural numbers x such that x squared is less than 20, its cardinality is four. And why is that? Well, what's in that set? Let's write that out in roster notation and see. So we're dealing with positive integers here. So one is in there because one squared is less than 20. Two's in there because two squared is less than 20. Three's there, four's there, but that's it. So that's one, two, three, four elements for cardinality of four. The cardinality of the empty set is zero because quite simply there's nothing in the empty set. So that gives it a cardinality of zero. So here's a quick concept check that possibly head off a frequently misunderstood idea about cardinality. So suppose you have A and B are finite sets and the cardinality of A is less than or equal to the cardinality of B. So what does that mean about A and B themselves? Does that mean that A is a subset of B? That A is a proper subset of B? That B is a subset of A? That B is a proper subset of A or none of the above? The answer here is none of the above. And if that surprises you, then just got to be careful about what cardinality is. Cardinality is simply the number of elements in a set. So if I know that a set A has say two elements, let me just make one up. A is equal to the set consisting of the letters X and Y. So that's got a cardinality of two. And B has some set that has a slightly larger cardinality. Just because I know that one cardinality is less than the other doesn't tell me anything about the elements themselves in the set. For example, I could let B be the number three, six, nine, twelve. Okay? So the cardinality of B is four. The cardinality of A is two. And those two cardinalities are less than or equal to each other. But A is not a subset of B. They're completely apples and oranges here. None of the above just by knowing the cardinalities of two sets and how they relate doesn't really tell us anything about the sets themselves. Now the converse of could possibly be true here. If A happens to be a subset of B, then it would certainly be true that the cardinality of A is less than or equal to the cardinality of B. But that's one direction of a conditional statement. The opposite direction does not necessarily hold as you see here. So we're dealing with finite sets here. You might be asking, well, what about infinite sets? Well, with infinite sets, it gets pretty complicated. And I want to just sort of get slightly into the weeds with you here with this idea about cardinality of infinite sets is not really something we're equipped to talk about yet. So here's an example. The set of all natural numbers right here starting at one. I've listed out the first ten. And a set I'm going to call two n just to represent the set of all even natural numbers. Now on first blush, which set is bigger, n or two n? Well, in one sense, n is way bigger than two n. I mean, it's pretty clear that the two n set is a proper subset of n. In fact, it should seem somehow that the set of all natural numbers is quote unquote twice as big as the set of all even natural numbers. But in fact, so you should say like the cardinality of n is bigger than the cardinality of two n. It's got more elements in it. But it's more complicated than that because look at this. I can make a one-to-one correspondence between every element of n and every element of two n just by lining them up like this. So because I can connect every element of the natural numbers with every element of the even natural numbers in a one-to-one sort of way like this, then we should really say that n and two n have the same number of elements, have the same cardinality. And in fact, that's what we end up later on, you need to say, they have the same cardinality. Not because one has more elements than the other, because pretty clearly n has a lot more, maybe twice as many elements as two n. But they have the same cardinality because I can construct a one-to-one pairing off of the elements in this way. So they have the same cardinality even though one's a proper subset of the other. And that's just kind of weird. So like I said, it's complicated. It's even more complicated than that because think of something like the natural numbers and the rational numbers. Now, you'd have to say, well, surely to goodness, the rational numbers is an enormous set. It's bigger than the integers, bigger than the natural numbers for sure. But it turns out that they have the same cardinality too. And just to kind of illustrate why that is, let's just list the rational numbers in kind of an interesting way. And to simplify this, I'll look at only the positive rational numbers. So look at the positive rational numbers. I'll start with one here. I'll put two here, three here, four here. I'm going to make sort of a grid across here. And that extends infinitely this way. And the second row of the grid, I'm going to put a half, two halves, three halves, four halves, five halves, six halves, and so on. And this third row, I'm going to put one third, two thirds, three thirds. And you can kind of see what I'm doing here. Four thirds, five thirds, and so on. And the next row will be one fourth, two fourths. And you kind of get the picture here. So if I keep creating this grid, I'm actually going to end up covering all the positive rational numbers at some point in this grid here. And it'll extend infinitely this way as well. Now, a lot of these are double counted. For example, two halves and one are really the same number here. But at least the positive rational numbers are all included in this list here. And so, but the way I've listed it here in a grid, I can actually go through and attach a natural number to every one of these rational numbers. Like so, I'm going to pair off this one with one, this one with two, this one with three, this one with four, skip that one, this one with five, this one with six, this one with seven, eight, nine. And so you can see what I'm doing here is I'm able to, by going kind of up through the diagonals like this, I can list off each of these positive rational numbers and pair it off with a natural number. So actually the natural numbers and the positive rational numbers, which I'll denote with a little plus there, have the same cardinality, even though the positive rational is in some sense enormously much larger than the natural numbers. They have the same cardinality. So we don't want to think of cardinality as just merely being the number of elements in a set, because that works for finite sets, but for infinite sets it goes completely off the charts here. So to talk about the cardinality of infinite sets, we need the idea of a function, which is coming up in the next chapter. So cardinality though is useful for us here and now in the finite set case, just by counting the number of elements in a set, but again that's only for finite sets. Thanks for watching.


PR or influencers? PR. Because my PR, I'm the first one sitting right over there. Steven Eisen, founder of lo-kai.  Yes, I am. What is lo-kai? Lo-kai is a brand that helps remind people to stay balanced. How did you come up with the idea? My grandfather was diagnosed with Alzheimer's and I was incredibly close to him growing up. He taught me to play golf and pool and was always there for me. So when he was diagnosed, it brought me to a role in my life and got me thinking about how everyone goes through highs and lows and how I could bring elements from those two places to my use to humble and hopeful. I love the high low thing. It's brilliant. But how much of that has really comes from that moment? All of it. So I have a book of a million ideas. I'm always coming up with ideas just like any entrepreneur. This idea did truthfully come from that experience with my grandfather. And then obviously, I kept rolling with it and I told my dad the idea and he said, that's a great idea, but everyone has great ideas. Now go execute it and that's the hard part. And so from there, I started working on it and then it evolved obviously. Do you come from a family of entrepreneurs? My grandfather and my father are both entrepreneurs. Were they in any business remotely related to this? No. Whose career do you model your own after? My dad's. My dad's always worked incredibly hard up at 4.45 in the morning to go to the gym to work out before he goes to the office. And I really aspire to be like him. Who was one person you'd love to have coffee with Dead or Alive? My grandfather. I built a brand because of him and I would love to talk to him and tell him about it. He never got to see what happened with it. How and when did you come up with the name? Locahi in Hawaii means unity and to blend opposites. And so I took that word and I changed it because I wanted it to be something that I could own and was unique. And so I took the H out in Locahi. People love to go with Latin and all these different roots. Why did you go with Hawaii for inspiration? I was just looking up words that represented balance and that no one really recognized and that word just kind of stuck. What is the key to the Locahi brand? The key to the Locahi brand is the message of staying humble and hopeful and our connection with different causes that we support. Are you blown away by Locahi's success? I am. I think that it's a mix between a great idea, right timing and a little bit of luck and you can't always get luck. But when you do, you got to capitalize on it and we were able to do that. How often do you see these in the wild? Every day. And how good does that feel? Oh, it feels amazing every time. And I think one of the reasons it's been able to be so successful is because people are wearing their own personal story on their wrist. We donate 10% of our profits to charity and we've partnered with most nonprofits, BCRF Breast Cancer, Alzheimer's Association, Make-A-Wish. And so when people buy a Locahi, they usually buy a cause that's really important or passionate to them. They have a deep rooted story that they carry with them and the bracelet is just a physical representation of that they wear on their wrist. I did wear a Livestrong bracelet for years. I love cycling. I loved Lance. And until he disgraced himself, I was wearing that all the time. Did you take inspiration from Livestrong in any sense? Absolutely. I think that was when I was a young kid. I wore 10 of them on my wrist. And having a product that you could wear every day all the time, sleeping in a shower and at work out in it, was definitely part of the inspiration for why I designed Locahi the way I did. What were the brand defining moments for Locahi? I think it was adding the water from Mount Everest and mud from the Dead Sea into the bracelet, which is a unique proposition that no other brand has. What's been your most successful brand partnership? Make a wish. Who do you consider your competition? Every other bracelet company that exists. Have you seen copycats? Oh yeah. And we've gone after a lot of them. Do you need amazing lawyers to stop copycats? You do. And it's really expensive and you'll probably lose money in the long run, but protecting the brand is number one. You have to actually do that right to defend the trademark and everything you legally do need to attack them. Yeah, you do. Yeah. If you let them, if you know about them and don't go after them, it makes it a lot easier for everyone to keep doing it. Do you measure like, is there a repeat rate in this business? Cause I feel like once you have your Locahi, you're good. Our demographic ranges from 13 year old girls to NFL football players to moms, dads, 25 year olds working in New York City. And so I think different people have different relationships with the brand. Some love the brand for helping others and so they collect every single one. I mean, there's people that have 50 Locais and then there's others that just wear one. Maybe their grandfather was diagnosed with Alzheimer's and they wear the purple one with their family. What's next for you? Elements. Elements is a brand that physically helps you find balance in your life. Elements seems cool, but not as novel. What made you wanna go into this area? About two years ago, we went to an agency Red Scout in New York and we said, we're brand about balance. We currently make a reminder to stay balanced, staying humble and hopeful. What else can we make that authentically delivers on balance without just writing balance on a t-shirt? And through two years of work, we came up with elements. What did you learn from Locahi that gives you an advantage with elements?  Brand is great, but if you don't have an amazing product, you'll never succeed. And how much of this product is product because it just kinda looks like a silicone bracelet to me. It's the meaning that gives it all its value. Took me about three years to be able to actually get the water and mud injected into the bracelets, get the water from an Everest mud from the Dead Sea. I think if I made it with a white and a black ball and said this represents staying hopeful or humble, it wouldn't be the same. I think including those elements, which feel and look like a tiny piece of the brand, I think that's what really took it over the edge. What part of the brand are you most proud of? The product. What are the key indicators you look for to determine the health of your business? Repeat purchasers, customer service. If you're getting a lot of negative comments or returns and exchanges, you know something's wrong. How important are reviews? Really important because if you're getting a lot of negative reviews, you can't ignore that. It means something's wrong and you gotta fix it. So reviews are important. How important is community? Not that important. People are now having personal relationships and connections with the brand itself. They don't really need to talk to everyone, each person in the community. I think it's a little bit of a fluffy term. Does PR sell products? I think a good story does, but at the end of the day, the product sells itself. Do you work with influencers and if so, how? We have in the past, right now we don't. I don't like the term influencers. I like people who have a passion for something and have built a community around that and if they have a passion for your brand, you're able to connect through them, your brand to their community. PR or influencers? PR, because my PR first is sitting right over there.  That I'm not as balanced as I'd like to be. I'm a very stressful person, I would say. I feel like if I'm not working, I'm not getting ahead. What keeps you up at night? That someone else is working harder. What are you working towards? Making the world a better place. I think being an entrepreneur in today's day and age and climate change and everything that's going on, if you're not working towards or at least on a brand that is conscious about it, you're not gonna succeed in the long run. Steven Eisen, founder of Low Chi, thank you so much for coming here and answering some questions. Thanks for having me. I'm Ian Wishingrad and we'll see you next time on I'm With the Brand.