Oh, welcome back. We're going back to that earlier discussion we're supposed to have with the guests. He's joined us to discuss the electoral bill and I'm talking about a social commentator, Nuruddin Adigbenro. Good evening, Mr. Adigbenro. Hello. Good evening. Good evening. How are you? Good to have you with us. I am. I can hear you. Okay, so let's just dig right into it. Section 58, subsection 4 of the 1999 constitution as amended, stipulates that where a bill is presented to the president for assent, he shall within 30 days thereof signify that he assents all that he withholds assent. With the constitutional time limit ending today, Femi Fallano, the S.A.N., has challenged the National Assembly to proceed to override the decision of the president. Do you see them exercising their veto? I really subscribe to the postulation of Femi Fallano on this particular matter. Every ounce of government is in power to do some circumstances. If you take it from the handling of the legislative power they have, we are, they have the power. After a particular bill has been sent to the presidency as an executive government, and if they also do the justice, they can use their office of power and try to change the constitution for them. And they can exercise it in these situations. Do you see? And if it's sent to him, then it becomes the law. All right, but do you think that this National Assembly has the political will to do so? Well, it's not the one that has a political will. It's about the numbers. So if they can have a simple majority in both the National Assembly as of Senate, and as of current chanting in that case, and I've been told by Javier Miller, and you have been one of the one of the Senate, the political will has to do the way the bill has been passed. So we want to know whether they are representing the party, or they are representing Nigeria. A lot of the people are so interested in this particular bill because this bill is going to entrench the kind of democracy we have in Nigeria. So one thing there is this, the political will inside it, how they've been able to come out with that particular bill and send it to the president. And it's also good to see they should use their own power. I think with the numbers they have, a lot of senators, especially, they have fighting for the survival of their own political people. And that is the main reason. So that is why you see them, a lot of senators, if the bill is not passed, they will never send their particular position again because of what is inside of that particular bill. So and that is the only thing, if the survival of the future presents. Alright, well reports say that the president wants the direct primary imposed on political parties in the new bill removed. Well, based on the advice of the Attorney General of the Federation and Minister of Justice, Abubakar Malami, do you see this as enough ground to withhold the assent? Do you see this as enough ground to withhold the assent by the president? One thing that you should not be from the impression of Malami as being a block in the trust of political trophies in this administration because of that is the advisor of the government, especially the one of the president, is the Attorney General. Whether he is one of the reason, we may not know, for one thing that is very, very something is being. On this particular matter, Attorney General has to learn and the National Assembly should go ahead and do it. But I think there is no way you want to do the political calculation of what Malami said is one of the reasons why the president is not turning. Alright, so once the, to third, required majority of the Senate and House of Representatives is achieved, say tomorrow. We could see a change in the game. A lot in there is being. A lot of things are involved. It's not about political parties again. It's about this, especially the Senators. I'm not talking about criticism in the House of Representatives. I'm talking about 109 Senators in the House of Representatives. They are fighting for their political parties. It's not about parties. Look for it and can. There are a lot of APC and PDP members that will know if this deal is not passed, they cannot come to that Senate again. So they are fighting not only for Nigeria. They are fighting for their own political interests. They are fighting for their own political survival. They are fighting for their own political views. And when the politician is fighting for his interests, he will do all this. So that's the thing. I like the way you put it. Since it's not about Nigerians, they will do anything. But if it were to be about Nigerians, then politics can be played with money and bags. All right, well, let's hope that's not the case. Let's hope that Nigerians will see their representatives, represent them fully on this very important matter. Because matter of fact, a coalition of over 70 organizations, working in support of credible and transparent elections in Nigeria, have urged the president to ascend to this bill. And they're also urging the National Assembly to override if the ascent is not given. So this is a very serious matter that Nigerians are all interested in. So we'll just keep our fingers crossed and see what happens. Now that the president is back, and the presidency says we're going to hear what the situation is from the presidency very soon. So fingers crossed. Thank you so much. Nuridina, do you marry for your time and insight on this? No, ma'am.


Cool, welcome to TubeCon 2020, North America edition. My name is Mayan Kumar. I'm a software architect at Salesforce and with me I have my colleague Hayek. I'm responsible for our public cloud Kubernetes strategy and helping Salesforce migrate our services to public cloud in cloud native way. Thanks, Mayank. Hi folks, I'm Hayek. I'm a senior virtual member of technical staff here in Salesforce. I work on projects that cover areas such as security and distributed systems. Here in Salesforce we are big believers in open source and we try to contribute as much as possible. And so as part of those contributions earlier this year we open sourced a generic solution for sidecar injection for Kubernetes board codes. So let's dive in. Cool. So when Kubernetes announced the support for commutating admission controllers in 1.9, the sidecar pattern really became a first gas engine of Kubernetes. Many of the infrastructure teams at Salesforce independently chose that pattern and started to use that to dynamically inject sidecars in Kubernetes workflows. This worked well until we realized that each of the teams was writing the exact same source code. There are same set of unit tests, same integration tests and producing the same Docker image. Writing the same health charts as well. Debugging the same problems in Kubernetes cluster. At that point we realized we should take a step back and see if we could derive a common pattern. We discovered that each team was using an annotation on newly created parts to trigger the injection of one or more sidecars. Each team had their own annotation namespace, sometimes one or even more and an annotation trigger. If the annotation was present on the part that meant it was a target for injection. So we looked around in the open source world to see if someone had already solved this generally. We did find at least one open source project, but it did not fit our situation particularly well. At that point we wrote a spec for what an ideal sidecar injector would look like. Dropped some code into a new repo and the generic sidecar injector was born. So at a high level, the generic sidecar injector is a mutating web mission controller that allows injection of additional containers, init containers and volumes at the time of part creation. So how do you use it? It basically uses a general configuration that consists of two parts. What needs to be injected and what triggers those injections? What needs to be injected is basically called sidecar configuration. What triggers is the mutation configurations. Separating out these configurations allowed teams to specify multiple sidecars and multiple mutations and independently choose which mutation injects which sidecars. This loose coupling supports different team structures such as if one team is supporting multiple sidecars or each team is supporting just one. So in the slide you can take a look, sidecar configuration is showing two sidecars that needs to be injected. The mutation configuration is showing two annotations and it also maps which annotation will trigger which sidecar injection. So locking will inject sidecar one and the monitoring annotation will inject sidecar two. Let's go move on to the next slide, yeah. Cool, so some of the features that we talked about in addition to containers, we support init containers and volume. And supporting multiple mutation config allows you to independently choose which mutation will trigger which injection from the sidecar. One of the interesting features about the generic sidecar injector is that it not only supports sidecar configuration using environment variables that is the native way, but it also allows you to specify sidecar configuration using Golang templates. Hyatt will show you a demo of how that actually works. So advantages, I mean, we already saw the advantages. It allows you to write code for mutation admission controllers and all of the teams can share the exact same code. So seven teams within Salesforce using the same code to solve multiple critical infrastructure sidecar needs. Some of the examples are monitoring, logging, certificate rotation, image signing, et cetera. So inner soul sowing is avoiding duplicate work, avoiding reinventing the wheel and avoiding repeating the same mistakes. So let's look at the demo now. Thanks, Mayank. Okay, let's go to the demo. So I will just move this thing here. It is appearing, I mean, so let's see. So here locally we have a Kubernetes cluster setup and you can see that it has a couple of pods running, right? So one of the pods you can notice is the sidecar injector pod, which is running in the sidecar injector next case. So this is the pod that is running our generic sidecar injector. So for the purpose of this demo, we prepare two folders. One is demo one and the other one is demo two. Demo one folder shows the demo how to do config-driven injection and the demo two shows in addition to injecting based on the config-driven injection, it also shows how to configure your sidecars based on the annotations that are coming from the pod. So let's go and dive in. So we are in the demo one folder. We have two files here, config-map.yaml and pod.yaml. Let's take a look at what is in the config-map.yaml. So you can see that it contains two sections. One is the mutation config.yaml and the other one is sidecar config.yaml. The mutation config.yaml contains the mutation configs, as Mike mentioned, and each of this mutation configs contains the annotation that is supposed to trigger this mutation config. And also it contains the list of containers that this particular mutation config will inject. Similarly, you can see that the second config, again, contains another trigger, different trigger, and it contains the list of containers that it can inject. Of course, the list of containers can be, you can specify multiple containers here to inject. So also you can see that there is sidecar config.yaml, which is just the description of the containers that you want to inject. In particular, the name of the container, the image that corresponds to this container, and the command that this container will run. So let's go ahead and apply our config.yaml because before the demo, we already applied this config.map.yaml. It shows that nothing is changed. Okay, let's go ahead and apply our pod. Before actually applying our pod, we can let's give it a look at what is inside pod. You can see that it is just a very basic pod specification. However, there is one critical thing to pay attention to. You can see that there's two annotations, logging and monitoring annotations, and each of them is enabled. And you can see that the key of this annotation matches exactly the annotation trigger we had in the mutation config. In particular, annotation main space slash annotation trigger. And you can see it is in the enabled state. That means that if we go ahead and apply our pod.yaml, this will create the pod. Let's take a look at the pod inside the main space. You can see that the pod is being created. Let's wait a couple of seconds to finish the crash. You see now pod is running. And you can see that instead of having just one container which was in the spec of the pod.yaml, you can see that it has a couple of containers running. In particular, it is three containers. Let's see what are these containers? We describe the pod one. You can see that not only it contains the container, main container that was in the pod.yaml, but it also has the injected container. In particular, it has monitoring sitefire container and the logging sitefire container. That is because if you remember, we had annotations in the pod.yaml which explicitly mentioned what should be injected and they triggered the injection by generic injector. Now with this, let's go to our second demo. So let's go to our second demo. When you've seen the second demo, we have again two fast config map.yaml, same structure in the pod.yaml. Let's open config map.yaml. You can see that it is same structure. However, there is one critical difference, which is the volume section. You can see as my mentioned earlier, you can inject not only containers, but also volume. In this particular, we are injecting volumes of one volume and we are mounting it to our monitoring sitefire, which means that any place where monitoring sitefire is injected, this volume should be mounted to this monitoring sitefire container. However, one other thing to mention is that you can see that the secret name from which this volume is derived, it doesn't contain static value, instead it has a suffix which is basically templatized. And you can see that the templatized value comes from the annotations of the pod. This is how we achieve templatization based on the pod's annotations. The idea is that later when the pod will have the chance to specify this annotation and provide any value it wants for the secret. So now let's go ahead and take a look at the pod.yaml. Again, it is almost similar to the earlier pod.yaml that we had for demo one. The only difference is that now it contains, not only it contains the triggers for the injection, but it also contains this annotation that matches the annotation we had in our templatized config. And you can see in this case we have demo two, which means that the result we are expecting is that the secret name will become aws-im-value here, which is demo two. So let's go ahead and apply our config.yaml. Yeah, we apply it unfortunately at this point we don't have the future where pod automatically reloads the config.yaml, which means that in order to reload the new config.yaml, we need to delete the pod and recreate it. So let's go ahead and take this pod and let's delete it. Injector was deleted. The new pod of course, Kubernetes will do its magic. It will again create a pod. And in this case it will pick up the new config map. So the pod is running. Let's go ahead now and apply our pod.yaml. Okay, the pod two is being created. Let's go ahead and do watch. So let's wait again a couple of seconds to see the pod being created. Okay, the pod is created. So let's go and see what is in the config config of the pod, the demo two. You can see that again, it has three out of three containers, which means that config driven injection worked. However, it has one other thing, which is in the monitoring sidecar, it has the following volume mounted as we mentioned in our mutation compute. It has the volume mounted and the value of the secret comes from the templatized version, which is AWS IAM demo two. This is what we exactly expected. This means that the value of the secret came from the annotation that was specified on the pod level. So to make sure we are not missing anything, let's go ahead and do executing to the container and let's see the value of our secret. That's it, it works. We see the secret and that means that everything worked as we expected. That's it, now I hope you guys enjoyed it. This was the two demo that we prepared. Feel free to go and try it out and give us feedback. For trying it out, we provide a couple of links here. We provide contribute link, which just simply points to our source code. You can go ahead, take a look at source code, feel free to suggest changes. And we have the block, which contains the info that we provided in this demo and more. So then you can also go to try out an example, which contains the examples that we showed. Again, we encourage you to try it out and tell us the feedback. Tell us your feedback. And of course we have, there are the following hours, which are basically hours we are available. Please feel free to come by and say hi. And yeah, just chat about this and provides our feedback. We'll be happy to meet you. Cool, thanks Hayat. Yeah, I think we'll be happy to answer questions at that time and note that the timings are in EST. So we're happy to answer questions related to the injector as well as any contribution related things. We welcome any contributions to that. So thanks all of you and have a happy Chukkaan 2020. Bye. Thank you everyone.


