Can you guys hear me? Okay. Good. Thank you. Good afternoon, everyone. I hope you're doing great. Today's a day zero at Kripgon. My name is Sohan Kunketkar. I work at Red Hat as a senior software engineer along with me. Hello. My name is Peter Hunt. I also am a senior software engineer working at Red Hat. I work primarily on cryo and sig node, kubelet, container runtimes, that whole area of the stack. So today we are embarking on an exciting journey as we delve into the realms of cryo and wasm. Our journey promises you to be both lightweight and secure, at the same time, providing you a containerization and language agnostic execution. So here's the agenda for today's talk. We're going to quickly cover the introduction to cryo and wasm. Then we'll talk about the importance of wasm in the container space, followed by the benefits of wasm with cryo and Kubernetes. Then we'll talk about our journey into integrating wasm into cryo, followed by quick demos. Then we'll have closing remarks and questions and answers. Let's get started. Can I get a quick show of hands? How many of you know about cryo? That's good. So cryo is a container runtime interface. O stands for open source. It's a lightweight container runtime designed specifically for Kubernetes to run containers within the Kubernetes boards. Cryo brings a host of features to the table. It's native integration with Kubernetes, brings or facilitates orchestration. It exels in image handling at the same time, provides runtime execution and other security protocols. Next slide. So talk about the wasm. Wasm is a powerful technology for web browsers. But today we are seeing its reach beyond web browsers to client and server applications. So wasm in a nutshell is a fast secure virtual machine to execute binary execution without doing the CPU and OS resources. Wasm's appeal lies in its language, agnostic nature, fast execution at the same time providing a sandbox execution environment. Now the magic happens when cryo and wasm comes together. We are trying to leverage the lightweight containerization of cryo to actually execute wasm workloads. So here we are trying to integrate the Kubernetes concepts with language agnostic execution of wasm workload to bring this energy. Next slide. All right. So here I want to talk about the unlocking the potential with wasm in the container space. Wasm has changed the way we use containers nowadays. It added some kind of flexibility in the way we run containers in production. So wasm enables us to compile the code in binary format, which would be utilized for cross architecture and for multiple OS. And that is something which we wanted to use in the container space. At the same time, wasm's binary format is something which is easy for the execution at the same time, minimal in the start of time. So which is really helpful in optimizing the resources in the container space. When you talk about wasm, wasm also adds some security aspect. So it provides you a sandbox environment. At the same time, it provides you model signing for code for integrity and maintaining the security. It allows users to give you some kind of flexibility to add security knobs at the container runtime level without needing to understand the host level or OS privileges. And wasm enables fine-grained control over how application and access may be. That not only gives you enhanced security, but also prevents some unauthorized access. Next slide. Now we know about the importance of wasm. Let's understand the benefits of wasm with cryo in Kubernetes. Here I want to talk about the real-time use cases. The first thing that comes into picture where Kubernetes is the de facto or I would say the popular platform that covers most of the age-competing use cases. So when we integrate wasm with cryo, we are trying to not only add lighter deployments, but at the same time giving us that flexibility to support broader spectrum of OS and architecture. So imagine the use case where you are deploying the lightweight microservices with cryo containers on diverse age-competing devices within the Kubernetes environment. How fascinating is this? The second use case I want to talk about is dynamic scaling. Kubernetes does support dynamic scaling with the help of HP and VPA. So when there is a constraint in the resources, Kubernetes does that thing where it leverages that concept. Now imagine having wasm integration into it. Wasm modules are very light in nature. As I said, we are compact. So we can actually use that for faster deployment and minimal startup time. Since we talked about microservices, we also need to think about the security aspect of it. Kubernetes does support security aspect when it comes to deploying microservices on the platform with cryo container security. Now wasm is like a cherry on the top where it not only provides sandbox execution environment, but also gives you model signing for code and allow users to tweak security-specific knobs at the container and time label. And last but not the least, polygot microservices architecture. Towards the end, I've mentioned my reference, which basically says that there's a research paper which says the containerization of polygot microservice architecture improves their performance. Now imagine artifacting that using wasm will definitely help in improving the performance and reducing the resource usage. With these benefits, our journey started into integrating wasm into cryo. Every journey has some hurdles. So we face few roadblocks that I want to discuss in the next slide. Cryo is at the higher level runtime. It does support two OCR runtimes, RunC and C run. RunC being the popular low-level runtime doesn't support wasm natively. What it means, it doesn't support the integration of wasm runtime to run wasm workloads. However, cryo does support C run where if you mention that image annotation mentioned on the slide, you can run the wasm workloads. However, that is not the case where you basically run that. There's a caveat where this mechanism is passing OCR annotation down to the runtime. In a standard runtime container runtime setup, passing OCR image annotation down to runtime is something which is not organic. And image might try to change the runtime in a way that might pose some container specific issues or security specific issues. Coming back to the cryo level, we thought of adding that support. When pod gets created, at that point of time, we don't know the actual platform of the image. So if you don't assign the right runtime class, cryo will error out saying there's a problem with the platform. So the ideal scenario here is to treat, especially for wasm, is to treat posi wasm as wasm by default. What does that mean? Like we introduce a new field, we introduce a new field called platform runtime parts under cryo's runtime config, where you can mention platform architecture and the corresponding runtime for it. Now, as you can see on the slide, there's a config there. The next one. That config you can see we are using siren wasm. So just to note here under the hood, we are using wasm edge as a runtime. And with this cryo config, you can run wasm workloads without any problem. I can quickly show you the demo. He's a barcode QR barcode. You can scan it. You can get the artifacts for it. So I'll be using the same cryo config that is used on the slide. You can use it as a drop-in config or the bend config. And you need to spin up the cryo instance. I'll be using a local up cluster to run Kubernetes locally. Just show the cryo config. So you can use this as a drop-in config or the normal config. With this, I'm going to spin up a cryo instance. And then we'll be using Kubernetes local up cluster script to spin up the cluster with cryo as the container and time. Let's wait for some time. It takes some time. So the idea here is to have a wasm workload. I'll be using a pod definition to spin up the pod, which will have http server, which takes the input and displays the output. As you can see, the cluster is up and running. Here is the pod definition. And simply its http server wasm artifact, which is used to send the input and get the appropriate output. I'll just go ahead and apply that definition. And I'll expose that service so we can hit the endpoint by calling them, by giving the input and providing the output. So here's the IP for it. I'm going to use that IP to provide the input, say hello world, and that should be the output. All right. And that's some of the demo. With this, I'll hand it over to Peter who will continue with the rest of the presentation. Thank you, Sohan. So this, as it is, is like what currently works in cryo. So we have a wasm image. We wrap it up in a scratch image and we can push it to a registry. And cryo can pull that down and using CRUN wasm and a specific cryo configuration can run that wasm image and have a working wasm container. So that's cool. It works. We love that. But next up, I'm going to talk a little bit about some of the things that we as the cryo community are thinking about in extending our integration with wasm. And some of the ideas we have about changes we may make in the future or may not. We haven't decided yet. So, oh, what happened? Okay. That's cool. Future. Wait, sorry. This is cool. Okay. So, yeah, we're going to be, this is what we want, right? Yep. Okay. It's quite hard to see it from over here. All right. Cool. We're back. So let's talk about the future. The first change that we're thinking about making is extending the current behavior that cryo is able to do and like integrating more of the, you know, features that some of the wasm runtimes have. So one of the things we're thinking about is adding support for plugins coming to. Okay. Let's. Nope. Okay. Here. Hmm. That's good. What's going on? There we go. So, here we have so the, you know, supporting plugging plugins and wiring in additional data into, you know, a running wasm image. So it allows us to do more meaningful work and leverage more of the capabilities of the various wasm runtimes. We're focusing on wasm edge, but see around wasm also support for wasm time and span, I think. And so some of which allows us to do some more meaningful work. We're going to showcase some work that so on has been working on that is very subject to change. In fact, a little bit of this demo is already a little bit wrong, but we'll update it in the slides and in the QR code that you scan before the GitHub repo with the demo information to be more accurate as we move forward and sort of come to the implementation. As I said, this is a future thing, but we're going to show another video, which means I'm going to have to look like this, which is cool. Okay, so what we're going to do is we're going to do a very similar setup as before, but a key that we're going to note in a moment is we're going to print out the cryo configuration. It's going to look, oh man, it's going to look a little, it's going to look a little bit different. You see at the, in the middle around, there's the runtime environment that actually might change a little bit. But basically the idea is we're passing environment variables down to C run wasm itself and that allows us to customize the behavior of, you know, the various wasm runtime. So we're looking to add plugins here, which will allow us to use a llama plugin to do some fancy AI stuff. So that is the crowd configuration as it's subject to change. And then we're going to start up our cube cluster in the same way that we did before. And I'm going to time travel a little bit. So here we did. We did it. And that took no time. And then we're going to print. Okay, pause this. We're going to print out. So this is the container file or Docker file, as many people know it, of the workload we're going to be running. So a couple of notes about it is we have the two environment variables that are defining both the plugin that we're going to be using. Whose name I'm going to try to read. I can't read it. Yeah, wasm edge and then the we're also going to be changing the, you know, having a model path that we're going to be using for the, you know, the llama GPT work. We have our work door, which is slash app and inside of that work door. We're putting our wasm binary. So notice this is a scratch image. We're going to talk about this a little bit later, but you have to wrap it currently in an OCI image. And, you know, kind of specified as you would an OCI image. And then, you know, so this is the image that we're going to use. And then we're going to, I think inspect or maybe you start it. What's next? Oh yeah, so we're going to start and so we're going to expect the image and show that it is indeed a wasm, a wasm, wasm image, which is the platform in the architecture, which is the way that the OCI has sort of defined how to designate a wasm image or wasi. So we're going to highlight that in a moment so you can see the architecture and the OS show that, you know, this, this is awesome, we promise. And then we're going to show the pod spec and I'll point out a couple of details of this as well. So here we have our pod spec. It's, we'll look similar to the one that Sohan showed before, but a defining characteristic of it is we're mounting a volume which will have our model in it. And we did it this way because, you know, otherwise we haven't totally figured out the distribution of models yet. So it could be cool as an OCI artifact, but then it takes like forever to pull because they're huge as anyone who's run AI knows. So we just have it locally and we're cheating a little bit. And we're using the image that we just showed earlier and we have a couple of environment variables. So there's our pod. We're going to run it or apply it, I suppose would be the verb. All over here. Okay. So here, here we have it created. And then we show that it's running. And so it won't look super fancy, but basically, we're going to show the logs of the llama pod running and it just, we have ourselves a little chat prompt. It's going to ask us to talk to it. In fact, talk to it using a cube cuddling sec where we can exact into the process of a pod. And we can, you know, give it, we can ask it some questions, some philosophical questions, some questions about life. I think in this instance, we're asking a trivia question about the capital of North Carolina. Does anyone know? I didn't want that to happen. Oh, man. Rats. Okay. Well, you're never going to know then. Okay. And our plugin will tell us this as we, we're going to do it all again. So that's that. And we go here. We're attaching. Okay. We're back into it. What is the capital of Raleigh? North Carolina? Spoilers. It's really thinking about it. Took me this long to figure it out too. So this is an AI model that's running on our, you know, pre-trained model that's running on our laptop here in this video. And then we're also going to ask how the weather is, but it doesn't know it's an AI. So it's actually going to answer in a kind of a confusing way, which is like it is weather outside. But that's okay because we don't want AI to take over the world yet. So we still can have weather people. It's currently insert weather. So good thing, you know, we got time, but so that's our demo that's running our AI model for all of its quirks. And it's, you know, could use some work, but so that shows that we, so that's an idea that we have about extending the mechanism for running, see, you know, Wasserman cryo. Next, we're going to talk about a couple of pieces that were, you know, maybe thinking Maddox, you know, changing the way that we actually run the Wasserman cryo. So is that right, plugins? No, we just did that. Okay. Oh, come on. Sorry, folks. Yeah, this one. Okay, so there are a couple of optimizations that we can make for this situation. You can recall from before and I won't get back because it's kind of horrible to look at the, we had to wrap the wasm binary in an OCI image to run it because he run wasm the way that it thinks about wasm artifacts is sort of scaffolded by the OCI image spec. But one can imagine a world in which we take an OCI artifact, which is the, you know, an OCI artifact is just a file on an OCI registry, pass around with the OCI distribution spec. And you can imagine a world in which we have a binary and we just check it to a registry, and then we can pull it down from the registry and was just the wasm binary, but, you know, we can pull it and run it. I mean, wouldn't have all of this extra image stuff around it. So that's one option that we have that we're kind of investigating and thinking about, which would sort of reduce the overhead. It wouldn't really change materially the amount of data on the registry because, you know, scratch images and it's really just like a, you know, a top level folder. So it's not really making a lot of changes, but it is sort of simplifying the over the model and our conception of it. Oh, too far. The other thing that we're thinking about is actually running wasm plug in a wasm, you know, run times directly from cryo. So currently we're delegating this behavior down to see your own wasm. And that works well, but that also requires us do some scaffolding around the wasm binary to like massage it and to look like an OCI image and pass it down an OCI runtime spec. And there's a couple of, like it just is a little bit of extra work that we necessarily need to because really we just have the binary and we just want to run the binary. So an option that we have that we're thinking about but might not take because, you know, it's kind of nice having see your own wasm taking care of this stuff for us. But, you know, we could eventually integrate it directly into cryo. If anyone's familiar with container D or running, you know, it's container D. This container D shim is what they call the runtime classes or handlers and they have the run wasi, which does something similar to this. It runs it directly within container D as opposed to delegating down to see your own wasm, as far as I believe at least. So that can optimize sort of taking serum out of it, but at the expense of a little bit more code and cryo. So we're not totally sure we're going to do that yet, but we might. The other thing. So this one I'm actually quite excited about. And this is actually largely switching gears from thinking about running wasm as a workload and more of running wasm as a sort of plugin mechanism. So, but first we're going to do a quick aside. We're going to talk about NRI. So if for anyone who's not familiar with NRI, NRI is the node resource interface. It was originally created by the container D community, but it's since, you know, we have adopted support for it and cryo as well.  In the past, you had to manually change container D and cryo in the same way so that both of them would do this injection. But with NRI, you can just run a plugin on the node and that does that injection for you. So we can look at the current sort of diagram of how NRI works. This is our works today. So basically there's an adaptation layer that runs in cryo and it speaks over TTRPG TTRPG sorry to the NRI plugin and that plugin is a process running on the node alongside cryo usually distributed with a Damon set. And then that does its arbitrary modifications or maybe triggers an event on some, you know, container, you know, event, and then it returns a reply up to cryo and then cryo goes on its merry way. That works great today. It's good. It has a couple of issues though. Like, you know, this is a separate process. So there is a certain amount of coordination that an admin has to do to make sure that their, you know, their plugins are running before their workloads are so that their plugins can get their special resources injected in or whatever the plugin is trying to do. There really isn't a way to define that or do that in Kubernetes like, you know, defined before or after four different pods. So that just adds some management overhead. So what would be really cool is if we could have a plugin mechanism inside of cryo or container D if you prefer that. And which would allow you to, you know, basically run a process like within the process itself. So there isn't this external process and we've imagined a world in which we could have Watson do that. So the idea is basically use the same TTRPC protocol or a similar sort of protocol between cryo and the wasm binary that it has embedded within it. And that allows an admin to sort of distribute wasm plugins that can make arbitrary, you know, changes to their OCI runtime specs or, you know, trigger events from the node, but do it in a safe way because we can, you know, very carefully define what resources on the node that wasm plugin is able to access and do it more efficiently because it's all running within the process itself. We'll still have a little bit of serialization, but, you know, there will be less of this distribution problem. So you can see here we have, you know, we take out a whole section of the back and forth and instead have it be, you know, wasm plugins built directly within cryo. None of this has been done yet. We've only just started talking about it with the main maintainer of NRI Christian. We're considering, you know, sort of going down this path and there's a number of problems or like hurdles that we have to get over for it, but this is what we're imagining it would be really cool if we could do it. And so if that sounds interesting to you, we'd love your feedback about it. This is all to say so that that is basically some of the future things we're thinking about and between what is currently possible today and what, you know, we're thinking about in the future. This is to paint a picture about cryo sort of adoption and backing of wasm as a platform. So, you know, we have this sort of a classic in the cryo talk is cryo loves Kubernetes because it's a, you know, container runtime that's only made for Kubernetes. And, you know, we also love Cilium, sorry, CNI because, you know, that's the way that we love to do networking within containers. And we also love SigSort because that's how we love to do, you know, signing. But we also, this is to say, we also love wasm and we also see a lot of potential in sort of the merging of, you know, cryo as a lightweight container runtime for Kubernetes and wasm as a way of actually running binaries within Kubernetes, whether it be, you know, workloads themselves or modifying cryo itself. So, yeah, here are QR codes to the cryo repo and the cryo Slack, which you can use to harass us about anything that we've talked about today. Here's some references. And thank you very much. Does anyone have any questions? You can clap also if you'd like questions. Here we go. So disclaimer, I've been previously very oblivious to my container runtime. It's just been there.  But what is the risk of just making this the default that I don't need to fiddle with this whole CR, like cryo configuration, because that seems very, very painful, especially if I would like to port this at scale. Totally. So the, the idea of the CR I generally is that actually you don't really have to think about it like continuity and cryo should be functioning pretty similarly. All of this special configuration, this is just a setup wasm and cryo. I think you have to do some similar configuration like enable the continuity wasm shim.  So that doesn't really go away depending on which if you want to use this, but cryo. I mean, you can run cryo out of the box on your note. And as long as you tell the cuba to talk to it, it'll, you know, it should work. And if it doesn't, that's a bug. So ideally the overhead would be exactly the same between cryo and container D. And, you know, I have a whole laundry list of things that, you know, make me kind of feel like cryo could be a better choice for you. If you want to talk about it with me later, I'd be happy to talk your off about it. It's just because I've seen like runtime classes and then it just kind of falls into place, you know, and then I can just provide that. And then I don't need to worry about it. Right. So the runtime class mechanism like that is something that you have to configure again between container D and cryo, unless you have all of your workloads running as wasm. Or like, you know, homogenous workloads that are running with a specific container, like OCI runtime. So all of that configuration is going to be the same between container D and cryo like most people do exactly what you did. You choose a runtime, you know, based on whatever you've heard and you just let it go and it just runs. And, you know, that happens with cryo and container D. You know, so that that won't necessarily change the specifics of like choosing a run like, you know, deploying the runtime class and making sure there's a corresponding runtime handler and a shim or a runtime handler and cryo that like corresponds to it. That overhead doesn't really change between the two options. Okay. Thank you. Other questions in the back here. Thank you for your presentation. I think I missed something really important here is like what is exactly the end goal of running a wasm on top of a Docker container or like on top of the container runtime. I guess it's trying to make some architecture independent container images. What are we looking at here for the end goal? Well, you have a couple of different, you know, sort of options.  Primarily we're working on adding support for free BSD. So platform agnosticism doesn't necessarily, it's not yet like it, you know, it's not like we can run on Windows necessarily.  It doesn't, you know, you don't need to run time to sort of manage that. And the portability of that means you can port it across different architectures, which crowd does support. So there are a number of like a couple of different, you know, efficiency and also portability. Yeah, the idea is to actually integrate with Kubernetes. And since cryo is lightweight thing, we want to actually leverage that part. That's the only reason we are doing this way. And primary support we added here is because of OCP workloads. I mean cryo is used in open ship. That's like the enterprise ready Kubernetes. So in future, we might think about improving the use case.  We might think about this, but we definitely need some feedback. Currently, this use case was predominantly there for OCP and obviously for Kubernetes. But definitely we will think about improving the use case and UX in the future. I've got maybe a spicy question. You know, in the last Epic of Tech, you know, we, there were a number of virtual machine orchestrators, things like OpenStack.  And you guys are in this incredible position. I'm sorry, the two of you are in this incredible position as somebody that builds a runtime to think about, you know, is there impedance mismatch between the atomic unit of compute with WebAssembly and containers. What's that been like from your perspective? And obviously it's a better together story for now. And there's lots of ways to integrate. There's all kinds of cool ways. I'm there. We live for it. We love it. And is there eventually going to be a wasm native way to do this? Well, you can imagine a world.  By that, you mean like a runtime that only runs wasm, but for Kubernetes. Is that kind of what you're, you know, or Kubernetes? So the, I mean, I think the cloud native ecosystem has sort of, I mean, at least, you know, CNCF like the, the, I believe the only orchestrator that is like sort of in the CNCF is Kubernetes. I could be wrong about that. But like, you know, Kubernetes, you can kind of think of as like the now gold standard. One, the orchestration, you know, battle per se. And so a lot of like the thought that's going around you process orchestration at scale is going into Kubernetes. So like, we kind of find like C running, sorry, wasm and cryo to be a way to bridge that gap for wasm workload specifically. Like you can obviously run wasm directly on a node, you know, with wasm edge or something. You know, how do you orchestrate it at scale? And, you know, there could be a world in which, you know, another entity makes a runtime or like, you know, there was the Crustlet project, which like did a virtual kubelet thing, but for wasm workloads, like that's also an option. But like, you know, by having more sort of an establishment in the Kubernetes space, like we work in signal directly, you know, we're entrenched in the environment that gives us sort of a leg up and sort of like ensuring that the pathways are clear between, you know, to get from an orchestration environment to running on wasm on your node. So that would be so much for our perspective. Maybe one more and then we'll, then we'll move on to where I last talked the day. And now I just came to think again of the you complained about the size of the LLM, right? What if you use the node resource interface for the LLM. So you basically say on this node, I have this LLM cached. So I can use the node resource interface to specify this part can be scheduled to that node in order to execute that LLM. So you could do that. NRI doesn't necessarily speak to the scheduler. So I think that might be something a little bit more like, you know, DRA is a big conversation device resource, dynamic resource allocation, which actually like registers with the Kubernetes scheduler. So you could say like, I want a node that has this specific model that might be a little bit of a better fit. We're thinking about the distribution of that, you know, using OCI artifacts or something or like, you know, we use it as a volume here and you could have like a shared volume on some like, you know, NFS mount, you know, that all the nodes can share within a cluster that can access it.  Yeah, I think we are reducing the footprint for container images. And we are actually thinking about using OCI artifacts, which definitely fits this particular use case. Okay. Let's thank Peter and Son. Thank you so much. Thank you. Thank you.


