Testing, it's on! All right, this is going to be my clicker, so that's why I'm holding this mouse. Just a second. Bienvenido a todos. Thank you all so much for coming out today. I know it's been a long week, probably for all of you. And it's a long day. And I'm so flattered that you chose to come to my session for your last session of the day. So just to make sure we're all in the same room, my talk is why, how to, and issues, tail-based sampling in the open telemetry collector. And yes, I'm pretty sure I maxed out the number of letters allowed for a KubeCon topic. I'm going to have to stand here. All right, to start, I'm going to take you through our agenda for this session. I'm going to start with a brief refresher on open telemetry, collector, and distributed tracing. Then we'll get into a sampling overview where I'll cover not just what is sampling, but also why sampling. And then we'll see sampling in action with a live demo by yours truly. And we will wrap up with concerns and limitations so that you are aware of the challenges. The first question I'm going to answer for you today is, who am I? My name is Reese Lee. I am a developer relations engineer on the open telemetry community team at New Relic. I am based in Vancouver, Washington. I am passionate about helping observability end users get and understand useful data from their systems. So I'm very pleased to share this presentation with you today. OK. First, a quick refresher on these core concepts, as I'm sure most of you are already familiar with these at this point. If you do want more information, I'll have some resources at the end that you can check out. What is open telemetry? In 2019, two competing open source instrumentation projects, one called OpenCensus and the one called OpenTracing, were merged, forming open telemetry. It is now the second most active CNCF project after Kubernetes. And it is a unified standard for instrumenting, generating, collecting, and exporting telemetry, so metrics, logs, and traces, to help you analyze your software's performance and behavior. And it does so by providing a set of APIs, SDKs, and tools, including a component called a collector. What is the collector? It is essentially an extremely configurable system for processing telemetry data. It's made of the same main components that access that telemetry data, receivers, processors, and exporters. And some of the things that a collector can be configured to do include sampling, collecting host metrics, scrubbing data, and normalizing data. What is distributed tracing? Distributed tracing is the method of observing requests as they move from one service to another in a distributed system. And it's important for helping us understand our systems, such as our service connections, like how our services are interconnected, and can be useful for diagnosing problems, such as where latency is occurring. Also, what is a trace?  Spans represent logical units of work within a request during a specific period of time. So an example of a span would be HTTP call or a database call. And in this very intricate diagram that I created here, you can see a trace, a request as it moves through three different services. The first span of any given request or a trace is going to refer to as the root span. And the next slide here, I'm going to show you an example of what a request will look like and a tracing backend that we send our trace data to, such as Yeager. So Yeager, I'm sure most of you already aware what it is. It's an open source distributed tracing platform that visualizes your service requests as traces. There are also other open source tools and multiple backend vendors that you can send your trace data to as well. Let me get my mouse over. So each of these lines here represents a span. And all of these spans make up a trace. You can also see the duration of time that each span has taken, along with the total duration of the entire trace. So so far, distributed tracing sounds great, right? However, there are some things that you need to take into consideration. If your system is producing thousands of traces per minute and you haven't set up any kind of sampling strategy, so that is to say you are capturing, storing, and indexing every span of every request, well, one, the cost of tracing could become higher than the cost of running a service. And two, it can make it difficult to see if any issues are occurring within your system. So what can we do? Not a true question. We can. OK, before I get into the sampling overview, can I get a quick show of hands? Is anyone currently using trace sampling in your organization or know anyone who or know whether your organization is? Excellent. OK. So it looks like some of you are probably really familiar with sampling. But in any case, I will cover what is sampling, why we might want to sample, and then we'll talk about head until we'll be sampling. Excuse me. What is sampling? To keep or not to keep a span or a trace, that is the question that sampling answers for us. The idea behind sampling is to reduce the number of created or sampled spans. And next, I'll talk about why we might want to sample. And sampling can be implemented at different stages of span processing. So the earliest is before a span is even created, otherwise known as head-based sampling, or after all the spans have ended, which is the latest stage, also known as tail-based sampling. So earlier, I showed you a meme that I created of a human with a fire hose of spans to illustrate how not having a sampling strategy in place could negatively impact your organization. But why exactly do I want to sample? So different organizations will have different reasons for not just what they want to sample, but also why they want to sample. Some teams, they want to see only interesting traces, or they might want to filter out noise, such as health checks. And I'm going to pause you for a second to explain what I mean by interesting traces. You'll also hear me use the term traces of interest. I'm just referring to the specific trace data that you or your teams might be interested in. For example, as an app developer, I might be only interested in error traces for debugging purposes. My front-end team might be interested in traces with specific attributes. Another way to think about sampling is if 99% of the traces that your system is producing are 200s and finish without errors or latency, do you really need all that data? So the thing is you don't always need a ton of data to find the right insights. You need the right sampling of data. So now we're going to talk about a couple sampling strategies, starting with head-based sampling. And then we'll get into tail-based sampling. Head-based sampling is simply where the sampling decision is made before its ban is even created or at the start of a trace, which makes it simple. It's efficient because the sampling decision gets propagated down to all child's bans. So it never has to wait until all spans and requests have finished. And it's unbiased because it never looks at the trace to make a sampling decision. Today, OpenSoleMateria SDKs ship with a number of built-in head-based samplers. We've got parent-based, always-on, trace-id ratio-based, and there's also always-off. I'm going to talk about the built-in samplers a little bit now. So the OpenSoleMateria default sampler is actually a composite of two of the samplers. We have the parent-based sampler, which takes a required parameter for what you want to use for your root spans. So that's why it says root is always-on because we are using the always-on sampler. As the name suggests, we will always sample the root span. And the way the sampler works is by asking a few questions of every span. First, are you a root span? If yes, well, guess what? I'm always going to sample you. If you're not a root span, that means, hey, you have a parent span. And now it's going to ask, OK, was your parent sampled? If yes, hop on the train. You're getting sampled. And if not, you're not getting sampled. And in other words, the sampling decision gets propagated down to all the child spans. So in this way, this is how the default sampler works to collect every span of every request in your system, assuming all your services are instrumented with open telemetry and using the default. OK, this diagram, which I also created, painstakingly, lovingly created for you all, shows an example of what we might see in our tracing back end that we're using. The blue dots represent the root spans, and the blue rectangle represents where the sampling decision is made. The green dots represent sampled spans, and you can see the entire trace is sampled. And for some flavor, we have the red dots, which represent error spans, spans with errors. And you can see we get a full view of all the traces our system produces. Next, I want to talk about the trace ID ratio based sampler, but hold on a second. OK, the name of this sampler is a mouthful for me so. This sampler uses the trace ID to make a sampling decision with respect to the sampling rate that you can figure. In open telemetry, when we combine this sampler with the standard random trace ID generator, we get a mechanism by which to do probabilistic or random sampling. Essentially, this diagram kind of gives a general high-over view of how the sampler works. On this side, it's randomly decided, OK, I'm going to sample everything with trace ID 1. So all spans with trace ID 1, you're getting sampled. On the other side, you see it's decided, OK, I'm not going to sample trace ID 2, and therefore, all those sips, spans will get discarded. I do want to note here that if you have multiple connected services instrumented with a variety of language SDKs because they're in different languages, the open telemetry specification recommends that you use this only for root spans. And so how earlier we saw the root takes in the OSON sampler, we'll just simply switch it out for the trace ID ratio based sampler. So we'll see that example in the demo coming up. So here's a diagram showing an example of what we might see in our tracing back end if we're using trace ID ratio based sampler. Essentially, a random sampling of traces, you may or may not always see traces of interest, in which case, in this case being the error trace. OK, so that's all I wanted to cover for head-based sampling. Let's talk about tail-based sampling. The biggest difference between head-based sampling and tail-based sampling is that with tail-based sampling, as the name suggests, the sampling decision is made only after all the spans and requests have finished. This means we're able to filter traces based on specific criteria. It is useful for efficiently seeing those traces of interest. And it's optimal because we get to keep all our spans in context and don't get broken traces when we need them most. Today, to do tail-sampling using open telemetry, you have to stand up a collector, which I mentioned at the beginning, and implement the component called the tail-sampling processor. Multiple policies exist today, and you also have the flexibility to add more if you like. This is just a short list of the policies that you could use today. I'm going to take you through the screenshot here. So this shows an example configuration for the tail-sampling processor in our collector config.yaml file. So here we've got our tail-sampling processor. That's the name of it. The first three lines here are all optional configurable settings you can use or not. Decision weight is the time to weight from the beginning of the trace to make a sampling decision. Num traces is number of traces kept in memory. And expected new traces per sec is expected new traces per sec. And finally, we have the policy section here. There is no default, so you will have to define at least one policy to use the tail-sampling processor. In this example, I have two policy set up. I've got a status code policy and a probabilistic policy. And this will essentially get me all my error traces, as well as a random sampling of remaining traces. This is an example of what we might see in our tracing backend using the exact configuration I just showed you, our error trace, as well as a random sampling of remaining traces. If we decide to only use the status code policy, this is what we would see, just the error traces. OK, so how is everyone feeling about sampling? Good, great, awesome. Thank you. So if you have any lingering questions, please hold on to them, and I'll try to get to them during the Q&A, or hopefully some of them will be cleared up with this live demo I'm about to show you. OK, so first I'll give you a context of the demo, and then I'll walk you through the scenarios that we're going to see, and then we'll do a quick demo reflection. So for the demo, I have three services that always call each other, and what I mean by that is just service one, always call service two, and service two, always call service three. I have a load generator that makes 20 calls to the first service, and each time it is run, it produces exactly one error. And for the purposes of this demo, I have decided that my traces of interest are traces with errors, and we're going to be exporting all our traces to Yeager, so we'll be looking at our traces of Yeager. And my goal here is to find out which sampling strategy is optimal for getting me what I want. First, we're going to start with a couple of head-based sampling scenarios. We're going to take a look at using the default, and then the trace ID ratio-based sampler, and then we'll wrap up with a couple tail-sampling scenarios where we use the statistical policy, and then adding in the probabilistic policy. All right, let me see if this is going to work. I think that worked. Oh, oh boy, what's happening? OK. So I'm going to be switching between three separate windows. We're going to have our Yeager UI over here. I'll have my text editor here, where I'll show you the SDK configuration. And finally, I will have my terminal where we are going to restart our services after making changes and also running our load generator. OK, we don't need that. You can stay there. All right, so we're set up to use the open slump to default, so I'm going to go ahead and run my load generator. And I'm going to come into the Yeager UI, and let's see what we got. Oh boy, please hold.  Are you not showing up? OK, please hold. So if I'm using the open telemetry default, and my load generator is making 20 calls to the first service, how many traces do you think I'm going to see when I run my load generator? Someone just flashed out 20. You are absolutely 100% correct. Now I would love to show you if I can figure out why this is OK. So for those of you who are not as familiar with Yeager, on the left-hand side is a filter nav menu. We are primarily going to be focused on the right side where we'll see our traces. So here we have 20 traces. You are so correct. And as I'm scrolling through here, so each of these lines is a trace. If I click on one, this might look familiar. It was in the screenshot that I showed you earlier. These are all spans, and you can see the different services. And if I scroll down a little bit more, hey, look, there's my error trace that I wanted, along with a lot of not so interesting traces. Let's see what happens if I run my load generator a couple more times. Now I want to come in here. If you guessed that we will now see 60 traces, you are correct. I'm so glad that worked just now. OK, so 60 traces. And if I scroll down, I will see, hey, there is one of my error traces. And I should see one more. There you are. And then our third one, which was from the first time we ran the load generator. Perfect, there we go. So I've got all my error traces, which is what I wanted. But I'm having to kind of sift through a lot of uninteresting data to get to them. So now I want to try probabilistic sampling because I'm getting too many traces. So now I'm going to come into my first service, which is a JavaScript service. So we're going to go into the tracing.js file. And here, I already have it written out, so I'm just simply going to uncomment it. So now I'm passing in the sampler. As you can see, I'm only using it on root spans per the Open Telemetry Specification recommendation. That was a lot of multi-syllable words at once. And now I'm going to do it for my second service, which is a .NET service. And finally, I'm going to do the same thing for my third service, which is a Python service. And also, you can see here that the sampling rate that I've configured is 25%. So now I'm going to go into my terminal and restart my first two services for the changes to take effect. The Python one auto-reload, so I don't have to rebut that one. So now let's run my load generator. OK, so pay attention to this top number here, 60. What do you think we're going to get? Maybe. So close, seven. So we have seven new traces. And hey, look, I got an error trace. That's cool. And a random sampling of all other traces. And you can see here too, so right here, it says a few seconds ago. And this was two minutes ago. So all the ones above this are my new traces. So let me go ahead and run this a couple more times. And let's see what we see. OK, so the number is 67. And it updates to 74. Seven new traces. Yes, I think my math is correct. Actually, that seems a little low. 74 traces. OK. Oh, and that's so interesting. So I actually got, using the trace ID ratio based sampler this time, it looks like I got two of my error traces, which is interesting. I've run this demo and had zero of the error traces show up. I've had like one error trace show up. So it really is randomized, as you can see. However, I want to more efficiently see my error traces. So now I'm going to go ahead and try using the tail based sampling processor. So in order to do that, I'm going to come into my services. I'm going to comment the trace ID ratio based sampler back out. And I'm actually going to use the always on sampler, because I want to be doubly sure that all my spans are getting sampled. You can use the default as well. I want to be extra sure. So that's why I'm using the always on sampler. So I'm going to go ahead and comment out the old one. And go ahead. And now I want to show you what that looks like in the hotel collector config.yaml file. So you'll remember the screenshot that I showed you of the example configuration. So here I'm using the decision weight optional setting. And I've already got a policy here that will get me all error traces. And the cool thing is I can have this set up, and if I don't want to use it, I simply don't have to include it in the pipelines section for my traces. As soon as I'm ready, all I have to do is add it into my pipeline, save it, and let's not forget to restart our collector, and then also restart two of my services. All right, it looks like she's ready. OK, so now I want to run my load generator. What do you think we're going to see in Yeager? Yes, I heard one. And you'll see, since I restarted the collector, this number here is going to reset. So one error trace. That's awesome. Let's run it a couple more times. And we will now see three traces, and they're all my error traces. So this is great. I'm seeing the traces I wanted, but now I'm thinking, maybe this isn't quite enough information because it can be useful to have a random sampling of all your other traces to see whether anything else might be occurring or if you want to improve typical operations within a given service. So now I'm going to go back in here and I already have a probabilistic policy defined here, so I will uncomment that out. And let's restart my collector, and let's see what this new configuration gives us. All right, so this is going to reset. And I have four traces now. So I've got my error trace and a random sampling of all other traces. If I run this a couple more times, it's going to go from four to 15. So I've got nine new traces. Hey, there's my error trace. There's another one. And there's my third one from the first time we ran the low generator. And this is great. Now I've got my error traces and a random sampling of all other traces. Okay, now I have to, it's going to be a little bit anti-climactic, hold on a second. Where is the, how do I stop the mirroring? No. Oh, did I lose it? Okay, well, I appear to have lost the display window. Never mind, that's okay. That's what you were supposed to see right after. I've seen how to implement tail-based sampling using open telemetry, and also how tail sampling can be optimal for getting us what we want efficiently. And I apologize, I keep hitting my mic. I'll stop doing that. Just to do a quick demo reflection. So using our open telemetry default, we always saw our traces of interest, but we also saw everything else. So then we wanted to do, to get fewer traces, so we used the trace ID ratio-based sampler for our root spans. And now we got a random sampling. We didn't always see our traces of interest. So then we wanted to try the tail-based sampling processor. When we used the statistical policy, we only saw our errors. We decided, hey, it is useful to get a random sampling of all other traces. And so I added in the probabilistic policy, and we saw that we got all our error traces plus our random sampling, which was awesome.  We'll start with some general concerns around tail sampling, and then we'll get into some open telemetry-specific limitations. So the first one is probably the one we see the most consistently, and that is performance consideration. Since tail-based sampling, since with tail-based sampling, we have to wait until all the spans that are crossed are finished. We have to hold those spans in memory somewhere before the last span has finished. And this, of course, can eat up application resources if the spans are stored locally or additional network bandwidth if your traces aren't stored locally. Additionally, determining the interesting traces. So earlier I said you don't need a ton of data to find the right insights, you just need the right sampling. Well, there's gonna be some work involved with figuring out what exactly that means for your team. You're gonna have to ask some questions to know what to sample. Data ingress and storage costs. So sampling is supposed to help us manage these costs, right? However, let's say you are using the tail-sampling processor to get you only latency traces. Well, if you're suddenly experiencing severe network congestion and your tracing solution is now exporting up a ton of traces of latency, you're gonna see a spike during that period in data egress, storage costs, and potentially data ingests depending on how you're back-end vendor, depending on their pricing model. And with open telemetry specifically, so to use tail-sampling using open telemetry today, you have to stand up a collector. There's no way to get around it at this time. And while the collector can be really useful and practical in terms of centralizing configuration and performing a wide range of data processing duties, it is still a lot more peace in your environment to implement, maintain, and consider. Additionally, all the traces need to be full. So all spans of a particular trace need to end up in the same collector for tail-sampling to work properly, which brings me to the scalability issue. So for a simple setup, like what I showed you with the demo, where I had three demo services, not a lot of traffic, one collector, sufficient. However, the more traces you have being kept in memory, the more memory you're gonna need, and the more computing and processing power you're gonna need to look at each span to see if it fits, to see if any of them fit your bill for an interesting trace. After a certain load, one collector is not gonna cut it. So now you have to look at collected deployment pattern and think about load balancing. There's no smooth transition to getting water, hold on. So since one collector is not gonna be enough, you're gonna want to implement a two-layer system in which the collector is deployed in an agent column, collector configuration, and since all spans of a particular trace, like I said, need to end up in the same collector, which is to say each collector needs a full view of all the traces it receives. And this is because if you have spans going to different collectors and they're each getting sampled, you're gonna end up with fragmented traces, which means you're gonna get traces with lots of gaps, and you may not necessarily know where exactly a problem is occurring or which service has an issue. There does exist today an exporter called the load balancing exporter that you can use if you're running multiple instances of the collector with the tail sampling processor. So there is hope. And finally, the future of the tail sampling processor. It sounds a little ominous, but it's simply referring to, there's an open issue right now in the collector contrib repository around replacing the tail sampling processor. The conversation is more around we'll breaking up some of the policies and building them out into their own processors, be more performance than, or be more or as performant as using the tail sampling processor. If you're interested in this discussion, I encourage you to reach out to Jirasi Crowling. He is for the Gafana, and he is kind of the mastermind behind this idea. And I think in summary, tail sampling is great for efficiently getting you what you want, but there's gonna be a lot of challenges with figuring out what exactly that means for your team as well as implementing it. A couple of quick future-ish things I wanted to touch on. So there's work being done right now to add probabilistic log sampling to the open telemetry specification, which is pretty cool. I encourage you to head to the collector contrib repository to find out more. And also wanted to talk about contributing. If you're interested in getting involved with open telemetry, now is a very exciting time, whether you want to do co-contributions or help improve docs, I know the community team is very excited to have all of your great minds involved. So definitely head to... Oh, actually I have a slide at the end that will have some links for you to check out. And big shout out to everyone that is on this list and all of you who came today and for anyone watching the recording, I appreciate you all so much for being here. And all right, if anyone has questions, please head to the mic. It looks like I am right on time, but I see a gentleman back there. So let me leave this slide here for you. This barcode here, if you have feedback that you would like to share with the open telemetry community team about your experience, whether you've used it or like what's stopping you from using it, we would love to know. And yes, what is your question that I can hopefully answer? Thank you for your presentation, first of all. I have a question. So how does Collector know where all the spawns have been collected? That is a great question. And it might... So I think that's one of the challenges, right? Potel-based sampling in general. There is that configuration setting, decision weight. So you can't have it set to a longer period of time. I think the default is 30 seconds, which is like a pretty long period of time. I think the problem, of course, will be if you have spans that are finishing really late or taking really long. So I don't have a great answer for you about that at the moment. I do encourage you to have this discussion in the OpenTelemetry Slack channel or feel free to come to one of the special interest group meetings. But I'm also actually curious about that. So if you want to hang around, I'm gonna grab you contact info. And then if I find out the answer, if you find out the answer first, let's share that. So it's time-based, basically, right? What is it? So it's time-out-based. We are waiting for specific time. Okay, thank you. Yeah, you're so welcome. Okay, we have one more. So there's a lot of talks today, and well, yes, and I'm going to be tomorrow about EBPF, right, EBPF, please, and EBPF that. And it seems that EBPF can do all this magic, like how much did you call take time and how much each function took and all of that. And it seems to be replacing, like distributed tracing in that way. So do you see EBPF as a distributed tracing killer because you said that distributed tracing and its implementation of telemetry, it has overheads and performance implications, and EBPF is advertising itself as something that comes practically for free because it's only in kernel space and it's very lightweight and all of that. So how do you see this competing? That is a great question. And I'm wondering if anyone from the Pixie team would like to answer that question. Do we have Pixie team here? Yes. You can join as well. I was just going to chime in and say, I mean, there's a lot of things that EBPF can do. EBPF is great at capturing spans, at least in the context of Pixie, but just to be completely fair on both sides, there's pros and cons, right? And so one thing that EBPF doesn't do is that you can't really throw in for me, or at least when you're trying to observe, you can't really throw tags into requests. And so trying to trace something across multiple hops, like distributed tracing, like what Rhys is showing, is actually a little bit more difficult to do with EBPF, right? So you're good at capturing spans with EBPF, but getting distributed traces, that's something that actually Open Telemetry is very good at, right? And so there's pros and cons with these things. It's not just one tool fits all, right? So just a quick liberal on that. Thank you. Oh, I'm so excited that you're here. And that is all I have for you today. Thank you all so much for being here. Hope you enjoy your stay in Valencia if you're visiting.


