In the highest tradition of our form of government, we are here today to inaugurate the 36th President of the United States. It is a great honor for me as Chairman of the Committee on Arrangements for this event to begin our program by presenting the United States Marine Band onto the direction of Lieutenant Colonel Albert Schoeper, who will now play a song we all love, Stars and Stripes Forever. And Robin E. Lacey pronounced the implication. Almighty and eternal God, we ask a blessing upon all who are gathered here today to honor the Chief Executive and the Vice President of our nation. We pray that Almighty God may grant to the leader of our country wisdom and understanding, strength and courage. In these days of stress and strife, in the hour of faithful decision, may God make clear to our President the path of honor and of peace, the path of freedom and justice, the path of brotherhood and truth, that truth that makes men free. Amen. We will now have the pleasure of hearing the special arrangement of America the Beautiful by Ms. Leon Jean Price, accompanied by the United States Marine Band. Almighty God, we thank thee for this inaugural, the living historic witness to our faith in thee and to the choice and actions of a free people here at the capital of our nation, the very sight of which exalts our hearts and awakens thrilling memories of the preeminent men of our resplendent past. We pray for thy blessings upon our beloved President, the Vice President and those associated with them in the sacred trust of leadership. The Speaker of the House of Representatives will now admonish to the oath of order to devise President-elect. Do you solemnly swear that you will support and defend the Constitution of the United States against all enemies, foreign and domestic? I, Hubert Horatial Humphrey, do solemnly swear that I will support and defend the Constitution of the United States against all enemies, foreign and domestic. That you will bear true faith and allegiance to the same. That I will bear true faith and allegiance to the same. That you take this obligation freely. I take this obligation freely without any mental reservation or purpose of evasion. And that you will well and faithfully discharge the duties of the office on which you are about to enter. And that I will well and faithfully discharge the duties of the office about which I am about to enter. So help you, God. So help me, God. Reverend George R. Davis will now lead us in prayer. Please rise. God of our fathers, to whom persons are of supreme importance, we lift up this day a man to be set apart in a special way. In our love and prayers through this historic and exalting ceremony, we lift him up as we do the vice president and their gracious families. To thy strong help, we commend them and all men and women in all areas and branches of our nation's life, who share the terrible splendor of leadership and authority. Thus we pray in the name of him who is the wonderful counselor, the mighty God, the everlasting father, the Prince of Peace. Amen. The oath of office will now be admitted to the president by the Chief Justice of the United States. James Johnson do solemnly swear that you will faithfully execute, that I will faithfully execute, the office of the presidency of the United States, the office of the presidency of the United States, and will to the best of your ability, and will to the best of my ability. Reserve, protect, and defend, reserve, protect, and defend, the Constitution of the United States, the Constitution of the United States. So help you God, so help me God. On this occasion, the oath I have taken before you, and before God, is not mine alone, but ours together. We are one nation and one people. Our faith as a nation and our future as a people rests not upon one citizen, but upon all citizens. That is the majesty and the meaning of this moment. For every generation there is a destiny. For some history decides for this generation the choice must be our own. Even now a rocket moves toward Mars. It reminds us that the world will not be the same for our children or even for ourselves in a short span of years. The next man to stand here will look out on a scene that is different from our own because ours is a time of change. Great and fantastic change bearing the secrets of nature, multiplying the nations, placing in uncertain hands new weapons for mastery and destruction, shaking old values and uprooting old ways. Our destiny in the midst of change will rest on the unchanged character of our people and on their faith. They came here, the exile and the stranger, brave but frightened, to find a place where a man could be his own man. They made a covenant with this land, conceived injustice, written in liberty, bound in union. It was meant one day to inspire the hopes of all mankind and it binds us still. If we keep its terms we shall flourish under this covenant of justice, liberty and union. We have become a nation, prosperous, great and mighty, and we have kept our freedom. Do we have no promise from God that our greatness will endure? We have been allowed by him to seek greatness with the sweat of our hands and the strength of our spirit. I do not believe that the great society is the ordered, changeless and sterile battalion of the ants. It is the excitement of becoming, always becoming, trying, probing, falling, resting and trying again, but always trying and always gaining in each generation with toil and tears. We have had to earn our heritage again. If we fail now then we will have forgotten in abundance what we learn in hardship. That democracy rests on faith, that freedom asks more than it gives and the judgment of God is harshest on those who are most favored if we succeed. It will not be because of what we have, but it will be because of what we are. Not because of what we own, but rather because of what we believe. We are a nation of believers underneath the clamor of building and the rush of our day's suits. We are believers in justice and liberty and union and in our own union. We believe that every man must someday be free. We believe in ourselves and that is the mistake that our enemies have always made in my lifetime in depression and in war. They have awaited our defeat each time from the secret places of the American heart came forth the faith that they could not see or that they could not even imagine and it brought us victory and it will again. For this is what America is all about. It is the uncrossed desert and the unplanned ridge. It is the star that is not reached and the harvest that's sleeping in the unplowed ground. Is our world gone? We say farewell. There's a new world coming. We welcome it and we will bend it to the hopes of man and to these trusted public servants and to my family and those close friends of mine who have followed me down a long winding road and to all the people of this union and the world. I will repeat today what I said on that sorrowful day in November last year. I will lead and I will do the best I can. But you, you must look within your own hearts to the old promises and to the old dream. They will lead you best of all. For myself I ask only in the words of an ancient leader. Give me now wisdom and knowledge that I may go out and come in before this people. For who can judge this, thy people, that is so great. Our fate as a nation and our future as a people, not upon one citizen, but upon all citizens is the majesty and the meaning of this moment.


