Good morning, EmberConf, or good afternoon or good evening, depending on where you're joining us from. I honestly didn't think I'd be giving this talk virtually, but it has amazed me how the Ember community, and especially the EmberConf team, have come together to make this all happen, and it really is truly incredible to me. We may be stuck, but at least we're stuck together. Anyways, my name is Chris, and I'm a software engineer at LinkedIn, and I'm also an Ember Core team member. You might know me better by my internet handle, Pazurak. This is me on Twitter, GitHub, Discord, basically everywhere else. And today I'm here to talk about reactivity. First off, what is it, and why do we care? Well, in a nutshell, reactivity is how apps update when things change, and this is why we care, because we're developing ambitious applications. We want to show changes to the user as things occur, we, as users, click on buttons, or as we return API responses from the server, or what have you. So we care a lot about this question, and modern frameworks solve this with reactivity. Auto-tracking is a form of reactivity, but there are many forms of reactivity, and today we'll take a look at a few of them and see how they compare and contrast. But before we do that, it's important to understand that reactivity is really a subset of updating. There are many ways you can update that we wouldn't call reactive. So you might be wondering, okay, why does it get a cool buzzword then? What makes it special? What sets it apart? And why do I want reactivity in my app? Why do I care about this? Why not just use any old way to update? Well, I think that's best described with an example that's shown. So let's build an application. This is TodoMBC, and it's a commonly used example app for frameworks to demonstrate how to build with them. And today we're gonna imagine that we're building a framework from scratch, and we're using that to build TodoMBC. We're not actually gonna build it from scratch, but let's just imagine that we are, and that we are now trying to figure out how users update things in our framework. And so we're gonna iterate through a few solutions and see how they work and compare and contrast them. But to keep things simple, we've already decided that we want this to be a template-oriented framework, and we like templates, and handlebars is a great templating language. So we're gonna use handlebars templates for our framework. So here's the template for this application, and let's take a look at it. So first up, we can see that there's an input at the top, which is where users can add new to-dos. And then we have the currently displaying to-do list. So whatever is currently displaying, we have their checkboxes and their titles. And then we have the footer, where we can see the items left and the filter buttons, where we can select all to-dos or active to-dos or completed to-dos. And here's the JavaScript that is backing that template. It's a lot to take in, so let's take a moment to read it. So starting from the top, we have the list of to-dos, all to-dos. So completed, not completed, they all go in here, and we have the displaying property, which controls which to-do list is currently displaying. Then we have these getters, which is how we define things like active to-dos, completed to-dos, and which to-do list is currently displaying, and to-dos left. Finally, we have our actions, which is where we actually perform the updates. This is what will happen when a user actually wants to add a to-do or toggle it. And we can see here that we're just using plain JavaScript as is. We're just pushing into an array or setting a property, nothing special here. This presents a problem though, because the framework doesn't know that we've made these changes. It doesn't know that it needs to update the template and to show the user these changes. So the question is, how do we let it know? Well, we could do it directly. We could call something like this.rerender whenever something changed, but that would be pretty difficult to remember for us. It would be hard to remember in a lot of complicated code paths that every time you update some state, you have to call this method. And it would also be not very performant because our application doesn't know exactly what changed. It just knows that it needs to re-render because something changed. So we could try to get a bit more specific to fix that problem, but this only gets more complicated. Now we need to tell it, okay, re-render this list or re-render the items left, re-render this particular to-do. And that's a lot to remember. That's a lot to think through every time you wanna update some state, which parts of the view it's gonna affect and which parts need to re-render. That's a lot to put on the developer. We can call this burden annotation overhead. It's the extra code or thought that has to go into code in order to do it in the way that the framework wants you to do it, as opposed to how you would do it without the framework. And that annotation overhead here is not only constant whenever we wanna update state, it's also combinatorial. As our application grows, there will be more and more parts of it that could be updated at any given time and more and more ways to update it. So it grows combinatorially with the size of our application, which is not a good place to be. This is really the state of the art in the era of Backbone and JQuery. Everything was pretty ad hoc on the front end at that point. So you would have one-off plugins and this was fine or small applications. It was fine for these because things weren't complicated enough for this to really become an issue. But as application size and scale began to grow, it started to become more of an issue and eventually became too much. So this is where reactivity comes in. Reactivity was a way to solve this, to make sure that your application complexity, that your updates and complexity grows linearly instead of exponentially with the size of your application. And that way it doesn't get out of hand. So let's define reactivity. Let's see what sets it apart from plain updates. But before we do that, I do wanna say real quick, this isn't the only definition of reactivity you might hear. It's one of those words that's kind of fuzzy and it's a buzzword that's used a lot in context right now and people understand what it means, but it doesn't really have an agreed upon, a super agreed upon definition. So this definition attempts to look at the goals of reactivity, the end result that it seeks to achieve. And I think it actually ends up being a very useful definition because of that. We, it shows us the similarities between a lot of different frameworks such as Vue and Ember and React and Angular and Svelte. And it shows us how different those frameworks actually are from ones like Backbone and libraries like jQuery and really shows us that core difference. So reactivity is a declarative programming model for updating based on changes to state. Okay, seems simple enough. But what does that mean? Let's dig in a little bit deeper there to understand exactly what we mean. So first off, what is declarative? Well, declarative is about describing what you want to happen without describing how you want it to happen exactly. So for instance, HTML is a 100% declarative programming language because you aren't telling the browser exactly how to render this HTML. You're not telling it, okay, make a header, add some text to it, apply some styles to it and paint it in the DOM and then make the form. No, you are handing it the structure that you want to see and the browser handles the details of that. So that's really what declarative means. It's a way to describe our intent and allow the system to figure out how to handle that on its own without us needing to figure out the details. And then what about the second part of our definition, what is state? Well, state is effectively anything that can change in your application, things like variables, properties, user inputs. And really there's two kinds of state. There's root state and drive state. So root state is state that has an actual value that is the actual data that underlies your system. So in this example, the first name and last name properties are the root state because they are real properties with real string values. By contrast, derive state derives its value, thus the name, from other values, either other root state or other derived state. So in this example, the full name getter is derived state because its value is based on first name and last name. And when we step back, we can really see that most modern web frameworks are just a way to turn root state, some API, some data into HTML, which makes that HTML derived state. So putting it all together, reactivity is a declarative programming model, meaning one that we declare our intent in and it figures out the details for us with. For updating derived state based on changes to root state and other derived state. Cool, okay, so now we understand what it means, but what does it actually look like? Well, let's take a look at a few reactive solutions and see. First up, we have observables. Now, the observables were made popular by RxJS and they're used in AngularJS. And the idea behind them is that they are a primitive that is an event emitter. They emit events which then travel through what are called streams, streams of events. And the streams can have transformations applied to them which change them into different types of events or collects them or what have you. They can also do things like debounce them. They can split streams into multiple streams or join them back into a single stream. And so you end up with this network of events and transforms and streams. And on the other end of the network, you have subscribers who are listening for events and reacting to them as they come through the system. This is known as push-based reactivity because we're pushing changes through the system as they occur. So let's see what this does to our code. The answer is a lot. So stepping through it, here's our root state, the list of deduces and the displaying property. But it's changed from being a plain array and property to being a observable because now we need everything to be in terms of this new reactive system. Everything needs to be made in terms of events. So we create our observables with their initial event which is the state of the system. Next up, we have our derived state, the getters originally. But now they are transforms on those observables because again, they have to be defined in terms of the system. So they transform the events, our state, coming through the system and split it off into multiple streams. Finally, we have our updates. And our updates once again need to be re-rationalized in terms of the system. We're no longer just updating objects, we are pushing new events, representing the new state through the system. And I do this with an immutable approach here where I clone the previous state and add a new state to it. So I'm never actually mutating anything because you don't necessarily want references to objects that are being mutated floating around the system. But there are many ways you could possibly do this in RXJS, and this is just one method for it. The key point is that our annotation overhead has grown significantly here in some ways. We now have to wrap every part of our application, the root state, the derived state, and the actions. So that is definitely a lot. And it may seem like, oh wow, that's not ideal, right? But this is actually not that different from what we had in Ember Classic as it turns out. In Ember Classic, you had to wrap root state, things like Ember Array and Proxies and whatnot would be used to wrap root state quite frequently. And you wouldn't have to do it for properties, but you still had to do it. For derived state, we had to tell the system about every computed property and all of its dependencies. So that was quite a lot of annotation that was required. And then for adding or actions, we had to tell the system with Ember Set or Push Object. So those were other forms of annotations that were required. So overall, Ember Classic was the same amount of annotation overhead as observables. And that actually isn't too surprising because Ember Classic was push based. We were pushing events through the system and it was very similar to how observables work under the hood. So overall, this solution is a massive win for performance by default. We are only updating the parts of the system that need to be updated. For ergonomics, it arguably is a win because it's no longer growing exponentially with the size of our application in terms of complexity. But we have lost a lot in the process as well. Now you need to know about the system and think in terms of it from the very get go. So to become even a little bit productive, you need to learn a whole new layer on top of normal JavaScript. So that's a lot. That's a lot to take in. Is there a way that we could have a system where the annotation overhead is lower and we can still be reactive? Let's look at a solution on the other side of the aisle, virtual DOM. So virtual DOM was made popular by React and the idea with virtual DOM is that rather than trying to understand how state flows through the system in specific detail, it just asks one question. Where did the state change occur? What component, which part of the program changed? And then it reruns that entire component and all of its children and re-renders them. But it does so virtually with a virtual representation. And then in order to actually update the UI, it diffs that virtual representation and only applies the parts that have changed. This is much cheaper than actually fully re-rendering. So that's a massive win. And this is a form of what is known as pull-based reactivity because we are pulling on the state changes. As they occur naturally, we're not immediately propagating them when they occur, but we are using them in the next render and that allows them to naturally update as they are used. So let's see how this affects our code. Looking first at our root state, we can see things are kind of back to normal. We have a plain JavaScript array, we have this displaying property, it's all on this state field now. That's actually not very necessary for virtual DOM though. It's more of a reactism than something that is actually required for the strategy. So back to pure unannotated root state. And then we have our derived state. And our derived state is also back to normal. So that's pretty great. It's when we get to our updates where things are a little bit different. And part of this is I'm still using the immutable pattern here because that's what React prefers itself. But really the key difference between this and our original solution is we now need to call set state in order to update state. And if we don't call this, it won't actually update because this is what tells the framework that this part of the program, this component needs to re-render. This is a very small amount of annotation overhead to have. And it's naturally tied to updating states. So that really helps. This is something that is honestly one of the main reasons why React was so successful in all probability. It made the developer ergonomics so much better because it gave developers a huge amount of flexibility in how they solve their problem and allowed them to write code in a way that made sense to them. You may have noticed I'm actually not using the latest and greatest from React. I'm not using hooks. That actually was an intentional choice because hooks kind of make it seem like they're adding more annotation overhead. You have to learn about these use state things and the various other types of hooks and how they have to be run in a particular order every time in order to write code in the system. And that's true. There is more annotation overhead in general, but that annotation overhead doesn't have anything to do with reactivity as a whole. Because from the reactivity model standpoint, all it needs is something to tell it what has changed at what point. And that's what happens when we call set to do from a hook. It tells the reactivity model, hey, this part of the program has changed. We run everything below it. So, yeah, all the extra annotation overhead is on the programming model side of things. And this really demonstrates how flexible React is or at virtual DOM is as a strategy. It can handle both of these very different models, hooks and class-based components without needing to know the details of them at all. So that's pretty great. The downside is performance because this model unfortunately doesn't scale at a certain point. Rewrunning the program entirely, even subsections of it, and even only doing virtual DOM is still very expensive. And this is why things like use memo and should component update and reacts concurrent mode exist because they are allowing users to manually try to optimize and make React faster and make this virtual DOM strategy faster. And this is where a lot of complexity can begin to enter React apps because now we're doing the math in our head again. Now we're trying to manually figure out what are our patterns and how do we update things and prevent updating things. So we're doing some more work of the reactive system. So let's step back. So far we've looked at two different reactivity models. Observables were very performant but they required a lot of annotation and they had us constantly thinking about the reactivity model. Everywhere we wrote code, we had to think about it. On the other side, we had virtual DOM and virtual DOM was much more minimal in terms of the annotation that was required. You only had to put it on updates and it was very flexible because of this but it wasn't very performant by default. It required some manual optimization at a certain point, at a certain scale. And so, yeah, there seems to be this trade off between the amount of annotation that the system requires and how much information it knows about what's going on and the amount of annotation overhead. So the question is, can we bend the curve? Can we have a reactivity solution that is both performant by default and that has minimal annotation overhead? Enter auto-tracking. So auto-tracking approaches this from a different angle. It tries to focus entirely on root state. In JavaScript, we already have a state model. We have a way for updating state and that's through things like pushing into an array and setting properties on an object. And auto-tracking tries to capture that so that it can interpret those in a way that allows it to tell us when things have changed, when needed. So let's see how that affects our application. The first thing we'll notice is that there's this new to-do class because in auto-tracking, we need to wrap all of our annotate, all of our root state so that the system knows about it. So we have the tracked decorator to track our various properties, title, completed, the displaying property on our to-do list component. And we also have this tracked array, which is just a reactive array. It's not provided by Ember, it's provided by the tracked built-ins out on that I maintain. But you can just think of it as an array that you can treat like a normal array, but when you mutate it, it will let the system know that changes have occurred. And once we wrap our root state this way, we can see that everything else kind of falls into place. We, our derived state is just like normal and so are our updates. They are just like the original example without any details needed to be changed. So this is a massive win for ergonomics overall because it requires minimal annotation overhead only on one part of the system, just like virtual DOM. But it's also a massive win for performance because it is just as performant as observables, if not more performant. The secret here is that auto-tracking associates root state with output. And it does so without caring about the details of how that output is generated to it, all of those details are just a black box. How does it do this? With a technique known as memoization. Memoization is a technique where we return a previously computed value if nothing has changed. So for instance, in this example, we have a memoized render function which has a call to a real render function within it. It stores the last return value of that render function and it stores the last arguments. So the next time it's called, if the arguments it's called with are the same as it was last time, it will return the last result and skip calling render altogether. Memoization is a way that we can really speed up applications because we can skip unnecessary work this way. But in auto-tracking apps, we wanna do something slightly different. We don't want to memoize based on the arguments that are passed to us. We want to memoize based on the values we access while running the function. So for instance, if this was our track state and this was the function that we wanted to memoize, we would want to memoize based on these values that are accessed on the track state during the call of the function, such that if any one of them changes, the next time we call this function, we rerun it. And if none of them change, we just return the previous value and that's it. So how do we do this? Well, it all starts with a single number, the global revision counter. And whenever any state changes in the application, we increment this number. I like to think of this as a clock, only instead of tracking time, it tracks changes to state. As we change state, we are creating new versions of state in the app. And the clock always keeps track of the most recent version. So you can see how this would be a good rudimentary way to understand if something has changed in the app. We look at the clock, we memorize the time, we go back to whatever we were doing and the next time we want to check if something has changed, we look back at the clock. Is it later than it was? Is it a higher value than it was? Yes? Cool, something has changed. Now we know that. But really we also want to tell if like a specific piece of state has changed, usually, not just like any state. So for that we need tags. Every piece of state in the application has a tag and every tag has a value. And that value is a version of the clock. Whenever we want to change this piece of state, we first increment the clock because something has changed and then we assign that value to the tag. So in this way, tags always contain the most recent version of state that they were updated in. Okay, so now going back to our original memorized function, as we run through and execute this function, we, as we encounter a track state, we store the tags and save them for later. We store them and we also save the value that is highest out of all of them, the maximum value. And the next time we come back to this function, we check that maximum value again. We iterate through the tags again and find the maximum value again. If that maximum value is the same, then we know for sure that nothing has changed within this function and we can return the previous value. And if it's higher than it was previously, then we know something must have changed and we need to rerun the function. How can we know that? For sure, well, let's step through it. Let's say we change something within the function. We increment the clock. We update the tag to match the new value of the clock. And the next time we come back to this function, we check the maximum value and it's higher than it was previously. So we know for sure that something has changed. We rerun the function. And let's look at the opposite. Let's say we changed some state somewhere else in the app. We increment the clock again, we match the value like before, but because that tag was not used in our function, it's not part of the set we check. So it doesn't affect the maximum value of the tags of our state. And so the maximum value stays the same. So we know for sure nothing has changed and it's safe to use the previous value. Our memoization strategy works. Okay, let's take a look at what operations that required. To dirty state, all we had to do was increment a number. To validate it, to check whether or not it was still valid, all we have to do is map through an array of tags and take the maximum value out of all of them. This is all done lazily. So you can update 1,000 pieces of state and all that's doing is incrementing 1,000 numbers.  If you skip an entire section of the app, if you deleted it or got rid of it, you don't ever need to do that validation. You get all of this and all you need to do is annotate root state. Every other part of the system handles itself. Root state and the portions that you want to memoize. This is what bending the curve looks like. Incredible developer ergonomics, performant by default. This is hands down the most exciting feature to me in modern number and one of the most amazing things about the framework as a whole to me. So what's next? Now that we have this amazing new reactivity model, what are we gonna build on top of it? Well, first up, I would like to see more libraries and patterns and common abstractions built on top of auto-tracking. We had a lot of these for computed properties. One of my favorites was Ember macro helpers, which was a way to define various macros for computes. Stuff like that is gonna be very, very helpful for auto-tracking. And I've already started with the tracked built-ins add-on, which creates tracked versions of JavaScript's track arrays and maps and sets, allowing people to use them as root state using their standard APIs. And I think we could see more of this. We could see tracked local storage and tracked index DBE, tracked versions of Apollo and Redux. I think that making more libraries like this will be very helpful and I'm very excited to see what the community does with that. Beyond that, I think that tooling is very important and I would like to see us invest a lot more in that space. I think that actually auto-tracking kind of gives us an unprecedented ability and chance to really make some amazing tooling improvements. We can do things like when you're paused in a debugger, tell you what you've auto-tracked so far, how many things are memorized above you, what changed to cause this code to rerun again, questions that would be very difficult to answer otherwise. And I even can see some potential improvements to the Ember Inspector. I imagine a state timeline that shows the exact order of operations, the exact state changes that have happened in your application to bring you to where you're at in that moment. And because of the way auto-tracking works, we can show you exactly which components those state changes are related to. We can show you which components dirtied and updated and were created and were destroyed. And we can show that all to you and show your entanglements and everything. Finally, I wanna say auto-tracking in a lot of ways is to me larger than Ember. And what I mean by that is that it is, it's really a general reactivity model. It's something that can be used outside of the context of a rendering engine in a view layer. It can be used anywhere. And so, and it also is a reactivity model that doesn't really exist in the wider JavaScript ecosystem yet. There's nothing really quite like it yet. MobX and views reactivity are similar, but there are some pretty fundamental differences. So I'd really like to see us extract it and make it usable not only in Ember apps, but everywhere so that we can share all of the utilities built on top of it, that we can share all of the value generated by it in general. And yeah, I think it would be incredibly valuable to do that. I've even thought as time has gone on that it really would make a good system, a good solution for adding reactivity on the language level itself, either to JavaScript or to another language. Unlike previous attempts to do this, it's not something that requires synchronous code to run and it's not super invasive. So it could be kind of ideal. And beyond that, it's paradigmless. You don't need to write object-oriented code for it to work. You don't need to write functional code for it to work. You don't need to write imperative code for it to work. You can write any kind of code and it works with it because all it cares about is that you have properly annotated your root state. And for a language level feature, a language that is you're able to do all three of those in quite a lot, that would be ideal, I think. So anyways, that's all I've got. If you're interested in this topic, I've been logging in more depth on auto-tracking, so check that out. And thank you.