How to speedrun the back rooms, level 0 to 100. Let's go. So you always start in this level. The most famous one is called level zero, but you knew that because you're watching this short. To get out of this yellow labyrinth, you need to find a wall that looks just barely like it's not supposed to be there. It'll be blurry or shaky. Once you find it, run as fast as you can at the wall, jump into it, and you'll be sent to level one. This level is pretty easy to get out of. You just gotta find a deep hallway. It's got a hole in its wall. Now jump through that hole, and you should be sent to level 19. And this level is a weird attic. Anyways, you need to look for cracks in the floor below you. Once you see the crack, climb down into it, and then you'll be sent to level 38. Now 38 is a corrupted, decaying place, but you'll need to walk outside, find a roller coaster somewhere, get in it, and then you'll be sent to the blue channel level, which is essentially what is between most of the back room's levels. Once you're in this blue channel, you can float through the void until you see a beach off in the distance, and that beach is level 100.


Welcome to week four of the Paris Marathon training videos and we've hit a setback. And actually not just one setback, but two setbacks, which means we haven't been running for five days. But let's not worry about that right now. Let's get on with looking at what I did manage to get done in the brief period I was running in week four of the Paris Marathon training block. So on Monday morning, I needed to take the car in to get a new tire fitted. So I took the opportunity to run from quick fit to the track, which is not too far from there, round the track a few times and back to quick fit. And that made around 10K of easy running for Monday morning. Monday evening, unfortunately, was a bit of a cop out. I had a track session. Normally we were really hard on the track sessions, but we did eight by 800. And the decision was made to do it at threshold zone three. Bad idea. I went along with it. I shouldn't have done, I should have gone hard. We did it progressive though. So each 800 meters, we did slightly faster. And the final 800 meters we did in two minutes 55. So that's pretty good. But really we should have been doing it or I should have been doing it at three minutes per 800. Instead we started a lot slower. Anyway, there we are. That was the track session on Monday night. So a double day on Monday and then another double day on Tuesday. Slightly easier on Tuesday. We did the film My Run 500 with Noble Pro. That's 4.2 kilometers on Tuesday morning and then Tuesday evening. I was on the treadmill again and we did a nice, comfortable, around about six K, I think, on Tuesday evening. So so far in week four, we've done about 19 kilometers on Monday and around 10 kilometers on Tuesday. So around about 18 miles total. So little did I know that Wednesday would be my final session of the week. Although it was the one really tough session we did. On the treadmill, doing the Zwift Paris marathon training sessions. It was an interval session of eight times 90 seconds with 90 second recovery. And my pace was 323 per kilometer. So three minutes, 23 per kilometer for 90 seconds, eight times. And it was a tough session. Definitely got into zone five. So that was good. So what happened to the rest of the week, I hear you ask. Why no running Thursday, Friday, Saturday or Sunday? Well, let me tell you. I don't know if you know but if you watch the channel regularly, you'll know I'm heavily involved with mud crew down on the southwest coast of the country in Cornwall and the Ark of Attrition 100 mile race. So this weekend gone. I was working for mud crew and we had to leave on Thursday. Now I had been hoping to get a running on Thursday morning before we left but hacking, logistics just didn't happen and that's so common, isn't it? With running and building your life around your running, sometimes these things happen and you just can't fit stuff in and sometimes running has to come second. And this week it did, unfortunately. What I do is I manage the live stream and the live stream for the mud crew, Ark of Attrition, the Las Portiva Ark of Attrition lasted 55 hours from Thursday evening at the first registration all the way through to Saturday night at just after midnight when we finally closed the stream down. And we did stream again for a couple of hours on Sunday morning for the awards ceremony. So it was a huge long stream and a massive undertaking. And even though we had hoped to get in some running during that time, it simply wasn't possible. We were far too busy, far too tired and that's why I am now not very well. Of course, I wasn't on my own live streaming. I had my wife Victoria with me and we were supported by the fabulous Jay Grady from the Trail and Era podcast. If you've not listened to Triss and Jay on the Trail and Era podcast, go and do that immediately. As well as subscribing to the film My Run YouTube channel if you've not done that already, click that subscribe button below. Much appreciated, really helps out the channel. Helps us to grow, thank you. So last year when we came home from live streaming at the Archive Attrition, we managed to get a run in on Sunday evening. But this time we started to feel ill on the journey home. Just low immune system, we've just picked up a bug or something and we felt pretty bad. I felt pretty bad when I got home on Sunday night and it got worse on Monday. So the start of week five, I did no running on Monday, just didn't feel up to it. And today, I'm not too bad. Today's Wednesday, still feel ill but able to get out for a run today. So I did five runs last week and of those five, one of them was a hard effort. That was the Wednesday Paris marathon training sessions on Zwift and so that makes 20%. So 80, 20 in full swing last week, one out of five runs was a hard effort. In terms of heart rate, about 7%. If you look at the spreadsheet there, you can see we're about 7% effort in zones four and five. And in terms of distance, about seven kilometers hard effort. So it was 35, 36 ish kilometers for the week last week and yeah, about seven kilometers of hard effort. Everything else, low heart rate, easy running. So I think I can claim some legitimate excuses for my Paltry 35K in week four. I did about 50% outside, 50% on the treadmill, maybe a bit more outside, 19K outside, 17K on the treadmill. So a little bit more outside. But yeah, I hope you'll forgive me and hopefully we can get back up to speed this week. We'll see if we can get somewhere close to 100K this week. So that'll be week five. One more week of 100K after that and then I'll start to try and increase the distance, the mileage that I do each week as we approach the Paris marathon. Will five days of no running have affected my training? Will it have affected my fitness? Well, I'm hoping not. Although the vast amounts of cakes and sweets and biscuits I ate may have done. However, often when you're training in a training block, you will take a week of recovery. So a lot of people might do three weeks of building and hard efforts and then take a week of recovery, lower mileage, slightly less stress on the body and then they'll do another three weeks of hard effort. I haven't tended to do that in my training blocks but that does seem to be quite a standard way to run in a training block. So maybe we can count those five days off and my rest week in this training block. If you ever have periods like this in your training block, then don't worry about it. Look, life gets in the way sometimes. Sometimes illness happens, injury happens. There's nothing you can do about it. We just have to deal with it and get on with it. We can't make ourselves feel bad about it. We just have to deal with what we've got. The best you can do is just get out there the next day that you can and run again. Just keep that consistency as much as you possibly can but when life gets in the way, don't worry about it. Just chill, relax. It's only running. If you've missed the previous episodes in this series then please do click that link there which will take you to the playlist for the Paris-Marathon training series. What's your training looking like at the moment? How are you feeling? Have you had any missed days? Any illness, any injury? Let me know in the comments down below how you're dealing with that and we'll see you for the next one. On the start line next time, bye-bye.


