Hello, Salt Lake City. So nice to be back in Mountain West. I want to thank Mike for having me again. My talk is on ES 2016. And my talk name has changed slightly because we are now changing the way that we version JavaScript. Starting as of now, we will version JavaScript by years. And so before this was ES 7, now it's ES 2016. A little bit about me. My name is Jabri San. I'm Netflix's cross-team tech UI lead. And I'm a member of the TC39. And that's really why I'm here. ES 2016 features are actually already starting to roll into browsers as we speak. That's not surprising because ES 2016, as the name would indicate, is being developed right alongside 2015. In fact, we're starting to do concurrent development for JavaScript releases. In fact, we've been doing that for quite some time. So that means we can plan ahead as we develop ES 2015 features we've been planning ahead to ES 2016. And this kind of concurrent development allows us to sort of lay in groundwork in the previous version that we can build on top of the next version. So I'm here to tell you a little bit about that story, that continuing story that we're telling in JavaScript and how we're going to use it to this approach to sort of solve some of the hardest problems that the JavaScript community is facing. And the big one I'm here to talk to you about today. ES 2016 is about a lot of things, but I'm going to focus on one particular question today. And that is, how do we make async programming easier? Right? I think that's a pain point for some developers out there. So in ES 2015, or formerly known as ES6, we introduced arrow functions.  Now you can get rid of the boilerplate and write this. That's all I have to say about that. It's pretty great. So they're an improvement. But what if we could write async programs without callbacks at all? Imagine that for a second. I blew a mind over there. So we all know blocking. Blocking is easy. Let's imagine this particular example, get stock price symbol and get symbol price are both using, say, a blocking XHR. Very easy to write this code. Terrible, terrible user experience, right? Because we can't even accept user input while we're going and making these requests. So blocking, from now on when I say blocking, I want you guys to think pulling. What I mean when I say pulling is that we're pulling, as a consumer, we're pulling the value of the function out of the left-hand side. It's being returned in the return position of the function. And so that's how you knew that you're pulling. Data is delivered in the return position of the function. But what if we want to wait instead of block? Well, all of a sudden our code gets a little more complicated. Waiting is another way of saying pushing in JavaScript. What I mean when I say pushing is that we pass in a callback and data is delivered in the argument position of that callback. Notice the difference? We're pulling, data delivered in the return position of the function. When we're pushing, data is delivered in the argument position of a callback. And that's the essence of what pushing is. And in order to wait, without blocking, we need to essentially push in JavaScript. And so that's why we take this, this is the simplest way in which you can push in JavaScript, just pass in a callback. Of course, we find ourselves very quickly in the pyramid of doom. As soon as we start to do anything more complicated, as soon as we start to compose multiple functions together that push, we find ourselves in the pyramid of doom. And so all of a sudden, code on the left-hand side here that's blocking looks way, way worse than the code on the right-hand side. Notice the code on the right-hand side, we've got a lot more code, and all of a sudden we've got code dedicated to something that the JavaScript language usually does for us. Because JavaScript expects you to pull. It expects functions to return in the return position. And as a result, it knows how to deal with throwing, for example, when you throw an exception. Features like try catch handle propagating exceptions for you. But as soon as you do something unexpected, as far as JavaScript is concerned, and decide to return a value in the argument position of a callback, or an error for that matter in the argument position of a callback like they do in Node.js, well, try catch is useless to you. And so all of a sudden you need to write the code that try catch would have written for you as it was. You need to now manually propagate errors. So what if waiting were just as easy as blocking? What if JavaScript understood how to push as well as pull? Promises were something introduced in ES2015. How many people left their hands up know what promises are and how to use them? Quite a few, OK, not everybody. Now, the way to think about a promise is it's a value that represents and eventually realize asynchronous value from a computation. So there's two possible outcomes to a promise. You can call then to get the value out of a promise. And that's as asynchronously it'll be pushed to you in a callback. And there's two possible outcomes. It's succeeded and you get a value. The other is something terrible happened and you got an error. Hopefully there's nobody with epilepsy out there in the cloud. Hopefully you guys can see this, right? So those are the two possible outcomes of a promise. And using promises, we can take this code on the left-hand side and we can rewrite it like this. Notice all of that manual air handling code is gone from here. And it's not because JavaScript got the ability to understand how to do try, catch, on, push. What actually happened was that promises, the type, automatically take errors and forward them up until you provide an error callback. So notice in that function getStockPrice, we aren't doing any air handling whatsoever. Because if a promise detects an error happens in that then method, it'll forward it up to whoever's listening to that promise. And notice here there where I call getStockPrice and I pass in the error callback on the return value, the error effectively will get handled right there. And so the type is doing for us what the language normally does for us. And so that's pretty good. But it still looks awfully different. What if we could code waiting and blocking exactly the same way? What if the code looked almost exactly the same? So here's blocking and waiting. And here's what you can do in ES 2015 to be able to wait and have it look almost exactly like blocking. Not only will this work with try catch, it'll actually work with native control flow structures in JavaScript like while loops for example. Imagine repeating an asynchronous operation with a while loop. So how does this work? Well to explain how this works to you, I need to explain, so here's an example of using a while loop to repeat. In this case I'm gonna try and get the stock price from Bloomberg three times and then I'm gonna give up and I'm gonna go to Yahoo where it might be slightly delayed. So I'm actually using a loop to repeat an asynchronous operation. So how does this magic work? Well I'll explain in just a moment. The thing here, the key thing that I want you guys to understand when you walk out of here is that pushing and pulling are symmetrical. Any value that I can return to you in the return position of a function, I can push to you in a callback. Any error that I can throw from a function, I can push to you in a callback. The reality is the decision about whether to push and pull should be orthogonal to really how that function works with a type of computation that function performs. And so once we decide that pushing and pulling are orthogonal, well we can just have the language support both equally. So we want symmetrical support for both of these things. So in order to explain how that code works, I'm gonna have to explain to you the most powerful and the most misunderstood feature in ES 2015, which is generator functions. Hands up, who's heard of generator functions or is using them? Quite a few people, okay good. So a generator function summed up simply is a way for a function to return multiple values. So we already know a way of a function to return multiple values, right?  But starting at ES six, you can do this a little more efficiently. Instead of collecting up all the values into an array and then sending that array off, you can generate those values progressively on demand. So this is an example of a generator function that returns three values. Now in this particular example, I want you to think of yield as sort of an intermediary return.  So what does it look like to consume a data that returns multiple values this way? Well, first you request what's called an iterator from the function. And then you call next and notice what happens on the left hand side? The code begins and pauses at the yield expression and what we get out is a tuple with the value that we got back from the function and a boolean telling us whether we're done or not. Next we call next again because we're not done. We stop at the next yield point, we get out 32 and we find out we're still not done and we call next one final time and we get out 19 and a boolean telling us that we're done. Now I want you to take for a moment, just imagine what it would like to be to write this function without any of this generator function magic, just using plain old ES5. What would you do? Well, you'd probably write a state machine, right? Because every single time you call next, your iterator's in this different state and it has to sort of pick up where it left off. And so here's an example of a Fibonacci sequence which actually goes on forever. If you notice that while true there in the bottom, it's just gonna keep going on forever and how that translates into the code you would write in ES5. So first we return this iterator object but notice we've got this variable that keeps track of what state we're in and every single time somebody calls the next function, we might move through various states. What JavaScript is actually doing here and it's pretty amazing, one of the most amazing compiler transformation that JavaScript does is it's figuring out every possible state that this function could be in. When it's first called, it's in the initial state, right? That's where we're defining those variables. After that, we're yielding the first value and so on and so forth. It's figuring out every possible state that the function could be in and it's turning it inside out. It's turning code that looks like it's pushing into code that's pulling. Imagine that yield keyword, there was a callback and you'll know what I mean, right? We can push, if yield was a callback, we'd sort of be pushing multiple values but it's actually turning it into a pull and this is an amazing transformation and allows us to do some really, really cool things. So finally we can see how these return values match up to the yields. So the way iteration works is you've got a consumer and it requests an iterator from the producer and it just keeps pulling values out of that iterator one at a time and so finally it attempts to pull out a value and it gets a message that it's done and no more and so that's how iteration works. You pull multiple values out of a function until you get an explicit completion message. So if generator functions return to iterators, why aren't they called iterator functions? Well, it's because there's more than meets the eye to generator functions. It's not just about iteration. A generator is actually two different interfaces squashed into one, an iterator and an observer interface. Together, make up a generator interface. So a generator is an iterator, which means it's a data source. You can pull values out of it and there's three types of notifications you can get when you're trying to pull a value out of an iterator. One is you can get the value, that thing that yields. The next is when you try and call next you could get an error thrown at you. Then some sort of error happened while you were trying to pull a value out of this thing. And finally, when you attempt to pull a value out you can get the message that this is the last value, this is the return value and we're done. So value, error, completion. The observer is the other side of the coin. It's actually the push. It's a data sink, not a data source and it's the push equivalent of an iterator. Instead of pulling a value out, you can push a value in by passing a value to next. Furthermore, you can actually send in an error by calling throw. And you can send in a final value by calling return. And so what this really means is that while iteration only allows data to flow one way a generator is a way for two functions to have a long running conversation. I pull a value out, I push a value back in. I pull a value out, I push a value back in. So taking generators and promises we can combine them together to use this pattern known as asynchronous iteration. So what does that mean? Well here I have a function that is basically a generator of promises. Every single time you call next a promise is gonna come out. Get stock symbol, get symbol price returns promises. The other thing I wanna call your attention to is that yield doesn't look like a statement anymore. Before yield just sort of looked like a return. And now it actually looks like an expression. So when we actually push a value back into a generator it replaces the yield expression. So we're gonna see how that works in a second. So here's the consumer. This spawn function is going to return a promise that will be the eventual result of get stock price. So together they essentially make get stock price like an asynchronous function. And I'll show you how that interaction works in just a second. The way ace have spawn function consumes this generator of promises resolves them until it finally gets to the last value and then resolves the big final promise to that value, the value that comes out of spawn. So asynchronous iteration works like this. If I run this function it'll run through all these promises get stock symbol, get stock price and then finally arrive at the final value and print it out. So asynchronous iteration is pretty much the same as iteration. The consumer requests a generator from the producer, requests a value. Now notice here on the right hand side we pause at the yield expression and what's being yielded a promise. And so a promise comes out of the producer and the consumer and the producer have an agreement. The consumer agrees that whenever the producer gives it a promise it's gonna resolve that promise and send push the value back in. And so the consumer resolves the promise by calling then it gets out the value PFE which is the stock symbol and it calls next again but this is crucial. Notice that this time when it calls next it's actually passing in the result of the promise as an argument to next. So it's pushing a value in at the same time as it's trying to pull the next value out. What happens to that PFE value? This entire yield expression gets replaced by the value that comes back in and the code continues on to the next yield expression and it pauses. We generate a promise handed to the consumer. The consumer attempts to resolve that promise in the same manner as before, takes the value which is this 2783 it's the stock price value, pushes it back in and now the yield expression gets replaced with this value and we continue the function. So finally we get the final value, we return it and say that you know what no more values are coming out and now at this point the consumer takes which is spawn, that spawn function resolves the big promise to be 2783. So pictures are great but let's actually take a look at some code. So this is a very simplified version of how this works. You've got a producer up top which is this generator function that generates promises and you've got a consumer down here at the bottom which is consuming those promises, resolving them and sending the value back in until the generator says you know what no more values, here's the final value and then the overall promise is resolved to that. See if I can steady this a little bit. What's going on here, just to refresh your recollection is a consumer is pulling promises out of a producer of a generator of promises and resolving them and sending them back in until the generator says you know what I'm done and then the overall promise that's the result of this whole computation up top there gets stock price will resolve with that final value. So let's see how it works. We've got this spawn function which is the consumer of the generator and so here down here we're gonna execute this code and then we immediately begin inside of the body of the promise. So this, all you see here return new promise. We're creating a new promise and that accept and reject function are the function that we're gonna call to resolve to the final value of the promise or the reject function we wanna call if there was an error. And so I've created this on result function which is we're gonna call every single time a promise gets resolved with the result of that promise. Now the very first time though there's no result of a promise so we're just gonna call it with no arguments and we're gonna jump up here and we're going to call next, we're gonna call next and notice here that arrow just starts right there at the first yield point.  So since we got a promise we're gonna attempt to resolve that promise and then we're gonna pass in on result recursively. So now when on result gets called it'll actually have the result of that last promise which will be Johnson and Johnson. And so we repeat the process we request the next value from the generator and we jump to the next yield point or excuse me, first we push in Johnson and Johnson by calling next and passing it as an argument notice how that yield expression up top gets replaced with Johnson and Johnson and the code just keeps going until the next yield point at which point we yield the price promise we get the promise out as the consumer I pulling the promise out and then I'm gonna go ahead and resolve it and recursively pass in on result and this time when on result gets called it gets a result of the price. So we take that value and once again we pass it we push it back into the generator and the yield expression up top gets replaced with the value. Finally we terminate at the return value we get the final value done is true and so we skip over we don't try and resolve a promise because we didn't get one we accept the final value and out it comes. So it's pull and push we're actually pulling promises out realizing them and then pushing them back in and this asynchronous iteration pattern is what allows us to write code that looks like it actually blocks but it waits. So your code can get so much simpler here without a single callback at least outside of the spawn function which only has to be written once you can write code that's asynchronous but looks like it's synchronous. And so the stuff I'm talking about is all the version of JavaScript which is just finalized the version of JavaScript that will be making its way into browsers in the next few months. In fact this generator feature and promises can already grab this from the latest version of V8 and Firefox. So this is what it looks like waiting. So this spawn function actually comes from TaskJS so which is a library you can go check out right now it works together with generators to allow you to write this code and that defines the spawn function right here. So you can try this today you don't even need to wait for ES 2016. In fact I haven't told you about a single feature from ES 2016 yet. So it's TaskJS you can go check it out right there you wanna start playing around with this stuff you're using generators already. But that begs the question. Why should waiting require a library? Why should I need to go download TaskJS? Why shouldn't JavaScript have native support for pushing and pulling, waiting and blocking? And so that with this we come to the first ES 2016 feature I wanted to talk to you guys about today. Asynchronous functions. So we can take, we can use asynchronous functions in ES 2016 and turn waiting here into waiting here. Notice the presence of the new async keyword as well as the new await keyword. Under the hood this pretty much just de-sugars to what you see on the left hand side here. Now you know what this does it's a pretty much straight forward de-sugaring to this pattern of asynchronous iteration. But instead of yield we have a wait we don't have a function star we just have a regular function. And that's how it's gonna work in ES 2016 to write async functions. Now if you just wanna wait and do a bunch of operations sequentially one after the other you can do that without callbacks. And you can use loops, try catch and all that stuff you're used to for blocking code. So symmetrical support for blocking and waiting is coming in ES 2016, right? And what language does it make more sense for than JavaScript? Which is single-threaded where you have to do callbacks all the time. So whenever you're talking about the features that are coming in ES 2016 it's really important to be responsible and talk about maturity stages. Now there have been changes to features at the penultimate hour in ES 2015 and there may be changes in ES 2016. So it's important to talk about where it is in these feature maturity stages. This is how we communicate with developers about how mature these various features are. So async functions are currently in the draft stage. And another way of saying that is the community expects the feature to be developed and included in the standard. So we're pretty confident there may be some changes but that we're pretty confident is gonna make it into ES 2016. So you can try async functions now. You can actually go to Facebook's regenerator transpiler which will go and download the async await branch. And now you can run that code over your code and start playing with async await today. In fact, that's very much what we in the committee would like you to do. Part of the reason why we work on these transpilers is so that you guys can try them out, give us some feedback and tell us what works and doesn't work for you. So if you wanna play around with it you can absolutely do that today. So the await keyword makes it really easy to wait on one asynchronous value.  Can anybody think of a type that sends a bunch of different asynchronous values one after the other? Node programmers, anything come to mind? Event emitter, yeah, that's a good one. How about just DOM events, right? These are all things that push you multiple values and you have to wait on them. So, oops, I lost power here. In ES6, all collections are iterable and this is a new contract in ES6. Iterable means you can walk up to it, ask it for an iterator, and then pull values out until you get a completion message. And so the array, the new map method, excuse me, new map type in ES2,060 or 215 are iterable. And so it's this common contract. You can walk up to an array and use this new symbol iterator key to pull out an iterator and then you can just while loop over it. But we also have this helpful syntax. So this new for of loop, it's not a for in loop, it's a for of loop, which is designed specifically to do what you're seeing on the left-hand side here. You don't have to write all this boilerplate to iterate over something. What you see on the right-hand side transpiles into what's on the left-hand side and there's a new for of loop specifically for doing iteration, because it's such a common pattern. I just wanna consume items out of this producer one item at a time. I wanna pull them out. So here's how you would wait on values using for on. There's, oh, excuse me. There's a new loop that we're trying to introduce in ES 2016 called for on. Wouldn't it be great if you could for loop over a web socket or a stream or a DOM event? What would it mean to for loop over a DOM event? Well, we know that streams push multiple values and then push a completion message. If I can for loop over an iterator, why can't I for loop over a stream? I don't need a callback. The callback is really just machinery. Pushing and pulling are symmetrical. And so if I should be able to loop over values I can pull, I should be able to loop over values that are pushed at me. So I want you to notice very carefully. This is different than the loop we saw before. It's a for on loop. I'm looping over this web socket and I'm trying to grab the first price with a price spike over a certain threshold. And so if I run this, it'll go over and it eventually find a price that spikes and it'll give me a value. So imagine being able to for loop over streams of values being pushed at you. There's a problem with doing this. We'd love to do this, but there's a little bit of a challenge. And that is that the web has no standard observable interface, right? You've got streams, you've got DOM events, you've got web sockets, you've got jQuery events, you've got server cent events, XML HTTP request has a progressive mode. Cent interval is technically a stream of values in one way of thinking about it, right? Node streams, all of these things are about the same thing. They're about pushing you values one after another, but there's no one common interface for them. Unlike now in ES6, this iterator, iterable interface, what we really need is a type specifically for that that all of these different contracts can implement. And so introducing the observable type. The observable is actually hidden in JavaScript 2015 right now. It's hidden in there. You have to find it, but you can find it. All you do is you take the iterable interface, which will give you a generator when you call iterator on it, and you turn it around. You swap the arguments and the return type, and what you've got is an observable. Remember that a generator is double-sided. It's both the data source and something you can pull values out of, and it's also a data sink, something you can push values into. And so the way an observable works is it accepts the generator and pushes values into it. So it's like passing three callbacks, right? A generator is like three callbacks, next, throw and return. Observer is like three callbacks. It's like passing three callbacks to a data source and having it push values at you. And you can express DOM events this way. You can express Node Streams this way. You can express WebSockets this way. You have an explicit error or explicit completion message. So now that we have this observable type, let's take a look at what this looks like. We'll take iteration, and now let's contrast it with observation. The truth is iteration and observation are both about the same thing. They're both about a producer giving a consumer one item at a time until finally they say we're done or an error occurs. The difference is who's in control. In iteration, the consumer's in control and it's pulling values out. In observation, the producer's in control. And so the consumer hands the producer an observer, which is those three methods, next, throw and return, it's like three callbacks. And the producer pushes values to the consumer by invoking those next return and throw methods. I'm just gonna keep pushing values to the consumer until finally I push the final value, return, no value there, and just saying it's done. So it's the same thing as iteration just backwards. We're only beginning in this industry in the last five or six years to understand the deep symmetrical relationship between pulling and pushing. Once you realize that observation and iteration are just two different ways of doing the same thing, you can look at it more closely and make sure that you're not making, they're essentially orthogonally your function. You can make sure that you can write code the same way regardless of whether you're iterating and observing. Because it really doesn't matter. It's orthogonal to what your function does, which is produce values from inputs. And so your language is to support both equally. So here's what it looks like, kind of de-sugared in code. I'm basically passing this object with three callbacks into an observable.  So like adding three callbacks to a DOM event, for example. So we can add a little sugar to this. So there's a for each method that returns a promise. That's one way of doing it. It'll tell you when it's done or whether there's an error. And inside of an async function, which is going to resolve to a promise anyways, which is asynchronous, you can use this for on loop to consume any observable. And it's basically gonna consume all the data in the observable before it continues. And what we hope is that once we've got this observable API standardized, all of these different sources will implement observable. And you'll basically have one interface for observation on the web. And that's what you need to have in order to add language support. So consuming observables at ES 2016, looks something like this. I can just run this. Just this code can go on forever. I can just keep logging the Netflix members to the join, for example. Now we have an async function and we have a function star. And as language designers, that creates a little problem for us. If an async function returns a promise and a function star returns an iterator, what does an async function star return? It's up to us as language designers to be able to answer these questions, right? Well, let's take a look at it. We've got this sort of missing piece here, right? We've got a synchronous function which returns some value. We have a asynchronous function which returns a promise. We've got a synchronous function star, generator function which returns an iterator or a generator depending on your perspective. There's this big missing quadrant. What does it return? Well, if a function star returns multiple values and an async function pushes one value, an async function star pushes multiple values. What's the type that pushes multiple values? Unobservable. So now that we've got this interface, we can actually have an asynchronous generator function that pushes multiple values over time. So this is something that's being proposed for ES 2016. So you could create, for example, a function that foreons over a web socket and then yields values out. Basically transforms the stream but still stays a stream. So here's an example of that in action. So before, we got the first price spike and we printed it out. Now we're gonna create a stream of all the price spikes. We're gonna listen to a web socket for prices for a particular stock and every single time the previous price and the new price exceeds a certain threshold, we're gonna emit it. So if I run this, it's gonna get values like that forever. I can produce something that I can once again foreon over. Symmetrical support for functions that return multiple values, whether they push them or pull them. So for more information on async function star, you can check out this GitHub where the information about the proposal exists. We're hoping to have some specification language on this for the next TC39 meeting in Paris. And so it's important to my notice though, this is at the straw man phase of proposal, which is the earliest possible stage. We're still looking for feedback. There's still a lot of details to be worked out but async functions are a good deal further along the specification process in this. So at this phase, we're just allowing for feedback. We're looking for people to give us feedback about this proposal and whether it helps solve their problems. So here are some resources you can check out. One is my Twitter handle where I announce a lot about this. Netflix UI Engineering, which is the YouTube channel. You wanna check out this talk, it's already up on YouTube in a little more detail. And esdiscuss.org is where you can go and give feedback to the committee about features that are proposed for JavaScript. Regenerator can be found here, TaskJS and once again the async generator specification. Okay, thanks everybody.


