YouTube what's up, man? This is weekend league game play. This is actually My mutt team. I've been messing around with Saturday Capsule a lot of my players aren't fully powered up I'll have the base Sean Taylor as you saw there. I had to base Julio Jones Just got playmakers on my wide receivers. None of my players really have red chems on this weekend league game This is against a guy fella named Trump's America. So I don't know who that is of why my buddy's going So it definitely had to chat Really into this game and if you want to be in the chat Obviously when I play these games hit that switch link below you can check out where I stream these games live all the support throughout The man streams have been really good lately and the support on these game playing videos is through the roof So if you haven't already, please hit that like button Obviously, most of you guys are probably subscribed already but if not please hit that button and this game he started out running a lot of tight offset a lot of tight Formation and I played at a little bit differently. I know that he's in Green Bay or he's in New Orleans, which I actually have a book out and I'm running right now this game I'm running New Orleans and he's running a lot of tight offset here He goes trying to do a deep pass right there Well, Jones does not come up with he had one play out of this five wide with a drag a slant and something else But as you see he's going for these high passes or these deep at the deep crossers in some route came I don't know if his deep route running I don't know if his elite route running whatever it may be as I try to throw a playmaker But I stopped him on the first drive, but you can see that's what he wants to go to two deep crossers out of this tight formation And I say a lot of people ask me That's one of the main questions I get in man as I fumble with Michael Vic But Brandon Brooks Eagles legend dies on the football a lot of questions I guess how do you stop two crossers in here? I throw the ball right at him when I run that setup I run that play a lot most people will not carry that crossing all the way across the field He did and because he carried that cross around all the way across the field He got a pick because of a man and one thing you realize when you're lurking man Sometimes you need as he draws over my face. What amazing laser and Julio Jones holds on to it But what do you realize when you're lurking sometimes? It's no point even getting off when your own area goes with another route came another route came to the running back So he's got a lot of route cams So it's not going to be the standard plays that everybody's used to and the fall forward animation comes in big this game But like I said when you're lurking as Todd Gurley takes that as though when you're lurking sometimes you it's not even worth coming off The route you're guarding because you can't really come off the route and go all the way across the field to cover something else Anyway, you might as well take away the first read and then hope they still throw it Like I did against this guy on my first possession Thinking I just assumed that he would eventually come off that route He never did do it right at him and I got an interception because of it So now I'm gonna try to stay away from his user He showed me he has a little bit of patience as Calvin Johnson fights through a whole army over there from no extra yards This guy ran a pretty good defense honestly in there I went for a high ball curl and they overdo it But he ran a decent defense a lot of cover to we sent a little bit of pressure a lot of match covers You can see Dianne Sanders staying with Calvin Johnson right there He really mixed up his defense really well. It kept me off balance here. I go playmaker in the tight end up I know he has to guard him. So if I playmaker him, he will run with it leaving the scramble open That's a good job and here we go hitting the flat hit it a little bit late there They're not getting yards man. I want to take my flats one thing. I didn't notice late in the game He was going to a lot of deep zones deep everywhere and for some reason Julio Jones I believe that's was in my slot did not come up with this home one for seven passing right now next play We get sacked. I'm really getting bagged right now. We get to a fourth and 20 I'm gonna go ahead and punt to this kid and he gets a roughing the kicker Now we talked about this on the podcast check out the podcast on Tuesdays Do you accept Henry's absolutely you accept that because he did it himself like he ran into my kicker Nobody asked him to you know the computer didn't do that as I hit the ball underneath That's probably gets a short yard is right here second down try to hit the flat in my flat Running back bumps into a blitzer slows him down just enough for me to get lurked. Thank God He stumbled on the grass was just something that's crazy in man this year every time you catch a pick I swear you stumble on something. This is one of the plays that made me Oh, I didn't like that. He was running towards right with Vic as I told you guys many two deep crossers And as you say, I'm running just rushing for Russian three and he's gonna have time to run these two deep crossers So one thing that I like I said a lot of people ask me how do you stop two deep crossing routes? I don't want to switch it up in the second half. I think I'm gonna go to a little more pressure base a Little more pressure based defense especially against tight I like to not base a line have all everybody up there in the slot I'm going for a high ball over here to moss. He's putting his outside corners and quarters But like I said when people run tight I like to not base a line as I hit a playmaker right there Then do the ball on a cross and route to who Jones stays in bounds, but it's one bit of two-minute warning. Anyway Another playmaker rainy moss throw the ball underneath He of course the fact that he's the only man to break tackles for a loss of seven yards But yeah, I'll show you guys example of how I play type Either I'll base a line or I won't and he gets some fluky pressure right there from Reggie white I think he's running with the tackle and Throwing a comeback right over here to Calvin Johnson got to get some points before half It would be great to get a touchdown But I do get the ball I have so any points right here would be cool Hit the little drag over the middle Randy moss. He misses a hit stick So now where we're getting inside the dirty right now time is our factor stuff all through time I was throw the ball underneath to verness Vernon Davis. I believe a 62 cap tight end I don't think it's the best Vernon Davis Definitely not the combine run Davis, but it's a good one hit the little curl right here to Randy moss hold wide I come back and get the ball man It's something you have to do Ricky Williams to fall forward animation just carries Lawrence Taylor in that zone So that's my seven points feeling good. We get ball a half. I've done two picks play pretty shitty on offense so far But I'm still tied still get the ball a half. All I gotta do is stop him from scoring right here That's a big though. So the first play I'm still rushing three. They're not fighting right there And he hits this deep crossing route bang Big play right there gets about 30 yards and next play he runs of course Pat Pete I don't mind him missing his stick but camp Chancellor missed one and then we just outrun an auto hurdle Lawrence Taylor Wow, this run was crazy before half to give him seven. Let's look at again Of course, he bounces off Pat Pete to bounce off camp Chancellor to and then auto hurdle Lawrence Taylor Oh, that's brutal giving up that touchdown, but I still have 13 seconds left Man still have a chance to do something gonna hit the little playmaker here. He goes and covers it hit the crossing route Got to get out of bounds Seven seconds left. I thought I had enough time to hit another crossing route four three two One and I just can't get out of bounds the clock is gonna expire on me frustrating I had seven seconds of the snap of the ball thought I could get out of bounds First play the second half going dumping underneath here to verney. He is absolutely killed You know, somebody has a good team when every time a tackle happens five different red lights blink on And that's what happened when verney got tackled right there and he gets hit stick the next place So man, you got to be careful about giving verney the ball back again But what do I do I throw them again? That's three straight plays verney Davis has caught the ball.  They just didn't want any parts of Ricky Williams on that play Tie ball game. This is why they watch me fight back with tie the game up got keep playing defense This is his one play he runs in this set this deep post route And we see rams to get in there and get his hands on the ball knocking in the way Then the next play pops a little runs Sean Taylor good job strafing and not getting a spun move right there Third and two throws underneath and kiddles somehow holds onto the ball as Jalen Ramsey just kills him Right now. He's just gonna try to run the ball. Let this fall forward animation kill him some yards There it is again should have got nothing got one yard out of that and I see this is the first driver I'm gonna go no baseline so all my corners are right kind of right over top of the wide receivers and I'm gonna send a lot of pressure out of He's just spun move my user in the agap As you see just running here Lawrence Taylor falls forward picks up another two yards Get to a third and four he goes for a pass dumps it over the kiddle trucks one person fall forwards again 26-yard line another run right here falls forward again for two yards It's a second and six that's how I sent everybody right there and get the sack that's huge That saved me a big deal right there third and 17 He gets sacked again almost out of field goal range one thing I've talked about man I think these 55 or even 50 plus our field goals are way too easy, man If you guys agree with the field goals are way too easy and madden please comment below Let me know that you agree with that. I wish they were a little bit harder Especially 50 yards plus, but now I had a game where I want I think this is a little match coverage Jamal Adams kind of stay with rainy monster. I wish I would have got an animation there Get to a second and ten Go ahead for the cross and round and Vic throws it to the ground That's frustrating get to a third and ten I run a little play action Reggie white again Sax me gets me to a fourth and 22 and obviously you said punt this but I'm down by three if I punt the ball That's gonna give it in the whole field to go ahead and try to get one first down I lose you absolutely 1,000% you have to go for this every situation because even if you don't get it He has a shorter field and you can try to stop them to hold them to another three Then you'll need a touchdown to win but I go ahead with a smart rather in route and the crossing route He's got a cover to cross and route. We hit that backside in route Hopefully get down the fall forward animation allowed me to not get hit right there And we pick up the first down but I said and as we hit the cross right over the middle if you do not Get that first down now. He's got a short field It's gonna be easier to stop him huge tackle by peppers right there to keep me out of field will range Or keep me from a touchdown really crossing route Calvin Johnson can't hold on to that one. That's that would have been a tough catch Third down we're gonna dump underneath the Vernon huge play right there by it looks like cam chance or of his own Making a play right there and I have to settle for the three Bang tie ball game 28 seconds left. I don't know if I want to play this super aggressive or super basic Those underneath of course Jamal Adams absolutely kills Kittle next play same thing Those underneath tackle Kittle and he calls time out gotta get off the field He goes to his one play that he runs out of this set Underneath tackle Kittle. I wouldn't want to go up the big sling or the big post gave him underneath first down next play same formation He switched to play up and cam chance to learn picks off that deep cross and route doesn't stumble Thank God. I don't know how it is stumble there But gotta get out of bounds before the time runs out three seconds left in the game But you know, I think the ice field will man I'm like I said if a guy like me cares about ice and I need give up playing man Ice is never a big deal. Just have confidence in it. Don't worry about it Don't let it get into your head let the kick go and you know That's right down the middle with the Eagles linebacker gruger hill bang. That's the ball game. That's a win man So definitely didn't play that great. I thought I was pretty bad in the first half But definitely took took the took what I had there in the second half and was able to go ahead and get a victory I said man Sometimes when I play tight I play baseline other times I'll put everybody in the box and I really blitz everybody and really try to get the ball out our hands fast I can be a problem special with all these new route comes Well, I said just just don't baseline send every corner off the edge Send six and seven people at them and they'll definitely make a mistake As you saw he fired a lot of those flat passes right into my flat zone And that's pretty much what you want to do when people run tight man Just send a lot of pressure at them make them make a read in a heartbeat and most people aren't good enough to do Like I said, please hit the like button, please comment. Let me know what you guys think