Hi with an introduction like that. I mean, let's see great, so I think I said I'd talk about IOT and climate change and I will get to that but uh This is a I guess I want to start by asking if you have a few questions of the audience just to kind of get a feel for Things how many of you have been has anyone here worked in the field of electrical energy at all? Not a lot How many people here are interested in climate change and How many of you feel like those of you who just raised your hands leave them up for a sec Now leave them up if you feel like you could decide to work in climate change as a career immediately Okay, cool. So that's where I found myself about a year and a half ago thinking about What is Impactful to do what I want to do with my life and I realized that I have this firm belief that the thing that you spend the majority of Your time on should be something you're passionate about So I Decided to quit my job and ask myself a few questions So this is a bit of background I've already been pretty thoroughly introduced. I feel like but I work on this open source project I manage it. It's all about getting inclusivity and Basically ease of design and development into hardware Check out Tesla if you're interested in that. That's usually what my talks are on I Earlier this year founded a company called hackers combating climate change Which I'll talk a little bit about in this book or in this In this talk and I'm currently spending most of my time working on a book to help you get from where I was a year and a half ago as an engineer Someone who's interested in working on impactful stuff and realized I knew very little about climate change or the actual problems within it Hope hopefully my book can help you get to where I am now a lot faster than I took Basically explaining the basics of of how how to go from Climate change is a problem to what are the specific problems within climate change that we can attack from a skill set to What are some specific projects to try next? and all The the smart grid part of this talk that I teased in the introduction and the title is much more about One of the things that I would cover in this book one of the problems that I decided to go with I'll talk to you a few more about that so a year and a half ago. I started asking these questions How do I do something that matters? How do I use the skills that I already have to do something that matters and What do I actually like what do I want to do? So this is a bit abstract of course, but you've got the engineering sector. What am I already good at? What do I have community in? got impact what do I like and Decided that this is probably a good intersection of those things. Let's start a company To use engineering to fight climate change But this was completely new to me. I didn't know Much about anything in terms of climate change, so I spent some time This is actually good reads informs me. I've labeled 64 books as climate change, but these are the best ones. I think I'll tweet this out if you're interested then After doing kind of the high-level view of what is climate change? What do people say about it? There's also a number of really good reports that you can read you can be bogged down in PDFs for I mean literally forever but also there's really interesting ones this one shown here is It's from the annual energy Outlook report produced by the energy information administration And I swear to you this hundred and fifty page document that is exactly this dense the whole way through is really fascinating if you can get into that and I was working with a partner on all of this Who reminded me occasionally that in fact we were planning to start a company not just research forever And worked with him to do a few different ideas that we ended up not doing and I won't go into it You can ask me about these later, but this is essentially four different ideas. They were explored using machine learning IOT Basically trying to reach customers immediately with financial modeling and title turbines for native villages in Alaska And we ended up not doing any of those for various reasons Which is a thing that is really important to learn how to do if you're going to do entrepreneurship is to decide Quickly what kind of impact you want to make? What kind of market there is and how to determine quickly that your idea is a bad one? and So this is what we ended up working on after After about a year of trying different things This is the home page of HC 3.io, which is the company that we co-founded and it was to do with smart batteries and the idea is to get Batteries to become economically feasible to put in residences And how does that fight climate change exactly? So this is going to be a challenging talk because I only really have 30 minutes and people get degrees on this stuff But essentially The part of the climate change problem that we were trying to attack is to replace fossil fuels in electricity generation without decreasing the quality of service and I'll try to help you understand that By helping to by starting by explaining the grid so the energy get the energy grid is complicated and it is different everywhere and you can imagine, you know how every company has a different stack and You end up spending most of your time when you when you move to a new company or to a new project You end up spending all of your time At least for the first several months maybe a couple of years trying to understand how you have implemented the thing That you're already doing even if even if the outcome of what your company produces is very similar to what another project You've worked on has done it is very likely right that the way that the way that it is implemented the way that the processes work Are all different from each other So that's kind of a long way of saying My knowledge about The electrical grid that I'll be presenting here Sorry, I know this is an international conference But my knowledge is pretty much North American and specifically it's Californian and specifically it's mostly Southern Californian But the principles apply across the grid at least the electrical parts And hopefully this will give you a starting point if you're interested in understanding what kind of problems grids in general face So talking about not decreasing the quality of service when you integrate renewables We have to first start by defining what is a high quality service So The American energy grid delivers with about 99.97 uptime The average outage is something like three hours and that's I mean that's Not what you would normally three hours in a year. I should say So we do very well At delivering energy to people and we're not willing As a culture as an economy we're not willing to decrease the quality Of electrical energy delivery because we depend on it, right? So if you want to change the system A system that has been built to accommodate a very specific type of infrastructure You have to integrate New things in this case renewables In a way that doesn't change much to the end consumer which is I mean in a nutshell that is one of the core problems of trying to fight climate change Is we're trying to change a system without Actually changing the system that we experience nobody's willing to compromise Because you want you want progress in time to feel like progress in technology So as an entrepreneur the thing that's challenging is to try and figure out what is the niche where you can Create a situation a situation that is both better and more appealing so I'm trying to figure out how to So I was trying to figure out how to fix the grid in a way that didn't feel like Want to fix climate change go vegan.  So if a generator goes down You need to be able to immediately swap in some new energy source, right? Secure so you'll think about like lines of distribution. You've got power poles. They can go down If there is another set of power poles, which ideally there would be You don't actually have any downtime and this is presumably familiar concepts because this is universal to good engineering And then this third concept is stability This is the thing that's a little bit different in energy distribution versus other types of distribution. So um electrical energy is often treated like a commodity in the market In that it has a specific and changing price per unit usually kilowatt hours But it's not really a commodity in the same way that say having a container full of coal is a commodity like coal you have it And you can ship it around and it can sit there for a while and it's still a container full of coal, right? But electrical energy is a bit more complicated because you need it to be based on specific timing and I'll go into that a little bit more um So specifically this says able to keep generators running synchronously And what does it mean for generators to run synchronously? well This is probably a bit familiar to you This is the usa energy grid runs at 60 hertz I bought an adapter so I can use your european 50 hertz 230 volt system to charge my laptop This is the actual graph of the energy that's coming out, right? This is probably familiar to you nods, please All right, great. Thank you So physically what that means is that we're generating electricity based on rotations that take 160th of a second to get all the way around, right? So if you remember this was high school physics Or I don't know you probably call it something different here But you apply the right hand rule and you've got magnetic field going around moving in a circle and you create in a conductor A current that goes in a particular direction, right? And that's how energy generation works This is the scale of an actual turbine that you might see It's rather intimidatingly large. This is a steam turbine And that's typically what you would see in a coal oil natural gas plant is they're going to heat up water until it produces steam Which then turns this massive thing which has a lot of momentum So you can imagine that you want it to basically keep turning all the time with as little adjustment as possible in order to not waste your energy So all of these are running at 60 hertz in the united states And in fact, they're all running With the same periodicity. They're not even just they're not even just like all running at the same speed They have to all be running in sync with each other to be a stable producing grid because As you recall if you create the sine wave and then you create an opposite sine wave It'll cancel out and you won't have what you need So this is this is a map of generation Plants in the united states and the different colors are different types But basically they all have to run at 60 hertz in sync with one another Which is insane right like that's That's a lot Technically actually they're not running all with the same periodicity the little this is the energy grid and you can see the little Triangle plants are where they adjust the periodicity It's not important, but I did want to be technically correct here So this is cool All of that stuff is running at 60 hertz and you can watch actually in real time This is a map measured by citizen scientists and apparently the University of Tennessee Of the frequency that you're actually observing on the grid at different points This is current And you can see that it changes a lot. I want you to notice The laser is that one I want you to notice the range here Like the far end is 59.94 and this far end is 60.06 that range is extremely precise If you're out of range for too long like out of even this small range That giant generator the one that looked really expensive that breaks After like 10 minutes of being about that far off of the center So it's really really important that we're able to keep the generators running synchronously and stably and you can see Like right now here in my home area It's running a little bit slow, which means that the load is too Let's see. Yeah The load is too high for the generation right now. Whereas over here on the east coast The load is a little bit too low, which means that the generators are running just a little bit too fast And what I mean by that is maintaining frequencies about maintaining a specific balance of the generation and the load Um, so this goes again back to this high school physics textbooks type style thing Remember that a circuit is connected V equals ir so if you have a constant voltage, which you do 110 volts in the united states and you have A changing resistance then the current is also going to vary but we actually need the current to not vary Because of that stability aspect Which means that we need to change the generation speed Of the magnets We need to change the rotation to match the load in real time and in this case the load is like This projector is a look as part of the load and that light over there is part of a load And if you left the lights on in your hotel room, that's part of the load And you could be turning that on and off at any time and so could thousands and thousands of other endpoints Um, and so in order to keep all of these generators running at exactly the same speed and sync with one another There has to be on the generator end because your load is unpredictable There has to be minute adjustments all the time of those massive generators To match The tiny changes that you're making So that's a little bit on stability um So the challenge that we see usually with Uh integration of renewables is one of reliability. So ensuring that enough energy is produced So there's this concept right that if you were to do If if you were to think about solar and wind one one basically to think about it would be like, okay So we have this coal plant and then we have Solar and if we just reduce or if we just increase the amount of solar that's available Then we can decrease the coal and natural gas or whatever it is by that same amount But that turns out to not be exactly correct um So this is what It looks like To introduce uh solar and wind into the california electric grid So you've got this blue line is the total load. That's the demand we see and normally or prior to renewables This would all be met by the same Like what we would call conventional generation. So mostly coal and oil and natural gas Uh when you introduce solar you do this interesting thing where suddenly you can cut out the middle a little bit, right? But you still have these peaks on both end And so that means that you still have to have the generation capacity Especially for this high point at the end, which is the highest point in the day You still have to be able to match that without solar. So you end up having to have Much more generation capacity actually than you previously needed and you don't necessarily decrease the need for coal oil or natural gas you actually have a problem where It might be more cost effective because of those giant turbines It might be more cost effective to just leave the turbine running Um Sometimes that's what happens is you'll just leave that turbine running while solar is coming in And you feel like you've done a really good thing because you put solar on your house But it might not have had an effect Um So that's too bad. This is called by the way the duck curve. I didn't draw that but I wish I did um So if you ever heard the duck the duck curve referred to it is that particular curve and this is showing projections um This is from 2013, but it's showing projections of the increasing amount of solar in california's infrastructure and uh You'll notice that the peak is not going down. So it's not actually getting better without Without trying to fix it So the way that people try and fix this Is well, okay, so we have solar energy generation. What if there was some way to flatten that double peak out? And shift energy through time Well, we do have that kind of technology um It doesn't really look like that, but I cut out the other picture because this is a lot more evocative Um So if you could if you could shift energy through time, that's a battery, right? That's energy stored. That's fly wheels That's pumped hydroelectric up a hill um The problem is that batteries are still pretty expensive um so Ideally you would put so this is a little bit of uh Of a detour in the plant, but So ideally you'd put the batteries as far downstream as possible, right to reduce the amount of load because you don't want to um You don't want to have high demand for example here because you'd end up having to build extra infrastructure to cover the load When the demand changes down here still So how do we get The economics to work out To put a lot of batteries on the grid through putting them in residences um So it turns out that although batteries currently don't pay for themselves So remember that I mentioned that we did a solar consulting gig Previously so in january of this year. I spent a lot of time talking to homeowners in san diego area um And doing basically economic analysis for them of what it looks like to put solar on their homes. I did essentially net present value calculations of 20 years out like how much Would it save or lose you to install a say 20 000 investment of of Solar panels on your roof right now um And it turns out that if you live in san diego the bar is pretty low because the electricity costs are extremely high They're about three times in san diego what they are in Say seattle where my parents live Because seattle is able to use hydroelectric Whereas san diego, which is a desert where no one should live i'm not biased Is Not as good at providing resources for humans because it's not naturally a place where humans shouldn't have it um So in order to reduce the cost or so so when we were doing the solar consulting gig One of the things that homeowners often asked while they were trusting us with their Financial projections one of the things they often asked was well, so i've heard a lot about this tesla elan musk story solar means batteries too right And so we looked into whether people should get batteries in their homes And the answer was a clear no from an economic standpoint um The tesla battery for the house is about eight thousand dollars a pop and uh by the time you earned back that revenue The battery would already be much below its capacity But one of the things that's really important when you're studying entrepreneurship Oh, what happened one of the things that's really important to pay attention to when you're studying entrepreneurship Is to look at technology trends and something that's happening and facilitated by elan musk. Thanks elan is uh The price of of uh lithium ion batteries is dropping pretty quickly So we're coming to a point where it still doesn't totally make financial sense to put these in your house But it's not too far in the future and maybe if you could figure out a way for the batteries to make you money Rather than just sit there and absorb your demand and change the timing Um Actually i'll go into this slightly so I I understand that utilities are very very different in different countries. I was talking at drinks last night with Someone from sweden and someone from germany and um Our utilities are different completely different from theirs and theirs were different from each other But i'm i'm guessing there exists a concept of time of use in a lot of different areas Is this familiar? Essentially the idea is you remember that duck curve had like low points during the evening and high points during Specifically during middle of the day and evening time when people come home and make dinner Well So the time of use theory is that you can change consumer behavior based on Changing the price at a given time and this works in hawaii right now I know I was talking to someone recently whose mother lives in hawaii and he said Yeah, she doesn't cook dinner until like 9 p.m. Every night because energy just costs too much during normal dinner time um personally, I don't know whether to find that story inspiring or kind of sad because It's really like it's having a huge impact on how people Change the way they live So one thought with the batteries was well, what if you could get something that made it so that you could live a normal life? um, I mean normal, but um So that you could live a life Along the schedule that makes sense to you without having to pay crazy amounts for electricity But also to not increase demand during peak times So the main way that batteries currently are sold and this is including tesla's battery Is that they can change the time of use so that they charge during the night when electricity is cheap and they deploy to your house when it's expensive And even that doesn't actually add up to the $8,000 right now not in california but It's close And it's close enough that if you could sell a service back into the grid Which is a thing it turns out You could make the battery pay for itself And so specifically i'm talking about stability. So remember I was talking about um, how Frequency regulation needs to happen every time you turn off a light and turn it on again But if you could integrate those demands into something much more amenable to how the grid wants it to be so You will remember the map how it was red in some parts and blue in other parts And how both of those were actually bad because you want it to be right in the middle of green um You need in real time to be able to adjust the grid to the exact frequency, right? If you were able to have knowledge at all those different points of the grid and if you were able to have smart batteries understanding What demand was looking at looking like coming in from different areas You could in theory change the way that demand works So that the frequency wouldn't actually change on the generator end Um, let me try to rephrase that i'm seeing some confused faces So theoretically If i'm in my house and i turn a light on there might be someone else Who's on a similar part of the same part of the grid as me that's connected further up Who is turning a light on right as i turn mine off um Or maybe they do it three seconds later or What is going on i like the i like the green stripe part that's the worrying part um Anyway, essentially it means that if you had a battery that understood that the the frequency of the grid should be x that demand should stay frequent Should should stay constant across time um You could in theory manipulate those batteries To anticipate the needs of the generation generators so that the turbines would not need to turn on and off so often Which by the way is very expensive for the generators and thus expensive for the utilities and thus expensive for the homeowners um So there exists some market mechanisms at least in california utilities and this is still an area of active legislation But it is an area of active legislation where they're defining ways for different levels of company and individuals in some respects or in some cases To be able to participate in actively managing what demand looks like So there's this isn't for frequency regulation, but for demand response, which is more So frequency regulation is like real time on the order of seconds and minutes and demand response is more along the lines of the huge duck curve throughout the day um If you have the ability to shift a certain amount of load So say you have a factory and a battery installed at it Like enough battery banks that you could change When when that entire amount of energy that your factory uses charges You can bid into the grid and say hey whenever you ask it of me I will shift this much load to whenever you need it from me um So this is really interesting This means that it becomes possible for companies to actively participate in changing the way That the grid operates it to change the way like That the grid can use electricity um Basically reducing the maintenance costs and in theory then reducing the cost of electricity for everybody um And all that depends on is having a lot of capacity to change like basically it depends on getting a lot of batteries out or other energy storage mechanisms This is new all right um So if we can sell this kind of reliability and stability to the grid we can in theory subsidize Batteries and get them out into the marketplace more quickly um What that depends on of course is us being able to have really strong two-way communication Between the batteries and the utilities And the generators and the grid it turns out there's a lot of entities along that stack And it's definitely going to be different no matter where you are um But if we're able to have a managing authority that is aware of the changing needs of the grid in real time And we also have authorities that can receive commands and manipulate Energy need in real time We can match those up and that looks like an iot problem um, that looks like This kind of thing this is it's installed in I think every residence in california. This is a smart meter And it reports data back to The utility at all times and right now it's not a bi-directional thing, but like It could be there's no reason you couldn't put this linux box and radio to work Communicating in every direction right like this is just your basic micro processor with a radio on it And you know how to write for that. I mean like maybe you do you could learn And so we use these for reliability and I was learning apparently in sweden You actually as a homeowner you're allowed to look at this data in the united states I've never heard of anybody being able to like check an app on their phone to find out what their energy looks like Which I think is silly, but If we get entrepreneurship into that space, then maybe that becomes a possibility so That gets us to essentially solving that one problem of how do we integrate renewables into the grid If we want to be able to have renewables that actively actually displace Coal oil natural gas and other resources that we've traditionally depended upon We need another way to to guarantee that the grid will remain reliable and stable and secure Um And this is one path. This is one entrepreneurship engineering solution to getting to that point So That's what that's what hc3 is working on. I actually really enjoyed doing the research for these companies. I Sort of obsessively took notes the entire time. Actually, let me just show you this is kind of ridiculous This is like The notes that i've been taking it's online in a get book, but it's like What do you want to know about I took notes on all of it? So because I did that I decided I should probably write a book about it So that other people could get sort of to the same place without as much effort So if you're interested in that I would love to continue explaining areas of opportunity You can check my notes out online there They're linked from that page But yeah, I think I'm out of time. So thank you very much for listening. I hope at least some part of this was interesting or useful to you So you win the prize for the most questions There was an almost continuous slack debate going on then on a number of topics. I'm not sure it's good. Now here it is So I've tried to categorize them. I'm on about 25 questions so far Um, so I've tried to categorize them. Let's start About locations so two questions. I think they're similar You talked a little about it But specifically wouldn't it be more efficient to have batteries at the source instead of at houses? And then a similar question Would it help to have the batteries close to the turbines to take the edge off the instability? So the question is why why at the houses? Why are the batteries At the houses rather than at say turbines? Yes, good. Thank you because I definitely glossed over that one So there's actually a really good research paper that comes out of the rocky mountain institute talking about this but essentially If you have if you have energy storage really close to the generation, that's great You can achieve a lot of the reliability issues. You can achieve a lot of the Frequency stabilization issues right at the source And that's very good, but if you go one step further down One of the things that happens in terms of In terms of security where the if you had power lines go down you'd have a problem One of the things that happens is that you have to create a system that is able to sustain It's not just whether or not there's a wire there It's whether there's enough wire there to not exceed engineering boundaries, right? And so you end up having to super over build these systems I think they're usually designed to support at least twice as much load as they're ever going to expect to see And if you get to that end of that Duck curve where it's the highest point in the day It turns out that you could easily overload the lines one thing that I didn't mention is happening is that Most of the integration of renewables is actually not decreasing The need for energy it's like the need for energy is just growing and growing more and more massively So we end up needing to continue building more infrastructure And if we're able to reduce the use of the infrastructure as far down the line as possible We also are able to decrease costs. Did that make sense? Yes. Thanks There's a lot of people concerned about hacking I think we're on eight questions on this now So I'll read the questions as they are So wouldn't someone hacking the batteries be able to disrupt the grid to cause massive damage? Yes, absolutely. Yeah, that can happen I mean, so that's that's like, oh, I don't know what you want me to say there Like that's that is the danger of the iot and that is the direction things are going so use secure practices But I don't think you can stop this kind of change from occurring I also think that we're already fairly at risk for that. I read a book recently about the cia and they did some testing on American infrastructural projects and the security there is basically worthless is what they learned Continues to be I don't think they fixed it If you wanted to shut down the American energy grid, you probably could Like if you were determined So having the batteries. Yeah, I mean you could do You could do damage there as well, but like the problem exists anyway We should be more secure in general and that's pretty much the whole takeaway That's a fair answer. All of the questions then one different possible implications of hacking from taking around the grid Just setting five in people's homes that you don't like to all sorts of things. So I'm going to swarm all over that It's different angle. Have you investigated The bunch of proposals for blockchain based smart grid systems I am definitely not an expert in that topic and don't even understand the question. Thank you Like the honesty Does the swarm of iot batteries rely on a central authority sending instructions to the devices or could you decentralize that? That's a really interesting question. So one of the things that happens now There's a company called advanced micro grid systems and they do something very similar to what what hc3 is proposing to do And that is instead of putting it in houses. They put it at industrial plants and commercial plants Which is easier because they have more demand concentrated in one spot and Sorry, what was the question again distributed? Yes So the thing that they currently do is they have a brain that does predictive analytics on the needs of the production plant And also on the needs of the grid which they essentially are able to map from the changing price of electricity at a given node Just go with that Anyway, they end up having to recalculate I think they're recalculating every 10 minutes what they expect the grid to do for the next week And then they deploy that every 10 minutes to all of their Different brains In that case that is a deployed system that is reliant on a on a single centralized brain. And I think it's probably At some at some level. I think it is necessary to have a single centralized brain in order to process the the Basically you want to know what all the parts of the system are doing at once in order to optimize, right? Um So to the extent that you're able to optimize that system. Yeah, I think it's really useful to have a single centralized brain That knows all the parts that makes sense um Could all the people discussing how we can blow things up with this please stop It's just causing my slack to scroll. There's lots of people want to blow stuff up with this I mean, so here's the thing about blowing up batteries, right? Like Yeah, you can but like if you're a good engineer, you've probably built some failsafe into your system such that like I failsafe but like You shouldn't have the part that lets you overcurrent your device be the part that is controlling The what the batteries behavior is right that should be the like the thing that should happen with regards to Your control your hackable control mechanism Is it should be on or off, right? It shouldn't be the thing that says yeah, turn it on full blast because you're pretty much going to have like Not that kind of need like you're you're you're going to need to say whether or not the battery should be discharging Or charging But you shouldn't be saying The number of milliamp hours over the internet like that's not useful um, and the final Group of questions what I try and bring them together is on the actual ecological impact of the batteries themselves all the way from Somebody mentioned about lithium being a limited resource the environmental cost of producing them in general And also all the way through to dispose of them and how that can be ecologically damaging does all of that outweigh this Or where do you see that balance? Yeah, that's a really good question and it's something that I am actively trying to learn more about One of the things that is of course challenging in climate change is that you have to balance Problems against each other. I mean you have to balance The cost of mining lithium versus the cost of the electricity And at that point you're not you're not necessarily comparing carbon to carbon, right? You're comparing Is it better to put methane in the atmosphere versus mine lithium out of a something that might cause water seepage? So you can't do a straight up comparison like that There are some really valid concerns one of the things we were originally looking at was trying to partner with An auto manufacturer there are some there have been some experiments I think its ge has done the most work on or maybe it was ford has done the most work on Trying to repurpose car batteries because they usually need to be able to work on in spikes Depending on the car manufacturer, but they need to be able to work in a specific way Versus stationary storage, which is this is more stationary storage Uh Has a rather different style of Like whether or not the battery is still usable and there's been a lot of experimentation in terms of Can we reduce the number of lithium ion batteries that are needed or at least like extend out their ability to have impact on the environment? Um By by reusing them for different purposes And I've I've heard pretty mixed reviews on getting new versus used and then whether it's worth it or not But awesome. It's a good question. Thank you very much. Yeah. Thank you everyone