find your crew and find out who else is battling the same things that you are. We need to transform our economy from being linear to being circular where we value things, looking to regenerate our natural systems and increasing our natural capital is fundamental to achieving sustainable development. Managing Ways as a Resource is actually a fundamental part of sustainable development.


Hello everybody hooded cobra commander 788 here. It's time for another donation unboxing video This is the stuff I got at the PO box this month as always if you would like to send something to the channel I will put the PO box on the screen right now. That's where you send it But you should never feel obligated to send anything if you have any doubts about sending anything to me I would rather you just keep it.  I'm very grateful to everyone who chooses to do this You do not have to choose to do that. It's just you're very generous and it It's really special to me. It means a lot to me and I want to show my appreciation So we do that by opening this stuff on camera so I can say thanks to you directly This is the stuff that we got And we're gonna open it up. I've already cut the boxes open. I didn't cut this open But I've already cut the boxes open I have my handy knife in case there's any interior packaging that I need to cut open But I've not looked inside so I don't know what this is Let's open it up and find out right now. Let's start with this letter and this letter Is from Kenneth. Thank You Kenneth I am pulling the letter out of the envelope right now As always with letters I scan through them to make sure there isn't too much personal information I don't want to read out your personal information in a video So I'm gonna read through this really quick And then I'll be right back with you. Hang on There is a little bit of personal information here, but not too badly. It says dear sir. Hello I like your YouTube series. I hope the series continues I collect 80s GI Joe figures loose if you know who to get rid of them And just let me know please write back stay safe and then he has his his full name and address there I won't read that but I'll say thanks Kenneth I will do my best to reach out to you as soon as I can It's a little bit of a busy time right now as we ramp up and get ready for Cobra convergence But I do appreciate this correspondence as with other letters I have a folder that I keep these in I will keep these letters forever I will cherish these letters that you send to me and thank you Kenneth that that means a lot to me Thank you for taking the time to write in now. Let's get to this and I I very Helpfully forgot to to cut this open. So let's do this. This is from This is from painted plastic the YouTube channel painted plastic and That's it's a great YouTube channel He's done some Customizations that I've shown on this channel some really cool stuff I believe I know what this is because he told me what he was gonna send but I'm gonna open this up And I'm gonna show you what it is So try to do that. I'm not cut my table, but it's kind of thick. I don't think it's gonna cut my table Yeah, should have should have opened this should have cut it open before Before the start of the show. This is show prep That's what this show needs is show prep and there we go. Well, maybe there we go Oh, here we go. We got it. We got it. We got it. I'm trying to There we go. Okay, so let's Yes, yes, there is tape on the inner packaging to cut so That's why I have this There we go. We got it. We got it. I thank you Brandon. Thank you for this Let's check this out Yeah, okay, so this is what this is what this is these are Figure stands, but not any ordinary figure stands These are 3d printed figure stands for classified six inch figures So it's got the peg size for the classified figures But it is made in the style of the old Battle stands from the the vintage era from like the 80s and 90s figure stands This is really cool. He told me that he had these and asked if I wanted to try them out. Absolutely I want to try these out so In a future video, I'm going to pop some Some classified figures on these and just see how they work. I think this is a really cool idea Most classified figures do not come with figure stands. In fact, the only one like This it's not actually classified. It's like the retro six inch series This bareness has a figure stand and it's like a modern style figure stand but These are vintage style figure stands and I'm just super curious about these so thanks for this This will be useful and I'm really looking forward to trying these out Next I'm going with this box right here for no other reason than I just happened to put it on top So this is from someone who would like me to not disclose their information in a video So I won't but I will say thanks to that person. I have received more than one thing from this person I very much appreciated. It's very nice and very kind. So thank you for that but let's open this up and see what's in it and immediately I See a letter. So before I Read this letter aloud. I will read this letter to myself and I'll be right back with you Okay, if this says public letter on the top. So I think it's safe to read this So I'll I'll read this not disclosing any other information on here, but this says it's public So I think we're okay. It says hello HTC 788. Hello This month I've started with the obligatory GI Joe figure retro collection. I believe after that I'm after that are a few transformers including one in need of restoration if you're willing I've never tried to restore a transformer before that it sounds like an interesting challenge There's also a bag with two items for your daughter. She loves that by the way. She really enjoys that Um, also some Joe scale monsters the bottom of this package has a special item because ain't no party like a third party Diosauts so thank you very much sir very much appreciated Let's see. Let's just see what we got. I'm put this over here for safekeeping and right off the bat I see an action figure and right off the bat. I see That it is a modern Flint figure I like flint. I do I dig I dig some flint. I really like the version one flint I just think that's a really classy looking action figure And uh, this is this is quite nice. This is quite nice. So we're starting out strong. We're starting out with a really nice flint figure Uh, and let's see what else we got Um, we've got some bubble wrap you can never go wrong with bubble wrap You know, you gotta you gotta protect this stuff because the postal service will not protect it for you You gotta protect your stuff. We've seen what happens when the postal service gets its hand on these So good job. We've got now. This is interesting. We've got some transformers And um, I I'm not I'm not unfamiliar with transformers as a kid. I had some transformers, but um, These are of a generation that I would be a much less familiar with Um, so yeah, I'm gonna I think when we're done with the video here I'm gonna play around with these a little bit. Um, I do not want to lose their bits though and I'll lose the parts That guy's cool looking Yeah So, yeah, I dig that. Um, all you transformers guys are probably shouting out the names of these guys, uh Right now and uh, I wish I could hear you. I wish I could in fact Maybe I can shout louder shout louder at the screen and and I might be able to hear um, so yeah, that's um Uh, that's that's cool. What else we got here?  Oh, it looks like it actually transforms Does it actually transform it it does. Okay, cool. No, I'm gonna play around with this stuff I'm going to play around with this stuff um after this video because I don't have a lot of transformers. I don't get an opportunity to play with a lot of transformers very often I'm very curious about this. I think I will let my daughter open this She she really digs that kind of thing. Um, so, uh, let's uh, let's keep digging. We have oh, what's this? Oh, that's cool Uh, okay, let me See what we've got here We've got a couple different things here um Oh, and it's it's zelda. So is this the stuff for okay, cool This is america from um From uh, dr. Strange multi-versive madness. Uh, really nice figure Really solid figure. I think this might be the thing for uh for audrey There's also zelda patches. It's very tempting to keep these. I do like zelda myself, too But she will really dig these Um, so that's awesome. Um, there are a couple extra hands for the for the figure. That's a really solid figure This is a really nicely designed figure Just just taking a quick glance at it. That's it looks good. It looks really good. Um, I Okay, and we got Uh, we got we got rodimus prime here dig this Yeah, it's it's like in parts here, but it's rodimus It's not hot rod. No, this is this is post matrix of leadership rodimus that is I never had that transformer going up and I did like the uh transformers movie. I liked it a lot But at that time I wasn't buying a lot of transformers toys Um, so I never got any of those. I never got any that's it. This is the closest I've been to a rodimus So that is awesome. Here's an alien There's a xenomorph here Dig this It's a it's a an orange xenomorph. So this is um a xenomorph that is specifically genetically modified to attack timber He'll be terrified by the orange color. It's really nicely sculpted though. That's That that's um remarkably accurate. That's that's really cool. Um, I'm there and we've got a We've got an optimus prime bubble guy. I want to show you all the stuff Um, these must be yeah, these are the The joe scale monsters that he was referring to and we've got like a a blue xenomorph Looking wicked We got a blue one. I probably don't need to take all of these out of the packages But but i'm going to anyway because I want to show them to you Come on. Come on. Here we go. We got a green one. I like the green one I think the green color actually goes the best with it um Yeah, but dig that these are really well Well reasonably well articulated too not so much at the elbows, but wrists and shoulders and knees and the tail and the head Really nicely done and finally there is a red one Um Come on. There we go. I'm trying to get my fingers to work Here we go Um, yeah, like they kind of look wicked all distorted like that that To fit in the packaging they uh There's some body horror stuff happening there and this one has elbows elbows and um wrist articulation Yeah, this is like the more like quadrupedal style No, I dig that and they are in joe scale. This would be terrifying. We could Create hey look at this of Going right back to what I mentioned before Here's hot rod There's hot rod I'm really interested in a hot rod. Like I said, I never had him never had him and um, this is the closest I've ever been to a hot rod toy I'm not really sure like why The movie didn't create a renaissance for me in uh in transformers toys. It just didn't um, I was you know still Getting gi joe at the time And and I and I had some transformers But uh, but yeah, I didn't jump back on to buying transformers despite that really really enjoying the movie. There's megatron Looking megatrony And And we've got this guy and I don't know who this guy is. Uh, this is not one that I'm familiar with This is a transformer. Yeah, you trans transformers guys shout more loudly at the screen Shout more loudly at the screen and I will be able to hear you As you're shouting the name of this guy who I'm sure you instantly recognize Uh, good colors on this though Nice very very intricate very intricate. Um, so let me move these out of the way. We've got more Kind of moves this at the way And Finally we have Trying to keep everything together Oh, hey cool All right, first of all, let me make sure there's nothing in the bottom. I've made that mistake before but yeah, check this out It's like so this is the third party thing and it's like a erotomous prime Third party figure and I I have zero experience Uh with these third party transformers zero So this is like All new to me. Hey, that looks really uh That thing fell off. Yeah, here's the paperwork. All right, and the accessories but um, but dig that I'm not sure if I should like take it all out right now, but I'm just really curious I will take a closer look at it later But for just for a minute Let's pop this out and take a look at it. That is that is hefty That is substantial Um, so yeah, uh, thank you for this and thank you for all your support You've been a supporter for some time and I appreciate it a lot Uh, but thank you for this. I'm going to carefully put this away because I want to take a closer look at all of this Um, as soon as we're done here, but uh, I just want to say thank you And uh, you know, I hope you will you will stick around and continue enjoying the show I'm gonna go with this one next. I usually save the biggest one to last So this is from uh, this is from kevin. Thank you, kevin If you don't watch the show peg warmers on youtube, you should it's a really good show in fact Right here is A lovely peg warmers card. I don't have cards I don't have these uh postcards like that. I need cards Uh, this says yobi. Hope you can find a good use for this kevin. Thank you kevin. Let's see. What's in the box What's in the box is uh blue. It is blue fabric. I know what this is I know what this is. I know what this is. Do you know what this is? I know what this is. Let's see if you can figure out what this is You see it You see it. You know what this is this my friends is A cobra commander costume I already have the cobra commander hood And this is the costume. Look, is this a cape that goes with it? Whoa, man Uh, so this this is awesome. It's got the cobra the cobras on the on the cape um, this is cool. Um, I uh I'm gonna try this on uh, if it's not my size It looks like it might be a little big for me, but I can like take it in or something But uh, you know, I've talked about the idea of cosplaying before and we got ourselves our whole uh cobra commander costume And and like and I can put the hood that I already have Together with this and I've got a complete costume. That's awesome. Uh, so, uh, thank you kevin and Uh, and thanks for peg warmers. It's a great show and I hope you will check that out I try to catch it, um With on the premiere as often as possible if I can't catch it on the premiere You know, I watch it on the replay But uh, great show great, uh, toy focus show they talk a lot about gi joe But lots of other things too. So awesome kevin. Thanks for this and uh, and I will try to find a good use for it That brings us to this guy and this is from hose. Thank you hose. I am going to Open this and I immediately see a letter. Oh, and I immediately see what it is Okay, uh, let me look at this letter and as always let me read this letter to make sure there isn't too much personal information one moment Okay, uh, not not too much personal information here. It says greetings as for me the last few years have been difficult I understand I I I sympathize very much You may think that making gi joe videos will have a limited impact But nothing can be further from the truth when I get home from work I have the opportunity to watch one of your videos I can travel to that extraordinary moment in my life. Thank you very much for the work continue God bless and it gives his name Jose, thank you. Jose, uh, ps sometime ago I bought these gi joes after thinking about it I know that they are better in your hands. I hope you can do a review So thank you. Jose. That's very very kind of you to say I appreciate that a lot I will be keeping this letter always and forever and uh I I see what these are I know what these are you're gonna get a kick out of these Just take a look at these check these out. Um, let's see. We'll start with this biggest one Yeah, this is You've probably seen some of these This is the construction set These are the uh, the pseudo lego sets That hasbro did I guess they were licensed who they licensed these to licensed to somebody Uh, forever clever. Is that the company name? licensed by hasbro. Um, so yeah, these are these are like lego compatible Construction sets and this is huge. This is obviously this is the cobra rattler But there's a lot more in here. Let's check these out. Here's a smaller one. This is oh, hey, this is The snake eyes ninja cycle. This is the one I had my daughter in fact, it's right up there. I showed you this Um, I was so curious about these I had to get one and this is the one that I got and I've got a ton of them now. So yeah, I've got I've got to do an assembly on these, right? I've got I've got to do assembly videos on these Uh, there's lots of cobra stove. There's one. I almost missed one Yeah, there's a cobra fang here I mean, they look cool. They really do. Um, I I'm I'm really curious about About these um, and how well they actually go together because that has been a criticism of these So, um, I'm very eager to try these out It doesn't matter to me because I'm gonna have fun either way. I'm gonna enjoy this no matter what but like We've got an a ninja aw striker Um, so kind of reminiscent of the uh, gijo retaliation movie Uh The aw striker that snake eyes was driving. We've got a cobra ferret Uh, we've got and now we've got some huge ones. We've got what is this? Um, this is it has an aw striker on the front But it's totally different. It has um, Uh, a ninja motorcycle. It has a drone. It has like a some kind of a missile Uh vehicle not not a vamp or an aw striker. It looks like it has snake eyes duke and Uh Falcon I guess or is that is that general colton? It might might be general colton I'm not sure there's a whole lot that comes in this and it's like not regular gijo vehicles. That's some gijo characters But it's some some different vehicles I'm very curious about that. I I'm I'm dying to open that But we've got oh, yeah We've got a snow cat Check that out Um, if if these were high quality These would be really awesome because like here's a Uh, here's a sky striker Just in time for a top gun maverick There's your sky striker right there and uh A nice ace in a flight suit. It's that that actually oh Almost sorry. I almost knocked it over nice ace in that flight suit. It looks really good and we finish it up with What are we finishing this up with with oh, it's a sky striker and a night raven in the same box um, so wow Impressives and um, yes, I will be opening these I will be putting them together and I'll I'll try to do some assembly videos as soon as I can Um, the desire to do them is there Getting the time to do them is more difficult, but absolutely man. I want to look at these So thank you very much for these and thank you to all of you who sent stuff in and even if you didn't send Stuff in thank you for being here and thank you for watching And that's what we got this month at the po box and I just want to say thanks. I want to say thanks to all of you Uh, you've been very kind to me. It means a lot to me I mean, obviously this is very generous everything that was sent in is very generous and it's very touching that you would think of me To do something like that, but I'm really thrilled just to have you here and going on this journey with me It means a lot. It really means a lot. It means maybe more than you know, so thank you. Thank you for that and um, uh Again, if you'd like to send something in never feel obligated to do that really do do not feel obligated If you'd like to though the address will be on the screen right now. That's where you would send it if I receive something This month then next month. I will do another video like this Uh opening whatever we get and saying thanks for all of that Um, if we don't get anything then I just won't do a video and that's fine with me too because I really am happy just having you here So thank you. Um very soon. I will be in august uh, georgia for joe fest. That's coming up really soon I've got a lot of work to do before then So I'm gonna jump on it. I've I've got to all accomplish a lot before joe fest. So Um, yeah, I can't uh, I can't sit around but uh, but thanks for this I'll see you all soon. I'll see some of you in person soon at joe fest and until then remember only gi joe is gi joe


