Thanks for coming to Ruby Monitoring State of the Union. I appreciate you choosing to come here instead of the future of Ruby keynote given at RubyConf. Cool story, real quick. At RailsConf, I gave a talk this year and Yehuda Katz's future of Rails was opposite mine, so I'm kinda making a thing out of this. All right, and I'm at Joseph Rousio, you can call me Joe, but that's on Twitter, GitHub. I am the co-founder of CTO at Librado, we're a company that does a lot of different things monitoring, hence my love of graphs. You can find me wandering the halls if you want to talk about why you should love graphs. Come say hi during the conference. And so I wanna start kind of with the motivation. So what's all this fuss about monitoring? If you've been paying attention, I think probably over the last two years maybe, there's been a significant uptick in kind of the discussion about monitoring and the mention of new monitoring tools. There's almost what I like to call a renaissance going on in monitoring now, and it's, I think it's interesting to look at why, because haven't we been monitoring for decades, right? As long as there have been computers, haven't been people monitoring them. And so I think it's kind of really instructive to look at what's happened in the way we build and deliver SAS over the last, say, 10 years.  You would need a dedicated ops team to service that. And with, you know, on top of your Linux servers, you'd be building basically a custom software stack in-house. And if we fast forward now about 10 years, our seed round now looks more like $20,000. Our infrastructure is usually in the cloud, AWS, Rackspace, wherever. So it's just OpEx, it's a very small initial outlay. If you're lucky you have an ops person, but chances are you probably don't, and you're doing dev ops, and it's just you guys who write the code. And you've built this, you're basically aggregating a lot of off the shelf open source software and external services. And so what that leads to for modern infrastructure is that we now have infrastructure that's far more agile than we used to. So we don't have to wait months for new servers. We don't have to plan ahead and, I mean, we have to plan ahead, but we don't have to do heavy capacity planning and say, okay, this is when we need the step-wise increase. Our infrastructure is now ephemeral, which means not only can we bring it in really quickly, but it can go away really quickly, which is kind of the more interesting part of that when it comes to monitoring. And so the end result is this new paradigm is we have more change, and I would claim worse tooling. And when I say worse tooling, I mean that because if you talk about the custom built software, I promise you the example I always use is inside Google.  So that's no good to those of us who are building lean services out of tools, open-source software we can find. And so that's a general reason for a shift towards monitoring, but then if you try to go a level deeper, and I try to look at, if you look at companies that I think are really pushing the edge in this space, so like your Etsy or GitHub, for instance, and what the kind of common thread was there. And what I kept coming back to was continuous deployment, right? So these are shops, the shops that are really leading the charge in monitoring all practice continuous deployment. And I think the importance for monitoring is continuous deployment, you require really five things to do this. You require continuous integration, right? Travis CI, your tests that we all ship. You need one click deploy, so it's very cheap to actually ship the site. Ideally, you're gonna have some feature flagging, so because we're shipping the site multiple times a day, there's lots of change and risk, we're gonna roll those out slowly. But then after that, once the features are out, the very next thing we need is actually monitoring. So if we're shipping the site, we're pushing new code out all the time, we need monitoring to understand what's going on in our production infrastructure. And alerting as well is, if you think of monitoring as looking at a dashboard and alerting as passive or active, rather, active alerting. And because I don't just wanna make wild claims that this is the reason for this, I spent about seven seconds doing a very inscientific research, but I looked at Google Trends for the term cloud monitoring and then the trend for continuous deployment. And I think it's at least an interesting correlation, which maybe someday I'll explore further. And so, okay, so continuous deployment. So what does this monitoring get us? Specifically, what does it get us? So some examples. Anyone who's ever managed a queuing system in production fears this graph because this is a stuck queue that's accumulating jobs or work units it's supposed to work through. And so what this graph has shown us is a regression. Someone shipped some code out or pushed something out at about, I think that says one, that caused the queue to stuck and it was noticed and then about an hour later, a fix was pushed out and we can see that the queue started to drain. You can detect outliers. So this is a graph of a cluster of basically frontend instances that are receiving request load balance and this is how long it takes for them to do authentication. So you can play the game, which one of these is not like the other. So we have a bad instance in our frontend that has to be taken care of. We can validate, so that's detecting regressions. We can also use monitoring to validate hypotheses about the code we shipped. So we say we're gonna put a performance improvement out. How do we know that that actually happened? And so here's an example of some work that went into to reduce the latency on a particular type of request and when it was shipped out, it dropped it from 100 milliseconds on average to 50 something milliseconds. We can validate that expected periodic behavior is being caused by what we think it's being caused by. This is like read operations and there's a batch op every 15 minutes that spikes our reads. So we can see that's what is causing it. We can inspect customer behavior. This is a graph during the leap apocalypse of malformed requests that our API was receiving. So we always have some undertale of bad requests coming in but when the leap second hit, a bunch of our customers code broke and started sending us bad requests. And what's even, I also think it's important is we can use monitoring to validate that our features are actually being used. This is just a graph we use, some new feature we shipped. So in terms of validating hypotheses, it's not just performance hypotheses, but it's even a hypothesis that this feature is adding business value. So when you ship a feature, is it being used? And then if it's being used, how does its use correspond to the performance of your site? And the last example, if none of those are interesting to you, is that you can use monitoring to find the chunky bacon in the wild, which is the best kind of bacon. So we can use monitoring to detect regressions. We can validate hypotheses about our code. We increase our code's resilience to change. And so the question I'd ask now is this sounding familiar? And I think it should because I'm gonna make a claim in this talk and kind of, part of my goal is a call to action around how the Ruby community views instrumentation and goes about instrumentation. But I'm gonna claim that instrumentation is unit testing for operations, full stop period. And so, yeah, if you wouldn't ship code without your tests, you shouldn't ship code without instrumentation. And that's decidedly not the state that we as a community are in today. And the reasoning for that, just high level, you literally cannot do continuous deployment. And if you believe, I'm also gonna claim that in the future, continuous deployment will be the norm. And exceptions will be rare cases, like if you have regulations from the SEC, for instance, but for shops to have the option, continuous deployment will be the norm and instrumenting code is gonna be required to do that safely. If you were at the talk just prior, service oriented architectures, right? So this is great because it decomposes our code into these small testable units, we practice that at Labrado. But you're also now running this distributed system with lots of running parts. And there's literally not a tractable way. The only way we can reason the truth of a system that's made up of lots of little services is to observe it in production. That's the only way. We can come up with a lot of fancy load tests and CI and we can get pretty close. But the only way we'll know for sure what's going on is to observe it in production. And lastly, I think it's very important because the devs are, we are the domain experts, right? I think it's a broken pattern to ship code that is patching functional tests over the fence or into interproduction.  Well, I have to start digging around. When we write the code, we have the mental model of what the code, we think the code should do and we know where to put the things that can validate that the code is doing in production, what we think it's doing. So if you believe that, then what is the state? If you have this religion now, you say you wanna do this.  Just an explosion, right? And you can go for pages and pages through your Google results, just searching GitHub. And I've put up here, there's some solutions up here that I think are really awesome and there are some that I think are really not awesome. And that's part of the challenge, is even trying to discern that.  So Project X that you found on GitHub does an awesome job of that.  Project X doesn't do that and it's this monolith and I don't know how to get in there, but this other thing does it. So I'll go get Project Y and then Project Z and before you know it, you're running all these little silos and having a lot of difficulty correlating across them. And so I would say definitely, if you look at the tooling we have today and these are the good tooling, so everybody knows New Relic in Ruby, there are monolithic open source software projects. So if you go into GitHub and search for Ruby monitoring, I'm not gonna name any names, but you'll find these projects that use some kind of an in-memory database and give you a gem to install that talks to the in-memory database and has a web server that runs. StatsD Ruby plus StatsD is and probably graphite on the other side of that or looks something like Labrado. You can use to pull stats out of your Ruby and push it to this Node.js statement called StatsD and services like ours, you know, who are all and so generally what you'll see is people picking several of these. Most people I know run several of these and I think to kind of come at this in a more elegant way, we really need to decompose the problem, right? And so I like to think of monitoring and I think there's this model that's starting to emerge not just from me, but from a lot of people telling this is that we have, we collect, we instrument our code, we collect measurements in our code. At some point those measurements are aggregated, both probably across requests or whatever the unit of work of code is, jobs, and then across processes and potentially even across hosts. Those aggregated metrics then need to be stored somewhere and they need to be stored somewhere that we can do analysis either on the way into storage or we can pull specific pieces out and do analysis as well as visualization. And Travis, one of the Travis guys is doing a talk later today which I think is gonna be good which is gonna delve into each of these blocks. For the purpose of this talk though because my goal is given the current state of the union I want instrumentation to be as common as unit testing. We're gonna hone right in on collection because I think a big problem right now is even if you're subscribing to this model and you have your stats D Ruby doing your collection you have your aggregation stats D, you've got graphite doing your storage and then you've got some dashboard on top of that. The problem with collection is by choosing say stats D Ruby if I say oh I'm just dumping my stats to stats D I've already made a deployment choice, an operations choice. I've said to the guys who are gonna run my code hey you have to run stats D, right? And this is already broken because there are lots of people who have no interest in doing that. They don't wanna run maybe they're, they don't like node period or they don't know enough about it. So I think it's important to look at collection and say what is the bare minimum that we can have in common at the collection point without bringing in any dependencies. So what do devs require? And I'm gonna split this into dev and ops but even if you do both you have to wear your hat separately. So I think devs require a concise set of instrumentation primitives that are powerful but easy to use. Minimal dependencies. Any type of external dependency like stats D or any other kind of aggregator or storage backend or visualization that you bring in is going to reduce the sphere of people who can use your instrumentation. So we wanna have almost no dependencies on what we do with the measurements after they're collected.  Ops require flexibility at all the other layers in the stack. Ops needs a way to get at the data you collect through your metrics and put it into whatever aggregation, storage or visualization tiers. They need simple introspection, right? So they need a simple way to see what you're collecting and they need a simple way to pull it out. So our ideal instrumentation library implements these primitives. It captures the state somewhere in memory in the process and it doesn't do anything else. It doesn't do trending. It doesn't keep samples over time. It just collects the measurements and it puts it in a safe place where something else can come and get it. And if you look, I think the model that we should look to follow, if anyone hasn't heard, you should check out on the jvmmetrics.codahale.com. And so Codi gave a talk at CodeConf about 18 months ago that I think kicked off a lot of interest in instrumentation. And the library he has on the jvm puts forward a small set of powerful primitives. And one thing that's cool about following that model is there have been other people emulate it. So there's Folsom on Erlang.  We run things on Ruby. It's really powerful if I can have the same primitives across different platforms and frameworks. So what are these primitives? So the simplest part, think to think of is like, how do we count stuff? How many jobs are in the queue? So we need some primitive. If you, I assume we had some gem called foo that we could, when we queue a job, we could just say, okay, I'm gonna increment this key. So our metrics will be named by a key, that's a human readable string. And when I complete a job, I'm gonna decrement it. And then what the counter is gonna do is basically know how many jobs currently in the queue. Okay, how do I track a rate? With that, I mean, say, how many requests per second are we handling? So I'm not really interested in the total number of requests. I mean, I could use a counter. I'm really more interested in throughput on this case, right? And so there's a primitive we call a meter. So here's an example of a rack middleware that's just gonna track the rates of error into our API, success returned out of API, and then not founds. Okay, so now we can do count things. We can track our throughput. The next thing is how do we track distributions? And by distribution, if you think of the question, how big are these requests, right? So if you have something that's not normally distributed, your average may not actually be that helpful. So if your app serves two types of requests, one that's 10 bytes and one that's two megabytes, the average request size is gonna be garbage. You really wanna know what's the distribution between the 10 byte requests and the two megabyte requests. And so there's just a primitive, something called a histogram. And so we just have some code that just adds a value to the histogram. And lastly, you might be interested in how we time something, or how long are these requests taking? And so you need a timer.  So as a developer, if we were to have this putative world where developers instrument their code like unit tests, that's all you need to know. Like those 10 lines of code. If you can handle that conceptually and then apply your domain knowledge, you can instrument your code and ship your code with instrumentation that other people can use, assuming we have our gem foo. On the flip side, from our, if we put our ops hat on, how do we get this data? And so I would also claim aggregation is interesting. So something like stats D, where you can fire UDP packets out of every request out of your process. So no latency. And you got a daemon that aggregates those all and can do then cross requests, cross process aggregation. It's very easy to get started with, but I'm going to claim at scale that it's better to do cross request processing, cross request aggregation in process and use something like a middleware like stats D or something like Abrado to do cross process and cross host aggregation. And the reason for that is your process and host wise aggregation is almost always, unless you're talking Google scale, a very tractable problem. If you're serving millions of problem, billions of requests, cross request aggregation, Google for stats D scaling and you'll see. So our in memory store, I think if we call the registry. So we just need somewhere that when one of those primitives, one of those lines of code is executed, we'll go somewhere in memory and in a thread safe manner, capture the additional state it needs. And then also I'm going to say we need to be double buffering so when we want to come and get it, we're not going to block anybody who wants to write to it. And it should provide for simple iteration. So we'd have something now if I want to look at this, the data or query the data periodically to push it somewhere that it can do aggregation or trending, I can write a separate thread that will just do this. It'll get the registry, walk through every metric in the registry and based on the type of the metric, take the appropriate action. And so you could very easily build reporters as separate gems, they're very simple to build and you could push these things anywhere. If you are a Splunk shop, you can push to logs. If you're in dev mode, you could push just to your console. If you're using JRuby, you could write something very simple to push this to JMX for J console. Stats D, basically anything that you can write an iteration loop and you know how to push to the thing you're talking to, you could whip a gem together for this. So going back, okay, well that's how you walk it but I've kind of really glossed over like what are these different types actually represented as or what do they look like? And yeah, whoops. So how can we interpret this data once it's reported? And this is where up until now it could seem as if the abstraction is very, very simple but it's important to get the implementation right. And so there's gonna be a small amount of math and that's because streaming data is really hard, right? If you ever took stats in college, like intro to stats or high school even or even just Googled for it, generally what you'll see is discussions about stationary analyses. So if I have a sample population, if I have a set of 200 samples or 1,000 samples, how do I reason about it, how do I check distributions? In something like a web process or a worker long running, I'm gonna have millions upon millions of samples that just keep coming, right? And I can't just aggregate them all in data and say, okay, whenever you wanna know what's going on, we'll just look at the whole population because pretty soon I'm gonna need terabytes of RAM to track all these. And also to go with streaming is that the recency of results is very important, right? So if I'm just tracking in average in memory from the start of time, I'm really more interested when I'm operating something is what's happening now, right? So I need some statistical methods that weight more heavily to what's happening now or more recently as opposed to what's the overall trend. So counters are actually pretty easy because that's just an absolute count. If you're consuming this, you have to think about how you would do a derivative or how you detect rollovers when the process restarts. But from an implementation perspective, it's pretty straightforward. Meters are a little more interesting. So the first thing, we're gonna track a one second rate in our meter. And that's because I think for humans to discuss the throughput of computers in any unit of time larger than a second is very, very silly. That's one of my opinionated things. But we can track a mean rate, but that has this problem of averaging. So we're gonna use, or ideally use exponential weighted moving averages. And the reason for doing that, an exponential weighted moving average takes weights more heavily the more recent samples than the ones that we've just found. So the load on a UNIX machine, if you're just to admin the one five 15 minutes probably looks very familiar. That's similar to the load on your machine. One of my favorite examples of these in computing is the TCP congestion control uses a fairly simple but powerful weighted moving average to kind of reason about whether the latency in the network is a result of a spike that it needs to temporarily route around or if the latency is reaching some new saturation point. And we can also, if we want to, we can pull a count out of these. So histograms, you know I alluded to earlier, we need histograms because in a lot of cases averages really suck. And they lead you to think things that aren't true or miss problems that are existing. And so the very basic thing we can pull out of a histogram is an average, although also our min and max and our variance and if our standard deviation and variance is much larger than our average, it'll tell us that our average is useless. But we can also pull out things quantiles. And this is very interesting. So we can see what's our 75th percent request time? What is our 95th percentile? What is our 99th percentile? And there we can reason very easily about what's our worst cases, what's our biggest problem right now?  But it's basically a fairly neat technique that uses a statistically significant portion of the overall sample base to generate the percentiles. And in addition, so in order to ensure that we're weighted properly, like our exponential weighted moving averages, we're going to use forward decaying priority sampling. And timers. So timers, time and operation, but this is where abstractions come into play. You can actually build these out of your histogram meters. So inside of a timer, you can just push each timing into a histogram primitive and you can increment your meter. So now we can get both the rate of operations we're timing as well as the percentiles of the timing data. All right, so how do we get started? Ideally we could wave some magic wand and this would just show up in the standard library. I would love to think that, but I'm nowhere near naive enough. Standardization, proper standardization requires adoption. So we're going to need some kind of gem, I think, that focuses on this. So if you Google around, there was a project started, I think it's called Ruby metrics right after code is talk at code conf, which appears to have tailed off, but there's one that's sprang up alongside of it that is still going really strongly that I'm gonna invest in called metrics. You can find this on GitHub, but it provides the instrumentation primitives here as well as all of the math. It's thread safe, so it uses atomics on the individual instances of a metric. So if only one thread is incrementing a counter, then it's very fast. It's performance, so it uses the double buffering on the registry. It also comes with, if you need something to do cross process aggregation, which is separate from this concern, but it's handy, there's a separate gem, I believe, for metrics D, which performs like a stats D, if you wanna go pure Ruby. You can, so you can find it here, github.com, Eric Metrix. So future work, so this, the interesting thing about metrics is that you actually look at it. I'm not even sure if it's clarified now, is it starts to look upon first inspection like one of those, hey, I'm making choices for you, I'm bringing dependencies for you, because it has a set of reporters embedded in it, Lerato, Graphite, stats D, and it's not entirely clear that you can actually run just the instrumentation and just the registry part and nothing else. So I've been working, there's ongoing discussion on github, which if you're really interested, I'd really love to have you guys join, but we're going to try to clarify the purpose and distill that gem down to just what I discussed today. So just the instrumentation primitives and the state in process. So we're gonna pull the existing reporters out into their own gems. So anyone who wants to write a reporter for whatever they're doing can push a gem up and you won't need to get permission to have that pulled in. So the biggest problem with most instrumentation libraries is, and as a vendor I face this because we try to integrate with tons of them, you build a reporter and then you have to make a pull request and the person, understandably, who's managing this open source software and may or may not even be using your particular favorite backend has to decide whether or not something that's, something he will be responsible for maintaining. So a pattern of completely separating out reporters into their own things that you can push and maintain is I think very important. Namespacing practices. So hypothetically saying if we reach this nirvana and every gem has a set of keys associated with it of instrumentation it comes with, most storage and analysis systems have a concept of a single hierarchical namespace. And so how do you prevent collisions?  But there's also questions around if you're in an app, should we then prepend each of the gem measurements with the app name? So if I'm running two different services that both have the same gem in it, how do I know which service it came from? So we need to clarify, I think some best practices in namespacing. Testing metrics is actually something I think that's interesting. So with a practice of only, of just collecting the metrics in memory, you can easily see how we could actually start to include into our tests. Okay, I'm going to run this function. And one of the parts of the spec is if I run this op three times, the count should say three, right? Or the rate should say this. But I think for the types like the rates and the histograms where there's some complicated math going on, the instrumentation framework could actually provide testing primitives where you say, okay, here's an op. And I want to verify that when it does this many times a second, the numbers come out correctly. And I think with the right abstractions it could be very easy to include your metrics specs in your test too. And then I think base threading support because there's kind of a lot of interesting stuff. If you've ever looked like at the source of the New Relic gem or we've been, if you've ever worked on a gem that you're trying to do instrumentation, a lot of different types of web apps, there's a lot of different edge cases that are on a background thread handling. How do you start it up? Like in unicorn with forking, how does it work there as well as with other apps? So there may be an opportunity to extract some of just the thread management as an optional component or as a separate gem, but that's something else we're discussing. So in conclusion, to the very highlight, if nothing else, if you take away nothing else, I just implore you to just kind of think about whether or not instrumentation should be as important a test in a future with continuous deployment and service-oriented architectures. I strongly believe that. In your monitoring, really think about decoupling things at the right places. Zero coupling. And finally, don't underestimate the complexity of actually tracking the measurements. I mean, it's surprising when you start looking into it, all the things that you have to do to make sure you have really high fidelity measurements because there's nothing worse than having data coming up in a dashboard and actually being misled by it. So then, I guess the last thing I just wanted to thank, this talk was informed by discussion with a lot of different people who's time I'm thankful for. A bunch of great Rubyists and then Coda's work on the metric stuff, I think is a really good path forward. And that's the talk, are there any questions? Yeah, so the question was, web developers are very, very busy, particularly in modern teams, like my intro was talking about. So if you can just gem-install New Relic, why is something like this important? And I think I'd answer that. Actually, go ahead and add another. And then that. New Relic's fine, I hate the price, right? So what's the alternative, I take it? Yeah, so. Yeah, so the, from the purpose of this talk, I think the important thing to take away tools, the most important thing is to have some kind of instrumentation. So if literally the only thing you have time to do is pick a vendor, install the monolithic thing they give you, then go for it. I think what people are finding, and this is just because I don't, other than say New Relic has a really cool product, I don't want to say anything specific about them. I think it's very important to have custom instrumentation and to have those metrics be first class, right? And if you look at, I know the Yammer guys, if, you know, when Kota was talking about his, and even for us, is we don't ship features without adding the counts and rates specific to those features, those controller actions, right, and those are first level metrics for us, and including their performance. And I don't really look at ever app level stuff, because I think app level stuff is, it's easy to get going, but it's the payoff, right? And so part of, I guess, what I'm claiming is that if we, the problem is not that it's hard to do this, the problem is that right now all the instrumentation things are forcing you to make decisions about almost all the other layers of the stack, just to get started with instrumentation. And so there's like this paralysis by analysis and no way to get cohesion. So if we pull out and really distill instrumentation down to just instrumentation and push everything else out, it should be fairly easy to get done. I guess my point would be that I agree with everything you're saying, but I would like my rails stack implanted all the last time I had on my request taking, I don't have to get trails for instrumenting myself. Yeah, so you should look, if you haven't seen active support notifications, I didn't mention that, I should have. The question was like, how can rails just instrument itself? I, you should check out active support notifications. That is just a PubSub event bus that emits things about every request, but you could hook that up to this with about 10 lines of code and you'd be done. So that's probably how I should answer that. Hi, I'm the, this is John. John, come forward. Hello, who's it? I'm John Graham, I'm the current maintainer of the New Relic region. And I think that this stuff is probably awesome. I think that it, re-implementing the Ruby agent to use these kind of instrumentation primitives would be fantastic so that like framework developers and what I can use, these are, or combination of these active support notifications and then you would just be able to choose which repo you want to use for your instrumentation and it would just sort of work automatically. So it may not be exciting immediately for application developers because there are a lot of solutions you don't want to go through and like use in your framework for instrumenting that doesn't actually report anywhere yet, but it's super exciting to me and you, and those sorts of writing these instrumentation aggregation points. Yeah, yeah, I mean I think what's important also note is if there's even something that approaches standardization, I mean you can bet that vendors such as New Relic and ourselves as well as whoever new is coming up will be ready to consume that and give you all the tool and you need. And it's gonna minimize your lock-in because you're not writing to a proprietary agent and it's gonna increase competition which to your pricing question may bring pricing down, that happens sometimes. I, right, we're all hackers here so, but I've heard that happen sometimes. So what's the line here between like sort of custom instrumentation that you need to more or less litter your code with and that which you can extract from things like your Rails log request logs or whatever? Yeah, I mean specifically to Rails, hooking up active support notifications on 3 Plus which is where the logs come from to this is exactly what should happen. So Rails has already littered their code with instrumentation that just needs to be basically subscribed to by this because their instrumentation is comprehensive but it's very simple, it's just this event happened but you can use this to then collapse those events into this is the distribution of those events, this is the rate of those events. And then so where you would use your instrumentation I think is more, if you have a section of code you believe is gonna be hot. For instance, one of the things in our services you can generate a snapshot of any graph which we basically, because we do JavaScript graphing we do in a headless browser in a background job. So, and then we push up to S3. So I've got timings wrapped around how long did it take to fire up and render the graph in the background job? How long did it take to snapshot it and how long did it take to push that up to S3? So in the areas where I think there could be problems I'm going to, just like with unit tests I'm going to selectively put in instrumentation where I think it's important. And part of that is just, as a developers it's kind of, and the domain experts we need to make reasoned decisions about because you can't, every other line of code you can't just be like, well I just this line did this, this line did this, this line did this. So it's somewhat of an art. Okay, unless there's any other questions just if, oh, sorry. Kind of long those lines about it. If you had a string of web services this would say there were Rails web services and you had a JRuby app or something like that running on the front end. So you're way to kind of string all those together even using Rails notification which and maybe with a broad over, you really be able to report on all of that request all the way through the back, that kind of deal. Yeah, so generally speaking you're getting a little into the weeds but if you want to track, if you've got like cross-service dependencies and you want to track like a given request through that I mean I would just start by if there's like four chunks just measure the chunks in isolation right to start with that. And then if you really, because if you look and you say okay of these four chunks these ones all average four or five milliseconds but this middle service averages two seconds well that's really all you need to know is that that's the part that has to be fixed. If you truly want to track a single request or transaction end-to-end you typically need to use some type of ID as like a tag on the metric. And I think tracers are something like that. But generally speaking you can get away with measuring the services in isolation and then comparing the metrics across them. All right, so yeah if anyone wants to talk more about this GitHub repo grab me in the hallway anytime I'll be wearing I have several of these so don't worry if you see me in one of these it's not the same one but come say hi, so thank you very much.