Hey everyone Shaper 1000 here today, we've got the Ghost pepper Woffler from Burger King.  She didn't get one She's got chicken So we're gonna go over this we're gonna look at it see what's in it And we're gonna try it out stick around Okay guys, so Let me read this to you. It's just Apparently it's just really the cheese is flame-grilled beef patty It's topped with spicy Queso you pronounce that Q you ESO Crispy jalapenos bacon and ghost pepper cheese Laird on top of orange and black sesame seed but So we watched a guy last night on YouTube he ate it and Because we've been talking about it and he ate it and monkey was like, yeah, we need we need to You need to do that and I'm like, yeah, we will you know, we'll get one of them and I'll try it and and That was last night and today Dean Mu Text me and was telling me about it and he had it was talking about it was it was hot he said So You know funny funny you should mention that man because we just talking about it last night And that's what I told him was like funny you should mention it but so Yeah, this was six dollars and thirty cents now the guy we watched on TV last night said It was nine dollars just for the burger But we find out six thirty eight for the burger at least here in our town and $9 for the meal She was wanting to get the the ghost pepper Nuggets and she was going to try them, but I guess they're not they're not doing them this year, so But yeah, so that was funny that that Dean would mention that Also, Kim Kim did try it. I looked that up and she had a picture on her Facebook and it said it's no joke so Yeah, let me see here Yeah, it was funny He said trying to ghost pepper whopper last night really hot very tasty Needed a drink by my side for sure. I know you like hot foods, so just saying So move There you are. We got it here. So I want to do it And let's get you down here. Let's check this thing out They got it wrapped up in the impossible burger thing They never do those great. I don't know why but okay, so What a cheese So it is orange. I tried was it the one with the black bun. I tried that one here. Yeah Let's open this up here Okay Yeah, there's So apparently just the cheese is a ghost pepper But it's got the sauce a spicy sauce and it's got the Yeah The jalapenos in it did I say jalapenos? So we're All right, I'm gonna eat this and uh Give us a shot. So I don't know I know the hottest thing I ever ate was in uh Where's it in cedar key they got a hamburger a certain time of the year that she can get it's Like four million scoville units or something There was something They bring you gloves for rubber gloves where there's plastic food gloves. They bring them to you And you have to sign a waiver. I ate half of it And but I you know, I ate the other half at home. That was the hottest thing I ever ate I think period It was very hot so We're gonna give this a shot. Here we go Yeah, it looks festive I don't know how well the camera's picking up the color, but it is orange with black sesame seeds You know, it doesn't really smell like peppers no no It just smells like a sandwich so Here we go. Okay. It's good a couple of them little peppers I'm feeling the heat Yeah, I'm feeling the heat And what is the spicy chicken that Dairy Queen has? It's pretty good um It's warm I'm waiting to get there. There are Pickups There's some heat here One bite she said maybe um It's spicy I'm into the uh, I mean I can feel it like on my head I'm into the peppers now You know, so I mean, it's a very good sandwich for sure In case of peppers It's half of it Enjoy it She's going um Oh, no, should I keep them rolling while I sit here and eat a sandwich? Yes. Why? See how well you can I mean Kind of boring watching something eat a sandwich, but I'll keep you rolling What do you mean feeling it?  No, I mean I am sweating. I did have that one hiccup, but Now you're used to these so it may not be a big thing for you I mean it is hot, but not like one to five I'm gonna give this a two Come on have a little taste Well, not for me, but Well, so you don't put it close to the ones you ate like a church street station and the one Church Street station Yeah, and the restaurant down there and um the other one Down there and uh the other The one down in Hernandez, that's not church street station Well, they call it something like that. It's called the burger station because it used to be a burger station An old gas station. Yeah that one and church street station That's yeah That's Orlando You're gonna take a break. All right middle In the middle. It's got bacon in it. Good Yeah, I said that No That's not close to that one. I was hot We took you there Dean. I knelt at the burger station. Yeah. Yeah You did a video on that burger Did I yeah, did I finish that one? Yeah Well, I'd have to check I can't remember I know I didn't finish one cedar key out of the hottest thing I ever had. Yeah I can tell them there used to be a restaurant in Ohio called Quaker steak and They had wings And he had to sign a waiver to eat them and he had to wear gloves They were the hottest thing I ate up until I had that burger over the cedar key But that restaurant was cool You walk in and you sat underneath classic cars and trucks that were on lifts. Yeah, your table's were underneath there They actually had corvettes hanging on the walls. No, that's cool Yeah, it's shut down. I don't know why but it was an awesome place That was good. Not bad. I got a flavor Do I think it's real hot? No, here What's that? Come on in my back No I don't think it's that bad at all, but I like jalapenos. So it's not as hot as in soups No, I don't think so. No, I my eyes water with the some of those soups. Yeah, definitely No I'm kind of disappointed Because I thought it would have been really hot. I mean it's hot If you can't handle heat, you know for any reason, right? No, you're gonna be able to take that But if you like heat I think to be all right Yeah, especially if you had a lot of it you'd be able to eat this. No problem I mean I could probably Vate this whole thing and waited for a five minute burn time before I had something to drink. No problem. Yeah Yeah, I haven't had nothing to drink and I think it's hot. Don't get me wrong, but it's not I'm calling the heat a two on one to five That's for me, but everybody's different. Yeah, I would say so.  I ate my sandwich Oh, it's not affecting me, but I don't want it more. No, I had my sandwich But yeah, no, that's fine. Now if I eat the whole thing. Yeah, I probably feel it I see your eyes a little watery, but I said it was hot. Yeah I'm not saying it's not hot. I'm saying it is hot, but it's not Overly Well, not for me. No, everybody's different I give a two on one to five But those sandwiches That I eat No comparison. No I mean anytime they they make you sign a waiver. It's pretty bad But this yeah, I'm not uh, I think In my opinion, I think the spicy chicken sandwich at Dairy Queen's Hotter than this. Well, it's spicier You know what I mean? Yeah I mean hot and spicy stew different things, of course, but Yeah, I think that has more of an effect on me than this She's messing with me. Get ready. I'm in line. Get ready on my way. Are you nervous? No If I can't handle it, I just won't eat it But it's it's good and it's fun for halloween. It's a good sandwich But yeah, I'm not saying it's not good. I'm just saying I don't know what the hate bit is. I think I could have ate the whole thing I mean, I had a little bit more heat in my mouth, but I think I would have been able to eat that was no problem Yeah, I'm not saying that's not hot. Once again. I'm not saying it's not hot guys Yeah Don't if you can't handle it.  I'm not saying that right Everybody's heat level is different But I'm saying To me it's a spicy I can't really taste the ghost pepper cheese I'm tasting the jalapenos. Are you I tasted the cheese. I didn't get any jalapenos Well, I've had ghost pepper. I know what it tastes like and I can't taste ghost pepper. I'm not saying it's not in there because you know When I'm saying what I'm tasting the most of is is the jalapeno, right? That's what I'm tasting the most of Now as far as a six dollar sandwich, I give them two thumbs up Yeah, yeah I mean overall I'll give it a two thumbs up and I'll give it I'll give it a four. It's good Oh, yeah, I like this but My heat scale I'm giving it a two Yeah Do I recommend it?  All right, we did Well when new comes the next time we'll take him back down to the burger place and he'll have to try the hot one there You hear that? Yeah. No, when he comes next time We're taking him over see your key. Oh That's that now I took a little bite and I was no she did not take a bite guys I took a little piece. No, she did not take a piece She went to move my burger in one drop Of the the sauce or juice or whatever touched her finger.  They don't listen to she didn't have a bite. No One drop and she freaked out for five minutes Yeah, it was it was bad. No, that was no joke for sure. No, no, like I said, it was like four They they didn't even know I said, can you find out she went to find out she came back and said they don't they don't know Yeah, she said all they know is it's hot So she told me everything that was in it and I added all that up. It was over four million scovils. I think He wants to go back and try to see if he can eat the whole thing because if you do You get your name put on the wall. Yeah The wall of flame. Yeah Instead of all for him or wall for him. It's the wall of flame. Right and of course it's free Yeah But yeah, I think it's a great thing. So I'm glad I'm glad we got it.  All right, but those soups man. It's like like that one I had to stop remember I had to cut the video Because I started getting hiccups and stuff right Yeah, no, I would give that like a three and a half on my scale. Oh, yeah, definitely This I give it a two. It is it is an enjoyable sandwich. I do recommend it though.  Yeah, a health issue don't do it. But it's just because you don't can't handle it. I'm narrowing you But No, um, yeah, if you can't handle any heat at all that would be a fun challenge for you to do But I mean I didn't really have to drink this but I'm thirsty that bun was a little dry though The bun seemed a little dry. I couldn't really taste sauce in there. No, I didn't taste no sauce either Not bad though.  You got out got down to 48 last night. Yeah Supposed to be down 49 tonight. Yeah For those of you that don't know we're in florida, so That's a lot for florida. We're 16 miles from the west coast, so Uh, yeah the Gulf of mexico, so it's quite nice though, right the moment. It's beautiful out there. It's cold Yeah, yeah people got sweaters going on. You know still got his pajamas on. Yeah, I left them on because it was cool out Yeah, I just didn't want to get sick All right guys, well, thanks for watching extra sandwich monk. You're welcome We'll see y'all in the next one.  I'm gone for now Yeah, because I forgot to say that so Thank you. Happy halloween everyone. Bye. Bye and take care