Welcome to George H. Smith's Excursions into Libertarian Thought, a production of Libertarianism.org and the Cato Institute, narrated by James Foster. From Optimism to Pessimism, The Case of Herbert Spencer Part 2. In my last essay I discussed the recollections of Beatrice Webb, formerly Beatrice Potter, about Herbert Spencer's last days in 1903. She noted, his pessimism about the world, calling it a, sad ending. Beatrice continued, indeed the last twenty years have been sad, poisoned by Morphea and self-absorption and contorted by that strangely crude vision of all human life as a series of hard bargains. Although Beatrice called Spencer a single-hearted seeker after truth, she also spoke of his, superficial egotism, brought about I believe by poisonous food and drugs. I have no idea what Beatrice meant by poisonous food, but drugs was another reference to the Morphea, an opium derivative that Spencer used to combat his severe insomnia. Opium, Beatrice believed, caused Spencer to deteriorate mentally, a condition that contributed to the pessimism of his later years. Spencer, as we shall see, discussed his opium use in An Autobiography, a two-volume work published shortly after his death, but rumors were afoot before then. The great free-thought scholar J. M. Robertson once remarked that, Spencer has not been publicly gossiped about, and what one has heard privately is not now in good taste to publish. The underground gossip that Robertson refused to identify almost certainly pertained to Spencer's use of opium. How seriously should we take Beatrice's claim that Spencer's alleged opium addiction contributed to his pessimism in later years? Not seriously at all, I contend, and in this essay I will explain why. This may seem a peculiar topic, but one advantage of writing my excursions' essays is that I get to choose the excursions. We first need to consider the credibility of Beatrice Webb. Why would an old friend write such things in her diary unless they were grounded in facts? A careful reading of Beatrice's diary, much of which she reprinted in My Apprenticeship, the first volume of her autobiography, reveals a curious ambivalence toward Herbert Spencer. Consider her remark quoted above that Spencer viewed life as a series of hard bargains. This is an oddball characterization to say the least. There are other indications that Beatrice never fully understood many of Spencer's ideas, much less his approach to life. Beatrice could write in a condescending way about Spencer. Imbued with the over-romanticized attitude of many girls and young women in Victorian England, she failed to appreciate how the life of a dedicated intellectual could be anything but emotionally barren. The following entry written in 1881 when Beatrice was twenty-three is typical. Spent the whole day with Herbert Spencer at private view. He worked out, poor man, a sad destiny for one whose whole life has been his work. There is something pathetic in the isolation of his mind, a sort of spider-like existence, sitting alone in the centre of his theoretical web, catching facts and weaving them again into theory. It is sorrowful when the individual is lost in the work, when he has been set apart to fulfil some function and then when working days are past, left as the husk the living kernel of which has been given to the world.  The encouragement and visibility she got came almost entirely from Spencer. As a little child he was perhaps the only person who persistently cared for me, or rather, as one who was worthy of being trained and looked after. This was the source of the affection and loyalty that Beatrice felt for Spencer. Spencer instilled in Beatrice an appreciation of nature but he never insisted that she read his books. Pressuring children to read books ran contrary to Spencer's theory of education. When Beatrice got around to reading Spencer at age twenty she found herself frustrated by his generalizations. Beatrice longed for the approval of Spencer but according to her own account she felt intellectually insignificant in the presence of his genius as if none of her work would ever be worthwhile by comparison. Although she embraced Spencer's libertarian views as a young woman she eventually rebelled and when Beatrice rebelled she rebelled with a vengeance. Beatrice's fall from La Séfaire began to evolve while she was assisting Charles Booth in the mid-1880s, a project that resulted in the first two volumes of Booth's classic work Life and Labor of the People of London. That her later conversion to socialism was attended with emotional turmoil is evident from her remark. I shook myself completely free from La Séfaire bias. In fact I suffered from a somewhat violent reaction from it. Another factor may have played an important role in widening the intellectual chasm between Beatrice and Spencer. Although Beatrice, like Spencer called herself an agnostic, she became disgusted by what she mischaracterized as Spencer's materialism, another indication that she did not understand Spencer's philosophy very well. In any case Beatrice longed, to listen to voices in the great unknown, to open my consciousness to the non-material world, to prayer. In early 1892, after the announcement of her engagement to Sydney Webb, Beatrice paid a visit to Spencer. Although affectionate and cordial to Beatrice, Spencer was obviously displeased. I cannot congratulate you, that would be insincere, he told her. If Beatrice was hoping to receive Spencer's blessing, she was sorely disappointed. After many years of puzzling over the complicated relationship between Beatrice and Spencer, I've concluded that Beatrice's understanding of Spencer did not run very deep. She had sympathy and abundance, but little empathy. They were different kinds of people with different ways of looking at the world. The same political developments that horrified Spencer delighted Beatrice after her conversion to socialism. Unable to appreciate the depth of Spencer's intellectual passion and largely unaware of the philosophical, cultural, and political reasons for his later pessimism, Beatrice resorted to the simplistic and by implication insulting explanation of poisonous drugs. It seems never to occurred to Beatrice that Spencer had good reasons for becoming pessimistic about the future. Before we turn to Spencer's side of the story, let's take a brief look at the nervous disorder that plagued him for the last 50 years of his life. Spencer's affliction was called Neurosthenia, a leading authority on Neurosthenia, Dr. George M. Beard frequently mentioned Spencer, as we see in his 1884 book on the subject. Beard observed, Much of the world's best work has been done by Neurosthenics. George Eliot, Darwin, Heinz, Spencer, Edwards, Kent, Bacon, Montaigne, your bear, Rousseau, Schiller, illustrate the possibility of not only living, but of doing original work on a small capital of reserve force. After experiencing a nervous breakdown at 35 while writing the principles of psychology, Spencer suffered from acute insomnia for the rest of his life. There were other consequences as well. Finding that he sometimes could not read or write for more than 15 minutes at a stretch, Spencer began the practice of dictating his letters to a secretary. After 1860, Spencer wrote all his articles and books in this manner. When dictation proved difficult for Spencer, he resorted to unusual methods. For example, he would row a boat for 15 minutes, pause to dictate to a secretary, row for another 15 minutes, and so on. Spencer dictated an especially difficult part of a book while taking breaks from lawn tennis. See the charming 1903 account by George Isles, how Herbert Spencer works and lives. Spencer hired researchers to locate and clip many of the factual details that pepper his writings on sociology and other matters. Spencer read newspapers, or he had newspapers read to him, but he otherwise read relatively little. Attempts to work in the evening got him so wound up that he could not sleep, so he usually worked in the morning. Spencer endured long periods, sometimes months at a time when he could not work at all. When we take these personal difficulties into account, Spencer's prodigious output almost defies belief. We are here dealing with more than a first rate mind, we are also dealing with a man of enormous determination. Spencer contributed substantially to the Victorian interest in nervous fatigue. Especially influential was a talk he gave during his visit to America in 1882. Spencer's trip was supposed to be a vacation. He refused to go on a lecture tour even when offered a large amount per lecture. To give lectures would be nothing more than a show, and I absolutely declined to make myself a show. Spencer repeatedly declined such offers. I have a faculty of saying no, and when I say no, I mean no. Spencer finally agreed to attend a dinner in his honor and gave a brief talk. Held at Delmonico's in New York City on November 9th, 1882 and attended by leading intellectuals and businessmen, the dinner featured a number of prominent speakers who praised Spencer to the skies. All this praise made Spencer uncomfortable. The speeches were somewhat trying to sit through, he later remarked. We can only imagine what the distinguished audience expected Spencer to say when his turn came to speak. Perhaps they expected him to praise America or to defend free trade, but no one expected what the eccentric Englishman gave them. Spencer's speech criticized Americans for working too hard. After noting his own disturbed health and disordered nervous system, Spencer advised Americans not to make the same mistake he had made years earlier. I'm going to find fault with you, Spencer warned his admirers. In every circle in America I have met men who had themselves suffered from nervous collapse due to stress of business or named friends who had either killed themselves by overwork or had been permanently incapacitated or had wasted long periods in endeavors to recover health. I do but echo the opinion of all the observant persons I have spoken to, that immense injury is being done by this high pressure life. Exclusive devotion to work has the result that amusements cease to please and when relaxation becomes imperative life becomes dreary from lack of its sole interest, the interest in business. In a striking aphorism Spencer said, life is not for learning nor is life for working, but learning and working are for life. Since few people read Spencer any longer, it is scarcely surprising that his talent for aphorisms is unappreciated. Such was not the case in his own day. Spencer concluded, in brief I may say that we have had somewhat too much of the gospel of work. It is time to preach the gospel of relaxation. Published as the gospel of relaxation, Spencer's speech created a sensation and inspired a good deal of thinking and writing about the value of leisure. Thus did this celebrated champion of free market capitalism play a major role in undermining the traditional notion of the Protestant work ethic. We should keep in mind that all this happened around the same time that Beatrice Potter was complaining that Spencer was lost in his work and living a spider-like existence. There was obviously a good deal about Spencer that Beatrice did not understand however much she cared about him, and this brings us full circle back to Beatrice's remarks about a man who had supposedly poisoned himself with opium. In an autobiography, Spencer denied that opium is the demon of popular lore, in an even-handed treatment that was almost as rare in Spencer's time as it is in our own, he noted that there is scarcely a drug that will not produce different effects in different people. Certainly we have familiar proof that this is the case with alcohol, tea, coffee, tobacco, and opium. Spencer continued, This mention of opium reminds me that I had for some time previously made occasional use of it, commonly under the form of morphia. With me sleep brought sleep and wakefulness was habitually followed by more wakefulness, so that after a series of specially bad nights it had been my practice to break the morbid habit and re-establish the periodicity of sleep by artificial means. Sometimes it was weeks, sometimes months before I again had recourse to one or other preparation of opium, that the average result was beneficial is an opinion which I here express because there is, I think, an undue fear of opium. Both in the minds of medical men and in those of men at large, every medicinal agent is liable to abuse, and when it has been greatly abused there arises a reaction which goes almost to the extent of forbidding its use. In respect of opium, a re-reaction is needed. Spencer's autobiography is one of the most candid, introspective, and self-critical autobiographies ever written. I know of no good reason to doubt Spencer's account, which is far less sensational than the image of a drug-addicted Spencer as depicted by Beatrice, and regrettably those modern historians who have taken her account at face value. Spencer discussed his transition from optimism to pessimism stage by stage in considerable detail. He identified the errors in his earlier thinking, including his naivete about politics and his overestimation of the influence of reason in human affairs, and he traced some ominous political developments in England that he did not fully appreciate when he wrote the proper sphere of government, 1842, and social statics, 1851. Moreover, as I discussed in my last essay, Spencer predicted the 20th century degeneration into statism, war, and military dictatorships with uncanny and chilling accuracy. To overlook all this and attribute Spencer's gloomy outlook to a disordered mental state caused by drugs is, in a word, preposterous.


