All right. So thank you, everybody, for coming today. We have a very exciting and interesting topic. Today, we're going to be diving into the topic of accelerating high performance machine learning at scale in Kubernetes. So a little bit about myself and my co-speaker. My name is Alejandro Saocedo. I am engineering director at Seldom Technologies, machine learning deployment and monitoring start-up based in London. I'm also chief scientist at the Institute for Ethical AI and governing member council at large at the ACM. My co-speaker couldn't make it today. She's still based in Vancouver, but she was able to send us some exciting videos of the demos that you will be able to try out yourselves with the Jupyter notebooks and deploy on your own site. So Elena is a senior cloud architect at Microsoft. And today, we're going to be able to show you great, interesting collaboration, productionizing machine learning at what is scale. We're going to be taking a use case, which in this case is going to be text generation exciting GPT2 model. We're going to be showcasing how to perform optimizations on machine learning. Of course, this is a Kubernetes conference, not a machine learning conference. So we're going to be actually covering more about the steps productionizing those models. Some of the nuances of how this practicalities change when you're dealing with machine learning as opposed to just normal software, and then how we're going to be deploying and scaling this in a Kubernetes cluster. Finally, we're going to be covering some cloud native best practices, things like GitOps and operational monitoring that you would introduce in normal microservices, but adapting that into the machine learning space. So let's get started. Let's start with the what. So we're going to be taking this machine learning use case that some of you may have come across before. So this is the GPT2 text generation use case. What it basically does is it takes a text input, and it simply generates the next token. And what this allows you to do is to basically generate human-like text. So here you can see that the input is the token's a robot may. You can see that the model actually generates that next token. So that's basically what we're going to be doing. The reason why we're taking this use case is for a couple of various perspectives. The first one is that it's quite intuitive. You can see some of the exciting value, not just in how it actually performs the predictions, but also in the use cases that people have seen deploying it on. So there has been, if you may have come across this, a dungeon crawler where you can choose your own adventure and interact with this AI model to say, what do you want to do as the next action? So you can start as a wizard and say, I want to now go and grab the staff. And it replies what happens to you. So it's quite interesting. But also from the hardware perspective, it's very computationally intensive. So it's also going to allow us to show how to accelerate the performance of this model. So it takes a couple of seconds to run. So we're going to be able to actually showcase we can make it run faster. The actual steps we're going to be carrying out today are the ones outlined here. We're going to be fetching the model, optimizing the model, running it in a server locally, then deploying it into our Kubernetes cluster, and then showing how to make this deployment much more robust through GitOps and monitoring. So the code and examples, you're going to find them in the resource. And I'm going to actually share the link for the talk so that you can access it later on. So let's get started with fetching the model. So the first step is actually getting access to the artifact. And because in this talk, we're going to be covering the productionization, we're going to skip all of the part of the training the model. So we're going to already access a pre-trained artifact. Fortunately, we are going to be using a collaboration that we have done with the Hugging Face team. So this is basically a team that has collated and trained a broad range of machine learning models. In this case, they have also trained this GPT-2 model that we're going to be able to just make use of. The way that we're going to be doing this is just using their Transformers library. And by using the tokenizer, we can actually fetch the pre-processor and the model. We're going to talk about what that means. And we're going to just be able to build the pipeline. This actually just fetches everything from their model hub and simplifies the Python side for us. So what happens under the hood, just to provide an intuition, is we are able to provide a text input. So in this case is a text, I love artificial intelligence. We have to convert this text into something that the machine learning model can understand. So we're going to tokenize it. In this case, we're going to convert this string into a bunch of tokens. Then we can actually pass these tokens to the model. But if you remember, the model actually generates one token. So if we want to actually understand what's the most, I guess, reasonable prediction, we can actually take the most likely next token, or we can actually take the most likely series of tokens. So this is this generate function that we leverage here. And then once we actually get the output, we decode it back to a human readable string, and then we return it. So this is all happening at the Python level. So the internals of the generate function, as I mentioned, it could be just a greedy approach of taking the next most likely token. But in this case, we can also use other algorithms, like in this case, the beam search algorithm, that has a look ahead to find the most plausible series of tokens. So we're going to skip through all of this and abstract it, primarily because we're going to just interact with this as a black box. So the next step is the optimization. So we have this PyTorch model under the hood. We can also fetch a TensorFlow model. But we can actually export it using this serialization format called Onyx. And for this, fortunately, we have a library still with a hogging face framework that we have collaborated with that simplifies this. The only thing that we need to do is to actually use the optimum framework and the optimum class. That actually gives us the Onyx quantized models, which basically means it's going to be much more efficient. It's going to run significantly faster. And we're going to see what that actually looks like in practice. So now that we have an artifact and we saw how to run it in Python, the question is now, how do we actually deploy it? Before putting it in our Kubernetes cluster to avoid bothering the DevOps team, we want to first make sure that it works, right? Make sure that it works locally, run it, and ensure that it performs to what you expect. For this, we're going to be using these two tools called ML Server and Seldom Core. And the reason why is because there are a lot of challenges when it comes to scaling that go well beyond just the challenges that you face with normal software. The reason why is because you have specialized hardware in play, things like GPUs or TPUs. You have complex dependency graphs, so it's not just like a microservice that you consume, but it's actually multiple hops across potential inference pipelines. You have compliance requirements where your model, your code, your environment has to be reproducible. And you have all of the nuances that may actually require higher level principles that may be dependent on use cases in various different industry domains, right? If you have to explain your predictions, if you have to actually keep audit trails, et cetera, et cetera. So today, we're going to actually just simplify this by introducing those technologies. The first one is Seldom Core, which is this Kubernetes Cloud-native orchestration tool. And Seldom Core allows you to basically convert those models, artifacts, or custom code into fully fledged microservices and run them in different runtimes. One of the runtimes can be Triton. It can be TF Serving. But today, we're going to be using this Python runtime called ML Server, right? So ML Server, the only difference is that it provides you with a simple compatibility with Python-based libraries. And because Huggingface is a Python-based library, it is very easy to actually interact and integrate with that. So now that we actually talked a little bit about the tools that we're going to be using, now let's actually talk about how we're going to be using them. We're going to take this GPT-2 model and define it in our ML Server runtime, right? We're then going to test it locally by running that as a microservice, but locally, so that we can consume the model as, by sending inference predictions and getting the responses. And if we're happy with that, we can then just deploy it into our Kubernetes cluster with the seldom core scheduler, which is going to be using that same runtime underneath. So we're going to be, first, as I said, defining the GPT-2 model pipeline. This is actually a programmatic way of defining it. If you remember, in the previous Python example, we actually selected what is the task, right? So in this case, it was the task text generation and it's going to be using a pre-trained model from the Hub, which in this case is the distilled GPT-2, right? It's basically like a smaller GPT-2 version because that model is actually huge. And if you guys have been using the conference Wi-Fi, we don't want to download that and get stuck for that because we're going to be all day here. We can actually just activate the optimization by saying optimal model true. Here we specify the runtime, which we're using the hugging phase runtime. If you are familiar with machine learning, you can also use things like XGBoost runtime or scikit-learn runtime, et cetera, et cetera. So now that we actually have the configuration, we can just basically run it. We do ML server start with that config file. It runs this fast API server. And then we actually just send a call request with this input, seldom is very, and it returns with this output generated of seldom is very curious about the matter, blah, blah, blah. So it works, right? So that's basically what we have. Now, fortunately, we do have a demo that my co-speaker recorded before coming here. So now let's hope that everything is connected hooktop so I'm going to press play. Model working with ML server and hugging phase optimum library. It's rather simple and fast and we will do it all in GitHub code spaces online. No local installation or Python or anything. To start using the model, we need to create model settings file directed to use hugging phase runtime. We will use text generation task for this example with distilled GPT2 model available from hugging phase. And we will enable optimum optimizations. We will start ML server. It will serve model on both HTTP and the JRPC protocols following KF serving V2 protocol. It will download the trained model from hugging phase and apply optimizations. Once server starts, we could explore open API docs and run inference. It will show us structure of expected input and output to help out. And we will submit data. We will think I love AI. Let's see what it generates. It looks rather cool for AI generation and all that power without writing a single line of Python code. Now we could use this model easily from application written in any language. But that's not all. Many transformer models support different MLP tasks. We saw text generation. Now let's look at sentiment analysis. We will change our model settings for sentiment analysis task and restart the server. We didn't specify model, so downloaded BERT model as it deems it best for the task at hand. Let's resubmit the data with our I love AI sentence and see what it generates. It generated sentiment positive score. In this demo, we saw how simple it is to run various MLP models and tasks on GitHub code spaces with ML server and optimum library. Awesome, that worked out. So that's great. We're literally pushing the release of ML server as we speak as we had to do some last minute updates. But you can try it out. So please do make sure you check out some of the notebooks. So now let's actually dive into the next step. So we've run it locally. Now we want to productionize it. And we want to make sure we run this service as a microservice in our Kubernetes cluster. So we're going to be using our Kubernetes operator for Seldom Core, which provides us with a bunch of custom resource definitions that abstract those machine learning concepts into basically CRs, like the concept of a Seldom deployment which allows you to deploy your models. The way that you would be able to do that is by using the definition. If you remember those same parameters that we used in ML server and in Python, there is a one-to-one mapping between those parameters and the ones that are passed downstream. So here you can see that it's the same text generation. You can see that it can define your pre-trained model. And then you can select the optimization. The key thing here is that we are accessing the pre-trained models from the Hugging Face Hub, which means that you can actually download all of the large range of models that they actually provide you. You can now, once you deploy it with kubectl apply, you can actually see that the actual pods are running successfully. And you can actually send a request. Now, the one thing to mention is that under the hood, we also had to install in the cluster our gateway controller, which is Istio, which provides you for the routing to be able to access the models. So Selvon Core integrates with both Istio and Ambassador. So that's basically the Kubernetes deployment part. But if we remember, when we're dealing with Kubernetes clusters and with Kubernetes deployments, it's not just about running a pod. It's also about the reproducibility and the ability to actually ensure you have rollback, disaster recovery mechanisms, et cetera, et cetera. So for this, we're going to now be delving into some best practices that we can introduce that have been covered quite extensively in the general cloud-native ecosystem, things like GitOps or operational monitoring, but adopted into this machine learning deployment workflows. So the first one that we're going to cover is continuous delivery via GitOps. So GitOps can be summarized as deployment as code through version control. The ability for you to have a one-to-one mapping between your Kubernetes cluster state and the equivalent within a Git repo that is versioned. One of the benefits, of course, of GitOps is the ability to be able to rollback. That's one of the things that normally gets covered. But one important benefit of GitOps is also disaster recovery. If suddenly your cluster gets into an inconsistent state and you want to recreate it somewhere else, that gives you a robust disaster recovery mechanism. And similarly for migration, you're able to actually replicate the cluster. So what does that look like if we actually have our data scientist, our machine learning engineer, interacting with the Kubernetes cluster? So you would have the data scientists training new models, perhaps doing transfer learning, pushing it into the Huggyface hub, or as we also support, pushing it into a Google bucket or an S3 bucket, et cetera, et cetera. Then the machine learning engineer is able to programmatically deploy that model by pushing the specific YAML configuration into the Git repository. Then as you will see in the next part of the demo, the GitOps integration would allow you to actually sync that change in the GitHub repo and then make sure that the cluster reconciliates with those changes. What that means in practice is what we saw, just not with kubectl apply, is with the GitOps workflow. That would actually run our machine learning model runtime. So seldom core would be the reconciler component. That would see, hey, you requested a seldom deployment with this runtime. I am going to run that specific runtime, which is in this case ML server. And then ML server will fetch the particular pre-trained model that you specified. So simple enough. Now, actually, let's see what that looks like in practice. In order to actually configure it from our side, we actually have direct integrations with things like Argo CD. In this example, where you're seeing flux for the integration, so you can see that the flux config specifies which repo is going to be syncing into which cluster, as well as what are the particular parameters that we want to create. We will then make sure that once the model is deployed, we are able to leverage some of the, I guess, observability richness that you would normally get out of the box in Kubernetes. And of course, extending it into the world of machine learning. What that means in practice is that with seldom core, you get the benefits of ensuring that all of the models that get deployed not only have that REST, GRPC, and Kafka APIs, but also you're able to ensure that metrics are exposed. Operational metrics like request per second, latency, but also more advanced metrics like GPU utilization, et cetera, et cetera. And this is not only relevant for our use case, but also for when you're using more advanced runtimes like Triton, where you want to really get every single millisecond or nanosecond of latency. And similarly, out of the scope of this talk, but being able to collect the inputs and outputs of the model so that you can actually get insights from what's actually being processed in the inference side of your deployments. So we're going to actually see some practical insights that we can extract in the next demo that is going to basically showcase all of the things that I covered. So let's now switch back into the next video and hope that it all works. And let's give it play. Now we will see how to deploy the same transformer model to Kubernetes with seldom core and following the DOPS approach. We have a case cluster with two node pools, one with GPU and one with CPU-based computer. Clusters enabled with GitOps flux add-on, and we onboarded our KubeCon repo manifests to be synced with the cluster. We have installed seldom core with Istio and Gress on the cluster and now ready to create seldom deployment series. One series is demonstrating running model we've had in face runtime on GPU nodes. We could see that we set hugging face server as our runtime. We defined task that model would perform to text generation, and we will use distilled GPT as our pre-trained model. We have also defined tolerations and NVIDIA GPU requests so that model will run on GPU nodes. For CPU version, we have removed tolerations and it would be running on CPU nodes. We have committed manifests to the repo, and we see flux controller syncing latest commit with the cluster. The resources are being deployed, and it takes few seconds to get readiness props turned green. Southern controller processed at CRD object and deployed two containers for each model. And virtual service to enable routing for the model through Istio and Gress. Our model pod has one container with a main server configuration, and another is seldom side car performing orchestration tasks. Now we have both models running. Let's compare how these models deployed on separate nodes perform. We will use K6 load testing tool and define two scenarios, running multiple iterations with text prediction per load against both models. We see that GPU outperforms CPU by a large degree, running hundreds of iterations, while CPU processed just 12. Once test finishes, we see that CPU based runs takes two seconds to run, while GPU is 10 times less, just 200 milliseconds. ML server and Optimal library obstructed from us complexity of model serving, and we were able to utilize underlying GPU infrastructure very efficiently. Awesome. So I think one of the things that we can see from that demo is ultimately the comparison of a slightly more complex machine learning model, which would actually take perhaps a couple of seconds to process the input data. The interesting thing is that if we actually perform the inference one input at a time, the CPU and the GPU would perform equally at the same speed. The benefit is when we actually do batching, when we send multiple requests batched for those to be processed by the GPU on a single clock cycle. And then similarly, one of the things that is kind of outside of the scope of the session, but that you can try out yourselves, is how to leverage things like adaptive batching or predictive batching, as it's also called, the ability to ensure that the actual server itself is doing the batching. So you can send a heavy load, and the server would actually take some requests, let's say 100, and then actually run them within the GPU, and then make sure that they get returned with the relevant open connections accordingly. And that actually makes sure that you still are able to leverage some of the optimizations within the GPU itself. So again, the great thing about all of these things, and as we all love open source, is that if you find any issues, or if you find something that needs improvement, we would love for you to open an issue, or even a PR, as always, very much welcome. So just to summarize, and to make sure that we take a step back and see what actually happened from the big picture, let's see what does the anatomy of production MLOps look like. So we can see all of our persistent areas, the training data, the artifact store, and then we will see also the Git repo and the inference store. The first step, which we actually skipped in this talk, is the experimentation. It's when data scientists are training machine learning models, using data, converting into artifacts. And in the case of the Hugging Face demo, this is basically pushing them into the Hugging Face hub. But it can be also into an artifact store, S3, Google Bucket, Azure Blob, et cetera, et cetera. The next step is once you have a model that is ready to be productionized, you would be able to either manually or programmatically ensure that it's actually pushed into that Kubernetes cluster. So in that case, we can cover it from the CI CD side, programmatically having a CI pipeline or an ETL pipeline that is responsible of potentially packaging the model, potentially pushing the runtime if it's actually all encompassed in an image, or just pushing it again into the artifact, and then actually pushing into the GitOps repo. This is actually quite important because in the previous slide, we were showing how potentially the machine learning engineer would push into the GitOps repo. But normally, from our side, we tend to discourage that. Pushing into a GitOps repo is not something that you should do, particularly given that GitOps, at least in some contexts, is seen more as a data store. It is the state of the cluster and the ability to make sure that you can actually roll back. And if you actually can do that programmatically, it provides a extra level of security. Now, as we also saw, then that's when flux would come in and be able to perform that reconciliation with the cluster. That means that you would have your real-time or batch models that are running in Kubernetes. And then, of course, the operational metrics that we were showing, the monitoring, the observability. Of course, again, this is not a monitoring talk. I have links to resources that cover things like drift detection, outlier detection, so that you can actually delve into some proper data science monitoring with cloud-native architectures. But from that same context, this gives you an idea of what we call the anatomy of the MLOps lifecycle. So yeah, that's kind of like the main premise, taking a step back, getting a bit of an intuition and not getting too much in depth. One last thing that I do want to highlight is the step that we showed about running ML server locally. We see one of the key challenges is that often, in the MLOps lifecycle, the data scientists or machine learning engineers go straight from experimentation to production. And the reason why that's a challenge is because if they have a container crashing, that would actually introduce a very inefficient loop between the data scientist and the DevOps engineer or the platform engineer going, hey, can you send me the logs? Hey, why is this not working? So that part about being able to run it locally, making sure that everything works, send some requests, debug it, that's actually quite key in this workflow. So if you want further resources, we have other talks that we've actually given in previous KubeCon conferences on CI-CD for production machine learning at scale, on production machine learning monitoring with explainers, drift detectors, outlier detectors, the similar one on accelerating ML inferences at scale, but with ONIX and Triton, machine learning security, and then the machine learning ecosystem and operations, the current state of that space. The slides, you can find them in that bit.ly link at the top right over there. So yeah, if you want to access the slide, the resources, the notebook, check it out there. So just to summarize again, today we covered machine learning acceleration at scale, how to optimize your models, how to run them locally, how to deployment to Kubernetes, and how to introduce production cloud-native tooling. Again, thank you so much, and thank you for bearing with us with this juggling of video and presentation. I hope you enjoyed it, and I'll take questions if anyone has them. If not, you can grab me for a drink later on for more questions. Thank you very much. So any takers for questions? Any brave ones? Nice. We have one there. Oh, I think, yeah, just him. I think you haven't. Yeah, he has to see you. Oh, you don't have a microphone? OK, if you tell me, I'll repeat the question. Yeah. Right. Right, right. So the question is, do we have any methods to share GPUs across containers? So that's actually interesting. We were just chatting about that. And the talk right before this was also talking about that. So Seldon Core operates at a high level scheduling, building the pods. So we would rely on the schedulers themselves. There was a very interesting talk that one of my colleagues was mentioning from NVIDIA that was actually talking about how to introduce, at the scheduler level, the ability to specify fractions of GPUs and actually make container D or the lower level magic handle that for you, not being able to actually deal with that yourself. So from our perspective, that would be the ideal. But of course, you can actually leverage some of the runtime capabilities like Triton. So I didn't cover how you can use Triton instead of ML server. But when you deploy your models using Triton, you actually have access to those low level configuration. Of course, it is at the mercy of your configuration. So you're going to have to specify that at the pod level and handle that on your configurations. So it does get a little bit complex. But there are options. So I think from our perspective, one is actually GPU sharing. Another one is multi-model serving. And that's one of the easier ways of actually handling what is actually sharing one GPU across multiple models is just actually having one container running multiple models. An ML server allows for multi-model serving. Triton allows for multi-model serving. And we've been actually doing a lot of collaboration across all of these projects to make sure that the APIs are consistent. So the management APIs are the same. The inference APIs are the same across ML server and Triton. So it's more of a preference of which one you want to use. Yeah, so that would be the current answer to that, which is not very much a full answer. But yeah, good question. Other questions? Awesome. Oh, I think we have one over there. Yeah, and if not, you can grab me for deeper dives and questions later on. Hi, great talk. Thanks, you. Thank you. How do you deal with model versioning? I use DVC usually for versioning the models. And how does this affect the GitHub section of what you talk about? Yeah, that's actually a really interesting question. And I'm always really keen on delving into that context. So the DVC team is awesome. We've actually done collaborations with them. And we have examples of how to deploy models that have been trained and pipelines that have been using DVC. DVC handles the experimentation part. And the reason why I'm pointing this out is because in the experimentation part, you may have 100 experiments with 100 artifacts. When you move to production, you choose one artifact. You choose one experiment. You say, I want to productionize this one experiment. And now you move into a new realm where the relationship between production models and experiments is different. You have a one-to-many relationship where one experiment can have multiple deployments. You can have them deployed in a dev environment. You can have them deployed in a production environment. You can have them deployed across three namespaces, et cetera, et cetera. So when it comes to versioning, we do keep a sort of principle where the experiments themselves must be consistent. So making sure that the experiment has a unique identifier. So whenever you productionize it into your GitHub repo, there would be a unique identifier in the YAML. So whenever you change the experiment, the YAML changes. Of course, you have some servers that allow you to actually just point to a bucket and have the server updating whenever the bucket content changes. So that's something that is a no-no for us. We ensure idempotency. Make sure that whenever there is a change on the YAML, there is a change on the server and no magic underneath. So there are some considerations taken to account. In summary is that relationship between experiments and production services, as well as the ability to ensure idempotence on the YAMLs and GitOps components themselves. So that it allows you to actually trace back all the way to the previous steps in the machine learning lifecycle. Yeah. Awesome. Another one? Hi. Thanks for that. For example, if you want to go one step farther, once you have done the inference and you detect some weird thing in a video or kind of stuff, and you want to trigger any action related to this inference, that cell does not offer any feature that can be used like a pipeline or something like that? Yeah, yeah. Great question. So the short answer is yes. The long answer is it's complicated. So we have multiple different interfaces through which you can trigger, I guess, events. So one of them being, let me see if I can just open it, one of them being operational metrics. So this is one-to-one to your service level agreements. You can say, I want to set a service level objective. I want my model to be using this amount of throughput or this maximum latency. And I want to set up alerts through alert manager or something like that. So that's on the operational level. On the data science metric side, so I talked a little bit about drift detectors, outlier detectors, which we didn't cover in this talk. But you will see in some of the resources that I link that there are ways in which you can hook in extra components that would be able to listen through the various inputs and outputs of your model to actually perform, I guess, advanced checks of the current state. And then you're able to trigger respective actions depending on the outputs of those. So the answer is, Seldom would provide you with the LEGO blocks that then your platform teams would be able to, I guess, arrange accordingly. And as an open core company, that's kind of more of where we delve into providing that sort of management layer. But yeah, the open source provides you with all of the tooling that you would need. And that's why we have 7 million downloads and people kind of integrated in different ways with whether it's K-native or whatever. But yeah, so the answer is yes.