What is going on guys welcome back to the channel critical overlord here Jeepers Creepers reborn Jeepers Creepers 4 still nothing official Still no cast announcement still don't have any idea who will in fact be playing the creeper Still have no official stills outside of the ones that I've been showing repeatedly in some of the videos I put out about this film Still have no real other plot synopsis updates outside of the one that we got all the way back in February But the guess is that it's still coming out this October that still of course seems to be the plan as Timo or Let's just say this fall anyway That seems to still be the plan as Timo pointed out in a video that he recently did over on another channel that I Did another video on talking about that I just wanted to talk about the fact that this is the month of the 20th anniversary of the original Jeepers Creepers that we Know start just in long and Gina Phillips as This brother and sister duo who are just going home on this college Going home from college for spring break I believe and they just ran off the road by this unseen assailant and they unfortunately think it's a good idea To follow said assailant and we know what happens from there Jeepers Creepers was probably one of the more as a child anyway Because I saw this like the year it came out as a child seeing that or maybe the year after that in 2002 As a child seeing that after you you know you spend your days watching all of these cartoons and some horror movies I was watching horror at a very young age watching cartoons and then some of these other horror movies and then You sit down when I you turn on HBO and you have a movie like this on your screen now Mind you I hadn't been exposed to too many creature features at this point. So when I'm looking at this I'm like wow That like the movie really blew my mind some of the stuff about it is not that good today such as the fact that Maybe there could have been more development with Trisha and Derry But there's just there's just enough given for you to grow attached to them and want to root for them as characters There's enough dialogue and enough things you learn about them prior to all the chaos happening with the creeper That you already are gonna root for these characters So maybe while they were slightly underdeveloped they still give you enough Some of the other things that don't I guess hold up too well might be the way the Props down in that cellar where Derry goes looks now with all the things that they're able to do in movies Now come on if you're someone who grew up as a as a kid watching this I believe that's more effective from 2001. Maybe not today someone who turns it on today They probably won't be as freaked out by that But back in 2001, you know seeing all those things on the ceiling like that. That's that's creepy That's very creepy that whole scene is probably the best scene in the movie I many people would agree on that sentiment I just wanted to talk about some of the stuff that should happen this month as it relates to Jeepers Creepers 4 because of the fact that we are going to be having The 20th anniversary on August 31st. Just I did this with I did this recently with screen fire I talked about maybe something dropping on West Craven's birthday earlier this week So I just want to do the same thing with screen not screen with Jeepers Creepers reborn And Jeepers Creepers in general since again, this is the 20th anniversary on August 31st later this month So some of the things that I would like to see happen regarding Jeepers Creepers 4 Give us the official cast announcement on August 31st Give us whoever is playing the creeper on August 31st Not only that give us our first official look at the creeper since all of these other things that we've been managing to dig up That you don't want us to dig up are being told that that's not the actual creeper Because the other creeper the actual one required a lot more makeup to it. Let us see this monster Let us see the Let us see more things of the creeper truck Let us learn a little bit more about the characters from some new interviews or maybe some other Official press releases that'll be released Give us something on the 31st of August Give us the first official teaser or the first official trailer because the movie itself is again expected to be out in October Give us something on August 31st Now more or less. They won't actually mention the film Jeepers Creepers itself. What they'll probably do is just I Don't what I what I mean when I say that is I don't think that they'll try to pay respects to the film by actually mentioning it But they could give us something on August 31st and creeper fans will know what it's for I don't think they'll outwardly say you know on today's date We celebrate the 20th anniversary of Jeepers Creepers because that's that's just asking for trouble You know what I mean when I say that's asking for trouble They more more slightly screen media. They'll put out something regarding Jeepers Creepers reborn on August 31st That's what I would hope and it should be some official stales. It's feed the first teaser. It should be something That will just help amp up the excitement for this movie amongst creeper fans. Anyway, if I'm being honest Being very blunt and honest. I don't think in when it comes to general horror fans. No one is excited for Jeepers Creepers 4 When it comes to just general horror fans outside of this bubble outside of you guys who watch my videos If you're being honest with yourself compared to how you see these other horror movies performing I believe we know General horror audiences are not anticipating and looking forward to a Jeepers Creepers 4 not to say that they're on a small smidgen of Them but the vast majority. No vast majority are not not waiting on anything regarding the Jeepers Creepers 4 so I Think on August 31st We should get something just to at least recognize that date if they want to play it smart for marketing purposes anyway Because while I don't think they'll officially recognize the film They'll just say what they have to say about their little Jeepers Creepers reborn Jeepers Creepers 4 film Maybe on that date what they could do is put out something that fully establishes Victor Salva is no longer connected to the franchise In the sense that while he is the creator the creator no longer has any say on what happens with this IP We could get again like I talked about official stills Maybe we could learn about some returning cast members Maybe we get a confirmation that the film will indeed start in the Taggart barn Something about this film. I feel like should be brought out on August 31st There's even a whole YouTube channel like I've made mention of plenty of times where they have put out essentially Nothing of value to those of us who consider I guess being safe from COVID during filming Nothing of value and again, it's it's it's good to know that that no one got sick From COVID during this but again, that's all the latest we've gotten on that channel Which is why it's been a disappointment that channel has been a disappointment Nothing really has happened. They haven't garnered a lot of attention on any of their social media platforms So it's just like do something please do something on August 31st I would hope that they do anything that would garner some attention to the film to at least Let people know out there in the general horror community that it's happening if they have an interest in seeing it They'll know on August 31st Let's hope but let me know what you guys think about this down in the comment section below if you haven't already make sure you subscribe turn on Postification in this video in the description. I have links to my social media accounts on my Facebook tour in Instagram You can message me there, of course, there's any movies news or views I could cover in the future in my guys I will see you next video