Everybody force here up in 2020 Bowman baseball jumbo two box number five random teams Find those results anytime a late sports cards calm. Let's get started. Yeah, they're there. You can use some links. I found Here we go y'all Yeah Shopify messed up all our stuff so Relist some breaks Stodgers is Vargas. Maybe this Who might be there starting shortstop opening day with Lux now Chris Valamon twins first woman refractor auto to 499 first take going twins Minga's insert for the Yankees Separate there for your girlfriend hooked on cards To my wife as a Pokemon cards. You've made a 2020 Bowman he got a mario in a very auto Light blue paper to 499 D young Cardinals Dominguez chrome first Bowman Pipeline Giants His cards like weirdly stuck together Casey Mies Light blue paper first Damon Jones to 499 Phillies illegal. I don't know not in chat If someone's not in chat, I don't really know where they are Just for the sake of just for the sake of all this why not LeBron over MJ You know what I bet LeBron would be a better basketball team owner Fractor Bojarski to 499 first Bowman Tigers Ulrich Ulrich, I don't think that MJ is better than LeBron. I don't think that LeBron's better than MJ But I can't defend it. Let me say that MJ is better than LeBron Just can't do it. I'm with Vaughan first woman auto Glenn Allen Hill junior for the D-backs Dominguez paper It's a Volpe paper Bobby Whit chrome first Bowman that one has a ding in it. Unfortunately We can send a box. I'm not sure if top story plays something from 2020 Especially a base I'm all in that cage Robert. Orius is the best player ever. We're doing that and Shaq is definitely better than Hakeem if we're doing that Miles ahead of Hakeem Gold rookie auto.  I didn't think we'd pull one of these Rookie's tough pulls in this congrats to the Astros go Jim M That's so fire That's so sick. I was not expecting a yord on Rookie's are tough pulls and Bowman got Aqua shimmer kebrian Hayes the 125 for the pirates Hello Jim M Hidden finds rookie gold Logan Allen guardians to 50 these cards separated Probably looking for a hey show up looking for a for a pain you find a gold yord on a rookie auto Call it a day, right? Cooper Johnson refractor auto to 499 Tigers So MJ is better than LeBron because of team accomplishments. Okay. I'm just trying to see where we're getting here I'm not adding any input. I'm just trying to see where we're Over what we're getting at here Jason Dominguez Anthony Volpe come on cards an Oscar would be pretty nice Benito That has rookie cards in series one right now That's a good point Adam. There's Gonzalez chrome. I don't know why is ready to go Why do you guys think Brady's a go? Tino cuz he won at Tampa Tampa Tom yellow first Sam Huff to 75 Paper for the Rangers nice one there Joe Ryan in there Raised a Ryan in this 180 max so we have we have Vulcan shield Pcw Vulcan shield any 180 point magnet in so what's up Josh? Doesn't worry. He also have the most touchdowns ever in the arts Or is that breeze though, I don't know big breeze hat and breeze finish with it. I don't even know Purple paper to 250 Bryce Harper Phillies I guess he is Guess Brady is go because the team accomplishments then is Brady even the goat. Oh, yeah, I'm not even giving any opinions I'm just curious as to what the what the thought process is on all of this Like how do we base the goat if that's even a thing we can do oh that kind of goat like a mountain goat Why didn't we give you some of these cards? I don't know LeBron has the most points to see the goat. I guess you go back and forth on that forever Eric Rivera base auto angels Yeah, they may not fit perfectly Josh Refractor first Jacob and Maya Dodgers before 99. Well, we're always first. Yeah, come on now Isn't my home is kind of already that he's like If you're comparing like be any careers for like my homes, he's like Brady and Manny combined He's got the winning and he's got the numbers purple You know Valera first woman auto Dodgers to 250 on the purple do these cards last You know the parallel though. Come on parallel quick recap riders combo purple to 250 Lena Valera Eric Rivera Cooper Johnson refractor Glen Allen Hill Jr. Refractor Chris Valamant and Gold rookie auto astros Jordon Alvarez 18 out of 50 big card shows. Thanks again everybody one more of these coming up next