it's because i messed up guys i'm telling you this right now it's dedicated i'm back today with another door dance video huge shout out to everybody tuning in if you want to subscribe make sure you smash that subscribe button give me a thumbs up and do not skip those ads today it's february 27th and we are already getting to this bag baby we had four orders baby on our fourth order right now order number one was mariano's one order six items 0.8 miles for 942 what it do order number two was the shopping deliver walmart all the way sparked up one order 5.7 miles for 27 34 you already know we was in the dough let's go order number three was mires one shopping deliver 42 items 18.5 miles for 37 48 it's time to skate don't be good be great and don't hate order number four we in the door baby another spark order all the way sparked up two orders 1.6 miles 27 and 55 cent enough to pay the rent so this is the plan stand we got them well we in two different cars my business partner right here and i'm right here bam this is the plan stand we got the mires order in her car right now we are at walmart right now for them to load us up then if i'm if it's possible for me to fit in the car i'm getting the car with her we're gonna drop the two uh the two spark orders are first and then we're gonna drop the mires because we ain't tired i am kind of tired i ain't gonna lie to you i was up last night with the guys and stuff chilling drink a hookah what bro what are you talking about man laughing and talking and all that stuff and now i'm tired today but look hey we ain't making no excuses we ain't doing no complaining we maintaining baby i hope you guys enjoyed the video make sure you smash that subscribe button make sure you give me a thumbs up and do not skip those ads we're about to get to this bag let's go we are here to drop off all the way sparked up order number one you're about to get it done baby we got to leave it right at this door drop it left side hit it a little bit hit them with that phone you already know smack bring the door down let's drop off order two number two what it do you know what i'm talking about look we in a rush we still got to drop that mires border off the zone because i'm waiting on it we fly we fly hit them with the phone you already know that didn't work order number five stay alive let's drive we about to get all the way sparked up again one order six items 7.2 miles for 39 75 let's drive okay now let's talk about the elephant aroma i hear you can tell you guys the good and the bad ugly and i'm always going to keep you transparent with you i'm going to explain to you why me and my business partner are in two different cars going to the same house and all that stuff guess what it's because i messed up guys i'm gonna tell you this right now this yesterday i'm talking about yeah we about to get up early we're gonna get up at eight we're gonna do this we're gonna do that and then any clock roll around guess who's still in the bed i'm still in the bed i'm supposed to pick her up at eight o'clock so we can get our first spark order at eight twenty but i now fell asleep didn't do what i was supposed to do and now i'm paying for it but either way go win complaining we maintain it as a man or a woman whoever you need to admit your wrongs and admit your right and i was bogus i had her get up early creating the thumbnail and all that stuff while i'm in the bed asleep because i'm an oversleep because i'm up last night smoking hookah drinking and all that chilling and talking and all that stuff and i overslept because i was tired so you guys wanna i'm gonna admit everything when i do wrong and everything when i do right and i'm bogus for what i did super bogus so hashtag you bogus in the comment section baby be the way it go we about to get to this though you already know let's go that we're here to jump up the shop and deliver work dang it's water dripping all right there i have to put it back here man i don't know if they're watering it all on this stuff like that you know what i'm talking about you know what i'm talking about oh no smack let's go order number six we got in the mix baby my business partner actually did this order i'm telling you guys what order we got so we can get to this money and we have another order number seven i'll tell you that right now order number six is wrong greens is the car order five items 2.3 miles for 12 49 we on the grind to the end of time she shined order number seven thank god for his blessings is always sparked up order one order 1.3 miles for 2909 we on the grind to the end of time watch us shine let's go we are here at wal-mart baby man i keep holding these bogus parts last last time i came here i got a bogus part let's see if people die listen deason let's get this money baby they gonna miss you spinning all of that can be i stand on 10 and i won't break a fold standing front of people and won't break and i ain't never told uh you don't know what i've been through pain cutting soup uh and we don't point like a pencil spin again guarantee they gonna hit you how you say you trapping i ain't seen you in that trap for months i sling a 95 and sell this pressure that's a double up they say that you to go but i don't feel a man i went and took a trip and brought it back and i was half a month oh when you'll be clutching that we are here to draw off this shopping delivery guess what god i literally in the middle of this order i had to go back to the car and get the uh the internet thing because the internet went out on me while i was in there it was critical sometimes you gotta do what you gotta do so you can do what you want to do i'll see you delivery i said i had this ready already hit him with the photo snap doorbell that didn't work let's go order number eight she over there getting to this cake wall greens 10 items three miles for 2016 she getting to that green order number nine we on the grind to the end of time so watch us shine pop belly four items 4.2 miles for 750 get with me belly getting my belly hopefully got us together we got a little line so i don't know baby i don't know if they got us together or not let me get busy let me go over here let me shut how you doing boss i have a speaker for erin p here push the key push the key yeah that's what i'm talking about thank you thank you you have a great day let's go we are here to talk this pop belly getting my belly they just said do not bring the doorbell so it's exactly what we're not going to do okay i'm leaning a little a little bit getting with that photo you already know man let's get you go order number 10 is time to get it in all the way sparked up baby two orders 5.3 miles for 29 37 thank god for his blessings i'm cool and you don't think that i'ma let it all name the glizzy stony when i up it it's gonna shut it off trapping i ain't seen you off order number one let's get it done baby we getting busy we getting this green guess what i went and took a trip and brought it back and i was half a month when you be clutching that i'm about to go back to get that chicken i could have put it on in the arm i tweaked it's all good man wait the plan and we maintain it we get this getting these dolls and popping our collars baby drop it like it's hot mom let's go back get that chicken same number pain ready for the coast team oh i got a bag right here extra bag that's what i'm up put this right in here yeah couple chicken doll for the 18 same number pain hey that's my thing so when i had the old school on them sixes on top of that couple chicken was hitting so hard what y'all know about the oj juicer drop it like that with that photo go be out let's we are here to drop off order number two what do you do drop it like hot uh get them right spoon in a little bit i didn't want to throw out y'all already know though don't be out let's go order number 11 spin hot stuff like the reverend this is the all the way sparked up order one order 6.7 miles for 2406 we in the mix let's get rich order number 12 and 13 she out there getting this green jewel osco 19 items 1.9 miles for 25 23 get with me order number 13 is bendy's one item 1.4 miles for 1240 shorty here to drop the sam's club order fold is in my cup wake up and swell up fold just see sleep walking living off a dream that i sold that's that we for real y'all don't know nothing about that y'all would never know nothing about that that's nice to have me a couple songs off the job court with that photo get it order number 14 we hot like scorching all the way sparked up one order nine miles four items for 2601 let's get it done and i ain't seen you in that trap for months i sling a 95 and sell this pressure that's a double we are here bay a b in the doorbell i don't know how i just don't work oh you didn't have to join a lot i'm getting food baby it's our last one we're about to get it done what you guys here how much we got baby yeah i don't know the key that has to go get stuff from here you go you have a good one be good let's go and just like that it is the end of the video baby we got busy today guess how much we got 330 60 get with me that's what i'm talking about we went crazy guess what we only start but my business partner started she left out at eight so she got to her first order 820 it is now 309 we was on the grind to the end of time y'all saw us shine baby so you guys want to make sure you lock in tomorrow because it's going back down because we ain't playing around we ain't messing around baby let's get this money huge shout to everybody tune in if you want to subscribe make sure you smash that subscribe button give me a thumbs up do not skip the answer one more thing shout out to everybody tuning into the videos i appreciate all the love and support i appreciate all the dashers i appreciate all the bashers i appreciate all the smashers i appreciate all the grabbers i baby 330 60 we got busy i see you guys on the next one be going be going be flowing you already know the ddk and i'm on my way


