Hello everyone, welcome to the talk by Gunnar Kross on after CICT, there is now continuous configuration. So we are delighted that Gunnar can join us today. So without any further delay, over to you Gunnar. Thank you very much and thank you for having me today. My name is Gunnar I am a developer advocate at Amazon Web Services and in the last decade, the movement towards CICT has been really transformational for getting value out to customers quickly. But in recent years, there's been new processes tooling towards using configuration post deployment in the form of feature flags, operational config and other runtime configuration. So in this session, we look at how to continually adjusting configuration to update and tune your code in production, how that is a powerful, fast and safe way to deploy value to customers. And we're going to look at how Amazon uses continuous configuration tools at scale to move fast and ensure a maximum availability of services. So there we go. All right. So in the early days of Amazon.com, making changes to the e-commerce code base was complex. It was slow and it was fraught with danger. So only a single change would require a complete redeploy of a single monolithic executable. And the executable in question, it was over one gigabyte in size and it took over a day to compile. So there was so much time between making a change in the code base and then seeing the impact in production that it was really difficult to correlate it to. So over the years as Amazon scaled and grew, this slow software deployment process was really a bottleneck that limited the pace of which we could deliver features and application improvements for customers. So to solve this, Amazon broke down that monolith moving towards a service-oriented design. So this empowered the teams to ship features faster and more frequently. And it also reduced the blast radius of changes to all of the different individual services. So with this shift of ownership came the need for individual teams to manage the deployment and operation of their services, resulting in the creation of many streamlined processes and procedures similar to the CICD pipelines we use today. So let's just take a quick look at CICD. So continuous integration, as I think many of you know, is a software development practice where developers regularly merge their code changes into a central repository after which automated builds and tests are run. So continuous integration most often refers to the build or integration stage of the software release process. And it entails both an automation component, could be the build service, and a cultural component, learning to integrate frequently. And the key goals of continuous integration are to find and address bugs quicker, improve software quality, and then reduce the time it takes to validate and release new software updates. So why was continuous integration needed? Well, in the past developers on a team, they might work in isolation for an extended period of time and only merge their changes to the master branch once the work was completed. And this made merging code changes difficult and really time consuming. So it also resulted in bugs accumulating for a long time without correction. And these factors made it harder to deliver updates to customers quickly. So continuous integration works with developers frequently commit to a shared repository using Git, for instance. And prior to each commit, the developers use to run local unit tests on their code as an extra verification layer before integrating. So a continuous integration service automatically then builds and runs unit tests on the new code changes to immediately surface any errors. Then we have continuous deployment and continuous delivery. And those are software development practices where code changes are then automatically prepared for release to production. So as a pillar of modern application development, continuous delivery and continuous deployment expands upon continuous integration by deploying all of these code changes to a testing environment and or a production environment after the build stage. So when properly implemented, developers will always have a deployment ready build artifact that has passed through a standardized test process. So continuous delivery and deployment lets developers automate testing beyond just unit tests. So they can verify application updates across multiple dimensions before deploying to customers. And these tests might include UI testing, load testing, integration testing, API reliability testing and so on and so on. So it helps developers more thoroughly validate updates and preemptively discover issues. And it then, sorry, with continuous delivery, every code change is built, tested and then pushed to a non-production testing or staging environment. And there can be multiple parallel test stages before production deployment. And the difference between continuous delivery and continuous deployment is the presence of a manual improvement to update to production. With continuous deployment, production happens automatically without this explicit approval. So this is a very simplified look at stages of software release, the process for that. So we start off with the source stage and often that's the last time that the developers see their code. They then put their code into remote repositories for code reviews and so on. Then we have the build stage where we'll do unit tests, reading, getting our artifacts and then we'll deploy it into multiple stages and then into production. And we're always deploying the same artifact into all of our environments. So in the testing stage, we're going to try integration tests, performance tests and so on. Everything we need to make sure that the application is ready to go to production. And then we go into production. We want to deploy with the least amount of downtime possible. So looking at this from what we looked at previously, this is basically the continuous integration phase. We then have the continuous delivery cycle with that manual improvement. And then we have continuous deployment. And this is where Amazon then moved into having processes that were similar to this. But then release is just the start of a software project. So at this point, configuration was still managed directly in the application's code base, making all of the changes very slow and still requiring a service to be redeployed or restarted to adopt a new configuration. So it was quite clear at Amazon that while CICD practices and technologies solved for many of the deployment challenges I explained early on, taking hours to do deployments, there was still a lack of ability to modify application behavior quickly and especially in response to dynamic live environment. So that capability is necessary to achieve that availability requirement for a system like Amazon.com. So how about a new way of thinking of this? So we start off with continuous integration and we then add on with continuous delivery or continuous deployment, but then something new, continuous configuration. And continuous configuration then enables software teams to have dials and switches that allows them to change the runtime behavior of their application. So just as Amazon evolved, external developers have been using application configuration to change how their software behaves for quite a long time. But generally, this configuration is static in nature and companies remain stuck using antiquated techniques that don't really allow them to best serve their customers. So the configuration is loaded as an application initialized and then remains the same until the app restarts. Alternatively, some customers have hacked together ways to pull these configuration details from other places, be it Amazon S3 or a database entry somewhere. And while this can work for some, these custom solution implementations often face constraints around latency, scalability, ease of use, and a lot more. So true dynamic configuration is different. The source of configuration truth, it lives in an independent configuration management system and it's pulled by the consuming application. So these are configuration values that an engineer anticipates will need to be changed easily in the future or might vary according to specific system conditions, even if they don't know exactly when that will be. And these values often fall into two groups, those that modify operational behavior of an application, such as throttling limits, connection limits, or logging verbosity, and those that control FAC, feature access control. And that includes feature flags, AB testing, and user allow or denialist. So continuous configuration is the process of updating these dynamic configuration values during runtime, all without deploying new code or restarting the app. And it's also the practice of rolling out these changes in a controlled way using a deployment strategy across your application fleet. So if we start off with CI-CD and we have those practices in place, we now want to move to CI-CD CC for continuous configuration. So let's look at some different use cases for continuous configuration. Well, a very common one is what's called feature flags. So code is deployed to production, but it's hidden behind a feature flag configuration. So once a feature is ready, it can then be released to small cohorts first, for instance, internal users. And app and new feature performance is measured to understand the impact of new features. And features are slowly rolled out to more users over time. And if something goes wrong, teams can then immediately roll back features that they have changed or released with the help of continuous configuration. And all of this without the restart or without code changes. So a very common use case for this capability with feature flags is delivering an application change for an event occurring at a precise time, where a configuration change in a CEC or continuous configuration system is much smaller, quicker and more reliable than trying to relaunch an entire application or rely on, say, a DNS switchover. So an example, a customer who produces a TV show could use a continuous configuration system to manage audience participation so that voting user interfaces can be displayed inside of mobile applications applications at the very moment that the TV host announced that voting is now open on the latest reality show and closed for all users as soon as the period has completed. Next, we have what's called operational flags. So app teams and operational teams, they coordinate ahead of time to build in throttling values into configuration. And as environmental factors change in your production environments, the operational team can then dial this throttling up and down. So an example of this is if CPU alarms go off due to traffic spikes, the operational team can then truffle down non-essential background tasks to handle the spikes in your production environment and to handle these traffic spikes. And once again, all of this done without any restarts or without any code changes needing to be deployed. Then we have what's called security flags. So also here, application teams and operational teams that can coordinate ahead of time to build in flags to control logging verbosity. So during a suspected production incident, teams can then dynamically increase the verbosity of data collected about, for instance, a suspected bad actor. And teams are able to increase logging until the incident is over, then returning to the normal levels. And once again, with continuous configuration, everything is done without a restart or without any code changes. So there are some dangers of continuous configurations because just like in code, we can have typos and it can cause outages. And if a config is rolled out too quickly, it can have a large blast radius. So having the option to be able to roll back confidently is really critical for using continuous configuration in a safe way. And think about how we work with CI CD today. If there are issues in our tests or in our deployments, we do a rollback. And the same applies for CC continuous configuration. And thinking about these use cases that I just mentioned, feature flags, operational flags and security flags, you might think that you could simply use a database switch or some in-memory flag to solve these problems. But our experience at AWS and at Amazon is that writing configuration systems is complicated, particularly at scale. So one of those things we learned by analyzing our internal correction of errors, COEs, over the last years are that configuration changes cause outages at about the same rate as code changes. So when it comes to resolving outages, manual configuration changes are being made when stress levels are high, further increasing the risk of errors in changes or attempt to rollbacks. So in the moment where changes are the most critical, validation systems and guardrails help you give that surgical precision when your hand probably is the most cheekiest. So at AWS, we use something called app config when we launch services. When a new service is in development, it will often be in production before it's actually released. And internal users, some partners and customers are granted access to provide feedback or produce launch materials. So we add these users via an allow list managed by a continuous configuration system. When the services launch, such as following an announcement at, for instance, a re-invent coming up in a couple of weeks, we change the configuration. So the service is available to all accounts and not just those on the allow list. And then as new features enter preview, it's significantly easier to manage a single production deployment with an allow list for beta users compared to managing a separate stable beta build of the application concurrently. So AWS app config, which was launched publicly in 2019 for all AWS customers to use, but we've used internally since 2016. And today, in all of Amazon, it is used by over 4000 different service teams. And it makes configuration changes safe and quick to make. And it also allows us to make updates at scale. Think about that service release example I just talked about, where we're able to make these changes to roll out an entirely new AWS service to all of our million customers around world. And this is really what allows us to use that practice, CI, CD, CC. And one of the features with app config is what's called validators, which then allows us to prevent errors with the help of these validators. And they allow any syntactic or semantic check to be made before the configuration is deployed. And then allows us to prevent those errors. As I mentioned, as the same with code, it's easy to make typos, but using validators help us to avoid those. So even the smallest configuration change can of course cause a massive outage. So it's important to validate the configuration. And many of the configuration changes, they're made when stress levels are high, just when we need to launch something at the top of the keynote, for instance. And many engineers or product managers, they might need some type of baby proofing when they want to do those changes. And then another one is the ability to limit blast radius with the help of monitoring and rollback. So with app config and continuous configuration, it allows us to monitor and then do auto rollback, allow us to have this customer controlled bake time where we're monitoring the deployment to make sure that it actually works as intended. And then if something happens, we can do an automatic rollback when an alarm is triggered. And then that limits our blast radius. So configuration should have monitoring tools, of course, just in the same way as with our code. And if a configuration change needs to be rolled back, it should be immediately. And any application which really has configuration is a use case for AWS app config. And this could be allow lists, and it could be block lists. It can be any type of private APIs, for instance, where you want to make changes to the URL for an API, and where you want to roll out that change to your application. Or it might be for your eyes for resources, something that can change quite regularly in our experience and in the way that we build systems. And using continuous configuration with, for instance, app config is great for AV testing to be able to roll out changes to smaller groups and allow them to test something. And it also helps us when we're promoting configuration, moving from that development stage into our quality assurance stage, and then finally into production. And a quite common use case is the verbosity of logging. As I mentioned before, for instance, when we want to increase logging when there is a security incident, or if there are any other types of incidents, we can quickly make those changes in our applications using continuous configuration. And the final one that I've mentioned several times now is feature flags. That's probably one of the most common use cases for continuous configuration. So I want to show you a quick example of how continuous configuration works for us by having a look at app config.  So this is the AWS console, something you might be familiar with it. I'm going to look at my monitor next to the camera now, so sorry if I'm looking away. And I've set up a simple application demo, which is basically a serverless API, serverless API that just returns a value to make it as simple as possible. But the use cases, they are, well, they are a million different use cases for this. So think about how you could implement that in whatever system you're building. I'm going to switch to BS code. And this API is built as a serverless API. So I'm using an API gateway for us to be able to call that API. And it is backed by one single AWS Lambda function. And it's a basic hello world example. So this is the app. All right, simple handler that just returns hello from Lambda. Let's check to make sure that it actually works calling that URL. And yeah, it's returning hello from Lambda. Cool. But I want to use continuous configuration with the help of app config to then change the behavior of my application. And I'm doing that in very simple way. First off, let's have a look at the template for my application. I'm building this using infrastructure as code with the help of AWS SAM, our serverless framework for building serverless applications. And in that, I've defined my serverless function, my AWS Lambda function, and calling out the handler, that is where the code is. Then I'm adding AWS app config to this. And I'm doing that with the help of something called Lambda extensions. So it is basically adding what's called a layer to my application, which then contains all of that logic for fetching the configuration, which makes it easy for me. So adding that layer, then I've just added a policy to be able to fetch it. That means that my Lambda function is allowed to fetch that configuration. And then in the actual Lambda function, the application code, I'm making just an simple function that's calling that Lambda layer, which is then hosted on local host on that Lambda function and fetching using a simple HTTP called fetching the URL for my configuration. When that configuration is received, I can then use that in my handler. So let's have a quick look at what the configuration looks like. In app config, I've created what's called a configuration profile, which is my config. And this is a super simple example, JSON containing just two items. First off, if it's enabled or not, let's start with version one. In this case, it is set to enabled false. And then I have another one to set a message option. And then I'm using this in my Lambda function. So first off, I'm checking, is my option enabled or not? If it's not enabled, it should return this message hello from Lambda, which was the one we saw when we simply looked at that API. If it is enabled, we should instead return hello from and then the message option from that configuration. So set it several times. Super simple example of how we can use this. But this is basically a feature flag. True or false, if this feature should be enabled, then we have some additional parameters. In this case, the message option. So checking my API again, it's working. Let's then make a change to this. So creating a new version of my configuration, setting it to true. And let's set the message option to India, creating that new version. Version three now exists. And I can then deploy this into my production environment in this case. So starting a new deployment, choosing version three. And then I can choose the deployment strategy. And the deployment strategy is basically how will this be rolled out? And there are different preset deployment strategies available here. You can create your own, what's fitting for you. And it's basically how will you roll out this configuration change? It might be that you want to do it in a linear way, in an exponential way. You want to do it to a small subset first and then roll out to the rest and so on. And you can set this up and use it any way you wish. And besides that deployment and the time it takes to deploy, you also are able to set what's called a bake time. I mentioned that earlier as well. And the bake time, it's the time after deployment that the deployment will be monitored for any errors. And if errors happen, we are able to then roll back. So first off, I'm just going to make this in demo mode, meaning that the deployment time is zero minutes and bake time is zero minutes. So it should switch over straight away. Starting the deployment. And it's already complete since it was zero minutes. So now if I switch back to my API, it has changed to hello from Agile India. And so far, using that, well, you might once again think, well, I can do that using environment variables or I can do it using a database change or something like that. But when we start using these features like rolling out deployments using the different deployment strategies, that's when a configuration system like app config really makes sense. So let's do it again. And this time, I want to show you that for my environment, I have an alarm setup. And the alarm in this case is a simple cloud watch alarm, which then exists here. And it basically checks for errors. And this could be any alarm. Think about what's important for you. It could be metric alarms. It could be a system metric alarm or it could be perhaps a more business metric alarm. That makes sense. For instance, an e-commerce site, well, the number of purchases per second or minute is perhaps a very important metric for you. So rolling out the feature, maybe that's what you should check. Are people still purchasing with the same frequencies as before that configuration change? But in this case, it's just checking my lambda function for errors. And if it receives an error, it will then go into the alarm state. So back to app config. And let's then start a new deployment. Let's roll back to my first version, version one. And now I'm instead going to use a different deployment strategy, still a quick one also for test demo. This one has a one minute deployment time and then a one minute bake time. So it uses a linear growth type. So it will start with 50% of users will receive this new version and then the other 50%. So basically after 30 seconds, 50% will have it. After another 30 seconds, everyone will have this new version. So let's start that deployment. And remember now that we have that monitoring in place. All right. So far, we're still at the old version. This is the part of the demo where I can just wait for the deployment to happen. And hopefully there aren't any errors. So this won't roll back. 30 seconds is a long time while doing demo. So 50% is complete. So we should probably get version 100% complete. There is a bit of a caching mechanism in that app config extension that I'm using. There we go. So now it switched back to version one. Hello from Lambda. So now a final example of this. Let's deploy this new version once again soon as our bake time is over. And now I'm going to trigger that alarm to make sure that it actually works the way that I told you. So wait for the bake time to finish. And since I can't really create an error in my application in an easy way, what I'm going to do is to use the AWS CLI, find that window and switch it there. And a simple CLI command, which allows me to then set this. I have too many windows. So I need to just copy that command. There we go. All right. Hopefully it's done now. One minute, still not over. There we go. Now it's complete. So starting the final phase, switching back to version three, meaning that it will enable that feature flag and it will change to agile India again. But this time I'm going to trigger the alarm. So let's start the deployment and let's imagine that this is my very important business website where we're then monitoring that to make sure that things work as intended. Starting the deployment. It's now going to start deploying. And I'm going to make use of the AWS CLI to set the alarm state for my alarm into the alarm state value. Checking cloud watch. It is now in the alarm state. Something went wrong with my application. Did I not use the right alarm? There we go. All right. We can now see that the deployment was stopped due to a cloud watch alarm. Something went wrong with my application. So it's going to roll back that configuration change. And it does that pretty much straight away as soon as the alarm is picked up by app config in this case. So rolling back to hello from Lambda, which was our version one. So very quick example of how we can use it. This was using a super simple serverless API using API gateway and a Lambda function. But you can use this with EC2. You can use it with basically any compute platform and you can roll out these configuration changes in an easy way. And let me switch back here. All right. So looking forward a bit then, in much the way that CICD reduced the fear of deployment, continuous configuration reduces the fear of changing configuration. So by exercising this capability regularly, we build confidence and can start to enable automation. And the systems like app config builds in this automation. So as you saw, I create a cloud watch alarm that performs this health check in the application. And you can have app config monitor that. And then when the alarm went into the alarm state, well, it will then roll back that deployment. And for me, I think this is really where continuous configuration starts to change the way that we're able to operate. It makes it really easy and safe to change configuration. And these are big words, but we're actually able to democratize configuration because you don't have to be a software engineer to make changes to applications. It's really a benefit that these continuous configuration systems and that practice, it means that pretty much anyone with the protective guardrails in place can then self serve and make changes in application behavior. It can be a junior engineer to scale up the number of database connections. It can be a product manager that wants to add customers to a beta service, for instance, or maybe even the UX designer that wants to modify an AB tests cohort split. So democratizing of ownership helps to remove this operational engineers as a bottleneck for changes in production environments. And we have this phase, we move from configuring to validating, and we then deploy this, and we monitor that deployment. So some additional resources, if you want to check out AWS app config and check some documentation for that, it's available on screen. And there's also a great blog post on continuous configuration written by our good friend and CTO Werner Vogels that's also available. And with that, I want to thank you all for watching. We've looked at how to continually adjust configuration to update and tune your code in production and how that is powerful, fast, and safe way to deploy value to customers. If you have any questions besides what might be in the Q&A, do reach out to me on Twitter at Guna Grosch as shown on screen, or happy to connect on LinkedIn as well. So thank you very much for watching. Thank you, Guna. And there are a few questions in the Q&A box so we can pick up one by one. Okay, so first one is if I have multiple tests in broad environment, how do I review all the config values in one place? Also, how do I ensure, as my code artifacts move from one environment to another, the same config moves at all? Well, first of you, you can have configuration. It depends on you. It depends. It's always a boring answer, but it depends on how your environment is set up across accounts and so on. But you can, I didn't show that in app config right now, but you're able to set up your different environments there as well so you can use the same configuration and point that towards different environments. So you still have that central control of your configuration if you wish. What was the second part of the question? Yeah, it was also how do I ensure my code artifacts move from one environment to another, the same config moves from one to another? Yeah, and you can do that pretty much in the same way, but you have it stored in a central location. The type of configuration I did right now with app config, it uses what's called a hosted configuration, but you can use, for instance, an S3 bucket or you can use parameter store as a source for your configuration and just point to that using app config. So in that way, you are able to then control that you use the same artifacts for all of your different environments. Thank you, Anna. The next one is any reason they have timing strategy that deployment app configuration flag will be available after one to 20 minutes. Can you repeat that one? Any reason they have timing strategy that deployment app configuration flag will be available after one to 20 minutes? Okay, we can take this question later. Why there's so long time for the deployment? Well, I would say it is part of that safety, safety mechanism to roll it out over time means that we are quicker, more quickly able to pick up if there are errors. So the examples I did was they were well immediate or after one minute, but in a production environment, I would say that it's very common to make these changes over time. So over well up to 20 minutes like you wrote in the question. I think that that's very common and especially if you're doing a gradual rollout, so it's some users are starting to get the new configuration because then you're able to pick up on any errors quickly without it affecting everyone. If you do a quick rollout, then everyone will be affected by that configuration change quickly and perhaps face errors. Thank you. The next one is in your experience, the idea of implementing feature flags coming from developers or product managers? That's a good question. I think it depends on the organization. My experience is that my experience from AWS at least is that it's something that both want. Developers at AWS, they want to be able to create their features and have them in production without them being accessible, accessible by everyone so that we're able to test it in production in a safe way. And product managers, they want feature flags because they want to be able to roll out the feature now. They want to be able to control exactly when it should be there, not have to wait for deployment times, for instance. The next one is if I am working with an application where scaling is not critical, the CC may not be needed. Is that correct? I always try to think of when building whatever I'm building that you should always plan for scale and starting to use good practices, no matter if it's CICD or if it's CC. I think that's something you should use if you're able to, because hopefully whatever you're building might need to scale in the future, or it might be that you want to make use of certain features, for instance, like feature flags or making changes like logging, logging verbosity, things like that. So really no matter the scale, I think that these types of configuration management systems are really helpful. Also that it makes it easier, the democratization part of it, that other people can have access to make configuration changes without having access to the code. Okay, then next one is what are your views on Dal configuration like this? Actually not read up on that. I've heard it mentioned, but I don't really have enough knowledge to have a view or an opinion on it, but I'm going to put that on my reading list and make sure to do for sure. Okay, thank you, Guna, and thanks for sharing your experience with us today.