And another quick kind of, in my mind, very exciting update is that I'm graduating. It's crazy, sir.  Getting it done, everybody, getting it done. Okay, recovery begins immediately back from the gym. So really, everyone, the only thing I cannot do at the gym is the slant board. Everything else is available and I can do at the gym. Actually, I'm gonna do this barefoot, hold on, kick those off. Okay, so, all right, knees over the toes. Keep that butt back. If I ever open a gym, I'm gonna make sure I have probably at least five of these slant boards available for everyone to use. I just love in the slant board. Oh yeah, here we go. Welcome back to the studio. Welcome back to the channel. Oh man, I just realized though, as I was walking in, what should be sitting right here? I'm a little out of practice. The shoes that I ran in should be sitting right here, but they're not. I forgot them inside. We'll pick it up not tomorrow, but Wednesday. I'll give you, that's a little hints as to how the knee feels. So we just keep fighting, right? We just keep fighting and being patient and remembering the steps that were taken to arrive at this point of zero on the pain scale today. Zero on the pain scale. So for those that don't know, if you're new to the channel, welcome. This is a daily running vlog. I publish a new video every single day and I've been battling runner's knee for about a month now and it was painful. Very, very painful. In fact, two and a half weeks ago, it was a seven or eight on the pain scale. I've taken two and a half weeks off, resting, physical therapy, no running, very little swimming and a little bit of biking at the gym. And so today was the thumbs up from the doctor, from the physical therapist to go give it a shot. So that's what I did today and sure enough, two miles, 8.45 a mile on some grass soccer fields you saw it there and there it is in kilometers on your screen, nice and easy, taking it easy and sure enough, everyone, no pain whatsoever at all. But that doesn't mean we're out of the woods yet. You know the drill when it comes to running injuries or maybe you don't. Well, this is how I approach it. You don't get too excited. So I'm excited right now, you could probably tell, but you don't get too excited until the next day. All right, so today's Monday and when you're watching this, it's Tuesday. So when I wake up Tuesday morning, I'm gonna gingerly get out of bed, walk around the house and just feel it out, listen to the body and see what's going on down there in the left knee. If it feels good, that does not mean I'm gonna go run tomorrow. In fact, I'm not gonna run tomorrow. If it feels good, I'll go to the gym and then Wednesday, so I'll take a day off tomorrow, rest, foam roll, stretch, swim, just a little bit, not too much, just a little bit and then Wednesday, try again and see how the knee reacts and then wake up Thursday and again, see how it feels, okay? So that's kind of, that's not kinda, that is the schedule for the next four, five, six days. Usually what I do and what I learned in college is you have a week of one day on, one day off, one day on, one day off and you go back and forth until you feel confident enough that the knee is doing great or whatever injury you're battling that you can do back to back running days. Again, usually it's after a week that we try the back to back, okay? Depending on the timeline with your races and everything else. And another quick kind of, in my mind, very exciting update is that I'm graduating. It's crazy, so at the gym today you saw me using these, this band and this cord, okay, what? So according to the physical therapist, one reason he thinks my runner's knee popped up is a weak left hip. All, everything going on in your hip is a lot. So what I've been working on a ton, the last two to three weeks is hip strength. So now this is a medium density or strength band and this is a 30 pound cord. Today at the gym, these were too easy. Like I was moving my legs, I wasn't burning as much. So this is a good sign, I think it means that my legs are adapting to the strength training and now I get to graduate to the heavy band. So the yellow one is medium, red is heavy and then the 40 pound cord, okay? So this is 30 pound, the yellow, this is 40 pound, the orange. So I'm excited to graduate, move onward and upward and bottom line, thank you for just caring and coming along the journey. And listen, again, I'm excited right now but I'm not trying to get too excited. We will wake up tomorrow and maybe I'll send out a tweet and let everyone know how it feels in the morning. Sound good? Okay, the vlog's not over, we're going inside, eat some dinner, yes. I'm back on the salad train. You know how I like salads during training? It just helps me feel better, recover better. So we're back inside for some salad action. Oh my God! Din din time, hi hon, no, no, how's dinner looking? Oh, hi Michael, hi buddy, hi, hi Joseph, I love you. I'll get you an update on the knee at dinner. I went with the Hoka Evo Speed Goats. Whoa, you want another? I can't wait but yes, good. I'll get you an updated dinner. Okay, updated dinner. App, app time. Oh yeah, oh I got you my one little app. Appreciate it, appreciate the app, hon. Chips and salsa, yeah. Mama, get the white. Hi mama. There they are, so big day, first run of the Spring Marathon 2020 endeavor. Work hard, right boys? Seek beauty, love each other. Oh, we're not done yet. First of all, mama, think of a vlog in the last year that we should throw it back to on the right. And then boys, you think of a vlog that we should throw it back to on the left. Oh, I know. Okay. Cookie chase, that's okay. Cookie chase, fine, okay. First W of 2019. First W of 2019 will be on the right and boys, what's yours? Which one boys? Run, rabbit, run. That's 2018. That's okay, 2018. Oh yeah, that's fine. Okay, run, rabbit, run. Run, run, run, run. Oh, and the pike's peak, a cent? Okay, pike's peak, a cent. Run, rabbit, run. Cookie chase, a pike, okay. Boom, all right. What do you pick, Michael? Okay, perfect. All right, everyone, we love you.  That vlog. All right, everyone, seek beauty. Work hard. And love each other. See you tomorrow. Perfect.