From Hollywood, it's time now for Johnny dollar It's from Lake Mojave resort in error. Oh say no more operator. Just put them on Hi, who is it this time Buster favor him Fred? Yeah, well, how's the fishing time for me to make another trek westward and find out huh red That's right Johnny red who the fishing line oh Yes, who claims to know Lake Mojave like the back of his hand and every good spot there is in it Then I repeat my question. How's the fishing? And you do yes, I do so you think it's high time I fly out out there and what a line is that it no Well, what is it? But unless I know why I'll tell you when you get here Well, look, I usually do my traveling on expense account for an insurance company And you can this time huh what company the one that insured insured who read Johnny I'll tell you all that when you get here now now look they tell me there's a plane lives New York right at high noon Listen red that'll get you into Las Vegas about 945 tonight. Okay. Okay. Listen. Bye Johnny red Crazy old coot he thinks for one minute that I'm gonna get on and yet on second thought The exciting adventures of the man with the action-packed expense account America's fabulous freelance insurance investigator yours truly Johnny dollar Expense account submitted by special investigator Johnny dollar to the greater Southwest insurance and liability company Kingman, Arizona office Following is an account of expenses incurred during my investigation of the Mojave red matter Expense account item 1 420 phone call to the Kingman, Arizona office of greater Southwest insurance and liability on the theory It might be well to check with their agent Jake Kessler before going off half-cock. Hi, Johnny Haven't seen or heard from you since two years ago when you came out here to investigate the murder at the old Midas touch mine Yeah, I remember Jake now listen. Yeah, is uh, is Everything going along okay these days What? Well, I mean no trouble with any of your clients that sort of thing I'm not a bit Johnny. Why do you ask just uh wondered well if I did have you know who I call No problems at all, huh? I told you not a story.  I just Well, I just well Well, tell me this Any of your clients policy holders have any kind of trouble accidents anything like that over Lake Mojave resort lately So that's what's eating you now Johnny that claim was legitimate It's in the home office for settlement the company will pay it and that'll be that what claim So just you stop worrying about it and forget what claim Jake. No, sir Johnny There's not a single solitary thing for you to investigate out here. So just you Forget it. Hey, you know something Jake you've just convinced me there is something to investigate So I'm grabbing the first plane. I can well Johnny. I'd love to see you But I'm charging my expense account to your company if you find out that I'm right and Okay, Jake, then you could shoot the crow and I'll eat it to count item to $153 plane fare Hartford to New York and New York to Las Vegas, Nevada It was 945 on the dot as the big mainliners slowly circled down out of the clear starlit sky Unless you've seen the minions of stars that twinkle brightly through the clean dry air over the Mojave desert You really miss something and as we glide it down toward the landing strip on the south edge of Las Vegas The multicolored lights of the fabulous resort town made it sparkle like a vast field of joy beautiful Yeah, and expensive That is if you insist on trying your hand at the gaming tables in the casinos that line the main drag Believe me brother. I know But that's not a hint of there As I grabbed my luggage and started for the car rental office a tall angular man Well tanned and dressed in blue jeans high-heeled boots and 10 gallon hats soldered over to me So you wouldn't take my word part. Oh Jake that's right Jake Kessler and person and Johnny if you're here to investigate the claim on the Hobbes policy Well, they're just Well, I know that much And suppose you tell me who Hobbes is or what? I'll tell you all about it when I have you can hop on another plane and go right on back to Hartford and all at your own expense I still don't see whatever made you come out here Johnny apparently the Hobbes matter. So start telling me Well, come on Jake. Come on. All right, Johnny. All right, Elmer P. Hobbes real estate in Los Angeles Came over to the Lake Mojave resort about two weeks ago spent a few days fishing with his old pal a guide to have there You mean red red bear. Yeah Okay, go on and then Tuesday a week ago He rented one of the boats and went out by himself currently went up to a place called the big base Yeah, I know it well the lake's three or four miles wide up there Yeah, well that afternoon a big wind came up regular screamer all the other boats came back the landing all but Mr. Hobbes. Oh Next morning when the wind died down they found his body walked up on the shore on the Nevada side That's all that's all you say a claim has been filed. That's right by one of his two beneficiaries Oh his business partner back in LA mr. Stewart command me. I've passed the claim and the company will pay it No investigation of any kind. Well, of course there was Johnny the Kingman Please the sheriff's office and the county card accidental death do the drought So that's it Johnny now you just make your reservation back to Hartford at that window right over there And you are paying the freight. Oh, not so fast. Jake. I'm sticking around you. You can see for yourself There's no reason for you to be here much less at company expense Well, after all now that I am here to be kind of silly not run down to the lake You mean just to do some fishing on your own time. You want to drive me down there Johnny? Yeah Johnny do you know something about the hub case that I don't and the police and the sheriff's shake? I don't know a thing about it Okay, Johnny How do you want me to fix that crow? You're gonna eat first truly Johnny dollar in a moment our flag now numbers 50 stars and Behind each star there stands yet another flag representing one of the 50 states Vermont state flag in its early form imitated our national flag uniquely bearing 17 stripes and 17 stars with only the inscribed word Vermont to distinguish it The good people of Vermont assumed as did our national government that stripes as well as stars would be added as each new state entered the Union Vermont entered the Union after Tennessee and Ohio and with Kentucky to join shortly the Vermonters naturally put 17 stripes on their flag in 1818 the United States Congress put a stop to this and since then the stripes have always been at 13 and Only stars are added for each new state Vermont's present flag captures the famous beauty of the Green Mountain State in its coat of arms and inscribed as the phrase Vermont freedom and unity Vermont state flag the flag of the 14th state to enter the Union was adopted on April 26 1923 and now act two of yours truly Johnny dollar and the Mojave red matter Elmer P. Hobbs of Los Angeles had died of drowning when his small boat capsized in a high wind on Lake Mojave At least that's what Jake Kessler is insurance agent told me Accident pure and simply said and I could hire myself back to Hartford and forget about it, but I didn't Simply because of the phone call I'd receive from old red Barrett fishing guide at Lake Mojave resort I Pursuaded Jake to drive me over there on the excuse that as long as I was nearby I might as well do some fishing So he dropped me off and since it was after midnight went on back to Kingman I wanted on down to the dock and boathouse Ham You know darned well what he's doing here ham the fishing has never been better Only how'd you get the word and how are you John? Oh, just great busting Did you stop by the office let Marilyn fix you up with the room? No, no because as I recall old red usually sleeps here on the dock Oh Why do you say that way Buster because ham and I are wasting good sleeping time down here wondering why he hasn't come in yet You mean he's still out on the lake.  Yeah, but we knew better. What do you mean Buster? I mean when he saw us coming after him He dumped out what gas he had oil slick all over the lake if somebody struck a match wire You know Rads been doing a lot of crazy things this past week or so Ever since his old friend mr. Hobbs died. They were pretty close and that is why he phone Red phone. Yeah early this morning and if you ask me, it's because he doesn't believe mr. Hards death was accidental Johnny You know something I didn't quite believe it myself We're sure we have some pretty big winds on the lake now a man and it was a big one that day And then when the corner and the other thought is well who's to argue with them You know if red has found out anything anything at all all we know is he's given up taking out fishing parties And spends all his time prowling around the lake every day and night Says that we can find the boat mr. Hobbs. What kind of a boat was it one of our regular rentals in a room in the Arkansas traveler. Yeah with a 10 horse Johnson on it. Well, listen those boats have flotation tanks So even if it did capsize it wouldn't sink You're right John and there's been no sign of it. Not at all Then let's go up to the lake and find red Except for the stars far overhead the night was black as ink the 50 horse outboard skimmed also long at better than 30 miles an hour Believe me. It was a strange feeling almost like flying through space I'll bust a found his way around the islands rocky points and reefs. I'll never know what he did You want to be about even with sculpture rock? Yeah, there it is And we're coming into the big fish You please tell me how you ever expect to find bread and all this darkness. Oh, don't worry about him He hears us coming your signal by striking a match or something.  Hey, you're right. There's a fire on the beach. Yeah, it must be red What's he doing out here? Soon find out long enough to bring Johnny up here red you old reprobate one under the certainly you up to this time I just told you I've been waiting for you to bring Johnny now You can leave us and going back to the dock and I thank you very much red We're not leaving until we find out what this is all about and if I tell you would you promise to leave us alone? Sure, sure. We'll promise anything. Oh, you see I need Johnny's help. Yeah Well, because with him to follow up what I found today Well Johnny you and I are going to prove that my old friend mr. Hobbs was murdered Act three of your truly Johnny dollar in a moment Every American fighting man has heard the expression above and beyond the call of duty How many of us have sat down and considered just what that word duty means? According to one dictionary definition Duty is man's conduct as required by his station or occupation and that to which he is bound by moral Obligation to do or not to do When a man does more than his duty requires he becomes more of a man in the eyes of his fellow man One such was Captain John Philip Cromwell Commander of the submarine USS Sculpin flagship of a submarine coordinated attack group of the United States Navy Processing secret intelligence information of our fleet movements strategy tactics and attack plans Captain Cromwell led his attack group and patrol of enemy waters around truck island in November 1943 Just prior to the launching of our first large-scale offensive in the Pacific Despite savage enemy opposition He established a line of submarines around the enemy health stronghold of truck until his ship the Sculpin Became so rocked and battered by depth bombs that he ordered it to the surface He engaged the enemy with deck guns giving his crew an opportunity to abandon the mortally stricken ship Determined to sacrifice himself rather than risk capture and the subsequent danger of revealing the secret plans to the enemy Captain Cromwell remained aboard the Sculpin as she plunged to her death He thereby preserved the security of the mission at the cost of his own life Captain Cromwell earned the Medal of Honor for deep integrity and uncompromising devotion to the call of duty in the service of his country, but What he did defined the word duty better than any dictionary And now act free of yours truly Johnny dollar and the Mojave red matter I'll tell you this Johnny red here is one of the wildest most irresponsible old characters I know and he wants to be but he's okay Nonetheless and if he thinks you and he can find proof that mr. Hobbs was murdered Well must have a good reason for it. Well, right now ham you think a man like Elmer Hobbs Knowing the lake the way he did but ever let the big wind catch him off guard up here in the basin No, I don't read. I know that's the way Buster felt about it, too I said that to you myself red, but now what's this proof you have of murder? Well ham and Buster aren't you going on back now that I've told you why I want you to bring Johnny here Was there any harm and I know what you found red after all we might be able to help you and Johnny Yeah, I thought about that but you see I might just possibly be wrong about Well, I might just be wrong and I wouldn't want to be ashamed in front of a lot of people By a lot you've been free. Well, that's three times as many as just Johnny here Oh, well now look Johnny he means it so ham and I'll go on back to the dock But I still don't see what difference Johnny when you get to know red as well as we do You'll stop trying to figure out the wise and wherefores of some of the things he does and what makes it tick But you'll also learn that in the long run no matter how unorthodox some of those things are Well, oh come on See you when you get back to dock Johnny. Oh, you got some food red. Now, you know, I always keep something in my boat Buster Well far be it for me red, but all I have to say is that whatever you think you found proof of It sure better be something Oh, it is I think it is It is crunch yourself a place to sleep in the sand. It's pretty late. Huh? Well, it took you so long to get here and we can't see anything in the dark anyway Oh now look red for heaven's good night Johnny sleep well And that was the end of our conversation I began to wonder if Jake Kessler hadn't been right in the first place if I hadn't come out here on a wild boost chase after all But the more I wondered and thought about it with nothing but the warm desert night about us twinkling stars The magic sound of fish jumping in the lake the sleepier I got so I slept The smell of bacon frying over the campfire awakened me Although the Sun still hadn't shown over the mountains that boarded the eastern side of the lake Now it's your face in the lake Johnny then grab yourself some of this bacon and egg I did as I was told then squatting in the sand in front of the fire stuffed away a hearty breakfast of bacon eggs And pancakes made from sourdough and you know there's something about a meal cooked over a campfire that Well, we had other things to do we climbed into reds old a little bit of boat and slowly drove up the lake staying close to shore Finally we reached a small rocky cold right here is a spot Johnny this little cold the spot for what red? You know you still haven't told me see there. You see where somebody has climbed up the rocks No, but I'll take your word for it Well, he couldn't have climbed up off of the water so he must have climbed out of a boat So and there's footprints leading the way across the desert and Johnny They aren't Elmer Hobbs footprints no sir So somebody climbed out of a boat here for one reason or another and took a walk into the desert a man who killed Elmer Hobbs What makes you think so look down over the side in the water Yeah boat sunk down there. That's the boat that Elmer had can you see it clear? Yes, very then you can see it wasn't Damaged enough to sink it's not that bold. You're right red Particularly since it has flotation tanks, but it's down there. It's sunk. Well, you better strip to your shorts Johnny I'll get on and take a look me already have but I want you to look Johnny and remember I knew everything that Elmer had in his boat when he left the dock remember that okay and you're sure the footprints leading into the desert couldn't possibly have been made by Mr. Hobbs that I'll swear to Johnny by all this good and hold not a slip in easy so you won't disturb the water too much I took a deep breath surface dive and swam down to the second boat and the water was clear and I could see plainly I saw the red was right I bobbed back to the surface Did you see him the cut yeah red those flotation tanks were slashed open with an axe or a sharp heavy tool of some kind But Elmer had no axe on that boat so it was somebody else Johnny Somebody who murdered him Yeah, and then sank the boat red. I'm afraid you're right Elmer Hobbs was murdered but there you have it Jake and if I were you I'd call off payment on that claim immediately Branded the cases and over yet. I still have the job of finding out who killed Elmer Hobbs But you know something You're gonna have to wait for my next report Meantime expense account total to the moment 159 20 including the cost of shooting and retrieving one crow Jake How would you like it cooked? Until the next report then yours truly Johnny dollar We'll return in just a moment Our flag now numbers 50 stars and behind each star there stands yet another flag Representing one of the 50 states Oklahoma state flag depicts an Osage warrior's circular buckskin shield from which hangs seven eagle feathers Across the shield is the Indians Calumet or pipe of peace Crossed with a white man's peace symbol the olive branch on the shield are small crosses The Indians graphic sign for stars indicating lofty ideals or a purpose for high endeavor The background of the flag is a field of blue the blue of the Oklahoma sky Signifying loyalty and devotion the important symbols however are the Calumet and the olive branch These override the shield the symbol of war and bespeak a predominant love of peace by a united people Oklahoma state flag the flag of the 46th state to enter the Union was adopted on April 2nd 1925 now here's our star to tell you about next week story next week Well after all the case isn't really closed, but it will be next week. Believe me join us. Won't you yours truly? Johnny dollar a Johnny dollar is starring Bob Bailey originates in Hollywood and is produced and directed by Jack Johnstone Who also wrote today's story heard in our cast were Lucille Meredith or us Lewis Harley Bayer Allen Reed and Barney Phillips Be sure to join us next week same time and station for the conclusion of this exciting story Of yours truly Johnny dollar This is Roy Rowan speaking. This is the United States Armed Forces radio and television service