The way we use diaspora today refers to immigrants and their descendants who identify with their country of origin and maintain some ties with it. The diaspora is really based on identity and shared bonds. I think rather than being about being from one shared place of origin, whether that is a country or a community or a local area. I think that what really defines diaspora is whether somebody is willing to mobilise that identity and is willing to share some kind of responsibility for achieving a common goal together. 281 million migrants in the world now up from about 214 million just 10 years ago. On the one hand the total number of migrants is growing and also diasporas used to be a relatively small proportion of all migrants and now they're a much bigger proportion because of their transnational ties are growing and thickening because of technology. They're also super important economically. Migrants sent home something like 550 over 550 billion US dollars to low and middle income countries in 2019 and that's bigger not just than overseas development to aid but it's bigger than foreign direct investment. That's a huge developmental force in origin countries so diaspora engagement matters for that reason and then finally they're politically important so they transmit ideas and values back to their home countries and those ideas and values shape the hopes and ultimately the actions of the people back home which affects the decisions that they make and their politics and how they organise their society. diaspora is a perfect partner because there is no language barrier and it's very important at the first stage of cooperation. Language is the first benefit but it's not the main. Mindset is important too. Of course emotional aspect is very important and desire to help Ukraine and Ukrainian producers. When it comes to food products it's very important to know taste. When you start it's very important just to find a partner and sell few first containers and then you expand your line then you adapt your product and propose what other communities need. So that's why diaspora is an ideal partner.