e SFA and the focus of the SPFL. What I am looking for is recognition that there has to be a culture change. I totally understand that you are working in a professional environment, but what I am looking for is reassurances from your about the wellbeing and looking after the wellbeing of children and child protection, and specifically if I can make an example of that, especially around the PVG checking. It is not good within football, it is not good within coaches, and you do not even have to have PVG checking for agents and referees, and I think that those are the things that we are looking for. I am looking for my indication from you. I would like to come in for a second and say that, earlier in this discussion and earlier in this evidence session, I have identified 10 fundamental improvements that we have made for the benefit of children in football as a result of on-going dialogue, despite the fact that the original petition and what we are now talking about are two completely separate things. We have moved on, and the committee over the last seven years has brought more and more and more topics to the table, and we have demonstrated in all of those cases that we are prepared to make changes and make improvements. We have done that, and I would say again that we are interested in young people's rights and the changes that we have made can demonstrate that, but at some point there has to be an acknowledgement that we have made those changes rather than continually criticise us for doing things that you feel are not looking after the best interests of children. Of course we are interested. You mentioned intermediaries. Intermediaries are not covered under the current PVG scheme. If Disclosure Scotland, as we are aware, is looking at this, includes intermediaries, we would fully support that, and we have said that in a seminar involving ministers and Disclosure Scotland. Of course we would do whatever we could to make that happen. All I am saying to you is that, in the responses that you have come to me, it has not been the wellbeing and looking after the children that I have come through, and that is really all that I am concerned about and that is what I am asking you for. What do you guys have that judgment on? You have hardly talked about it unless we prod you with a stick. You have hardly talked about it. It has always been procedure, and all that I am concerned about is the wellbeing. No, because you have asked about procedure. No, I have only asked about the wellbeing of the children. I think that your criticism is utterly unfair and shows a misunderstanding about the good work that is going on within Scottish football and within the clubs. I am very disappointed that someone from a sporting background such as yourself should wish to try and criticise all that good work. Can I say all of that good work? I criticised you. Can I say that, in seven years, we have had one single visit from representatives of the committee, and that was the children's commissioner attending one academy for one visit, and we got absolutely no feedback from that visit at all. I think that it would be very helpful, and the offer is open again to the committee, to come to the academies, talk to the families, talk to the children, talk to the clubs and actually hear it from them before you arrive at your conclusions, because there is a lot of good work going on at our clubs. I think that that is one of the things that we would certainly want to be doing, and I hear very much what you are saying around having a proper understanding of what is happening. I am going to ask one last question and maybe just can pull us together. I wonder what support has been put in place to assist non-professional clubs to accommodate those players coming out of the club academy system into youth and other recreational football, in that kind of journey back where maybe there has been a sense that they have not made it. Certainly now, if you are reducing the numbers, how are you going to deal with that transition? How are you going to support those clubs that might want to pick these young people up again? Some of the anecdotal evidence that I have heard is that when young people are picked up by clubs and then they want to have a better word to fail or don't make it, they then are lost to sport altogether. In terms of wellbeing and health, that would be a concern. Well, at the moment again you are speculating on what may be an issue. We have got no evidence and there are no instances to our knowledge of anyone flagging a concern to us that they have somehow been lost to the game of football. We have listened to the petitioners and we have listened to the committee. One of the fundamental recommendations of Project Brave is that we reduce the number of players in the system through reducing the number of centrally funded academies. Those clubs where elite academy status is not achieved may choose to continue to run a youth programme and fund it off their own volition. If that is the case, those players will not come out of the system. We are speculating on how and when those players will come back to the grass roots level, but in terms of specific initiatives, I can think of one and that is the initiative that is run by PFA Scotland who actually run trial events for players that are released from clubs to try and identify opportunities for them going forward. We ourselves have taken former players in for internships as another example of us trying to help. There are modern apprenticeship programmes that are running in conjunction with clubs and private providers and local colleges. So, again, some of those things would come out if you were able to visit academies and see the work that is going on. It was not meant to be a harsh question, to be honest, because I do recognise that tension between the needs of the elite young players and the football system and how Scottish football is going to improve against the experience of young people who do not make it. It was not meant to be anything other than how do we actually deal with that process with the tensions in the system between the two lots of aims, simply getting young people active and involved and producing elite sports people, which is a challenge across any sport. Some of the things that you have suggested there would be interesting to find out more about at later stage. Are there any final questions, Maurice? Do you have any idea of the average number of hours per month on the £1 contract that a young player actually does, excluding the appearance of time? Is it worth not having a look at that? Having that figure in your head? We have, as we said earlier on, we have thousands of transactions. Without understanding the hours involved in every single case, we are not able to provide that information. We have made change to ask clubs to comply with minimum wage legislation. Going in and trying to investigate and looking for shadows that may not be there is not a good use of football's time. We will not be a good idea basing the fact that we have the petition in front of us for you to come up with that information. It is an average. I will not ask you in detail what on average are they appearing during the time period. There is no average. They vary from week to week what work, if any, a player is carrying out for the club. It is only known to the club and the player. Unless you are at the training ground, unless we install a Scottish FA or an SPFL team at the training ground and at the stadium, monitoring exactly how many hours an individual player is working, we cannot know. It would be in your interest to do so to ask that question to them. Not for individual paters but for the club as a whole. Are you suggesting that we should put people into every single club in Scotland to identify that? What are you suggesting that we do? No, I am just saying on your question when you are reviewing. You are obviously taking a lot of interest. You say quite rightly in the clubs on how they are going forward, fine. One of the questions that I have been asking myself to make sure that I am not seen to be not paying correctly or meeting the minimum wage standards is that on average hours per week these kids are on the field, excluding the appearance time that you are talking about that. That is not difficult to calculate. It is not difficult to calculate as long as you are there seeing how many hours a player is playing. Or you can ask the club to ask you just to ask the clubs. Well, we are encouraging the clubs to be compliant. We are helping the clubs to be compliant. We are educating them about what the law is. But we cannot usurp. We wronged usurp the authority of HMRC to be the primary authority. It would not be a sensible statement. Would it not be a sensible for you guys to have that basic information in your books as they were knowledgeable to you so that we can answer that question? It is impossible to know how many hours a player is working for each week. That will only be known by the player and the club. It can only be known by the player and the club. Unless I am misunderstanding this and your explanation of your understanding of minimum wage, are those children being signed up on zero-hours contracts? What you are saying is that they do not play, they do not get paid and they get an appearance? I am not sure of the reference to children. Are we talking about professional football players? Young people, children, no. There is a separate between and this misunderstanding between a registration and a contract has pervaded much of the discussions that we have had over the seven years. A registration will apply to all players registered with the Scottish FFA whether they are professional or amateur and whatever age they are registered at. A contract will be a professional contract in the case of the SPFL sometimes for full-time players and sometimes for part-time players. Minimum wage legislation will clearly apply to professional players only because there is no payment for work for an amateur player and our focus is on ensuring that our member clubs are abiding by the law in this and other areas and we will assist them to do so. The earlier question that I asked was how many of the registrations that are filled in mentioned financial payments and you could not tell me. I am struggling to understand that whole system then. If you are talking about when they register, some payment is mentioned and you are saying that that is not the case. Am I correct in that? I will try to understand the question. Andrew has given evidence of approximately 18,000 separate transactions involving the Scottish FFA registration department and clearly a large number of those will have some financial element. Clearly there will be a number that will be purely amateur related where there is unlikely to be any financial information in there, but anything to do with a professional player will have a financial element. However, if a young person is on a contract of £1 a week that is effective as a zero-hours contract to get paid for their work, I am not going to get into generalisations about what is going on. Ultimately there is the law of the land in relation to national minimum wage and we are doing our utmost to ensure that clubs have the information available to them to understand what the law is and how it applies in the sphere of professional football. We have carried out a seminar to which all professional football clubs are invited. We will continue that education process. We are amending the professional contract that we give to clubs for use so that we have one that is specific for use for part-time players. That part-time contract, as it is drafted at the moment, makes specific reference to the national minimum wage. It also has individual schedules in it that can be completed by the club and the player to ensure that there is a complete understanding of what work is work and is to be paid for and what is other activity that is not being paid for. That has to be agreed between the club and the player and that is what will appear at the Scottish Fife as part of our registration process. You talked about this petition, growing legs. We could have a whole argument about what is working and what is not working and what you are obliged to do when you are at the football club that you are not getting paid for but you are obliged to do it. If you do not do it, then you will not get work and you will not get a game. The whole thing is... You do not want to do it, thank you. ...book. Okay, that is in itself a useful flag to the clubs from some of what we have picked up. Thank you very much, convener. Just on that last point that you have made there, some will go back to this £1 a week, £5 a week, £10 a week, whatever it is. If somebody is coming in every day training hard but not getting game time, they are getting a £1 a week. That should be the case if they are being obliged to... Please, let me answer your question. If they are being obliged to train and if they are then called up and obliged to play in a game, then that will be work and they should be paid at least the national minimum wage for that work. Yeah, but the point that I am making is that they might not get called up to play in a game, they might well be like many other children, sorry, young people that are there, they are training hard and they are not getting that... Sure. And if they are obliged to work in that week, whether it is training or any other sort of work that they are required to do, they should be paying the national minimum wage for that work irrespective of whether they play at the weekend or not. That was the point that I was trying to make here later on. Okay, thank you very much, convener. Okay, thanks very much. We are just about there in terms of time. Can I maybe just deal with this point about the petition that has gone on for a very long time? This is something that we have looked at as a committee in terms of not holding on to petitions too long, so it is not something that particularly we would necessarily want to do. But as long as there are issues that are material to the subject, I think it is legitimate for us to look at them and also hear what you are saying about the original petition. I suspect that it is grown arms and legs because there are issues that are emerging about a sport that we all care deeply about and the way in which young people who also care deeply about that sport may end up feeling that they have not been treated very well. I think that those are issues that are very powerful for our including, I would say, the intervention of the children and young people's commissioner. I recognise that there has been movement in progress by ourselves, which in itself would tell us that there had been issues to address. We are keen, first of all, to take up, I think, your invitation to go and visit academies, and that can be done as soon as it is suitable for you. We are keen to understand that we think we have a shared interest in ensuring that young people are not exploited and that child protection is in place and that we are supporting the sport itself. What our intention would be to draft up a report on the petition, and we also are hoping that we have a debate in chamber time. Of course, you will know from the petition's process that it is possible for us to close the petition and for a petition to come in, maybe on some of these other issues that went immediately relevant to the point where the petition was submitted. In my sense, it says that everybody in his room wants to make sure that football is developed by elite sports people, but we also do not do it on the back of a culture around football. There is evidence of that young people themselves and their families will accept things that they ought not to be encouraged to accept. We are interested in your role in discouraging people from being encouraged to do things against their own interests. I would hope that we would agree that we can get the academy stuff up and running and that there will be a debate in the chamber. If there are further points that you want to make as a consequence of today's discussions, I would be more than happy to hear from you. We recognise that you have already submitted quite a lot of evidence to us. Unless there are any further or last comments, can I— Convener, please. First of all, I do not think that we should forget the progress that we are making within Scottish football at an elite level. Our under-17s are currently ranked sixth in Europe and have played in four successive European finals tournaments. Our under-19 women's have qualified for European finals. Our women's A-squad have qualified for their first ever A-squad international tournament in Holland later this summer. Our under-21s have just beaten Brazil for the first time in a competitive match. We are making significant progress and it is a result of our collective investment of time into Scottish football at the elite end. I would like to make one more point if I can, and that is on the original petition. There were two references that we have not talked about in several years. One was increasing the educational target from two hours a week of physical activity to four. It would be helpful for us, because it is really important to Scottish football to hear what progress the committee has made in that area and where changes have been made. The second point is that the final point of the original petition talked about the introduction of artificial surfaces across Scottish football for the benefit of player development. I would like to say that we have made significant progress there thanks to the investment of cashback funding and Scottish Government support for the development of ORIAM, the national performance centre in Edinburgh. I think that it is worth acknowledging the progress that has been made in that area, as well as your focus on some of the areas where you have concerns. First of all, we recognise progress in Scottish football, even if it did not particularly feel like that last week, but we see that there are changes in support. In terms of the debate in the chamber, there is an opportunity to test what the Scottish Government is doing, and we will make sure that those questions are asked. We will certainly get a response from the Government, because the debate itself affords the opportunity for the Scottish Government to lay out what it is doing in terms of both the petition and, more genuinely, what it is doing around Scottish football. On the question of artificial surface, that is something that we can look at further. The debate that we would have in terms of the petition will allow for the opportunity to get a sense of how much progress has been made and what the things that still need to be addressed, both in terms of the wellbeing of young people and sustaining the sport in Scotland. I recognise the stresses between elite sport and grassroots, and it is a strange one for me to be on the other side of that argument. I am usually defending elite sport, I have to say. In drafting a report, I think that it would be helpful if we could come to some conclusions about what we think from the discussions in here and put forward some ideas to the boards that we think that, rather than I recognise that we get heated about this quite a lot, I am quite passionate about it, but I think that it is incumbent upon us to put forward some ideas as well. That would certainly be the intention. Once the committee debate has been carried out in my fair from the Scottish Government, then it will be possible for us to then reflect on the petition and produce a report on that and what the petition would then do. My understanding debate will not be until the beginning of the next session, so we did not want to squeeze it in at the end of a crowded business time in the chamber. That is something that will make sure that you have plenty of notice of. I thank you very much for your attendance and I will close the meeting.