So, we'll introduce some measures of variation, a sad, mad story with many important implications. So far, we've introduced several measures of center, like the mid-range, mode, median, and mean. This brings up a new problem. Given a center, we can measure the deviation from the center, how far the data values are from whatever center we pick, and there's two common approaches. First, we can find the absolute deviation, the absolute value of the difference between the center and the data value, and the square deviation, the square of the difference between the center and the data value. Now, while we have a choice of the measures of center that we can use, there are two common choices. We can either choose the center as the median, or we can choose the center as the mean. And it's vitally important to keep in mind, since the center is what you choose it to be, you must specify the center. Which one of these measures of center you're going to be using? So, for example, let the values in a data set be 5, 8, 10, 5, and 6. Let's find the absolute deviations from the median and the squared deviations from the median. So, here we've picked our center as the median value. So that means the first thing we'll have to do is we'll find the median, so we'll put the values in order. So the median is 6, which means our absolute deviations are going to be the absolute value of the difference between each data value and 6. So our first data value is 5, and so that absolute deviation will be the absolute value of 5 minus 6, or 1. The second data value is 8, so the absolute deviation will be the absolute value of 8 minus 6, which is 2. The third data value is 10, so the absolute deviation will be the fourth data value is 5, so our absolute deviation is 1. And our last data value is 6, so the absolute deviation will be 0. We also want to find the squared deviations from the median. And so for that we can square each of these deviations. So those squared deviations will be 1 squared, 2 squared, 4 squared, 1 squared, and 0 squared. Computing these values gives us the squared deviations. Now, the absolute and squared deviations are computed for each individual data value. And what that means is that if we have a mess of data values, we get a mess of absolute deviations and a mess of squared deviations. To translate this into information about the entire set, we'll sum them. And this gives us two new things. The sum of the absolute deviations is the sum of the absolute deviations from the center. Similarly, the sum of the squared deviations is the sum of the squared deviations from the center. So let's find the sad sum of the absolute deviations. And the SSD, the sum of the squared deviations, using the median as center for our data set, 5, 8, 10, 5, and 6. Now, this is the data set that we've already computed the absolute deviations and the squared deviations for. So let's just pull in those numbers.  And the sum of the squared deviations will be the sum of the squares of these deviations, 22. Now, it should be clear that we have several ways to choose a center, the median, the mean, or any other measure of center. We also have several ways to choose the measure of variation. We could take a look at the sum of the absolute deviations, the sum of the squared deviations, or we could even use other functions of the deviations. Let's consider one more idea. The deviations themselves are a set of data values. And rather than dealing with all the data values as individual numbers, we should pick a representative deviation by using some measure of center. We can pick any measure of center we want, but we usually choose the mean. So this gives us two more important ideas. The mean absolute deviation is the mean of the absolute deviations. And the mean squared deviation, also known as the mean squared error, is the mean of the squared deviations. So let's consider, let's find the mad mean absolute deviation and msd mean squared deviation using the median as the center for our data set. Since the first step in finding the mean is adding up all of the data values, the first step in finding the mean absolute deviation or the mean squared deviations is finding the sum of the absolute deviations or the sum of the squared deviations. And we've already found those numbers in a previous problem. So if I want to find the mean absolute deviation, I'll add up all of those absolute deviations and divide by the number, so that gives me 1.6. Meanwhile, the mean squared deviation is going to be the mean of the squares of the deviations. So we'll add these squares of the deviations together and divide by the number 5. And that gives us a mean of 4.4. It's worth taking a moment to consider what these values mean. Remember, the mean represents the fair share of a quantity if everyone gets the same amount. And so the mean absolute deviation would be the fair share of the absolute deviations if the absolute deviations were distributed equally. So this value 1.6, this suggests that a typical value is about 1.6 units away from the median. Similarly, the mean squared deviation would be the fair share of the squared deviations if the squared deviations were distributed equally. So that means that a typical value is going to have a squared deviation of 4.4. And that suggests that a typical value is about square root of 4.4 or about 2.1 units away from the median. And this last leads to the following idea that of the root mean squared error. Since the mean squared deviation is the mean of the squared deviations, we need to take the square root of the mean squared deviation to obtain useful information about the individual deviations. And this leads to our root mean squared deviation, the square root of the mean squared deviations.


