Hello everybody, welcome back to another video on the Asperger's Gryffchannel Today, we are talking about depression Hooray! Such an uplifting and positive subject I know, I know, I know But it's an important subject And today I'm going to be giving you a little bit of advice A little bit of Thomas talkie time advice I have lived with severe depression for about 8 years of my life since I was 14 I had a lot of difficulties with self-harming, drinking, suicide attempts So today I'm going to share with you the main thing that has made such a positive impact on my life and my ability to cope with my depression And hopefully, me sharing with you my advice is going to help you with your own life and help you feel a bit more motivated and inspired to push through this tough time that you're having All in the video Stay tuned I don't even know how to do these videos because I want them to make them uplifting enough to entice people in but it's quite a depressing subject by its nature Throughout my life with depression I've had a really tough time and I've done a lot of things to try and cope with my mental illness including research into psychology, research into mental health I did my university degree on biomedical sciences so I did a lot of neurotransmitters and neurons I looked into it into a very extreme amount of detail but I've also been quite vigorous in looking and researching different supplements and medications and trying them out in an effort to try and find something that actually works because we have to be honest here, I'm going to be honest with you Not a lot of things help, do they? Especially when you're feeling absolutely terrible So today I'm going to be your little salvation your light at the end of the tunnel, your flame in the dark and I'm going to tell you about the number one thing that's going to help you with your depression One of the things that really does help with mental illness is being able to talk to other people about your feelings and your experiences Now I'm going to be blunt with this because I feel like a lot of mental health channels go on about you should always tell your friends how you feel all the time but they don't really stress the fact that not everybody wants to hear about it all the time and if you are severely depressed all of the time you want to talk about it all of the time because you're having such a hard time although your friends would want to do it if you're doing that every single day 365 days a year, 24-7 it's not going to be great for your relationship with them because you want to have fun with them you want to have exciting experiences you want to share positive emotion as well as negative emotion I'm not saying stop talking to your friends because they are an amazing and very important lifeline for you but I'm just going to give you a little bit of a a little bit of a hint, a little bit of a hint on how to properly deal with it when nobody is about there are two reasons, two very important reasons to why talking to people about your feelings is helpful for you the number one reason is that when you talk to someone most of it, most of the helpful aspects of the conversation is allowing you to talk to them them listening to you them listening to your experiences and your feelings the last thing that anybody wants is for someone to preach at them about how they're doing it wrong or how they should do this or who you should try thinking more positively thanks son never thought of that before the reason why this helps is because you are externalizing the problems that you're having when you externalize them you get rid of all those niggly thought loops in your brain those constant thoughts and reminders in your brain that you're terrible and you keep going around in thought loops and making yourself feel worse and worse without really solving anything when you externalize things you see things for what they are you need to get it out there get those thoughts out there get those feelings, those negative feelings out there and express them it's not just the words that you're saying it's the feelings that you express through your face and your body language and your crying your happiness and your laughter all of those things are extremely important because once you get them out of your body you can see them for what they really are and you can look at them you can analyze them and see what the problem is and then you can deal with it the second aspect of this communication the reason why talking to people is so good is because they validate your feelings it can be very easy to get stuck in little ruts where you just feel like you're overreacting you feel like the people around you whether it's your parents or your friends or your work people persons and being around people like that that don't really understand you for a long period of time can be very annoying very heartbreaking because there can be a lot of bad things that happen to people in their lives and the thing is with depression is that you feel bad for no reason you feel bad because you feel bad and it's heartbreaking and it's horrible and it is one of the worst things that a human being can experience so when you find someone that can really listen to you and affirm your feelings it's so crucial because instead of wallowing and feeling bad because you feel bad someone is telling you that it's normal to feel like this and that you're not overreacting it's okay to feel that you are going through that intense emotional turmoil and just because it's in your brain and it's deficiency and serotonin it doesn't take away the fact that you are in a lot of pain so those are the two aspects of social communication that are boiled down obviously there are other things of course you know like hugging and releasing all that nice oxytocin but those are the main things that I've found that help I know I've said this but I don't feel good about constantly talking about my depression that's why people like to put a smile on their face they like to mask it they like to hide their pain they like to hide their turmoil for a good reason because not a lot of people are good are good at listening to you and good at validating your feelings sure you may have one person that really gets you but for a lot of the time you want to have positive and fun experiences with them but you also want to be independent and you want to tackle it on your own the absolutely most crucial thing that I've learned through being on YouTube is that although I get a lot of joy and I get a lot of happiness from helping other people and making their lives just a little bit easier and a little bit more copable it also helps me a lot especially when I make some heartfelt videos about my own feelings and the difficulties that I'm having as soon as I've finished making a video I'm done with it I get on with my day I make actionable steps to try and cope with the pain and problems that I'm having I wholeheartedly encourage you to start doing video diaries I'm not talking about vlogs you know things that you have to upload and stuff writing is great I found that writing helps a little bit but writing doesn't have the other aspects of your communication in your expression of your feelings and thoughts by getting comfortable with a camera and talking about your feelings and expressing them you open that little door that's close to you when you're not around other people it gives you an opportunity to externalise your thoughts and your feelings and make actionable steps to cope with them it can also be extremely cathartic because when you're depressed you're almost always on this little line just slightly below the point at which you can cry and you're always sort of stuck below this line you can never release those negative feelings that you're having that's just what depression is like and the only way that I found that I can bring it out in myself is by talking about it you're getting it out there and you are facing your feelings because you need to so get yourself a little camera just do it on your phone or something if you don't want to go straight into the videos just make a few little audio diaries just make a few voice notes make sure that you listen to them because once you can listen to what you're saying and really concretely define what the problem is then you can start to accept that feeling once you've accepted it then you can start to move on move on and work on those things that is the problem and develop yourself and develop on the things that you're struggling with and cope with your mental illness doing these video vlogs really instills a new sense of independence in you it can give you a lot more motivation to fix the problems that you have in your own life all of those horrible negative looping thoughts in your mind that just stick around in your brain throughout the day it's always like going to the toilet it's a comfortable feeling building up and stuff in a work meeting or something and you get rid of it and it's gone then you move on with your life it's the same thing, it's like a toilet that must be the worst and most inappropriate example of what you need what you doing Tom so that's my little secret to dealing with depression it doesn't fully get rid of it it doesn't get rid of your depression but what it does do is it gives you a very actionable thing that you can do something that you can go to in times of need something that you can go to when you just feel absolutely hopeless you feel down, you feel actually possibly can having that ability to externalize what you're thinking and feeling is one of the most useful things that you can ever hope for and of course going out and being with your friends and talking about your problems now and again is great, you know it is important for you to get that affirmation from people that you love just not on a daily basis even if the other person is very willing and very up for helping you and they don't feel like it's taxing on their energy at all, depression has a way of convincing you that you are being taxing and that you are bothering them and it can really take away your sense of independence so doing these video diaries on your own, getting it all out there, moving on working on stuff to make you feel better absolutely one of the best things that you can do forget therapy that's not what I'm saying so thank you very much for watching this video today my lovely people I hope you're feeling alright you know sorry that's gross it is horrible and it's not gonna go away anytime soon if it's been with you for such a long time but it will get a lot more easy to cope with once you find things that help doing these video diaries it's a life saver I don't know where I'd be without it honestly thank you guys so much all of my subscribers anyone who watches this video now and again I cannot verbalize just how much you guys mean to me I wouldn't be able to do this without your support your emotional support I'm not just saying that you're using your subscribers and the counts the little numbers that I get on the screen it's not about that it's hearing stuff from you guys it's so important to me and I'm so just honored and glad that the little channel that I've got here is doing good for other people and doing good for me to be honest so thank you so much if you find it helpful make sure to comment down below tell me what you think try it out you know just give it a go and come back here and tell me what you think did it help I'd be really interested to know whether it has made a positive change in your life and if you want to see some more videos from me some more mental health videos I'm going to make a lot more nowadays because I'm in a bit of a slump and when I'm in a bit of a slump I want to talk about it more so win-win situation so make sure to subscribe and hit that notification bell thank you so much for watching everybody social media accounts down here Patreon accounts up here if you want to support me would mean the world to me and I'll see you guys in the next video be kind to yourself don't give up I understand it's hard but you will push through it and we'll push through it together see you later guys