My research question is what makes us intelligent and how does conscious perception work? And to answer this we've been looking at the cerebral cortex now for over two decades. And when you look at the cerebral cortex, which is perhaps the most complex object in the universe, you see what at first appears to be a jungle of neurons. They look actually quite like trees and the main neurons of this jungle have two specific ends. One end is like the leaves of a tree and the other end is like the roots of a tree. The roots in this case receive information predominately from the outside world, whereas the leaves get information that's been generated within the brain, so internally generated information. The important observation that we've made is that the cellular properties of this cell bring together these two kinds of information in a spectacular fashion that allows us to make sense of the outside world in terms of our expectations. And now we bring to this a new important topic and that is memory. And memory is important because when you think about it, your memories dictate your knowledge about the world and your knowledge about the world is basically your expectations about the world. And now perhaps you can see where this is going. We want to know what drives the internal dance or the dance between the internal information and the external information at the cellular level. Over the past two decades of research on this topic, we've been using methods to try to look at what's happening not only at the circuit level but at the cellular level and that's required that we do quite sophisticated recordings, electrical recordings and optical recordings at the cellular level. And we've had to evolve and to transfer these techniques from brain slices in vitro to recordings in a behaving animal. Over this time we've made tremendous advances in understanding what's going on at the cellular level and how that contributes to the cognition in the animal. Now we introduce the topic of memory and how that relates to the system and this immediately comes with one of the biggest problems I think in neuroscience which is that memories are distributed phenomenon. That means that memories are fragmented all over the cortex. In order to investigate this, we started to use a new approach and that was to train an animal to respond to the artificial stimulation of its own brain. So we stimulate the cortex in a particular region and we train the animal to lick for a reward when it feels this stimulation and by doing this we know where we stimulated and we know where to look for some of the mechanisms involved. Now in addition to this we've been using a new method called chemogenetics or DREDS which are a way of investigating with genetic manipulation pathway specific information. Here the pathway we're interested in is the influence of the hippocampus and the medial temporal lobe on the neocortex and we've been able to specifically inhibit one particular projection going exactly to the region that we've stimulated and investigate in general what mechanisms are occurring at this connection. So there was one overriding key finding in this research project and that relates to what kind of information the medial temporal lobe gives to the neocortex and more particularly where this information goes to and what we found was the medial temporal lobe projects to layer one of the neocortex and that this is crucial for the animal's ability to learn. This is a smoking gun for neuroscientists and for the kinds of questions that we're asking because what it actually means is that the important signal that comes from the medial temporal lobe that is crucial for laying down memories goes to the top of the neurons that segregate internal and external information. On the one hand we now think we know where to look for memory consolidation in the neocortex. Now there were a number of subsidiary findings first of all we found that there was the emergence of different populations of neurons that emerged throughout the learning that consisted of about 10% of the neurons that were up-regulated or increased in their firing rates and nearly 40% of neurons in the same area that decreased in firing. And then we came across another fact that we weren't expecting and that was that the mode of firing that's to say the kinds of patterns that were being emitted by the neurons also changed over learning and we think that now relates to memory. And in particular by recording from single neurons and making them fire in particular patterns we were able to show that the neurons that were being made to burst fire that is fired high frequencies were able to be detected or change the behavior of the animal whereas the same neuron that fired in a low frequency mode was not detectable by the animal. And so we now think that memory involves the changing of the mode of firing of the neuron and this comes with the corollary that there is information in the patterns that are emitted by neurons which has been a long-standing question in neuroscience namely what is the neural code of neurons and at this point we think that there is some temporal structure to the output of a neuron that is recognized downstream throughout the brain. So the relevance of this research is both really exciting and gratifying because it's the culmination of over two decades of research now and we're bringing together the question of memory to the larger question of how the cortex operates. We're finding that the information that comes from the medial temporal lobe that determines whether or not you remember something arrives at that part of the neuron that codes for internal information. Now this makes perfect sense in the end because this is the part of the neuron that is coding for your expectations. So essentially what it means is that your memory is the fine-tuning of your expectations and also your knowledge is the set of things you expect about the world. So now that we've got to this point we have a new outlook for perhaps the next ten years which is to now look at the mechanisms at the cellular level of what's occurring during memory storage because we now know where to look and what kinds of things to expect in which particular neurons. I expect now over the next ten years to be able to look in great detail at the mechanisms that are occurring and we expect them to be really relevant to memory storage. That will put us in a position I hope to be able to understand diseases and problems that occur with memory and possibly on the other hand to understand ways that you could enhance or enrich memory by up-regulating certain mechanisms. But that's yet to come.