Services he has done for his country. Very well. You account advice in him. You must in no way save his cavities. If I help the people. He is not unknown to the Senate. They have had in clinging to spotlights what we intend to do, which now will show him indeed. They say poor suitors have strong breaths. They shall know we have stronger... My good friends, my honest neighbors. Will you undo yourselves? We cannot, sir. Have the patricians of you. For your wards, your suffering in this dearth, you may as well strike at the heaven with your staves, as lift them against the Roman state, whose course will on the way it takes, cracking ten thousand curbs of more strong link asunder than can ever appear in your impediment. And your knees to them, not arms, must help.  Care for us? True indeed, they ne'er cared for us yet. So for us, the Hamish and their storehouses, crammed with grain, make edicts for usury to support us, to repeal daily any wholesome act established against the rich, and provide more piercing statutes daily to chain up and restrain the poor. Seat us not up there. You must confess yourselves wondrous, malicious, or be accused of folly. I shall tell you a pretty tale. It may be you have heard it, but since it serves my purpose, I'll venture to stale to little more. Well, I'll hear it, sir. Yet you must not think too far, but I'll disgrace with a tale. But I'm pleased to deliver. There was a time when all the body's members rebelled against the belly, thus accused it, that only like a gulf it did remain in the midst of the body, idle and unactive, still covered in the viand, never bearing like labour with the rest, where the other instruments did see, and here devise, instruct, walk, feel, and mutually participate, did minister unto the appetite and affection common of the whole body. The belly answered. Well, so what answer made the belly? Sir, I shall tell you, with a kind of smile, which ne'er came from the lung. Sample complete. Ready to continue?


The healing process of chronic wounds remains a major clinical challenge exacerbated by the risk of microbial infection and bacterial resistance to common antibiotics. In this study, non-antibiotic nanohybrid formulations combining chlorhexadine dihydrochloride, CHX, and clay minerals were developed to improve wound healing in chronic lesions. Two different methods were used to prepare the nanohybrids, intercalation in solution, and spray drying. The nanohybrids were characterized using solid state techniques and computational calculations to assess their interactions with clays at the molecular level. Biocompatibility and antimicrobial activity tests were conducted to evaluate the biocompatibility and potential microbicidal effects of the nanomaterials. The results showed that the nanohybrids exhibited good biocompatibility and microbicidal effects, especially when prepared via spray drying. This suggests that the greater contact area of the spray dried nanohybrids with target cells and bacteria may contribute to their enhanced microbicidal effectiveness. This article was authored by Catarina Valentino, Tomas Martinez Rodriguez, Ana Borrego Sanchez, and others. We are article.tv, links in the description below.


So here's what we need to do. First of all we need to get into our character blueprint. So if you go into your content folder I'm just going to be using the default one so that's going to be in third person, blueprints and there's our third person character blueprint.  So they start by creating a do end and then you can set the end to be the number of jumps you want so you put two in there and then out of there you've got to launch your character and because you need to get the jump velocity you've then got to get your character movement and then out of there you've got to get your jump zed velocity and then you've got to split your struck pin over here and put that into launch velocity zed and then you've got to tick the box here for event override and then you've got to make sure that that comes out of your started pin over here and then you've got to have an event on landed to reset the whole thing and that just takes forever and it's long and it's silly. So here's what I recommend we do instead. So as you can see here I've just pressed control and zed to undo all of that nonsense and you can see that I'm just back to the default jump. So if I compile that now and I just do a jump you can see that he'll only jump once okay so let's make him jump as many times as we want. So to do that I'm just going to click up here for third person character and then I'm going to scroll down to near the bottom and we're looking for a character section which is this section here and then if you look down here it says max jump count or jump max count so let's make that two that's it as I've got to do compile and then we press play and voila double jump behaves exactly the same as all that stuff that the other people are telling you to create. So that's it that's the end of this tutorial nice and short and sweet and I also got to talk about how silly some of the other tutorials are so that made me feel quite good. If you thought it was good stick a like in that little like thing below the video leave me a comment say hi and if you really want to show me your appreciation why not come over to my patreon page and become part of the gang. Anyways that's it for another tutorial thanks for watching I'll see you very soon in the next one peace out.


You know how people say you need to walk a mile of my shoes before you judge me? You could walk 500 miles in this person's shoes and you would never comprehend what they've been through. Keep watching to find out what book we're talking about today. Ayla Denayo and you're watching Kyla's Reading Day. So today we're talking about the book American Dirt. This book was written by Janine Cummings. The genre of the book is fiction. The theme of the book is suspense literature. So American Dirt. Okay, let's get all into this cover. You got some tile work. It looks like it might be, you know, Latin American inspired, some of the design. But is it tile or is this barbed wire? This up because this book will make you think about everything you've ever seen and question it. Now without giving away the entire story, I will tell you that it's a story of immigrants. It's a story of their passage into America. And it's a story of a brilliant young man named Luca. I'm talking about a geography expert, genius, hypersensitive, hyper aware little boy. If you mentioned the state of Arizona, he will tell you how big it is, the population, the major city. If you mentioned the country of Cuba, he will tell you everything, right? And that is so telling because one of the most important things in the book to me is that you really have to consider what people are going through in their lives before you judge them. And I say that because you know how people often say be nice to someone you never know what they're going through? This book is the definition of that. Because if you met Lydia in America, you would say wow, she has this job, she's working here, her son is in school, cool. No, no, no, no. She used to own a bookstore. She was a complete entrepreneur. She met the love of her life and started to go on this amazing adventure. She also has really good friends, right? There's more. She was a mom. She was a sister. She was a wife. She was a cousin. She had all of this stuff going. Even when Luca and Lydia are traveling and Luca starts to spout off all of the geography facts that he knows and they're just like, Oh, that's so cool. Can I pay you to tell us more? Can I pay like it's a gimmick? And it's like, no, he's a genius. And they're asking Lydia, like, did you did you pay him to do this as a part of a trick? And she's like, no, he loves geography. And I'm like, can't the kid love geography? Why does he have to not love geography? Because you don't know any kids that love geography, right? So you have to look deeper. You have to. And that was one of the overarching themes of the book for me. Look, but there's more, right? Even when they're running and you see the Jeep and you're like, is it a good Jeep? Is it a bad Jeep? What are they trying to look for? What are they trying to find? Like there are so many nuances in the book. And that was one thing that I absolutely loved about it because you have to look deeper. You have to wonder what people are going through. You have to wonder where they've been. So the last point I always mention, would I reread the book? American Dirt. I would. I thought Lydia and Luca were exceptional. The writing was really, really great. And I love the story. It made me look deeper. It made me wonder what's the background to some of the people that I see. You're in the grocery store. What's the story of the person next to you? You're driving your car. What's the story of the person next to you, right? And absolutely, I would reread this book because it really provoked something in me and made me want to look deeper at absolutely everything. So if you're still here, thank you for watching today's review of the book, American Dirt. Let me know if you've read anything by the author Janine Cummings.  What did they buy? What's that? Pick up this book because it'll get you all into the nitty gritty details of other people's lives. Okay? So thank you for watching Kyla's Reading Day and I will see you next week. Bye.