Hello everyone, excited to be here. Good evening to you or for me. Good morning Excited to talk about pandas. I have written a couple books on pandas. I wrote the pandas 1x cookbook I've done some machine learning books and and some Other python books. So I run a company called medicinic that is corporate train consulting and hopefully I have seen some of you in some Classes before but I'm excited to talk about pandas so if if you're interested in These concepts follow me up. I am doing some more hands-on courses on these So what we're going to talk about is loading our data Looking at the types of data doing chaining operations mutating data Using the apply method and aggregation. So this is not a beginner's talk with pandas I'm going to assume that you have some knowledge of pandas and This is going to be some best practices some things I've seen from Using pandas for a long time teaching pandas to thousands and writing books on pandas and seeing a lot of bad recommendations out there sort of my rant to help people so I'm just going to load my libraries here Let me just clear my cells here Okay, so I'm loading pandas. I'm using pandas 1.3, but you don't have to use that most of the things that I'm going to talk about here are applicable to Basically any version of pandas that's released in the past four years or so. I'm using a data set from To economy gov. It's a US website that basically every car that's sold in the US attracts some metrics about that so Like miles per gallon Information about the engine not sort of thing and this has If I scroll down here, you can see there's 41,000 rows and 83 columns so pretty big data set here So I'm just going to show some steps that I do and some processes. I'm going to pull out a certain number of these columns City mileage the combined highway and city mileage the highway mileage the number of cylinders the number of the displacement in the car The type of drive an engine description a fuel cost a make model Transmission type the range when it was created and the year so bunch of different types here and show Some practices that I like to do so one thing you might want to do is look at those v types And you can see that we've got integers floats and objects generally these objects here are going to be string types But they could be numeric types or date types as well. Let's look at how much memory we're using here I'm going to use be equals true to make sure that because I have string type I'm capturing the amount of string types here and let's just sum that up and So we've got like 19 megs of data now. I'm just going to go through cleaning these up a little bit I said we're going to look at the types So let's look at the integer columns and going to select the integer columns and then do describe method on them to look At the range here. You can see that for example the combined goes up to 136 highway goes up to 124 We've got some that are going up to like 7,000 or so But different ranges there. I actually wouldn't write this like this I recommend using this chaining style So what I do is I put a parentheses at the front that tells Python that this is a parenthetical like doing math Add addition before multiplication with math, but it also allows me to escape Python Indentation rules so what I'm going to do is I'm going to put all of these operations on a single line So this is the same as the code above here Just written on multiple lines because it allows me to very easily see what's going on Let me just show you here. I can sort of walk through this. Here's my original data frame. I'm going to pull out these columns I'm going to Select a few columns that are integers and I'm going to describe those columns So for example, maybe I want to change some of these column types by default Pan is used in 64 if I use the NumPy library I can see that the A int 8 which is an 8 bit integer or 1 byte integer goes up to 127 so I could probably use that for highway 08 if we look at the int 16 We can see that goes up to 32,000 and so for most of these I can update them So I've just got an operation here I'm going to say I want to use the as type method to convert highway to int 8 city to in 16 combined in 16 And let's just do a describe on these new columns here and that looks good You can look at the maximum value here and the minimum value if you want to as well and see that I Can certainly use those types without any loss of information Okay, and if I want to look at all the integer types I can do select the types with integer as a string and I can look at all the integer types in there And those look good after I've applied this update here Let's look at the memory usage now after doing this and now I'm down to 18 megs So it's a little bit here by just changing a few of those types same thing for floats here I can look at the float types and so I've got cylinders at the number of cylinders and engine displacement here It looks like cylinders is integer s. Let's just do a describe on that and you can see that The quantiles are the minimum maximum 25th 25th 50th and 75th percentile those are all integers. This is actually an integer column But because it had missing values in it You can see that there are 206 missing values using that value counts there that It pandas doesn't support missing values on lowercase in 64 types So I'm going to query that and just look at where those values are missing and if you look at where the values are missing we see like Ultra ev rap for ev rap for ev so a lot of these are electric vehicles and so Maybe we want to say, you know, if I've got If it's missing rather than saying it's missing say it's zero and then convert that to an integer eight similar with displacement I've got some missing values in there I'm just going to fill those in with zero as well And we can summarize that can just make sure that that looks okay after doing that And so Let's convert our float our displacement to float 16 instead of float You can again use that numpy f info of float info to look at the ranges or your floating point And if we do that it looks like our data looks okay there We can sum up our memory usage now and we're now down to 17 mags by converting those to eight and floats let's look at object types and for object types again, generally those are strings, but These are the comp I've got here drive engine description make model transformation and create it on so it looks like drives Probably categorical engine description looks like somewhat freeform Make is categorical models categorical somewhat with a large degree of Cardinality Transmission actually looks like two columns and created on looks like a date So let's try in and just look at those the first thing I like to do is I like to apply this value counts method to My categorical columns and there you go. You can see that drive indeed is categorical. Let's look at where drive is missing I said drop in a fault here and you can see that there's 11 100 values that are missing there I'm just use this query here to look where they're missing and it looks like a lot of these again our electric vehicles here Just scrolling through them. It looks like a lot of electric vehicles So maybe what I do is I say I want to fill in the missing drive values with other And then after I do that convert that to a category Also, I'm going to convert the make to a category as well and let's look at our memory usage Our memory usage is now down to 12 megs. So we've gone we started 19 or down to 12 We still got a bit to go. Let's look at transmission Transmission looks like a column that has two pieces of information whether something's manual or automatic and also the number of speeds So I'm going to split this apart into two columns here And so what I'll do is I'll make an automatic column Which is just whether it contains audit the string autumn and speeds I'll use a regular expression to extract the number there if they're missing values I'll fill them with 20 and convert that to an int 8 and let's look at our memory usage now We're down to 10 megs here. So that's almost half as much as we were using originally Let's convert our dates. We do have that created on so I'm going to try and do To date time now I get an error here or not really an error, but a warning here that it says that The time zone EST is is identified but not understood turns out that EST isn't a time zone. It's an abbreviation But it's not a time zone And so There's a thing says past easy info's argument to correctly make it time zone aware turns out that pandas really doesn't expose that At this level here. So I've got a little bit more to do on that So here here's just the issue here. It's got these ESTs and EDPs in here and pandas It will convert it, but it's going to give that warning there So I have to jump through it through a few hoops to get this to go I'm going to replace the EDT with the offset that I'm going to convert that to UTC and then given that this is all in Eastern time zone, so I'm gonna or the New York time zone. So this is actually America. New York is a proper IANA time zone and let's run that and you can see that when I run that I don't get any warnings here I'm also pulling off the engine description and We'll look at engine description as well Turns out that handling time zones and dates is kind of a pain probably in my next series of talks that I'm gonna do is probably on time zone handling in pandas since it's not super straightforward, but Let's look at handling this FFS or this engine description You can see that this is more just freeforms got like parentheses and non-print seas and weird spacing in here So this looks like freeform data, which is the vein of like a data scientist or someone who's analyzing data What I'm going to do is I'm just going to say let's just pull out whether there's FFS in there So as a Boolean and then I'm just going to drop that and I mean if you look here There's a lot that have FFS in them. And so maybe that's some sort of indicator here so at the end I'm going to have this function here called tweak and Let's just run it and make sure that it works and it looks like it does this is just going to clean up our columns and That looks pretty good Now that's the first part getting types right once you've got types right that enables you to save memory But also if you have string types You can do string manipulation if you have categorical types You can do string and categorical manipulation if you have dates you can do date manipulation So it's really nice to get your types in the right format now the part two is Chaining and so I find a lot of people aren't used to this style It's also called flow programming and rather than making intermediate variables. We just leverage the fact that impending is Most every operation will return a new object and we'll just work on that and we'll just keep doing that and So I've got a hint here if you can't find a way to chain you can use the pipe method to do to do chains So pipe method is a method and pandas that takes a function That takes the current value of the data frame or the series and then you can return whatever you want from that Generally, I'll return a data frame from that But this is my little function and I like to do this when I'm using pandas I'll take a raw data set and I'll go through a process similar to what I just showed and then I'll make a function called tweak Whatever my data is and I'll put that right at the top of my data frame So I start with my raw data and then I have another function that will clean it up when I come back to my notebook I just run the cell to load my raw data run cell to clean it up and I'm good to go so The other thing if you look at this it reads like a recipe, right? I'm gonna take my autos data frame I'm gonna plop these columns. I'm going to assign these columns here I'm gonna sign cylinders displacement etc. I'm gonna convert these types And I'm going to drop these two columns as well So this looks just like a recipe step-by-step what you're gonna do with it It makes it your code easy to read now compare contrast that code up here These easy steps of what I'm going to do step-by-step with something like this This is what I normally see and like medium posts or whatever and this is only going This isn't doing everything here, but this is sort of what people do They'll make these intermediate variables and then do some operations It's you know, does it work it might work and if I run it here you'll see that there are a bunch of warnings and this is sort of the bane of People who use pandas everywhere like this setting with copy warning like no one knows what this really is though Throw in a bunch of copies into their data to get around it Well, the whole reason people are trying to use this style is to not make copies, but they end up making copies anyway, so I Don't recommend this style here Note that it's longer and it's not as clear as is it's not as readable your colleagues actually won't like it as much either You won't like it as much when you come back to it So I highly encourage you not to use that now some people claim that it's not easy to Debug or understand this code, but with this you can debug it really easy. I don't buy that Again after using pandas for many years It's not the case If you want to you can like I said before you can just sort of comment these out And you can walk through each step and see what's going on with each step as you run it Alternatively, you can do things like I'm showing here leverage this pipe So if I want to see what the intermediate variable is after this first step in my recipe I can pipe in this function that I made right up here get var Which is just going to make a variable called d3 So let's run this and if I look down here this d3 is the intermediate variable So I can do things like that if I want in your intermediate variable I'll turnively I can also pipe in like this a function that just calls display And this is again the ipython display function that will show something in the notebook if you run this you actually see that This prints out the intermediate state right there and then the output is actually right here below that So you can Tacken these pipe operations here to either make a variable or show the content if you want to And that will make it really easy to debug and see what's going on Also again, I do recommend that commenting out and stepping through your code that way The next step here is our next part of the talk is don't mutate and again When I show this to people people are like well Matt you're wasting all this memory You're not using the in place you're not using the assign or you're not using index assignments So you're you're wasting memory and it turns out that Maybe I am but that's how pandas works and Jeffrey back core developer pandas says In place the in place operation rarely does something in place You're thinking you're saving memory, but you're not in place Usually basically makes a copy under the covers and then returns Sticks the copy in for the other object there So you're not really saving any more memory than you would with using chaining There's actually a bug that I've linked to to remove and deprecate in place So in summary if you do mutate and I again I see a lot of people saying you need to mutate or whatever You don't really get performance benefits from it You can't chain if you do that so your code's gonna be ugly and then you're gonna get all these silly setting with copy warnings that you're gonna go around and you're gonna make copies to get rid of those and You're you're actually like making it worse for yourself by doing that So it you'll note that if you use the style that I show with a sign and not using copy You'll never run into a copy issue at all Okay, and the next part here is don't apply if you can so here here's my autos data set I'm just gonna make this autos to here now. This is very US centric We talk about things like miles per gallon Well, most people around the world use things like leaders per hundred kilometers here So if I wanted to convert that City mileage to leaders per hundred kilometers I could do something like this with a Python function that does that conversion for me using the apply method However, I could also use a vectorized broadcast operation to same 235 divided by this series and if you look at these they give you the same result here Now The difference here being that the apply is going to pan through Python and the other one is not And so if you actually look at the timing here when I round these on my machine earlier this morning we got around 52 times Slower for using apply. That's because it has to deserialize stick things into pandas and go back and so Right now It looks like it's even slower. So But around 50 in this case around 50 Percent performance increase for a numeric operation so a ploy. Sorry avoid Apply if you're doing math now I'm gonna do some string manipulation here Maybe you want to say like is something an American car, right? So here's car makes that are American and let's use apply on that Versus this is in which is a method on a series here And when you run this you're going to see that the difference here isn't quite as drastic here and The reasoning here is that string operations and pandas aren't vectorized and so I Say avoid apply I think you can make the exception that if you're doing stream manipulation apply might be better Now note that make here is actually categorical and and so You do get some benefits from doing the categorical operation because it doesn't have to do it on every single string I'm just going to make an autos three here where I convert Make back to a string and you'll see that when I Do these operations on the strings? There is a performance penalty on them. So And in this case you can see that apply goes from being Almost as fast as that to a lot slower when we convert it back to a string here Okay, and and so these other examples are just showing some other ways to do this you can use a Wear operation or you can use NP select or NP dot where which are basically the pandas and numpy versions of doing like if statements and again I would recommend doing those if you've got numeric operations if you're doing string manipulations then you might Be fine with apply again because apply isn't vectorized Or sorry string operations aren't vectorized pandas Okay, the next part here is master aggregations. So if you're not familiar with aggregations, they're sort of like pivot tables in And Excel So I'm gonna take my autos data frame here and I'm going to group it by year You'll see this returns a lazy object and then I'm going to take the mean of that And so what that does is it puts the year into the index and gives me the mean of every numeric column there This is kind of cool. I mean Literally this could be written as one line of code I've written it as three because it's easier to understand but with one line of code here I have pretty big powers here now. This can be confusing Let's do another one here. I'm gonna group it by year there I'm gonna pull out the combined mileage and the speed mileage and then take the mean of that We can also do this we can say group it by year and instead of I can take the mean first and then pull off combined and speeds after that now if you change the order of that you're gonna get the same behavior but Your timing might be different because you can see if we pull off combined and speeds after we do the aggregation We have to add we're aggregating all the numeric columns up here We're just aggregating those two columns So that order there can make a difference depending on how many columns you want I'm gonna just set some styling here because I'm gonna add some plots in here So what I'd like to do is now I can like visualize this as well pretty quickly here So again, here's here's my group by it's lazy Let's take the mean and I'm gonna use pandas to plot this It turns out when you do a plot in pandas by default as a line plot. It's gonna plot the end Each column against the index so the index will be the x-axis each column will be its own line here So it's pretty easy to make a little line You can see that my styling has a font that is missing on this machine But I'll just sort of ignore that pink warning here But there there's a visualization makes it very easy to see that combined mileage is going up in recent years Speeds going up slightly as well, but not as much as combined mileage now once I've got this little chain here You know, I can look at instead of the mean if I want to look at the median. I just sort of swap these Methods out. There's the median. I can look at the 30th percent quantile, right or the standard deviation and or the variance so by using This chain style makes it very easy to just try things out and see what's going on, right? And if I want the original data, I just comment out that plot and I'm back to my data right there Now let's in this case, I'm going to a group by two objects I'm going to group by year and country and take the mean of that and Says country is not defined. So let me let me find my deaf country So I forgot that we forgot to run that deaf country there Okay, so deaf country is just a function that says, you know, is it in the US or is it in another country here? So let's go back down to where we were Okay, so what what I'm going to do is I'm going to make a new column called country Then I'm going to group by year and country and then take the mean value now You see that this is what's called a hierarchical or multi index the index has two values in it If you've used pivot tables, that should be somewhat familiar to you What I'm going to do now is I'm going to do my aggregation by those two columns But I'm going to aggregate with multiple aggregation functions take the minimum value the mean value and the second to last This is a user defined aggregation Just showing that you can make an aggregation there and there we go now. We've got not only multiple Multi index here, but also hierarchical columns as well And and so you can go crazy with that if you want to so one thing you might want to do is try and plot that Then you get this plot. It's a little bit silly because it's trying to plot this x You know each of these columns against this x-axis, which is now a tuple here with year and country So it's a little bit weird But what you can do is you can learn to leverage this thing called unstacked So let me just show you this code here Here's what I had before and now I'm going to unstack this what this is going to do is going to take the innermost Index here the country and stick it up there in the column so you can see now I just have year here and And if I wanted to now what I can do after I do that I can plot this CDO 8 columns Let me just sort of walk through this There's my unstack here I'm going to plot CDO 8 calm that has two sub columns below that US and other and I'm going to plot that and Now I can easily visualize what's going on with the mean city mileage for the US and other countries over the past 20 years or so and I can use this little map plot loop code to stick the legend out there So it's not on top of my plot there So again, you could write this as one line of code, but I'm splitting it out there to make it clear to see And if I want to smooth this out, I can just stick in a rolling here So a lot of people will do that with like time series data So take a rolling average So I just say rolling three take three segments here and take the mean of that to aggregate that not just smooths it out You can see this one's a little more jagged. This one's a little bit more smooth Okay So in summary Correct types will save space They will enable math if you have like stream types that need to be converted to numbers or They will also enable things like date functionality as well I'm a huge proponent of chaining if you don't chain you should start doing it It's going to make your code more readable. It's going to remove bugs and it's going to make it easier to debug I showed all of those things here Also, don't mutate in pandas There's usually no point Embrace chaining. I realize that a lot of people don't use chaining, but If you look at like the core developers, they actually recommend that this style as well Again apply is slow for math operations. So I see a lot of people saying use apply use apply Don't use apply unless it's a last resort Apply works fine for stream manipulation, but for math generally you want to use something else Otherwise, you're going to have slow operations and lastly aggregations are powerful I get it if you haven't used them a lot, especially like unstack or hierarchical multi indexes can be confusing So my advice there is just to look at examples and start playing with them until they start to make sense If you found this interesting And you like these sorts of things follow me on twitter dunder and harrison I tend to tweet a lot about python the day science again because that's what I do for my work I teach people how to leverage python until lies with data And like I said before I i'm going to have an upcoming course Where uh, we're going to work on these sorts of things on your own data So if you're interested in that idiomatic pandas workshop, um Again follow me on twitter there Okay Let's see there are some questions here aditha says I think I saw something on the lines of in place not being the best way I use in place to reduce the code and not to assign it to the same data frame Is there a better way to do that's without in place? Yeah, you should use chaining So if you use chaining like you you saw in my example above aditha You'll have less lines of code compared to the non-chained version You won't have any bugs and it's going to be easier for you to read Especially if you make one of those tweak Functions, you're going to be able to come back to your notebook and just use your notebook very easily Okay, other questions. We got like a minute left. I think Yep Okay Well, I'm not seeing anything here. If you want to reach out to me I'll be in the speaker lounge for a little bit or you can reach out to me on twitter Happy to continue the conversation there. Thanks everyone for letting me join you. It's been a pleasure. Have a great conference and Hope to maybe in the future actually be at picon india Bye everyone. Have a great day