Welcome to the Everton News Daily. Everton have reignited their interest in Southampton, Winger, Camel Dean, Sulemana. Sportwell Garnet are reporting today that the Saints are willing to let the 21-year-old forward go but only on a loan deal. There is other reports around saying that Southampton are happy for them to go on a loan deal with a view to a permanent in the summer, but this particular report doesn't say that. Sulemana played 18 times in the Premier League last season for the Saints and scored two goals, both against Liverpool on the last day. Everton were interested in them in the January but couldn't raise the money to buy them at the time, Southampton spent £22 million on them. This is an interesting one for the simple reason not for a loan deal. Everton may well suit where Everton's finances are right now. Like I said, slightly conflict them reports that it's a loan with an obligation or just a straight loan deal. Do Everton want to commit to a 20 plus million deal in next summer? They may well do or maybe a simple loan deal will suit but clearly with the targets Everton have got pace is what they're looking at and this might be one that they can do and they strengthen the forward line right now while they look for other targets maybe for next year. Everton remain in the hunt for Leeds forward Wilfrid Nonto, that is according to reports today, Alamize has also kind of confirmed this as well when asked that Everton is still interested in them. Lots of encouragement coming from Nonto's side if not from Leeds' side, there is report that Everton needs aren't too far away either from concluding that deal. The 19 year old forward played for Leeds on Sunday in their 2-2 draw with Cardiff in the championship so again this is one to watch I think it was three and a half weeks to go in the transfer window, this could be one of them that drags on a little bit but it seems as though Everton want Nonto and Nonto is interested in Everton so barely have also been credited with a interest in the forward as well. Everton apparently lead the chase for Chelsea defender Trevor Chalaber, the Blues are thought to be looking for another centre back and apparently are the front runners for the 24 year old, he played 34 times for Chelsea in all competitions last season. Chelsea defender Levi Colwell has just signed a new deal at Stamford Bridge and they've also brought in De Sassie as well who's a centre back so Chalaber's options looks as though his chances of playing first in football under Meritio Potatino are going to be limited and Chelsea are looking for him to go out on loan, Everton again these reports saying Everton are the front runners for him. The beauty of me can't play right back, he can play centre back, he can play defensive midfield as well so he is a versatile player, he has had lots of loans as well, he's been on loan in France as well as other places so got the experience as well, it kind of makes sense if he is available with the option of filling in in other positions as well so again Chelsea could be looking to get two or three out the door on loan and Chalaber to Everton maybe one of those deals. And finally, Henry Winters reported today that Delhi has suffered a slight setback in his bid to regain full fitness and give Sean Dyche a different option, he's spent last season on loan obviously a besiect ass, it didn't go brilliantly, he then obviously has done his interview with Gary Neville for the overlap and revealed what has been baddening them really and it has looked happy and been trying to get up to full fitness. Henry Winters report, it's a little bit of a shame because he was doing really well in training, so hopefully it's nothing too major, he did say it's going to be a couple of weeks before his first team comeback so hopefully it's nothing too bad in Delhi can make a quick recovery and then give Sean Dyche a headache because being said many times before if he could get back to 60%, 70% of the player he was at space he'd be an asset to Everton, there is the spectre of that £10 million that the team had. That's when he parents is hanging over the deal, but let's see if he can get fit and if he can force his way into Sean Dyche's thinking before we have to worry about that one. That is it for the news daily, give the video a thumbs up, subscribe if you haven't and if you want to become a Trophy TV Premier member the link is in the description and the QR codes on the screen now, thanks for watching, see you later.