All right, we're in our last segment of section 6.3 diagonalization from the textbook linear algebra done openly And as you might be able to notice the title of this video is called the whole enchilada And this this really kind of summarizes a lot of the principles that we have seen when it comes to The eigen theory we're developing in chapter 6 So we've seen previously what we mean to diagonalize a matrix And so what we're asking to do right now is given this 3 by 3 matrix you see in front of you a we want to diagonalize it if possible At the end of the last segment we've kind of talked about there might be situations where you can't diagonalize a matrix Because you don't have an eigen basis. You don't have enough independent eigen vectors So how does one determine if you can diagonalize it? And if you can how does one actually do it? We're gonna do all the pieces necessary In this exercise right here So it's gonna take a while because first of all we don't even know what the eigen values are with the eigen vectors are To diagonalize it what we need to do is we need to find Some matrices P D P inverse Where D is a diagonal matrix P is a non singular matrix and P is its inverse So the first thing that you want to do is you want to look for this diagonal matrix which requires we find the eigen values So we want to find the eigen values For our matrix and for our purposes We're gonna look for the eigen values by considering the characteristic polynomial Remember the characteristic polynomials the determinant of a minus lambda i where i is the identity matrix You can see that right here And so this is a three by three determinant And so if we just we're just gonna do cofactor expansion there might be other strategies to computing it But just for the sake of simplicity in terms of strategy We'll just cofactor expansion expand this and we're gonna cofactor expand across the first row Right, so if you look at the first minor You're gonna that's the one associated to one minus lambda you see this right here This comes from taking away the first row and first column Then the next one we're gonna get a negative three because again our cofactors would look like negative plus negative right here So we're gonna get a negative three and we expand Across the first row and so we're gonna kill off the second column this time you get the minor there And then for the last one we're gonna do plus three again take away the first row Last column you get your minor right there These are each two by two minors left. So for the next bit we'll take the sort of the cross product there Product diagonals minus the diagonals there you're going to get For this first one five minus lambda times one minus lambda minus three times three which is a nine You make sure you times all of that by one minus lambda because this sits out in front Then we do the next part negative three negative three sits in front What's the two by two determinant?  It's because it's a you get a you get a negative there Double negative so they cancel out and so this line right below Which you see right here. This gives us what happens when we expand all the determinants All right, there's there's an argument there, but we did it great now the reason we want to find the characteristic polynomial is we want to find the roots of this thing and so We're gonna have to try to algebraically simplify this beast. This will involve some foiling of some kind so negative five on The one on the negative lambda negative lambda on the one on the negative lambda so there's a foil process that happens right there Let's see is that actually what I did here my notes actually no I take that back What I did is I distributed the one minus lambda onto these two parts right here So since we already had a one minus lambda and a one minus land I was just utilizing that to get a square right there So you have one are you get nine times one minus lambda? Here if you distribute the negative three negative three and negative three gives us a nine If you distribute on to the nine you'll get a negative 27 like so and then distribute the three onto the negative nine That's a negative 27 again, and then distribute it on to the three right here. You'll get another nine So distribute all those coefficients that came from the cofactor expansion I'm I'm Hesitating to multiply this thing out right now, and I'm practicing what in computer science We might sometimes call lazy Evaluation Right, it sounds like a lazy thing to do as the name suggests, but I'm actually postponing Multiplying out hard problems to see if I actually need to do so Because it takes effort to compute it and if I don't need to I don't want to so we're gonna see if there's any benefit of waiting So you'll notice that in our expansion We have a nine times one minus lambda and a nine times one minus lambda those are like terms We can add them together and get an 18 times one minus lambda. I kind of like that The 27s combined to give us a negative 54 and there's not a whole lot to do with that yet So let's see what we can do in the next in the next stage right here So we want to combine some more like terms What is available to us? Well, what's gonna happen here is you can actually distribute You can distribute the nine right here nine times Five is 45 right? Let's write that down there. So you're gonna get a 45 and then you're gonna get nine lambda right there And so you'll notice that if you combined the 54 and the 45 that's gonna end up with a negative nine So you look at this negative nine plus nine lambda if you factor out a negative nine from that you get one minus Lambda right here again. I kind of hid some of the details there apologies for that But that's might feel like a cheap shot That's where that comes from and the reason I'm doing this is again to try to make some of the future calculations a little bit easier You'll notice we now have a 18 times one minus lambda We have a negative nine times one minus lambda those combined to give me a nine times one minus lambda and Then at this point we should notice that everything is divisible by one minus lambda We factor it out again and we end up with x plus Lambda times negative one plus lambda plus a nine right there And so now we should point where we can't avoid the foil any longer But now we don't have to we never had to square the one minus lambda.  Oh my goodness That was a very very very challenging algebraic problem That was just a factor in that thing and I took some steps along the way to simplify the factorization And that was all and that's also because I kind of knew how it's gonna factor While I was going around along the way if I had no idea of how this thing would factor this would have been very very intimidating I want to mention that in practice when one is trying to find the eigenvalues through the characteristic polynomial Typically, this is done with the computer a computer calculates the characteristic polynomial Using techniques to help simplify the determinant calculations. We only did three by threes But those can get determinants can get crazy very quickly Also, once you have the actual polynomial Simplifying and factoring that's very very difficult even for a computer We probably would want to look for numerical approximations of the eigenvalues Because we're gonna see that the eigenvalues here are going to be lambda equals one and lambda equals negative two The multiplicity of one is one and the multiplicity of negative two is two It shows up twice. These are of course are the algebraic multiplicities We don't know the geometric multiplicities yet These can be very difficult find working with this polynomial and oftentimes a numerical approach is necessary to find the numerical approximations of the roots of this of this polynomial here And so numerical analysis is deeply connected to linear algebra to help us out with things like this But once we factored this characteristic polynomial, we can now describe the eigenvalues We have one and negative two twice and so then we can construct our diagonal matrix D by putting along the diagonals Those eigenvalues with their algebraic multiplicities one negative two negative two It doesn't matter which order you put them in just make sure you have the correct multiplicities and that you're consistent on the next part So this is the effort it took to get the eigenvalues That's probably the hardest part of the problem in my opinion because what you have to do this nonlinear calculation with the with the characteristic polynomial Once you have the eigenvalues in hand we start looking for eigenvectors So we're gonna first look for the eigen looking for the eigen space associated to Lambda equals one so we take the matrix a minus i and we're gonna subtract from a One from each diagonal entry and that's gonna give you this matrix right here You know just get zero negative six zero along the diagonals everything else left is left the same And so in terms of row reduction, I notice that everything Everything in these matrices is divisible by three. So divide the first second and third Rows by three you get the following matrix right there zero one one one two one one one zero I want a pivot position to be one. I really like that. So we could switch the rows Just take row one and two Switch those rows to get the following matrix Where we have now have a one in the pivot position We got get rid of the one that's in the third row so we can take row three minus row one That'll accomplish that Then moving on to the pivot in the second position. We don't want the negative one below We can get rid of that by just taking row three plus row two I also don't want the negative two above so we can take row one minus two times row two That'll accomplish that and then that gives us the The row reduced echelon form of our matrix. We don't get a pivot in the third column. This is our our EF All right, and so once this matrix is row reduced We can identify a basis for the null space because after all the eigen space This this right here is our eigen space. This is the one eigen space And it's a null space of a matrix a minus i so we want to find the basis a basis for that So your basis for your null space will correspond to the free variables We have just one free variable in the third position and so we are going to grab These numbers right here and write their opposites We get a one for the first variable and we get a since we had a one right here We're gonna get a negative one right here and that's exactly this vector right there So we get our first eigen vector One negative one one it forms a basis for the eigen space and this gives us an eigen vector We want so as we're trying to build our matrix P We can think of it the following idea our matrix P We now have the first column that's associated to one. It's gonna be one negative one one Well, we need two more columns that'll come from the eigen value Negative two so we basically repeat this process rinse and repeat We look at the matrix a plus two i if we add two to each of the diagonal entries We're gonna get three three three negative three negative three negative three three three three. Hmm That might be kind of easy to the row reduce that one Notice that the first and second row right first and third row are identical So you could subtract them to get zero and then honestly the second row is just the added inverse of the first row Add them to get zero there and since everything was divisible by three divide by three again All right, so in this situation That one rose reduced pretty quickly. We have a pivot in the first row But in terms of our basis for the null space I have two free variables. That's gonna do is to independent Eigen vectors this actually is evidence right here that we have we're gonna have an eigen basis we have Free variables in the first and third position we put those there and so looking at the coefficients We have a one right there and a one right there should write negative one and negative one Which then gives us the basis for the eigenspace right here So notice that if we're looking at the null space of a plus two i This right here gives us the negative two eigenspace of this matrix And so we then find a basis for that use that basis This part right here and so we're gonna get negative one One zero negative one zero one and this is now our matrix P Which you can see that? Illustrated right down here All right, so what what have we done so far remember we're trying to find this diagonalization a equals PDP inverse We found P first we did that by looking for the eigen values The eigen values then the second thing we did is we looked for the eigen vectors The eigen vectors help us find this matrix P So the third and final piece of the enchilada is Gonna be this P inverse right here This is third. How do we find P inverse? Well, it's just the inverse of a matrix We now have in front of us so we calculate the inverse of this matrix Well, the idea is if we know what P is We can augment this with the identity so I3 right here This will row reduce to the identity I3 and P inverse This is our inversion algorithm. We're just gonna utilize that in this context right here And so that's exactly what you see right here P augment the identity and so if you go through the row reduction We have a pivot in the first position So we want to zero out the entries below it We can take row two plus row one. We can take row three minus row one That's not so bad. We're going to add one minus one minus one plus one We're going to minus one plus one plus one and Minus one right there So you see how these things change for the next matrix the first the second and third rows will adapt as well We then move on to the pivot position right here Which for that pivot we want a one so easiest way to fix that is just to switch rows one and two Sorry two and three excuse me. So looking at the pivot now. We already have a zero below We could try to zero things out above, but we'll just do it We'll do standard Gaussian elimination here. So move on to the third column. You have a one in that pivot position That's great. Let's get rid of the entries that are above So we're going to take row two minus two times row three that gives us minus two plus two Plus two and then nothing there You don't have to do anything when there's a zero and then we need to take row one and we're just going to add to it row three So we get plus one minus one minus one if you combine those terms you will then get the matrix over here We then move our pivot back to the Second column we want to get rid of that negative one that's in front. So we should take row one just plus row two So we add one add one add two And then we've now we got the identity matrix right here And this matrix on the side is our p inverse which is computed by the usual algorithm of inversion So we now have our inverse matrix given right here If we have any doubt we could actually multiply the two matrices together just to check that it equals the identity But I think I'm going to skip that for now And so now we have our diagonalization of the matrix A is equal to p d p inverse with the three matrices that we have in front of us So things to remember the diagonals of d are our Eigen values one negative two negative two the columns Of a the sorry columns of d correspond to their eigenvalues So one negative one one is an eigenvalue for negative or for positive one negative one one zero is an eigenvalue for negative two And then we also get that negative one Zero negative one is an eigenvalue for negative two as well So the order that you put the eigenvectors in p Needs to match up with the order of the eigenvalues you put in the matrix d and then The the the p inverse there that is going to be a That's just going to be the inverse of p inverse of p right there You could also think of it in terms of the row vectors are The the row vectors of this matrix are eigenvectors or left eigenvectors and things like that I don't necessarily want to go into that long discussion because We do have I mean the eigenspace is a null space of the matrix You could also look at the left null space of certain matrices and you could get row eigenvectors And so these guys are going to be row eigenvectors as well. I guess I should color code it better I would recommend just finding this by the inversion algorithm, but this right here is a Row eigenvector for one, uh, you'll notice Well, again, we don't need to get into this right now You can check it yourself if you multiply if you multiply these matrices on the right On the left, excuse me, you'll see these things are row vectors And so this is wonderful symmetry that comes from These these matrices and their eigenvectors and eigen eigenvalues It's kind of really kind of fun when you put all this stuff together All right, and so that brings us to the end of our video.  So left eigenvectors So if you take one one one and you times it by the original matrix a remember, which is one three three negative three negative five negative three three three and one If you multiply this thing through using the vector on the left Um, you take the you take the first column the dot product there, uh, you're going to end up with A one minus three plus three If you take the second column you end up with three Three there minus five and plus three Like so and then for the last one you kind of have to squeeze it in there You're going to end up with three minus three plus one If you simplify all those notice you end up with one one one Which is equal to one times the vector one one one So this is a left eigenvector right there Let me just do one more example with this if you take the vector one two one And you times it by this matrix a like so When you multiply these things together again by the usual rules you end up with one minus six plus three It's the first spot then you're going to get three minus ten plus three the second spot and then for the last one you end up with three minus six plus one Like so and if you simplify these quantities you end up with Well, you're going to end up with negative two for the first entry One minus five. Sorry one minus six is five plus three is negative two there Then for the next one you're going to end up with negative four And then for the last one you end up with negative two again And if you factor out the negative two you end up with one two one so What i'm trying to say here is that The columns of p will be the eigenvectors of the matrix in the same order that Eigen values are listed in the diagram matrix But when it comes to p inverse the column the rows of p inverse will be the left eigenvectors of our matrix a And they'll also correspond to the exact same eigenvalues right there It's just kind of like a fun little symmetry argument going on with this diagonalization process here So right for rizzle this time We're going to end this video and this end section 6.3. This whole enchilada takes a long time I'm looking at the video. We're sitting around 20 minutes right now on one exercise But it takes a lot to develop the eigenvalues to find them to eigenvectors You don't need to find the left eigenvectors because you can just inverse the matrix and that'll get them for you automatically I hope this example is useful for everyone. If you have any questions, please post them in the comments below If you like this video, please click the like button click subscribe So you can see cool videos like this in the future and i'll see you next time linear algebraians. Have a great day. Bye