Welcome back to Animation Analysis and this time I'm going to take a look at The Bad Guys by Dreamworks. This just popped up this morning and I gotta take a look at this because I love it already. The style is cool and I love the characters that they're using. Also, super perfect timing. If you are wanting to animate something like this, anthropomorphic, you got a creature that looks like a human in terms of how they walk. There's a new rig out that's going to be super cute. Watch out for a review on my channel very soon about perfect timing for that kind of style of animation. But let's get into this here. I love this. Oh, it's so much on pack here. Besides the style, that's cool. And I'm always, if you watch the trailer, this is about a heist to some degree. Love that. I love heist movies. I love the character designs. They're already super appealing. Love the cars. Love that world already. Like the exaggerated lights out. What is all this here on the side? But it's cool how big this is. Like sometimes movies, they feel almost kind of small in scope, depending on the budget of course. But that's cool to see. Love that as a immediate setup of that's the world. But I love the details. When you go into this here, not just animation, but I also love it because you have that thing of leaning, moving forward to them, bring this over into a massive tilt. Why am I saying all this? Because it's contrast opposing. And I'm just, my brain is all in terms of contrast and timing just because we're at the end of the semester for the school. And it's all about doing the final grades and everything. But like that to me would just be such a great assignment. Like that's anyway so cool because you don't have to animate. Anyway, I always feel like when I do animation analysis clips, I talk about what not to animate. I feel like I'm the laziest animator ever. But you don't have to animate the lower body and the legs. And it's kind of a cool setup of someone in a car. You can just easily add something moving by here or even in foreground for speed. But you do have the contrast opposing of this, into going forward, into that. You can even do that potentially like an overhang, grab and turn. But then you got that type of movement. And because the car is moving, you could have stuff in the back where either you have passengers if you want to add some complications or props. This could be someone moving and you got some plants here that would be wiggling. So it makes for a nice polished animation. But you have that whole thing of coming closer. And now you can really push the facial animation. And again, this is all kind of waist upish. I know the waist would be down here, but it's like a common thing in performance animation. If that's your animation framing type of thing that a character is like this, either behind the table or that's the framing where it's usually waist up. But you don't show a really huge amount of bottom mechanics. But that would be a new interesting way.  But then you can go into here and now you can focus on really nice close-up facial animation, which is also awesome here. Showing off a little extra movement here. And I love this actually perfect timing because I'll be dealing with a creature design that has a snout in longer shapes like this. So I'm looking at actually reference for exactly this. How do shapes deform and everything? That's great for me. But anyway, enough about me. What I love about this shot is actually not just this, which is cool. Great animation. I love all the head accents. I love this. Look what the snake is doing. Through all of this, the snake is not really bothered. It's just going, I gotta open this. Enough holding the whole thing here. I love that little try this out listening. It's great. We also see the change of style. That's also interesting. It's kind of your more traditional somewhat ish render. He got some interesting lines here. It's the outline for the eye. But then we get to this and now you have that just extra lines. It gets a bit more drawn. I won't say cartoony, but a bit more graphic. But the cool thing is that it's just here and then. And it's kind of like here and then, here and there. I don't know English. But I like that it's not, it's kind of like an in between where it doesn't go full on in terms of like extra stuff here. So it's kind of in between style, but this is cool. Besides being an awesome pose. Yeah, I love the look of this. The renders are great. It's cool hold too. Yeah, like that already. But where are we here? We are 240 frames into this. And I'm already super smitten. Great animation. Cool style. Interesting. Okay. This is a style. And then that's a different style. I'm totally in very stylish overall. And then we get to see other characters. And the cool thing about that is to me contrast. If you are a poor soul who's in my classes, I always not rant, but always push, you know, timing and contrast. And the fun thing is that they're all going to move differently. Right. So you got this one, super cute character. And the cool thing about spiders, and this is something else later on in the shot, because they can, they can go up, you know, anywhere. So that spider is going to be on different surfaces. Imagine they could be here. That means that you're always going to have some form of asymmetry built in because of the surface slants, right?  But that's cool. I like it. It's a cute, cute design. There's something about just the sharp black outlines here. It makes it very comic booky. That's like a weird generalized term here, but love the textures, but I love the treatment of the eyes. This guy's super cute. Come on. Oh, super cute. Yeah, it's great. But you'll see them later on when they all walk. It's the contrast. Love the super stylized teeth. But this would be a good example, as I always let students know, if you watch something like this, watch the take right there. So now you can go, okay, distracted or, you know, focused on the food and then realizing some things. Yep. What is this one frame? One frame of visible squash into a stretch that is also one frame extended and then back two frames, three frames, three frames of a settle there and then a little bit of extra here. Like to me, it would be that's cool. That's a fun take. Watch this. Just snappy enough. And then I would write that stuff down as a student, make a list and then redo this. Obviously don't put it on a reel, but just practice like that. It's always interesting how everything they form is including the teeth. So a little bit of a wiggle room in terms of what am I stretching? If you do stretch, you don't really want to stretch too much here. The cranium, that's your skull there. Now, you know, depending on the animal might be different, but if that would be a human, your stretch and squash would be mostly here. The squishy aspect of the skin and, you know, muscles and flesh and everything and less of the skull. And it's not much. It's mostly through here, you know what I mean? But you can also decide, well, teeth are hard. I'm not going to stretch these too much, but they are here. Oh, it's cute. I like it. This is for me taking notes up to the next design. Again, awesome. I love the unevenness of all this. I love what he's wearing. That's great. Let me just see because you don't really have fingers, right? So this is now the curling here this way in terms of what the finger is doing. And you can even here see as it goes up, a little bit of a squeeze in that quote unquote finger. And then that's it. But even just that, watch that. You still feel it. And even here, this is what I love this because you have usually, if that's the human and you got arms, right, your legs, I would tell students, well, you raise an arm that is going to influence the shoulder. It's going to move the shoulder up as well. Because of that, it's going to influence and rotate over the chest a little bit. That's going to influence incorrect with the hips. But then if the body goes over the head, my counter to say stabilize. So there's a lot that goes into moving an arm. Now, this is a snake with one long arm, but still look at when that arm goes up, look at what the body is doing, right? It's go back here and you still have an influence. It's not just this is caught. I'm not moving this because only this is moving. Imagine that whole tail is still influencing the rest. Plus you have head accents that's going to influence this as well. So it's almost like this fans out here. This fans up back here. So great. What is this? 420 frames in. I'm already rambling about all the details. It's such a great trailer. All right. So here's the thing that I want to talk about. If you watch this besides being awesome, right? They're all in their elements. This guy's swimming with little arms. There's such great stuff here. Pretending there's the headpiece in the ear. Love that little cute walk. So by being a bigger character, that's great contrast. And this is the one.   It's great. I love it. And again, this guy here. I'm so appealing when they can see the guy's walking again. This is like the contrast of movement. What is this?  I didn't notice that the first time. It's great. It's awesome. Again, just the contrast of all those walks. All right. I'm going to save this in my walk folder. Love all this. I love stuff like that. You know, like the surfaces are not even. Everything is slightly, slightly open. It's not really organic. It's not super clean. I love the overlapping of all the screens. It's good. The color change here for focus. It's great. Such an appealing character. Love this. The super clean round shapes. So smitten. Then you got the nice more graphic lines for the fur. I don't know. I love this. This is going to be one of those trailers where I say I love it, but I do. It's really nice. And I love these guys too. There's a comic book called Le Tunique Bleu. I'm going to Google it and blend it in. Those kind of roundish head shapes, especially the one guy, Blutch. He has the rounded shapes. I'm blending it in probably. I'm googling. I'm going to put that in. I don't know. It's super appealing to me. Maybe it's like a little dash of nostalgia. Again, good reference for you for crazy shapes. Big moves. Yeah, I love all these character designs for the humans. And that's great reference to go in and out of big shapes. Do that over one frame. But then it doesn't stop immediately, right? You're just going to overshoot a little bit and then you can come back down into this. And even the jaw, even though it pops into this, it doesn't stop immediately. You still have to ease in one or two frames. What is this one frame? So open, ease in, and then you still have a squishy, like, you know, it goes in and out. It has like a contraction because squash and stretch just overshoot. What are all the terms I'm going to throw out here through our principles and stuff? But to me, it's the organic-ness of something that doesn't stop on a dime. You still have to have a little bit of overshoot and relaxation in the muscles. So it's not this super poppy, poppy look just because it wouldn't, to me, wouldn't quite support the style given that, you know, the lighting, the textures. I think this is a great balance in terms of exaggeration, right?  Oh, that's a great example. Yeah, this goes also for me into my exaggerated animation folder. Same with these guys. Love those faces. Yeah, really super smitten. Here's another good moment of reference of how quickly you can transition from this into that. It's a nice clean pose, nice hand pose, nice silhouette. I love this. Yeah, I love the cloth here. And you can see one frame drop into a fun run. It's a great run. Yeah, it's a great. Again, very stylish here. The nice rim light, more flatter color. It's great. So cool. I love it. This is for your texture people. Slightly painted, you like all the imperfections. So great. And these goes into my subtle hand stuff. Look at the hand. Again, it doesn't just come in and stop. You can especially see it here in the cloth as well. A little bit of movement. Just enough. I love these. It's like a Blast store, like a Star Wars Blast store. But man, this goes right into posing. That's something that I tell my students as well. Imagine that's your first shot or the first frame of your shot. That is a character pose. Even if this is, it's almost default, right? But it has a slight tilt there, slight offset. There's just enough asymmetry to not be default. And this for sure isn't default. So I'm always telling the students, you got to make sure that if you put in your rig into the scene, right, whatever that we pose is, it's usually a T pose like this. You don't want to just bring down the arms and start animating. Pose out. I highly recommend to pose out your first frame of your shot like this. Full polish to go. This is the attitude. That's what they, that's that's the starting attitude and personality. And then you can continue your shot and there's maybe an arc where it changes. Or it's also for you to see, this is how appealing the character can be when you fully pose it out. So you don't, you know, you're not stuck in the default pose. Like, yeah, I know if this is going to work. I do this so often that first frame fully pose to go, this rig is going to be cool. It's kind of like a reminder of what you could do. Lots of great details here. I'm going to keep playing nice mechanics. Let's see how long is the shot and not long. It's great. This would be my, my typical example of, okay, if someone asks, I want to do body mechanics. Just do this. You have a little bit of a traveling camera. You don't have to. He could easily start here. Yeah, it might just be a bit tight, but you could have him start here and end here. Might just be a bit edgy. I would still recommend just a pan, just to kind of follow. The camera translates there, right?  You can be on a track, be a tracking shot. There are many ways you can also just pan over the rotation. But what I like about this is that you are starting on a walk with a step, turn, and then another step. And that's it, right? It's the beginning of the next one, but it's basically, let's go back here. Step, step. Yeah. It's great. And within that, you have a 180 turn. That's already complicated. But all of this is in service of, this character wants to steal this and is stealing it. I love how she somewhat feels it. Goes, wait, what? What happened? That little nice clean hand pose. Like, wait a minute. That's it. And I love that for him. It's like, you got that focus of, yes, leaning in the smile. I want to grab this. Everything goes to this. Grabs it. And even at the end, you have that little, oh, I like this. Focus on that. It just, you go from like one attitude to the next. Like this shot is packed. Pack with stuff. It's not long. It's still complicated to do. Like that's what I would recommend to students. Not saying this is easy to do. Again, it's complicated, bunch of stuff in there, but it doesn't have to be long. Man, this goes also into my bottom mechanics folder. Whole trailer goes into my folder. That's your, the rock promotional photo where you always adjust one of the sleeves. Oh, it's great stuff too in terms of finger details. Be a pain to animate all this here. Taking this out. She slips. Whoa, that's your way to Simon right there. It's also great in terms of reveal. And I'm kind of stating the obvious here, but for you, again, as a student, for me, this is always like, this is for students as an idea springboard. What if you want to do facial animation and body mechanics? This could be your sequence. You would start here. You kind of have a fun, big exaggerated take, which then reveals someone else contrast, different expression. But then you have the pool and it's changed into a big expression, right? You already have kind of the weight in terms of a pool. And then you have this as a reveal. And now you can go full body, full silhouettes. I think that's cool. Also need to see it's kind of like the extent of the style in terms of sounds like a smear motion blur. That's not, it's not multiples and it's not crazy, but it just has enough stylization there. It's really nice. But yeah, this is your really nice broad weight assignment pool silhouette shots. Great. That's such a great walk. Look at this. This is where you want to go frame by frame. It is paid. And then that's so great. Like this is well animated, obviously, but look at this. How long is this shot? Let's go back and here. So much fun. I will probably add another second. If this was a student shot, just so you can finish and show the settle. Like so your weight comes to a stop unless you want to cut and then do it in here. I'm going to go on the close up shot, but again, not long. It's great because asymmetrical, right? You've got your steps here. So you're going to have asymmetry in here because you're forced to do it because of that elevation change. Farmer can't close your going down. Again, you can have weight. She could even be always like this, right? Where instead of pulling up here, it's almost like you can do leaning over, pulls back. And that's when he already starts running. And then you can see that she would come back to the fall. And he's already down there to then hold her and push her back so she doesn't fall. It's going to be a nice tweak of the shot in terms of a weight assignment for any kind of students or for myself. Now I want to animate this. Then I'm going to scrub here a little bit. This goes into the setup of the shot. Hello with this though. So well, this is the bad guy, right? This is the trailer, the bad guys. He was told what a good guy. Now the instinct of the tail wag is cute. That's actually a great example. Just before when I said this, when the arm goes up, right? Influence the shoulder, chest, a little bit of the hips and the head. Same thing here. Got the tail that comes out, tail swings over. Well, it's going to pull the hips over. It's a perfect example of body mechanics. And it won't just be the hips. Because if the hips move, it's going to affect the chest. You can see how much the chest moves here. Even though he rotates up to go, wait a minute, that's like a rotate up in terms of realizing something. There's still an arc this way. It's still pelvis, chest, head in terms of how much it's being pulled over by the tail. And he got the dangling arm. So now they're just kind of the pendulum swinging back and forth. I think that would be a great example for students to look at in terms of body mechanics, like one body part affecting the rest. Then of course, we've got a really nice, fun, snappy one frame for the head, popping into this pose to the nice asymmetry. Super clean silhouette. That's great too. Trying to grab tail. Oh, so many great poses there. Come on. Okay. So this is, this is a longer piece, but still you can start with a fun pose. Again, there's just enough asymmetry, right? Just enough, even if just the hat gives you some offset there. Then you have mechanics here for fun, your entertainment value. And then you end with a complicated shot where you go, whoa, that was cool cut. And the end of your reel. So good. So good. What is this guy doing? Mostly watched him. Nice. Oh man, this would be something I would love to animate. This, I know this is silly, but I love it. I love props. It's great. So you can see that this, the impact here, super fast knife. Some nice little shapes there. It's great with all of this moving. It's got big chubby cheeks. Look at this. Look at the cheeks. All this is moving. It's great. I love it. That's fun. So many great moments here. Even this here. Even that has a slight lean over. I'm just noticing, it's the asymmetry, right? Different lean, overall body lean, elbow higher here, just for any students. Because that's, unfortunately something I always have to torture them. Like whenever they're done with the animation, gotta say, push it a little bit, bring in some asymmetry, make it a bit more organic and less default Maya rig. You know, that's, that's too vertical, too horizontal. Just give it some more organic asymmetry feel to it. I say this and this is fairly symmetrical besides this. Little change in here. It's a little bit lower than here. It's like it's subtle. Great. Look at that. That's your character posing right there. That's a great pose. Details, details. That's the lair. Cute. Man, this reminds me of, is it Celeste and, and Clementine? What is this? I'll Google it afterwards and try to bring it in. This reminds me of another character. So cute though. Super appealing. Didn't see these guys. Look at that. Question is why are they not used to animals walking around? Why is he freaking out? Still super appealing. Yeah. Love all these designs. Love all this. The cloths. Great costume. This would be your moment as a student. Okay. You got a take. I'd be like, huh? Then I would write down how many frames. Oh, nice.  Ah, it cuts out. I would love to see more of the eyebrows. But that's what I would do. I would write that stuff down. That's what I say in every animation analysis. But it's true though. So appealing. That goes back into the big, big shapes, especially again, asymmetry. Like as you move over and bring that whole thing over there. I think I mean the mouth shaped it up. That's great too. I'll look at the knot here. That'll be a little squash and stretch on the steps here. Boring. Even here though, even though it's twins, there's still a change. My students are probably going, yeah, but you would say don't twin. I know. I know. Like a lot of things that I say in terms of twinning and stuff. You still see it in movies. I think she has somewhere, maybe a patent already forgot, but she has a moment where she has a twinning pose. But then how she gets out of it is fun. I'll just keep playing here since this will be like a 50-hour analysis. I'm only halfway through. So great though. Again, that's your different walk before, right? But now they're all grumpy. They've been arrested. So that's your, I gotta go back. Hold on. Where was it? Let's go back. Let's go back. Let's go back. It's when I lose all my viewership here. Look at that. That's your walk right there. Certain attitude. And then that's your walk right there. Same characters, but different attitude. It's great. Two costumes come on. Let's move forward a bit. It's awesome. Ah, here, there you go. That's what I was saying here. So you have this, goes up. There's still asymmetry, right? And the height, still offset. That goes, fa-pa! Fairly symmetrical, right? Pretty much. So that's maybe, you know, where the head is positioned. But, but, when she's done, love this. That goes down first. Definitely an offset. Now watch this in real time. Huh? It's cute. I love it. Yeah, that's great.  Look at how it influences the rest of the body. It goes up. The body goes down a bit. All influences the rest here, even the tail. So much to learn. Holy moly. Look at those rump hoses. Yeah, it's so great. More! That's your classic cartoony with the guys leaning back. I love it. Head forward. These are great. Yeah, I love, love, love those eyes. Just having that outline all the time. The black outline there. So cute. Great expressions. Oh, the squishiness of pushing that in here. So cute. Like, he's stylish and cool. And at the same time, super cute. Look at that. That is nice. Your arc directed spit. Back into awesome facial shapes. Man, that's a painful shot. Whoever has to do this, I feel for you. This great pose there. I love how she just turns. You gotta keep that contract everywhere. I like that she looks at him. So much awesome stuff in here. I just keep going. Yeah, lots of really fun poses. Nice. Nice pose as well. She's so super appealing. Great. I love this here. I want to go see this for my friend. This! Is this animated? Okay, so I want to see... Is this a map painting? Or is this animated? Is it an animated map painting? I don't know. I see a rotation there. Are these individually placed rigs? Or is it a map painting with animated meshes? I don't know. I don't know. But I feel bad if that's an individual. These are all separate rigs. That's what I wanted to look at. I wanted to see how they... That's cute. The reaction on them. Watch this. Yeah, super cute. Once you play this in real time, you can see all the stuff moving. They all react at the end. I feel so bad. Whoever did this... I feel for you. It's a lot of work. That's cool too. This would be again for a bottom mechanic shot where you're implying stairs, but you're not showing them. You don't have to do the footfall. But you can show in the rhythm of this. Watch her. We get it that there are a couple steps and then she actually walks straight. So there are only a few steps. But it's still nice in terms of contrast where she goes lower. It's almost like after she said it, because she goes lower, the audience can go back up to him. Yeah, she doesn't exit, but she could go out here leaving us with this. So you have a nice little change of focus of character, implied steps and weights. I guess one of the themes is cheat and not showing things. Animating less. I guess I'm all about animating less. It's a great deal. Nice silhouette here. Color silhouette front of the dark front of the light. Yes, so much great stuff here. These are always great shots for like quick takes and facial shapes there. Oh, love this. Love all that. I love the mechanics, the dynamic of that car, the little jitter there. To this. Oh, we can see the eyes at the end. Look at this. Yeah, super cool. Love all this. The look and design is great. Love this here. Such great shapes. It's so great. That's cute too. Oh yeah, when he eats up all the other ones. The spoiler. Love this though. How he gets into this. Watch them. The giddiness of the up and down. So great. Again, I guess asymmetry again is the thing. You know, just that, how the arm is over and here just little pause there. Fingers. So great. Love this here. Love his excitement there. Again, what a pain. I won't have that. It's so cute though. Look at those faces. That's great too, though. Look at how long this shot is. Because that's very short. I'll make it longer for a student. But what I like about this is the this squishiness. It's a challenge to push your character against whatever a door, a wall, whatever it is, right? And then talking. So you still want to feel the contact that this doesn't move too much, despite this moving, right? So this arm is going to influence everything. But you do have pressure where this section is not going to move too much. I think that would be a really fun challenge for a shot. This is for me again, reference in terms of how much stuff is moving here for your extremes. I'll just put it in my folder. But yeah, this would be an interesting challenge for a shot. He's drunk from eating all this. The unicorn just go up. Yeah. He kind of blows it up like hair. Great post too. Look at that. Love how this guy peeks in. Yeah, so great. So many great moments in his trailer. Love it. Crazy town. Not a crazy car shot. So cool, though. Even then, at the end, if you ever see them, felt like it. That's great. I'm just looking at old school knobs. I mean, this would be your shot if you're starting out, right? This would be a nice quick shot. You got the compression on the fingers. See that? Even at the end, a bit of a longer squeeze because he just pulls that up, but then it still has to hold on to it because of whatever return, whatever it is. And this could be your shot, right? If you start out a company, it's short. Someone's got to do it. Still well done. Nice. Nice poses there. Definitely going into more graphic style here. Nice. Whoa, we're going from land, bam, to run. That's pretty cool. That's something I need to practice. Really push timing changes there. So great, though. I love, love, love those designs. That art of book is going to be on my list for sure. And that's the end, right? Yeah. This is fun shapes. Yeah, that's great. Holy moly. What a bad guys. When is this coming out? April. All right. Four to five months. Yeah, super cool. I love it. Very, very cool. Well, that concludes it. That's my half hour analysis slash reaction, whatever you want to call it. But hopefully helpful to students, I always try to pick out some shots where I don't be like a cool shorter shot to animate. Because the thing is, students, it is something that was ranting about before actually my previous clip where you gotta, you gotta put in 110% and blah, blah, blah, blah. But I think this is a great example of you can take on shorter shots, right? Could be even something like this. This could be an interesting assignment of mechanics. Something's being pulled and then affects the rig and the rig is holding other things and they have some overlap and influence, right? But you could do it like this where there's, it's just, it's fun to look at and hopefully fun to animate. So you can still break down a shot into smaller assignments like this, right? You don't want to do too much with the popping of knees, contact of feet. So you just cut it off here and imply that there are steps so that there's weight. And I think that can still make for a fun shot. I would still highly recommend to pretty much every student keep your shots short.  Keep it short. You can still put in all the mechanics that are needed. Let's go forward even something like this, like a head turn like that. Could still be fun having other characters in there. You mean like you can still break down a shot into shorter pieces to still learn the mechanics and the principles. So it's still fun for you but not overwhelming. Like this would be a fun like weight shift almost, right? He starts here, goes into that and that's it. You just do this. But in this, you still have the route go up and the relaxation of going down and then up again. You still have the weight of this and the compression in that. You can still focus on a nice leading pose and the line pointing to whatever you're going to have here. And you can still have a little bit of, I guess, even if I want to do some lip-sync in there. I missed that all of this. So great. Clean. Oh nice with the highlight there. Yeah, it's just there's so much you can, you can get out of trailers because usually trailers are, as I usually, but a lot of times trailer shots are cut shorter, you know, a lot of these might be longer. But even this, like I said before, that is such a great example of body mechanics and it's still fun to watch and you can make this a lot shorter too. This could also end here, right? What if it's just this, this cut? It's not overwhelming. It's super fun to do.  Anyway, I'll leave it at that. I think, as always, trailers are just great examples for students and hopefully, as I'm going through here like a nerd, hopefully it's a springboard of ideas. I hope this is helpful. I love this trailer. Definitely looking forward to it. And let me stop rambling and I say thank you for watching. If you're watching till the very end, that's a longer clip as always. So thank you, thank you, thank you. Let's go forward to the title. The bad guys. All right, hopefully see you in my next clip.