Hello viewers, it's K.E. Felix here and I will come you to my YouTube channel K.E. Felix Inspire. I would like to say a very big thank you to all of you for the support and the contribution you are giving to this channel. If you are new to this channel, please do not forget to subscribe and hit the bell icon so that you get notified whenever I post new videos. Stay tuned for more details in this report. Before I address myself to that, I first of all want to express our disappointment at the conduct of the UPND as a party across the board. The violence that was exhibited in Mukushi is uncalled for. The violence that was exhibited in Los Angeles was uncalled for. The violence that was being proposed in Muense by UPND was uncalled for. The chasing away of PF candidates and blocking them from fighting in nominations in southern province is undemocratic and bubbly. We have always said that if there is a political party that is violent in this country, it's a UPND. In time pass they coined the slogan of Mapatizia formula. Later on it was other slogans that all spoke to violence. They are experts at advancing deceit. In one vein they will talk about the rule of law. But their real conduct is actually lawlessness. They have no regard whatsoever to the law. They have no regard to the constitution. Look at how they have manipulated and interfered with the operation of ECZ to a point of it making decisions and pronouncements that are unconstitutional and contemptuous. Yesterday in Nusangazi you could see from the faces of the police officers who were supposed to be enforcers of the law. Clearly they are under capture. With a dismissal of over 35 police officers, mainly from eastern province and northern province, in what is called national interest. The very least that the UPND were denying that it is fake, now it's being actualized. There is a process of ethnic and tribal cleansing within the police service. Within other law enforcing agencies and uniformed officers that are supposed to be providing security for this country. Both local and beyond. It's very sad that we are degenerating at a fast rate under the UPND towards the banana republic. And this we are calling on Zambians. Wake up, we know that many times when you are speaking we are perceived as just advancing our political interests. This is not about PF, this is about Zambia, our democracy, our freedoms and the rights that are being taken away at a fast rate each and every day that passes. Look at how the police now are being used to block candidates of other political parties from participating in elections by blocking them to filing nominations. It has never happened in the history of this country. God bless you and we wish you a good weekend.