Hey there friends, how's it going? My name is Kevin and while we still cannot travel and stay in hotels like we used to for the most part We still have Habbo Hotel, which has got to be a hundred times better because I've heard a lot about it I know a bit about Habbo Hotel. I don't know a lot So we're gonna jump in and explore. It feels nice to go on a holiday again. Let's get started Oh my god, that looks terrifying.  God damn. There's no way he'd make it to the front reception He'd be kicked out.  Fantastic even better.  No pants is taken Why are all the good names taken? There we go lockdown tourists perfect choose your first room. Oh my god These are amazing. I want this. Well, would you look at that? That's great.  He's the hotel manager. I have no interest in talking to NPCs and why am I wearing a shirt? All right, I joined a police station. I would like to be locked up What do you do to be locked up? I have done crimes.  Thanks, though This is this is a weird game What I meant to be doing wait, I just said when can I leave and they just disappeared I think I've been abandoned. I've just been saying help for about five minutes and no one is coming to help me What do you need help?  Who is Rose Baba Baba? What's the case help me? I'm really not helping the situation. I did crimes, but actually I didn't framed by the Government it's all making sense. We need a lawyer And this right you think they just kicked me from the room like I'm making no sense whatsoever This is saying he's being framed by the government government bad Can I know what charges he's inside? What can I say? What makes the least sense? Suicide, but I didn't do it. Don't laugh. Why are they lolling saying no one can put you in jail for that And I'm like that's why I need a lawyer I was taken by force, you know, I just showed up at the station. Just like can I be locked up? I did crimes. They're so confused But I like no government said I did a suicide so that locked me up, but it was a frame job I am in a center. Do you mean murder? I am not mean. I am in a scent At this point either lock me up for insanity or just let me go Can you explain to me what the government did they locked me up and did they say why they said I did a Suicide by suicide.  No, I am in a scent It was a frame this must be so frustrating for this person and do you have proof of that?  No idea innocent me innocent They're like, oh innocent. Thank you judge. Am I free to go? This is when I Not yet.  Yes or no. Yes. They say I killed Me and You are free to go.  It's like I what I Said I'm going to suicide more people, but it just censored it So now it's a Baba Baba Baba Baba more people. She'd force his hands into some cups now Locking his tightly. Oh god. I'm going straight back to jail. Aren't I I'm gonna go girl. I'm really good at role-playing I would have gotten away with it to if it weren't for you jail help I've been framed. They're just leaving. Please come back. I've been framed. They open the door time for me to leave I just walked out Back in sir.  I I thought I got locked up I was put here. I just kicked out of the room. Oh what they locked me up I then complained that I was in there when I physically could not leave. All right, whatever I didn't want to be jail anyway. All right. I found a place to go to this is The Little Diggers adoption and daycare center. They're not interacting with me I said hello everyone and they said bounces around I'm just absolutely spamming this chat with this bot because if you leave the general area It gives a message saying that you're leaving and then it welcomes you and you come back So I'm just ruining the chat here. There's nothing to stop. Please adopt me and I got kicked. Okay. That was a new record That was fast. Oh, I got an achievement for it. Please adopt me Sorry, we're norwegian that we cannot adopt you to the COVID-19 situation Oh, it's not gonna do it anything the country's in lockdown. You can't come to us if we adopt you Okay, well, please adopt me. I've been adopted Fantastic, can I have my allowance? I've been muted. Okay. This is not going well so far Okay, I've made it to the White House. Welcome to the White House. Please approach the front desk for a job Which one is the front desk? There's a lot going on here a lot to digest Oh, great. Someone with a monkey on their head has come to give me a job at the White House Okay, so my motto needs to change so White House President I make law to ban being poor and then seek re-election. Oh, this person says Kevin cool I got their vote anyway. Ban being poor makes no sense. It does. I give money So no poor make your motto I say straightly. I am this close to firing you I just only have a red card.  Okay ss trainee president and give him a wave there. We'll wave to your people mr. President remove president What law should we do first first the law make your motto as is training? I don't like that one All right, fine your way. I'll remember this one. I'm president Teffel is president. Who's Teffel? Oh, wait That's the guy I'm talking to okay. Well, I didn't have the right audience then to apply for that job Did I I'm also realized that I had my headphones on and this game is literally no sound at all. Okay. I've gotten the job I'm now a trainee. All right quick while they're not looking trainee president. There we go in here, please I feel like I'm getting locked up again this time not by choice. Oh, no wait. It's a little office. Hello. I am here to be trained as President well, you have a long way until you get there, but I have faith in you Thanks. I just escaped prison. They're just like hey nice This person's great. Welcome to basic training. Please stay seated Explaining so you know, like how I become president. I have to work this down and stop talking, please I'm just taking off my shirt. Mid interview. I always wear the cross badge motto in uniform And I'm here sitting down as SS trainee president with flames on my shirt I just said help and I said you were warned. I'm gonna get banned again, aren't I? What's wrong? I want president training. Oh god. No, they're writing in red text now. It's serious Yeah, the red text means it's it's getting pretty seriously. I kicked. That's sad Just one man and a dream to be president I tried to join adoption take care, but I forgot I've been banned from there job, please I'm back. There's someone else at the desk. I want to be president. No, I want to make laws That's not how it works. You got a lot of Baba Baba. What? I want to make a law to make nighttime illegal Then you can join Congress you when you worked here for 12 hours. No executive order the president The president can't do that not here anyways. I'm pregnant. I don't have 12 hours. That's nice Unfortunate for you. He called my future child a crotch goblin. I'm going to make calling babies crotch goblins illegal. Okay Look everyone the president is here. How exciting. Yes, they're celebrating me as a tourist God damn it. Look at them all partying in there making laws. I just want to be president That really too much to ask for oh my god I finally found my people hello. I am president. Hey, please adopt me right here. Oh, thanks You see that's all I needed after all this. That's all I needed Oh Finally I can retire from Habbo knowing that my mission was accomplished.  I knew I could make a difference But there we have it. I hope you enjoyed the video Habbo hotel is weird hotel I don't think I'll be staying here again. Plus now I'm president I don't think I have enough time to be to be doing leisurely stays in hotels There was a lack of hotels for a game called Habbo hotel, but yeah, I hope you guys enjoyed I appreciate you watching as always folks if you want to see more of me I post every single day and I also stream over on twitch the link for that is in the description But yeah, that's about all there is to say so thanks very much for watching. Hope to see you next time


If you want to learn how to do the around the world soccer trick I'm going to show you a few different variations on how to perform that skill as well as giving you an in-depth tutorial so you can finally master this trick once and for all. Outside there might even be another technical turn for it. Freestyle soccer community is probably going to tear me apart because I'm not a freestower. I have spent time in the past practicing the skills, having fun with it and yes it does help you develop your ball control so if it's something you want to master you're tired of not being able to do it let's talk about how to do it and I would just start like that start from that it's don't don't even start from the juggle you want to start like that and you want no spin on the ball it's going to make it easier. Touch is actually the touch before you put your foot around the ball it's a this is how freestyle jugglers juggle the ball because they want minimal spin on the ball if the ball is always spinning like you would normal juggling with that spin you can still perform tricks but it makes it more difficult when you have a little less spin on the ball it's easier to perform the skill but I want you to think about this touch here you're doing that specifically you're doing that freestyle juggler and you're just kind of picking the ball up off your toe now the key is when I do that when I make that touch I need to start the movement of that circle in the same motion I'm not kicking the ball I'm not kicking the ball and then try to put my leg around it if I do that you're gonna be crazy fast and realistically you're never going to get there so what you want to think about is putting two movements into one motion I'm picking it up and I'm starting my circle at the same time okay so you're doing that juggling touch coming off the toe and at the same time I'm starting the circle and I'm actually hitting a little on the inside of the ball I'm definitely not hitting on this side of the ball I'm hitting a little more on this side of the ball and that's where you see that side spin okay because if I hit it right in the middle just gonna hit me in the foot if I hit it too much on this side that's what you're gonna do when you try to go the other way so you want to pick up that foot you want to hit on this side of the ball you want to start the movement at the same time picking up the leg and then going around and also I have to say if you're a bit older or you have tendency to tear muscles pretty easily warm your groins up before you do these because all this motion you're gonna get some pulls in there if you're not properly warmed up you don't want to injure yourself doing freestyle tricks so once you do that you start then you get your quick enough to get your foot under the ball I'm just starting with bounce and I'm just starting with a bounce maybe after you could start no bounce so beginner intermediate now go advanced from an actual juggle get around the ball you see me in the videos I'm always doing with both feet so you might as well practice and then if you really want to challenge yourself what you need to learn to do is to perform the skill with less setup time so what I mean by that is if I'm always taking 20 touches 20 juggles before I perform the skill it doesn't look as good it's not as challenging so what you want to learn to do is maybe like one maybe like one touch in between to set yourself and then perform the skill try to get and if you if you mastered it and you feel pretty good about it get away from one okay okay I'm ready I'm ready I'm going to go just go just go just try it if you if you screw up the ball goes away who cares just try it you'll surprise yourself a lot of time just going for it so don't overthink it obviously you want to try to set yourself the touch before you make the skills extremely important so if I know I'm about to perform the skill I need good quality in this touch right before the skill if this touches off then that screws me up okay so really focus on the set before the skill but as I said if it's not perfect just go for it just see what happens okay and screw up and come back and try it again and let's talk about that like I talked in previous uh freestyle trick videos if you screw up and what do you do I can't do it I can't do it screw this and you just leave it you're never going to improve a great thing about practicing these tricks is it actually teach you mental toughness calming the mind getting over anger getting over frustration because that stuff doesn't help you improve at all you have to have a strong mind you have to be unfazed if you make mistakes you can make a thousand mistakes the quote is whatever fall down seven times get up eight as long as you keep trying and you keep thinking about what did I do wrong how can I do something a little bit different this time you're gonna improve the skill so the first one I showed you was going outside the next you can do is going inside so the hip and the groin going the other way this way compared to this way same principles apply instead of hitting on this side of the ball and when I say hitting on this level I'm not actually hitting here I'm hitting just slightly off center on this side I'm hitting slightly off center on the other side okay so I'm hitting here it's giving that side spin on the ball and completing that circle but it's coming remember it's at the same time touch and start your circle practice with both feet that's where I would start with that bounce then go to the hands then go to a basic juggle and then minimize your set out time so as you saw in the video I did a couple of different variations but you can go outside inside you can do multiples which is pretty tough and you have to have a quick feet and they're good groin mobility hip mobility and let's also talk about the body positioning if I am off balance and I'm here giving the skill it's gonna be really tough so think about having good foundation getting your body over the ball and from this position you're gonna be more successful what else did I do I did like a I did a inside inside so here here something like that and I'm not going to go into crazy detail on the advanced ones for this video I just want to do a basic tutorial on how to do around the world soccer trick so just like any trick if you want to prove this any skill you got to put in the practice do not expect yourself to be a master don't allow yourself to get frustrated when you haven't even put in the work if you're always looking at what other people do and say oh I can't do that I'm not as good as them you're never focused on yourself don't worry where they are don't worry what they can do focus on what you can do today you come a little bit better each day and you're gonna improve those skills eventually you'll catch up to the other people don't worry about anyone else what level are you at beginner intermediate advanced how can you challenge yourself how can you take your skills to the next level