Hi everyone, Joe for JasperysCaseRakes.com coming at you with a box of fanatics under wraps autograph baseball This is random team number 19 So we got three different dice rolls happening here follow follow with me here first of all We're gonna give away five extra spots within this break. So we only sold 25 spots outright We're gonna randomize those 25 names top five will get extra spots second dice roll will be for The break itself and the third and final dice roll be giving away those two hit-pack spots So some pretty good stuff here Nice we got it. We got a good crew of people that support us from New York the real Glock. Thank you. Appreciate you I I normally as a west coaster I'm not I'm not one to say go Yankees But I am tonight because I've got a little got a little financial interest in the success of your Yankees tonight Little two-unit play. Let's roll it randomize it five and his six top five after eleven get extra spots one two three four five six All right after eleven times. Wow Eugene three of the five Steve with the other two. It's pretty nice Nice that the line was too good on that game With what Nestor is on the mound tonight, right? I think he's he's a lefty and the Mariners Just hate hitting lefties All right, let's roll and randomize it four and a five nine times for names and teams This is for the break two three Eugene down to Steve And then four and a five nine times for the teams one two and ninth and final time We got Cleveland, this is for you down to the Texas Rangers. What's your trivia question Rex? All right, here's the first half of the list right there No trade windows and here's the second half right there now if there is a multi-signed baseball Which are pretty rare. They are gonna go to the Miami Marlins any multi-sign auto It's gonna go to the Marlins Even if it's for a completely different team, but you read the item description. So everyone knows what's going on When's the last time the Dodgers and Yankees face out in the World Series in 1981 the Dodgers won that one after losing to the Yankees a couple fewer years prior 1980 or 81 Something like that early eights. All right, so final printout right here. Thanks everybody. So put your thinking caps on Who am I? I'm an active baseball player I'm a rookie. This is a pretty good one pretty good one to get a rookie shortstop It's currently hitting 200 with eight home runs 24 runs batted in 13 stolen bases Born in Manhattan, New York rookie short stops from Manhattan 30th overall pick in the 2019 MLB draft Hit a home run today. I think he had I think he had a three-run shot today if I'm not mistaken Who am I? Yep Eugene's got it Anthony Volpe With a go Yankees inscription on it. He was born it. He was born in Manhattan I think he grew up a Yankees fan right if I'm not mistaken So you got the card in there as well pretty pretty awesome. Oh Eugene's also in New York. There you go. Good. He's got a lot of love for New York in the house right now I got goes to you Eugene Eugene with the Yankees now Let's flip back for our final third and final dice roll This is the big one here. Who's gonna win those hit pack spots? It's worth $700 per hit pack So it's gonna be the top just the top two after Two and a six eight times Good luck everybody one two three four five six seven and eight So there's gonna be a lot of sad faces here, but I appreciate everybody trying Saddest face Eduardo come on Come on random org very close, but just not not quite this time But we'll get him next time top two though. You're really happy because you're in that that hip-hop break Steve Herrick is happy. Wow both Clean sweep for Steve. Congrats to you. We'll see you in that break a little bit later tonight. Thanks everybody. Jaspy's case breaks calm. Bye. Bye