One of my very best friends, Jasmine has agreed to help me with a few self tapes for the rest of December. And if you don't know what I'm doing is I built up this advent calendar with different scenes and monologues. Oh no, from Christmas movies and TV shows that have Christmas themed episode. I am setting myself like a time. So I'm just setting a 15 minute timer and then doing it, except today it's gonna be a little bit more like a cold read. Wait, give me like two seconds. While she's gone, I'm just gonna go ahead and grab whatever's a number 10. So it's married by Christmas. I don't remember the scene, married by Christmas. I'm gonna have to pull it up. My character is like a classic workaholic. How about we just read it once really quick so that we can both just know what it is and then I can get up and we can start doing it. So your mark. Okay. What do you want like my objective to be? I think the objective that you're choosing now is clear. I just wanna see like more of the relationship between you and your dad. Okay. And how is that relationship? Is it good? Is it bad because he was a workaholic? Good to me. I don't think like the workaholic part was bad. I think like if anything she was. I just copied him and loved it. Yeah. Yeah. Like she was like, oh now I'm gonna do it. Like just from the way that they're joking, but. How do you miss the mark? Let's start over. I looked right at the camera the first time. I was supposed to look over here. Okay. That fell a little off just because I don't have all the lines. Like I was telling you before I would prepare for at least 15 minutes and that usually has been enough time to like memorize all the way just by playing around with it. So I think that's why it feels choppy. And then on top of that, this one is super wordy. Like I'm just saying a lot.  Any notes? I like the way that you're reading it. I felt proud. A dad was like a proud dad.  She's just. The urgency of like wanting to run the business and like to her dad that she knows that this is what she wants to do. That she's a business woman.  Yeah, they'll always be the baby.  Okay, so let's, let's try it again. Yeah, I think that was good. I think I would just use that take. Yeah. Okay. Well, we only did like two, three takes. Yeah, we only did two. You wanna do one more? No. Okay, fine. Just for fun, let's do one more. Only thing I would feedback is the, it's a sticking point. So the company currently has about 25 employees. Like, you know what you're talking about. He knows what he's talking about, but like almost explaining it, like if you're explaining to somebody that doesn't, you're working so close with this project. So you know how it should come out, but he doesn't really know. He hasn't been in the office in years. And he's like, what, how do you, what are you talking about?  Like we can't, this is how we used to do it in the old days. And you're like, no, no. Almost concerned because that's what he used to do when he used to run it. He would just lay off everybody. And I'm like, whoa, whoa, whoa, we're keeping everybody's jobs. We're just gonna facilitate other things. We only did a few takes. So I'm gonna show you guys the one best take out of the ones that we did just because we didn't try it. Different approaches. We just did one approach. So I'm gonna show you the one best scene and I'll see you tomorrow. Thank you, Jasmine. Yay. How do you miss the little mark? Oh. Uh, with the hint of irony and extra foam apparently. I mean, cheers. Cheers. So dad, golf game, coffee, plan on making it into the office anytime soon. I don't want to get any more because you have taken over that job. Oh, okay. So I can take over your big corner office then. Wonderful. Hey, she's crazy. When have you ever known me to have patience? I can, however, rock a spreadsheet. The cup of art is impressive. I try.  And now they're on the verge of bankruptcy. So I believe that we could recoup our entire initial investment in just six months if we streamlined the operations. Are you talking about layoffs? Oh, no, no, no. It's a sticking point. So the company currently has about 25 full-time employees and their family is very concerned for their welfare. So they want everyone kept on. So how do you get around that? We don't necessarily have to. They aren't utilizing their resources to the fullest potential. So we would bring them into the national distribution. Dad, I want to do this by myself. Very. If you hadn't asked, I would have offered it to you anyway. You're ready. I know.