What's up guys Michael we were Jaspies and we are doing our last number block random number block for our 2022 23 immaculate basketball Five bucks case break pick your team number two this R&B is for the Pistons Kings Spurs Pelicans Hawks and Bulls And we are giving away two free spots that were tonight only we had a little late-night push late-night rally We got it done So thank you to this group Daniel Hans Chad Allen and Anthony Top two names in this randomizer will get a free spot in the number block, so Here we go. Let's roll the dice one out of one Two times made it easy on me One and here we go. This is it two two times there Congratulations to Alan and Anthony both getting free spots in the number block Let me just clean this up real quick. All right So we'll take our new list of names There you go. Those are the free spots with the little hats next to the names all ten spots got the numbers in our list roll a new dice two and a five seven times here we go one two three four five six and seven Seven times there got Anthony down to Hans Pop those in here And again seven times for the numbers one two three four five six seven I Almost did it an eighth time, but luckily I stopped myself There we go one down to four and remember guys any and all redemptions will go to spot zero You guys know that but just Want to remind y'all here's here it is Anthony with one So any one of ones that are live will go to Anthony Chad with five Alan was seven Alan's free spot with nine Daniel With two Anthony's free spot get an M spot zero So any and all redemptions for those teams will go to Anthony Hans with three Alan eight Hans six and four That does it so We uh, we are actually ready Ready to break so I'm gonna print out my list here Here it is one time Thank you guys for the film once again. Good luck next video will be the break So stay tuned for that and I'll see you guys in the next video. Bye guys