What's up everyone? It's your girl Kenzie here from Leighton Sports Cards and I am ripping 2021 Panini flawless football hobby 2 box full case break number 13 random teams Here's a look at the random results again You can always find these at Leighton Sports Cards comm underneath the results tab and the link is also in chat for you Alright best of luck everybody full case break of the PM shift here. Let's see what we can get I did hear a four say that earlier. No Wilson all those yet Wow till right now. Why so yeah, he didn't pull a shield either Let's see We can get he moves. We did that first beat him in one Ridiculous. All right, here we go. The second time that's happened now. I'm so done saying stuff. I Really am I need to see something like a one-on-one Patrick. No, there's a one-on-one Tom Brady auto in this I'm pretty sure I saw or I heard That would be Crazy. All right. First up going to the Rams a Henry Ellard and Cam Acres one out of 15 Rams Nice one there.  Peter T on that one. That is really cool Yeah, Jay Marr. I did. I don't know if you were here right from the start. I said that I was like tonight I just want to pull a shield first box. We literally pulled a Devontae Smith NFL shield Oh, yeah, this is a cool one steelers legend here 13 out of 25 Allen Fanica Again, it says Jets and Steelers at the bottom. It's got both logos on the back So we'll do a random. We just double-check that these are both Different owners here Jets Is an LP and Steelers is Phil K. So this will be a random at the end What's up, AC? Yes, sir And we've got our PA here to 15 Travis E.T.N. Junior.  Yeah, Sam's a toppling for me tonight. Nice one there Then we've got Part of a glove. It's like sticking out of the car I'm like almost see it See it popping out nice one here eight out of ten rookie auto signature gloves of Ron Dale Moore Cardinals on that one. That's sick Nice glove patch Third yeah, he guessed it for us James Conner all the way Eight out of ten. There you go Cardinals on that one That's sick. Oh my god. Kenzie actually told me it was Richard Mendenhall We've got Penmanship for the Chiefs four out of 20 Len Dawson. I Love these throwbacks here They are AC they are let me tell you four out of 20 on that one going to the Chiefs Benny snow. No, but y'all y'all forgot about my guy Booker Jr. Well, Anthony McFarland Jr. How can you leave him out of this discussion and probably my current favorite gone is Steelers No, sure 17 out of 20 Steelers okay, nice Najee got Phil. There you go. Yeah, he did have a lot of pretty good year Yeah Don't forget about Chris Rainey And Fitzgerald Pousson. Okay, whatever. Yeah, I'm getting crazy. No Alright, we're gonna go here first. We've got diamond Guarantee patch or guarantee letter here 13 out of 15 for the boys Dak Prescott Nice one there to 15. That is a sapphire That is really cool. Yes, AC. I'm a Steelers fan. All right. Here come the haters Nice one there.  So over here All right, we've got two out of 20 rookie quad patch Trey Lance for the Niners Showcase Sick hit their Niners Joe V Quad rally you got football. It looks like maybe glove and some jerseys to have 20 on the Lance There you go And literally we just talked about how and how we haven't pulled him yesterday. How about Rookie Auto 3 of 10 Zach Wilson Another one Jets a nil P Three out of ten Let's go Wow beautiful in there Does exist Okay, all right briefcase numeral dopes That is the extent of my Spanglish Yeah, we'll send you keys with nothing to unlock it. We don't send the briefcase That's what they were saying for us.  Oh, that's an excellent sick Someone was asking if they are game or player war and we'll see here who has them We've got five of five Quarterback patch Justin Herbert. There you go chargers Brock s So these are not from any specific game or events on the second year as well as the rookies Nice Herbert will mag this one for you He's staying hot so far rookie debut signatures two out of ten going to the Steelers Pat Furr moves nice big move there Phil K the nether Steelers hits There we go. I Mean both teams are gonna be happy. I mean the Jets just pulled the Wilson and the Steelers have what two off rookie others So I don't think either will be too disappointed not hitting that card then we've got Nice Brad's favorite player. How about the Nigerian nightmare 13 out of 20? Man dude was a beast chiefs Tim J And your co-ing Nigerian nightmare and we've got another throwback here Penmanship out of 25 James Lofton for the bills What a bills a throwbacks here Another team that has a pretty extensive checklist, especially with the higher-end products with lots of vets Alongside the Cowboys James Lofton Yeah, I know right Outwater hit stop them right in his tracks People like We've got a nice one here RPA to 10 signature gloves Kellan Maan for the Vikings Here you go, Minnesota Vikings Jennifer L nice hit there Jennifer six of ten On the glove relic and we've got rookie debut signatures out of 20 for the Broncos Javante Williams. There you go Denver nice hit In the Everyone's predicting a huge year for him next year. So I think I think so especially at the rust there nice little dish off We've got four out of five for the Lions TJ Hawkinson Lions to five on the emerald Four of five Lions And rookie Diamond guarantee here to 20 Kyle Pitts Falcons boom 20 I love the color match there on the red with the ruby nice Kyle Pitts Here we go Troy legend now. I need a Troy card And We've got RPA four of 20 Justin Beautiful the patches for Justin Fields tonight have been just insane so far Joe L With the Bears four of 20 Here you go Empty right there. Yeah, we don't do recaps with fall inside Random here though for this dual Alan Fannica card again Steelers and Jets Steelers and Jets give me one second. Oh my gosh. I feel bad for free tonight having to tag all those All right, give me one second to set up the random So we had We've got four and five that is nine times nine times we've pulled everyone but Matt Jones so far we had T-Law We did pull mills and Mons we have pulled a trash get if that counts too. Alright again five and four Nine times here again top team after the random will take home that dual Fannica card. Good luck one Two three four five six seven eight nine Go into this Steelers Steelers taking home you Fannica Alright, that'll do it for Full case number 13 random teams. We've got number 14 coming up shortly