At Appalachian Wireless, all smartphones are 50-100% off retail pricing for back-to-school. This includes all smartphones, so don't be tardy. Don't miss the bus. Get to Appalachian Wireless today. Two-year agreement required excludes outright purchase and advantage plans, while supplies last. Set against the backdrop of a fire truck, representatives from several Letcher County fire departments met with the community Thursday. The discussion at the meeting centered upon the struggle's fire department's experience daily, with not only attracting new members, but also with dollars and cents. We're in danger of shutting down. Fire departments across eastern Kentucky are struggling nowadays, with cold-savarance dollars continually decreasing. Other fundraising efforts seem to continue to fall short. That combination could doom local departments and leave communities unprotected. Everybody's having a hard time. And we're trying to figure out ways, working with the physical court on a way to help fund these fire departments. Fire subscription fees are on the table in Letcher County, but they have not yet been put into effect. Fire department representatives say that could help keep departments operating. We've got financial reports here, you know, I hate to look at them anymore, because what, how it's dwindling down to where there's not going to be, we're in danger of shutting down, basically, why we're doing this. A lot of people got to misconception when they had the things, everybody said, oh, well, if you don't pay, they ain't going to buy it too far. And that's the thing we want to put in this, we want people to know, that's the farthest thing to prove. We'll do, not only that, we'll do what everything we still do, whether you pay or not. That's the point. And we want people to know that. And if they know that, most of them will say, yeah, we don't care if they help you. People's interested in what's going on, you know, and want to try to help us too, you know, as they're saying, help us help you.  Further meetings are planned in Letcher County, in making Chris Anderson, EKB News. Okay.