I burned in my youth to get my fill of hell, and I made bold to go wild in the dark woods of various loves, and my beauty faded away, and I stank in your sight, Lord, while I pleased myself and longed to please the eyes of men. The sins he is about to confess are quite serious. Why does Augustine feel compelled to make this all public? I wish to call to mind the ways I was befouled, he says, and the fleshly corruptions of my soul, not because I loved them, but so that I may love you, my God.


Hello everyone, I am Guichi Xia from College of Computer Science and Electronic Engineering, Hunan University, China. I am very glad to participate in this conference. I will introduce to you the Virtualization Management Platform, ZVM, an embedded real-time virtual machine based on Zephyrutus which designed by our team. By the way, the name was inspired by KVM. Our report consists of three parts. First, we will introduce the integration of Zephyrutus and virtualization technology. I believe most of you know Zephyrutus. Our platform is based on Zephyrutus. The reason why we choose Zephyr is that Zephyr has the following features, such as multi-hardware support, product design and maintenance, lightweight deployment, flexible configuration and support for multiple IoT protocols. These excellent features make Zephyr popular. Because the computing power of embedded systems has begun to increase in recent years, the virtualization technology used in cloud computing in the past has begun to be deployed in embedded systems. These embedded virtualization require the following features, such as strong isolation, high performance, low resource usage and support for multiple architectures. Using Zephyr to develop a virtualization system can meet these features. In the traditional cloud computing, desktop computer or embedded environment, many virtualization technology solutions have emerged, such as VMware and VirtualBox commonly used in Windows desktop. Linux KVM and Docker commonly used in cloud computing scenarios. However, there are some problems in these systems, which make it inconvenient to apply to embedded scenarios. Some closed-source solutions such as QNX in some embedded scenarios are not easy for everyone to use, so we want to develop such an open-source embedded virtualization platform. In some technologies sharing in the past years, we learned that Zephyr, as a guest OS, has been deployed in various hypervisors, such as ACRN, XEN and KVM. In such systems, Zephyr acts as the control center and can undertake some single tasks. So, we started thinking, why can't we use Zephyr as the host OS, like Linux, KVM does, and use Zephyr as the host OS? In our opinion, using Zephyr as the host operating system has the following advantages, including using Zephyr, as features to better save resources, better scalability, and better testing and debugging system. So, we just do it. Now, we begin to introduce the second part, the design of a virtual machine based on Zephyr. For the entire Zephyr system, we have added a virtualization management module to support virtual machines. Except for the virtualization management module, other modules are consistent with the original Zephyr module. Then, we introduce the Zephyr based virtual machine, ZVM, and its system architecture and main modules design. The overall system architecture includes the Zephyr host OS, the virtualization management module and the upper virtual machine. In the virtualization management module, the virtualization layer is designed as a Zephyr module that interacts with the kernel to provide a virtualized environment. This module provides a set of interfaces that allow guests to access resources in a controlled manner. As shown in the right figure, our current work is mainly based on the hardware of ARM company. ARM has many supports for hardware virtualization, such as processor virtualization support, memory virtualization support, interrupt virtualization support and device virtualization support. Through these hardware virtualization supports, the performance of the virtualization system can be greatly improved. In order to support type 2 virtualization support and reduce the overhead of context switching in the host operating system, we also use ARM's virtualization host extension support, in this mode, the host operating system can run at the exception level to privilege level. And there is no need to process the host's trap operation when the virtual machine exits, which significantly reduces the context switching overhead. These supports include register redirection and new memory models that can be seen in the below figure. After understanding these features, we mainly designed five virtualization sub-modules, including VCPU, VMEM, VARQ, VDEV, VTIMER, etc. At the same time, Zephyr Routous provides support for thread schedulers, memory management units, interrupt management modules, timers, and device management modules for our system. Just introduce the design of the VCPU module in ZVM. In our system, each VCPU is simulated by a thread. We use the VCPU structure to build a context for each VCPU. Compared with the original Zephyr thread, we add an identifier and a series of context information required by the VCPU thread to identify it during the scheduling process. In addition, in terms of system CPU allocation, we adopt a master-slave model, the host thread tends to be deployed on Core Zero. And the virtual machine thread is scheduled on other cores. And we use the inter-processor interrupt, IPI, to realize inter-thread communication. In the ZVM system, in order to reasonably implement thread scheduling in the system, we presuppose that the priority of the host thread is the highest, followed by the real-time application thread in the virtual machine. And the lowest priority is the non-real-time application in the virtual machine. In terms of scheduling strategy, we are now using the single-linked list scheduling with preemptive priority in Zephyr. In addition, under normal circumstances, threads will be bound to a fixed physical CPU, which can reduce thread switching to reduce loss. For some real-time applications, we need to provide timer services. First of all, the ARM hardware provides a set of virtual machine-oriented registers for the virtual machine, and these registers can be directly accessed by the virtual machine without emulation. However, this kind of access must ensure that the current VM occupies the physical CPU. If the CPU is preempted by other virtual machines, it is necessary to use the timer-out mechanism of Zephyr to add the time-trigger event of the virtual machine to the host events, and when thread triggered by event. In terms of memory virtualization, we use two-stage address translation mechanism to support virtual machine access to memory. In the entire system, memory is divided into guest virtual address, guest physical address and host physical address. The first stage of address translation is done by the virtual machine without hypervisor monitoring. The address translation of the second stage is completed by the hypervisor, which converts the physical address of the virtual machine generated in the first stage into the real physical address space. This strategy ensures the memory security of the system, and the virtual machine cannot access non-self-address spaces. In terms of specific implementation, we use a three-layer structure to describe the memory of the virtual machine. The first is VM underscore domain, which describes the memory address space of the entire VM, the second is VM underscore partition, which describes one of the memory regions of the VM virtual space. The last is VM underscore block. It's record the mapping from physical address to virtual address. In our design, this MMI-O based address translation can achieve performance close to bare metal. In addition, in order to achieve smaller memory overhead, we will consider the mechanism of dynamic memory allocation later. In device virtualization, we mainly use the following two types of device at this stage, including fully virtualized devices and device pass-through solutions. In terms of fully virtualized devices, we use memory and exception handling functions to simulate device access. This type of device has the following characteristics, good compatibility, high overhead but poor performance. Used for devices that cannot be independently allocated, such as the interrupt controller GIC. Device pass-through refers to directly assigning devices to VMs. VM uses existing hardware drivers, does not add new drivers, and has performance very close to directly using the physical hardware on the host. Used for devices that can be independently allocated, such as a serial port. In both ways, we use MMI-O to access the device, and construct a virtual device control address in the memory. When an address device access error occurs, the system will fall into the callback function for processing. At the same time, we also provide virtual interrupt support for each virtual device to provide interrupted services. In the last part of the module design, we designed the interrupt processing logic to route all shared peripheral and internal interrupts to the hypervisor layer and process them in the hypervisor. Specifically, we handle interrupt handling for each VM by building a virtual GIC device for them. GIC can inject physical or virtual interrupts that occur into the virtual machine through the VCPU interface for processing. The specific steps are shown into in the figure which provide interrupt services for virtual machines. So far, all the virtualization modules have been constructed. We test our system on QEMU and ARM FVP platform. And we can successfully started Zephyr and Linux virtual machines in the ZVM. As shown in the figure on the right, we take QEMU as an example to show our system. The figure show that we start the virtual machine of Zephyr 3.2.0 and Linux May 16th 12 in ZVM.  Then, in order to test the performance of the ZVM, we used Zephyr's own performance testing tool to measure various delays of the system. The specific platform is QEMU 6.2.0. As shown in the figure, the left side is the measurement results of various delays without ZVM. And the left side is the test results after adding ZVM. Here we mainly compare the timing of a series of behaviors such as thread switching, interrupt response, and thread creation, etc. The results of our test are shown in the figure below. We mainly compared the following seven items. From the results, compared with running directly on the QEMU platform, there is a greater delay in creating threads and starting threads on the ZVM platform. And at the same time, the increase is smaller in processing logic in the interrupt part. Although all expenses have increased, the overall increase in latency is within microsecond. Since the above test experiments are carried out on a virtualization platform, there is some lack of stability and reliability, so we will adapt our system on the RK3568SOC. At this stage, the native Zephyr 2.7 has been supported on this platform. And the follow-up will be in functional and performance tests with ZVM on RK3568. In the third part, we will summarize the above content and illustrate the future directions. As can be seen from the previous introduction, Zephyr-based virtual machine aimed to provide a lightweight and efficient platform for embedded virtualization systems. Therefore, our system goal is to apply to scenarios that require lightweight virtualization, such as the Internet of Things, industrial control, and autonomous driving. In order to better apply to the scenarios mentioned above, our future optimization direction mainly starts from the following four points. The first point is the real-time capability of ZVM. The second point is virtual device framework. The third point is ZVM security. The final point is considering the popularity of intelligent computing at this stage. We regard the transplantation plan AI support. These features will work together to build a comprehensive embedded intelligent computing system. First of all, in terms of real-time computing, we will use a variable priority scheduling strategy based on preemption to improve the real-time performance of the system. In addition, we will develop a real-time communication mechanism based on shared memory to ensure the real-time performance of the overall system in order to cooperate with various VM in the future. In terms of virtual devices framework, we are porting the VIRT-IO framework, as shown in the right figure, to our system. We work mainly including the development of VIRT-Q and VIRT-Device, due to the characteristics of Zephyr itself. We choose to directly integrate this part of the content into the Zephyr's kernel. Considering system security, after providing basic isolation for VM, we plan to provide additional protection for VM and hypervisors. For general Linux virtual machines, we plan to use CFI and LLVM to build a secure system. Regarding the security issues of hypervisor itself, we will monitor the access of hypervisor call to avoid security issues caused by some illegal hypervisor call. In terms of AI support, Zephyr currently supports lightweight TensorFlow Lite applications, and we are also supporting lightweight Paddle Lite applications. ZVM will also incorporates the support of these frameworks into our tasks. At the same time, we will also analysis the feasibility of embedding GPU virtualization to support AI in hardware. The above is all of our content and long-term future plans. As an open source project, we look forward to actively joining and developing this project. The following is our project address. We are calling for participant. Thank you for your watching.


