Thank you. Okay, okay, okay. Last talk of the day, I know everyone's tired. So I'm gonna try to make this as exciting and interesting as possible for you. Very high energy, high risk, high reward, okay?  I don't know if you're in the room. Nick was originally supposed to speak tonight, but because I wasn't, I'm not gonna be in Singapore beyond Sunday, so he kindly gave up this spot. So I'm doing a favor back to him. Please check out his TDD talk next meetup. So I'm gonna do this talk. This is a live coding talk, which is difficult given this. I also was tempted to change the topic to TypeScript Be Happier. I think. I'm a TypeScript fan, but, and I think there's some others as well. But we're gonna stick to Hook. And this is the Right Hooks From Scratch talk. I've given this at JSConf Asia already over the weekend. And Wei here actually has seen it multiple times. So I thought it'd be more interesting because I don't have a standing mic or anything. If she takes over the live coding and I'll narrate it to you, we're doing pair programming. She has, so hands up for her for Wei. Okay, so very exciting. This is completely unrehearsed, by the way. But she's seen this talk multiple, oh, what is this? Nope, you didn't see that. Okay, it's completely unrehearsed, but I'm basically just gonna, we're gonna do pair programming. Okay, so the first thing we're gonna do is we're gonna clone Hooks in JavaScript, raw JavaScript. So the first thing we're gonna do is clone UStates. So we'll write the first function, the UState function. What, and then use the function keyword. What does the function, what does UState take as a argument? We'll just call it initial value, like init val or something, right? Put a parenthesis in curly brackets. All right, yeah, all right, curly braces. What does UState return? Anyone? Array of state and, so state. Excellent, let's define them, right? So we wanna have, in Hooks, we wanna have this idea of stateful functions. So let's define an internal val, like an underscore val function. And you should not use const, because const doesn't let you reassign to them. That's ES6 tuition for you. Let's initialize it to init val. And also let's set state to init val. So in the next line, let's set state equals init val. So this is probably wrong, because it will never change from init val, but we'll fix that in a future iteration. Set state is a function, so let's declare const set state equals new val. Yeah, yep, let, yep, okay. So set state, we can use the arrow functions in text. New val, it takes a new val, for example, right? And then, that's, yep, and then we'll assign that to our internal value. So underscore val, right? That's the internal value, and then we'll assign the new val to that. Okay, I think there's some typos in there. New val and new val. Okay, is this big enough for everyone, by the way? I hope that is, yeah, there's an extra E there. Okay, so cool. Now we're actually, that's the minimal use state clone. So actually, let's go use it at the bottom. So in, no, let's just exit the function and go all the way to the bottom. So we'll destructure something, right? Let's say a counter. Let's have a count and set count variable. She's doing an amazing job, by the way. Let's, yeah, initialize that to one. Let's console log the count. This is amazing, I don't even have to code anymore. Right, come on, we all have this. I will set the counter to, and then we'll console log count again. You can copy it by doing the shortcut for copying the line. No, I don't. Okay, I'll teach you later. Okay, so over here we have like a repos type environment. Let's blow it up a little bit. Hopefully that, hopefully that's, so right now we're only seeing one, right? One and one, we're logging the count over here. We should be setting the internal value to two, but we're not doing, we're not quite doing that, because, and basically that's just because when we destructure from here, count is set to one. It's one over here and it's also one here. There's no opportunity for it to update. So really what we need is to turn the count into a setter function. Wei already knows how to do that, because that was the first comment she had to me when she was seeing this slide. It's underscore val, yep, okay. So now it's a setter function, we're logging out state. So let's go to the bottom and the console log and turn those into function calls. And now we have stateful functions, right? One updates to two. So we have a minimal clone of hooks in node, but that's unfortunately not the actual API of React, in React you don't have getter functions, you just have the variable, you just use it and it's just live, it's the right value every single time. So in order to do, in order to get closer to the React API, we have to break the model a little bit. It's a big refactor, but I'm gonna guide Wei through it and she's very bravely helping us. So the first thing is we're gonna name space, you state inside a React object, right? Do you know how to do that? So we'll say const react equals, and immediately invoked function, right? So we'll put a function in there. So this is the module pattern. If you look at bundler output, you'll see this. So we're gonna cut that and paste that in there, in that function. And then we're gonna return, at the end of that function that we're immediately invoking, we're gonna return an object that has a use state in there, fantastic. Okay, so now at the bottom, in the usage code, we can just say react dot use state, and everything still works as normal. We've always done is we've name-spaced everything in the module pattern. So that's the React mini clone that we have over there. So what we've done to the use state clone over there, we can also do to the hook. Let's wrap that in a component. So we'll call function component, so we'll just name it component for some reason. Doesn't take anything. Brenda says put the hook in there. Do you know how to move it up? Vimperson. So I think it's a alt and up. Alt and up. Hold alt, alt, yeah. Ah, yeah, there you go. Okay, let me minimize it a little bit. Okay, so cool. We normally would be rendering to the DOM, but we don't have the DOM here, we just have a REPL. So we're just gonna return an object. And this object will have a render method. Let's just type render, and then we'll make it arrow function that just console logs the current value of counts. Yeah, we can do that, okay? We're also gonna expose another method, a click method. It's another function as well, and then it's just gonna set count to count plus one. So that's simulating a button, right? All right, so that's all fine. So we have something like a component down in here. So the last thing that we need to do is we need to teach our clone of React how to render this function. This component function. So we need to write a render function inside of React. This is all unrehearsed, she's doing an amazing job. So it takes a render function, takes a component, right? A component is after all just a function, so we'll call that function. Let's just assign it to something called like C or comp, or I don't know what, app. Whatever you call it. Assign it to like C, I call it C in my code. That C equals component, a comp, and then just call it, right? So the component is just a function. We're calling it, and now we have the return object of what we just wrote. So now we have the object, let's call C dot render, right? That's just for rendering and doing the console log stuff. And then we'll just return C so we can do other stuff with it. Okay, cool. Now we're ready to actually just rewrite the usage code at the bottom. Did we delete it already? Yeah, we did. Let's just go all the way to the bottom, right? And now we'll actually use what we just wrote. We'll write react dot render component. Okay, so we'll see something showing up on the screen. React dot render is not a function, so we need to expose render on that object. Cool. So we start to see the getter on the screen. Let's carry on. So let's assign the result of react dot render into a variable. I use var app, so I want to use var because I reassigned it. So var app equals react dot render. All right, and now we can say app dot click, right? And now we're calling, we're just calling this set count function. And then we can var app equals react dot render again. So this one is, I think it's alt shift down to copy a line of code. So go up to that line, alt shift down. Alt shift down. Yay, that's a handy keyboard shortcut if you didn't know it. So let's have a render before the click and then we'll click and then we'll render after the click, right? Oh, come on. No, no, no, move it up, move it up again. I'm sorry, I shouldn't be yelling at you. Move it up. Yeah, there you go. So you don't have to call render. Don't have to call render because react dot render already calls render. Okay, so that's roughly the thing except we're only, we're still showing the state getter function here. So let's refactor that, right? We don't want to show state getter function. So let's go all the way up. We're going to promote the scope of val, underscore val over there, promote it up to the react scope, the react module scope. Let's cut and paste it up there. Yep, okay. So initial val, let's just let it be undefined. Let's delete initial val there. And then instead of, and for state, now instead of the getter function, right? We're just going to assign it underscore val or initial val, right? So if there's something in there, use that. If not, use initial val. And so now you can see something interesting. We've got back to our stateful function and over, if you scroll down all the way to the bottom, we're just rendering, clicking and re-rendering. And if you just spam it out a few times, you use the alt shift down thing and with the, with the clicking, you can see the, you can see the statefulness of the, of the function. Okay. I should have shown you the keyboard shortcuts first. Okay. But you can see that numbers are updating here as you click and re-render and it kind of sort of looks like react, right? Which is pretty interesting. Until you try to use a second hook. So let's try, let's try to use a second hook. Let's just call it text and set text. Do you know where to put it? The second hook? Yeah. So we got the text and set text. We'll put something like react SG as like the initial text or shoppy or react SG or whatever. Okay, react SG. I tried to customize it, you know, to like make it interesting and live and all that. Let's put the text in the console log for the render. The text variable that you did. You know the console, yeah. The render method. Yeah. Okay. All right. Cool. And then for, and then we'll expose a new method called type and alongside of click. It takes a word, it takes a word variable, okay. And then it sets text to that word. All right. So now let's, let's change one of our app.clicks into a type, app.type. And then we'll put in a new word, like view. I don't know. Okay. So, so let's, let's delete the rest, delete the rest of the renders. And then we can start analyzing this code. All right. So I'm gonna have you, I'm gonna, okay, I'm gonna have you consolidate these things. So console, the console logs here, can we combine them into one object? You know what I mean? Like, yeah. Make it into objects and text, exactly. It's easier to see side by side. So, so you can see individual renders. Okay. So, so what, what's happening here? Let's put a last render at the bottom as well. Just clone that, I'll shift down, put one more app.render at the bottom. Come on. Yeah. No pressure. Okay. She's got it. So what's happening here is we're trying to set, we're trying to click, right? Click should move the counter from one to two, but it also starts to, starts affecting the text state over here. And we try, we try to set this text state. It, it's supposed to only update the text state, but it also affects the counter. So we don't have independently moving states. That's a problem for us. Why, why do we have that? The answer is all the way up there, scrolling up all the way. We only have one internal value and we keep overriding that every single time. So we need to make room for that. Like we need to scale that to multiple hooks. So let's turn that into a hooks array, right? BAM! Underscore value. Oh no, yeah. Well, we'll just call it hooks. Let hooks equals empty array. And instead of just an individual value, we need, now need an index. So we'll just say like let index equals zero as well. So that's the current index of the hook they were currently operating on. So we'll just replace all the current references of underscore val to hooks index into that. And then the second, yeah, yeah, you're doing great. And then that's the only other occurrence of that. So what we're doing is just we're replacing any references to internal value to parameterize it by hooks index. So now we fixed something. Look, look, look. The state, actually we haven't fixed anything. And the reason is because we need to bump the index every time we're done with a hook so that the next hook can use the second slot and the third slot and the fourth slot. So let's bump it. Oh yeah, okay, she's already ahead of me. So count is now updating to two and text is not changing. Good. But then over here, something weird is happening. We're updating text to count and then this is not changing as well. So something's going wrong. We need to reset the index to zero every single time we render because we need to go zero, one, two, four, three, four and then back to zero, one, two, three, four, right? So we need to reset every time at the start of a render. At the end also works, but let's just do it at the start. And now we've completely broken everything because of very subtle nuance because of closure and basically like still closure. So over here in the set state, this is called asynchronously and whatever this index value is, it's going to be live and the latest value. And that's going to be true for any set state that's being called in here. So we need to freeze the value of index. We're going to freeze the value in a scope of use state. Do you know where to freeze it? Just freeze it in here. Just insert a line in between. Insert a line, yeah. Nope, one more here, yeah. Yeah, so we'll freeze the value to like just underscore index. Yeah, equals IDX. And that's at the point that is being called, at the point that use state is being called. So we just have, we make sure that we have the matching use state. So let's assign it to let, use a let or const, doesn't matter. And then let's change the one that we're using down inside set state to underscore index. Okay, cool. So now we have, we click the count is updating from one to two. Text is not changing. We type a new text, count is not changing and text is updating. That's great. Yeah, so I mean that's a very basic set state hoax clone and we've done a fantastic job. I won't have a round of applause for her. Yeah, I'm going to take over. But we're not done. I just wanted to like not have her hold the mic for me for the whole thing. But I just want to keep going and show the rest of the models. The second hook that they're well very interested in is the use effect hook. And the API kind of looks like this. So it's react.use effect. It takes a callback, right? And then we'll say callback something like, thank you for the pizza. And then it takes an optional dependency array, right? That's the use effect hook. I'm really leaning on the fact that this is a React meetup. So I assume that most of you have heard of hooks in some shape or form. So now it's throwing an error. So we're going to go and implement it. This is actually the hardest part of the talk and I didn't want to force way to go through it. So we're just going to implement a use effect function, right? So it takes a callback and a dependency array. And basically what we want to do is call the callback. Every single time we render, by default we just call the callback of use effect which executes stuff asynchronously in the hoax world. We also want to detect change in the dependency array. So we'll just assume that the dependency array is always changing. So I'm just going to say by default that has changed equals true, for example.  So if it has changed, if the dependency arrays have changed, then you call the callback. So then the only thing tricky is to detect change between two arrays of items, always the same size. That means we need to compare the old dependency array and the new dependency array and see the differences. So that means we need a place to store them in between renders. Where's a good place to store them? It's the hoax array, right? So that's a very nice place to store them as well. And we're also going to... So at the start of a render as well, then we need to pull it off and we'll just call it const, like old dependencies. And we'll pull it off of there. So that could be undefined. So we'll have to say if old dependencies, then we'll do some magic. And then we'll try to see if the change has actually been executed between... Again, we're comparing arrays, right? So we have to kind of zip between them. Okay, so this is the hardest part of the talk. Basically, I have to modify this according to line by line, just compare the indexes of arrays. So I'm going to use array.sum. Some of you may not be that familiar with this. It's kind of lesser use. But it basically goes through and looks at individual list items. And if any of them is true, then the whole thing is true. So here I'm going to compare them with... Oh, and here I'm going to use object.is instead of triple equals. So for those of you who don't know, nan, triple equals nan, that is false, correct? Whoever said that? And object.is, nan, and nan, that is true. So this is slightly better in case any of your dependencies ever become nan, which never happens, but whatever. That's just what React uses internally because of this reason, and because JavaScript is weird. So we'll say object.is, old depths, correct? The current depths and the old depths indexed by that index as well. And then we'll have a knot in there because that's the logic of that. So let's take that use effect and then we'll expose it on the react object over here and now we can see something. So when I have an empty dependency array in my use effect, the effect only runs at the beginning. When I have a count in my use effect, it runs when the count changes from one to two and nowhere else. When I start to subscribe to the text changes, the use effect only runs when the text changes and not when the count changes. And I remove it and I have undefined as my dependency array just runs every single time. So that's a good implementation and intuition of what the use effect hook does. You can do a lot of extra stuff with this idea, but you can also start to see why we have the rules of hooks. The rules of hooks state that you cannot put them inside a condition like math.random and then like less than 0.5, whatever and then put this hook inside there. What is the index of the second hook after this? The index is sometimes zero, sometimes one. It's unpredictable and you start to get out of killer. So that's all you have adventures to prevent you from doing that kind of stuff. And if you think about the rest of the rules of hooks, they're actually basically derived from that. You can also do, this is special, I didn't do this at GSConf, but you can also do other forms of hooks as well. I'm gonna do react.useref. So let's just have a ref equals react.useref one. You can store whatever you want in refs now, previously you only store DOM elements, but you can store whatever you want in refs now. And the way that you use refs, for example, is in, for example, like this, ref.current, right? And then you set ref.current in something where you don't want it to store, you don't want to store it on state. So the way that you implement react.useref is a one-liner in react. It's literally useref value, return, use state, val, and it's an object, current, val, and then index to zero, because you never set state for ref. So that's react.useref if I bother to also expose it down in here. And you can go through the same exercise for use reducer, and it takes a little more effort for use context as well. Okay, so all this is well and good. I think that we're all here to put stuff on screen, and I don't think this is very convincing as a react clone. So let's just take it the final mile, and we'll just show stuff in the browser. So even though this looks like a rebel, this actually has been in the browser console all this while, and we're just gonna start showing the browser, and to prove to you that this is the browser, I'm gonna import some pre-prepared CSS. So I'm gonna styles.css, styles, styles. Okay, and there's a nice animated background to show you that we're actually rendering the DOM here. We're also gonna import some other fun stuff that I prepared as well, basically two functions, create element and render from my utils folder. So create element is the basic create element of any JSX and react functionality. So we're just gonna put that down inside my react module, just re-export it inside of react. And now I can say something silly like, I don't know, like react.create element h1 null hello world. Unfortunately that's not showing up on screen yet because I need to teach my renderer method how to render this kind of new component. So let's use my new render method.  Thanks for that though. And it's a higher order component that memoizes on hooks. You can definitely see the code after this talk. And we'll finally get rid of this series of imperative steps here. And we'll just declaratively say what we always say, which is root element, get element by ID and then react.render or something, right? So let's try and see. Hey, that's pretty cool, right? So we have react.create element and we're creating this little thing. So for everyone who knows JSX, what does this become? It's just an h1 tag, right? Hello world. I have the Babel plugin installed here. And I don't have hot reloading figured out, so I'm just gonna manually reload every single time. Okay, so let's do the final step, which is turn this into a fully working app and then we'll talk about what we're supposed to take away from all of this. I'm gonna use the main because that's what my CSS expects me to use. And then I'm going to use, I don't have syntax highlighting in my JSX, which is very funny. I'm gonna use the button and it's gonna have a click me function. So set count, count plus one and then it's gonna say click me count and it's gonna close the button. So that should show a nice little button here. And it should update when I click, but it doesn't update. And why is that? Because we used to manually re-render every single time. We haven't simulated that re-render every time. In React, this is called, this is the concept of a work loop. It just cycles every idle callback and it checks for work to be done. We're gonna simulate this with our own work loop. I can definitely write that in a few lines. It's just a recursive function. It sets the index to zero because that's what you do every time you re-render. It calls the render function here. Again, you don't know this but this is the new API for the render function that I imported up there. And lastly, it's gonna set timeout for the next loop. So work loop, I tested it out for hot reloading and stuff and it's 300 milliseconds every work loop. And then I'm gonna initialize that. So that's the work loop and now when I click, it actually updates. Which is pretty cool, right? We just live-coded this entire thing without actually using React but it kinda looks like React. And now just the final clicker, which is that with this mental model, I haven't done anything specific to custom hooks but it already builds that in terms of the design. I can just paste in this preprepared custom hook or I can import it in from whatever. This is a fetch dogs custom hook. It just pings an API, it has a state which is an array. It pings an API and it gets an array of dog images based on the counts variable that we feed in, like one dog, two dog, three dogs. And then it returns those, that array of URLs. So I can use that inside of my component in here. So const list equals use dogs and then we'll just pass in the counts as well. And now we can actually use list. This is going nuts, don't worry about it. List, hot map, item, image, source. You see, this is, we're all about getting things to show up on screen. This is why I have to do this. I have to show you dogs. I have to show you that when I click it updates and it looks like a fully functioning app. This is pretty cool, right? I was pretty happy. Thank you. So this is like a bit of a party trick, right? Like, okay, I did, I cheated, I prepped a lot, right? But look at the API. Look at, look at, this is a function component. It uses state. It uses custom hooks. It uses JSX. It really doesn't take that much work, right? I even like, you know, use custom hooks and do like data fetching like you're supposed to in Hooksland. That's pretty, I mean, this is exactly the API. So why again do we download 30 kilobytes of reacts every single time? That's interesting. So that's the homework that I want to leave everyone behind with is that, you know, this is not React. This is the surface level stuff that we use all the time. This is what we talk about. This is why we say we choose one thing over the other thing. No, no, like there's, please look at the underlying levels of React.  I have some answers and I can talk to you after the break with some answers. But yeah, thank you so much and thank you, Wei. Thank you so much. You have to shake your hand. Hey, can we take a photo together?  Yay! Okay, that's it, that's that. Yeah, it's all about the dogs. Okay, thank you. Oh yeah, do we have time? Do we have time? Does anyone have questions? Sorry. Yeah. No, no, those, those global store is a separate thing. That's, you can have multiple contexts to replace that part of Redux. But if you only use Redux for that, then you're not really using Redux as it was intended, which is to chain a bunch of middleware to help you develop and audit your, your app. So, no, React records do not replace Redux. In fact, Redux just introduced some new React hooks in Redux, React Redux 7.1. I've actually used them and they're very good. They're much improved API over normal Redux. Okay, yeah, and like the whole point of this is that you can definitely go home and clone this. This is on my site, this is on my Twitter. It's not that many lines of code. You can take the code sandbox, but try it and then practice closures, practice vanilla JS and what your core understanding of React is. All right, thank you. Thank you. Hello folks, we have other Redux in the future. We have one in July in my office. So if you could just share something with the community.