What was the genetic make-up of the incredible Cordidware culture of Europe? But first, what actually was the Cordidware culture? Now, the Cordidware culture refers to quite a broad archaeological zone across Europe, dated from around 3000 BC to 2350 BC. It covered a vast area, from a contact zone with the Yamnaya culture to the east, just north of the Black Sea, I have made various other videos on the Yamnaya that will link above. Through large parts of northern Europe and into parts of Scandinavia, as territory can be broadly described as stretching from the Rhine River in the west to the Volga River in the east, the Middle Niber culture served as a bridge culture between the Cordidware and the Yamnaya cultures. In general, the Cordidware culture is considered to be a likely vector for the spread of many of the Indo-European limeges into Europe. It's a culture that has a few names, and in Scandinavia it's often referred to as the single grave culture due to its burial practices. There's an offshoot culture as well in Scandinavia that's often referred to as the battle axe culture. The name Cordidware was coined by a German archaeologist in the 19th century, derived from its cord-like impressions or ornamentation characteristic of its pottery. These are some examples of Cordidware pottery, and you can see the beautiful cord-like patterns. Now it's important to note that the Cordidware culture wasn't necessarily a unified culture as such, and given its geographical breadth, that's perhaps not a major surprise. It was connected and interacted with numerous other archaeological cultures across Eurasia, such as the Bellbeaker culture that was more to the west. Some common traits that we see in the Cordidware culture include similar burial practices, distinctive pottery with cord decoration, and unique stone axes. But what actually were these burial practices? Well, the Cordidware culture practice single burial, hence why it is often referred to as the single grave culture, with the deceased usually being accompanied by a battle axe, amber beads, and pottery vessels. Other grave goods also included wagons and sacrificed animals. Burial occurred in flat graves or below small tummalli and a flexed position. On the continent, males lay on the right side, females on the left, with the faces of both orientated to the south. However, in Sweden and also parts of northern Poland, the graves were orientated north-south, mainly on the left side and women on the right side, both facing east. Now what about the origins and the genetics of the Cordidware culture? Well, the first thing to note and annoyingly so for me that had to research this video is that it is not straightforward and I soon found this out and I tried to research this video. So one of the main takeaways we can take up front is essentially that the Cordidware culture was very much a melting pot in the genetics of ancient Europe in the early Bronze Age. And it was influenced by forces to the east, to the west, and also previous cultures, such as the funnel beaker culture and the globular amphora culture. The nature of the Cordidware culture being such a melting pot means it's hard to get a precise breakdown, a complete roadmap of the Cordidware people. But there is some main points we can note. The first thing to note is there is a debate within the academic literature as to the origins and the genetic makeup of the Cordidware people. One line of argument that's more of the traditional line of argument basically suggests that the Cordidware people were descendants of the Yamnaya, particularly Yamnaya males that had migrated from north of the Black Sea into the territory of the Cordidware people and in modern-day Germany, Poland, etc. These male Yamnaya migrants that migrated westward then married women from farming communities in what became the Cordidware culture. A study published in Nature in 2015, for instance, argued that Western and Eastern Europe came into contact around 4,500 years ago as the late Neolithic Cordidware people from Germany trace 75% of their ancestry to the Yamnaya, documenting a massive migration into the heartland of Europe from its eastern periphery. By extending their model to a three-way mixture, they estimated that the ancestry of the Cordidware people was 79% Yamnaya-like, 4% Western and Hundergatherer and 17% early Neolithic. This study did caution, however, that some of the individuals studied may not have been directly ancestral to Cordidware individuals from Germany. It is possible that a more Western and Yamnaya population or an earlier pre-Yamnaya steppe population may have migrated into central Europe and future work may uncover more missing links in the chain of transmission of steppe ancestry. Another study from 2015 published in Nature looked at the population genomics of Bronze Age Eurasia and also noted strong genetic links between the Cordidware culture and the Yamnaya. Populations in Northern and Central Europe were composed of a mixture of earlier Hundergatherer and Neolithic farmer groups but received Caucasian genetic input at the onset of the Bronze Age. This coincides with the archaeological well-defined expansion of the Yamnaya culture from the Pontic Caspian steppe into Europe. This admixture event resulted in the formation of peoples of the Cordidware and related cultures and supported by negative admixture F3 statistics when using Yamnaya as a source population. Now, if you want ad-free videos and also your name and the credits of my videos please consider supporting my work on Patreon and helping me make better videos. Please check out the top link in the video description below for more information and thank you for your support. Now on with the video. Now, incidentally, that'll quickly note this study also touched on lactase tolerance in the presence of a certain allele that basically supports lactase tolerance that potentially originated in the steppe area. I have touched on this previously connected to the Yamnaya culture but the Cordidware culture may have had a relatively high amount of lactase tolerance within it compared to other populations of Europe as the study noted. It looked at particular allele associated with lactase tolerance i.e. the ability to digest milk into adult food in particular RS4988235 and noted it was low in Bronze Age Europeans in general but highest in the Cordidware culture and the closely related Scandinavian Bronze Age cultures. In general, the study found that the Bronze Age steppe cultures showed the highest arrived allele frequency among the ancient groups in particular the Yamnaya indicating a possible steppe origin of lactase tolerance. So these studies essentially paint the picture that the Cordidware culture are descendants of the Yamnaya culture and they're very closely connected. Albeit it does note that the Cordidware culture did still retain a decent degree at least of ancestry from earlier Neolithic people of Europe but it's still large influx of the Yamnaya and a very strong connection to the Yamnaya. This view has been challenged however. Barry Curnliffe for instance, the Emirates Professor of European Archaeology at Oxford University as well as other scholars have argued that available Cordidware samples do not carry paternal haplogroups observed in Yamnaya male specimens and thus Cordidware populations could not be directly descended from a mass migration of Yamnaya males. Individuals from the Pontic Caspian steppe associated with the Yamnaya culture carry mostly R1B haplotypes whereas most Cordidware individuals that have been studied so far carry R1A haplotypes although some do carry R1B. So what can we make of all this? Well in recent years there's a growing theory that potentially the Cordidware culture instead of being a direct descendant of the Yamnaya culture basically existed and grew in parallel to the Yamnaya. So there was lots of crossover in mixing between the two cultures but essentially the Cordidware culture could have evolved essentially independently to some degree as a parallel culture to the Yamnaya culture as opposed to being directly descended from the Yamnaya culture. A more recent study from 2020 gives us some insights into this published in scientific reports entitled Cordidware cultural complex they uncovered using genomic and isotopic analysis from southeastern Poland. They essentially sequenced the genomes of 19 individuals located in the heartland of the Cordidware culture complex region southeastern Poland. This study found that there was a stronger continuity with earlier Neolithic populations than previously observed but still the presence of the Yamnaya is detected. In contrast to observations by Eurus et al. we did not find mitochondrial lineages specifically linked to Yamnaya pastoralists. Instead most of the mitochondrial DNA lineages found in a sample may be associated with European Neolithic farming groups as is in the case for the Western Cordidware sample in the earlier study. Our results would indicate a stronger continuity with the earlier Neolithic populations than previously observed. In other words, our study detected traces of an evident incorporation of local individuals into the migrating groups. However, the funeral rave rituals seem to have been affected in limited extent as the burials exhibit the typical Cordidware pattern in all cases examined. The Y chromosome haplogroup lineage R1B M269 or RL11 are characteristic of Yamnaya and Bellbeaker individuals and they were particularly widespread throughout Eurasia and the Bronze Age and thereafter. Curiously, the haplogroup is uncommon among other published Cordidware complex individuals from Europe including in Germany, Poland, Bohemia, Estonia and Lithuania and is associated with the later Bellbeaker communities. We see the inclusion of Yamnaya genetic signals but again in a different manner than what has been shown in adjacent regions. These results indicate a higher level of Cordidware culture continuity with earlier Neolithic individuals than those previously studied. The results also show that the Cordidware culture groups exhibit an influence of the Steppe world, i.e. individuals with specific Y chromosome. Later the influence of the Bellbeaker culture communities was stronger. This study then goes on to note a very important point. The geographical variation and the impact of the Yamnaya migrations. Our results emphasise the different impacts the Yamnaya migration event had on different populations across Europe, i.e. the genetic legacy that the Yamnaya process left varies greatly between regions and cultures. The southeastern Polish Cordidware culture individuals are significantly more closely related to the Yamnaya than the Cordidware culture individuals from the Polish lowland supporting the differentiation between the various Cordidware culture groups from Central Europe. This study also goes on to note a connection between the Cordidware culture and the Afanasiaevo complex, a culture further east of the Yamnaya that existed in southern Siberia between around 3300 and 2500 BC. It should be noted that the Yamnaya culture and the Afanasiaevo culture were closely related to the world. As the study noted, the most unusual signal identified is the one between the Cordidware culture and the Afanasiaevo complex. This genetic incorporation from a steppe population further east than the Yamnaya culture is novel for these parts and suggests a Cordidware culture population structure in history more complex than previously thought. Although our results should be treated with caution due to not just low number of samples but the appearance of the same signal in individuals that predates steppe expansions and are geographically more widespread. Our findings are in alignment with the recent archaeological reviews suggesting lesser impact of the Yamnaya event than estimated in earlier genomic studies. The Cordidware culture ancestry exhibits links both the common mitochondrial DNA lineages of the initial Neolithic but also to those assimilating and replaced by the Yamnaya pastoralists. Another study from 2021 seems to echo this emerging picture in a paper titled Dynamic Changes in Genomic and Social Structures in 3rd Millennium BC Central Europe where they studied 271 human genomes dated between 4,900 and 1,600 BC from the European Heartland, Bohemia. We show that early Cordidware were genetically exceptionally diverse some resembling globular amphora and the Yamnaya with a few also falling outside of previously sample Central European Neolithic genetic diversity. Such a notable diverse signal is likely the result of the agglomeration of people from diverse cultural and linguistic backgrounds into an archaeological similar yet polyethnic or plural society. Important factors in ethnic identity include ancestry, history, ideology and language. The level of genetic differentiation i.e. time since common ancestor between early Cordidware individuals with high and no step ancestry implies long biological isolation and hence different histories. The finding of globular amphora-like and Yamnaya-like genetic profiles in early Cordidware suggests integration of people who came from ideologically diverse societies. i.e. neither cultures practiced strong genetic differentiation and mortuary practices unlike Cordidware. It is likely that the globular amphora culture and the Cordidware Yamnaya individuals spoke different languages meaning that early Cordidware society and Bohemia encompassed people with demonstrably different histories likely originating from ideologically diverse cultures who spoke different mother tongues. Now, what does this all actually mean? What are some main key takeaways that we can take from all this research? Some of you may be like WTF, what is going on here? There's so much contradictory information and so much nuance to all this research and I think basically the experts can't fully figure it out which is probably one of the main takeaways but there are some general points we can note and I boiled it down to five main points five key takeaways from the genetic makeup and DNA profile of the Cordidware culture. Firstly, the Cordidware culture was very much a melting pot of Europe and as a complicated genetic landscape it integrated various peoples of different backgrounds. Secondly, the Cordidware culture probably does not derive as much of its ancestry from the Yamnaya culture as previously thought but there is still a step component in their ancestry and crossover between the cultures and zones was present and quite common. Thirdly, the Cordidware culture retains a good amount of ancestry from the early on Neolithic populations of Europe as well and migrants integrated with the local population to a large extent as opposed to replacing them. Fourthly, there is a large geographical variation in the genetic makeup of the Cordidware culture with the influence of the Yamnaya migrations not evenly distributed and this may perhaps explain the different findings and interpretations in different studies. Fifthly, the Cordidware culture probably had different influences on it outside of the Yamnaya culture perhaps from the Afanaceaevo culture for example although this culture is very genetically similar to the Yamnaya culture. Now the final point I want to make is the link between the Cordidware culture and a later culture known as the Sintashta culture. The lived around the southern Urals dated to around 2200-1900 BC. This culture is widely regarded as the origin of the Indo-Aranian languages whose speakers originally referred to themselves as Ari or Eri. The earliest known chariots have been found in Sintashta burials and the culture is considered a strong candidate for the origin of the technology which spread throughout the old world and played an important role in ancient warfare. Now one main theory is that the Sintashta culture was formed by the eastward migration of peoples from the Cordidware culture but this is a story for another time. Now speaking of the Yamnaya culture what are the origins and the genetic makeup of the Yamnaya people themselves? To find out please click here. Thanks for watching, please subscribe and hit the bell to support my work on Patreon please check out the top link in the video description below and you'll get exclusive benefits such as add free videos and I'll see your name and the credits of my videos. Thanks again for watching, please tell your friends and family about this channel and I'll see you next time.