Welcome back to our lecture series, Math 31-20, Transition to Advanced Mathematics for Students at Southern Utah University. As usual, I'll be a professor today, Dr. Andrew Misseldine. In the lecture 11, we're going to start our conversation continuing our lectures about combinatorics and we're going to learn about the so-called addition and subtraction principles. In the previous lecture on combinatorics, we learned about the multiplication principle, which is really the most fundamental of all of these combinatorial principles we'll be learning about. But in this video, again, we're going to learn about the addition principle and its related subtraction, which really the subtraction was just a special case of the addition principle. So let's begin with that. Now, to describe the addition principle, it is important that we introduce a new set theoretic concept, that of a partition. So imagine that A is a set. So unlike the list that we were concerning before, a set remember, it's a collection of objects, but repetition and order are completely ignored inside of a set. With regard to the list that we considered previously, order was paramount. Order is the main distinction between a list and a set. But on the other hand, with list, we could also allow for repetition. Maybe we didn't, so we looked at some of those counting problems. So let A be a set. Then the notion of a partition, a partition P of A, is itself a collection of subsets of A, such that when you take the union of all of the subsets in the partition, you get back all of A, all right? So our partition is P, and if you allow this, and each element of P is a subset of A right here. So notice that these X's are subsets of A. So if you take the union of all of the subsets inside of the partition, so you union together all of those X's, all of those subsets, you get back everything inside the set. But also we have the requirement that if you take two distinct subsets in the partition, call them X and Y, their intersection will be empty. So these subsets don't overlap each other whatsoever. And so when you think of a partition, a partition often in a non-mathematical setting is basically means a wall. It's some way of separating one, one room for another. If you have like two congregations of people having a meeting, a partition would be a wall that separates them. That's how we think of this mathematically as well. We have a set. So that set might be some collection of points like so. And then we separate those elements of the set into different groups. And there's this wall that separates them like so. And this is the partition. The partition is then the collection of all of these cells or classes. So the classes are the elements of the partition. They're gonna be these subsets of A. And what's important about partition is that every element of the set belongs to one and exactly one class in this partition. So a partition is a covering of the set so that none of the classes overlap with each other. So let's consider, for example, the set A, which contains five elements. I clearly said four here, apparently I can't count. We have five elements inside of this partition. Oh, I'm sorry. There's four distinct partitions below. That's what it was. Ooh, oh well. Our set here, it contains five elements. One, two, three, four, five. Let me give you four possible partitions. One partition would be the number one is by itself. The number two is by itself. And the numbers three, four and five are in the same class. That's a partition. Notice that every element, one, two, three, four, five belongs to one and exactly one class. There's no overlap and everyone's included. Another partition would be one, three, five could be in the same class and then two and four could be in the same class as well. That would also be a partition. Again, the rule to check there is that every element belongs to one and only one cell, one class in the partition. We could do five by itself, two and three by itself, one and four together. I said two and three by themselves. I'm sorry, they're together in a pair of one and four together. That'd be partition. Another one, this sort of a trivial example here, it turns out you could put everyone together in one cell, sort of like this kumbaya. We all live together in harmony. That is also a partition. Now, one thing we're gonna see in the future, the importance of a partition is among other things. It has this combinatorial conversation that we're having right now. But later on in this lecture series, when we introduced the notion of an equivalence relation, we're gonna see that an equivalence relation always produces a partition and a partition always produces an equivalence relation. I can make an allusion to that right now if you consider this partition, for example. When you look at the two classes, one, three, five and two, four, you'll notice that one, three, five, these are the three odd numbers contained inside of A and then two, four, these are the two even numbers inside of this cell, inside of the set, I should say. In which case then if we separate the numbers, whether they're even or odd, that is, if we separate them by parity, that is, as we'll see in the future, an equivalence relation we can put on the integers. And so this partition is suggestive of them. But again, that's something we'll talk about later on. I wanted to then show you, before we move on, I just wanna show you a quick diagram. This diagram is courtesy of Wikipedia and this actually shows the 52 possible partitions that one can put onto a set of five elements. So I do wanna bring up the cells we had before. And so the way you would read these diagrams here is that when different cells have the same color, that means they are in the same class of the partition. So when you look at this partition diagram right here, this says that these two elements are in the same partition and these three elements are in the same partition exactly like we had right here. All right, so this would be an illustration or something like that. Or if you don't like the overlap, you could also use that diagram instead. When you look at this diagram, this would tell you that four of the elements are in the same class. And this one would be like, oh, there's one singleton as well. I don't have an example of that above. But if you look at this one, this would tell you you have a singleton, there's a pair and there's a pair. That's exactly like this partition. That's how you could draw it. That would be the shape of such a thing. This partition, of course, would be the partition where we put everyone together. That's this one, of course. And then for this one right here, we have two singletons and a class of size three. That'd be exactly like this diagram right here. All right, we didn't draw the other ones here, but this one here would be a situation where two elements are together in a class and there's three singletons. This diagram would actually suggest that everyone's their own singleton, right? This would be like the exact opposite. If this is everyone fitting together and the picture of inclusion, this would be like the exclusive one. No one is associated with each other whatsoever. And so this gives us the notion of a partition. So then pivoting back to our conversation about combinatorics, we then can talk about the additive counting principle, the principle of addition here. If we have a finite set A, because in combinatorics, we wanna find the cardinality of finite sets. If we have a finite set A and suppose that we have N subsets of A, we're gonna call them A1, A2, A3, A4, up to AN. And if those subsets have the property that the union of all of the subsets gives you A and the intersection of distinct subsets gives you the empty set, in other words, if we have a partition on A, then we can count the cardinality of A by taking the sum of the cardinalities of each of the classes. And intuitively that makes sense, right? Because every element of A belongs to one and exactly one class in the partition. So if I take some element X that belongs to A, X either belongs to A1 or A2 or A3 or AN, it belongs to one of them. And so when I take the cardinality of that set, say it belongs to class one, if X is in A1, then when I count the cardinality of A1, I will grab X in that count. And then since these classes don't have any overlap, I won't count X twice because it doesn't appear anywhere else. So the idea is if you wanna count an entire set, you can organize the set and then count each of the subclasses later on. It's a very, very simple property but can be very useful in solving various combinatorial problems. So consider the following that's on the screen right now. How many length four lists can be made with the symbols A, B, C, D, E, F, G if the list must contain the letter E and repetition is not allowed in the list? I chose this example because it's actually strikingly similar to some examples we considered in the previous lecture when we learned about the multiplicative property. We were very much interested in repetition versus non-repetition. But this time what's different is that there's a mandate. The list has to contain the letter E. So much like we considered before, take this set of letters here and this is gonna be our alphabet, all right? So we have A, B, C, D, E, F. Notice there are seven letters inside of that alphabet. That number seven was very important in our previous calculations. But this time around, we have to have the letter E. So acceptable codes will be things like E, A, B, C. That would be fine. We could do something like G, F, E, B. That would be an acceptable list. We could do something like A, B, E, F, whatever. These all would be acceptable. The idea is that E shows up once and only once. And so what we can do is because we know E shows up once, why do we know it shows up once? It must contain E, but repetition is not allowed. So the must contain E means that there's at least one E in the list. But because there's no repetition, there won't be a second E. We can organize our list based upon where does the E appear? Because after all, a list is basically, we have these four buckets that have to be filled. Who goes into one of these buckets? We have these seven letters that have to go in there, but one E has to appear in one of them. Well, there is the option. What if we have E that comes first? Right, if the very first letter is E, that is one possibility. And we'll say all of the lists that have E as its first letter, we'll call that list, we'll call that one A1 for our consideration here, like we were doing before. And then if we have a second possibility, what if E is the second letter, right? And then the other three letters could be anything potentially, right? Think of that as like our A2. Then we have E could be in the third spot, or E could be in our fourth spot. So A3 and A4, okay? And so this is what we wanna consider. If A, I've already used A here, so if, whatever, we can just use this simple A again, not a big deal. So if A is the set of all of the lists that we're looking for, then our set A here is then the union of these other As. And I should also mention that each of these As have an intersection that is empty. That is, if you take A1 intersect A2, you get empty and this is true for all of the possible pairings. By the way, we've constructed it. If there's an E in the first position because it shows up only once, I know that this letter over here is not an E. These classes do not overlap whatsoever. So this provides for us a partition of the thing we're trying to count. So the order, I should say the cardinality of A is equal to the cardinality of A1 plus the cardinality of A2 plus the cardinality of A3 plus the cardinality of A4. So now we just have to count what is the cardinality of these subclasses here. Now, if we come to A1 in this consideration, well, the first letter has to be E. So there's really only one option for what's gonna go there. It has to be E. But what about the other ones? Well, now that E cannot be repeated, we only have six letters left, A, B, C, D, F, and G. And so for the next position, there's six options for that one. But like we considered before, because we can't have repetition, five options for the next and then four options for the next right there. And so we see that the cardinality of A1 is then gonna equal one times six times five times four, which of course is equal to 120, like so. Now, when you look at A2, there's no E right here, right? You have an E in the second position. So there's one option for that one. But in the first position, you have six options. For the third position, you can't repeat the first letter. So there's only five options there, four options here. We get the exact same 120 that we did a moment ago. And by similar reasoning, all four of these classes actually have the exact same cardinality. This is a very nice convenient thing. Oftentimes when you do partitions, the different subclasses might have similar sizes. So in this case, the cardinality of A is gonna be four times the cardinality of A1 because all of the classes are then symmetric in this regard. The order, the cardinality of A1 was in fact 120. And so we would take four times 120. We see that there are 480 four letter list for which they contain exactly one E chosen from those seven letters. All right, so now let's talk about this subtraction principle. Like I said, the subtraction principle is really just a special case of the additive principle. And it comes from the following observation. If you have a set A and you take any, any, any non-empty subset of A, call it B, then you have the partition that A equals B union B complement. That is, you can always create a partition of a set by taking some non-trivial, non-empty subset and taking its complement. Those two cells together form a partition. We've seen previously that the union of a set with its complement will give you everything and that their intersection will give you nothing like so. And as such, we then can use this partition with our counting principles. So by the additive property, the cardinality of A is going to equal the cardinality of B plus the cardinality of B complement. Now this is an equation of natural numbers. And as such, this is a natural number. So is this, so is this. This is the sum of two natural numbers. I can manipulate that equation like I would any other equation. We can subtract the cardinality of B complement from both sides and then that gives us the following equation. The cardinality of the subset B will equal the cardinality of the universal set A minus the complement of B, B's cardinality there. And so the subtraction principle comes into play in the following essence. You have a set that you want to count, but it's hard to count it, but its complement might be easier to count. If I can count the complement, I can then use that to count the original set. And so that's what we're gonna do right here. So again, consider the following problem. How many lists of length four can be made from the symbols A, B, C, D, E, F, G if the list has at least one E and repetition is now allowed. So this is very different from the last one. It had to have an E in it, at least one, but because repetition is now allowed, the E could show up more than once. And so if we try to partition it in the method we did before for the additive principle, we'd have to consider like, well, what if we have one E? What if we have two E's? What if we have three E's? What if you have four E's? And it might be very difficult to organize all of that information. But what we can do is instead is the following. If A here is gonna be the set of acceptable list that is list that, excuse me, we're gonna make B be the set we're interested in. If B is the set of acceptable list, that is list of length four, which contain at least one E and repetition is allowed. This then sits as a subset of A for which A is gonna be the set of all list of length four. For which no restriction on whether E shows up at all is the valid here. Now, if you want an acceptable list, that means you need to have at least one E. If you look at the complement here, because the set B means there's at least one E, the complement would then be the set of list without an E. And that's a lot easier to count. This is something we considered before. If you wanna find the cardinality of B complement, if you wanna find the set of list which have no E's in them, well then for the first letter, you have only six options, because you can't use E, you could use A, B, C, D, F, G. There's six options there. So you get six options for the first letter. For the second letter, well, because repetition's allowed, you could use the same letter, just can't be E. So this set has order, has cardinality six to the fourth there. Let me make it not look like 64. And then by similar reasoning, A, you take all list of length four, for which there is no restriction on whether you use E or not. You're gonna get seven to the fourth. And so by the subtraction principle, the cardinality of B is then gonna equal the cardinality of A which is seven to the fourth, minus the cardinality of its complement which is six to the fourth. Let's see what are these numbers here. Seven to the fourth would be 2,401. Six to the fourth is 1,296. When you take their difference, you get 1,105. And so the subtraction principle is very useful when the complement of a set is easier to enumerate than the set itself. And follow those from this additive principle which is useful when you can partition the set into smaller subsets that are easier to count. Thus perhaps because you've organized it better.