Hey y'all, what's up? My name is Sonali. Today I'm going to be sharing my favorite Abercrombie and Fitch purchases with y'all, as well as going over some of the things that I have my eyes on for the LTK Spring Sale. If you guys don't know what LTK stands for, it stands for like to know it. It is a shopping app where all of your favorite influencers and bloggers can post the exact links to everything they're wearing, maybe even like home decor, beauty favorites, all of that. Like to know it is having an exclusive sale when you shop through the app. And there's a bunch of retailers, but today I'm focusing on my favorite things from Abercrombie because you guys know I feel like I talk about Abercrombie a lot. I did a crazy huge haul in I don't remember when it was. I think it was definitely last year or maybe like the beginning of this year. I can't remember, but I went crazy. And so now I just have so many like good basics that I need to share with you guys as well as like denim. Like they're really known for their denim I feel like and also some loungewear because let's be real that's what I've been living in. I'm posting this video on April 9th and the sale goes through the 11th and they will be having 25% off of Abercrombie and Fitch. This is a great time to buy all of the things I just mentioned. Cosies, basics, especially denim because sometimes those can get expensive when you don't have a promo code for that. So let's just get right into it. I'm going to be first sharing my favorite things that I've actually purchased and then I wanted to do like a shock with me kind of portion just looking at the website kind of checking out their new arrivals and seeing what they got going on. So let's get started. I totally forgot to tell you that you can actually follow me on the like to know my app. My username is so underscore gnarly. The app is free and I'm pretty sure androids have it too. So you should be good there. So let's get into the outfit and my favorite purchases. So first let's start with, okay, let's do the shorts first. So these are I want to say they're like a high rise mom fit.  You see how it's just like longer in the back. That is very nice, especially now that I'm like grown up, I don't really want booty shorts. I do not need to be showing anyone all that. So this is really cool because it has like a split right there. And it's just like a more boxy fit, which is very, very comfortable when you're like sitting down in them. And like, honestly, if you need to lounge around in them, you can. These are just perfect for the beach and just like wearing a bikini top with it or like anything with this. Obviously, I'm wearing a bodysuit. I'll show you in a second. But the one thing about these is that I feel like I can never like put it down all the way. I think I just need to iron it. And then it should be fine because they written like my short store for like forever. So I think that's just what it is. But other than that, they kind of have like this two tone thing going on like the back is a little bit darker, which I think is really cool. And then we'll move on to the bodysuit. I love this bodysuit and I actually have it in white and black. But this one is a ribbed texture. Let me see if I can focus. You see that? I don't even know. But I love this color. You guys know, I love my neutrals and nudes. But this one is that ribbed texture. You really oh, and this is a bodysuit. If I didn't say that already, it does have like the snapping thing. So you can like go pee easily and everything like that. But I think this is just the perfect basic to have like seriously during this sale. I'm telling you guys stock up on basics that you're gonna wear often because I wear this bodysuit and then the white one that I have that I'll also link down below, which is not ribbed. Like I said, I wear that one so often and it's just easy to pair with like jean shorts or denim, like long denim, you know, and it looks just so cute and effortless and also kind of like put together. Next up, we have these cloud paper bag, heathered gray shorts. They are super freaking comfortable, perfect for like the springtime, especially if you're like lounging, working from home, all that kind of stuff. The great thing about Abercrombie basics is that a lot of them come in so many other colors.  Obviously they have pockets, which is always a win and they're just really comfortable. Next up is this zip up hoodie and funny story about this. It's actually supposed to be heathered gray, but I accidentally like bleached part of it and then obviously it had like a bleach like white stain. So then I just like dumped the whole thing in bleach and literally turned it white. This hoodie actually does come in white, so you don't have to go through that trouble if you want a white one. Well, I actually wear this like on the daily, there's like a few zip up hoodies I wear, but this is like one of my favorites for sure. I honestly want to buy it like in a couple of different colors.  Like there's this like core zip thing I have from Abercrombie and fish and I wear that a lot too.  But yeah, I wanted to show you guys this one because it's a basic I wear almost every single day. I got another cozy item for you guys, they call this like a tunic or something. I guess it is a little bit longer, so that makes sense.  So wonderful. But I do have a hard time like not getting makeup on the collar just because it is white and it's kind of like not super loose around the neck. But I think it's so cute, especially with like leggings and just like a chill, comfy look for like errands, lounging around the house, anything like that. I saved the best for last. Let's do some denim. I have two pairs to show you guys. So this one is really cool. It's just very interesting. Also, it's really stretchy. So love that because I always wear these like out or something when I know I'm going to eat a lot. But these are really just interesting. Like I said, like they have this like stitching down the middle and they're kind of like a straight leg jean. I'll be honest, I kind of like got them just to like try them out. I didn't even love straight leg jeans when I got them, but I'm really glad I did because they make me just feel like so much cooler than I am. If you follow me on Instagram, you may have recognized these pants because I swear I used to wear them in every Instagram post like in November, December. And then I literally just like how to get more jeans because I was like, Oh my God, I'm like wearing them so often. But that is such a good thing because these pants, I don't know how much they are, but they might be like around 100. And obviously with the promo code, it's definitely cheaper than that. But it's awesome to get your money's worth. And jeans are the best thing that you should invest in because you're going to wear them so often. So these are actually the Bree Shepherd X Abercrombie and Fitch jeans.  Is it in focus? I don't even know what's going on. Okay, there we go. So these are like a mom fit.  Like, I mean, you guys can tell it's kind of just like looser around, you know, the thighs and everything. The butt's just a little bit looser, which I kind of like because I don't have a butt anyways. It's right about the ankles, which is really cool when you like wear sneakers or any kind of like a cool shoe to show off, you know, these have to be my all time favorite Abercrombie and Fitch find like I just feel like they are so flattering. And if there's anything that you buy during Abercrombie and Fitch's sales, you need to go for their denim because most of the time, like I said, they're like $100 and you know, you could get any kind of jeans for that price. But these are like such good quality. And when they go on sale, like definitely take advantage of it. That's all insane. Now that I've shown you a couple of my favorite purchases from Abercrombie, I kind of wanted to just go through the site and do like a little shop with me. We can go through the new arrivals.  So we can go through those a couple of the things are a little bit similar to the things that I already have. But I did want to show you guys anyways in case you wanted to pick it up during the like to know it spring sale. The first one up is the Split Ham Terry tunic popover hoodie. It comes in a whole bunch of colors. Like I said, a lot of their basics come in a variety of colors, which is great because you know, not everyone loves the same color. It does have that white that I had in the tunic. So basically it's literally like that tunic sweatshirt I showed you just with a hoodie, which is kind of cool. Next, we have a matching set. So the first one is the Lounge Longline bralette. And I feel like this is so trendy. It's that really nice, like ribbed texture. And I feel like in a lot of my households, I've gotten a lot of ribbed clothing.  So it really just holds in, you know, the girls and everything. So I don't really have to wear a bra with it. Well, this is like a bralette. So that would make sense. But it does have matching lounge leggings. And I'm pretty sure they do have biker shorts too. So that is super cute. It comes in a nude. It comes in like an oatmeal cream color, burgundy, oh, brown, I guess it looks burgundy. At first when I saw the bra, it kind of reminded me of like something in set active, although it's not like a sports bra. Like you probably wouldn't be able to work out in it. But it's still like cute for a lounge. I feel like I've said this a couple of times on my channel, but I'm trying to add back a little bit of color into my wardrobe just like be a little fun for the spring. So I saw this set workout set. This is actually a workout set. And it's in this like really pretty blue color. This is the contour full length leggings and they look really nice. I guess it's a sports bra or like just a tank top, but it kind of looks like sports bra. So I wonder how like supportive it would be, but it's a matching one to the leggings and it looks so cute. It's actually the color light lavender. Next up, we have these tailored shorts. I actually have the black version, which I don't wear that often because I feel like I just never wear black anymore. I don't know why, but I just like it's a weird thing in my mind. I just never wear black. So I kind of want to pick up the cream ones or what is this color? Oh, it's an ice green. It really does look like on the cream side. When it comes to Abercrombie sweat pants, take all my money. They are the best sweat pants I have had. And I found these lounge wide leg pants and they have that like ribbed texture. They look so comfortable. So I feel like I'm going to end up purchasing this for sure. It comes in like a more like new light brown, like an oatmeal color and then a gray, which honestly the gray is like very like loungey vibes. I feel like I'm saying lounge a little bit too much. So maybe I should stop. Okay, next up, we have this linen miniskirt and it has like this little cute knot twist kind of thing. Okay, I know that there's one on Princess Polly because I had it. And it's just like too big for me. I swear I asked for a large and I think they sent me an actual large. So I'm so sad because it's so cute. But it's basically the same thing just like the Princess Polly one is like just simple and no knot, but I think the knot's really cute. And I think it's perfect for spring just like pairing it with like other linen stuff or just like a cute like white crop top or like a little frilly white crop top thing with the tie in the middle. You guys understand. Okay, next up we have the twist front midi sweater dress and unfortunately I don't think I should purchase this because I know it's about to get like real hot here in Austin Texas.  I mean it still looks fitted. So it might show a little bit of those rolls but it does kind of like have that slit at the end of it. So I guess what I'm saying is that it just doesn't look like a full-on bodycon which is nice for the spring. Okay next we have actually a bodycon dress. I thought this was really cool. I feel like I haven't seen this on Abercrombie at all.  So I see that this is like ribbed a little bit which is great because like I said ribbed is always like a thicker material usually.  Like I said I'm really not trying to purchase like long sleeve stuff right now just because I know it's not really going to get worn because you know summer's coming in like T-minus one day literally this whole week is going to be like 97 I'm pretty sure but this might be an exception because it's so classy and just like beautiful. Then I found this waffle cropped cardigan and I feel like these like cardigan things are super freaking trendy right now. It also comes in a mint green and I know green is like a big color for spring um and I just think it's really cute like to have that like off the shoulder look so you can wear like something like this like a body suit with the cropped cardigan and like cool jeans with like air force ones or like just any kind of white sneaker would be a really cute outfit very effortless but still like you look really cute and put together you know. Next top is this twist front poplin top and I thought it was gorgeous when I saw it I do think that it might be a little tight for my bigger chested girls like me so I don't know if I would purchase this but I think it's a gorgeous top like that twist looks so nice and the back looks just very elegant like it's a square back and it has that like ruched material in the back so it seems like a bit stretchy I just don't know like how big like the cups kind of are you know so I'm going to pass on that for now but it's stunning okay this next top is the off the shoulder gauzy beach chop and I actually just got a top similar to this um from pedal and puff so I am not going to be purchasing this but I think this is a lot cheaper than pedal and puffs one right now this is like 30 dollars without a sale um but I do think it's just like a beach top so I'm not sure if it's like full coverage or like what's going on there because I do see that the pants are not full coverage but if you were heading to the beach I feel like that would be a really cute just like throw on over your bikini if you're going to lunch after the beach speaking of bikinis I'm not really sure if I'm like there yet you know I think I'm going to stick to one pieces for now but I'm definitely wanting to get to a bikini so I just thought I would share their swim with y'all okay this first one is a wide strap underwater swim top I just really like the tie I feel like that's another big trend in swim right now and I saw this wide strap square neck bikini top and I just thought it was like a really nice like full coverage it looks like very like you know not much cleavage but also this girl doesn't really have that much boob so I don't know if like that would be different but I think it looks like very like supportive and the bottoms look really nice they look high waisted which is great I can't find the bottoms right now but I really like the top and just like the texture it's a white color but it does have like some texture on it which is nice and then we have this kimono cover up I love me a good cover up obviously you know when you're walking down to the beach on vacation sometimes you'll need a cover up if you're going to like a restaurant right there so that is always nice not sure if you guys know what the outdoor voice is like active dress looks like but I found a dupe it's the active mini dress on Abercrombie and it comes in an all green color which I've actually had my eye on for months now have yet to pull the trigger but I feel like the spring sale will be a perfect time to do so and then next up we have a scuba knit midi dress and this is really really cute it looks very comfortable I have multiple dresses from Abercrombie and I could just see like this being like tied up at the end cute sneakers like maybe like a really light jacket like a denim jacket and I just like have a fish in my head okay I cannot get enough of like the one shoulder trend I love it so much so I saw this one shoulder sweater body suit I'm not sure like how thick this sweater is because I don't really want anything like too thick especially going into like a hot summer but they do have this one in white and I feel like this would be a really good body suit to get because since it is a sweater it'll be thick so you wouldn't have to wear a bra which is great because like I don't even know what bra I would wear anyways with the one shoulder the next thing I saw was the poplin shirt dress and I feel like my vision for this is like a cute like beachy theme so like hair in a bun maybe sunglasses oversized sunglasses really cute summer sandals and this dress I feel like is a such a look I'll be totally honest with you guys I've actually stayed away from florals in the past like year or so because I just feel like they're very trendy and I get over the pattern very easily but this one is like super cute again it's real it is really trendy like I know I'm gonna like get sick of it probably like two months from now so I don't know if I'm going to be purchasing this one but I do love the green color from this dress I mean it does have like a bunch of other colors and also like this floral is not as like obnoxious I guess I don't love like big floral patterns like I really try to stay away from those but I feel like this is like okay I also feel like the structure of this dress would be very very flattering I'm actually on the hunt for a straw like fedora kind of thing and I saw this straw Panama hat and I'm very tempted to get it it's only like 40 bucks compared to like what hats usually are I feel like hats are very expensive but I might like go around to the austin hat shops I know there's like a bunch on south congress and like you know take a peek see what my options are and then come back to this one and then next we have the classic sweatpants like I said their sweats are everything so stock up on those two while you can that wraps up this video let me know what you guys think about this format I did like a grad dress shop with me kind of thing and I thought it was really fun you guys seem to enjoy it so let me know if you guys want more of these and also don't forget to follow me on like to know it because throughout the sale I'll definitely be posting a lot more pictures and obviously you can shop through the app to get the sale so I will be linking everything in the description of this video but for you to get the sale you need to shop through the app if that makes sense so go ahead and download the like to know app follow me again it's so underscore gnarly without the g and also while you're there definitely go follow all of your other favorite influencers because I know that they would appreciate it too and they're probably going to be posting a lot about the sale too so you can get a lot of inspo from them as well but I hope you guys enjoyed this video and I will see y'all in the next one bye