When narrations like this come to a believer, it really scares me. Do you know what he does? He feels worried and concerned and fearful. I don't know if I understand any of the people who can know that pain. Especially when they hear this حديث when it comes to Allah and His saints. This fire that you are using, this fire that we cook with. The volcano that we all have. And that he moved when he added the children and added youth. Juice from the back is just a portion. It means that green juice and from 70 portions are in the heat of hell. قالوا الله يا رسول الله. إن كان ذا كافيةً يا رسول الله. ومثل الله. It is enough. Then the Prophet said فَاِنْ بَاَهَا فُنْ دِلَاكِ It was given virtue. It was made war. بِتِسْ عَتِبُ سِتِينَ جُسَدْ كلُهُنَّ بِذْلُ حَرِّهَا.  And lives a life of worry. And fear. And scan. I will talk about the truth. التخوين في ملال الجهن. التخوين to be scan of the hellfire. It is written by Al-Rajat Al-Habib. We read that book. We read it. Subhan Allah. We are in one place. And what we prepared is on the other side. We are not even on the same way of the reality that we suffer on the other side. God tells us in the Qur'an وصحاب الشيمان. There are people over here on the left. There are people of deviation and people of corruption. There are people of hellfire. Allah says to us. في سلوم وحبيم They are in the midst of the heat and the burning. And the love of Jannah. Burn inside it. There is no comfort. There is no ease for them. Those people of hellfire. God tells us Every single time their skin peels off because of the heat.  Allah says we give them a new set of skin so they can taste the hellfire very well. It's a continuous pattern. It's not one time, two times. Youngsters, brothers, we're young. Youngsters in the back. We sit in the back. Come close. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. Come closer. من كل شيء يتعبونه هذا يتعبونه كالأمر هل يجب أن يكون هناك أحد من هذا؟ يقولون هذا المجموعة قال إنه أعب الله إنه أفضل الله إنه يتعب الله إنه أعهد إنه أعب إنه مجموعة ماذا هو؟ ليه من شريبا ليه سكيرا وكل شخص يتعبونه أو أي شيء يتعبونه يتعبونه ليه سكيرا الله يتعبونه يتعبونه يتعبونه يطير الخبال من الارض that they said يا رسول الله وما طيرا تخباله ما هو ذلك؟ The Prophet said عرف أعلم الله the people of the Empire the sweat that comes of them and that would help from their skin from the burning they would have to drink that you chose to drink in this world alcohol you chose to drink إنه يتصمير للأمر مهما أن تقلقه فإذن السببين يتصميرون في حياتهم يبقون في حياتهم جداً يبقون في حياتهم جداً أخياء أعرف أنه من جنوني بالمشاهدة يترتي إلى الملعوب ويردت إلى الملعوب ولماذا يأتي بك بسرعة؟ كان هناك محاولة فاتم أصبحت حجامي فالتخلصة تقول لفاتم فاتم لماذا تقول أنك لا أصبحت حجام؟ هناك مجرد في المجرد تتكلمه فلقد تبدو أنه يبدو أنه مجرد منك هو مجرد من أخرى وأنه أمام عزيز هو ما يفعله يفعله في المنزل يرسل في المنزل يبدو أنه أمام مرحب أمام العزيز كان مرحب قبل أنه أصبحت المنزل وأنه أصبحت المنزل وأنه أصبحت كل شيء وأنه يجعل أنه ينزل في المنزل لذلك one day he came to his wife Fatima وأنه يتكلمها من الأشياء when they used to be rich الأشياء when they had money الأشياء when they were enjoying themselves وذلك Fatima looked at Umar when she said to Umar Umar you are able to bring that back for us you are able to make us enjoy ourselves like we used to enjoy ourselves بحيب أمام الأشياء you can do that you've got the treasures of the Muslims you've got the keys why don't you make us enjoy ourselves why don't you make money for us and nobody said to have a response pay attention to your sins what is all of us he responded and he turned back and he said eat me a half of Allah I fear Allah I am scared of a day in which I meet Allah I can give it to you I can make you enjoy yourself and I fear Allah عُمَرِمْتَ عَبِلْعَيْدِ دَعَأَيْدِ والعاقِمة this is the ayah that he recited that this world if you want to hear after you're not going to look for to be higher إخواني the Prophet told us منخافة أدلج anyone who is scared are we scared of the day as we mentioned here are we scared are we really worried about it when the Prophet said منخافة أدلج the person who is scared prepares when the Prophet said the one who is scared he prepares والله he prepares the one who is scared it's impossible for him to do sins to commit sins to go against Allah and say I'm scared it's impossible that a person is scared and they leave of things that are obligatory and they know that person is truly not scared we have to wake up to read your life and that's the truth and which is severe punishment is serious لازه فريخه في الجنة الجبه جلأت الجنة وفريخه في السعير الجبه جلأت الجنة الجبه جلأت في هالفايا that our eyes should be just enjoy yourself وليدارك عمر عبد العزيز himself used to say ولم تذري في أي المحلين and you which person can his eyes go to sleep and die to sleep enjoy yourself ولم تذري and he doesn't really know he doesn't know much of the two stations that is going to be for him is he going to be فريخه في الجنة or is he going to be فريقه في السعير he doesn't know وليدارك عمر عمر عمر his mother entered onto him he was crying severely he was crying severely and his mother entered onto him my son why are you crying every single night like this if you kill the person they will go to that family will ask for forgiveness and surely from when they see your situation and the way you are will ask for forgiveness because they don't know you're crying you spend day and night crying he said to her he said to his mother نعم I killed myself he said بيس الله سبحانه وتعالى he says in the Qur'an وَاِمْ مِنْكُمْ قِلَا وَارِبُهَا كَالَا عَلَى عَبْبِكَ حَتْمَا الْمَطَضِيَّةَ ثُمَّنُوا نَجِلْ لَلِيْنَا تَقَوْ وَاَلَا لَا الْمَارِبُونَ فِيَا جِزِيَّةَ they held fire everyone's going to go over it it's a bridge the prophet told us this they are metal rods on the side it grabs people the one who had come with prayer the one who came with righteous actions the salah will come to you that day and say to come I'll take you out of this place and it will take him the messenger will be the first to go and he will go through like a lightning as he said the rest are different stages one person is going to be told to walk on that prayer he says it's a cut another one he can't walk because it's actually a very little so it's going to cool another one the prophet told us it's going to go on his stomach and when he falls and his blood is right under him so he falls into the hellfire and Allah told us the only people who are no better from that bridge are who the pious people the people who are righteous the people of Al-Taghwa the people of Al-Taghwa is the one Al-Aliqna Al-Qarid he said Al-Khuf bin Al-Jaleel Wal'Arab Al-Bitanzin Wal'Ribab Al-Qaleel Al-Aliqna Al-Khuf bin Al-Jaleel he said Wal'Arab Al-Bitanzin he said Wal'Arab Al-Bitanzin Wal'Ribab Al-Qaleel he said وستعداد اليوم بالرحيل for the name of Mr. Infatimid that day the prophet told us ليس بينك وابين الله تون جلال there is no translate between you and Allah here you can get a lawyer and the lawyer may get out of the problems ليس بينك وابين الله تون جلال the prophet told us that the person will look towards his right فينظر أي من منه فلا يرى إلا ما قدر the person will look towards his right and he will only see what he put forward وينظر أي منه when the person will look towards his left فلا يرى إلا ما قدر and he will only see the things that he has done then the prophet said فينظر بينه the person who is right in front of him فا يارا نارا تيل عوشي he sees the hellfire right at him looking at his eyes the messenger told us from this لها سبعون زيب زيبا جهنمها 17 روحs لكل زيبا بي 70.000 لكل زيبا بي each road سبعون ألفة منك يجبوا لها 17 أجل each road holding it down trying to make sure that جهنم doesn't run to the people it's a warring الله says إلا ربطوا من مكان المعيد سبعوا لها تبا يقولوا وزفيرا in roads when he sees his people the people were meant to enter it جهنم is something you want to put yourself into الله مقصد جهنم when he says to جهنم after he put everybody in there and he filled it up على قعرها الله says to it هل انتلت are you full جهنم do you have everything you mean and then جهنم says are you full is there more for me to take in فا يضعوا ربط your lord places he's full inside it فا ينزوي بعضه بعضه جهنم must follow and eats itself there's nothing else able to fill جهنم out it can't get full the message of sitting with his companions one day for a certain or certain he had a noise something fell and then the messenger he heard that noise and he said يا رسول الله we heard that noise the messenger said it was something that was thrown from the edge of جهنم and it was going down and now it just reached to the bottom right now it reached the bottom ايها العيب الرائع the loving brothers and sisters those of you who have belief and faith into heart those who believe that they're going to go back to الله and they're going to meet him سبحانه و تعالى and they're going to be accounted for everything which they said and they did make sure you save your bones your flesh your skin from that fire and the way you can do it is not rocket science it's simple and it's easy it's achievable and the way you can do it is عمر الصالح righteous actions righteous actions today your opportunity is today youngsters your life and your opportunity is today I've been to the hospital recently I've seen people in hospital I've seen elderly people I even one time saw a young boy in hospital young boy when death comes it doesn't consult you and it doesn't take your opinion it will come unexpectedly and it will take you and that day that action that I just told you is going to save you with Allah's mercy I did not do it Allah tells us in the Quran your book will be given to you and then when you read your book you will say باني هاد الكتاب لا يغادي صحيرة ولا كبيرة إلا أحصاها ووجدوا ما عملوا حاضرة ولا يضل ربك أحلها the person will open their book and they will read and they will see everything which they said everything which they did present in that book of death and then they will say in response باني هاد الكتاب what book is this لا يغادي صحيرة ولا كبيرة إلا أحصاها they lead to and the botch it doesn't mean of anything every single thing is present in it it's not letting go out of anything that's why that book is not happening Allah is sending you or Allah give you safety or Allah protect our youngsters and our youth and bring them back to the reality out there or Allah make them understand that the problem that awaits them it's a day where your mother you have no parents that can care for you يَوْبَ يَفِرُ الْمَرُ مِدَخِيمِ وَأُمْمِهِ وَأَبِيمِ مَصَعِمَةِ وَمَلِيمِ the child, the parent your mother today is the only one if you become a criminal you've got a life sentence in prison she's probably the only one who is in prison she's the one that loves you the most she's the one that admires you it's the only one who when you do something she will always find an excuse for you that's how the mother is to everybody else that day even she will run away from you even she doesn't have anything to say to you that day everyone is for their own self everyone is out there for themselves so don't expect for your friends and the people you've chosen to help you that day Allah is saying يَعْبَ الْعَرَبِينَ or Allah give us safety that day or Allah enter us in Jannah إِخْوَالِي اَنْتِرِي جَنَّا it's not the only thing that the Prophet ﷺ told us to look for the believer doesn't have that kind of aspiration alone we ask Allah he takes us to Jannah to fill those and he makes us those who see الله تعالى and look at him you know Allah is the one who is able to do that and all of this as I said to you my beloved brothers as we said this is it's a reminder and it's a reminder to the people who are alive all of these are giving you these reminders it doesn't affect everybody some people might hear it they might go over there some might even wish to just go out in the mischief because it doesn't really affect everybody it only affects the one whose heart is alive or Allah keep our hearts alive there's a heart his heart is alive and he is the one who is also here in the truth and follow it رضي الله عنه narrated that Allah's Messenger ﷺ said oh people seek repentance from Allah where really I seek repentance from him a hundred times a day إنه يسارن عن المزني رضي الله عنه قال قال رسول الله صلى الله عليه وسلم يا أيها الناس توبو إلى الله فإنني أتوبو في اليوم إليه مئة مرة إخواني أنا حوايتي أنا أحواتي من بلاوية بلنة سيستجر بيپنتز هذا الحديث يقوم بأسأل ويأتبه ويأتبه ألقا رب يسارن رضي الله عنه قال رضي الله عنه قال أيها الناس أو الناس توبو إلى الله ويحبوا الله فأيني أتوبو في اليوم إليه قال أتوبو أنا أقومو كلمقاء 100 مرة إنها رباات 100 مرة ويقومو بإذن الله even though أخبرك منه كيف أأية بسفة من تعاني صلى الله عليه وسلم ويأتي الله عندما حدث بالتوماك الله في بيب يطلق him ويطلق إلى الغذ 100 مرة a day لابقى, إذا أن يعزفه ألا يعود ألا يحمده أما فأرسل يجعل التحديد، تحديد المكلمة، أنا لا أستطيع السيانات أنا لا أستطيع السيانات يجعل التحديد في هذه الجهة لا يجب أن يترك بكبراتيس نعم ٧ is that the repentance is done in the permitting of a time��� هناك وقت عندما يكون مقرد وين تكونا مطابت وفي وقتها يقدر وين تكونين يرغبون لك to the repentance قبل أن تطلعوا على الشمسة شمسوا من ماريبي هتاب الله وعليه شخص يتبقون before the sun rises from the opposite direction he repents as it is accepted but if the sun comes from the opposite direction and he repents it, don't worry it's gone نصد فصل عسلم يقول إن الله يقبل التوبة العام ما لم يغرق الله يصحف التوبة عسلم before when the next reaches here يابانا يقول to make out it's too, the preventive is too late those are the two times we have to be careful now نراتل با إبن عمر رضي الله عنهما الله's messengers صلى الله عليه وسلم enjoyed the payment of one hour of dates of one hour of Bali a Zakat al-Qaeda on every Muslim's male or female young or old and he ordered that it be paid before the people went out to offer their e-prayer عن عبد الله ابن عمر رضي الله عنهما قال فرض رسول الله صلى الله عليه وسلم Zakat al-Fitri صاع من تمري أو صاع من شعير على العبدل والحر والذكر والأنثة والسغير والكبير والمسلمين وامر بها أن أن تقدر قبل الخروج الماسي إلى الصلاة يقول it's obligatory it's obligatory it's obligatory it's obligatory it's obligatory it's obligatory on the young on the young it's a purification for the fasting one وَطُلْ مَتَنْ يَنْ مَسَاكِيمْ and it is also food for the poor and the unbelievers for the day of Reem to enjoy themselves and it is also to come with these characteristics of generosity and righteousness and it is also to express شكور gratitude it's to express gratitude to Allah the Almighty because He allowed it to finish Ramadan and to also pray the young lame among everybody has to pay this one صاعة للطعام it's a sa'a of food it can be poor it can be shakir it can be dumb it can be aqat it can be dry yogurt or any other food that's eaten from the place that you're from where you're from the person who pays it when Ramadan is complete قبل صلاة العين before the Salat of Reem that's the best it is best that it's done when Ramadan finishes but before Salat of Reem it is daily it is also permissible to bring it forward one or two days later you're allowed to based on the action of some of the companions ألينات أحمد وليس بسائل ألينات أحمد وليس بسائل أReemail تالي خاشب إن he sent a letter to Saleem مد audiobook ألينات أحمد وليس lash وغ zweite فرط لي هل آخر فرط قبل صلاة backpack قول ق글 عمبرن احمد سيد عقل الله dankان عمبر He used to he used to have capillary in fit before the fit중atta before it that's the leads أعتقد أنه سيكون أفضل لكي يجب أن نذهب إلى مدينة جدًا إذا كنت أستطيع أن نبدأ من هنا إذا كنت أستطيع أن نستطيع أن نذهب إلى مدينة جدًا