This is really important. This is one of my favorite topics. I've been blessed over the last five, five and a half years during the holiday seasons help hundreds of thousands of people lose body fat during the holidays and have fun. So I wanna give you that advice throughout the entire year. It's about celebration. Now, it's really important for us to recognize that there's no more cheat. We're not cheating anymore. The word already defeats us and so this is about celebration. Celebrating that you're doing a lot of things right. Celebrating that you have a memory of a time or food in your life that you enjoy. But how can we do all that and still get results and maintain results? The truth is, I think you'll get better results when you can find the balance and all that. Now, if you're celebrating every night, it might catch up on you, y'all. So you have to find how much you can celebrate without falling backwards. Maybe it's once a month, maybe it's twice a month, maybe it's once every six months, maybe it's once a week. You have to find that out yourself. I cannot decide that for you. But I'm gonna give you a plan to help you through that process. If it's a date night, if it's a holiday, if it's a birthday, if it's just friends and getting together or maybe it's just a special moment in your life or maybe you're a little bit overwhelmed and stressed, I'm gonna give you a plan to take care of that. The first thing you wanna do, most important thing you wanna do is drink ketones daily, reboot with us, reboot 60-hour keto reboot and do the 24 fast. If you put that together, you can't help but have success. Now if you miss one here and there, I understand, that makes sense. But when you're gonna have a celebratory time, when you're gonna go out, let's say, we're gonna call it a date night or a holiday, what you wanna do is you wanna increase your serving by one on those days. And this is usually what I recommend is you sandwich your ketones.  You wanna full, you can have keto pro or you can have a ketonat or an unleashed. And what you wanna do is you're gonna have it before you go.  So it's kind of like you can kind of get away with a little bit more without having the repercussions. Now if you can do this, have another one when you're done before you go to bed that night.  Sandwich it together. If you can do that. If not, that's okay. But if you can, that's optimal. The next two nights, or the next two days, sorry, I want you to increase your ketone levels by one. And what that does is you get your ketone levels elevated that protects you from going out and binge eating again. Now this is really, really important because what happens is it's not the night that you did it or the day you did it, it's the three days after that you keep doing it that gets you caught up in trouble, okay? By increasing your ketone levels, it helps turn down that mechanism, gets you back on track. Now I'm gonna give you a couple other tips that you can do to help maximize this experience so you can have fun and not have the guilt that comes with you. We gotta let that guilt go, that guilt, the disappointment, the cheating feeling is what's actually gonna cause a lot of biochemistry challenges for you and keep the weight on and keep your health down. We want to be able to celebrate and actually appreciate and have fun with these things. You just gotta be careful how often you do it. So a couple other tips, reboot with us every month. 60-hour key to reboot. As many times as you can every month, it will keep you even and keep you or ahead of the game without falling backwards. And come do the 24 fasts with us every month. Drink ketones daily 24 fasts. These are a couple tips that will help you out. Here's a couple more tips. Drink more water. Drink more water. Now I believe in exercise and activity, I think it's really, really important. When you know that you're gonna have more celebratory times, if it's during the holidays, if it's maybe you have, we have birthday month in October and November, we have all the birthdays are in the same month. So we have more celebratory times. On those times on the days that you're not celebrating, I want you to be more strict low carb. You're kinda like, it's like a bank account. You're kinda, you're banking on, you're giving yourself more credit so that when you have fun, you have a little bit more wiggle room.  I call it the 510 rule. And that in between, or all your activity days, increase your activity by five or 10 minutes. It's really simple. If you don't do anything, start doing something, five or 10 minutes. If you're already active, add five or 10 minutes when you know you're having that.  So remember though, we don't cheat. We are celebratory. We go out and celebrate. This is really important.  Increase it by one for the next two days after and go have fun. Appreciate it.  Remember, this is a journey and everybody's journey is different. You gotta find your journey, but if you stay consistent, you'll find out what that looks like. Bye y'all. Thanks for checking out this video. For the next video of the series, check out right here and don't forget to subscribe to the channel so that we send out the next video. You get notified and you can check out the latest on the keto journey. Cheers y'all.