This is the resilient audience that's going to hear about resilient cities. So everybody relax and brace yourselves It's also a tough act to follow the quintessential panels. So the pressure's on y'all And also the very good hair panel as we're discussing so So I'm gonna completely break the fourth wall here and and say that these people are all already collaborating so So it sounds like they're working together. They are and that is a very good thing Because they're all coming from different places and I'm also going to start with a false construct Not who I am though. I'm Sharon Burke. I'm a senior advisor at New America and I work for the international security program and Previously I was the assistant secretary of defense for energy in the Obama administration and Here's my false construct is that this is a climate change panel and they are all going to knock that down completely as we go along One of the reasons I wanted to introduce this as a climate change panel is that as a defense official I often got told that climate change was a security problem and That the United States armed forces need to deal with it. It is a security problem It hits security at the very basic sense But it is not a military problem because there's no military solution You can't send your special operations forces out to attack it and fix it and change it destroy it You can send them to respond when that when that need comes, but that's not going to be good enough So cities are really on the front lines and there are also the key actor in Dealing with climate change as a shock and a stress to systems all over the world Right now more than half of the world's population lives in cities. I think by 2050 It's expected to be about two-thirds of the world's population There are about 28 Mega cities that have 10 million people each and then of course a lot of people live in growing cities So this is where the action is and that's what we're going to talk about is as on the front lines of change Where all the shocks and stresses of the world are concentrated? How do cities deal with that and I can tell you now It's a lot more expensive in monetary and human terms to just react and respond and terribly unsatisfying So we're very fortunate to have this great panel here We have Nikhil da Victoria Lobo who is from Swiss free and he's going to tell you a little bit more about what that means We have Pamela Pochowsky and you say it the way that you say it who house key who house key who is an Urbanist a social entrepreneur a startup expert Who's worked with cities and entities all over the place as a non-resident fellow at Brookings Institution? And just a tremendously creative force in this field with with how to change cities And then we have with us max young who is the vice president for global communications Is that right yeah for the 100? Resilient cities initiative of the Rockfeller Foundation and he's gonna tell us a little bit more about that But I wanted to start if we're talking about the problem and the solution What is the problem we're solving for because if we talk about building resilient cities? Why what is the problem? Nikhil as a as a vice president for such a large reinsurance firm Tell us what the problem is what's the risk and why it is your firm invest in it And please you can start by explaining what reinsurance is sure we all know what insurance is well I know a lot of people stepped out for coffee. So I don't want to put everyone to sleep They're listening out there. Don't worry about insurance and reinsurance but Very simple put reinsurance, which is a very old industry is the insurance of insurance companies The unit I work in is one that was set up to exclusively work on the insurance for the public sector So it's a very new concept the idea that beyond the everyday risks a government may face for its You know buildings for its let's say employees It faces a risk from big shocks to our national economies that in the end get picked up by the public sector balance sheet And I think of all the risks we look at things like an aging population issues about You know shifts in where people are located urbanization our climate change is a massive risk and so why tell us and I think for a couple of reasons. I think one is Purely, let's say we look at the insurance and reinsurance industry, you know Switzerland is a hundred and fifty one years old and if you look at how losses have developed when we say insurance losses over the Lost 150 years Particularly in the last 20 30 years There's no doubt that we're seeing Increased loss burdens, which means higher insurance costs a much more Voluntile insurance industry and difficulty for us to respond as a private company to the needs for shareholders but I think even deeper than that as a Company that takes very much its role in keeping the global economy functioning what we see is that if we're not putting a price tag on these risks someone unknowingly is picking up the cost and That is absolutely certainly the public sector and so that's why for us cities of the front line because we need to provide them new tools to At least isolate the what that cost is ideally ensure some of that But also make cost-benefit decisions and how they want to mitigate against this climate risk Because I mean just last year in the United States alone I think there were eight major weather disasters that cost a billion dollars. Yes, so the insurance Industry takes that on the chin as well as the people in the affected areas is what you're saying Yeah, and I think it's not just um again It's definitely an issue about for the insurance industry about better managing our risks developing new markets But in the end it's also a question that and you know Our group was started after the tsunami in Asia and at the time our board reflected on the fact that you had this Material economic event to all these countries and yet for the insurance industry was a non-event It was basically a couple of hotels that led to insurance losses And what we concluded is that if your industry is going to be material in the future you have to respond to the events that really matter now and Clearly our industry believes that we step forward when bad things happen and therefore We need to expand and grow into this area to protect governments against these these shocks that are unpredictable So there's no so again This is this is a this is a matter of math of what of what you need to protect exactly and it's what you're already seeing All right, so Pamela In that context now if we have the problem defined and that there's risk and cost going on Talk to us about you know if resilience is a strategy Which is what I think you were using other words to talk about to mitigating the risk Define resilience for us because it's become something of a buzzword. So what does it really mean sure? Resilience is fundamentally a local issue And it's also a practice. So it's a practice of communities certainly of governments At the local scale in particular and of businesses and the the fundamental concept behind the practice is that you are Planning preparing Responding and recovering from risk risks that you know and risks that you don't know So the concept around the data of what is it that you're trying to buttress yourself against and and again at playing out at the community scale is Part of the complexity managing complexity that absolutely involves the emergency management knowing how to respond and within a climate change knowing not not knowing when the storm is going to hit but the Social justice and economic opportunity Aspects of resilience. So talk a little bit more about that The I mean governments are broke forgive me not just broke or broken I'm using I'm using broke in the sense of Don't have the money and the resources to actually bear the burden of the costs that are associated with this recovery So you want to again buttress at the at the local scale How are we going to prepare and communities pay the price? I mean looking at the insurance debate today just around flood insurance premium I mean people are evacuated from their homes and they don't know where to move because Should you rebuild and and there are legislative and policy of course is at the forefront of this issue because you know Do you allow residents to rebuild there or do you say no? we're going to take a protective measure and we're going to lead with a strong arm and Relocate you. Yeah, which you know, they're along. It's the long-term aspects of the practice of resilience of where where the issues are so Max you're in the solutions business, right? And you know you hear the problem and you hit and the frame of reference So what is a hundred resilient cities doing? What what's the goal? So a hundred resilient cities is the Rockefeller Foundation's hundred million dollar plus commitment to help cities build Resilience to the physical social and economic challenges that they face in the 21st century And so what we do is help cities understand all the challenges they face So it's not just the physical challenges. They face. It's not just the ones from climate change. It's Crime and violence. It's it's exactly it's and it is a super false the chronic food and water shortage is a bad Electric grid and look at all of those things together because we really believe that you you can't separate them out that if you really want to Make a city stronger and if you want to make a city able to last for the long term and Do right by its citizens in both good times and bad? You can't just think about the shocks You must think about the stresses and any disaster or any major shock We've had in this country has borne that out because it's the it's the poor and vulnerable who really You know once you get past recovery It's the poor and vulnerable who really take it on the chin And so we are dedicated to helping cities around the world think about their their planning and their challenges holistically and From those hundred cities build a global practice of resilience where all cities think about these things as connected Okay, so let's get a little more specific because that's that's a big bite to chew Yeah, we're gonna deal with crime and social equity and Whether related disasters so it so give us an example of How you're helping a city specifically tangibly be more sure so in one of our cities what so we're in various degrees of The process with many of our cities, but in one of our earlier cities We've gone through this process with them and realized that They have huge exposure to seismic threat Which they haven't really internalized because they've been focusing on crime and violence and they have no real building codes and so the two of those things together mean that they face serious exposure to a shock which is Obviously an earthquake and so it's helping them It was this process helped surface that and is now helping them address it They're doing not just soft story retrofits, but also earthquake education Building codes working with developers and working with the community to understand what needs to happen in the event of an earthquake Because you're building was not built to withstand something like that Designing for resilience is really we were talking about retrofitting for resilience Just I mean because we're not really gonna be building from nothing So it's a question of figuring out how to build in yeah, and I mean if you look at especially if you look at the the global south right now 45% of the city infrastructure that's going to be built in the next 20 years hasn't been built yet And so it's making sure that not just fixing what's been done wrong in the past or Done without the right knowledge in the past, but it's making sure that there's this practice so that as you're moving forward you're You're as you're growing you're doing you're doing it the right way So I'll give you another example Bangalore used to have thousands of lakes in in the city and they served as a water source in the summer and a place for runoff during the Rainy season they've essentially in the pursuit of economic development have paved over most of those lakes So now when it rains There's there's massive flooding and when it and then in the summer there's no water And so helping the cities of the future deal with that is one of our key One of our key missions deal with it in terms of a planning Perspective and how to actually do it how to so it's roll back. It's exactly It's both it's looking forward and and looking back. What is Bangalore do now Pam? Can you give us a couple of yes, and I know we've got at least two New Yorkers here Who are very passionate New Yorkers, so I got to talk about New York I'll give you two New York and one one. I know would love it if you would talk about we were talking about a New America project on mesh Communications sure would be great if you would throw that advertising out here for New America I mean it is it's easy to beat the New York drum when you're outside of the city, but it also because New York has Also its own challenges and failures, so the the community infrastructure mesh network Project of New America is a great example because it shows where communities have taken the charge with the help of of New America civic civic organization kind of doing its job as a facilitator and a partnership and a Broker to bring resources and knowledge and essentially Red Hook You know in the 1980s was on the cover of Time Magazine as the you know crime the crack capital of of the US and there's a largest concentration of NYCHA, you know housing there and Residents with New America's help were were partnership at the Red Hook initiative a youth organization to bring to install mesh networks, which is basically in and don't ask me about the technology and the specifics but to bring routers and internet access brought to Residents installed and trained by The youth themselves and they manage the network So when Sandy hit and the power generate, you know power generation went out these routers are battery powered So they endured FEMA didn't have access To Red Hook and I neglected to say that it's on the waterfront And it was again extremely hard hit so FEMA used this network to Contact residents deliver services and it's that Sustainability of a system in the threat of a storm that makes it resilient. It wasn't designed for a hurricane is coming. What if we don't have Internet access it was designed because the systems the in New York time Warner doesn't go there The residents can't afford their internet, which is another topic So the aspect of resilience is that you're solving for one social justice problem But you're able to address another need that may be climate change related Another example in that but just I mean the point is to get to a point where that's on purpose and not accidental Right correct where you're where you're looking at it from a systems point of view basically and an impact today Point of view like you're serving a need that is unmet today So you can weather a storm whether it's economic environmental Crime problems more in the social social domain tomorrow So so the second example to try to summarize quickly because they're they are complex problems is co-op city Which is the largest private development in the country. They're about 15,000 units in the Bronx and Was never financially solvent and part of there We're we're gonna start it's a co-op We're gonna start taking care of ourselves with state support They one of the aspects is that they installed a co-generation plant to produce their own Electricity because they said we can get some energy independence and if we do this right We're gonna save a lot of money and we're gonna sell back to the grid and this was done again pre-sandy When Sandy hid it was one of the only communities that kept the lights on so again wasn't it was done for more economic purposes and to protect and ensure this kind of community infrastructure And had the ancillary impacts So Nikhil is this the kind of thing that your company wants to see happening and you're a profit-making enterprise How do you encourage it? How do you actually engage? Well, and I often think about my business in a personal context I mean when I buy car insurance the first thing The car insurance company once knows am I taking measures to? Protect my assets become a better driver to basically eliminate the possibility of loss And then what they're doing is they're selling me a car insurance policy Which puts a price tag on my risk and obviously I'm not yet fortunate to have any teenagers driving So but when that rates are reasonable my rates are a discount. I'm sure but the day that does happen I'm sure I'll be penalized for the greater risk So similarly in our dialogue for example with cities We try to think through Okay, insurance is really only at the tail end of a process to hedge you for this unexpected risk So that when the bad things happen you can be back on your feet But our first focus is what are all the things you're doing before that so that not only is your insurance cheaper but more critically You're really focusing on Managing the risk which makes the insurance that much more sustainable You know I'm a recent New York transplant but a lot of my work has been in the emerging markets where you don't have access to the kind of financial and fiscal Resources that our public sector does and so a lot of governments have had to turn to these insurance instruments As the best way to hedge themselves against climate risk So Haiti is a good example Haiti buys for example hurricane and extreme rainfall insurance policy So that you know ten days or two weeks after they have a major storm the government has some liquidity to keep for example police in the streets Why I raised about the New York question is For many years when I used to have this discourse in the United States The public sector officials would say well we have plenty of resources, you know I have insurance for my buildings. I don't I don't need to talk about this fancy stuff You're telling me about that all changed after Sandy and New York City through the MTA bought one of the first what's called a cat bond But it's basically an insurance policy that looks at storm surge risk for the city and Besides the fact it better protects New York City's assets and therefore reduces the burden on taxpayers For me the remarkable point of the story is for the first time the average New Yorker Can basically go on a Bloomberg terminal to you know the media to a website and see the cost of New York City's exposure to storm surge it brings Transparency that allows you as an individual to actually make decision making what I would like to see of course is that in the case of Haiti That public good of the insurance policy was turned into a product that everyday Haitians could buy So that they could actually in that same basis be protected against the same perils And I'd like to see that same thing happen for us in the US because the public sector may move first But that transparency around pricing around risk should also be to benefit to us as individuals and so this idea of solving many problems with one intervention is Axiomatic to the practice of resilience and so one of the things I think we all work with our cities to do is by trying to give them a uniform or a complete understanding of their risk and Encouraging encouraging them to work across silos of government They can then use their limited resources Governments are broke to accomplish many more goals And so if you you can take even a small example the government of Boulder, Colorado faced massive floods Parks that were too focused outside of the city and a population that had some health risks and instead of just building a flood wall a lot or an elevated bank along their river Along the stream that runs through town. They turned it into a park and a bike lane and with minimal extra cost and began addressing Oh and a fourth was that there's massive traffic And so which you wouldn't think of in Boulder, Colorado But there there is and so began addressing four different problems with one intervention And so what we I think everyone in this community seeks to do is by giving cities a more holistic look At the problems that they face Helping them better address them with single interventions I mean, this is kind of in spite of governance is what it sounds like certainly of the federal government. I think Federal governments not going to address these problems that part of the reason you're focused on cities Yeah, the conflict plays out at the local scale, right? I mean, I think that's why it's a it's a design and practice area around resilience because the conflict is there The response needs to be there the community residents are there the people impacted are there Does the federal government really know who's in that neighborhood or that elderly woman who can't make it down the flight of stairs? Okay, so it's definitely Neighbors know I I do I mean and I know Maybe you'll be happy to as a former, you know employee of the federal government. I don't I believe and I also say this as a Recent immigrant to the US I believe Fundamentally also in the role the federal government has to play and I think again when I look at my other clients Where it's really federal governments who are taking the lead because off a dearth of Institutional capacity at the sub-national level we have a tremendous opportunity in this country because we not only have a phenomenally competent sub-national structure But candidly put we have a federal government that I think Despite what others people may think actually does care the question is given the complexity around these issues Can we provide a couple of bold ideas that are game-changers? Around this issue of resilience Risk mapping and risk pricing and that's a struggle, but I think you have a lot of natural energy I do think the federal government can do both things that set benchmarks for others I mean, but it does just from my point of view it does sound a little bit like you're all working around the fact that Government constructs aren't working to fully address this. Yeah, it's a I think it works both ways I mean, whatever anyone who works with the government at any scale you hear about silos So it's breaking down silos at whatever level you're called them silos of excellence. Okay I've heard I've heard other stories, so it's it's fostering it, you know And though we the great stories always come when there's cross-sector collaboration and that happens vertically as well So getting whether it's whatever role the fed federal whether it's in this country or another country are gonna play even if it's You know flood insurance premiums or data access and provision Creating that integration between the levels of federal state municipal or regional if you know if it's Germany that you're that you can create a Framework of cooperation and execution. So I mean you're creating these chief resilience officers, right? But this is something cities didn't do for themselves It's something that you're advising them to do and how receptive are they to being told from an external group that? This is the way to go It sort of depends what you mean by this so working across silos of government I think cities do recognize the Importance of doing that and have been able to do it in varying degrees of with varying degrees of success I think that are the cities that we're working with have been very responsive To our suggestion, you know to our program and our insistence that they hire a chief resilience officer But they applied so it's not like where we're going and telling them they have to do it They've sort of recognized the benefit of this model. What is a chief resilience officer do so a chief resilience officer? speaking to panelists comment works Works across silos of government and sectors of society to make sure that to improve planning to make sure that you know The Department of Transportation is working well with the you know Department of Public Safety is working well with You know the biggest business community business group in the in the city a B the chief resilience officer in the short term is working Is leading our strategy process in the city is is leading the process of uncovering the risks uncovering the opportunities and Doing the gap analysis to determine what it is that the city needs to focus on and then is there a problem They're solving for or is it all the problems you laid out? I mean is it is it still using climate change as a vanguard or no, it's everything We see I mean climate change It's climate change globalization and urbanization are the three reasons we think that our work is important But it's not just solving for Solving for climate change. I mean frankly there are many cities in the world where climate change is Not the first four second third fourth or fifth biggest problem that they have no the military calls it an accelerator Yeah instability. Yeah, it's sort of it makes everything else worse. That's exactly right I mean and then in a place in like Norfolk, Virginia Which is on the water has seen 14 feet of sea level rise in the last 50 years because it's actually sinking And because they have a major military base that is also the and the driver of their economy climate change may very well Be their single biggest issue, but many cities. That's not the case Let me ask you a controversial question and then you can say what you wanted to say which is I mean But is your industry both insurance and reinsurance de facto shaping how people respond to this? I mean because you are people won't be able to get insurance in certain places, right? It's it's an excellent question. I don't I Don't think we are Unfortunately for a very simple reason that insurance penetration is so low If you look in the emerging markets, we're obviously a lot of this Debate is going on for every dollar of economic loss a less than seven cents is covered by insurance. I mean that's Unimaginable that 93 cents of every dollar of economic loss is falling on someone else's shoulders and In the industrialized markets. It's not much better. I mean look at Sandy. You're talking about a Massive bill that was picked up by the federal government And I think something probably 30 or 40 percent of the loss was insured and that's in the most developed insurance market The short answer is no we're not but one of things we're trying very hard to do is what we call closing the gap Which is close that gap between economic and insurance losses particularly in issues related to climate because We do believe we have a role to make people think better about the risk That said and I'll make my comment very brief One of things and we touched on earlier in the room about the role of the private sector You know I can't speak for all private sector companies, but a Swiss would be fundamentally believe in this debate it's both the private private and public sector of a role and I know some people say the private sector must have all the solutions. It's quite the contrary I think that when I look at the interaction with my clients, you know, one of the things we do is Provide insurance instruments for for example the combined risk of drought and high energy prices So we have clients who are oil and gas companies who buy that kind of coverage where they or energy companies Have to run hydroelectric plants and that's a problem for them But we also have governments who are those kinds of clients and what I find is Public sector clients may take longer to come to the solution But when they do so much thought has been put into it. It's a solution they adopt for a long time And I think on this debate around how do we address climate change? We need solutions that aren't just the flavor of the month the ones that were thought through and are adopted for a long-term practice So are you in it for the long haul? Me yeah, yeah, we're in it for the long haul. We've worked with cities and for as long as we can I think turn the page back from yesterday and the conversation around Detroit and Passions very thoughtful point that Detroit is everybody's city. I mean, it's not a climate change issue about what happened there, right? So it's this economic resilience aspect that happens at the front stoop You know the front porch street fronts and waterfronts of you know, how we can have a coordinated response and and just Take care of it and Detroit's a great example of why we can't just think about shocks When we're talking about resilience, I mean, yeah So shock would be like extreme weather events. Yeah, the stress would be a monolithic economy where an over reliance on one industry And that resilience should hit all things So I mean in other words, there's nothing not to like about this if you're an individual who doesn't believe in climate change This is all to the good, right? This is about building public works infrastructure. That's better for your economic development It's about building human opportunity It's about education. It's about yeah, and I mean people laugh, but it's absolutely true I mean there are places where they don't think that climate change is is real and whether we agree with them or disagree with them That is the reality on the ground and help, you know, those places still deserve You know still need help building resilience and and you can take Very simple steps towards savings. So that's that's where yes It is climate change fundamentally across the board, but you don't you almost it's like the term resilience You can it doesn't matter it's saying in my opinion saying the word so much It's the practice and the action that matters and they can there can be very small steps I just we've just a little bit of time left But one last question I have For you, Nikhil and then if you want to make closing comments is do people really understand risk? Do they do they do they not understand the risks or do they decide to take them? And is that because you said 30 40% with Sandy was insured was that people not understanding the kind of risks They were taking or did they decide it was worth taking the risk? I think risk is By all nature risk is a very difficult question to wrap your arms around and again I mean we can talk in the esoteric about what it's climate risk or but even on a personal level Again, I like to speak on anecdotes of what I've gone through I mean, I remember the first life insurance policy. I had I got a rate and it didn't feel right But only after getting a second quote that I realized my god what's going on here and I really had to make some changes in my own lifestyle and That's one of the things that you look very healthy As my colleague says it's all black and tar on the inside, but no, but I think that You know the the underlying point is is that risk is really hard to get a hold of and there are certain natural things you do But a lot of it is also trying to figure out How do we benchmark what risk looks like and that's what an insurance partly does But it's all these other things to try and put a cost-benefit and how we improve our lifestyles And I think that's what the resilience efforts are trying to get around to do I think we're out of time, but I just want to thank all the panelists and also I You know, I hope everybody got the point that this is a very uplifting topic and an uplifting panel Because these are people that are actually solving the problem So it's thank you for what you're doing and for joining us today