Welcome back! In this video, we'll be covering the use of dynamically provisioned GlusterFest volumes from an OpenShift application. If you haven't seen the first part where we deployed container-native storage onto our OpenShift cluster, please click here to view that video. Now, let's create a sample application to take advantage of our recently deployed container-native storage. In this directory, I have a couple YAML files that will describe the storage and the application that will use that storage. So first, we will need to establish a storage class for GlusterFS. This is fairly simple. You just provide the REST URL for the HAKETI interface, and you'll need to specify the required parameters for REST user and REST user key. But these are not strictly required for our demonstration, so we're just setting them to arbitrary values. So we go and create the storage class. Next, we want to create a GlusterPVC or PersistentVolume claim. This is fairly simple. The only thing you need to specify is that the persistent volume that will be created will be of 5 gigabytes in size. So we do again OC create-f GlusterFSPVC and PersistentVolume claim created. So now you can see at the bottom that the PVC Gluster one is pending, and if we wait a little bit, we now have a persistent volume for our PVC created with the capacity of 5 gigabytes and a claim of Gluster one in our Aplo project. So now we look at creating a sample application. In this case, we're just going to run a simple Nginx pod with a service and a route attached to it. So at the top, you can see our service that we'll be using port 80, and it will select a pod named Nginx pod one. We also have a route that will point to the service called Nginx. And here we have a simple pod definition for Nginx pod. We obviously use the image for Nginx. We specify the ports, and of course we specify a volume mount to use our recently created Gluster volume as our HTML storage. And then you specify the volume as a persistent volume claim down at the bottom. So we do OC create-f Nginx pod, and all three resources have been created. And if we just wait a little bit for this to change, we have an Nginx pod running. So we can see, for instance, that we are receiving messages over our service address. And to verify that this is in fact working, we will put some information in an index.html file on the pod itself. This is done via OC exec. We exec to the Nginx pod and run a shell command to echo some information to index.html and the appropriate location. And now we can say hello world from GlusterFS. Finally, to show you that we are in fact using GlusterFS under the hood, we will go into the GlusterFS pod itself, and then we can do a check for mounted volumes that are mounted by Hiketti. And then let's just grab this one here and we'll do an LS. And because I know the directory structure, I know that it's under brick and there's the index.html file. Thank you very much for watching. This has been a video presentation for Red Hat Container Native Storage.