Hey everyone we're gonna have to talk about something that's really weird and Shady and I just don't like it. All right. We are or I am a you know influencer as they say I am a content creator and I Like getting content before the public can because then I can take a look at it I could potentially review it if I decided to review something or at least feature something if I think it's really really cool And yes, I actually do get stuff once in a while in fact in 2020 I seem to be getting stuff a little bit more often. I usually don't get anything but indie games early But just in the last month. I got you know roller coaster tycoon Three for the switch sent to me. This is a loot box thing the actual game was just a code I haven't really done any content around this yet, but maybe I will I actually I actually do really enjoy the game I at least want to live-stream it and then just yesterday. I got this giant box of goodness here For Bakudan champions. I didn't even know this was coming. I don't even know how they have my shipping address Maybe the maybe it's the same company that's a As roller coaster tycoon, maybe that's why it happened way forward spin mastered Warner Brothers I don't really know much about my Bakudan So I apologize for that But it's just gonna go to see if there's anything in the information on your book who who made that Anyways, you'll see You'll see that you know they sent the game and they sent a whole bunch of Bakudan related things I don't really know much about Bakudan My kids will really enjoy this stuff. I don't know a whole bunch of stuff I'm sure it's like a hundred plus bucks worth of stuff in here. I have no idea. I am not a Bakudan fan But the point is that I get review stuff. I'm not trying to flex or anything I I do these are the biggest review things I've gotten so far I don't get stuff from Nintendo anymore when I worked at Zelda Informer I used to get Nintendo games like the Zelda games, but I as Nintendo Prime. I haven't gotten anything from Nintendo or Really any major company beyond indie studios until these two arrivals in the last month now Here's my thing about These things when you get them they often have embargoes they have NDA's so there are certain days You can say certain things and right now as the Xbox Series X and PlayStation 5 I've both had their embargoes lifted and we're getting reviews today PlayStation 5 yesterday Xbox Series X slash s What's interesting is obviously the getting the personal opinions on these platforms and Nintendo Switch had the same thing going on back in 2017 when people would get it early and you know got to say things about it now according to a youtuber named last gamer He was one person that was in contact with Nintendo.  He was in contact with Nintendo about getting the switch early He claims that Nintendo Was gonna put stipulations on him and apparently these stipulations must exist with all the other reviewers out there All the other unboxers or whatever because the stipulations included Hey, you know, we'll give you one if you're going to say friendly things about it In fact, not only do you have to say nice things about the switch here are bullet pointless things We want you to talk about how nice the box and packaging is how cute The game cartridges are and small and compact like basically a bullet point of things they want you to say making you essentially a marketing arm for the company and This is a little shady because it doesn't get true opinions out there In fact, here is the clip from his last video talking about this and then when I read the embargo I have to talk favorably about the switch I have to talk about how the box looks awesome and compact There was so much there that there's no room for my opinion and I did not like this when I questioned Nintendo They said don't worry. We're not sending a switch now. So I went down another avenue My contact in Japan in the meantime I saw a lot of unboxing videos on YouTube and it made me cringe because all I could see was Nintendo's words It's Now pretty much every youtuber who got a switch uploaded their video on the 23rd of February right now Look how small this is. That's great packaging. It's really good packaging.  It is certainly the games are small Don't you like to packaging is as sleek as your console? But the switch is never going back in there. It feels pretty solid It's nice substantial feels. Yes, how this sort of stands up to some abuse. I mean it feels robust, right? Yeah, I mean, this is so I Just I can't say enough how beautiful this is it's so sleek, right? It's so sleek. It's like It's a little it's like the size of an SD card look how small that is Everything is small with this machine as you can see I'm not okay with that Nintendo was using the will give you a switch early stipulation to get positive feedback instead of honest feedback put on to consumers and When he tried to give honest feedback Nintendo took down his videos He went through the process of context he had in Japan and Australia to get the console about a week early And Nintendo basically took out all of his videos even though he got the console through fairly legit means so I To me it's it's frustrating thinking back to the launch of switch and as much as I love the platform to see that Nintendo was not being honest when they sent these things out to some fairly major influencers and But the influencers were okay agreeing to these you know Stipulations that you need to talk positively about something in order to get it See, I got the Bakuden game and the roller coaster tycoon game without any stipulations put on what I can say They talk about certain things like you know if I was gonna make a review I was gonna do preview content, you know, you can only stream X amount of footage Oh X amount hours of footage or you could only show the game up to a certain point or talk about a game up to A certain point but they never tell you what you have to say, you know, they'll they'll mention some marketing points But you don't have to say any of it. You can say whatever you want I have never been offered anything from Nintendo included where I couldn't give honest opinions But it appears a switch Nintendo was like yeah, we'll send it out early to you if if you'll tell the company line And I I think this is a very crappy practice one that I think we're well aware happens by the way We know influencers are constantly getting products that They are being told to talk glowingly of but there's a difference between say oh a sponsorship and You know being honest like if Nintendo wants to contact me and they be like look Nate We know you're a huge Zelda fan. We know you have a huge Zelda following You know we want to send you a copy of Breath of the Wild to collector's edition or whatever the case might be and we want you to talk glowingly about the game Which I probably would anyways But we want you to talk glowingly about the game and mention this and that I will I'd respond to the Nintendo I would say that's fine, but that that would be a sponsored video that would not be an honest opinion I would need a note to the fans in the title and to you guys on camera This is a sponsored by Nintendo video to showcase Breath of the Wild 2 This is not an honest opinion on the game This is a sponsored video where I am showing you what Nintendo is allowing me to show you see that is fine If Nintendo wants to contact me and and and pay me to basically commercialize their stuff Okay That's okay. That's a sponsor. That's what sponsors are for you know When you watch like a line detective video is like well check out our sponsor or when you see like the mr. Bees check out our sponsor honey like of course he's gonna say nothing But good things because that's what a sponsorship is for you are paid a paycheck to say nice things That's fine What I don't like is if you're gonna be like hey, we'll send you this system early So you can review it and and check it out and do this But in this video in this video in this video you need to say these things and you can only talk positively Tell us right now if you're gonna talk negatively If you are we're not gonna send you the system and the thing is for an honest review You can't honestly tell Nintendo if you're gonna say anything negative because you have to have it in your hand You have to be able to review it You know the joy con issues and the floppiness in the dock and like you know How the people that were breaking the locks in their joy cons like all that stuff is honest reviews that you know Didn't really exist at that time It was a lot of unboxings and glowing praise for the compact size and the cute cartridges And how great it feels in the hands, which maybe it doesn't feel great in the hands But it's not like you could say that or Nintendo won't send you a switch now obviously once you got to launch day You know the the cover can come off and you could say whatever you want But you know if you've already put out a bunch of positive videos without being able to be honest Yeah, you know the damage has already been done They were already pre-ordered and made purchasing decisions based off of your Suggestions now. Yes, some people might put hashtag sponsor Some people might put hashtag ad but most people didn't you know, I just eat and others I I'm not harping on these people. I enjoy their content But we all know that they accept things that they are expected to talk glowingly of and the thing is They might have talked glowingly of it anyways And it might be an honest to goodness opinion, but you can't trust it Because we now know that Nintendo sent out switches without or with stipulations that you needed to be positive I know this happens. We all know this happens I wasn't aware it was happening with Nintendo because as I said, I've gotten Nintendo review copies before in the past Maybe that's why I don't get them now But yeah, like there was no stipulation that you had to be positive about the game Even if it's highly likely a channel like me Nintendo prime would probably talk positively about hey a Nintendo game You want to send me age or calamity early? Hi chance. I'm going to talk really good about it But I'm not going to know this, you know let things certain things go. I will explore the frame rate I will explore a lot of different things I honestly am a little Miffed I suppose is how to do a little miffed at why things are this way Uh and I know that for these companies, they're just trying to get all the positive press they can social media These influencers myself included are this new avenue of advertising. That's different than tv We we realize when we watch commercials on tv. It's an ad we know when we see, you know Mountain dew on a billboard in the NBA game. We know that's an ad But when people watch these influencers, sometimes it's not like so sure what what is an ad and what isn't What is sponsored content and what's the truth because even if you do, you know Even if your video on youtube is listed as a sponsored video There's an option you're supposed to select when you have a sponsor or a paid promotion in your video Even when you have that listed on your video The viewer might not know if the paid promotion is the product you're talking about Is it something you mentioned like, you know, hey, you can get our merchandise And you know like what part of it is the paid promotion at It's not always super obvious and not everyone notices that little warning in the corner It says paid promotion again I'm not faulting the content creators so much because hey, we're all trying to make a living If this is what you have to accept to to get a product early I get it But honestly if nintendo had offered me a switch early But they said the stipulation is you have to talk lowingly you have to talk about our bullet points You can't talk about the things that you don't like about the system That's not good That's not something that I think I would accept or maybe I would accept it And then just not conform to it and then nintendo would never talk to me again I don't know Um, uh, nintendo after making it clear to the nintendo this guy did that. He's not going to do that They stopped talking to him. So All right This is just not okay And I would never accept anything like this It has like that bakuden game that just showed up out of nowhere Yeah in in the little letter they said, oh, you know, we're going to give you details on how Do you can handle coverage, you know later in an email? Well, the game's already out So they can't tell me how to cover the game anymore I wasn't even planning to cover the game. Maybe that's why they sent it to me. They're like, hey We have this extra press kit. We never sent out. Let's send it to those nintendo prime guy Maybe he'll mention in a video got mentioned in this video. Maybe we'll do some gameplay But I don't know anything about bakuden, but I Like isn't an anime No, I think about I don't I don't I literally have never heard of bakuden Beyond an ad or like a toy at walmart or something. So I don't know anything My children probably know I should probably ask them. Um, and I guess it has good reviews I I don't I don't actually know it the game came out what three days ago. It's a full $60 game So i'm hoping that it's not like garbage, but I again, I don't know I haven't played it. Maybe maybe we'll try it out on the live stream later. I just I get increasingly frustrated when this happens I wanted to make you guys aware of this happen and as much as I love nintendo I I want you guys to know that nintendo participated in this practice This isn't to make nintendo look bad or or say they're a crappy company because so many companies Do this. I don't think it's necessarily You know makes the company overall a piece of crap, but whatever marketing people were in control at the time I don't think Anyone should be that way. You should always be so confident in the product You're putting out there that if you're going to send review copies that you think you're going to get praised anyways If you're not confident enough in the switch at launch that you think people are going to praise it Then don't send out review units. I guess which also is a bad look, but hey, you know I I believe in In companies not telling you what to say about a product that is a key thing with your audience unless it's an ad All right, I end with a normal chance from the nintendo prime. Thanks for tuning in and I'll catch you in the next video