Salams, welcome to another episode of Playthings of Alien Forces. With me in the studio as always is Leslie Xavier, I'm Siddhanthani. And today we're talking about three fairly important stories. First up, of course, is the sacking of India's ODI skipper, Virat Kohli. Then we're talking about the BCCI's latest balance sheet and how the profits of the world's richest cricket board are on the up despite the COVID-19 pandemic. And finally, the latest of all these stories. Yesterday's dramatic finale to the F1 season. Lewis Hamilton there losing out to Max Verstappen in terms of the driver's title. Leslie jumping straight into the first story, man, keeping the energy high this Monday afternoon. What is the logic behind removing Virat Kohli, the, I suppose, poster boy for Indian cricket for the past 10 years or so, as captain of the ODI team, the one day international team? We should understand first that poster boys needn't be leaders. So it starts from there. So yeah, Virat Kohli had a decent run as the test captain. Possibly aided by the fact that we had a very long home season. And beyond that, if you look at it, is stint as the limited overs captain, both T20i and ODIs, he has had no major success in the ICC tournaments. And that's key because when we look at it now, the earlier it was important, the performances in the bilateral series because it had some level of, I mean, gravitas in a way because the rivalries and many other things at stake. But now with the ICC pushing in their global events, every second year you have the T20 World Cup. Almost every year it seems like a World Cup. Yeah, almost every year it's there. And then the Monday World Cup. And then on the other side of the spectrum, the world test championship is also happening. So ICCI as more or less, I mean, not same as FIFA because FIFA goes by one major tournament. This has, they have five, I mean, multiple three flagship tournaments and they are keen on pushing that. So what is happening off late is that all the bilateral series that happens are basically planned to act as warm-up towards the major event. So the last season, if you look at it, most of the series that India played were test series they played. And beyond that, after the IPL, it was all T20 matches. And so that's one reason why there were a lot of critics and Miraculi fans who were coming up to saying that why remove him now as the ODI skipper because he didn't captain the, I mean, he didn't play an ODI, lead an ODI side since March. And it's been quite a long time. And but the point given is that we have to look backwards and look at a little forward also as to why this decision is important now. And again, Ravi Sharma is the same age as Miraculi. So are we looking at the future that way? That's also a question. But who's a leader that's capable of doing it? So, board has a lot of dilemma at hand and that dilemma has come because of the Miraculi era. And so when we talk about Koli's captaincy and all that, whatever the fault that may lie, because it's very evident that even leading a star-straded side like the Bangalore side or challenges Bangalore in the IPL, he has had no success. And leading the Indian side, he has had limited success. He has always failed in crunch matches. And so we can easily question Koli's credentials or his style of captaining because the hyper-aggressive style, maybe it's not suitable for a lot of players in the mix. And it works for Virat individually as a batter, but it's not probably working for the team. And if you look at the style of the previous captain which Virat Koli replaced, we can understand that, I mean, he's the most successful Indian captain at MS Dhoni. So we can understand that difference. So, but I'm not getting into that, but I'm getting into the part where Virat, Shastri, Ira, what legacy did they leave? They didn't plan the structure of the team or the players' inclusion or the team composition or mingling in or mixing in of youngsters, letting in of youngsters into the mix quite seriously at all. It seems that they went by retaining players and promoting players who happen to be... Right, a sort of sense of maintaining the status quo, keeping things as they are, a general sense of well-being in any case surrounds the Indian cricket fraternity. So you keep going. And also, there was this... For instance, Kuldi Pyadav, he suddenly came into prominence. He was doing well in the IPL. He had some great match-winning knocks as well and also with the ball. And suddenly he went off the radar. And sources and... I was talking to one of them yesterday, a senior journalist who is privy of this. Apparently, it was a fallout with Virat Koli for some internal dynamics that's happening and that happened. And Koli ensured that he's not in the mix. I mean, this is... For me, this is the USA. I'm not saying it as a fact, but these things happen within the team. Historically, when we look at Indian cricket history, captains and their players and their senior team and all that, all these games have happened. So it is a possibility that this happened. For almost five years, Ravi Chandranashwin, India's premier off-spinner, he was not there in the T20 side and he's a great T20 bowler. And when he was given a chance at the World Cup recently, he played extremely well. So... And he's a senior player. So when we look at the mix of players that are there currently, there's not even one barring Rohit Sharma who can be a good leader. So when we say, why Rohit Sharma then? Because he's also old. This is the point that we radically didn't do what he was supposed to do on the side. The other big responsibility that he had, which is to hand over the bait into the next side, ensure that that next person is there in line. Continuity. And so that's not there. No player as emerged who is a leader. So this happens in politics also when in a state. For instance, I'll give you a direct example from Chennai. After Jailaltha, second in line, nobody. So the splintering, things like that are happening. So there is a void and being Koli larger than life, he has created a void and it's now... So David coming in, the first steps that has been taken and it's good to see that they're looking at the team rather than a personality and they're ensuring that the void is filled so that team's momentum, team's stature in the hierarchy of the world, cricket remains intact. So I completely agree with the decision. And whatever the, of course, the means by which it was executed, there is a game behind that also again. It's interesting because again it's to show that who is the boss, who the boss is. Because there was a feeling that Koli announced himself, excused himself from the captaincy of T20 rather than DCCI and the selection committee deciding. Deciding on someone, the captain. So captain, I am Koli and I will select myself or deselect myself in that case. That's not probably done. And DCCI is also setting the protocol right. Okay, fair enough. We'll of course be keeping a close eye on the new era because like we were saying last time, at least whatever these changes are, change is also important and it brings a new sort of impetus and a new angle or new angle of approach at least towards looking at how what is happening with Indian Cricket. So we'll be following that closely but we're sticking with the sport though, Indian Cricket because you just get exclusive access to the DCCI as balance sheet for the financial year 2020-21. This was of course accessed by our veteran cricket reporter, Kezir Muhammad Ali who published a story on the website. You can check that story out on newsclick.in. Essentially, there are a lot of figures in the story because of course we are looking at the balance sheet so there's no getting around that part but essentially the DCCI has made a overall revenue of over 18,000 crore rupees. Net worth has increased. Sorry, the DCCI's balance sheet net worth has increased to over 18,000 crore rupees as per the latest balance sheet which is up quite significantly. Despite the fact that most domestic events, tournaments almost all of women's cricket was cancelled, has not happened in India for close to two years because of the COVID-19 pandemic. Leslie, key findings from this balance sheet examination it's not that profits have gone up or it's not that revenue has gone up, revenue has fallen but profits have increased because it seems the DCCI has spent a lot less, not even 50% of what it has spent in previous years on cricketing activities and which includes sort of payments to its affiliate boards in the state boards, hosting tournaments of course and all of these things. Would you imagine firstly that during the time of a pandemic your expenses should go up because you are trying to use all this wealth that you have accumulated to look after the fraternity from which or based on whose work all of this is created? In the initial months of the pandemic, there were stories coming out of how many states have not played their NG players, contracted players also. There was a delay for money coming in and later it was cited that it's because I mean the administrative problems that COVID-19 lockdowns created and it has created so slowly the clearing and all happened but at the same time, restarting of tournaments have been on the eyes, the main domestic tournaments. Of course they conducted the Saïd-Mustaghalli tournament in 2020 before the, I mean last month and yeah, before the New Zealand series and also they're planning their NG season next year and but the women's cricket scene is not being sorted out yet. And also there are many state level, lower level tournaments that's not been, I mean restart of those have not been planned. So BCJ's priorities, what we have to question here firstly to start with because it's on paper a non-profit organization. So if profits are increasing they should devise ways to at least to maintain that image because it's important now because a lot of things are happening in courts and income tax tribunals where the authorities have started questioning whether board is really a non-profit organization meant to promote cricket. Which means that a certain amount of their revenues need to be or their profits need to be plowed back into the sport. Into the system and we are talking about right from grassroots. So if at all, but it's going back to the story of Kaiser and Kaiser's previous, the story prior to this was on BCJ's budgetary allocation for legal cases. So that's more than 800 crore. It's not something that's pumping in back into the game for promotion of the game. There needs to fight cases of Western interest. Most of the cases, I mean, they have lawyers appealing to Supreme Court to go back to the old ways and revoke whatever Lodha panel recommendations that has been implemented. That is one case. So yeah, a lot of money is pumped into that. And so BCJ on one hand is doing that and on the other hand they're fighting a case saying that we need tax exemption for IPL revenue. And the income tax tribunal agreed to that saying that it's been used for promoting the sport. But IPL's expense this year for staging itself was drastically down because it's been staged in the UAE, previous season also in the UAE. I mean, the second half of this year's season in the UAE. And so venues are less, only three venues in the UAE. So expenses come down because travel, if you are staging it in India, of course, air travel, other logistics, all these things come into play. But there it's all set, three stadiums, two centralized hotels and that's it. So they managed quite a bit of profit from there simply because expenses was not there. But now that this has come out via us that there is a substantial profit there. Let's see how the board is gonna plan dispersing this amount, whether it would give a larger share to the state units for them to implement whatever programs that they need. Because we have seen this in various other sport as well, including football, where COVID-19 has completely disrupted the supply chain altogether. And so again, going back to the same Koli story that we discussed a little while back, it's about the future now. If the current players are not getting paid and also there are no funding to fuel age group cricket, then where will the players come for someone like a rabbit to have a larger pool to work with? So these questions, so my first impression or my first reaction when such stories come out is that why is it that the books are in a better shape as far as the sport is concerned. The books should reflect sport and where it's heading. It doesn't, there is a clear disconnect and that disconnect is because the leadership has different idea of how to run the sport. I would implore now to the former skipper who is the head of PCCI and that he should look at not running the board like a company, like a limited company. It's not, you're not trying to, or should they run it like a club? So I don't know the philosophical problem. If it's a philosophical problem or if it's clearly lack of commitment to the game. So that's the question of the book. My first reaction when I saw the story was what are these numbers, boss? We just don't understand this, because 18,000. So yeah, we understand 18,000. And the rest of it, it's like a blur. All right. And finally we're taking Leslie back to his motorsport roots today after quite a gap, I think. At least I don't know if we brought up any motorsport on play things before. But there's always a first time. A dramatic end to the F1 season in Abu Dhabi, was it? Yesterday? Yeah. What happened and yeah, why is half the sport watching audience a little bit pissed off that Lewis Hamilton didn't end up with the drivers championship? I think Formula One would be very happy with this. What happened because it's keeping the conversation alive and that's what they wanted because boring season, boring season is always criticized. We have seen quite a lot of, so you mentioned my formula, I mean motorsport covering day. So one reason why I am not very keenly following a season unless something major like this happened is because F1 has lost that edge as far as porting competition is concerned. It's always, there is always a monopoly and monopoly belongs to the larger well funded teams. And it's all about money in that game, so in that sport. So on that regard, on the track, we were seeing two drivers, West Open and Hamilton and they were representing big teams, Red Bull and Mercedes. Just that Hamilton and the season was running quite tight and it almost felt like it's been staged like a WWE match because Luis Hamilton getting penalties and losing points and then coming back with the surge and then the final race of the season. You have these two drivers on equal points and what will happen, what will happen next and all these things and then it went into race day. And I feel for Hamilton because he had a beautiful race. He started behind West Open and drove well to take the lead. He was hindered by West Open's teammate, Sergio Perez who slowed it down so that West Open can catch up with him. And but still Hamilton held the lead and I don't know how this happened, an accident happened and Latifi, he had a crash and the four laps from race finish and Hamilton's eighth title, that's very significant. A black driver, we don't see black drivers in F1. We rarely see black drivers in motorsport also. That's a different discussion that we can have at some point by this, I mean, very big gap, clear, clear gap. But yeah, so eighth title that means he would have overtook Schumacher's record, Michael Schumacher's record. They bought in the safety car, West Open came close and the last lap they removed the safety car, which I mean, shouldn't have happened, they should have ended the race in safety car because it's so unfair because on Hamilton, the lead that is created was lost because the safety car came in. Of course, the stewards, the FIS stewards stood, appeal was given, I mean, done by Mercedes and the stewards took, I mean, stood by their decision, noting down, I mean, saying all those sub-closes in their rule books, saying that this is correct, this is correct and all that. But sporting sense-wise, general, I mean, justice-wise, it was a race that needed to have been ended behind safety car and that has happened previously. They didn't want to, maybe if it was a management decision that yeah, let's end this competitive season on a dramatic, let's race and finish the dramatic season. Maybe that's the decision. Maybe that's all that it's unfair on West Appan that this happens because, I mean, you have two sets of fans also, right? So if it had finished behind safety car, then West Appan didn't have the chance to push. And so criticizing FIA and the Formula One organization would be, I mean, in the sense it comes with its baggage, you can't clearly say, but as far as I am concerned, I'm a neutral, not an Hamilton fan, but I respect the man. I've had interactions with him, I've interviewed him and he's quite a sweet chap also. But yes, let's just see that, let's also know, and it's easy to brush his success by saying that he was, I mean, in a great team, he happened to be in the great team, but to be there, imagine the odds, no black driver around. So to be there, whatever it took. So I respect the man and to be there in that final lap leading and just two minutes away from his record title, that also is something. And considering all that factors, I think, I mean, I would say that title was robbed from him. And beyond that, Hamilton in the sport, within the sport drivers and everybody's fine, I guess, Hamilton went and congratulated West Appan, they were fine, and West Appan happens to be a very promising talent. We can see Aneera, we can see, next season, obviously there'll be five days. I'm thinking in Tom, that's the beauty again. So Formula One wins with this, not just with the continuing conversation, but it's like a Ali versus Fraser, in that sense that, or in motorsport terms, Senna versus Frost. So that bad blood is there and I, of course, if it was 80s, then probably Senna would have, sorry, Hamilton would have gone and punched West Appan, but yeah, now I guess the drivers are more politically correct because TV endorsements, all these things happen, so they have to always be politically correct, yeah. So again, I still, knowing motorsport, I still doubt whether it's artificially created, so, or whether it could have been avoided. The sport has ceased to be this dramatic. That's one of the reasons why I stopped watching it. Yeah, yeah, yeah, I know, fair, fair. But eventually it comes back to the point that, we are all playthings of aliens. Yeah, there are forces that control you, which, yeah. All right, so from Leslie and me, that's a wrap for today. You can get more on all of these stories and the rest of the work that NewsClick does on the sports desk and otherwise from our website, newsclick.in. We're also on social media platforms, so pick and choose what you like. We'll be back again next Monday with I think what might be our final show of the year before we take a short break for the end of the year. But until then, stay safe. Thank you for watching. Let us know if you, actually, this is a suggestion that someone had made that we should go the talk show route and get a little band playing. Let us know if that's something that might be of interest to you. Yeah, producer can bring his band friends. Yeah. So, but yeah, until then, we'll be back next week. So thank you for watching. Stay safe. Goodbye.