Hey guys, welcome back to another week of what's for dinner. My name is Andrea with food and entry adventures in food in My household, there's me my husband and our adorable one-year-old little boy Hey guys, welcome back to our channel today is the 4th of July and we are spending it at home Just the three of us Howard grilled out for us. So we had some or he grilled out some burgers I had these four hamburger patties in my freezer. I picked them up on clearance from Kroger a while back ago threw them in my freezer, but they are Jalapeno and pepper jack burgers and then we are also having some hot links. So let me show you that packaging here It is He got out some hot links and then he also grilled out some corn on the cob Mine has some black pepper and salt and butter and his has Salt and butter on that as well We have a bunch of chips around the house that we're gonna add to the mill But this is what we are having for dinner tonight, and we'll see you guys next time Hey guys, so we are eating from our freezer tonight. We are having This flatbread from Trader Joe's Howard and I really like it a lot and it has ham caramelized onion and Swiss cheese and I cooked it on my pizza stone in the oven and here it is. It's a pretty small flatbread Definitely if you're having this for dinner, you're gonna need to have something else with it So we're gonna cut this pizza or flatbread in half and have some wings with it Finishing up these wings that were in my freezer. Howard, and I really like this brand foster farms I get these huge bags from Costco So he really likes a sweet sweet to put late barbecue and I prefer the Korean style wings But this is what they look like I cooked them in the air fryer They're already fully cooked and they're crunchy already, but they are so good my Favorite frozen wing and of course that was Harrison in the background So this is what we are having for dinner tonight, and we'll see you guys next time Hey guys, so for dinner tonight. We are having orzo pasta with spinach and Parmesan I actually made this for the first time a couple of weeks ago and we liked it so much that I made it again And so I won't link that video in the description box. It's a really quick and easy skillet meal just orzo fresh spinach Chicken bouillon and garlic I think and it is so good and I'm not at all a big spinach person But I like this too And so we have enough left for another meal for leftovers with it I am serving it with garlic toast and this is not the garlic bread that I normally use I really like the one from Tom Thumb, but I saw this one It is from HEB, which is a grocery store here in Texas. So I wanted to give it a try see if it's any good So this is it. This is what we are having for dinner tonight, and we'll see you guys next time Hey guys, so for dinner tonight Howard went to our favorite Italian restaurant and picked up some carryout for us So it comes with two house salads and this is the best salad dressing It is so good. So we've got two salads with our entrees. This is Howard's entree He got pesto chicken and then I got lasagna with meat sauce And then it comes with some bread and the bread is so good And then I also really like their Italian wedding soup And so here is their Italian wedding soup the first place I actually ever had Italian wedding soup was this place and it spoiled me. It is so good So this is what we are having for dinner tonight, and we'll see you guys next time Hey guys, so for dinner tonight, I am making smothered chicken So I will make sure to link the recipe in the description box. I am loosely following this recipe by I heart recipes So I've got five chicken thighs in here that I have seasoned and then I also have some seasoned flowering here as well For both of them.  So this is what I also have in the flour and then I have my skillet Warmed up over here with some oil in it and it's at a medium-high heat. So I'm just going to dredge this and Then I'm going to put it in the skillet and I want to get it browned on both sides So it's not going to be cooked. I'm not worried about that. It's just going to get ground Okay, so I just removed the chicken from the pan and it's browned not done at all as you can see You're just supposed to brown it and I added my onions into this very same Pan and I'm using frozen onions because that's what I have on hand And so I'm just supposed to let this saute for a couple of minutes And then I'm going to move the onions and then start my Okay guys, so I added in my flour and now it's time to add in my chicken broth It's a little at a time and whisking it to make sure I don't get any lump And once I get all of the chicken broth added. I'm just going to let this cook For about two minutes to get rid of some of that flour All right guys, so this is my chicken broth and I added whole milk to it and it's simmering as you can see I'm just going to add in my chicken pieces and My onions. I'm going to add them back in All right, I'm just going to cover this up and let it simmer for about 45 minutes or until it's done Okay, so here is this other chicken. I sprinkled a little bit of fresh parsley on top So that's what you're seeing there, but I ended up Cooking this for about 50 minutes and it is so tender and so I am serving this with mashed potatoes This is actually Howard's plate I didn't make my own mashed potatoes because I had these in the freezer from IKEA and I tried them They're okay I just wanted to give them a try because I do like IKEA food next time I would probably probably just make my own mashed potatoes So this is Howard's plate and I also just made some canned green beans seasoned it with some onion and bacon fat and seasoned salt and Then this is my plate same thing of course, but I'm a rice person So I'm serving mine over rice and then for dessert. I made peach dumplings I have made these several times before and I actually have a video on our channel So I will make sure to link that in the description box So this is what we were having for dinner tonight and we'll see you guys next time