Hello, I'm Kamil Dukáv from RedHead. I work on static analysis of RedHead Enterprise Linux and in this talk I will present an innovative solution to dynamic analysis of RPM packages. The presented solution was developed as part of the AlphaWare project, which means automation of formal verification. This is a quick introduction to analysis of code. Both static and dynamic analyzers are tools that help us to find programming mistakes, which we also call bugs. Static analyzers do not execute the code. They just look at the source code and tell us, hey, this is not going to work. Static analyzers can now be embedded into compilers. You probably know the static analyzer embedded in C-Lang or the recently introduced GCC-F analyzer. Then we have standalone static analyzers like CPPCheck or ShellCheck, which are open source or Coverity, which is proprietary. Unlike static analyzers, dynamic analyzers need to execute the code. They execute the code in a modified runtime environment to extract the properties we are interested in. They can also be embedded in compilers, like, for example, address sanitizer, red sanitizer, and so on. These analyzers are usually easier to automate. Then we have many standalone dynamic analyzers, but in this talk we will focus on Volgrind and S-Trace. Volgrind is a tool for finding memory management bugs, while S-Trace is a tool that records Cisco's associated with running process. So we know static and dynamic analyzers. Let's have a look at analysis of RPM packages. Static analysis of RPM packages is easy. We have a tool named CSMoc, which takes a source RPM package and returns a list of potential programming mistakes detected by static analyzers. CSMoc provides an interface for plugins. The small blue boxes in this picture are CSMoc plugins. Each of them is responsible for a single static analyzer. The plugin interface makes it easy to plug additional static analyzers as needed. But in this talk we are focusing on dynamic analysis. So can we implement dynamic analysis plugins for CSMoc? The answer is yes, but it is not so easy as one would expect. Building a package is not sufficient to get results of dynamic analyzers. In order to get the results, we need to run the binaries that we have built. Luckily modern RPM packages run tests during the build, so we would like to run these tests through dynamic analyzers. Here is an example with Logrotate, which is a package that I maintain in Fedora. You can use the comments above to explore the spec file. There is a build section, which specifies how the package should be built when we create binary RPM packages. What is even more important for dynamic analyzers is the check section, which specifies how the binaries should be tested after they are built. If we run the comments below, it will automatically build the binaries and run the tests as it is instructed in the spec file. So we have an interface to execute the check section of RPM packages. Dynamic analyzers usually support tracing of child processes, so we can simply combine it together and dynamically analyze the whole RPM process tree top-down. If everything goes well, the binaries we are interested in will also be dynamically analyzed at some point. But is this a good solution to our problem? No, because this way we are dynamically analyzing also RPM build, bash, GNUmake and all the system provided binaries that get into our way. Consequently, it takes ages to complete and we get a lot of reports unrelated to RPM package being analyzed. So we need to do something better. And here comes the innovation. We can make RPM build produce binaries that will automatically launch a dynamic analyzer for themselves each time the binaries are executed. Thanks to compiler wrappers we developed originally for static analyzers it is really easy as you can see in this example. The first line inserts a compiler wrapper into the search path in front of the real compiler. The second line makes the wrapper append a custom compiler flag, which is in fact a linker flag. Finally, the third line causes that all the binaries produced in the build section will run through Volgrand when they are executed in the check section. This is exactly what we need it. Does it work? The core idea in my example was using a custom program interpreter. Let's quickly explain what a program interpreter actually is. I guess you know she bangs from shell or Python scripts. If we look at the first line of user bin jam we can see hash exclamation mark followed by user bin Python 3. This line tells the operating system interpreter should be used to interpret the script. So when we run user bin jam the system reads the shebang and executes user bin Python 3 passing it user bin jam as the first argument. I believe this is well known. What could be more surprising is that binary executables on Linux also have a program interpreter specified in their header. When we built an RPM package natively it produces binaries where the else interpreter is set to the system dynamic linker. However, we can also set a custom else interpreter when linking the binary. And that is exactly what I did in my example. I set a custom interpreter that took care of launching a dynamic analyzer each time the binary was executed. Our custom program interpreter is in fact a wrapper of the system dynamic linker. The wrapper is called csexec. We can use the csexecwrap cmd variable at runtime to specify a dynamic analyzer to use. If the variable is unset the binaries are executed natively. In any case csexec runs the system dynamic linker explicitly. Otherwise csexec would end up in an infinite loop recursively invoking itself. So if we execute our log rotate binary with custom left interpreter csexec executes the system dynamic linker through Walgreen giving it path of the original executable as the first argument. This implementation detail is usually not observable by the test programs that we dynamically analyze. However, some test programs are sensitive to the value of argv0 so we need it to extend the system dynamic linker to take the dash-dash argv0 option in order to make this work properly. Similarly, some programs are sensitive to target of protself-excessive link which unexpectedly points to system dynamic linker in our case. So we need it to emulate calls of read link to pretend the original target which is the binary being analyzed. I think I have said enough of implementation details. Let's have a look at the results of our experiments. The main goal has been accomplished. We have no unrelated bug reports in the output. Of course, if the rpm package uses a buggy library that leaks memory it can still be reported by a Walgreen. On the other hand, Walgreen will not complain about memory leaks of Bash or GNUmake just because we use them to run the test programs. There is no observable performance impact of CS exec itself. Of course, if we run test programs through Walgreen they run significantly slower in some cases but there is not much we can do about it. CS exec works well with commonly used testing frameworks which means it does not make them fail just because we execute the test programs through CS exec. We were able to successfully run the whole upstream test suite of GNU Core Utils with CS exec only. If we enable Walgreen it causes some tests to fail and we are simply not designed to work with Walgreen. For example, there is a test that verifies the count of open file descriptors. The problem is that Walgreen uses some extra file descriptor for itself which breaks the test. Another example is a test that intentionally sets a non-existing pass as a temp there to verify what is handling in the program. Unfortunately, this also prevents Walgreen from starting which in turn results in artificial failure of the test. Now back to CS mock. The tool originally developed for static analysis of Arpium packages. We have implemented experimental plugins for Walgreen and S-Trace. These plugins are now available in Fedora and Apple. Thanks to these plugins, dynamic analysis of Arpium packages is now available through a really simple user interface. You can just pick a source Arpium package that runs tests during the build and throw it at CS mock together with a build root where the package can be built. Optionally, you can specify some extra arguments for the dynamic analyzers. This is the time for a quick demo. Hopefully, you can see my terminal. I think I will get a source Arpium of the latest build of Plogrotate. I can use the Koji client for these tasks and Koji download build command. So I have the source Arpium package and give it to CS mock. Enable the Walgreen plugin and specify the build root. And that's all! CS mock will now run fully automatically and give us the results from Walgreen on the run of the upstream test suite. You probably know the mock tool for building Arpium packages. CS mock is very similar. The only difference is that CS mock does not produce any binary packages. It just gives us the list of potential packs in the package. And it seems to take slightly more time than expected so I will pause the recording for a moment. Sorry for the gap. My home office connection is too weak to download all the dependencies of logrotate in a reasonable time but now it seems to progress. We can see that Walgreen is being downloaded and installed into the build root. CS mock then applies some workarounds for broken packages which we sometimes need to deal with. Now it installs CSD into the build root. It is a tool that can recognize the output of various static analyzers and for example compare a pair of old and new builds and give us a different. Now CS mock is copying some files into the build root which are needed to drive the analysis. Now the build of logrotate is finally starting. This is the build section. We can see the Autocon checks running. As you can see it runs as fast as it would run natively. So the build is complete and now finally the run of the check section is starting. At first glance the output looks as usually it is just a bit slower because all invocations of logrotate are read by Walgreen which is not visible in this output. If you are wondering why the test numbers are mixed up it's because the tests run in parallel it means that Walgreen also runs in parallel. So if we use multi-core CPU we get the results faster. As you can see some test cases take slightly longer to complete if they run through Walgreen we can use this time to have a look what happens behind the scene. Increase the font. So this is the process tree of CS mock where we can see the build as if the build ran natively the only difference is the Walgreen here at the leaf processes. We can see that only one instance of Walgreen is running so this seems to be the most expensive test case of logrotate. It has already consumed more of machine time. So let's wait slightly longer for it to complete. We can see that we ask Walgreen to produce XML output which is better if it needs to be machine readable than the default output and I think it has finished so we can switch back. Now we can see that CS mock picks the results out of the build root and runs some final cleanup to save disk space. So let's give it a second to complete and we got the results. So we can unpack the results archive and we can see some files captured by Walgreen that is one file per a process annotated by its PID so we can have a look at arbitrary one let's take this one we can see the captured XML file and if we look here we can see that the report is really about the logrotate binary so we can have a look what happened some memory was leaked by logrotate so now we can analyze the backtrace provided by Walgreen. Let me switch back to my presentation there is a more detailed demo available at the URL below if you are interested although the presented solution works fine there is still some room for improvement there is a work in progress patch for CSDF to parse Walgreen's XML output the goal is to present Walgreen's results in a similar way as we present the results of static analyzers. Developers are used to report spins to source code rather than PID oriented reports about processes that don't exist anymore we could also port CS exec to more architectures for now CS exec runs on 64 bit Intel only it is not yet supported to use multiple dynamic analyzers in a single run of CS MOOC this is going to be resolved by extending CS MOOC to be able to run the check section by a full rebuild of the package the origin motivation for this effort was formal verification of RPM packages which we experiment with in the alphaware project alphaware means automation of formal verification it is a project supported by technology agency of the Czech Republic we are going to develop CS MOOC plugins for formal verification tools namely for symbiotic, divine and CBMC based on our experiments the formal verification tools will be improved to handle more RPM packages but this is a task for universities which develop the verification tools that's all for me thank you for listening, I'm ready to take questions


Still in sports, Novak Djokovic has admitted breach in isolation rules after testing positive for COVID-19 last month, describing it as an era of judgment. In an Instagram post on Wednesday, the Serbian admitted a meeting journalist for an interview two days after he tested positive on 16th December. His activity has been scrutinized as the Australian government considers weather to deport him. In the post, he also blamed his agent for making a mistake on the travel form he used to enter Australia. His comments have prompted a new investigation from officials. Djokovic, who is unvaccinated, is hoping to defend his Australian open title next week. He had his visa revoked on 6th January shortly after he arrived in the country and made questions over the vaccine exemption that would have permitted him to enter.