So it's day 17 of my experiment to find joy in the money that my family is spending every day by recording it on video and sharing it with you here on YouTube. And I've actually been sharing what we've been spending online for 100 days now. I've only been doing this on video for 17, so about halfway through the third week. One of the tricky things with trying to manage spending in a family is that you've got whole family spending, but I just want one day, just one day, where we don't spend anything. Only found out just now in the German chain supermarket, oh yeah, we spent in the German chain supermarket as well, I went in for some bread and we ended up getting a two for £2 deal and a bottle of milk. Anyway, I also found out in the German chain supermarket that we spent a load of money at the school today. Let me show you what we spent on, it's quite an impressive list. What I'll probably do is I'll read out the list of what we spent on at school and I'll cover it up with beautiful shots of nature. So that's it, day 17. Thanks for watching this video, I'm going to be back tomorrow if I say it, it's going to happen. If you've reached this point in the video, why not join the end of the video club by clicking the thumbs up button just to let me know someone reached this point. And if you subscribe, that would be hugely appreciated because we're trying to get to 1,000 subscribers currently, I'm at 460 at the moment, it's laptop, which is unexpected but delightful, so just click on the subscribe button in the bottom and thanks for watching. Can you please help my daddy get 1,000 subscribers, just click in the space. Thanks, bye. How was that?


In this module, we shall look at what are the different forms of identifiers which are used in NGN. Specifically, we'd look at the three types which are adopted in NGN to identify the objects and entities. The identifiers in NGN are defined as the numbering system, the naming system and the addressing system. The numbering system is defined to determine how many devices are there in the network. It is similar to the IP addressing. The naming, you can consider it something similar to the DNS. An addressing is again similar to IP address on the basis of which the packets are delivered. The three types of identifiers defined in NGN are first the host domain name. The host domain name or the domain name in simple words identifies the operator for routing the SIP registration requests to the home operators IP multimedia subsystem. If you recall, in the NGN reference architecture, IMS is a mandatory entity. So for home domain name representation, the DNS format is utilized. For instance, it could be an operator 123.com. The details of the home domain name and its associated additional information are provided in the IP multimedia subsystem subscriber identification module. Then the next important identifier is the private IDs. Whenever a user subscribes to the NGN services, it needs to be given a private ID. Each user needs to have at least a private ID. This private ID is going to stay with the user for as long as the user stays part of the network and it is not dependent upon the session or the duration of the service. A user can have more than one IDs as well for subscribing to different services. The syntax is again, it is the username at the rate something called let's say Realm. Realm is actually the host domain name. For instance, we were talking about the operator 123.com. Likewise, the syntax can be username at the rate 123 operator.com. This information is also stored locally on the IP multimedia subsystem in the subscriber identification module. Now the private ID is network aware. It means whenever the network changes, the private ID of the user also changes because it is associated to the network it belongs to. Then the next identifier is the public ID. Similar to the private ID, each IMS user may also have one or several public IDs. Now the difference between public ID and the private ID is that the public ID is used for routing and forwarding the messages to that particular user. For instance, if the SIP message is to be routed to the end user for call establishment, for call forwarding and for any other important notification, then the public ID is utilized. The format of the public ID can be either in the form of the telephone user uniform resource identifier. For instance, E.164 based, which if you recall is the E.164.ARPA mechanism which is provided by NM. And then we have the SIP URI. The SIP URI is used in especially the voice over IP, dialing and signaling. And the format is again, it is a user at the rate the administrative domain it belongs to. Now again, the public IDs are user aware. It means against every user, the public ID is going to change. To best understand what are public and private IDs, you can establish or try to establish a relationship between the domain name and the IP address. But here in NGN, the properly designated terminologies are the public and private IDs.