Hi everybody, Joe for jazzy's casebreaks.com. We did it. We knocked out the jazzy's five box playoff push basketball mixer featuring a nice little giveaway here at Tyler Hero one-of-one. In fact, let's show it to you right here. There it is. That's right, it's slapped. Sensational signatures, autograph, PSA9, one-of-one. Some nice stuff there. So big thing, we'll do that randomizer at the very end. A nice little break here. All card ships, some nice boxes in the mix as well. Big thanks to this group for making it happen. Kind of crazy, we only sold three spots outright. You see Travis, Dean, and Jason. The rest of them we sold, we did fillers for it. So appreciate everybody getting into the fillers, helping us fill up this break in a different way. Alright, and there's all the teams right there. All 30 are in. Let's roll it. Randomize names and teams, six and a four, ten times each. One, two, three, four, five, six, seven, eight, nine, and tenth and final time. Got Jason down to Alan Matsui after ten, and then six and a four, ten times for the teams. One, two, three, four, five, six, seven, eight, nine, and tenth and final time. We got OKC up top down to the ATL. Alright, Jason with the OKC Thunder. Last Pop Mojo star next to your name. John with the Celtics. Darren with my Lakers. Robert with the Clippers. Tim with the Warriors. Jason with the Pelicans. Kirk with the Raptors. Tim with the Bucks. Kym with the Grizz. Rex with the Kings. Jason with the Heat and Mavs. Jason Kay with the Suns. Tristan with the Nuggets. Alan with the Rockets. Tim with the Pistons. Dean with the Timberwolves. Evan with the Wizards. Travis with the Spurs. Tim with the Knicks. Alan with the Nets and Jazz. Tristan with the Hornets. Dennis with the Sixers. Alan with the Cavs. Dean with the Magic Tristan with the Bulls. Tim with the Pacers. Travis with the Trail Blazers. And Alan with Atlanta. Let's order these alphabetically. We're going to pause a trade for the trade window, pause a video for the trade window just for a little bit. So when we come back, we'll see if there's any trades. We'll have the break. We'll see on the other side. Alright, welcome back everybody. No deals were done, so the list remains the same. Good luck. Here we go. On a Wednesday, hump day, Jaspie's Five Box, Playoff Push, Basketball Mixer. Thanks everyone for making this happen. Appreciate you. The ending, ending double play. Dodgers only up by a run. Trying to fend off the Giants here. Alright, let's one, two, three, four, five box break. Let's do the, let's get the base heavier stuff out of the way first because Donner's hobby, right? Optic hobby. Chronicles hobby. Contenders optic and 21-22 mosaic hobby. Alright, so we're going to get the base heavier stuff out of the way first. Then I guess we'll end with that contenders optic. It's kind of crazy to think that the basketball season is almost over. Crazy. Let's whip around the league here. What do we got? What do we got? We got the Trail Blazers. This is an old school scoreline here. Trail Blazers beat the Hornets 89 to 86. A lot more difficult than it should have been, but my Lakers beat the Wizards 125 to 120. Wow, Malachi Flynn off the bench apparently scored 50 points in a losing effort. Pox beat the Pistons 121 to 113. Alright, Malachi Flynn. Yeah, off the bench. Went 18 for 25 from the field. Five of nine from three. Also included six rebounds. Five assists. A few steals. Plus minus of 14, but got no help elsewhere. Only two other players were in double digits. They only had 11 points. Jalen Durin with 11 points and Marcus Sasser with 11 points. I guess no Cade Cunningham tonight. That's rough for the Pistons. I feel like they're not too far away, but they'll drop some stinkers like this one. Celtics beat the Thunder 135 to 100. Nets beat the Pacers 115 to 111. Grizzlies beat the Bucks 111 to 101. Timberalls crushed the Raptors 133 to 85. Magic beat the Pelicans 170 to 108. That's good for my Lakers, but the Suns beat the Cavs 122 to 101. That's bad for my Lakers in terms of seeding. Alright, here we go. We got Mark Williams is our rookie autograph. Next day auto. Going to Charlotte, going to Tristan. Got James Harden to 199. And there's a nice Ben Carroll rated rookie card. That'll go to Dean in Orlando. Nice one, Dean. We'll be looking for this guy all break long. Got Will Barton, 37 out of 75 with the basketball emoji background. Real nice Chet Holmgrim here for OKC. That'll be for Jason, last spot mojo. We'll be looking for a lot of this guy too throughout the break. Patrick Baldwin Jr. to 149. Got a nice Jalen Williams here. This is Santa Clara Jalen Williams. More for OKC, Jason. Dominique Wilkins. Jabari Smith Jr. Jeremy Sohan been playing some good basketball too. This is going to go to Travis and the Spurs. There's a Keegan Murray for Rex and the Kings. Rated rookie card. Nice and lament with his first career. Tara Easton to 199. And a Keegan Murray 4 out of 99 for Rex. J9 before the Pistons. Killian Hayes to 10. Nice one for Detroit. That's going to go to Tim and the Pistons. I like that low number there out of 10. All right, let's get this Chronicles going here. Those are some of the guys that we're looking for here. Here's Jalen Williams. Prestige rookie card for OKC. Here's his team in SGA. They've been banged up a little bit. We haven't seen a lot of them in action past couple of games. 6-6 out of 2 49. Another Jalen Williams. Jaden Hardy. Jeremy Sohan to 99. Chat Holmgren. And a Marjon Beauchamp. 25 out of 149. That's going to go out to Tim and the Milwaukee Bucks. Got a Yanis and a Panini Marquis Jalen Duran for Detroit. Patrick Baldwin Jr. to 25. Got a Jalen Duran Blue 1 out of 99 for Detroit. Tim with the Warriors. We'll get the Patrick Baldwin numbered card. Avaji to 99. Josh Minot is our autograph. Our second autograph. 003 out of 149. That's going to go to the Timberwolves. That'll go to Dean. Yanis. Christian Coloco to 149. Timeless Treasures for Toronto. That'll be for Kirk. Ooh, and there's a Ben Carroll. Nice. And that scorecard right there. Orlando, Dean with the Magic. Another Keegan Murray. Phoenix Keegan Murray. For Rex. Got a Jaden Hardy to 149. Blank. Zach Jabari. Duran. And Daniels. All right, let's go with some optic. Got an autograph right there as well. Rex was asking earlier if I thought Otani was the weight of his interpreter stealing millions from him. If that was bothering him, I don't think so, Rex. Two for four with a 430 foot home run. I think he's feeling just fine at the plate. It's not like he was doing bad before. All right, next box. Good luck. We got Max Struss. Struse. That is to nine out of 79 for the Heat. Jason. Redemption. Any guesses on that redemption for bragging rights? We got a Lyme Green, Norman Powell, 124 out of 149. Robert with the Clippers. Another Keegan Murray. Orange Cameron Johnson for the Nets. That's to 199. That'll be for Allen. Got a Jeremy Sohan for the Spurs. That'll be for Travis. Yannis Green. 008 out of 149. The Rookies, Paolo Banquero. Yeah, if anything, I would think that just being on a new team and have that giant contract, that's probably more weighing more on his mind on the baseball field. Got a red DeMar DeRosen to 99, 21 out of 99 for the Bulls. All right, no guesses on the redemption. It's Blake Wesley, Rated Rookie Signatures. I think he is a jazz. Nope, a spur. Drafted by the Spurs with the 25th overall pick. Blake Wesley's Spurs. So there you go, Travis. All right, Mosaic, the Contender's Optic, and then the Tyler Hero 101 giveaway. Remember the Mosaic? It's just a year behind 2021. The rest of these are 2022. How's your back feeling with the, like with the Patronary thing? Yes. I don't know. Stretch it out when you get them on. Maybe a hot. Roller. Oh, roller's great. Hot shower, blasted shower right on your lower back. Got Seth Curry. Kevin Hooter. Not number. You got Franz Wagner. Rookie Red for Orlando. Got some Evan Mobley. Got some Josh Giddy. I remember I did that to you. We should look that up. See what Jerry Harrison Jr.'s career versus Don'trell Willis. Yeah. I'm surprised they don't bring that up more often. Don'trell did. I think for like half a season, I thought, maybe he did. I mean, that always makes sense. There's John the Kaminga to 49. Didn't he? Or maybe it's revision. Maybe I'm just revisionist history in my head. Scotty Barnes, national pride card going to Toronto. That'll be for Kirk. So the Marlins, Tigers, down by some rats. No, never with the Dodgers, huh? Did he grow up here? Maybe. Maybe Joe Davis gave him a job because it's like a regular studio game. I don't know. That's for your Fox Sports 1. Hmm. Interesting. You want to join over here? James Booknight. Yeah, I know. They're part of the Fox Sports family. James Booknight for Tristan and the Charlotte Hornets. I'm guessing this will be easy, but what state has the most professional sports teams and how many? California. Yeah, it is California, but how many? Are you counting like Major League Soccer and all that? I mean, it's like 12, they're going to add San Diego too. Dozen professional teams? Yeah, that's true. NFL one point, they have four NFL teams. And then hockey wise, they have one, two, three, seven. Baseball is right now. Apparently they still have one, two, three, four. It's 11. More than 12, yeah. Being more than 12 on the Major League Soccer teams. More than 12, but less than two. So what sports are we counting then? We're counting like pretty Murphy. I mean, even if we count basketball, how many is that? Basketball is like another four, right? So that's 15? So four basketball, four baseball, right? So that's eight. Three hockey. So that's 11. That's the three major sports. That's three. That's the three major sports, but I mean, if Rex is saying there's more than that, but less than two dozen. NFL, sorry. So that's 11 and the NFL is two, three. So that's 14 and then soccer? Okay, then you have two here, San Jose. San Jose has one of those three. San Diego has them counted, but they're going to be here soon. So yeah, that's like 17. 17 or something? I think that's right. All right, last box. Good luck, everybody. Nothing too crazy in this mixer. Sometimes that's the nature of the mixer, but we do have that Hyder Hero we're still giving away. So 21? Player, he's just saying the teams. What stage is the most professional sports teams? He's saying 21. How to fact check Rex, as usual. Devonte Graham, Zach Levine, to 75 for Tristan and the Bulls. We just counted all the basketball, baseball, football, hockey, and soccer teams. There's Jaden Hardy. Wait, is it not California then? For Dallas, that's going to be for Jason. There's D'Angelo Russell and behind him is, oh, I thought it was going to be the guy on the box, but there's Cole Anthony, perennial contenders autograph for Orlando. I was like, that's going to be a nice way to finish it. Jason S with that. All right, but even with, you know, LA Sparks, Angel City, and then like, there's not an NWSL soccer team in Northern California or San Diego Wave. That's another four. I guess that's 20. So maybe that gets us 21. Golden Bears.  That's a college team, Rex. You said professional. Don't change the rules on us.  We got to go through, got to go through this again. What's Rex's source? All right, thanks everybody. That was the break. Let's give away the Tyler hero. Let's gather everybody's names one through 30. New dice, new list, winner take all, just one winner, name on top after three and a one four times. One, two, three, and a one fourth and final time. So name on top. Thanks everybody for getting into this mixer. I appreciate you. It's going to be Alan Matsui with a spot he won in the filler. Congrats to you. Apologies to everybody else, but Alan, congrats. You're going to get the Tyler hero 2019 Panini prison basketball PSA nine. You got the autograph. You got the one of one. You got the all aboard the big head express. Thanks everybody. That was Jasper's five box playoff push basketball mixer. Keep an eye out for more basketball on jaspercaserace.com. We'll be talking playoffs all playoffs long and ripping basketball as well. I'm Joe for jaspercaserace.com and I'll see you next time for the next one. Bye bye.