A competency hearing was held today for the man accused of kidnapping and sexually assaulting a five-year-old girl after a house fire in June of 2016. Jacob Kinn appeared in court shackled and handcuffed. The defense presented two witnesses, including Kinn's mother. A video showed Kinn's limited behavior where he spoke in two to three-word phrases. The state called nearly 10 witnesses, including a doctor who treated Kinn. Dr. Adnan Ahmed says Kinn has the capacity to understand the charges and communicate with his counsel. On May 9th, Judge Sherry Schlechter will make a decision regarding Kinn's competency to stand trial. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.


So you want to get married? I got married. What is it like? It can be both exciting but also terrifying. On one hand, you wear a fancy dress or sooch and eat a lot of cake. On the other hand, you actually have to find someone that wants to marry you. And there's the whole planning process. What kind of flowers do I want? What kind of food do I want? How many people do I want to invite? And how many of those are vegan? I have to cater to them. Pro tip, don't invite vegan friends. And most importantly, how much is this going to cost? But the real kicker is having to think about who you're spending the rest of your life with.  Can I really commit to someone for that long? These are all valid questions you should be asking yourself before diving headfirst into marriage. But in all seriousness, if you do find someone that you want to spend the rest of your life with, go for it. Just remember to take it slow. Communicate and make sure they're okay with you stealing the covers at night.