Hey everybody, Dr. O'Hare, we're primarily going to talk about the lymphatic vessels and lymph in this video, but first I want to talk about one thing. We always talk about the lymphatic and immune systems together, just like, you know, chapters and anatomy textbooks do, but what is the difference between the two? So here's how I look at it. The lymphatic system is the system that carries lymph, that carries this fluid, and as it carries it, it filters it. So that's the job of the lymphatic system. And it shows what it's filtered out of your lymphatic fluid to your immune system. The immune system is the cells and organs and structures whose job it is to recognize what's in that filtered out material and neutralize or destroy any pathogens that are there. So the two work together, but we're going to focus on the lymphatic system here. So here you see the lymphatic system. First of all, let me show you where does lymph come from? We've covered this back in the last unit, but lymph is the excess fluid that's filtered out of your capillary beds that's not reabsorbed. So we talked about there being about 3.6 liters of that fluid a day. So when this fluid leaves your capillaries, it's now called interstitial fluid, the fluid between your cells. Once it's entered a lymphatic capillary, a lymphatic vessel, it's now called lymph. So you can see here on the right-hand side in this image, it actually enters through what are called endothelial flaps. So we consider them valves because they prevent the backflow of fluid. So once this fluid enters a lymphatic vessel, it is now in your lymphatic system. Now this is not a circulatory system. There's no pump like the heart and it doesn't pump away from your heart and back towards all of these lymphatic vessels. Let me go ahead and show you again. All of these lymphatic vessels start at the extremities and they work towards the heart. So they're all traveling in one direction. So this fluid that is now trapped in lymphatic system only has one way to go and it's going to travel towards your abdominal pelvic cavity and towards your heart. But the good thing about that is dispersed throughout your body are 500 to 600 lymph nodes. So I think about them like checkpoints. So there's 500 to 600 checkpoints that this fluid has to go through. And the job of your lymph nodes is to filter out 99% of what's traveling through it and then also look for pathogens, look for invaders that it should show to the immune system. All right. So that's the lymphatic system, the lymphatic fluid and the lymphatic vessels. There are only two named vessels I'll ask you to know. So as you can see, you have an entire system. It's all working towards your heart. But the only two I'll ask you to know are going to be at the end too, that the great vessels that receive all this lymphatic fluid and you can see them both here. The right lymphatic duct is going to receive all the lymph from the right side of your head, your right arm and your right thoracic cavity. So the upper right portion of your body. The thoracic duct is going to receive all the lymphatic fluid from everywhere else. Okay. So that's a quick introduction to the lymphatic and immune systems as well as talking about where lymph comes from, where it goes and how it gets there. I hope this helps. Have a wonderful day. Be blessed.