We spend on average eight and a half hours a day sleeping, so having a good mattress is really important. So here at Argos, we've got the information you'll need to buy the right mattress for you. There's a few types of mattresses for you to choose from. Open coil is where the springs are joined together using coiled wire, which spreads the body weight across the surface. They help to retain the shape and comfort of the mattress. Continuous coil. The springs are made from one piece of wire intertwined, so each coil draws support from those next to it, increasing stability and durability. Your body weight is evenly distributed across the surface for support. Pocket sprung. Pocket sprung is where the springs are housed into individual fabric pockets, which allow each spring to work independently and absorb weight individually for excellent support. This is a great option if you sleep on your side as it puts different pressures on your spine. It's ideal for partners of different weights or size to eliminate roll together. If you move around a lot in your sleep, your partner is less likely to feel it. Zoned. The springs are more frequent and firmer in different parts of the mattress, providing more support for your hips and lower back. This reduces pressure and discomfort. Memory foam. This is heat-sensitive and moulds to the contours of your body for comfort and support. This allows for minimal impact on pressure points. Latex. This moulds to your body as memory foam does, but instantly recovers its shape, so perfect for continual movement. Once you pick the right type, there are a few finishes to pick from, affecting how it feels to sleep on the mattress. Microquilt. Features a quilted surface for comfort. Deep quilt. Has deeper layers of quilt for extra comfort. Cushion top. Has an extra layer of padded fibres woven into the top of the mattress for a soft feel. Pillow top. Will provide luxurious softness with its padded fibres on the top of the mattress. Tufted. Fine tapes inserted through the mattress provide a firmer feel. It creates cushions of super soft comfort. A traditional way of securing all the fabrics and fillings together. It's really important to choose the correct firmness to suit you, giving you the right level of support from your mattress. As a general rule, the heavier you are, the firmer the mattress you would need. Some mattresses even come with a range of benefits to help you drift off easier at night. Anti-allergy. This is where the mattress has been treated to protect against dust mites, fungus and allergies. A no-turn mattress. This simply means that you do not need to turn it, simply just rotate from top to bottom to keep its condition. A rolled mattress is rolled into a bag, so it's ready to take home straight from the store and easy to carry up the stairs. There are also mattress protectors, which help to extend the life and hygiene of your mattress. We hope that this helps in deciding which mattress will be best and most comfortable for you.