Welcome to the Endless Knot. Today is part two of a three-episode series about the word average, in which we look at property and probability. As we saw in the last video, the word average, which comes from an Arabic word that means blemish, and ultimately from a protosemitic root that means to be one-eyed, originally referred to damage to shipping, and how averaging out those losses was an early form of insurance. We also saw how Ptolemy had a geocentric model of the universe, and how his star charts were passed on to medieval Europe by Islamic scholars, and how the Islamic world also passed along coffee to European society, where coffee houses became hives or business transactions, including the Italian invention of contract insurance, which led insurance brokers in Lloyd's coffee house in London to become the insurance market Lloyd's of London. Well the other thing the insurance business needed to really get going was a way of predicting the likelihood, or chances, of unfavorable events. So we're back to predicting the future again. The word likely, by the way, which around 1300 had the sense of having the appearance of truth or fact, and from that gained its sense of probable in the late 14th century, comes from Old Norse Lickliger, replacing the native Anglo-Saxon cognate Yilichlich. The word chance, on the other hand, comes through French, from Latin cateau to fall or die, and when it entered English around 1300 it had the sense something that takes place, an occurrence. In other words, how matters fall. But reminding us, I suppose, of how the dice fall, and thus became a synonym for probability. The word probability itself comes from Latin as well, from probabilitas. This in turn is cognate with the word prove, and comes from the Latin verb probare to make good or show, from probis, worthy or good, from proto-Indo-European probo, being in front. As for calculating probabilities, we again have the Islamic world to thank. For the first name in the history of probability theory is Al-Kindi, the 9th century Arab mathematician, philosopher, and, if you'll pardon the pun, all around polymath. As a philosopher, he adopted and adapted Greek ideas, and, as a mathematician, he was the first to use statistics and probability to decode a cipher by working out what the letter frequencies were. But in addition to his kicking off the study of the use of probability and statistics, he is probably best known for introducing Indian numerals to the Islamic world, and thence to Christian Europe, where they became known as Arabic numerals. The 12th to 13th century Italian mathematician, Fibonacci, was the first to popularize the so-called Arabic numerals in Europe through his 1202 book, Lieber-Abbaki, or Book of Calculation. You probably know him from the Fibonacci numbers, which he also introduced in that book. It was an important and influential work, and was the inspiration and one of the main sources for the book Summa Arithmetica, or Summary of Arithmetic, by the 15th to 16th century Italian mathematician, Luca Pacioli, itself containing a number of firsts. It was the first description of double-entry bookkeeping, useful, I suppose, for all those later coffeehouse financial transactions, which led to Pacioli often being referred to as the father of accounting and bookkeeping. But for our purposes, Pacioli's book is important for another first, the first mention of the problem of points, to which he incorrectly offered a solution. The problem of points can be explained thusly. Imagine two gamblers are playing a coin toss game upon which is writing a monetary prize. The game is to see who is the first to win 10 coin tosses. But for some reason, the game is interrupted, and the players want to figure out how to fairly distribute the stakes between them. Simple enough to divide it in half if they were tied, but harder to work out if one had a lead. It's clear in that case that one of the players has a greater chance of winning than the other. But what chance? This problem kicked off the development of probability theory and the math to solve problems of probability. Our next stop in the history of probability was one Gerolamo Cardano, who was inspired by Pacioli's work. You see, Cardano was another one of these polymath types, working as a physician, but also a part-time mathematician and inventor, inventing, for instance, the combination lock. He was also an avid and disreputable gambler. You can see why he was so interested in Pacioli's probability work. And he was often short on funds, keeping himself afloat by gambling and playing chess. He was thus the first to write systematically about probability in games of chance, publishing his Viber De Ludo Allaei, or book about games of chance, in 1539, which included not only the mathematical treatment of probability, but also ways to cheat, like rubbing a card you want to draw from a deck with soap. He wrote about the use of expressing odds as the ratio of favorable to unfavorable outcomes, like there's a one in six chance of rolling a six with one die. And even worked on figuring out the probability of rolling a seven with two dice. As a result of all this, Cardano is sometimes referred to as the gambling scholar. So we also have gambling to thank for probability theory. Speaking of gambling, the word gamble is related to the word game, as in games of chance, coming from Old English, gamenean, ultimately from the proto-Germanic collective prefix ga plus man, meaning person, giving the sense of people together. Gamble probably gained its B by influence from the otherwise unrelated word gamble, as in a lamb gambling. I suppose you need good luck when gambling, and luck is an odd word with an uncertain etymology. It probably comes from middle Dutch luk, a shortening of geluk, meaning happiness or good fortune, and cognate with modern German gluk, meaning fortune or good luck. But where this word ultimately comes from is entirely unknown. Another unexpectedly luck related word is speed, which comes from Old English, sped, luck or prosperity. It comes ultimately from proto-Indo-European spay to thrive or prosper. The sense of quickness, now the dominant sense, didn't emerge until late Old English, but there is a remnant of the older meaning in the expression Godspeed, which actually means may God prosper you or even just good luck and has nothing to do with quickness, though I'm sure God is very fast. But getting back to the gambling scholar Cardano, he was also into astrology. There's predicting the future again and struck up a friendship with fellow astrologer and Lutheran theologian, Andreas Ossiander. Ossiander edited a number of Cardano's books and even received a dedication in one of them. Another writer that Ossiander edited, who didn't get along so well with him, was Nicholas Copernicus. You see, in his De Revolutionebus Orbium Coelestium, or On the Revolutions of the Celestial Spheres, Copernicus challenged that old Ptolemaic geocentric model of the universe, presenting instead a solar system with the sun in the center and the planets in orbit around it and various moons in orbit around the planets, made more sense of the apparent movement of the celestial objects. But while editing, unbeknownst to Copernicus, Ossiander slipped in his own preface to the book, stating that it wasn't meant to be taken literally, it was just a mathematical model. Copernicus was furious, but by then it was too late and there was nothing that could be done about it and soon after Copernicus died. But coming back to Paceoli's problem of points, it was finally solved in 1654. The problem came to the attention of a French writer named Antoine Gambo, who is more commonly known as the Chevalier de Meret. He wasn't actually an aristocrat, it was just a name he invented for his dialogues, but soon his friends started to refer to him that way and the name just stuck. In addition to being a writer, the Chevalier de Meret was also a proficient gambler, as well as an amateur mathematician, but his math skills weren't up to solving the problem, so he brought it to the attention of his friend, Blaise Pascal. Pascal was a child prodigy in mathematics, making many discoveries while still a teenager. In 1650, he had something of a religious epiphany while suffering from ill health and abandoned mathematics, turning instead to religious meditation and philosophy. He eventually did return to mathematics, but died at the unfortunately young age of 39. As a result of all this, he is known as the greatest might've been of mathematics. Well, he started corresponding with fellow French mathematician Pierre de Fermat about that problem of points, which the Chevalier de Meret brought to him. Actually, Fermat was a lawyer with no formal mathematical training. Indeed, he didn't even get onto mathematics until he was in his 30s, but unlike his friend Pascal, his life was long and mathematically productive. Perhaps best known for Fermat's last theorem, his contributions to mathematics were so great that he's often referred to as the Prince of Amateurs. Well, between them in their correspondence, Pascal and Fermat worked out two entirely different ways of solving the problem, which produced the same results, and the methods they developed became the backbone of probability mathematics. And in keeping with Pascal's vacillation between mathematics and religion and philosophy, Pascal united these two interests in the realm of probability, writing, "'We know neither the existence nor the nature of God. "'Let us weigh the gain and the loss "'in wagering that God is. "'Let us estimate these two chances. "'If you gain, you gain all.  "'Wager then without hesitation that he is.'" In 1657, just three years after Pascal and Fermat created probability maths, the Dutch astronomer and physicist, Christiane Huygens, wrote it up in the first formal treatise called De Ratio Kiniees in Ludo Allaeae, or On the Reasoning in Games of Chance. And it's perhaps fitting that Huygens is best known today as an astronomer since probability came to be very useful in that field. For instance, years later, another child prodigy, mathematician Carl Friedrich Gauss, used the method of least squares to accurately predict the location of the dwarf planet series from only a few observations as data points. Imagine you have a graph with just a few data points on it. The method of least squares allows you to find the line of best fit for that scant data. So once again, we return to the effort to determine the motion of celestial objects, just like Ptolemy and Copernicus. Another important early contributor to probability and statistics was Thomas Bayes, a Presbyterian minister by calling, he is most famous for Bayes theorem, which basically allows one to accurately work out the probability of an event based on prior knowledge. Bayes actually published very little on mathematics during his lifetime, and it was up to French aristocrat and scholar, Pierre Simon Laplace, to further develop Bayes theorem. And in a nice bit of interconnection, Laplace had also tried, but was unable to calculate the orbit of the dwarf planet series, a problem which you remember Gauss solved. One of Laplace's students, Joseph Fourier, made important contributions to both mathematics and physics. But it's oddly enough, his work on heat transfer that interests us. Fourier was very interested in heat and is credited with discovering the greenhouse effect. You see Fourier got into an academic argument with Simeon Denis Poisson over the theory of heat. Poisson was forced to retract. However, Poisson had more luck in his work on probability theory, which included the Poisson distribution, which allows one to know the probability of a given number of events occurring in a fixed interval of time, exactly the sort of thing an insurance company needs to know. After marine insurance, the next type to develop was property insurance, specifically fire insurance. Unfortunately, it's a bit of a shut the barn door after the horse is bolted sort of thing, because what really pointed out the need for fire insurance was the Great Fire of London in 1666, in which more than 13,000 homes burned down. The job of rebuilding fell to architect Christopher Wren, also a sometime physicist and mathematician who scientific work was highly regarded by our friend Pascal. Clearly Wren observed the need for an insurance office as he included in his rebuilding plans a site for one. Wren's assistant was polymath Robert Hook, the trajectory of whose life ran from being a penniless scientist to a wealthy and admired member of society to eventually an old man in ill health, jealous and bitter towards his scientific contemporaries. However, Hook's efforts as surveyor after the Great Fire of London won him much acclaim. In addition, Hook worked on the problem of timekeeping and celestial navigation. You see, in order to calculate longitude, how far east or west you were, you needed to know the time back home where all your star charts were calibrated to. If you take a reading of a star's position and find out how far out it is compared to the star chart, you can work out how far east or west you are to see the star in that position. But you can't use a pendulum clock at sea and spring driven clocks weren't accurate enough. So Hook invented a balanced spring pocket watch, which was up to the challenge and tried to patent and develop the technology, but was unable to finance it, no doubt adding to his bitterness in his later years. What's more, our astronomer friend, Christiane Huygens, independently came up with the same idea some five years later. But getting back to the insurance office, the first one to be established was founded by a man with an unusual middle name. Nicholas, if Christ had not died for thee, thou had spin damned, barbun. Yes, that's actually his legal middle name. The practice of giving such hortatory middle names being popular with the Puritans at the time. Well, barbun and 11 associates founded the insurance office for houses located at the back of the Royal Exchange, the first fire insurance company, and soon other companies were started. And once those new insurance companies got their hands on all that new probability math, such as the Poisson distribution, insurance companies could estimate how often claims would come in and thus set their premiums appropriately to average out their risks and losses. Thanks for watching. I'll be back very soon with the final part in our look at the word average, in which we investigate statistics and stock markets. If you've enjoyed these etymological explorations and cultural connections, please subscribe to this channel or share it. And check out our Patreon, where you can make a contribution to help me make more videos. I'm at alliterative on Twitter and you can read more of my thoughts on my blog at alliterative.net.


no one grows in comfort.  We do not grow in comfort, we grow in discomfort. So as you get older, the more you crave comfort, which is natural, the more we have to be intentional about creating discomfort in our life, creating risk and adventure, which need to be curiosity led and we need to commit a self disruption and self disturbance and self interrogation.