This is how we break down the throw. These little drills are how you get better. There's nothing natural about this. On separation, okay, stretch, reflex, and orbit, and the release. And what you're going to see is a lot of you dipping and scooping. There's going to be attempts to try to move your hips more than you should. Okay, so take your band. And what we're going to do now is we're going to be winding and feeling that separation. And we're conscious of the orbit. So we're here in Sydney. You can see if you can kind of tell by the weather. We had a much cooler day. We came in, it was hot and muggy. We got a light rain and we kind of just started about, what, 15 minutes later. And it worked out great. The rain went away, we set everything up, and we had a really great productive day. I think the kids got, especially the young kids, we're really starting to connect it towards the end of the day. Right. And some of the drills, as we saw during the day, they went really well. Like the partner up with the heel, you know, push with the hip. Great. It was really good. And one thing I took out of it was the tempo change. So that was a good experience. We had a bigger camp. So that was good. My name is Peter Blake. I'm from Barrama. My daughter's Ruby and Evie. Okay. So at first, it seemed like, you know, this drill and that drill. And I wasn't quite sure how that all fitted in. But then as it came together in the end, you could see how the specific movements were the key to getting the speed and the positions and everything right. Just, you know, to get a nice smooth throw, I suppose. Here's the big mistake when I said to you guys, just wind up. And you guys all did this.  You see that? Now there's no separation. The system is fantastic. I've just, like, the last two and a half, well, you know, we're into our third season with it now. So the kids are improving so much, even the ones that start off when we've introduced it to the beginners. And the beginners are slowly catching in, believe it or not, really fast and proving really quick because I'm getting better as a coach. I think the detail was probably better. Like as a second time round participant, I think it was, I think it was better. Great. I think the location was great too.  But I think the drills were a lot better, I think. Training with TG and I, we never did the drills. So now that I actually know the drills that I can learn. Okay, awesome. And how did the six pillars, that two seconds, you guys understand, what do you think of that? Did that help you understand the throw a lot better? Breaks down the two seconds into six really easy bits to understand. Awesome. Yeah, so you notice we put it together. How did we do it? We did some movement, then we did some throwing. Yeah, tell me, tell me the best part of the camp. Enjoying and having fun. All right, well, that's good. Great to see the building from day two. The kids kind of understanding the concepts more. You know, our format has changed quite a bit. Even tweaked it up a lot for in summer. Even just a couple of weeks ago, we did a camp in Ohio and we started to play with it and we refined it. And by the time we did our Brisbane camp, which was our second camp, and here in Sydney, things have been running really smooth. It keeps the kids really engaged. We've got a lot of young kids here. So even for the teenage kid, you know, how we've been structuring it. So just constant movement. It's really helping them to understand. We put it all together by the end of the day. It all makes sense. We've trained the patterns. So again, real thankful to people here. Great feedback.