Hi, welcome everyone. My name is Netaji Thumuru and today I have my colleague Michael Kunsman and Mario Ponce. And for the next half hour, what we're going to be doing is sort of taking you, giving you an overview of the solution and also taking you to the journey of how we went about building this application. Right from building everything on AWS and vermin containers by ourselves to where we are currently with sort of more hybrid approach of having most of it running on Cloud Foundry and bits of this of running on AWS and the end state of where we want to be with everything sort of running on Cloud Foundry. So what we will not be covering in the session today is sort of explaining the intricacies of blockchain and how it sort of works.  But you know, for the most people sort of think about blockchain as this global immutable distributed database that sort of keeps a record of growing transaction and that sort of opens up a whole new paradigm of application that could be built. And one such application that we kind of built on this is called TrueRec and I'll sort of explain more on what it is. And the World Economic Forum predicted that 10% of the global GDP by year 2027 would be stored on blockchain. So we all use internet. We sort of that's kind of what we, you know, pretty much are on the most part. So think about if internet is information is what is being stored on internet. Blockchain is internet of value. That's where all the commerce is going to happen. That's where a lot of transactions is going to be performed. So what is TrueRec? So TrueRec is this a secure digital wallet for identity economic and employment credentials, all being built on blockchain. So why does it matter? So I'm sure, you know, most of the people that we are here have gone through the process of applying for a job or even hired someone. You know, how do you make sure that the details that were furnished and the self-declared profile such as resume or social profile are valid? You know, it sort of takes an enormous amount of time and effort to verify someone's credentials, but also sort of prove anyone's credentials. And when we mean by credentials, we're sort of talking about someone's identity to, you know, academic, so where he kind of studied to where he kind of worked. And it's a tedious effort. And, you know, once a person is hired, that's when the actual bureaucracy starts because companies want to be compliant, at least in U.S. So they kind of work with third-party agencies to do this whole verification, and that takes forever. And in some cases, putting a lot of pressure on the people that were involved in the process. So why does it take so long to verify anyone's credentials? So this is kind of a very high-level view about current process on how the hiring works. I just want to focus on the three main actors, which is the job applicant, the company, and the third-party agency. So once a person is hired, companies tend to use, you know, third-party agencies to actually do the verification. And it's not that they have all the details, so they need to go and work with, you know, whole sorts of institutions like universities, the garments, and, you know, former employers. And oftentimes, this is pretty manual and tedious process, and that kind of adds up to all the delays that's being caused. So how about, like, wouldn't it be cool if we empower individuals to carry all his credentials in one wallet where he'll be able to independently prove the validity of those without having to, you know, reach out to all these institutions, like proving my drivers, carrying my digital driver's license to carrying all my employment records and education records or micro-certificates in one central place that I can prove, you know, without having to, my employees calling my past institutions. Wouldn't it be cool if, you know, the recruiter sort of, you know, gets this resume and then can verify instantaneously if all the details that are furnished in the resume are actually valid or not? Can the records in the resume be, you know, verified instantaneously? Can they be notarized? And can they be verified with a bulletproof confidence that they were not actually, you know, modified? And that's kind of what all TRUREC is supposed to provide, and that's kind of what we kind of aiming this application would do. And this is all built with blockchain machine learning and built on top of cloud foundry. So let's quickly go through a solution and how it sort of looks. So essentially TRUREC is this decentralized credential issuing and verification network that guarantees authenticity and significantly simplifies the process of issuing and verifying credentials. So let me walk through the process on how it works. So every institution that's part of the network would be able to issue credentials and it could be anything from the diplomas to, you know, the digital identities to your employment records or it could be, like, even micro-certificates and pay-to-pay records. So all of this could be issued on the network. And all of this would be issued directly to the individual. So this is not stored in a central database where that's how the traditional applicants are built. So everything will be owned by the candidate. And the beauty of this is only the fingerprints or the hash values of those certificates would be stored on blockchain. And why? Because you can, we just spoke because blockchain is this global database and we don't want to expose that to everyone in the world to see all my information. But at the same time, we want to make sure that we can go back and prove those records existed at a point in time and validate if those are not actually tampered. And that's why we only store a fingerprint of those on the blockchain. So similarly, you know, any credentials could be issued and all of this would be stored in the individual's digital wallet and all the fingerprints would be stored on the blockchain. At any point when the candidate want to prove his credentials to any institutions, he can select the details that were relevant in that context and then pass it on to a potential verifier. So the verifier gets a link that the candidate has shared. And once he opens the link, the re-competition of hash has happened and then they get compared against blockchain. So that way we can make sure that those credentials that were issued were not tampered. We know who it was issued from and whom it was issued to and we also know that at what point it was issued. And because there's no one, because blockchain is immutable, no one or no central institution controls it, there's no way that someone could modify it. So that kind of provides, so in essence we're using blockchain as an anchor proof to make sure nothing is actually modified here. So quickly walking through how the solution could potentially look. So on the left side, you imagine we have this hypothetical situation where we have a university that's issuing credentials. So a student could log into the student portal, request for his credentials to be issued. The document would be sent to the candidate. The fingerprints would be registered to the blockchain. A student would open his mobile wallet and then he goes through this whole identity validation and we apply computer vision and machine learning techniques to make sure the person is who he's claiming to be. And once he kind of establishes his identity, he gets into the app, he imports the file that was issued by the institution and that's the central place. So he wants all the records in one central place and that sort of becomes his repository of all his credentials from his identity to employment records to education. And at any point he wants to prove those details, he can then select the details that he wants to send to a potential verifier and then pass it on and the verifier would get a link. That's what you see on the right side there and once the verifier opens it up, then the re-computation of hashes happen and then the validity to make sure those credentials are valid or not would happen behind the scenes. So quickly wrapping up just kind of how the data flow happens. So I mentioned we have three main actors in this process which is one is the issuing institution, the student itself and the potential verifier. When the records are being issued, the actual data which is the off-chain data which is the actual credentials, the clear text document is sent to the candidate itself in a special file called true file and the fingerprints of those documents which is the on-chain data which actually gets stored on blockchain is written to the blockchain using Ethereum gateway which is the component that we sort of the wrapper that we built on top of Ethereum. And all this data would be stored on the mobile wallet and when the candidate actually sends it, he generates a link which kind of creates temporary storage for the data that's stored on the mobile phone and the link gets sent to a verifier and when the verifier opens a link, the re-computation of hashes happen and then they go back and check against the blockchain to make sure none of things have been changed. So this is kind of the high-level flow on how it works. I'll now pass it on to my colleagues. They'll kind of dive a little bit more deeper into the technical architecture and sort of talking to the journey on where we started and sort of where we are right now and kind of explain more details how the application works. Hi. Hello. How many of you are developers here? Awesome. So my name is Mario and my colleague Mitch here. We're going to deep dive a little bit on the architecture and the components that we actually used to build this platform. So I will start describing the journey. So when we actually started to develop this application, we were exploring how the blockchain works and how we will actually offer the service and how we'll integrate the pieces. So we are starting with a lot of Docker containers and putting some pieces in each container. And at some point when we were developing, we realized that we were investing a lot of time actually containerizing each application and the most of those components were actually like Node.js applications or Python, Ruby on Rails. And we needed some basic support for databases like MongoDB to store metadata. And we said, okay, maybe we need just a platform where we just pushed applications instead of investing time and creating those containers. And we will use containers only for the parts that are strictly needed. So from the slide here, you have on the left side that through reclined, there is a small Node.js piece of software that the issuer has the private key. Then let's say that this is a university. So the university will have the private key. They will encrypt the certificates and then they will submit that through our platform. And then we will pass it on to the Ethereum blockchain. So I want to mention that we are only like a proxy application. We are not storing the documents at any point. So we are just passing it on to the blockchain. And then in return, we send the candidate, in this case, the beneficiary of this certificate, a small file that he will share with any potential verifier. Okay. So then, as I said, from the containers, we decided that we needed platforms and that's where Cloud Fundry was a natural choice for us. And we started pushing applications inside Cloud Fundry. So here, again, we have the through reclined component on the left. And the first trip for the transaction is that we are receiving it and sending it to an issuer API that runs on Node.js. That's an application in Cloud Fundry. And this actually gave us the opportunity to scale up because we introduce components like RabbitMQ there. So we have worker queues and able to distribute the workload. And we left the Ethereum Go client on the AWS because that was the part that we still needed to maintain it for that part. So our next step is actually we're going to move that to Cloud Fundry. But for now, that's still running on AWS. And then the second part where the candidate wants to share that with the verifier, then we also have an API there and we match with some metadata that we previously store on MongoDB. And that is sent to the verifier. So what this gave us is, as developer, the flexibility of just taking our apps and pushing to the platform. So that gives us more time to focus on development and not working too much on containers. And my colleague Mish here will deep dive on other pieces of the architecture. Thank you, Mario. All right. So I will dive a little bit more into detail and also like why we made certain design decisions. So traditionally, if you develop a blockchain application, especially like a distributed application on top of Ethereum, like the typical approach is that you would typically run your own blockchain node on your local device basically and hook a web application up to the RPC API that that blockchain nodes, the Ethereum node would expose. However, like you run into the same old on premise problems again, because you need to operate that actually. So that means like the issue would need to operate this blockchain node. And especially in our project, we experienced that there's like a lot more like complexity of running a blockchain node than just running like or like running a let's say a web server. One big problem was storage because basically whenever you join a blockchain network, usually you need to download the whole blockchain. And I don't know how it is currently with Bitcoin, for instance, like there's I think 70 or 80 gigabytes of the blockchain. So basically if you want to participate in the blockchain network, you need to first plan for two days to like sync up with the whole network to download a whole distributed history of transactions. And so we are so we're currently doing that project with one of our online learning platforms open SAP to deliver the first solution in a small circle of users. And basically for them, they said like, yeah, it's like for us like this too much of an operational burden. And also what we have experiences like whatever what actually also happens for some time that sometimes if let's say there's a data corruption in our local in our local nodes, then we had to kind of recover from that and that would typically mean, okay, we need to re sync on the whole blockchain again. So basically, our task was basically to kind of provide like, like to take a lot of operational burden from like issuers like credential issuers, and kind of take the storage part out basically, and still but still maintaining the the attributes of the blockchain being a distributed, distributed network, where different institutions organizations have an identity established and can issue and sign transactions with their private key. So that's why we build kind of our own little light blockchain node, which is called the true client. And all it does and all it can do is nothing else than just signing transactions. And basically what we do all these signed transactions, it's basically, basically just a just a hex string that we just push into our platform and we just use our central blockchain node to broadcast the sign transaction out into the network. So therefore, still, the transaction cannot still be tampered because it's signed by the by the issuer. And still like, the whole storage problem is solved because we we kind of manage the whole operations for the for the blockchain we have redundancy basically in our platform. Yeah. So another thing interesting thing that we had to solve is like the whole deployment aspect.  However, whenever you deploy an application, you have a short downtime. So especially for those issuer API, so the restful API set exposed to the to the issuer client, they need to be highly available. So whenever we need we need to fix a buck or something that API needs to be highly available. So for that, we introduced a zero downtime, zero downtime deployment. And for that, we're using blue green deployment. So I'm not sure how many people are familiar with blue green deployment. Basically, the idea is that for every app on Cloud Foundry, you have a instance that you one tech blue, and another you take it green.  So that's what we're using in our deployment. So for that, because the Cloud Foundry client does not support that out of the box. So we have to write our own shell scripts for that, that we just executing with our on premise Travis CI. Exactly. So another interesting thing is also that we rely heavily on rapid MQ. So especially like when we so we have you see like a lot of different services, you will see the issue API, you see the sharing API, we have an email microservice. And basically, we use rapid MQ to hook everything like everything is happening platform, we basically do that heavily message based. So that means like whenever we broadcast a transaction into the platform. As you can see here, we kind of put it into a Q basically, and have kind of a transaction monitor picking up that transaction, put casting it into the platform, and monitoring that transaction. So that means like if something goes wrong with a transaction, we can notify back and say, Hey, there's something wrong with a transaction, please check on that. Or once the transaction has been confirmed, which actually can take up to one minute for the transaction to be to be confirmed. The monitor will watch for that and will then broadcast back to the Red Room Q. Hey, we need to send the document to the application to the to the actual credential owner and we use basically, in this case, MSN and SES for that. Also another thing, another issue that we had, especially with with cloud phone, it was God found out of the box doesn't support something like API rate limits and stuff. So for that, we still had to use AWS API gateway. And also for CDN, we still had to use MSN cloud front. So this is currently where we're at right now. But there's also a lot of things that we plan to do. I mean, track still like very, so it's a pilot project, we're still learning a lot of things we're, we have a lot of plans on what we want to change. So still, it's not really nice that the whole Ethereum stuff has to run. So currently we run it on Amazon ECS, Amazon Container Services. And there's like a lot of gap between, because like we need to make sure that everything's secure, like a whole communication between cloud phone, SAP Cloud Platform and Amazon Container, Amazon Container Services. So we had to introduce like a lot of security mechanisms in between. So our idea is like, like in the end, everything should kind of run in cloud phone. We so currently you can still run like binaries in like and containerize them in cloud phone apps. But still there's like lots of storage issues because blockchain nodes take a lot of like file system storage. And so that's why we kind of just used ECS for that. But we are planning on transitioning that into into cloud phone and use SAP services for that. And also what we also plan to use in the future is SAP API gateway for that. Yes. All right. So do we have any questions so far? Okay, there's one question. Yes. So basically, basically what would happen like so initially, if you start using if you start using the system, you would typically download this Node.js client actually. So it's, it's actually a small web service that people can integrate into their platform. So in our case, OpenSAP, they use this client, they integrate that into their existing Ruby and Rails platform. And with that client has capabilities to generate that key, basically. And for that, they would establish the identity on the Ethereum network.  And in the background, the microservice would collect the document would hash it would bring it would create like our so we have to find our JSON structure for that which actually follows an open open standard we actually use Mozilla open badges for that. And basically, that data gets basically hashed, it gets written into a transaction and this transaction will actually become signed by the issuer by their private key. And from there, it is always can always be associated and verified. Okay, this transaction has been signed by this person and we broadcast it into the blockchain network. And the blockchain network will do a lot of checks, it will confirm. There's a lot of like blockchain specific stuff that need to be confirmed like gas price and like, okay, do you actually provide like a high enough transaction fee and stuff like that. It will also validate the signature and stuff like that. And eventually, this, this transaction will be up but this goes a little bit more into blockchain. So I think for that, for people who are not like familiar, how like the whole trust system with blockchain itself works, I would recommend looking further into that. But basically, the transaction at some point by the network gets written into a block, which then at some point it's confirmed by all those nodes. So basically all those nodes in the network, they use a so called consensus mechanism to agree on, okay, like, okay, so this is actually what we're going to write now. So, and basically, once it is written there, it will stay there forever. However, for with Ethereum, we're using so called smart contract functionality. So that means we also actually don't just allow issuers to write things to the blockchain. Because if we just write things to the blockchain, then why don't we just use like something like PDF signed PDFs or something like that. So actually, the whole strength of blockchain is that you have a history of transactions. So what we imagine in the future is and actually what we currently implemented is that you can also revoke a transaction. And the smart contract, which is kind of like a object containing the whole all the certificates basically on the blockchain will verify that only or make sure that only the issuer can actually revoke a transaction later on. Yeah. And in the future, we also plan stuff like okay, like expiring certificates and certificates that can be renewed and stuff like that. And all that stuff is currently like hard to handle if you want to do it like in a central or traditional way. Yeah, this is a service. Yeah. So so currently it's available like part of the I think it's the Imagine IoT course on SAP. So actually, it's not available yet. It will be available soon. We are still working very hard on getting this out. Basically, it's a service that we provide to SAP customers, basically, or actually, any people who will participate in that course. And then for like issuers, we provide kind of a library. It's actually the MPM MPM module that you can install globally. So and you can just start it with from the command line and just run your platform. Yeah, exactly. It's a parallel application. Yeah, it's still kind of in pilot and labs environment. So just doing some testing. As we said, we're still in the pilot phase, we're going to look at the scalability aspects and high availability. I mean, the blocks in itself is very much though it's very promising, it's still very nascent. So we want to make sure it's stable. Anything that comes out of SAP has to be highly reliable. So we going to make sure of that and then probably look into the commercialization aspects. Touch IOT. Touch IOT. Touch IOT. Yeah, it's an open SAP MOOC course. Exactly. Yeah, I mean, there's also there's a lot of commercial or possible commercialization aspects that we have looked into. But currently, we just want to focus on this small thing, making the platform stable. And then from there, see, okay, like, how can we scale from there? So there was also question over there. That's a very good question. And that's a that's a problem that we are currently facing at the moment. So right now, what we do, we have a limited set of issues. So basic currently, we pay them. So we provide them with the ether or with the cryptocurrency to be able to issue those transactions. So there's a lot of things that need to be figured out still. But part in this pilot, I think this is like a currently available way for us to do it. I mean, we're still looking into the business model aspect of it. But technically, when we kind of evaluate this project, in US alone, there's like 60 million checks that happen every year. And it on average, it costs for like 3040 bucks per check. So there's there's definitely a lot of money in it. But how do we commercially is who pays for it? It's still something in working progress. We want to make sure the platform itself in scale, and then sort of put the hooks into monetization aspects. Yeah. Yes, correct. Yeah, there's also like a lot of like I mean, there's also like private blockchains and stuff. But we really see like for this project, this has to be on a public blockchain, because the more nodes on the network participate, participate, the more trustworthy and stable the network is. So that's so we evaluate a lot of options. There was like, there was Bitcoin, we have a we have a Bitcoin Ethereum, things like multi chain and stuff. And like, the only things where we see like, what is really like truly blockchain, in our opinion, is something like Bitcoin or Ethereum, where it's like really publicly and transparent network, basically, where a lot of different use cases are implemented and a lot of different people have interest in the platform to be running. So that's why we, at the moment, have committed to Ethereum. And for us, as of right now, we had, we have made really good experience because Ethereum itself also exposes like really sophisticated APIs, especially like with the whole smart contract functionality. So this is very, very beneficial for us. So with Hyperledger, basically, the idea is that you would create your own, like blockchain network. So that would happen typically, like if you run a business network of like, for example, for instance, like we have a supply chain, stuff like that.  And also Hyperledger solves a lot of more, more problems. For instance, like encryption of the actual data. So the data is actually not visible to all the nodes. So we are also kind of related to the team who works with Hyperledger. For now, we have invalidated Ethereum. And we have made a really good experience with Ethereum so far. And kind of the reason why not Hyperledger is there is no like, like the one Hyperledger network, right? So and also especially like if you if we want to develop like a product at this point with like higher trustworthiness, I think that's why we decided to go for a public one instance network basically. Yes. So yeah, so only in the so only at two stages, the first stage would be doing the issuing process, because like, the transaction needs some time to be confirmed on a blockchain. And for that, we cashed the certificate in the MongoDB and after we send out the email we deleted from the from the database basically. Then in the second stage, when the user actually decides by himself to share the certificate, like and store it on our platform and hence generate a link. So this would be the second time. What we also were implementing right now is kind of a self destruction mechanism. So basically the certificate or the or basically the user can say, Okay, I only want this link available to be available for let's say 48 hours. And after that this is gone. So our aim is truly like the like the user kind of on the data basically. Thank you all. I think we started running out of time here with more than happy to take any questions offline. We are hiring by the way.