When we ask people how many hours they waste, the average answer is 4 hours a day which is 28 hours a week or more than 60 days a year. What would happen if we stopped wasting this tremendous amount of time and instead used it to focus on our life goals? Most of us spend a lot of time checking our social media, watching TV series or playing video games. All these distractions provide immediate gratification for minimal effort, leading us to feel sluggish, passive and lifeless. We use these distractions because they help us withdraw from life's stressors and escape reality. A little escape can sometimes be healing, but it should be consciously chosen. We may choose to distract ourselves occasionally, but such a choice is made freely and should not lead to procrastination and avoidance of reality.  Life is not always fair, and we may feel uncomfortable with our problems, with ourselves or with others. That's why the desire for distraction is a natural response that we often feel when we want to avoid something painful or negative. However, every now and again, we owe it to ourselves as human beings to rediscover our existence through reality, rather than running away from it. We deserve to look at our lives differently, and before it's too late, live differently. Life is short, time always moves forward and never stops. Time is lost forever in the past, when it goes, it's gone and never comes back. Time is the most precious resource we have. Every second or minute we spend cannot be earned back. The bad news is that time flies, but the good news is that we are responsible for making the most of it. What matters most to you?  What is your passion? Are you living the life you want? Are you spending your time doing everything you can to accomplish your dreams? If not, what is reducing your motivation? What is stopping you from reaching your goals? How can you overcome these obstacles? What habits can you create to increase your motivation and stay motivated? What would be a good first step? Who can support you? Who believes in you? If you had no restriction at all, who would you be? Thank you for watching. Let me know in the comments how you enjoy spending your time productively. Remember to respect yourself, be mindful and enjoy the moment. This moment is your life. Stay safe and healthy. Bye.