to share this screen, right? So just to give you an overview of who we are. So I'm Danielle, I work at Fairwinds, and we put together a Kubernetes maturity model based on our experience helping manage Kubernetes for many companies. And so I was invited into this group because we had something as a foundation that we could use to build upon as well as Simon had similar. So over to Simon for your intro. Yeah. Hello everybody. My name is Simon Forster. I'm the founder of a small consultancy here located here in London in the UK called Stackogy. And I originally engaged with the CNCF through Cheryl Hung as it happened around some work that I've been doing around maturity models previously with a number of organizations. And as with Danielle, I'm a co-chair of the Cartographus working group. So John, do you want to introduce yourself? Hey, are you okay? Yep. This is my messy office. Is everybody doing today? I'm a director at Centra. I'm also a master technology architect as well. Been at Centra for eight years now. And over the over time, Robbie Glenn and I was on the call. So I built the maturity model for clients at Centra. We turned it to the cloud, turned it to Kubernetes. And it was pretty mature, you know, modeled. And I thought, Hey, this would be great to donate just the CNCF. And then that kind of created the bulls rolling and how we connected then with Danielle and Simon as well to make this reality. And then a QCon was launched. And it's pretty exciting so far. So best of microphone over to Robbie. Hey, Robbie Glenn. I work with John. And we built, you know, something of a maturity model for some of our organizations. And as he mentioned, that's kind of how we got involved in this. And instead of coming up with three, you know, distinct frameworks, we decided that we should combine them into one. So that's, that's where some of this came from. Nice. So we have just a few slides to talk through. And then again, the kind of ask and discussion on what we want from all of you. So over to John, he's going to start us off. Sure. So everybody is familiar with the eyesore on the screen, right? When they go to see CSIO, they just big, you know, screen of those little icons and what do they mean? How do I use these? How do I adopt these? So a big part of our thinking over here, when we went to kind of our office and in the maturity model, was how do we take all this and shape this into a landscape that people actually can use? And to embrace cloud native, to embrace CNCF, what does it really mean to be cloud native from a, from model one to five? How do we get one to five and within that, that the roadmap as well? Obviously, during the past several years, a trial map has also been defined as well. But how good is the trial map, even though the trial map is very confusing and not really guiding you to where you need to be? So we thought as a team collectively, how cool would it be to put together a true landscape, a true model, a true map of how to get there. And thus, that's how, again, how cartographers was, was created and developed. So over time, there's always been a journey, right? In the beginning, right, there was the journey to cloud. We all remember those days, we back when, right? We used to be Wackenstack servers in a day centers that we ran every day. And then the cloud happened. And then everybody said, during the cloud, let's go to the cloud. Yay. And that, that was going on for a very long time during the process. We went to VMs, the VMs was the cloud. That was that initial journey. And then, you know, this whole thing about DevOps begin to come up. How do we do DevSecOps in this new landscape? I'm used to doing DevOps in my own world, Wackenstack servers on premise. But what, how do I relate that to the cloud? How does that journey happen? And then over time, Kubernetes became more of a thing from swarm to Kubernetes, right, through the last several years. And then, yeah, Kubernetes has become the operating system of the cloud. Now that we have the operating system in the cloud, there's a new journey. And we believe that journey is that cloud native. A cloud native is born from these three roads on the left hand side, where, you know, from between cloud DevOps and the Kubernetes container journey, you will be involved today now to where we are. And this is the cloud native journey. And in my opinion, all opinion, the road always leads to cloud journey to the cloud native. So that's where we are. Next slide. You're up on some of these slides. Yeah. So we kind of touched on this before, but the idea is that, you know, we were individually kind of seen in the industry when we work with clients that we were building roadmaps over and over for them. And basically, you know, what we wanted to provide was not just not necessarily a single roadmap that's going to try and fit every, you know, a one size fits all, but really a framework for to, you know, provide some really good insight into how you might go from one maturity level to another, but also across the board, we wanted to, instead of just focusing on technology, which is oftentimes what we're focusing on when we talk about introducing, you know, a new technology into your organization, we wanted to actually look at other dimensions, including, you know, the people aspect of it, how your organization needs to change along the journey, the different types of policies you might need to implement along the way. There's a huge emphasis these days on policy, and there's a migration toward, you know, toward policy as, or I mean, infrastructure as policy almost. And then I, we wanted to make sure that we provided that kind of a, that kind of overall, you know, journey across multiple maturity levels that I sort of goes across those, those four dimensions. So this is just a much, you know, kind of a condensed version of the last slide. It's really around the tactical versus the aspirational components of this. So very tactically, we're trying to provide this framework. We have some documents in that we have pushed to GitHub that kind of give some overviews. We have some, we actually have a spreadsheet that we've worked in to really provide that kind of level of detail in terms of where, you know, either activities or events happen within the particular framework. But aspirationally, we're really trying to, you know, help users adopt these, this cloud native journey and build their own journey for themselves. Go through kind of what, excuse me, the maturity model looks like. So there's five main phases of the maturity model. And what we did is we built them up as to like, okay, where are you at? So in the first stage in the build, these are people who are in pre-production. They are trialing stuff, but they're in, they're not really, nothing's in production yet. They're experimenting. Then you move on to operating where you do have a foundation established and you're looking to deploy probably one app, an easy app into production. Stage three is about scaling. So the steps you need to make sure Kubernetes can work across your organization, across multiple apps. In the fourth stage, you're looking at improving everything. So that's where we have said, okay, you're going to be looking to improve your security, your policy, your governance. And then in stage five is where you can look back at everything you've built and done and how can you optimize it? What metrics do you need to be monitoring? And what do you need to do to make sure the infrastructure is optimized? So there are detailed descriptions of the five stages all on GitHub that you can look at. And then the kind of how the model is divided, which Robbie alluded to a little bit. And I'm sorry about background noise. My dogs have decided to fight right now. So good thing, you know, it's always on your call. So we broke it into four main divisions. So we looked at the people because when you move to cloud native and you're adopting the technology, it's also about how the people are going to interact with the technology, how it's going to work across your organization, how you're going to build teams. We then looked at like, well, what are the processes you're going to need to put in place to make sure cloud native is successful? What are the policies you need to translate from your existing infrastructure technology to the cloud native world? And then what is the technology that you're going to use? And I think for all of you on this call, we're really interested in the technology part. Because with the people, the process, the policy, we spent a lot of time looking at those aspects and doing a high level, like this is what you need to be thinking about. But in the technology, it's all of the expertise that, you know, you might be able to elaborate on for us. So Simon, you're going to talk about how everybody can get involved and help us make this maturity model so much better than it is. Yeah, thank you. So first off, and importantly, being a CNCF project, we do have a repository under the CNCF organization called Cutagraphos. It contains within there the main charter, of course, and how the group is put together and how to contribute. It also contains within there a series of documents as a prologue and also a document for the respective areas of people, process, policy, and technology, and the five levels and how they relate to all of those. We also have at FIPPIO, the book, Admiral Basher's Island Adventure as well, which came out. That book, the reason that I bring that up is that was based on much of the work that we did within the maturity model. It would be helpful if you wish to just have a brief review, if only if the prologue is all help you to gain a little more understanding of exactly what we're doing. At this point in time, what we haven't, we have not put together a graphical artifact, such as the like the trail map, northern landscape. We do see that something like that will be on the roadmap for us also, but we really appreciate your contribution. In terms of getting involved, we already have this meeting. We hold this actually every two weeks. Likewise, the details are available in the GitHub repo. What we'd really like now, because we're at the stage where we're trying to mature the maturity model, is we'd like to have involvement from your respective tags. If possible, we'd really appreciate having somebody who might be able to come along and help us liaise, a contact person, if nothing else. What we've put together a spreadsheet that contains just each of the levels and the levels 1 through 5 and where we hope each of the tags will be able to contribute. But I think the important thing for us is starting that conversation, and we also do have a channel on Slack. Also, thank you, Danielle. Thanks for bringing that up. What you can see there is we've got each of the five levels with their descriptions. We've got some areas. You'll see on the left-hand side, you can see the blue line. We've got people. Then under that, we've got a few various stakeholders. Then we come to process as well. You can see under process, we've got CICD, change control, some security and software supply chain. Then we have policy further down. Of course, technology. We've produced this in order to give you an idea of some of the rigor that we went through. We did go spend a significant chunk of this year working through each of the areas. Danielle, if you could just switch to the second tab template for TAG, just as a helpful reference as well, what we've identified is just the tags and just some thoughts. We're really after any guidance under the respective areas that you may be able to provide us with. If you're able to perhaps populate that, we can ensure you receive all of the details of this in plenty of time. Please feel free to ignore suggestions that you may see in there. For example, I can see some of the projects such as Coverno or Open Mentioned. We'd like to defer to you as to where you think some of these projects may come in. One of the really important task for the maturity model is to perhaps assist in setting a common baseline. Different people have ideas of the level of maturity around where you would bring in a project perhaps into an organization. We're really interested to get your thoughts on what are the prerequisites, clearly Kubernetes is a very early one for everybody, but with the projects in your respective area, where do you feel as an organization or institution embarks on its cloud-native maturity journey, where would it be worth bringing that in, and what would you like to see as a prerequisite as well? We'd really value your feedback there. We'll distribute this spreadsheet to all of you after this, and we do appreciate, of course, your effort to come along today. One of the things is that we're also able to meet with you separately. If this meeting time doesn't work, or you want to just pick our brains as to how we built the original spreadsheet or what we did, we're happy to get involved on your side when it's convenient. Just in terms of where this is with the CNCF, we did have a book published based on this, and it was mentioned at KubeCon in North America during the Keynotes. As we move into 2022, the CNCF wants this more matured so that they can continue to promote it, so that when people are coming to them, or end users are coming, going, what do we need to do? This is going to be the resource that the CNCF points them to, and the end users group is going to get visibility into this in detail in January. That's kind of what's in it for you. You can get end users to be thinking about your special areas early. Just to finish off, perhaps we've got to bring up the last slides there, Tenia. As you know, we've started the process of socializing this amongst the tags, and also we've been getting in touch with the end user groups as well. But the charter of the working group means that we can work on more than just the cloud native maturity model. We're really around also working to develop tools to help the community navigate the cloud native landscape. We are also interested in new ideas for artifacts. We have worked in coordination with the CNCF business value committee, and the CNCF landscape guide has been published. Some of you may be aware of that now at landscape.cncf.io. Of course, we always appreciate contributors coming along. So just on the last slide as well, just to finish up, we will distribute it again, but we do have the model. We've got four key areas of people process policy and technology, and we will distribute to you the spreadsheet. The core reason, of course, that we're here today and why we've invited you all is to start the conversation. We're really keen to make sure that we get as much input as we possibly can from the CNCF and its projects, and we believe that you're all absolutely critical to that mission, and we would love to help you. Thank you. So I think with that, if you have questions, want to ask about this, we're happy to discuss. The spreadsheet is the main part, or you talked about setting up meetings afterwards, and also that becomes part of the contributions or how to help basically. The spreadsheet is the main thing, so using that to kind of think through, okay, the five stages, what is important to the tag, and we put it in the spreadsheet because we thought that that was the easiest way for all of you to contribute, but we do have this all on GitHub, so if it's easier for you to do pull requests in the main documentation written up, then that works too. And again, if you're kind of going, okay, we're working on the spreadsheet, we'd love to have one of you attend a call just to make sure we're aligned with what needs to get done. We're happy to do that. Perfect. Thanks. Josh, you had a question? Yeah. My first question is, who exactly is going to be doing all of this analysis work? So that has been Robbie, John, Simon, and myself looking at and doing it. So the maturity model that's published and the one that the CNTF is promoting, we put together and then we shared with Simon, correct me of the name, the main people. So Cheryl Hung, Chris Anacet, also Katie Gimangy on the end user community side, so we socialized it throughout the CNTF. Yeah, I'm more concerned the actual collecting of information for each project because I'll tell you, being part of the CNTF already involves a ginormous amount of people paperwork time and adding one more ongoing set of information that has to be tracked is going to be a serious problem in the current environment. Yeah. So what we'll continue to work to collate and evolve the model, that's a core responsibility of this working group. We don't want to burden anybody with additional overhead. So the key thing is we're really interested in observations in starting the conversation and if there are sources of information that you think, oh, this is really relevant to what the working group is doing and to the maturity model, we're very happy to be pointed in the right direction. If all it is is popping a URL and snack and saying there's some great stuff here and we think you should know about it, that would be great. We want to foremost avoid any inaccuracy in what we're doing, so we just want to make sure that we don't put out incorrect information that you're not happy with. So you don't have to worry about rewording or submitting PRs. You have, of course you can, but we realize that there's a real overhead in that and we're happy to maintain that ownership of carrying out the updates to that. Now you do understand that this information you're assembling is going to be highly political, yes? Yes, we're doing. I want to just jump in for a second and just see a few things and if you look at overall sandbox and CNCF and Linux Foundation projects, it's a lot of coding. Everything is programs and development cycles and cool things that's been developed. When I first approached Cheryl Hunt about this approach for the maturity model, she said, well, John, there's no code in that. That's just documentation. I don't know if we can do this or not. We're going to say that it's a workout, but through weeks of discussions, we're able to make sense out of this. After I brought in Danielle and Simon to the party as well, so that we get traction on this thing. But at the end of the day, I truly don't think how native can fully mature and get out there without some kind of model behind it to do this. I'm very passionate about this as well as we are on this team to do this. And yes, there's a lot of overhead here. It may be very opinionated. A lot of things that I personally wrote on this thing is very opinionated. And I expect that there may be some religious roblox on things. But at the same time, we could further mature it to be more than one thought. We're going to bring other people in and we may balance as well. If that makes sense. So, Alex, one second. I think the big thing, Josh, is that in terms of political, I think people don't disagree that you're doing a migration with technology, that you need some process in place, you need people to adapt, you need the core foundation of it. It's like, yeah, those things are going to need to happen. Now, whether something is in phase one or phase three, that's debatable. That can be discussed. Things can be moved around. And that is why, you know, we know that the four of us brought opinions to this, put it in there. But now we need to make it more encompassing of the entire community. Alex, do you have something? So, two points. I was just thinking, and just maybe thinking a lot here, but I kind of think it's going to be, there is going to be a bit of a king making thing if we're putting projects in specific buckets. But if we, but I also kind of agree with John that some sort of roadmap and some sort of, you know, parts to follow is kind of obvious.  But I'm kind of wondering if we can also just have some general guidelines around that, around, you know, saying, you know, graduated projects are better for level one and incubated projects are, you know, better for level two or something like that. But I think we're going to have a bit of a challenge if we just think about it from a project point of view. And honestly, I think we should be looking at this in a broader sense. So, some culture of the storage tag, and as you were talking, I was kind of thinking, well, what aspects of the technology would we also like to see there? So, for example, we could say at a certain level, you may want to consider using operators, or you may want to consider using a particular security policy for storage. And it's not just, you know, the technology side for a specific project, but it's actually how you would do day two operations in storage, you know, as well. And I can imagine the same is going to apply for, say, networking or security or anything else. Like, you know, the concept of GitOps isn't just a, you know, a runtime thing, it could also be a storage thing, it could also be a networking thing, etc. So, and I think we all agree with you. We put, and it's in GitHub, that we would only include reference to graduated projects, because we didn't want to get involved with, well, this is incubating, well, this is sandbox, and this is in here now and not in here. So, we were like, we're just doing that, and we're not including any commercial products in here. And I think, Alex, your point is very much how this is talking about. It's saying at this stage, you should be thinking about how you're integrating security. And you're probably going to be thinking about this, this, and that. So, likewise with storage, you know, in phase one, you're probably going to be, and I'm making this up, like the default storage settings that you can get in the cloud. But as you mature, you're going to want to think further down that. And I think the way we've worded it to date, and the way we'd like to have all of you contribute, is at that higher level of like, you should be thinking about these things now in this stage, but not giving necessarily going. And the answer is X, because we all know that everybody is deploying their cloud-native technologies differently. Like it is not uniform anywhere. No, right, exactly. And honestly, I'd love to tie this back to some of the work that we're also doing in the tag around, for example, you know, if you're like, for example, we have our white paper, and we can certainly plug a chunk of our landscape white paper into some of those different sections. But then, you know, we could also have at level three, you may want to consider, you know, benchmarking and performance analysis. And here's a link to the storage performance analysis document that we provided. And that's level four, you might want to consider disaster recovery. And here's a link to the cloud-native disaster recovery document that we provided, you know, those kind of things. I should hope people are considering disaster recovery before level four. Well, it's just an example. Yeah, I know. But I think that's exactly right. This could be, I mean, it's hard to find resources that everyone is creating, right? We're all out there creating different resources, and we want people to read them and digest them. Otherwise, we wouldn't spend all this energy creating them. So having the maturity model where we're linking to the different resources that have already been produced, I think is of extreme value. And then again, the CNCF can say, this is your handbook that you can consider with all of the resources interlinked. And I think, Alex, some of the subtle tree that you brought to that conversation just then is exactly what we would like to bring as well. And if we look at the trail map, for example, that mentions specific projects and is attempting in some respects to undertake that king-making role that we've spoken about and how troublesome that is. So it's precisely because of that challenge that we made sure we incorporated the other dimensions of people process and technology, people process and policy, I'm sorry, as well as technology. It's precisely for that point. So you're absolutely right. You fit the nail on the head and actually described a key motivation for us all with this. Yeah, I think that's going to be significantly more important. I mean, I'm sure it kind of applies differently to each of the different categories, but in storage, we've always had a little bit of a dilemma because there are storage covers a wide variety of things, everything from volumes of databases to object stores to key value stores and everything in between. And so we don't necessarily automatically have CNCF projects, which are graduated in all of those different fields. But the reality is most people do cloud native with a variety of cloud services and commercial projects and some projects which might be under different foundations as well. And so it's more important to kind of capture some of the attributes and some of the methodologies and the policies and the how to's rather than the than just, you know, say use this project because that's not necessarily going to like tick all the boxes for most people. Yeah, agreed on all of that. Cool. A couple of things to point out. First of all, I really liked Josh when you chimed in there and said that we want to, you know, we should be seeing DR earlier. That's the exact kind of, you know, guidance we're looking for. And I think that we probably did maybe, I don't know, maybe we maybe we didn't touch on DR has been a while since I looked, but that's the kind of interaction we're looking for. It helps us make sure that we're kind of, you know, honing in on the right maturity. I do want to point out, I guess, that, you know, there's a tendency, especially at organizations when we've brought these kind of things in the past, that they want to look at these in terms of their capabilities. So the maturity of their capabilities, that they can do this, that they can, you know, implement DevSecOps. But do they, have they hit that kind of saturation where every project that's running in Kubernetes is doing all of these great things? So I think that's another like aspect of the maturity models that we're trying to promote is that it's not, this is not about, you know, oh, we could do this. It's that we're doing it across the board as a baseline. So just to, I guess, finish that out is that many of the maturity levels, you can actually achieve a high degree of, you know, maturity within that level, right? So like, let's say you're level three, you're scaled out, but maybe you don't ever need to get to that optimized point. There's totally valid reasons to really, to make the goal, you know, not necessarily level five. Sorry, John. I just want to point out is one of the things that what I talked to, you know, companies that go on cloud native and Kubernetes and all those great things around that is that a lot of times they want a prescribed method. They want to know how to do it, you know, they're, they don't have the resource to do it themselves, right? And so they're really looking for a prescribed way of doing things. So the whole idea of the initial, one of my initial ideas of this cloud native maturity model was to give your clients, companies a roadmap, you know, a prescribed way of doing it because they're looking for that leadership, they're looking for that thought leadership. And if we take the best people in the community, help us build this out to have more, you know, perspectives, more opinions, more viewpoints on a prescribed method, the more mature it'll be. And, you know, yes, it may be political, but that's fine. I mean, that's, that's not a concern of mine, but that may be political at some point. But at the same, at the same point, though, you know, in order for this to evolve, this is needed. And like I said before, and so these viewpoints, I think will help balance that as well. If it is swung one way too far, you know, we could definitely maybe help swing more towards the middle with more opinions. You know, but again, driving a prescribed method approach is really what I'm, you know, one mission that we're on the path to. Can I just clarify one thing?  But ultimately, we want it, we want it to be guidance, but it, you know, you mentioned the prescribed model, but I think in reality, organizations will probably travel down the different levels and the different categories at different places. So they might be, you know, like a level five on people and level two on scaling, for example, right? Or whatever. Well, and they might also be at say level five across the board for one application, but be just starting a new application migration where they're like, okay, we're starting again. So yeah, it is, you know, it is going to differ, which is why we're like, we're just trying to put the guidance there and the resources there. Yeah. And I think, you know, the one point that I think is really super powerful for organizations in terms of which parts to go down is to look at the ratings, look at the sort of the assessments across different categories, and see where you've got big gaps.  You're not going to be like a level two everywhere or a level three everywhere. But I think if you have a big gap where maybe you're level four in scaling, but you're only level one in security, you're going to have a big issue. And that's going to hit you in terms of, you know, either people problems or team problems or other sorts of reliability issues or whatever else. And I think that's, that's the more important thing to kind of try and keep a certain amount of evenness, so that you're not more than two levels out on any particular category or whatever. So I think, you know, I think that's all valid points, Alex. In terms of next steps, what we all like you to do is look over the content we'll send. We can email you all the resources if you don't have them, or share them in the CNZF Slack channel for your tag. But we'd like to understand like, if you are going to go away and work on the spreadsheet as a tag group, or if you would like to show up to our bi-weekly calls, and we all work and collaborate together, we're open to either. We just want to make sure that all of you who showed up today stay involved now. We got you. You're here. You're part of the group. Welcome to the Chronographus group. I'd actually like to talk about involving some other people, because within Tag App Delivery, we've been kicking around the idea of spinning off in-app modernization working group, basically modern migrations. And it feels like the people who are involved with that should also be very involved with this, because they've already been kind of writing out the here are the stages of migrating. That would be great. And you know, that's, again, like we kind of reached out to all of the tags to say, hey, please get involved. One of you, four of you, so and happy, we'll have the recording of this, so that if you do want to share this with anybody on your tag, you can do that. Yeah, we really welcome contributions from anybody. Feel free to spread the word. Absolutely. And if you'd like us to come along to one of your meetings as well, we're all in different time zones, so I'm sure we can work something out there also if that's of some use. That sounds good. I think just speaking for the storage tag, we'd probably like to work on this from a tag point of view, I think. You know, we might break up the work between a couple of different tech leads to try and make work happen in a realistic time frame. Otherwise, if it's too big a task, it might be overwhelming. But yeah, I would love to work on this together. Is there some sort of timeline for this? So we don't have a specific set date, but what we really want to do is be in a position where we're going to KubeCon EU and we are going, this is the latest maturity model, the tags have been involved. So it's likely that we're going to have a maintainer track session. And so we would look to kind of present this there. And again, like in North America, the end user Katie made a big splash around this group and the maturity model. So we're assuming similar is going to happen at the EU event. So I imagine that means realistically we're talking about content that's ready for review around March time. Yeah, yeah. Plenty of time. So Alex, having worked with you, you'll be getting it like March 31st or April 1st. No, there'll be a good amount of team efforts here, I'm sure. All right, well any other questions? Any other comments? Well, thank you. Yeah, how do I email you as a group when I want to connect somebody? So we don't have a group email at the moment. But we do have a Slack channel, which is the cartograph working group, so you can or cartograph dash WG, so you can get us there. Otherwise it's got individual email addresses. Yeah, so my email address, Danielle and John, we're all listed on the repo. So feel free to email any or all of us and we'll certainly circulate it as appropriate. Yeah, no trouble there. All right, anything else? All right, thank you all for showing up. Thank you for joining our group now that you're official members. Everyone, I appreciate it. Have a good rest of the day. Thank you. Thank you. Thank you.