Hey everyone, welcome to another video lesson from Navigation Trading. If you like these videos, make sure you subscribe to our YouTube channel and we will keep cranking them out for you. So in today's lesson, I want to talk about a symbol that we're currently in and that is Apple, ticker AAPL. So if we go to our Analyze tab, what you'll see is we've got a bearish position on, a long put vertical in Apple and the price has moved significantly against us. So where we're at in the trade is we've only got about nine days left to expiration. And so in this case, we want to roll this put vertical from the current expiration out to the April cycle, so to the next monthly cycle. So if we're looking at the charts here, the thought process is if I think that Apple is going to continue higher, then I just want to close out of the trade. But the other piece of this is within our portfolio, we like to keep a short directional bias. And with a short position in Apple, I'm looking for Apple to drift lower to get a little bit of a downside for us and it also keeps some of that short delta in our portfolio that we like to have as premium sellers. So in that case, I want to keep this position on. I want to extend the duration. I want to give ourselves more time to be right on the trade. So to set this up, simply go to the Analyze tab and we are going to roll this position. Now before we do that, I want to show you one thing that I do is kind of a little trade hack, a little cheat sheet to give you an idea of where that's going to go. So what I would do is I'd go to the Trade tab, go to the expiration cycle that we are going to be rolling to, and set the position up so that we look at it as if we've already rolled it. So if we take a look, we currently have the 160 short put and the 170 long put. And so we essentially want to move those strikes about 10 points up. So what we would do is we'd click on the put side on the 180 and say buy vertical and then change these to 10 points wide, so that'd be the 170. And then what we'll do is we will just take this over to the Analyze tab and take a look at it. And then we'll click off of our current position. This is what it would look like if we rolled it, which is what we wanted. We wanted to just shift the graph down and be more centered around price. So if we get a little bit of down movement, we can then book those profits and extend that duration into the next expiration cycle. So those are the strikes we wanted. I just want to show you how I look at this before I actually roll the trade to get a good idea of what that'll look like after the roll takes place. So we can uncheck that. We can highlight our current position and we can right click, create rolling order. And you click the first one, which is buy vertical roll. Now what this is going to do, it automatically populates to the next expiration cycle. But we don't want to roll it out just one week. We want to roll it out to the next monthly expiration, which is April 20th. So we got to change that to April 20th. And then we also have to change our strikes because it kept our strikes exactly the same as our current position. Well, that's not what we want. We want to be long the 180 and short the 170. Take it over to the analyze tab. And if you click back on your position, see, it's not going to give you an accurate reading of what that trade will look like. So that's why I initially set this one up. So it'll give you an idea of what that looks like. But you can see when we roll the position, we're essentially closing out our current position, which is the 170, 160. And we're rolling that to the 170, 180, and we're rolling it from March to April. So you're able to do that all in one transaction. And so that's what we're going to do. So now one thing to keep in mind is you'll notice that we are paying a debit to do this roll. So when we roll, we like to roll for a credit whenever possible because that just adds up. And then when we close it out, we're better off. In this case, because we're buying a put spread initially and we're rolling it, we're going to pay a debit. And so that's what going back to what I said at the beginning, if you're looking at this and you say, OK, I think Apple is going to move higher, you may just want to close out this trade. I'm keeping this on because I have a short directional bias in Apple, and we need that extra short delta for our overall portfolio. So that's when it makes sense to do this roll. If it didn't make sense, I would just close it out, take the loss, and move on. But again, in this case, we are going to roll this. So we can simply click on this and hit confirm and send, send. And we got filled right at 390 at the mid-price. So now we're in the trade, like I said, it looks exactly like the theoretical position that we initially analyzed to take a look. So now we're in the trade, now we just need a little bit of down movement in Apple, and then we will continue to monitor the trade as needed. I hope that was helpful. If you'd like to learn more about how we've taught over 10,000 members how to trade options for consistent income, just go to our site, navigationtrading.com, click on the big orange button and we'll give you immediate access to our flagship course, Trading Options for Income. We'll also give you the navigation trading implied volatility indicator that you see on our charts, along with the watch list that we use to trade the most profitable symbols day in and day out. All this is yours, no cost, just go to our site, navigationtrading.com, and we look forward to seeing you on the inside.