What's good y'all support Ross back again with another video, so we're gonna check out ten worst survivor series pay-per-views ever man My parts funnone. We just checked out a pretty good Survivor series a lot of you guys We're giving this survivor series like 7 out of 10 8 out of 10 9 out of 10 or 10 out of 10 or even higher I was seeing a lot of that in the comment section On my last video on my thoughts and opinions of survivor series this year and I gave survivor series I believe I gave it a 9 out of 10 if it wasn't for that boring of a women's championship match between Rhonda and Shotzi it probably would have been a 10 out of 10 show I enjoyed it for the most part things could have been better But it was a solid serviceable show both the war games matches were They did their job in my opinion and triple H definitely knocked this one out the park with survivor series He made survivor series feel important once again So we're gonna check out some of the few times survivor series did not feel like it was important And we're gonna check that out appreciate all the love and support Let's get right to this one. I have a series was last night But this list was written and edited before that so let me just quickly cover all my bases Thank goodness survivor series is finally good again.  I'm Rocky poo poo and now you're Rocky poo poo too There we go, I think that's covered the most likely options So last week we talked about the best survivor series pay-per-views now. Let's talk turkey and by turkey. I mean this goddamn turkey I'm Adam hailing fun known and here are 10 worst survivor series pay-per-views ever and fair warning This one's gonna get a little grumpy So if you do want to see something a bit more happy something celebrating wrestling then check out last week's list It's there's loads of really good survivor series pay-per-views on it hooray number 10 1990 survivor series is somewhat famous for in-ring debuts positioned as a major platform with six months to build to WrestleMania But also not show that traditionally sees major feuds blown off sting debut at survivor series So the shield the rock Scott Steiner angle, but 1990 is infamous for one Blistering debut the first appearance of a superstar that would define the industry for decades to come the turkey the gobbledygooker Eddie Guerrero's brother in a turkey suit Dancing mean Jean also the undertaker was that taker's debut does make the show a huge milestone in wrestling Of course it does but the actual rest of the show So Tried once but never again gimmick of all the survivors from each match being put into a big Ultimate survivor series match in the main event a convoluted and non-sensical Stip provides to give Hulk Hogan in the ultimate warrior two wins on the night instead of one Gotta love it when Hogan and warrior win twice number nine That's crazy you I would I would have never thought that the undertaker being Introduced for the first time ever would have possibly still had one of the worst survivor series to show itself That's that's a crazy little dynamic there one of the greatest wrestling Characters of all time debuts on survivor series. It happens to be a pretty bad show There are worse shows in terms of in-ring quality for 2015 was a difficult year for WWE the Roman Reigns experiment was not working in 2015 survivor series was just a wearying example of how committed WWE was to it much to the disregard of their fans Seth Rollins blew out his knee and had to vacate the WWE championship So a tournament was held to determine the new champ unlike the 98 deadly games tournament Which swerve the fans with expert effect crowning a mega-star heel? 2015's tournament was predictable to a fault featuring Roman forever miscast as an underdog big dog and Wasting the huge match of Roman Reigns versus Dean Ambrose in a nine-minute main event that never got off the blocks Then Seamus cashed in and no one wanted him or Roman at the top. So basically Yeah Undertaker's entrance was cool. I suppose I guess it it wasn't as bad as his 30th anniversary We'll get to that reluctantly number eight 2008 bad show this the Boston crowd did its best But even they are miracle work is even they couldn't rally themselves for the horrific bait and switch of Jeff Hardy being removed on The day from the triple threat match with Triple H and Vladimir Kozlov Latitude dues to wrestle in abject silence safe for the occasional dirge of a boring jump full edge return to win The thing John Cena returned to beat Jericho for the big gold bell Which at least sent the Boston crowd home happy because John Cena is from Boston Honestly though there was a bunch of dross on this show the whole Jeff Hardy being found unconscious in his hotel room stuff felt horribly Uncomfortable the take a big show casket match was slow moving and tedious the women's elimination tag match took place Largely to crickets featuring Traditional moves to no reaction the opening match saw the survivor series being HBK Ray Mysterio and the great Kali, which is palpably strange Orton winning yet again a survivor. Don't remember that HBK the great Kali and Ray Mysterio was on a team together Don't remember that glad I don't remember that actually series There's just not much to recommend the show especially if you're not a fan of Cena wins lol number seven 2013 I really like one match on this show the opening elimination match where Seth Rollins and Roman Reigns come back from being 5-2 Down to win the match and preserve the hole. Hey, the shield is pretty cool Everything else on his card though like your dad sucked weirdly cast of total divas defeated the cast of hey But what about wrestling though Daniel Bryan and CM Punk beat the Wyatt family in the middle of their hot streak John Cena versus Del Rio was a competition of who could the fans care the least about Holy shit at the main event Randy Orton versus the leader of the yes movement big show Absolutely baffling how they tried to heat up the giant with Daniel Bryan's yes chance in the build to this match Which ended up being performed to the kind of silence reserve for Oli Davis love making overwhelming crowd apathy a Stupid finish both combined to make the main event one of the worst matches of the year and a nightmare slog for all involved Pretends a survivor series is a big deal one of the big four carries a bit of hype But 1991 was a really strange year where survivor series the pay-per-view existed basically to sell Another pay-per-view namely this Tuesday in Texas a secondary B level pay-per-view, which was set to take place six days later on Tuesday huh in Texas like Survivor Series Wow Pay-per-view opened with a clip from superstars of the snake by angle between Randy Savage and Jake Roberts with the clip hyping a singles match Not at Survivor Series, but at this Tuesday in Texas. It's I Wow That that's it's my first time hearing about this there was an actual show called this Tuesday in Texas And they were using Survivor Series to wipe up a show they were gonna have six days later No words No words Mental the opening tag match which was also Rick Flair's first pay-per-view match in WWE was pretty darn good Up until it ended with five men getting disqualified at once the sergeant slaughter elimination tag match was F***ing dreadful the main event three-on-three match was a bit boring the Rockers elimination match was okay And in the middle of the show Bizarrely the undertaker beat Hulk Hogan for the WWE championship Which was a seismic thing that came at the end of a bad match and mostly only existed to hype the rematch Which was set to take place at you guessed it this Tuesday in Texas 5-2021 what is it was Survivor Series and stupid eggs the last survivor series under Vince McMahon's watch felt Appropriately tarred with all of his worst and weirdest excesses first of all. He was on the show. Yeah, the whole Golden egg thing to this day. We still don't know what that was all about. It did just sink it It was just very weird. I was like, okay. All right, Vince scuttling on screen like the bizarre melted crab that he's become Showing off a golden egg to what I can only describe as whooping deference from employees terrified for their job security Yeah, just fired a f***ing bunch of them The night was hyped as a celebration of 25 years of the rock and he only appeared an awful red notice product placement segment I'm also via egg and also via a battle royal that was actually supposed to be about him But was actually about pizza and none. Oh, yeah, we we watched this When it happened and it was the whole pizza placement it was just like The hell was this bro? It just it just it just reeked of just Corporate chilling it just The pizza being out there was just wild I was like I get it WWE got to pay the bills. It was just like this is what we doing right now, bro None of this is made up at all the f***ing golden egg naked corporate shilling non-sensical backstage nonsense Awful air quotes comedy featuring great wrestlers pratt falling for brand awareness and annoyingly Some really good matches lost in the middle of it all with Charlotte versus Becky and Biggie versus Roman Reigns both being really Solid Bianca Belair being given a great spotlight. These are all good things all ultimately forgotten of course Because of the egg there you go for 1994 you know, you're in trouble when the best part your show is middle-aged Bob backland beating Brett Hart for the WWE f***ing championship because a towel-based trickery now to be fair the match itself is actually fairly good sports Entertainment Owen Hart and there was a really great hill performance at ringside everything else on the show sucks though Elimination match ends in a five-man count out, which is a kind of booking Nonsensicality that can get in the bin you can't count out men who aren't legally in the match rep Dickie you're playing at King Kong Bundy is a survivor in another match Which even for 1994 was very stupid the undertaker versus Yoko Zuna with Chuck Norris at ringside was Heartbreakingly tedious and a real blow to anyone who enjoys Chuck Norris facts because he didn't do anything interesting Turd on the cheesecake was the clown match because the clown match is always the worst part of a survivor series Doink and three mini clowns versus Jerry Lawler and three mini Kings cool sleazy Queasy and cheesy that they won awful. They won in a clean sweep that sounds King's life Number three 1999. Hey, you know what's fun lies and boy Howdy did WWE lie to its fans at Survivor Series 99 despite this being one of the hottest periods in wrestling history WWE was starting to eat itself with ludicrous storylines Endless DQs and a kind of car crash poison that was shortly destroyed WCW from within keeping in line with that this show is Super weird. There's a DQ in Kane versus X Park bizarre old women defeating actually talented younger wrestlers Hardcore Holly being a soul survivor in a match involving both Edge and Christian and the hardy's gonna love that Bob Holly push Big show beating four guys by himself a big messy undercard, but don't worry. What a main event We've got for you tonight triple H versus the rock versus stone cold Steve asked it Unbelievable and the crowd were stupid to believe it with Austin not being medically cleared and the company knew that yet They only pulled him from the main event on the show itself Oh, yeah, everyone had paid to see it being hit by a car and replaced with the big show They're down to win the WWE championship some hateful bollocks.  It's not really good business practice But it's basically oh, we gotta hype this up because Stone Cold, you know The Stone Cold the Rock and Triple H going out for the title got hyped this up and then they knew he wasn't gonna Be medically cleared so they had to find a way to get him out of the match. Yeah, I get it I get it. It's it. Is it uh, it's an ethical probably not but Back then it was all about who's on the car that was gonna make people buy the show Literally, that's what it was. So 2020 hate this show so much.  Yeah, it was always gonna feature highly on this list even without the bizarrely terrible stuff WWE made its entire women's division look ridiculous in an awfully booked elimination tag match It was basically just one big punchline to the Lana storyline raw clean swept smackdown For no reason a weird heel versus heel match between Zayn and Lashley Admittedly good matches between Drew and Roman and drew in Roman. I was the best part of the show Dash and ask her but there's no crowd. So honestly that they are not ones I will ever want to watch again and that was a good match. Oh, it's my list So do one but finally the insane Undertaker farewell ceremony.  It's not WWE's fault necessarily Because you know the world and that but it is the worst possible end to one of the best possible careers And number one 1993 I hate this show Even more to be fair considering the number of changes to the card It's very likely that WWE also ate this show. Mr. Perfect was supposed to be on it It was replaced by Randy Savage. That's good. Savage was the first person eliminated for his team. That's bad Yeah, I was taken off the card after allegations of sexual assault replaced by Shawn Michaels and his nights for no kayfabe reason whatsoever It was a really dull match the doinks comedy match was about as funny as a burning Hospital the only title on the line the entire night was a championship There wasn't even part of the company the smokey mountain tag championships contested in the match The crowd could not even give the shiniest about and the main event was a predictable slog still trying to make Lex Luger a thing Despite the company having soundly dropped the ball on him at SummerSlam with a sincerely lame win by Countout victory prey There is nothing on this three-hour show to recommend it to anyone anyone You should avoid it at all costs and that's our list. What's your favorite survival series? That's that's a Lot of these You know I'm saying was kind of before my time or I was a little baby literally Somebody so I didn't have to suffer through the horribleness that was survivor series And it's questionable matches and booking decisions on that particular show but comment down below Let me know what's your favorite survival series of all time? I know we were checking on a list of the worst survivor series papers you but I want to know what's your favorite? Like what's your favorite survivor series of all time that you can possibly remember? Let me know down below, but I appreciate all of the support you guys have shown on channel roads who 100k Appreciate talking with me. See y'all next week. Peace