What's good y'all, it's your boy Rob Sprach out again with another video. So right now, check out 10 most harmful losses in WWE history. Now, the momentum of talent or a particular wrestler tends to sometimes in WWE or even as of late morning, sometimes can get derailed with losses. How many times have we seen from NXT talent? Be so popular, be so over to get to the main roster. And you really don't have to change much, but they decide to change them, whether it's character wise, ring appearance, whatever the situation is. And then they have a harmful loss that does not help them. I'm not saying every person from NXT is supposed to go undefeated, but I am saying certain losses could really hurt a person's character. Especially if they're needing to win particular matches to get over with more of the casual fan on Monday Night Raw or Friday Night SmackDown. It's hard to get someone over if they can't win very important matches. And this has happened time and time again with talent from NXT. Coming to the main roster and they just end up losing and they don't ever really get the momentum they truly had from the jump. So we're going to check this out. Appreciate all the love and support, man. I'm pretty sure there's going to be a lot of NXT stars on here. And let's get right into this bad boy. Everybody likes to win. I like to win, but I don't always win. And that makes me sad. Wrestlers like to win too, but weirdly, it's not actually up to how good they are at things like being really good at connect for. Yes, I'm still sore about that little nephew, Benny. You know, I didn't mean to put it there. For wrestlers, the decision about whether they win or lose is made for them. And sometimes that decision is very, very wrong. Many careers have been derailed by a steady stream of bad WWE booking over the years. But sometimes you can isolate one specific match for as ended any chance of that character ever working again. I'm Oli Davis, hailing from parts for known. And these are the 10 most harmful losses in WWE history. Before I get into the list, please do give us a subscribe. But part of the shape is one of those individuals that suffer much more about greatly from Adam Blampie's ten wrestlers who survived horrible debuts. Watch that right after this before we get into the list. I'd just like to say a huge thank you to this video's sponsor, Raid Shadow. Let's skip this. The Bliss beats Bayley Extreme Rules 2017. Not every entry on this list completely kills the career of the person losing. In this case, it was just enough to kill their massively over babyface character and push. There have been few rivalries quite as damaging to a babyface as the Alexa Bliss feud was to Bayley in 2017. Despite being the shining beacon of sunshine, smiles and rainbows in NXT and probably the easiest babyface to book in years, Bayley was having a hard time on Raw. She'd openly admitted that she didn't deserve to be the Raw women's champion and then after that she lost the title to Alexa Bliss in her hometown. It was under the good old fashioned Kendo Stick on a Pole match rules. Taking place at Extreme Rules that year, the story of the match was meant to be Bayley finding a way to overcome her self-imposed moral disadvantage that she wouldn't use a weapon to win to regain her title from the dastardly Bliss. Instead, she lost. Well, that makes so much sense, man. Granted, Bayley was still able to overcome that, which is awesome, like character-wise and what she ended up doing in the future, which is very, very great. But outside of that, WWE has not been good with booking babyfaces quite some time. It's the heroes lose here. By itself, in a vacuum, this match actually feels like a bit of a success.  Ryback have been WWE's latest big muscle man to squash his way through jobbers all summer.  Suddenly igniting the push powder keg they'd been fueling, the match pulled a huge buy-rate for the time, putting Ryback's undefeated streak against the year-long reign of CM Punk in a Hell in a Cell stipulation that must have a finish. This was in a more innocent time, when Hell in a Cell matches had actual finishes, but WWE had booked themselves into a corner, not wanting to beat either guy, so they instead turned the Mad Ox Brad Maddox into a heel referee, pinning Ryback and forever halting whatever momentum he had going for him. At the time, Ryback before all the Twitter antics now and all this other stuff, Ryback was hot. Like super white hot. Yeah, he was kind of a Goldberg ripoff, but it worked for that time period.  If there was any time for them to pull the trigger and they could have pulled the trigger there, they definitely probably should have pulled the trigger there. But once again, it's like, WWE has a hard time booking people, especially when it comes to Hell in a Cell, it just never really works for them. Triple H beats Booker T, WrestleMania 96, this one is half-full for an entirely different reason. Not only was the story naturally set up for Triple H to lose the World Heavyweight Championship to Booker T, but it was kind of the only morally just way to go as well.  And as if screaming the easy moral victory over the bad guy story wasn't enough, Triple H took forever to pin Booker after his pedigree, making his opponent look even weaker. Booker T would never be taken seriously again as a top talent in WWE, only winning the title years later as King Booker. Number seven, Goldberg beats the theme. Super show. It makes sense this is on the list. I will never understand why this was a thing. No one can ever make me understand why this is a thing. I get it, why? I get it. It's all about that bottom dollar. It's all about that money. So I understand why they did it. It's still though sometimes those super showdowns, Saudi shows, all that stuff, sometimes those overseas shows, they mess up the flow of what's going on for the main roster because they want certain people on the shows they'll pay high dollar to have certain people on those shows and it kind of messes up momentum for certain characters, a.k.a. the Fiend at the time go down 2020. At one point, the Fiend wasn't just the hottest act in WWE. He was the hottest act in wrestling. Yes, he was anticipation arguably overshadowing AEW Dynamite's debut on TV that same week. Just five months after that, Goldberg beat the Fiend for the universal title at a show in Saudi Arabia. If you ever needed a visual representation of WWE choosing the then over elevating a star of the now and the forever, this was it. Gorg didn't just beat the previously invincible Fiend. He beat him incredibly decisively with somehow only the second worst jackhammer performed in Saudi Arabia. If Hell in a Cell 2019 was the first nail in the coffin, this was over gimmicks in recent times. It was being slain. Speaking of Saudi Arabia, the place where nothing good happens in wrestling. Number six, Brock Lesnar beats Ricochet. That same shows that I didn't even watch that pay-per-view. I saw the results. I saw the match.  It was hard to buy into this match on its own. I would have loved for them to at least give Ricochet some type of hope. But not only did Ricochet get destroyed, he got squashed. He got made to look like a God. He got made to look like a joke. Once he lost here, we knew he was gonna lose. But once he lost here, I was like, yeah, it's over for him. It's over for him. It's done. He will never be anything more than a mid-car jobber at best. He may win titles in the mid-car division.  They're literally paperweight. And look what we have here. He was the Intercontinental Champion. Could you really tell? Ah, man, Ricochet deserved better. Super Showdown 2020, oh my God. Somehow Goldberg beating the Fiend wasn't the most damaging loss to come out of Super Showdown 2020. Because even though the Fiend lost to Goldberg, his next appearance was staring down John Cena with the WrestleMania sign in view, which was followed up by the genre-breaking Firefly Funhouse match. That was a fun match. The saying can't be said for Ricochet. Brock Lesnar broke and ripped him apart like a deer carcass at Super Showdown. And a few days later, Ricochet lost to Riddick Moss for the 24-7 title. Ricochet could be the best WWE high flyer ever. This match clipped his wings. The term burial is thrown around the lot these days, and more often than not, it isn't used appropriately. This, however, was a burial six feet deep that Ricochet has never been fully able to flip out of. Number five, John Cena beats Bray Wyatt, WrestleMania 30. This is another situation.  John Cena should have lost here. I don't know why they didn't book this. Bray Wyatt's gimmick, the Firefly's thing, which is so crazy how Bray finds a way to get over it every single time. His gimmick here at WrestleMania 30 was fantastic. The feud, the build-up was cool, loved it. All they had to do was have Bray win. And that, to me, right here, this would have really catapulted him. Cause when him winning here would have probably changed a lot, it would have changed things for Bray Wyatt's future in WWE. He probably would have been a world champion much sooner. But they, for whatever reason, they didn't pull the trigger when they should have. It's not often that one guy has more than one of the most devastating losses in wrestling history, but here we are. I guess that's a testament to Bray Wyatt's creativity. He's getting managed to build a just as over new gimmick from the ruins of his first cult leader character. Wyatt family era Bray versus John Cena felt like a perfect narrative fit. Sure, the story got some supernatural spookiness, but it'll all be okay when Bray pins Cena at the grandest stage of them all. Oh no way, Cena wins, lol! Wrestling authorities saw Cena beat Wyatt Claim at the exact moment Wyatt needed a big stage, credible win to fully beat his main event tier. Instead, afterwards, Bray went full spooky spooky in the aftermath, quickly devolved into a character that called upon spooky ghost children to do his bidding, which was not what made the original character work so well. John Cena beats Damien Sandow for 2013. In a two for one special, today you don't just get to witness the harm being done to Damien Sandow, but also to the money in the bank contract. The stipulation WWE really did not need to kill the way they did. After winning the World Heavyweight Championship from Alberto Del Rio, John Cena was jumped by Damien Sandow, who cashed in his money in the bank contract, and after some brief tussling, Cena dispatched Sandow out of the main event scene to which he would never return. Sandow really went from Mr. Money in the Bank to losing title shots for the Intercontinental Championship in a matter of like two months. This loss was the end of any hope Sandow had as a main eventer, and even more still, this was the first real and true Money in the Bank cash in failure. WWE clearly wanted to get to the title unification that was just down the road, and binged the Money in the Bank briefcase rather than complicate their storyline. Yeah, that, hee, that sucked for Damien, man. Number three, John Cena beats Brock Lesnar, Extreme Rules 2012. John Cena wins Lowell was a meme for a reason. You might like it now because we have a few U.S. titles. Cena's definitely on this list for sure. Beep, beep, beep, we shoulda beat.  In this instance, Brock Lesnar had returned to WWE after eight years away, during which time he had become UFC Heavyweight Champion and the biggest pay-per-view box office draw of the previous four years. You could not make it easier to print money for the 18 months that followed his return. Think of how much bigger it would have felt to have seen an unbeaten Brock Lesnar face the Undertaker at WrestleMania for the streak. Instead, John Cena beat Brock Lesnar in his first match back. A lot of people weren't a big fan of that. I wasn't a big fan of that because it just doesn't make sense for John to win here. Granted, Brock got his win back. I will say that. John Cena versus Brock, I won't forget what SummerSlam that was. It was a SummerSlam after WrestleMania 30 that year. I have never seen someone get squashed as the champion. John Cena went in as the champion and got eviscerated. He got destroyed. So you can say, yes, he did lose here, but best believe Brock Lesnar got his win back in incredible fashion. What was it, like 17 suplexes? John Cena received something crazy like that? Never again will the stars align like this for WWE. And what makes it worse is Cena didn't even need this win. He lost to John Laurinaitis a month afterwards. Don't know what happened to that Lesnar guy though. Hope he's all right. Cool tat. Number two, team WWE beats the Nexus. Oh, this was bad too. SummerSlam 2010. It's Cena wins low again. And it's arguably the most egregious example. Not just ruining one, two, three, four, five or six wrestlers, but seven potential new stars all in one match. You've almost got to admire the efficiency. John Cena led team WWE into battle over the Nexus at SummerSlam 2010. This seven on seven elimination match was the first time we had seen the Nexus on a big stage. And had they won this match, this could have made the careers of all involved or at the very least, the top few. Instead, this mostly even tag match just shifts into ludicrous speed and John Cena kicks out of a DDT on the floor and beats Justin Gabriel and Wade Barrett two on one. Rarely have we ever seen such damage done to a group in one. I want to say later in hindsight, John Cena did realize that was a bad booking decision. Because I think there's are some interviews where I believe Chris Jericho was like, I don't think this is the right decision here. I want to say it was Chris Jericho who was like, yeah, I don't think this is it. I think you need to put these guys over or whatnot. And they didn't do it. It wasn't until hindsight where it's like, probably should have put these guys over. They definitely, Nexus needed that win. They needed that win to even, at least some of these guys would have been more solidified probably sooner, but that never happened. Go, Chris Jericho and Edge would later reveal how they told John Cena, this was a bad idea. They were right. Never again would the Nexus taken anywhere near as seriously which Cena helped again the following night on Raw by comparing them all to fast food mascots. Honestly, this was so bad. I stopped watching WWE for half a year after it happened. Wow, damn. That's insane. And I can understand someone being turned off by that.   We're not buried them, but definitely derailed their push. I went off to become an Uber mark watching Ring of Honor and all the coolest indie promotions you haven't heard of. But even despite that, the thing that nearly killed my wrestling fandom, objectively, there is one loss that ironically beats all others. Number one, Brock Lesnar beats Kofi Kingston, SmackDown. That's a good one. That's a really, really good one. Kofi Mania was killed, everything that he had built. The matches, the continents, all that. WrestleMania moment. All of that was killed in like 19 seconds on the debut of SmackDown on Fox. Instantly killed. And then after that, Kofi Kingston went back to feuding in the midcard and throwing pancakes. That right there killed any momentum Kofi would ever have again. The way they did Kofi Kingston there was cold-blooded. I am OK with Kofi losing to Brock. Hell, his title reign wasn't really that good. And that was booking decision. It wasn't really that good. Unfortunately, I think the one thing I was looking forward to was the human in Randy Orton. That was probably the most interesting feud he had. But that right there, they could easily just had Kofi lose. Kofi tried to fight back. He's not able to overcome the odds and he loses. I'm OK with that. It's Brock Lesnar. But to have him lose in the way that they had him lose was truly despicable, bro. 2019, one of WWE's biannual moments of giving fans what they wanted. They went right back hard to their default, your heroes lose booking. After one of the all-time great WrestleMania moments, Kofi Kingston's WWE Championship reign was ended by Brock Lesnar in just seven seconds on the SmackDown. I was giving it too much justice. I said 19 seconds. It was just seven. That's even worse. Debut on Fox, killing Kofi so bad, he fell from top champion to tag wrestler Forevermore. Kofi has barely been in touching distance of the WWE Championship since. And despite one very effective detail where Kofi was asked about the title and he played it cool while also crushing a pancake in his hand, really he hasn't added any of that fire into his character. Because in WWE, your heroes lose. They lose and it doesn't mean anything. Remember kids, your heroes lose then, now, Forever, together. Yeah, man, this is quite disappointing. It's a very sad list, but I don't know. This is, I don't think WWE, they don't really know how to book a baby face. Recently, the one person they've booked correctly as a ultimate baby face is Cody Rose. And that's only because I'm sure Cody's like, hey, I need to have creative control here.  So I'm glad Cody's been able to be the one baby face in this company that's getting done correctly. There's a other few, but top baby faces, definitely. Yeah, this is one of those things where it's like, shh, man, God damn, when this is, it's just Vince, Vince, the creative team, they just be thinking, oh, this will be cool. This will work. This will make sense. And it'd be like, damn, you not only did that loss hurt the character, now no one can really truly buy into them. It's gonna be hard for someone to buy into them again. The only person in this list where they were able to turn something into even better situation for them is Bray Wyatt. Bray Wyatt's original gimmick was over as hell. He couldn't win big matches. Guess what?  He got himself over twice to fall down, to fall by the wayside, character destruction. Oh my gosh. And this is why I keep saying this to everyone, oh, a whole Bray comes back. Do you want him to come back? No, so he can get over again for WWE to do the same thing?  As long as they treat him, and his character with some type of redeeming qualities and we care, I'm happy wherever he goes. But do not, he does not need to go back to WWE, at least not right now. No, because he does not clearly have that type of pull in the back where he can be like, I need to have creative control over my character in certain, in majority of situations, because this ain't it. So no, I do not want Bray to come back. I need him to focus whatever else outside of WWE because I do not trust Vince McMahon when it comes to anything that Bray does. Oh, he'll be on another list like this if he comes back to WWE and loses important matches. So comment down below, let me know. What was a particular loss from a wrestler that may not even been on this list that you felt like derailed their push or their momentum so bad that they really haven't recovered from it? I was surprised that they didn't mention the hell in the cell with Seth Rollins and the fiend. That ultimately initially started the fiend's push being derailed. His push momentum started to really slow after that atrocious match. And then he was able to regain it again and then it got derailed completely by Goldberg. So that's the one I can easily think of off my head. So let me know down below. But I appreciate all of the support. Roll two, 90K appreciate y'all kicking with me. See y'all in the next one, peace.