Greetings everyone, I am James P. Madonna, the founder of Holistic Health Talk, Facebook Group, and I just want to show you something I picked up today. You do not have to go to a health food store or a Whole Foods Market or anything like that and pay top dollar for high quality teas, and if you buy a tea from an American so-called health food company you are going to pay through the nose, you are going to pay high prices. I go to a local Polish market to buy certain things, certain items that I enjoy. We have many ethnic markets in my area, northeastern New Jersey, and lo and behold I found something I have been looking for, a tea from Poland, European Quality, Aronia, Chocoberry, tea. Now why do I say this is high quality? I will show you. It was only like two dollars and almost two dollars and forty cents for, let me see, alright twenty bags, twenty bags for almost two dollars and forty cents, okay. Now for those of you that know about Chocoberry, it is originally, I am trying to get rid of this glare, it is originally a Native American berry, okay, it is very dark and it has a very high orex core, very powerful antioxidant, from what I understand higher than a sa'i, it is superior to a bilberry and black currant, black currants for the eyes, okay, very high in anthocyaninins, polyphenol anthocyaninins, among other health properties, and the reason why I say the European company is superior, not just because of the low price, I am going to tell you why, alright, ingredients in the order of predominance, where the hell is it? First ingredient, Chocoberry, forty percent, first ingredient, alright, first ingredient, product of Poland, alright, first ingredient, Chocoberry, forty percent, then the second ingredient, hibiscus flower, third, rose hips, and fourth apple, okay, you are not, if you buy any herb tea from an American company, you will see filler, lots of filler as the predominant ingredients, and when I say filler, I mean cheek filler like the rose hips, the hibiscus flower, sometimes the chicory, chicory root or something, but mostly the hibiscus and rose hips and other flavors are at the beginning of the list of the order, I am trying to hold this still, steady, the order of predominance, okay, in this case you have first ingredient Chocoberry, forty percent, so this is mostly eronia, which is Chocoberry, alright, that is why I say quality from Europe, whereas in America they screw you, you know, the greed and deregulation of American companies, the phony health food teas that charge you high prices, okay, I mean like companies like Celestial Seasonings and Tazo and what is the other one, the other popular one, which escapes me right now, yogi, I think it is called yogi tea or something, anyway, regardless, just compare the American companies and if you are lucky enough to have ethnic markets in your area, look for European teas like this, if you don't, you can find them online, just go to Google Shopping and do a search, alright, this is a good company, alright, you can Google search this and you will find anything online, anything from all over the world, okay, including this tea, Chocoberry, speaking of Chocoberry, I'd love to choke the CEOs of these American health food companies that are ripping off the consumer, see you next time.


It's coming out, but it's not quite as crazy this time. It's really coming out before. Yeah, that's still not acceptable. It's drawing, but not very well. So I have to pretty much stick it under there before it's working, and it should pull it when I get close. It's drawn a little bit through, but yeah, not. That doesn't pass my standard. That's it.