Okay, Nate's a tough act to follow but we are going to do amazing things for you this morning. Good morning. Thanks to New America for us being here. We have an amazing set of panelists and I'm going to start out with some high level introductions and then we're going to have some opening remarks but I want you to know that we are going to be swinging back at the end for some conversations with you. So think of your brilliant questions as we're going through this. We're focused on the new ideas, you know, those how do we skip echelon, how do we think in game changing ways about the cyber arena and of those ideas and concepts, which are the ones that this administration that we could get them passionate about, right? So it has to map to some of the initiatives that this administration are already focused on. Otherwise, right? They're not going to take it on. So first on our panel we have Christy Rogers. Christy is currently the managing partner at principle to principle. Previously she successfully launched two companies and is founder of the Women and National Security Group with the business executives for national security. Next we have Ava Galperin. Ava is currently the director of cybersecurity at the Electronic Frontier Foundation or EFF. Previously she has worked in security and IT across Silicon Valley and she is focused on providing privacy and security for vulnerable populations around the world. And next, you skipped in, I saw that. Next we have Bobby Stemfley. Bobby is the director of cybersecurity implementation at the MITRE Corporation. Previously we all knew her as the deputy assistant secretary and acting assistant secretary for cybersecurity and communications at DHS. And previously the CIO at DISA. Bobby is focused on advancing the cyber strategy across the MITRE customer set. And last but not least is Herb Lynn. Herb is the senior research scholar for the Center for International Security and Cooperation. The Hank J. Holland Fellow and Cyber Policy and Security at the Hoover Institution, both at Stanford University. Previously he was the study director of major projects on public policy and information technology at the National Research Council.   Christy if you could give us some opening remarks. Excellent. Can everybody hear me okay? Good morning. The traffic on the parkway was a nightmare this morning. I think I had way too much caffeine in my car. So I apologize if I go fast I'll try to go slowly. Well I'd like to say we all know everything is connected now. And if it's not it soon will be. I mean 15 billion devices are connected now. It is estimated by 2020 that anywhere between 50 and 200 billion things will be connected to the Internet. And as my husband likes to joke in public and at home he thought the refrigerator was working against him already and now he thinks it really is. So we have this conversation professionally and personally at home as well. But if you think about it the digital economy which is soon becoming our economy is has the potential to drive one trillion dollars worth of growth by 2020. That's a staggering amount. The opportunities are incredible but so are the risks. Now that one trillion dollars in growth depends on our continued innovation. The continued innovation of our entrepreneurs, our technologists and our business folks. At the same time we need to protect our data, our intellectual property and our crown jewels. So we really you think about it the economy and security are two sides of the same coin. They should work together. They should be complementary. We should not think about them as opposing entities or on opposite sides of the universe. And it seems as though in today's debate or discussion all sides have retreated to their respective corners in the boxing ring. And it's extraordinarily unfortunate because that growing divide, the divide between Silicon Valley and other innovation hubs and Washington D.C., the policy makers, that growing divide is stifling innovation and growth because it is leading to reactionary regulations, reactionary legislation that is punitive in nature and that actually hurts businesses. Now if we continue down that path I think and so do many experts that we are not going to reach that potential in one trillion dollars worth of growth. So this is about our economy and it's about time that all of the experts and the practitioners reframe the discussion. Cyber security sounds so passe and so many people from Silicon Valley have told me you sound like a cyborg when you're talking about cybersecurity. Everything is digital now. It's the digital economy. We need to start talking about it in terms of our economy. And we need to come together as business leaders, as entrepreneurs to come up with guiding principles for the digital economy. Our policy makers need a road map. We cannot fall back and rest on our laurels and let policy makers decide the guiding principles because it's not going to work. Not only are they going to be five months behind, there will be five years behind because when they're trying to regulate or set up policies to support a technology by the time it's enacted, the way the glacial pace our Congress moves, the executive branch, it's obsolete already. So business leaders and activists and entrepreneurs need to come together to set up guiding principles. And we all laugh. Maybe that sounds polyannic. It's been done before. Twenty years ago this July 1997, you can actually Google it, a C-span video. None of us were alive. No, of course not. There was great hair in the video. There were five people that sat on the White House lawn, Steve Case, Eric Schmidt, Tara LeMay and two other entrepreneurs, I'm forgetting their names right now, forgive me, to announce the guiding principles for the Internet of Commerce. Now they said it's going to be transparent. It's going to be open. It's going to offer all of the economic growth and prosperity you can dream of. But they acknowledged that it does not include inherent security principles and it doesn't include encryption and they said the word. And they said 20 years ago that the policy leaders are going to have to work with businesses to come up with those principles. And we've not really yet done that. So my challenge is the next big thing for cybersecurity is to align it with the economy, to align economy with cybersecurity, to develop guiding principles for the digital economy, for the sake of our crown jewels and for the sake of our economy. Thank you so much, Kristi. Eva. Hey there. My name is Eva Galpin. I'm from the Electronic Frontier Foundation. So I guess I'm here to represent civil society or as you guys probably think of them, the people with no money. Sign us up. I know it's a really exciting value proposition. Protect people with no budget. But that's mostly what I do at EFF and mostly what I think about, which is that right now, if you think that you are vulnerable or that your company is vulnerable, I am here to remind you that there are people out there who are even more vulnerable. So activists, activists, people working in war zones, women, people of color. Surveillance disproportionately affects people of color and the poor. Women are disproportionately affected by surveillance, not just by governments, but also by abusive partners. So these are the things that the people with money very rarely think about. I spend a lot of time talking to rooms full of 30-ish white software developers from Mountain View and they make software for 30-ish white software developers from Mountain View with 30-ish white software developer from Mountain View problems. I usually show up in order to remind them that there are people with different kinds of problems where if your information is exposed, the consequences are much greater than, say, having to call up your bank and change all of your credit card numbers. If you are a journalist, your sources could be unmasked. You could end up sending somebody to jail. If you are a woman or a person in an abusive situation, you could wind up being beaten or killed.  So the consequences are very real for these people with largely no money and not a lot of understanding of how privacy or security work, much less the kind of... So what are some of the big ideas? We're getting there. The big idea behind all of this is that because these people do not have their own security teams and they do not have the power to represent themselves in the security industry, we have to do it for them. It is our job to think about what they need and to make sure that these visions are already built into the products and they're already built into the policies from the very beginning. People who are at a disadvantage are not going to show up and say, do this for us because they don't even know that it can be done. But we need to think about building products and policies that are for people who are not ourselves. Absolutely. That's a great point. Thank you. Bobby. Actually, my colleagues' comments resonate with me a great deal because I've long believed that the security community has got to stop talking to the security community and I'm very frustrated by the statement that says we've been talking about the same thing for 20 years. Why do we think we won't be talking about these same things 20 years from now? I like to make progress. And one of the things that I've been giving a lot of thought to is what are the narratives in this space? As we've grown awareness, as we have security on the front page every once in a while of the paper and it's at the boardroom level and all of these pieces, what are the narratives that resonate with people and how do we find ones that will promote action in that space? So I'm going to do a little query of the audience here, Terri, if you will allow me. Sure. Raise your hand if this is the way you think about it. The cop on the beat, law enforcement is the big deterrence, right? We've got to put them in jail, we've got to figure out what they've done and investigate them. No. It's just another risk, right? It's just one more thing I've got to manage in my portfolio of risks that I manage as a company. Okay. I've got a couple of hands here, three, four, 10, 15. Just one more, right?  I can't even deal with it. I don't know how to spend money on it. I don't know what to buy. It's better if I just ignore it and stay one step ahead of the guy that is less secure than me. Okay. A couple of people have heard that one, heard that one too. It's too bureaucratic, right? I don't even, it's the government's problem. There's a bureaucracy about it. They're going to tell me exactly what to do and as soon as I do that, I'm going to be covered. Right? That was a little bit of that in your language there as well. This is war. It's the government's problem. This is war. How can they expect me, company XYZ, to handle an attack from a nation state? This is a war where is my government. Right? Okay. A handful or two. These are the narratives that exist and do you notice how much they're actually competing narratives in that space? And you wonder why we can't make progress, right? We can't make progress because we are in a problem of paradoxes and we have to start figuring out how to keep those paradoxes, how to look at them as paradoxes and not as false choices. Privacy or security, right? That's a false choice. Security or innovation, that's a false choice. There are a whole range of, right? Transparency and operational security, right? You can't have both. That's a false choice. We have to, I think a lot about both of your comments because if we could reframe this discussion into something that looks at it from the multidimensional way that it is, I think we could start making some progress in this space. Great points. Okay. Herb. So I'm here, I guess, as a member of the Presidential Commission that was established last year to report to the next president on cybersecurity for the U.S. government. Then we issued a report in mid-December of last year and the focus of our report as called for was the digital economy and how cybersecurity would, try to lay out a cybersecurity agenda for the new administration that would support the digital economy. So in that sense, the spirit of the report, I think, is broadly aligned with the comments earlier that cybersecurity is an integral part of the digital economy. We took, it's important, I think, to say that we did not take two things that we didn't say. We didn't say that government has no role and we didn't say that government is the, covers everything. We called for working with the private sector and so on. We also emphasized the role of incentives for doing better cybersecurity. There are two kinds of cybersecurity that we thought we had to think about. One was getting cybersecurity, the average level of cybersecurity up to the level of the best. When you have the best cybersecurity company that has really an outstanding cybersecurity posture, it's proof that you can get there and lots of people, lots of players aren't at that level. So one part of it is getting them up there. And to that end, we made a number of recommendations to help them get there, mostly focused on the NIST framework as a way of helping them to think about these issues. Then once you get up to the best, the level of the best, then there's another gap between that and the actual threat and getting even better there is something that companies aren't going to be, almost by definition, aren't going to be able to do on our own. So I thought we paid a lot of attention to what government could do in that space. You could characterize, there's a big part of that gap between the best and what the actual threat is that can be characterized as the sort of the nation state threat and so on. They're really severe threats. So we thought that government had an important role to play there. Something that the report did not explicitly say, but which is in the, if you read the text of the report carefully, it goes through it over and over again, which is really the market has failed to deliver adequate cybersecurity, both for individual players and for the nation as a whole. We thought that we could structure, that we needed a way of structuring incentives to get the rest of the nation, to get the nation up to speed. I don't mean the rest of the nation, I didn't mean that. We thought that the U.S. government had a long way to go too. So we have a lot of recommendations there about how the U.S. government should improve its cybersecurity. Okay, thank you. So before we open it up for questions, if we could drill down into each of the themes that you talked about and pick one thing that you would like this administration to work on, an executable idea. We know that they focus on, there is a focus on the economy, entrepreneurship, extra resources for DOD, perhaps that means rules of engagement, R&D, private-public partnership. So can we have one thing that you would like them to do? Quick. Go. Reframe the discussion to be about the economy and bring together leaders from the private sector to create the founding principles or new rules of the road for the digital economy. Okay, thank you. Probably when somebody asks me what I would like the government to do, my answer is nothing or as little as possible. But I do actually have something that the government could do. Which is that I would really like to see more transparency on the VEP, the vulnerabilities equities process. I think that given that the government is buying zero-day vulnerabilities, I would really like to have a better idea of how they make the decision to either use these vulnerabilities or disclose them to the vendors. I am not suggesting that the government stop buying o-days. Really great comment. Thank you. Bobby. So I think that if we took the idea of public-private partnership to the next level, if we really thought about how do we create a near-miss database or a data exchange that enables shared analytics at a scale, right? Yes. We trust that scale is hard, very hard, but we have to tackle that hard problem, I think, to make progress. That's a really good one. What I'd like to... There are many things that the government could be doing, and we talked about many of them in the report. And I think one of the most important things about the report is that it's an integrated whole, that you can make progress in area X, and if you don't make progress in area Y, you don't reap the full benefits of your investment in X. But that said, the thing that I want to point out as worthy of government attention is something that's apparently in the draft executive order on cybersecurity, which is getting the U.S. government to adopt the NIST framework for thinking about cybersecurity. There's an order in it that says government agency, you shall adopt this as a way of thinking about cybersecurity. That's a good thing. There's never been that before. Okay. Great point. Start with yourself. Okay. Questions from the audience? We have mics available. You want to raise your hands? Up here? Good morning. My name is Maurice Turner, congressional innovation fellow working in the Senate. My question is more directed toward Christie with a little bit of info pulled in from Eva. If you're saying that it's up to the business leaders to come together and have these guiding principles really drive the conversation, how is it that you expect more communities to be represented if there is under-representation at that board level in business? Well I actually do think the government can provide a forum for that and I think it will be up to, quite honestly, the business leaders and the innovators and maybe government to make certain that it is an appropriate and accurate representation of all communities. So small, large, mid-sized companies, rural, urban students, the disadvantaged, the slighted. I mean I do think that there needs to be, because guiding principles for the digital economy, you know, it's not just about tax reform or the right tax structure. It's much bigger and broader than that. So I actually do think that the government can set up the forum and maybe can be responsible for identifying the right people. I think it's up to the business leaders and the innovators and maybe saying business leaders isn't the right word. Maybe it's saying the American public and leaders from various sectors of the American public coming together to develop the guiding principles. Maybe that's the better way to say it. That's a good qualifier, Ava, anything you want to add? So there are sort of two directions from which to approach this. One is to change the makeup of the companies and the other is to make the consequences of not serving these sort of grassroots and underrepresented communities clear to the companies and EFF sort of has an opinion on both. One of them is to encourage companies to hire a more diverse workforce because people build tools for people like themselves. And the other is actually reflected in EFF's own grassroots organizing plans. We're currently working on what we call the EFA, which is our sort of grassroots organizing organizations all over the United States. We are definitely reaching out to communities who are not like us. We're particularly interested in immigrant communities. We're reaching out to student groups on campuses and things like that. And I think that one of the things that we can do is to make it, is to offer them ways in which to communicate with these companies about the consequences of their policies. And that's really where an area in which I think EFF and indeed all of civil society can really be a bridge. One thing I would add is we're not demanding that our privacy and that our security be embedded in the products that we're buying. And so I think a grassroots approach is enough education out saying, hey, if you ask for it and demand it and make buying choices based on it, you start changing the whole dynamic of what's going on today. And we're not doing that as a society, but just a footnote. Another question. Yes. Over here. I'm Mike Nelson with Cloudflare. And I wanted to pick up on something that Nate Fick had said about how there's going to be more consolidation in the cybersecurity industry, the move to cloud platforms. How can we do better with the new cloud-based platforms that are providing cybersecurity protection, providing the infrastructure, the small businesses plan, rely on for their entire business. And I'm talking about government action, business action, and civil society action. So one thing just before I turn it to her, because I know you've focused on this, and then Bobby, is I always think of secure cloud as more secure than not doing anything. So if someone is not doing anything today, at least that's an improvement. I'm not speaking for the commission specifically in response to what you're saying, but from my standpoint, at least one of the big issues in thinking about security and the cloud is the uncertain legal and regulatory environment that it faces. So when you have a cloud service and you quote, upload it to the cloud, where is it? And whose laws protect you or don't protect you. And there's all kinds of uncertainty about that. And I don't think anybody believes that that uncertainty is a good idea as a matter of course, but nobody wants to say, no, no, I'm willing to give up my jurisdiction to somebody else, but I don't want somebody else to have jurisdiction over me. And if the answer is world government, that's not going to be the right answer. Bobby? So I agree that we have to produce some of that clarity because that's an impediment to the kinds of things that need to happen. One of the things I find so important about cloud is that it is a re-architecting moment for organizations, right? And we are rapidly disintermediating everything. And if you take that moment, it is an opportunity. And if you take that opportunity to think about what your business process is, why your business process maybe needs to be operated in that way or not. Simplify, clarify, and put it in place. You can in fact make market improvements in your security, even if the technology is only marginally more secure, right? Because we don't actually understand, enterprises today don't generally understand the complexities of the operations that they're doing. And having helped large enterprises move from one technology platform to another that you discover a lot in that moment. And so that lost opportunity has fairly profound consequences if you're not thinking about it. You'll never take the opportunity if you don't provide some of that clarity. One of the things that we were really clear about in the CSIS recommendations is that for the government in particular, and I'm a strong believer in this for there and for industry. You should not think about cloud as exclusively a business efficiency environment, right? Everybody goes into these shared services consolidations as it's gonna save me money, and that's the only lens you think about it from. If you have an unknown, unmanaged, unenvironment moving it to a more managed, mature, executed environment, even if it's on somebody else's computer, which is what the cloud is, right? It's just somebody else's computer. You've actually, you can make a security argument or a security reason for that and could help you in crown jewels in other areas. So I think that's a great one to punch because it's really for a lot of people they need to do it, but our policies and our statute have not caught up to make sure that it's a framework, right? That has been looked at. Okay, we have time for one last question, I think. Yes, ma'am? My name's Supriya. I'm a student at GW, and I have to say I'm relatively new to the field. But I was reading the other day about how I believe that was the, there's a former NSA task force that evaluated the security of different government agencies, and then I believe it was dissolved because people weren't making those corrections. And I also know that that's quite familiar in the public or private sector field too. You make the suggestions, you don't see the changes, they still experience the problems. So how do you get individuals to really care about their security without scaring them? Can I jump in? Absolutely. I'm going to point to three different statistics. One from 2012, one from 2014, and one from 2016. Same question, identifying, or looking at small, mid-sized, large companies. 90% and the statistic varied from those three studies from 85 to 90%, and that's it. 90% in 2016, so it went up, of all breaches and attacks could have been prevented with simple cyber hygiene, controls and processes put in place. So your question is a real legitimate question. I mean, a basic cyber breach or cyber hack that is not what happened to Sony, right, it's not what happened to Target, it's not what happened to Downey. If it's a high end. But small businesses today, if they have a breach, the vast majority of small businesses don't survive after six months. So it's wiping out our small business community. So how do you do it? It's really going to require, I think, a cultural change. It's exactly what you said, Terry. It's how we, the consumers and the users of the digital economy or the digital space, look at it. We are not used to demanding that our data be protected. We are used to it being open. I mean, just think about it when you open up your Google, your Gmail from Firefly or from Safari today. Huge malware that's out there that you could actually attack. We don't think about that. We don't think about what we put out there. So I don't really have an answer other than it's going to require a cultural change in the way we think about it. And no matter how many cyber training programs that are out there and have been implemented, I work with a couple of companies that actually provide them, they're really not making an impact. And that's, we need to think about it that way. Please. I have an answer. Yeah, so the bad news is the security trainings don't work. At least not the kind of security trainings where you parachute somebody in, have them talk to people about security for an hour and then leave. Right. Or even if you have them talk to people for, say, three days, that doesn't work. All you can really hope to do is make incremental changes. So there are a couple of different tactics that you can take. The first is to make security default, make it transparent. And one of the best examples of this has been our efforts to encrypt the web. About 50% of all web traffic right now is encrypted and that definitely was not the case five years ago. I mean, we still have a long way to go because 50% is kind of embarrassing. But it used to be that if you could just sit on the network, you could sniff nearly everything which was going on. And that is kind of mortifying to people today, or at least I hope it is. And the other is a little bit of education. Possibly not going so far as training, but the majority of security breaches really do happen either because people have not patched their software or because they have fallen for a phishing attack. And so it is fairly easy to fix both of these problems. And it's something that really doesn't get enough attention because everybody likes to think of security breaches as this sort of mission impossible, like Tom Cruise coming down from the ceiling kind of situation. But really it's a phishing email saying reset your Gmail password. And a lot of security people either have given up on trying to educate people about phishing or think that this is a solved problem, two FAs. So done, hands up, and neither of these is the case. So to wrap up, cuz I know we're actually retraining time that we've had. I think it's two things with the government. It is digital literacy that starts in elementary school and on up, right, across the population, right. You can't fleet in people to do training and change culture and minds. And the next thing in government is accountability. You can give us money and you can take it away. And there needs to be accountability for over time reaching those basic benchmarks. You can do that in government. Any last seconds and then we'll wrap up. I think you do have to scare people. And the point is that you have to scare them a little bit but not too much. It has to be scared enough to take action but not enough to that you say, it's all hopeless. And security is ultimately a tax. That is, it's something that you pay. Everybody wants the convenience, wants convenience. And if you want security, you're gonna have to give up some of that. So that is an unavoidable trade-off and you can manage it. But you have to start thinking about what things are more important. What are you willing to put the effort into? Nobody here has passwords for the fun of it. Okay, Bobby, come on. I agree to a point. I agree to a point. But one of the things we've got to do is engage more disciplines in the conversation. Right, cuz you can scare people but people still smoke. Right, maybe a whole lot fewer people smoke today than used to but people still smoke. And so we have to bring in social scientists, cognitive behaviorists. We have to make usability a key feature of the products that we use so that people are using them correctly and smartly. But there are lots of pieces of this. But it's an interdisciplinary problem. It's our society, it's our economy, it's all of us. And security is not a destination. Right, patching is not something you do once. No, but economic success is. Okay, well listen, what an amazing panel please, a round of applause. Thank you so much.