She can do my job better than me, guys. You hear that? Look at Bilobius just being racist. We're gonna whoop that nigga over to death. I said, I said I need some, I need a Christmas Tito. She picked out Bilobius. Guys, if I lose this game, she's gonna do the dishes. If I win this game, she's gonna do the dishes. I have her fully domesticated. There's nothing you can do to stop me. If you lose this game, I'm breaking up with you. Ooh, ooh, I'm so scared, no. Still clap your cheeks every night. Guys, off camera, I'm way different to her. Like, trust me.  What's good, boys? Welcome back to Wheel of Mutts. I hope you're loving December, because we got more Wheel of Mutts than you've ever seen. I will say that we are coming off of a hot loss. It was a very close game, and it was a great game.  He marched it down, milked the whole clock, and kicked the field goal when no time left. I did figure out my dilemma, though, by the way. At the start of this year, we were trying to figure out what to play in, whether that was regular season, all Madden seasons, or mutt champions. Turns out mutt champions is still five minute quarters. Head to head, regular season was previously five minute quarters, but they randomly switched it to four, which actually sucks, because I'm getting awesome games in regular season right now. Like, all my matchups are like, very close, great games, but it's four minute quarters.  You know how badly I want to open this? Yeah, I paid $1,000 to this thing, and it's just collecting dust, because there's no way I'm scoring a 40 bomb on four minute quarters. I shouldn't say no way, it's definitely possible. What I'm thinking about doing is maybe playing my next game in mutt champions. I don't know. The only issue is we gotta get to the playoffs and do the, it's all a big confusing mess, but for anyone who is confused about four minute quarters and five minute quarters, that should clear it up for you. And when I'm ready to go for the 40 bomb, I'm going to mutt champion. But right now, I'm not ready to do any of that, because I just lost a game 16 to 14. That's not even close to 40, and I lost. Let's talk about why I lost.  Tried to play a little too cheesy, was running the ball too much, using the clock too much. Number two, I think our offensive line could use some help. I did run the ball really effectively, but gosh, I mean, imagine what we could do with a good offensive line. And then I still now have holes on defense. We shored up a lot of this, but since we lost, we didn't get to keep any of the players. However, there was one lone soldier who was salvaged by the challenge we had last episode. That was 92 overall, Vince Willfork. I've got dual threat X factor and inside stuff on him. He's an absolute tank. I think this is definitely the right call. We've got a stud centerpiece on the D line and a stud centerpiece at middle linebacker. Let's try and get back to where we were last episode with a backer and edge rusher. And potentially we changed the offense up a little bit. I think this would be an amazing episode. Let's get it, baby! You guys are off school pretty soon, too, nah? I don't know if you're in college, you're in high school, you're graduated, but I know it's coming up soon. Top 12 on the auction house. What do you guys get off? You get off December 12th or something?  It's so nice.  All right, top 12 auction house. All I'm doing is I'm shorting the entire auction house by overall. I can choose one player out of that top 12. I would really like an outside linebacker. What do we got?   Oh my God, I'm hurting. That is literally the best player I could get right there. That is like one of the best past coverage linebackers in the game right now. I don't know if he gets a lurk artist. I really hope he does. Let's look at the rest of these though. Dexter Lawrence is our best player. I can't use him. I mean, literally I could. Shit, Reggie White's a really good option too, but I kind of like Derek Brooks better. Michael Thomas is a no, kin-kay love. Darnell Wright, Marvin Harrison, Ken Riley, Big Derek Thomas, Lightning, champ Bailey, between Reggie White and Derek Brooks. It's a bummer we didn't get any 93s. There's a couple of good 93s in the game. I was hoping to see one of them there, but I say it a lot, but beggars can't be choosers. So here's that Derek Brooks, 91 overall past coverage Derek Brooks, 91 speed. He's definitely, he's basically a better version of Dave Robinson, but I need to look up if he gets lurk artist. I assume he does. Derek Brooks, 91 overall abilities, lurk artist. Look at this, 390,000 coins. He quick sells for 350k. It's a 40,000 coin rental. 91 overall Derek Brooks. This is basically the Dave Robinson replacement from last episode. I'm gonna put lurk artist right here for one AP and we won't even skip a beat. Our first wheel spin was exactly what I needed. Can the second one be as generous? Getting 91 Derek Brooks there. Receiver mini game, but I did, I upped the coin values on these. So we can do one receiver mini game. We get 40,000 per tier. It'll be 120,000 coins on one player. I have to take whatever team it gives me. Not too geeked about that. I'm not gonna lie, but all right. Actually no, Olave Michael Thomas. What am I talking about? This is a great team to get. Red zone attack by far my favorite. I absolutely love this drill. Good route. All right boys, the important part on this one is catching it every single time. If you don't get the max multiplier, you can't get gold. So you have to catch it every single time. So sometimes I might have to just sell and go for the 50. Oh, but that could be, that could be both. You can get both yellow and red. I just did right there. Just gotta hold the multiplier. I'm gonna go for 50 here. We need 12,000 for gold cut into the edge, inside, out, good route. Take them inside, cut, cut again. Do we have it? We do. Two reps remaining. I gotta get, I gotta get over here. Oh, I'm boxed. I think I'm boxed. It all comes down to this. One rep remaining.  Please inbounce. Got him. Has a new high score for me too. 15,000 got the gold. We needed that. So 40,000 per tier, we got gold tier. So that's 120,000. Left tackles appear to be very expensive. Can I get an 89? I can, okay. So Armstead, Charles Cross, Willy Rove, Jordan Milada. I was thinking about going defense, but no, I'm gonna go Jordan Milada. 89 overall, powered left tackle. He's excellent. Last week I went all defense and I don't think that was the move. All right, boys, we got a big left tackle. We got a big outside linebacker. The final wheel spin. What will we be adding? Oh, dude, this is actually massive because there's new harvest limited. There's a prime time. There's a Chris Carter. So just for reference, there's Joey Porter Jr., PS2, limited Chris Carter, Jeremy Chin, Robert Hunt, Edger and James. There's some insane harvest cards. I'm gonna look at all the harvest players and I'm not sorted by overall. I'm sorted by time remaining. When I let this go, we can choose one player out of the top 12. We get two top 12 wheel spins today. One, two, three, time remaining. First one, Devonte Parker, Tevin Jenkins, Hardman, Schurf, Enzi Pierce, Mosley, Lattimore, Benjamin Pierce, Mahomes. Ooh. Do I swap out Johnny Football and I get a hot route master? Johnny Football is so much faster and I've loved using Johnny Football. I'm sorry, Patrick, my fraud, but I'm not gonna do it. Mosley's not bad and I could have a third lurk artist on the field. My dream has been to have three lurk artists on the field. So we're gonna go 89 CJ Mosley Darn. Honestly, I was really hoping to get one of those crazy limiteds, but there's a ton of harvest players in the game right now. I shouldn't be shocked. So DeMarcus Ware comes out of MLB2. CJ Mosley comes in. We're nine of nine AP right now. So if I want to run this lurk artist, I have to make a little bit of room here. Take Homer off of Durman James. We never needed this in the first place. We now have three lurk artists on the field to keep Derek Brooks, CJ Mosley, and Jordyn Mylada though. We have to win the game. Top three. Dave's last time. Lewis, Olson, Wilford.  You just looked at eight million points. That was limited Lewis, limited folk, limited puka. I'm so antsy. I almost forgot my challenge wheel. Our challenge wheel is spinning right now. Let me see what we got. Zero turnovers, 16 plus, especially different corners. I think it could be done. We need to score 16 points or more in one quarter. It's not an easy challenge, but it absolutely can be done. First in 10 gonna go play action. Greg Olson is butt naked.  He is user ink terminator. Don't tell me it's perfect accuracy if I miss it.  Play action. Oh, I like that. Zay flowers, big juke, another one. That Ray Lewis has Avalanche. I know that very well.   I just got to dodge Ray Lewis. Okay, good. Quarter round Ray Lewis, second and five. Man coverage, presumably.  I'm just gonna try and step up and get something out of this. Absolutely criminally bagged right there. Play action. Olson, wide open, great move. Stiff arm on Ray. First in 10, beautiful. Stretch alert bubble. That's the first time we throw the bubble. Oh, great juke, OBJ. First in 10, after seeing that, he's gonna commit to the bubble and I think the handoff's gonna be there. Or just kidding, that bubble's, kinda looks like it's open again. It actually, no, he committed to the bubble, but he's got it all bottled up that time. That's how you stop stretching your bubble. Just kidding. Oh, no, I thought I'd be fast enough to get around that. Third in 10, man, stop cheesing. Just go score. I think he's gonna leave Greg Olson open. Ooh, maybe not. Oh, he did. Bump. I'm gonna come out in the fake field goal. I hope he comes out in field goal block. If I had stood in that pocket, waited for Greg Olson to develop, it's a touchdown and I did. 3-0, hey, we scored opening drive. I'm happy. Since this is nickel, I don't think we can get it. Where is Ray Lewis's avalanche? Why is his avalanche not activated? Am I missing something? His avalanche was activated. Nice, hey, third and 12. We're playing great right now, but I am very confused on how I do not have avalanche right now. It's certainly on. I'm guessing pass here if we get. Just gotta go low, can't get, yes! What a tackle, Derwin. Those open field tackles are no joke. Fourth and sixth, end of the first. Ooh, wait a minute, start of the second. If I could turn over right here and score quick, I can get my challenge wheel. He's punting? Seriously? A punt? And Jamar Chase, there's a name we have not seen a lot of this season. I'm sorry. I'm sorry, Jamar Chase, but that is so open. I gotta take it. Let's go, no huddle. Let's try and get this challenge wheel right now. Greg Olson open once again. Might have had a little more yards there if I played that better, but that's okay. See, wait, yes. He's there, Jamar! Now we're cooking. A chain? A chain?  It looks like A chain! I'm gonna say it! Can I make that throw? Yes?  You're telling me Bucker can't kick this? Well, his punt decision was right, dude. He's holding me. I can only have two linebackers in and nickel. I don't think CJ Mosie was the right call now because I can only have, I'm maxed out at two backers. I knew you were going. Let's go! Derrick Brooks! Throws over the middle. Ray Lewis will get a lick on him. And he's even got limited Chris Carter. This guy act like unironically has 30 million coin team, maybe 20 million. Richardson Marshall, jeez. Oh, he got half back. Shit, and he's got so much here.  Now settle down, settle down, settle down. There's a lot of football to be played. He's gonna take off Richardson! Oh my God, no Clark is, but I don't think he's the guy for that tackle. He just made it. Hux, Hux! Oh, that was the final play of the quarter. Six oh half. Whoa, that happened fast.  All right, well, we gotta stop and get. Damn, I thought there was clock. All right, let's make him feel the heat. I got Kraus on folk here. Oh no, this is so bad.  Damn, I set six too. I set six on that blitz. And he ran play action. I gotta hope that we sack him there. Otherwise, yeah, he's got the edge there. Kind of like Jamar here. Oh, weird, never mind. That was on. He's in here talking about exclusive. Over top, no! This is gonna be tough.  How's it an early breakup? You threw it right at his hands. It's not an early breakup.  It's gonna take off with Anthony Richardson, go nowhere fourth and 12. Will Fork with a nice play and you're punting. What am I, what is going on? No, no, no, no, I'm not making the same mistakes I made last game, dude.  We're not gonna do that again.  You find a way. That is not the way. Insta throws it to tight end. Luke Musgrave third and goal. Hell of a play. Right up the middle, stuffed fourth and goal. Oh no, but he could still run it. Ray Lewis, it's up to you if he runs it. Play action. I don't get a minute. I got a light blue right there. Look, don't you see it? There's supposed to be a light blue guard in that and he's just not. Good block downfield. That's a lot of yards out of Johnny Football Red. They're needed it. Is there a way, is there a way to win this game? Playing this poorly, he's got 14 in the fourth quarter.  I love it. He abandoned his responsibility. Oh my God, I have tight end apprentice. Oh my God, I have tight end apprentice. First and 10. He sees a chance. I see this. Come on, let's play ball. I think I know my play. I think it's stretch alert bubble. Is there a more money play? Oh, he sees it. I got to go H-hand. The user was over there, but Loki, I still could have thrown it. Oh, runs the ball. We're all over it. Second and eight. Dude, I don't want to get shoot clocked down again in the fourth quarter, the four minute quarters.  Okay, he ran this last time, Patterson. Checks down. Great defense, third and six. And he can't get the two minute warning. Oh, six are putting again. Now you've lost. Now you've lost. This is a horrible decision. Dude, he punted me three times.  But that's the last mistake right there. We're going to win it now. Oh, this game I think I've ever won in my whole life. OBJ, but booty naked, no clothes on streaking. Give that man a felony. Second and three. Johnny football is actually throwing well, 14 for 18. It's just the interceptions and they were trash interceptions. There's the bubble. It's stretching. It's alerting. It's third and one H-hand. So he's sending a corner blitz to stop it. And I just pick up. I only got to get 20 more yards to get Bucker in range. Slants, baby. I do not want to. If this man's team, he has every limited in the game. That is limited Brian Dawkins, limited prime time, limited Ray Lewis. I'm not saying that he should have won because of it. I'm saying it's so expensive. I'm utterly shocked. Way to cut. I didn't think I was going to take that in. You got me motherfucker. All right. Good game, Matt. He does not seem to care about his timeouts. I think I just played someone who was aggressively drunk and I barely won. All right. Ice, never missed an ice kick in my life. I don't have the slow meter though.  I played so bad. We got nice and hot in that fourth quarter. Look at the score chart, man. Johnny football really did supplement fourth. 15 for 19, a touchdown and two interceptions. Anthony Richardson had two touchdowns, one interception. I can't believe he kept punting the ball. If he didn't pun the ball, he would have won. A chant, 8.2 yards per carry.  OBJ actually won me that game. Olson was five or 63. OBJ was four for 70 and a touchdown. This is a game I'd like to forget. Derrick Brooks with a really nice game. Five tackles to TFL. Ryan Dawkins, same five tackles to TFL. Dude, I like, I am unironically, if we go through his team, I think every single player in his team is unlimited. Ryan Dawkins, limited. Joey Porter, limited. Ronnie Loss, not a limited. Ray Lewis, limited. Deion Sanders, limited. I don't think Isaiah Sammons is limited, so I take that back. Kirst is all mad and Derrick Brooks is limited. Rossby's limited. Boyd is all mad and DRC is limited. Branch is a 92 from Blitz. He's a mill. Musgrave, I actually don't know. I don't know anything about him. Ross is not a limited. Bland is a limited. I honestly, like if I could send him a GGs and say GGs, I would, but it wasn't a good game.   Certainly did not complete my challenge wheel. We move to four and one and we keep the players we added today. My lot of great upgrade. I think Derrick Brooks, Derrick Brooks was definitely, I mean, that was a huge, huge addition. CJ Mosley's not gonna get too many reps because when I'm in nickel, we don't get to use Mosley. So next episode, I gotta get a replacement for Jacob Slade. Looks like Gerard Clark was coming in. Oh, it's cause he's my backup Rushdie tackle. That's why he was coming in. But either way, those are both silvers. I'd like to get that short up. Bruce Smith, I need somebody better here. I need somebody better for Pat Tillman. Might need better corners. We just saw a Sang Basti got horched in single coverage. And then offensively, I don't know, maybe somebody for Zay Flowers. OBJ was amazing today. Maybe somebody for Zay Flowers. Andrus Pete, Ryan Kelly could go. Nianne could go. Boys, a win is a win. I'm not gonna cry about it, all right? I love y'all. Thanks for watching. As always, get you guys a better game next week. I don't really got a choice. I gotta get you a better game next week. I love y'all. Thanks for watching. I'll see you then. Peace.