Thank you for being here. Today's decision is astounding.  And yet, what the courts have done have been to invite a political intervention from the United States to send a letter saying it's all okay. I find this astounding. Five years into this case, the United States has managed to show the court that their case remains an attack on press freedom, an attack on Julian's life. What the courts haven't agreed to look at is the evidence that the United States has plotted to assassinate Julian to kidnap him. Because if it acknowledges that, then of course, he can't be sent to the United States. Julian is a political prisoner.  This case is a retribution.   Julian is just a few days away from the fifth anniversary of his arrest and imprisonment in Belmarsh prison. He has been in Belmarsh for five years without conviction. And the charges against him are to punish him for publishing the truth, for publishing evidence of the war crimes committed by the country that is trying to extradite him. Now the UK courts have invited the United States to issue assurances. The Biden administration should not issue assurances. They should drop this shameful case that should never have been brought. Julian should never have been in prison for a single day. This is a shame on every democracy. Julian is a political prisoner. He is a publisher and he is being published for expressing his political opinion, for expressing freedom of the press in its purest form. Free Julian, I ask everyone to rally behind him and call for his freedom, call for the Biden administration to drop the case and support House Resolution 934 before the US Congress to drop this case. Thank you.


CERN has a very simple mission, which is to understand the universe, how it works and what it's made of. We have already contributed significantly to the discovery of the Higgs boson, for which the Nobel Prize was awarded last year. CERN has always been a contributor towards open source projects. We invented the World Wide Web in the 90s and since then we've been contributing regularly to open source projects. Today we are using OpenStack as a way of improving the efficiency of computer operations within CERN, in order to analyse the 35 petabytes of data which comes from the Large Hadron Collider. Currently we're running an OpenStack cloud of 65,000 cores across two data centres in Geneva and Hungary. We've already got 700 physicists who are using that facility in order to analyse the production data from the LHC that was recorded in the previous four years. People are now getting resources in 15 minutes that used to take a week or months to be delivered. When the Ice House release notes came out and we saw as one of the headline items was the Federation contributions, that's of course a great pride to see that in a short period of six months we have gone from an initial concept working through with the community and got code into the mainline source code so that other sites can then also be using that around the world. The OpenStack cloud at CERN went into production in July last year which coincided with the award of the Nobel Prize for the Higgs Boson Discovery. Looking forward there are lots of other exciting areas of physics that we'll be looking into during the life of the LHC which is expected to be around 20 years. We hope that a lot of those discoveries will be assisted with the aid of the OpenStack resources that are now available at CERN and at other sites around the world.


In November 2015, a stratified random block count was conducted for the all-sec moose population, which occurs in the most northwestern part of B.C. and the southeastern part of the Yukon. The survey was done in collaboration with the Yukon Territorial Government and the Champaign-Asiac First Nation to estimate the size of the population and the ratios of bulls and calves to cows. The results described here are for the B.C. portion of the population only. The black line shows the boundary of the management unit, the blue lines show the census blocks, and the brown line shows the flight path of the survey. The collaborative survey included area in the Yukon and B.C., but the results presented here applied to the B.C. portion of the population only. The calf-to-cow ratio indicated the population may decline if the current level of recruitment continues. The bull-to-cow ratio was above provincial objectives. The population estimate from the survey was similar to the last survey conducted in 1997, however the calf-to-cow ratio was lower in 2015. A stratified random block count should be conducted for this population within five years to determine if the low calf-to-cow ratio resulted in a population decline. And collaboration with the Champaign-Asiac First Nation and the Yukon Territorial Government around the management and monitoring of this herd should continue.