So I've been watching a lot of these levels videos from wired and it's really cool to measure yourself to see if you're progressing, if you shared any of these said hobbies, which I think is the appeal of these videos, but also it's a great introduction to a topic you're not familiar with. And so how about we do that for color blocking. Now this whole entire video is just my opinion on color blocking, but I am positive if you watch this entire video, you'll have a better understanding of how colors work with fashion. So as a prerequisites, you have to understand the fundamentals and we're not even diving into color combos or any of that yet. This is where you find your personal style and you understand how your body works and what looks great on it, what doesn't. But you can also keep an open mind to unfamiliar areas of fashion because it doesn't matter how good your color blocking skills are if the pieces don't look good on you, right? And this takes time, effort and patience. Now the fundamental pieces to me are always minimal pieces, items that are a part of your culture and identity and items that align with your hobbies. So now that we got that out of the way, let's talk about the first level, level one, and you might think it's all black, but nope, it's not because I actually think all black is harder than you think. I think the easiest color blocking technique is contrast, purely black and white. Your favorite sneakers are designed following this technique. It's the building blocks of your wardrobe and colors in general, which we'll talk about later. And I really don't think you can mess this one up.  Come on. So don't be afraid of contrast.  If you only buy black and white clothes, you're pretty set for the rest of your life, which is why that is level one. Level two is the gray scale technique.  So let's add everything in between, which is gray. This whole gray scale spectrum is the building blocks to an infinite number of colors.  These are all good spots to start off at. And what I love about gray scale outfits is there's this gradient effect, which is just easy to look at. It's also tasteful and it looks purposeful. You know, it looks like you know what you're doing without even touching the color. And I've already made a whole entire video about the beauty of gray scale. So check that video out whenever you're done with this one. Now we can talk about all black. And if we're talking about purely all black, that is what makes all black so difficult. You can easily turn yourself into a Mr. Game and watch. And that is why we kind of have to warp our definition of all black. So this is where you have to understand texture, materials and layering, which honestly, I don't even have down sometimes because I think you and I know that almost nobody owns an all black sneaker. And if you do, you're not scary at all to be around or you probably work in the service industry or something. And that is why we kind of have to warp our definition of all black. So you have to mix different fabrics to give your outfit depth. So I'm talking leather, nylon, puffers or knitted materials. This is going to add that necessary separation within your outfit. Just take a look at every product that you own that's mainly all black. You're going to see different textures. There's mattes, there's shiny, there's ridges for grip, or they'll just flat out ignore black, add some color, add some white for contrast so they can read the text. And it makes the product more interesting to look at, which is what I lean towards. So my take on all black is don't wear all black. Add some color, add some contrast, just in small portions. Level four is where we add one item of choice as a color pop. It could be an accessory like a hat or a scarf, or it could be a shirt or a jacket. When starting off, I always recommend this fit that never fails.  Or you can keep the shirt black and go for a colored jacket. You can get a lot of great fits this way. These are the bulk of my outfits. But I know y'all already got this, so let's keep it moving. Real quick, y'all, this video is brought to you by Express Today's sponsor. And I'm going to be showing you how I color block each of these pieces. So let's check out this orange zip jacket right here. And I did get this in a size medium. I am five foot seven hundred fifty six pounds. And I just love the way this piece feels. It's super light, very airy. You've got a zip up that looks best unzipped or zipped most of the way up. And I know that bright orange might seem daunting to a lot of people. But check me out.  You just cannot go wrong with this at all. It's the most simple color blocking that you can do and very spring summer night. Definitely something for a date night, whenever it gets a little bit cooler in the evening. And the same applies to this red jacket that I have right here. This jacket is basically the same thing only that there's adjustable cuffs so that you can taper it or cuff your jacket for a more airy feel. Plus, this inner lining right here is a very cool detail. It's definitely something that radiates summer energy and you've got an inside pocket as well. You can kiss seasonal depression goodbye whenever you rock this. So I'm going to be rolling with the same color blocking and we are going to keep it very minimal. You can't be the minimal jacket. It's going to stay in your wardrobe forever. And as you can see, I'm rocking red and gold right here. So this is a good time for the Lunar New Year for those that celebrate it. And now moving on to the same rayon shirt that I got last month. But this time we got the cream version. The other one was really cool. I love the design and the color blocking on it. This one just follows that same gradient color blocking only with cream colors. So I naturally leaned into it because this is a lighter colored piece. I prefer styling it with lighter items like these cream trousers and white sneakers.  You can totally do it, but I think white sneakers would look better. And this is also why I threw on gold jewelry for the most parts. I mean, there's some light brown and stuff which is all within the same color scheme of yellow and orange with a white added to it. And so naturally yellow items would look really good on this fit. Now this gold chain is really affordable and really nice to look at as well. It's just a simple circular pendant. So the light just hits it a little bit different. There's a little bit more texture as well. The dimpled look is something I kind of like and appreciate. But we will talk more about monochromatic color blocking later in the video. And finally, I got the same faux suede leather jacket that I got last month as well. Only this time I got it in a dark brown color.  Since I kind of get this vibe with this type of jacket and that is pretty clean to me.  I'll leave a ton of links in the description where you get to pick these items up. And now because it's warm, I definitely recommend that summer rayon shirt. I got it in cream and I got it in black. Very versatile pieces. But anyways, thank you Express for sponsoring this video. Let's keep it moving. Now for level five, I think it's the understanding of how colors are made. So not even a color blocking technique, just understanding how color works. Once you get this, you're on your way to creating consistent clean fits. So take pastel colors, for example, since it's springtime as I'm filming this. Every single one of these are normal colors mixed with whites to a light gray. So here I am in Photoshop. The left represents whites, the bottom represents black, and teetering towards one side or the other is where gray lies. Hamlin to go blue, for example, for my Better Call Saul fans is a standard blue with mid gray added to it, giving it more of that clay colored look. And this is where olive resides as well, in between white and black. These colors can sway between pairing it with lighter colors or darker colors, which is why I just love gray. But cherry blossoms like this one down my street is a reddish color with a ton of white added to it. And as we move down the scale of colors, look at all that pastel. Now adding black to a color gives it a matte, dark look. This is where burgundy, maroon, navy, forest green, and brown comes from. And like I said, there's an infinite number of colors that you can make. So as a general suggestion, if it's a lighter color, I think it pairs best with other lighter colors. And dark colors go best with other darker colors, but that's just a general suggestion. Don't let that limit you. And if it's gray, you can go either way, or you can just lean into it with more gray. Check me out. We got an olive-based pants right here, a plum-ish hoodie. Both colors are made with the color gray. Sure, this fit might look good with a brighter color. I'm sure it'll probably look good with a darker color. But I say even more gray tops it off perfectly. So understanding colors will set you up nicely. Okay, so here we are now at level six. This is where analogous colors lies. These are colors right next to each other on the color wheel. And believe it or not, you are probably already killing it with this level. You're just probably not even aware of it. So I feel most of us have a pair of olive-green pants and a blue denim jacket. Pair those pieces together, and bam, you are already rocking analogous colors. Blue-green is seen everywhere from iMessage and bullying your Android friends to nature with the sky and trees. It's a very inviting color scheme. But try other colors like the citruses, lime, lemon, and orange.  Get creative with it. Blue and purple are also great pairings. Now, level seven is the next step, and we're talking about colors on opposite sides of the color wheel. And these are complementary colors. So just think of like Christmas colors or more fashion-related, a pair of brown dress shoes with a navy suit. Can't get any more classic than that. See, navy and brown are basically blue and orange with black added to it. Blue and orange being complementary colors, it just works so nicely. And you can apply that to your other fits. So check out this fit with a brown trucker hat with a navy over-shirt or the same navy over-shirt with brown pants. I would recommend experimenting with other colors you don't see as much. Obviously green and red you still see often. So how about trying yellow and purple? That sounds pretty spicy, so let's give it a shot. Not bad, not bad. So I think the best way to tackle analogous colors and complementary colors is starting off with accessories, like a hat or a bag or rings even. I think it's better to start off with just two colors and the rest of your fit stays black and white, but you can go as you please based off your experience and how you're feeling that day. Now for level eight, we have monochromatic. Honestly, not really a favorite color blocking technique of mine, but this is where you stick to the same exact color for your whole entire fit. You're just messing with the grayscale spectrum within your outfit. Basically, your outfit is a gradient of one color. So if it's yellow, for example, this is where you can add bold yellow, you can add tan, you can add cream, you can even go white. I do see these fits more so in the spring and summertime, which makes sense, there's more color. And depending on how you're feeling that day, you could wear whites, you could also wear black. Because remember, monochromatic colors, if you desaturate it, you get the grayscale spectrum.  Here we are now at level nine. This is taking everything we learned and utilizing statement pieces. So statement pieces could be a bold pop of color or it could be a uniquely designed piece, but I'm talking about statement pieces. So loud pops of patterns, patchwork and graphics, these make color blocking a bit more tougher because there isn't just one set color. So with that, the suggested move is to pull from the dominant color of the piece and then applying anything we learned to the rest of your fit. Or you can get creative with it and utilize accessories to compliment a less dominant color. But yeah, you've got free will, which is what makes fashion so great. It's also subjective, so you do you. And now we're at the last level where I think you have to be a certain kind of person, a certain kind of comfortable with color because this is the Saul Goodman of outfits.  And those are the 10 levels of color blocking. This is just a quick rundown on my opinion on different color blocking techniques. Make sure you subscribe to the channel for more of these. Give the video a thumbs up. Follow me on my other socials. I hope that helps. And until then, stay fly, deuces.