A few months ago, these 17 men and women entered this building aspiring to become Denver police officers. It's my honor to introduce Denver Police lateral recoup class 19-1. Class 19-1, all present and accounted for. For those of you that are here that are getting ready to receive your badge, congratulations.  To our graduating officers, welcome to the DPD family. Each of you possess the skills and life experience that will help us shape the future of the Denver Police Department. Remember, work hard, treat people right, and be safe. I'm confident that we will be able to perform successfully in our respective roles in this department and that we will contribute positively to make this department better and make this city better.


Verndale, though, they have rolled through the regular season and section playoff so far. Their closest contest of the year, way back in week one, beating Brandon Evansville by 10. And guess what? The Chargers get another chance this afternoon at the Pirates. The section 4-9 man championship at the Fargo Dome and the Verndale offense came ready to go. Mack Jones finds Luke Weniger just in bounds for the score. Pirates lead early, the fans loving it. Then later this time Jones with the legs. QB sweeps to the left, hits the juke button and powers through the hole for 6 more. Verndale also going to the state tournament for the first time since 2009. They win 2016 over the Chargers. If you've enjoyed this segment of Lakeland News, please consider making a tax-deductible contribution to Lakeland Public Television.


Thanks everyone for joining. This is the third and final session in the machine learning workshop series. My name is Louise Kaepner and I'm also here with Nadia Kanar and she'll be taking the R demonstration but if you're after Python I'll be taking that in the first hour and then yeah stick around if you want to know how to you know do the code in R. If you want to follow through the code and execute it at the same time as me what you can do is you can navigate to our GitHub and our machine learning workshop repo and you'll see this little button here in the readme file that says launch binder if you click on that it's basically going to bring up this here if you go into Python code and you click on machine learning code demo you can then follow through the code with me. So yeah let's get started then. So the first thing you want to you're going to want to do when you're working in Python and you're doing a bit of machine learning is you're going to need to import all of the necessary packages. So you can see that I have a number of packages such as pandas which helps me manipulate my data set. I've got NumPy which has lots of important mathematical functions and matplotlib and seaborn which are great for creating visualizations and other well-known packages which are going to help me carry out machine learning so you can see we've got scikit-learn and we've also got scipy for our hierarchical clustering. So one second I'm just getting things started. Okay so yeah now we can go ahead and load in the data set and today we're going to be working with the iris data set which you'll no doubt remember from last week's session on clustering. If not don't worry there's a little brief description of it here. So the iris data set contains 50 samples from each of three species of iris flowers. So we've got iris satosa, iris virginica and iris versicolor and they each and all of the data points have four features that were measured from each sample so we've got the length and the width of the sepals and the petals which have each been measured in centimeters. So we've run that first cell now let's load up our iris data set and I've got a little description here of what a parameter is and what a function is so you can just give that a little brief and read over if you need to and parameters in python are variables so they're placeholders for the actual values that the function needs and when the function's called these values are passed in as arguments so in this case we've got this function here from pandas called read CSV so that's our function and the file path is the parameter and this specific pathway here so my iris CSV is the argument because that's the value that I've passed in so you can go and read over that if you just want a bit more clarity. Okay so now we're going to get stuck into our first centroid-based clustering algorithm and that's the canine's algorithm first though as I mentioned in the presentation it's always good to explore our data and also see if everything's up to scratch also just a little reminder here in the code so clustering algorithms work with unlabeled data so for the purposes of this demonstration we're going to be largely ignoring the variety or species column which you know tells us the species of each of our 150 data points so yeah first things first when you import data into any coding environment it's always good to see if it's all looking as it should do so sometimes when you read in the data you'll realize that you know your column headings are on the wrong row or something so a good function that you can use is a pandas function head and that just gives you the first five rows of your data set so it's really good at just you know making sure all the columns are okay we've got all our information that we need and then we have the following two functions so we have info and that's a really helpful function that can be used with a pandas data frame to give a bit more of a detailed overview so when we run this we can see you know the number of columns if there's any missing data and also the data type of each of our columns so yeah fortunately because this is you know quite a beginner data set we have no missing values or sort of difficult data types to contend with and we can go on to the next step so yeah we can do a value count here as well so that reveals that there is 50 samples for each species another really good function is the described function and that tells us a lot about the statistical variation in our data and it's really helpful when it comes to performing on supervised learning if there are certain columns or features of our data which have a higher variance this is going to affect how the k means distance maybe it works so what we can do is you can use this function to then check if we need to standardize our feature variables so you can see here we've got the means for each of our features and we've got the standardize the standard deviation as well for each of our four features so for instance we can see as well the variance so yeah I've got a little description here of why you might want to bother standardizing the feature data and that just goes into a bit more detail about the fact that you know k means uses the recording distance to calculate the distance between data points and the centroids so you want to ensure that the distance measure according to equal weight to each variable we don't want to end up putting more weight on variables that have higher variance that's why it is important to you know have a look at the statistical variation in your data and then see if it does need some sort of you know scaling so in this case we see that the petal length is quite significantly different to the sepal length sepal width and petal width so what we want to do then is standardize our data so to do this we're going to use scikit-learn's preprocessing package which comes with a standard scalar class and that's a really quick way to perform feature scaling but before we can do that to be able to perform these mathematical computations we're going to need an appropriate way of storing our feature variables without the column headings and the variety column getting in the way so yeah we separate our features from the target attribute because we don't want to have the species in our data set so here we use this function i-lock and that helps us select specific rows or columns from the data set and then we're going to place the values of our features in a 2d array so we can use this here to slice our array and this will print the first 10 values in the array so let's give that a look so here we go we've now got an array 2d array of our values for the features then what we're going to do is we're going to create a variable here available to ss for standard scalar and that contains our feature scaling function then what we do is we fit the standard scalar to the data so we fit it to this 2d array that we've created and what this will do is it computes the mean and the standard deviation and then the transform part basically scales that data so it means that we'll have a mean that is very close to zero and our standard deviation for each feature should be very close to one so let's give that a look so yeah we can see that it's transformed our data here so that's just viewing the first and what I've done here is I basically put that 2d array back into a data frame and then I've used head to print out the first fibers of the data so this is the data once it's been scaled now what we can do here is we can use the described function on our data frame of scaled variables and we can see if the you know the standard scalar has done its job right and as you can see it has because we can now see the mean for each feature variable is very close to zero and the standard deviation for each variable is very close to one so that's your pre-processing done and that's a really important part of making sure that your data is ready to be you know used in a clustering algorithm so now we're at the stage where we can give clustering a go so of course with this data set we're in the unique position of already knowing the optimum number of clusters so you know we have three speech spare species so we're expecting to find three clusters but for now what I'm going to do is just pretend that we don't know that and we're going to randomly set our k value to five and to cluster our data we can use the k means class and that comes with the scikit learn package and it has the following parameters so if you remember the parameters are the things that you supply arguments for so when we supply an argument let's go back to here so the parameter is the file path and the argument is the specific file path that we supply it with so your k means class has different parameters so there's different pieces of information that you can feed to the algorithm when you set it up so let's go through some of them so first we have the parameter init and this is the method for initialization so the standard version of the k-means algorithm is implemented by setting init to random so some of you might remember but that is foggy's method when I talked about initialization points you know how we pick those run those points that we're going to be using for the centroids with foggy we just pick some random ones from the data set there's all the ways you can do it as well we talked about the random partition method and there's another algorithm as well called k means plus plus which you can use so you can actually change the init to k means plus plus and I do recommend after this you know just have a play around with these different parameters change them change you know the initialization method and here we've also got you know the number of clusters so that's you'll pick in the k value here the number of clusters that you want the algorithms to form as well as the number of centroids that you're going to generate then we have the number of initializations so remember with the k means we have to initialize it more than once because of these random points and two runs can converge on different cluster assignments so it's important you know to make sure that you set this so you know fairly sometimes remember and in the example below I've set it to 10 so yeah that's the default so it performs 10 k means runs and then it returns the results of the one with the lowest sum of squared error and that's our performance metric for our k means algorithm then we have another parameter so that's max iterations and it refers to yeah the maximum number of iterations that the algorithm will perform for a single run so for each of these 10 initializations that we're going to have how many times are we going to let the algorithm how many times are going to let the code iterate through the algorithm and we also have random state and this just determines random number number generation for centroid initialization what we can do is we can use a integer to make the randomness deterministic so basically all this means is you'll get the same exact points as me so normally if this was set to non it will just pick some you know random centroids but we can kind of impose you know something like I said make this more deterministic if we all use the same number so you know feel free to change it so that you don't get the exact same points as me or set it to non and but here I've set it to 32 so we're all going to be producing the same we'll have the same coordinates for our centroids so yeah you can see that I've supplied my arguments here I'm going to make sure that my initialization works by selecting the initialization points at random and I've chosen five clusters I want to initialize this algorithm 10 times with my random points and I'm going to have 300 max iterations so what we can do here is run this code so we've got our model set up here and what we need to do is fit this k-means with our scaled features that we had before so remember we've performed scaling with our 2D array then put it back into a data frame so once we fit it the code below will perform 10 runs of the k-means algorithm on the data as I've said with that maximum 300 iterations per run let's go ahead and run that and you can see it just reiterates to us some important parameters so once we've run this we can access the lowest standard squared error value from the 10 initializations and this is also referred to as the inertia so let's give that a run and we can see we've got this value 91.6 we can also access our cluster centers so this is this tells us the final locations of the centroids and that comes in handy later when we want to plot this information and visualize our results so yeah these are the coordinates of the cluster centers for the k-means with the lowest sum of squared error value there is also some other attributes that the k-means class has so once you've built your model in your brumet you can access the following information so you can get the labels of each data point which tells you you know which cluster number each data point was assigned to we also have the number of iterations so we can find out how many iterations it took before the algorithm converged and you also have a couple of other attributes as well but I'm not going to go through in detail so let's run this here and see how many iterations it took I've actually gave it away in the comments so yeah it took 13 iterations before the algorithm converged and as I've said we can also see which cluster label each data point has now let's go on to visualizing our results so you can see here we've got our five clusters you might be wondering why it starts from zero and not from one and that's just because in the weird world of computer science we count from zero so you can see this as a one to five and you'll see we have the centroids solid as well we can also do a 3d visualization so there you can see we have our clusters so how can we go about finding the optimal number of clusters so we've done this you know random value for k with picked five but to actually determine the optimal number a crucial step in the k-means algorithm is using some sort of evaluation method so I've put a little recap here I'm not going to go through it entirely apart from to say that the common method used to evaluate the appropriate number of clusters is the elbow method that involves running k-means clustering on the dataset for a range of values for k so for instance from one to ten then what we can do is compute the standard um the sse sorry values for each k the elbow method then reveals this sort of sweet part sweet spot where the sse curve starts to bend so that's its elbow point and that's the point at which the you know we have diminishing returns that are no longer worth the additional cost so we choose the number of clusters that adding another cluster doesn't produce a significantly better modeling of the data so to do this I create my dictionary of keyword arguments so here you can see I want my initially initialization method to be random I want my number of initializations again to be 10 and my max iterations is going to be 300 and I've got the same random state then I create a variable sse which is an empty list and then I'm going to iterate through each k value ranging from one to ten let's run this code so you can see we get the error values from k equals one to k equals ten and just from looking at these numbers we can see that after around here so we've got 114.412 we noticed that the inertia starts decreasing in a more linear fashion so that does indicate that k equals free is going to be the optimum number but plotting this is going to make it way more obvious as we're then going to be able to observe the bend so let's go ahead and do that so you can see here that we've got this elbow around free but sometimes the graph isn't going to always be that clear and you might want a more straightforward means of acquiring the elbow point so to do this you can use this package called need and that comes with the knee locator class which determines the elbow point programmatically so let's see if it matches our observation that k should equals free so yet we can see when we access the elbow variable that it returns free so now what we can do is create a model where we pick free as our number of clusters with the same number iterate initializations the same number of maximum iterations and we've got the random state again set to 32 so let's give this a run and then remember it's important that we fit our data and we can then plot this later but you'll remember or if you don't remember in the clustering presentation I also talked about something called the silhouette coefficient and that kind of is another evaluation method you can use to determine how good your clusters are so it's used to evaluate the density and separation between clusters the score is calculated by averaging the silhouette coefficient for each sample and that's computed as the difference between the average intra cluster distance and the mean nearest cluster distance for each sample and then it is normalized by the maximum value so it produces a score between minus one and plus minus one and plus one where scores near plus one indicate high separation and scores near minus one indicate that samples might have been assigned to the wrong cluster so I've got a TLDR here as well so it means if it's nearer to one the clusters are you know they're far apart from each other and they're clearly distinguished so let's look at the silhouette score for k means with the k set to three so we've got the score 0.46 around that and then we can use this silhouette visualizer to then show the silhouette plot so you can see that the graph contains these sort of homogenous and long silhouettes and the vertical red dotted line is equal to this silhouette score here so that indicates the average silhouette score for all observations so you know this is not bad and what we can do is we can then compare it to the silhouette score for k means when we set it to five you can see it's quite a bit lower and we can see that these are not as homogenous as what we get for our k when it's k equals I'm also going to show you that you can visualize this data as well so we're going to use mapplotlib to do a scatter plot so yeah you can see that we've got this cluster here that's quite well separated but these two clusters are not as well separated so it's been harder for the algorithm to cluster this data we've got our centroids here as well we can also do a 3d visualization and so I'll just show you this so yeah as you can see this cluster one so if you think of this as one two and three remember in computer science we start counting from zero so the first cluster here is quite well separated but it's been harder for the algorithm to separate and these two clusters here you can see the points are much more overlapping and we'll talk about that bit more a bit more when we move on to hierarchical clustering now so for those that don't remember hierarchical clustering also known as hierarchical cluster analysis is an algorithm that groups similar objects into groups called clusters and the endpoint is a set of clusters where each cluster is distinct from each other cluster and the objects within each cluster are broadly similar to each other so let's see if the clusters that we get from hierarchical clustering align with the irises tax taxonomical classification so we will be using the labels for some of this and that's just to compare how well hierarchical clustering does so I'm going to show you here as well some different methods for exploring the data and I'm going to start with a correlation matrix where are we so a correlation matrix is a table showing the correlation coefficients between variables so each cell in the table is going to show the correlation between two variables we can compute it here by using iLock again to access our columns and then we can just use this correlation function to compute the correlation between our variables but as I've said here it's pretty boring to look at so we can create a visualization which makes these correlations more explicit and we do this by creating a numpy numpy array of boolean values from the matrix correlation data frame so that's the data frame that we created here so yeah from this output we can see that there's a positive correlation between our petal length and petal width attributes which is pretty good indication for clustering there's also quite a strong correlation between our sepal length and petal length as well and we have also a correlation between sepal width and petal length albeit a negative one whereas sepal length is very weakly correlated with the other attributes so this tells us the following information longer petals also tend to be wider and flowers with longer petals also tend to have longer sepals and flowers with longer sepals tend to have wider petals as well so another data exploration technique we can use is to plot some pair grids so pair grids or pair plots are great for multivariate analysis as they plot pairwise relationships in the data set so we can use this function from seaborne to plot a different function on the diagonal as well to show the univariate distribution of the variable in each column so let's run this code here and from this we can see that there are two easily distinguishable groups we have one with long petals and somewhat longer and thinner sepals and one with short petals and relatively short and thick sepals so from this we already know of course that there are samples from three species in the data set but it seems that it'll be easy to sort of separate one of these clusters whereas classifying the other two won't be so easy and we can see that if we go back to our k-means so it's really easy for us to separate this first cluster here but it's much harder for these two clusters so let's first plot our single linkage dendrogram and we do this using the sci-pi dendrogram function and what we do is we create our linkage so remember we talked about our linkage criterion and we use loc to get the values for our different feature variables so we've got stuff a length set a width petal length and petal width and then you specify the method here so you supply it with the argument that you're you know the specific linkage criterion that you're going to use so we're using single linkage here then we've just got our figure size that's set in how big the graph image will be so once we've created this distance matrix so I've called it here I've just called it a variable dist sim or single linkage we can then also specify the leaf rotation so I've just set that to 90 degrees I've also I'll just run it so you can see this a bit more clearly okay so yeah you can see I've also given it a title so dendrogram single method I've set my font size and I've got my y label as distance and my x label as index so from this it suggests the existence of two clusters but it's not so clear that we have a third cluster here and if I didn't know that the data set contains data from from free species I would then stop at two but of course we have the advantage of knowing that the label data set outlines free species so we can use some different linkage criterion to further investigate you know whether we can find a better clustering solution for this data set but obviously when it comes to hierarchical clustering I talked about this in the presentation you can get some sort of hard to read visualizations and it can be a bit messy you know this is quite a lot to look at so sci-fi's dendrogram function does have a number of parameters that you can play around with to make a messy dendrogram a bit easier to read so it has these parameters truncate mode so that's used to condense the dendrogram and it has this first one which is important and it shows only the last p merge clusters so you can set it to show you know only the last 20 merge clusters or only the last you know 50 and we also have a lot of threshold so we can make sure that all clusters below a specific value are given different colors so let's go through this here and I'll just explain a bit about how I did this so again remember we have our distance matrix so I've created this variable here and then we have the linkage which has been set to single so single linkage and we've accessed our feature variables we made sure that the plot is a certain size then we supply the dendrogram function with our distance matrix and we make sure the leaves are rotated to 90 degrees and here you can see I've supplied it with this truncate mode last p and I've set it so that it only shows me the last 50 merge clusters and I've set my color threshold to 0.81 and I do that to show that we have actually got three clusters here but as you can see it's not done very well and from first glance you know we've only got two clearly distinguished clusters so if that's a bit easier to see you can see 0.8 I made sure it had different colors below here because you can see we have got two points that have been clustered you know that have been put into their own unique cluster so there are three clusters distinguishable here but not very well and to sort of investigate how much these clusters differ from the taxonomical classification we can use a sci-pi function called f-custer and that basically flattens the dendrogram and then it allows us to obtain the cluster values for the original data points so it tells us which clusters of data points we're assigned to and obviously we have this advantage because the iris dataset is traditionally a labeled dataset so it has the following parameters z and this is the hierarchical clustering matrix returned by the linkage function so in our case this is our variable dist sin so that's our distance matrix and we have t which is just a note in the maximum number of clusters that we want and we have criterion so the criterion that we use to flatten the clusters in our case we're just using max class and that means we want to impose a threshold on the number of flatt clusters that the function returns and what this will allow us to do is to see how much the clusters differ from the actual species so you can see what I've done here is just appended the cluster assignments onto my iris dataset so I've copied my when we first read in the data we called it iris so I've just copied that and then I'll put this too here so we can leave our original iris dataset intact let's just run this so we can see the assignment again this head just prints out the first fibros of a data frame and let's see some visualizations using f cluster I'm just going to expand these so you can see them as I talk about them and slide this out a bit okay so you can see that from our free plots our single linkage method has not been able to find free groups in the data so you can see as I mentioned before we have only two data points in a third cluster so if you see here these are these two data points here it's not really done very well at distinguishing our free clusters whereas we can see this is the how the dataset actually is with each data point and with its proper label we can see satoza that's our first cluster which is really easily separated from the other two and then we have our sort of messier clusters of versicle and virginica so another thing that we can do is use a swarm plot so take a further look at how they've been assigned and that's another way of basically plotting the distribution of an attribute it's basically a scatter plot but where one variable is cat categorical so in this case we have a categorical variable which is our species or variety so that's you know satoza virginica versicle so let's see we use this seaborne function swarm plot to do this and we set our x as variety and our y as two clusters and then we do the same but for free clusters so let's have a look at this so yeah this shows us that we have these two clusters that have been assigned you know to their own cluster which is not great and what we really want is like free clearly separated clusters what we can also do is create a heat map of our feature means and that can tell us a bit more about the details of the two clusters that we have managed to find because we have found it's this clearly two big clusters here you can see it better here so let's see if we can find out a bit more about the the means of these clusters so I use a seaborne function again which is heat map and I use bloke again to access all my feature variables my feature values sorry and then I use this function here for the mean and I set the annotation to true so that we can see the exact mean values and yeah here what I've done is I've just put it in a data frame so you can also read it quite easily as well it has the more specific has the full values so what we can find out from this is what our two main clusters look like so what are the features like for these two main clusters that we've identified in our dendrogram so in the first cluster we can see that we have quite small petals so the length is the mean of the width is quite small and so is the length but we can see that we have relatively thick sepals whereas for cluster two you can see the petal length is much longer so we have quite long petals and we have quite long sepals as well so you can see the means here differ quite a bit so we can then compare this to a different hierarchical cluster in method and we also spoke about the complete linkage method so let's see how well this replicates that taxonomical species of the iris flower so here I've labeled my distance matrix and dist comp so for you know the complete linkage method I select my attributes and I set my linkage method to complete and we have the same just basically the same as before the figure size so you know how big the graph's going to be and I supply that should be comp sorry about that so yeah I supply my dendrogram function with the distance matrix and now we can see the results for this just make sure that's all right yeah sorry about that okay um so when we use this complete method this seems to suggest a number of two or three clusters and we can see how well these clusters replicate the you know the classification of the iris flowers if we use this flattening which we'll do in a second but for now I'm just going to set some parameters so that we can have this dendrogram and a bit of it you know more visually pleased in format so to do that I use this truncate mode again so I set the last p to 25 so I want to see the last 25 merge clusters and you'll see what I set the color threshold as I do so yeah I put the color threshold at four here so that we can see these two groups clearly so you can see we have three clusters and what we can do is the same thing that we did before and we can flatten this um hierarchical cost rent and then do some visualizations for our different k values so you can see what it looks like if we split the dendrogram at different points so basically what this is doing is splitting it at two clusters and splitting it at three clusters so you see if we split it two we've got two sort of big clusters when we split it three um which is what I've you know basically I'm showing here with the color threshold you can see we have three clusters so let's have a look at these visualizations and you can see that our complete linkage method has been much more able to find three groups in the data so you see it's um when our k is equal to three so when we perform that split um so we have three clusters you can see that it's done a much better job if we compare this to the actual data point labels so you can see again it has found these two clusters quite difficult and to separate but not as bad as the single linkage method did so a significant improvement there and let's also refer to our swarm plot so we use this um swarm plot function from the c borne package and we set our x again to variety and our y as the number of clusters so we've got a swarm plot for k equals two and a swarm plot for k equals three again you can see that Satoza it's been really easy to separate this one whereas it's been a bit more difficult here but you can see that we have two you know it's it's clearly easier to see that we have these two clusters whereas if we refer to the previous swarm plot for the single linkage method where are we you can see it was only able to put these two data points here again what we can do is create a heat map of our feature means so yep we use look to get the values for our features and then we use this mean function here let's see what we get so this tells us some information about our three clusters that we have it shows that cluster one has the largest flowers so we can see the petal length is clearly the largest and it's also got the longest and several length as well then we have our second cluster which is more medium sized flowers so the several length is a bit smaller so the mean differs and then quite a bit we've got the supper whip is a bit smaller than we had in the first cluster and the petal length as well is also smaller as well as the petal width and then we have our tiny flowers so we can see that the supper length is smaller than the second cluster not by March but you know a bit then we've got our supper width which is the only the only feature here where the mean is actually slightly higher than the first and second cluster but the petal length is by far the smallest and also the petal width so you can see we've distinguished some features of our three clusters quite well with the complete linkage method and I also have as well I've just put here some information about a principal component analysis but these are really good medium articles and also a tutorial of how to implement a principal component analysis in python because we don't quite have time to do it here as we are currently at 10 minutes to two and but I really suggest that you follow these links and have a look at how you can use principal component analysis to you know handle the data sets that have sort of higher dimensionality where you can't you know visualize results because we'll be able to visualize them in a 3d graph but obviously we can't go beyond that so you can try using some principal component analysis on the iris data set