Oshawn State Gofnwad ddimola'r Delegate on Wednesday swan a'n 47 newly confirmed special advisers, board chairman and vice chairman, and subsequently announced their portfolios at Delegate after administering the out-of-office and allegiance to the newly appointees at the State Secretariat of the Governor's Office in Oshawn State Capital expressed confidence in their selection and capacity to bring their wealth of professional experiences to bear on governance. The Governor urged them to discharge duties effectively and promised not to tolerate corruption and competency in his administration. He also reassured his new cabinet members' administration commitments in service delivery that will continue to provide a platform to engender personal growth while pursuing the overall development of the State. The Governor taxed the new appointees to see their appointments as a call to service.  I will not tolerate corruption and incompetence in governance. You must be above board and dedicate your time to serving the people of our state. I will demand observance of the rule of law and due process. Let me warn that any agency or ministry with relationship conflict will have their heads removed. We have many serious state matters to attend to. We will not waste the precious time of our people due to our destruction. We are showing the governor and the other people of Oshawn State that in this real responsibility we shall not be found guilty. We shall put in our best and we are showing you that at the end of the tunnel Oshawn will be better than we met it. Hello hope you enjoyed the news please do subscribe to our youtube channel and don't forget to hit the notification button so you get notified about fresh news updates.


Kia ora, Tefano My name is Daniel Price and this is me This is where I'm from and look at the the puku on that bad boy. It's literally the size of my head I'm my mother Was a singer and an actress in the West End and my father is an accountant So some days I'm an artist some days. I'm a geek but most days. I'm something in between and This this is my passion this place And this place is actually in a lot of trouble So what you're looking at here is the year-on-year buildup of energy heat Within our climate system driven by us over the last 200 years We've been pumping greenhouse gases into the atmosphere and that outer red line that two degrees is where we lose control We're running out of time. I spent a long time studying this system My background is in climate science. These bad boys are my toys satellites flying around the planet 700 kilometers up at seven kilometers a second. They can measure changes down at the surface to centimeters This study took me to the Antarctic and continent at the bottom of the world that is capable of reshaping the world I'm actually back off the Antarctic in five days to mount The first traverse that has been done since Ed Hillary mounted it Back in the 50s. So it's it's the first time New Zealand has mounted such an effort since the 50s But after 10 years or so in the science I realized if no one's are listening what the hell is the point? So I died into public awareness and for some reason decided to cycle after returning from the Antarctic from New Zealand to Paris The idea was to galvanize global media and get attention on the Paris climate agreement in 2015 Leading up to that crucial agreement in the French capital We made films in Bangladesh a country where 30 million people could be displaced by the end of this century by sea level rice We made films in Mongolia where an entire an entire ancient culture Nomadic culture is threatened as the glaciers melt and the water sources dry up But then even with that I reached the point where I thought We don't have time to get everyone on our side.  We're working on the moment is waste as Sam alluded to the global fashion industry as a beast and one of the problems is waste Millions of tons of fabric go to landfill every year Our company off-cut wants to start making a dent in that we take off-cut fabrics that would otherwise end up in landfill leech glues and Dyes into the soil and release greenhouse gases that they break down and use that waste To make caps. We're starting with caps, but we're hoping to expand We we want to create a vision where We don't we buy things because we want them and they're cool not because they're sustainable They should inherently be sustainable So I'll wrap up with this. I like to finish with this image this photograph Taken from a spacecraft orbiting Saturn 1.4 billion kilometers away And in the wise words of Carl Sagan That's here. That's home. That's us We we don't have anywhere else to go and like I say time is running out and what I fear after this week Is that all the beautiful things that everyone is working on here? Don't matter unless we get ahead of this problem We're not gonna have the space the time to think about making a better world until we retune with it So I encourage you all here to join on this journey To make New Zealand a leader when it comes to climate change