Good afternoon, everybody. It's a pleasure to be here even at the end of a long two days and before Bill Gates and Brian Monaghan speak. My name is Tom Heller. I've spent most of my life as a professor here, went into the private sector with an analytics group for 10 years or so. And now I'm lucky enough to be back in some important degree to work with the Precourt Institute in the Bank of America's new sustainable finance initiative. And I'm even luckier to have a good friend here with whom to talk, Joaquin Levy, who is the CFO and managing director of the World Bank and previously maybe known to a number of people here as the finance minister of Brazil. So lots of experience in all of these questions and a real opportunity to learn from him. Let me say that while we always think of technology as the driving force and certainly at Stanford, it has been an extremely important driving force in thinking about energy transition. Finance in some ways has always been at the very heart of the policy agenda all the way since the Rio Summit in 1992 because there are many ways we could understand all of the efforts that we have been making over the past 26 years as following the load star of re-pricing assets so that the asset values we see in the market actually reflect the various external costs, the non-monetized costs, whatever you want to use as terminology that reflect the total impact of the various values that the assets add to the economy. And yet, while we've had this single load star to follow and have approached it in different ways over time, in the background, this whole effort has gone on against massive shifts in technology, in economics, in finance itself following the recession, in institutions, in geopolitics. And I think one of the things that would be useful to explore in this conversation is to understand how the energy transition fits together or rubs up with friction against these various other changes that are going on in the world that contextualizes the energy changes. And because of the nature of these damages or these potential costs associated with the byproducts of energy, we know that these problems have to be handled in at least some coordinated way across the globe. They cannot be handled nation by nation. So at least in a core set of countries, we add the coordination problem to the general question of these multiple changes that are interacting with each other. So what I would like to do in this conversation and in these questions for Joachim is I'd like to focus on three specific aspects of this. First, there is a new landscape of finance that is evolving across the world and certainly in this country. I would like to think about the relationship between public finance and private risk in that new landscape. I would like us to think about other major changes in context. What is going on in political institutions more generally? What is happening in macroeconomics? What is happening in technology? How do those fit together? So that's a second area of work. And I think the last area, which we may get to principally through either questions or through a variety of illustrations in thinking about these principal changes is that as many people have spoken and alluded to, we have seen a real change in geographic concentration because to solve the issues of managing climate risk or other sustainability risk, so much of the world's capital, innovation, demography has moved into the major emerging markets, and we simply cannot solve this problem without an understanding of how these problems are situated and how they're going to be defined. So let me begin by focusing Joachim's attention on this new landscape of finance in the world that is both post-recession and post-Paris in a world in which some of the initial things we were trying to do, like have a homogeneous, serious carbon price across the world or have international negotiations that were productive rather than paralyzed. As we've moved from general questions of credibility to infrastructure, implementation has become the critical question, and that partially explains the focus on finance. So Joachim, through the world of development banking, where you are at the World Bank, there are other multilateral banks, national development banks that you know well, can you describe your sense of how this landscape is changing and what the implications are? Yes, well, good afternoon. I presume most of you know what the World Bank is and the different institutions that comprise the World Bank. We are focused mostly in developing countries. Some have advanced dramatically in the last 30 years, so the landscape of our membership is changing in terms of our clients. Some are what you call graduating, but continue to participate as stakeholders, shareholders in the institution. As Tom mentioned, of course, the participation of the emerging markets of developing countries will be increasingly important in the discussion of climate change, and I would say stability in general and in the global sphere. A large part of the global growth comes from emerging markets. But also we saw this morning, or this morning, the slide that showed that the impact of climate change is particularly dramatic in emerging market countries and developing countries. I would say this is the reality in many of these countries, given today, and 90% of the countries that are really fragile and vulnerable is because they either are vulnerable from the point of view of, say, climate or because of governance of conflicts, and very often both are linked because of famine or because of dislocations and continuous poverty. So this discussion is very much at the heart of what we do. I think the two existential things for development these days, and we just highlighted this in our recent annual meeting in Bali, are climate change and, of course, knowledge, human capital, how people can respond to all the differences in the workplace and the economy. One of the big changes we believe that has happened, of course, is that a lot of the new industries, let's call them the economic activities that are the most profitable, actually are less capital intensive. The cost of capital goods, the cost of capital required to unit of GDP growth has declined significantly in most advanced economies, which has created a problem in terms of what to do with the savings. Of course, part of the very low interest rates today are due to the action of central banks, but it also reflects this change between the supply and demand of savings. And we believe this is a great opportunity to find a meaningful, let's say, investment opportunities in developing countries where you can through infrastructure in particular and energy that is absolutely fundamental for economic development to have long-term income streams created in a very diversified, let's say, geographic distribution. Of course, for these, you require also what we call a soft infrastructure, conditions that make investments with a level of risk that they adequate. And this is the heart of our activities. And there is where we realize we have increased the share of a climate-related, climate-benefited projects in our balance sheet about a third since, let's say, 2015. It's relevant, but the multilateral banks, the development banks are tiny compared with the size of the overall challenge. While, like I mentioned, we do have a lot of savings that need to be redeployed and bring together these two aspects exactly what we're doing, trying to mobilize the resources of the private sector. And the mechanisms are many. You, of course, are familiar with green bonds, other initiatives where we work with the government and with the market to create means, vehicles for investment that are particularly targeted to, let's say, promote investment that have an impact generally in the environment, but more and more into the infrastructure and in climate change. And we work very closely with the G20, which is this group of countries. Next year, the G20 will be in Japan, where the focus will be on what's called the quality infrastructure. And there we want to, all the countries, want to inject exactly how you invest, particularly in energy, look forward and try to bring the new technologies so that you can change the price equation in these countries. I think it's a remarkable, and also I think this morning it was mentioned the case of India. Five years ago, we talked, we'll go to India and the government will talk only about coal and how coal was the way to go. And especially after President Modi, what you've seen is a Prime Minister Modi. What you've seen is a clear shift to solar. And price-wise, you discover that you don't even have to give subsidies for that. So the focus of our activities is to bring the private investors so that you can leverage our capacity. We can take some risk on our balance sheet so that you have what is called the blended finance where we take some of the risk that cannot be diversified by the private sector. And also work so that you get an enabling environment where you can have this investment. And we believe that this can have a transformation impact in many of these economies in a way that actually increase the productivity, the potential growth of these economies on a sustainable way. And bring, like I said, a meaningful income, long-term income and streams to investors. Do you see increasing cooperation from your standpoint as it'll lead multilateral bank with some of the institutions, national development banks, the China Development Bank, the National Development Bank of Brazil, the state banks in India, who have enormous capacity in terms of their lending ability? Is that being brought into this question of blended finance where the structuring of the risks reflects the different risk absorption capacity of the different public banks as well as between the public and private banks? Well, yes, no doubt. And often it's this blending that works. Taking the case of Brazil, for instance, people will not know, but in a few years we got, for instance, wind accounting to something as 15% of the installed capacity of energy in Brazil. And in many of these places, like here in the US, there is this combination where you get the new technology and also you get a lot of new jobs created because you're investing in things that, of course, you have to build, et cetera. So it's something that ultimately is very attractive. In China, it's quite remarkable what it's been doing. And in the area of green bonds and a number of incentives for banks also to steer or to favor investment when you have two choices, one that is greener than the other, how you get the price signals so that, say, companies will rather pick a type of investment so they know they can get cheaper financing. Usually through an indirect way, in the case of China, for instance, the central bank would require less. We reduce the cost of reserves for banks that have a portfolio that is greener. But this is not only in developing countries. Actually, if you look, we see in the Netherlands, ING, which is one of the biggest banks there, they also look into the strategy, the portfolio of some of their borrowers. And if they see that it is sustainable, even if today's portfolio of this client is not totally green but they see they have a credible strategy to become greener, they will be glad to land in more favorable terms. And the margin then to companies that think that this is not important. And I think that this approach, especially when you look at banks, is important because we don't want to have green washing. We don't want just the companies to focus on marginal little things but really to put in place a new way of thinking. And even if it's not immediate but to have a really good strategy to green their overall portfolio. And I think, and maybe you could discuss a little bit about this, I think a turning point about this was that the document put forward by the Financial Stability Board, which is an institution created after the great financial crisis, they bring together the G20 central banks and other institutions, the World Bank, I represent the World Bank there. About two years ago, they issued what's called the Bloomberg report about the disclosure of climate risks, the so-called stranded asset risks of companies. And these as well as some legislations in France that requires companies to disclose how they address this risk. I think it's a very important step forward because it brings the discussion to a much higher level of rigor and creates a language that can be really talked by all participants. So I think these, perhaps even more than government determined carbon tax, can be a tremendous effect in changing the direction of investment and really translating the kind of information that, for instance, the IPCC, the report of the UN, and so on, have made available. You have to create these levers and mechanisms that translate these in pricing to companies. So let me just go a little further with the example of China because it is so important in the position of dealing with the world's carbon risk management. And that has certainly been stressed in these discussions. But I think there are several points that Jiaqin made that deserve attention. First, nearly all the finance in China is from the state banking system. Let's be clear about that. The risk associated with these investments falls onto the state. That's a remarkable decision because it has raised two questions recently that are worth discussing. They entered the question of securities markets because previously all of this financing, green and brown, was done by bank lending. Now they have entered security markets and have issued a very substantial volume of green bonds issued by the same state banks as we're doing the lending. But the securities markets bring a different tone to this overall question. And perhaps the most interesting issue is they have just made decisions in the last two weeks that they cannot green the bond market without greening the loan market. And so the People's Bank of China is now issuing what I think will have to be a trend, which is trying to understand, as you suggest, the total picture of financing, which is being done, both through disclosure and through incentives of the type that they are now issuing. So I think it's very important to keep our eyes on this factor. And I guess my question is, are you optimistic about the rise of various thematic special purpose vehicles, green bonds, green funds? Or is it the larger portfolio and the wisdom, the productivity of its allocation, where we ought to be focused over the coming years? I think these instruments are our gateway for investors. There is a clear demand by investors. And so to organize a market, it's important to respond to that. In Europe, for instance, there is an effort even to regulate debt so that you have consumer protection. You're the investor that put the money in something that's green and knows that this is green. And I think that more broadly, the market can provide part of this assurance. I think we at the bank, we work at several levels. We have a partner, for instance, with one of the leading asset managers in Europe to get $2 billion fund that basically will help, we invest in different banks so that they can help clients to issue a green bond. So we are using the private sector, enabling, say, companies in emerging markets, sometimes smaller emerging markets, that by themselves do not have a way to access the market. But through this fund, they can get access to the market because the fund then issue in advanced economies to really develop green bonds markets in all developing countries, including small countries in Africa. This is very important. Also, the mechanisms of coordination we are considering, you see together with IMF, we do regular reviews of the financial sector of countries, what's called FSAAP. And we are now considering to include a component to see how well their financial system is equipped to deal with this new landscape and the new risks related to climate change. Let me make one observation here. Of course, for growing economies, transition costs, in a way, are easier because you have additional demand. This is the point Tom often mentioned. I think the advances in productivity even in markets that are not growing so much. Sometimes we have now alternatives that are much cheaper than existing sources of energy. And the question is how you create a regulatory environment that allows finance, for instance, to bring forward this gain of productivity. So, for instance, you can pay for the discommissioning or for compensate the incumbent that has a dirty, actually more expensive productivity. So I think part of our work in the finance side is really to work with regulators on how to really use the flexibility when there are gains to be shared so that we can make the transition but take care of, let's say, the dislocations. And this is very important because we have the very clear example today of trade. Trade is an example where you have a lot of gains when you have trade. But if you don't take care of those that suffer sometimes limited by very concentrated impact of this transition, then you have people who are left behind and you get a backlash. So I think more and more we in the finance side, we also have to look on how to use finance to smooth the transition between models. I think this is an extremely important point and just to prove at it a little further, many of the banks, the public banks have a history of deep criticism from the IMF, for example, on the productivity of their allocations. There can be lots of reasons, corruption, gaming, but no one knows that better than someone who has been the finance minister in Brazil. So there is this really interesting problem we have of trying to understand how to take these scarce public resources that are necessary to bear the risk with private actors in the system and allocate them efficiently. One of the things that I find most interesting in China, and this is for comment, is that I never hear and I spend a lot of time in China. I never hear people talking about a climate crisis. This is all framed in terms of growth and it's largely framed in terms of AI based growth in which energy is an application that will produce greater growth and efficiency, but it is not the energy position itself that Xi Jinping emphasizes or the banks push, it is the transformation of the economy more broadly to bring a new growth model to China. Do you see this as a rising tide or simply a part of how life goes on in China? Let me say two things first. Yes, I think like you mentioned, especially in expanding economies, the opportunities of if you're investing and you're investing for the next 30 years, you better invest in something that will be sustainable and you'll be working 30 years ahead. And this is clearly, for instance, what is said in India like I mentioned in slower win in Brazil in many other countries. Now talking about how to use and how to focus resources, I would come back to the question of how you put a lot of these things in the language of risk. And here, let me mention something that is quite important. It has been created by willing central banks the called network for greening financial system. And what is the idea? The idea is there really to use the, say brain power, the capacity of central banks to really start to analyze the climate change risks in economies in the real sector and how they future in the financial sector, the stability. It's true that often we think it's stability like three or five years and maybe climate change in five years is not so obvious. Well, first, there has been an acceleration. Second, we may not be talking only about banks but also talking about insurers, et cetera. Many of these central banks are actually the regulators of insurers. And the fact that you start to have a good model that can price this risk and can see what is the impact, prudential impact on the financial system, I think is one of the most clever way to really price the risk and to provide the right price signals to those who finance companies and through this mechanism, actually the companies themselves in their investment decisions. So I think that we are getting into a new phase where we are moving to a much more systematic approach to analyze these risks. There are enormous complexities. We go from the new scenarios, et cetera, all sorts of non-linearities, but you start to get away where in a systematic way you can get the right price signal. So certainly one of the main focal points of the new SFI is going to be working with these central banks in trying to come up with the metrics and the management strategies that would allow them to regulate in a variety of ways and offer modes for managing these risks as they do appear in the economy. I would raise a question with you. The People's Bank of China, central bank, the Reserve Bank of India, central bank, certainly in Brazil, the central bank, are critical actors which in some ways mark a potential institutional shift. That is to say, we started off with multilateral negotiations. They had their problems. We started to shift focus onto the fiscal authorities, the to impose taxes, carbon taxes at the local level. There has been slower than desired behavior in that area in pushing the price up to one that affects behavior. We then turned to the development banks. Now, you and I both are very interested in turning to the central banks. Is this the latest fad or do you think there's really something about the central banks that ought to give us more hope than we have or more prospect for success than we have had over the last 25 years? I think it's a process. I mean, and you know the difficulties of initiatives and the global coordination from a political side. I think, like I said, the advantage of having this in the discussion in central banks is that you start to have a clear language that can translate these risks on things that can measure and you start to see how this impacts the stability of financial system and then this requires some action that you've been the remit of these banks. These are not ways to get a backdoor subsidy or support. No, it has to be clearly focused on the real risk that you have to the financial system and then take the adequate prudential actions there. The fact that this may have a price impact is only plus because this will be the market-based way to get financiers and companies acting well, ultimate for our survival. We have five seconds left. I want to thank everyone and I want to particularly thank my friend Joachim for spending this time with us. Thank you very much. Thank you.