Alright, man.  We're here in cinema. All right. Oh my god. Okay, so let's begin Let's hop on the bus over here. Let's go on this bus y'all before it leaves us behind all right everybody inside the four-night bus All right, so we have arrived and I guess the name of the movie is night out All right, yo, what's up Steve? Okay, so this is our bus driver Steve That's a pretty cool outfit. Oh, let's go get our tickets at the ticket booth. Oh, okay. Welcome to the cinema What's up, man? Get your tickets and beat me inside. All right. Let's go get our tickets you guys at the booth Popcorn. Oh my god. This is awesome. Okay. We got popcorn for the movie. Yo, I'm here for my ticket. What's up, Blake? Looks like there's only one. What? How can it only be one ticket? Are you kidding me? Okay? So what's gonna happen if there's only one ticket? Okay, I think we're gonna have to break in you guys Or maybe we'll sneak in through the back of the theater Or maybe there's a way to sneak in. Oh wait. I see like some parkour Like some parkour going on over here Nope. All right. I don't know.  Oh, this is a pretty cool cinema man. Yeah, what's up Steve? All right everyone Let's go welcome to cinema. Hey, it's a matter. What movie are y'all singing tonight? I don't know about we're seeing a night out miss right there you go. Y'all are a bit early Okay, so it seems like we're here too early. It's all right. We could wait Okay, see you at nine. Okay, so our movie great our movie doesn't start till nine you guys We got here way too early. So what do we do you guys? Can we let go in the lobby? What is that? I see like an Oreo over here. Is that an Oreo? It is an Oreo. Oh, I Just ate it. Okay. That's delicious. I mean I don't really like all real in real life Yeah, I know hate I'll be hate I'll be it's okay. I mean I used to like them. I think I just had them too much Okay, while you wait no chill out a talk with your friend. Y'all have a great time. Thank you, Samantha You're the best. I'll meet you guys there. I gotta use the restroom. Okay, so what lobby do we go to? Come on guys, let's go watch the movie before it starts. I don't want to miss it Okay, that's the restroom dude. Why the doors like so humongous What in the world is going on? Everything's so humongous. Okay. I think this is the theater or the lobby where we're supposed to be at My god, this place is so dark. Let me turn on my flashlight Okay, so we'll just take a seat over here I call the best scene which is in the middle. Oh, no look the exit is like blocked off That is not good Okay, what happened after the movie so we didn't even get to watch the movie. What kind of cinema is this man? Okay, that is not cool. We missed the entire movie guys. I want my refund. Okay. I like the part where oh My god, was that Samantha? Oh my god poor Samantha man. We have to help her Samantha was nice and innocent man. Why would they do anything to her? Okay guys hold on. Let's go check out Samantha dude It's so dark out here Okay, it seems like things got serious you guys. It's time to put on your serious face. Oh my god Okay, let's keep going follow the bald man. Oh My god, what is that thing? Dude, he's like slashing up run Okay, I don't think we have to run because it seems like he's broke. Okay.  Oh my god. Okay. I'm going this way. He's chasing them. Dude. Why are you coming after me? No, no, oh, okay. I need help somebody help me. Oh my god. This guy will leave me alone Want to get trapped here. Oh, what is that? Oh, there's life right here Okay, nice. Oh my god. We barely managed to survive that Okay, what is that healing? Where's Samantha and Steve? I have no clue man. I almost died That is not cool. Look for clues on Steven Samantha's disappearance. Okay, so now let's have a look around.  That is weird guys. Look. That's the monster that attacked us Wait, where the one from the movie? What was it doing here? Okay, so the monster from the movie came out to attack us. Oh, that is pretty insane Great the doors locked. Okay, so we're trapped in here from what it seems like find a way to get out Okay, so now we have to break out of this place. Oh My god, okay. Maybe we have to do like some parkour We found the kid in the bathroom. Nice. Good. Look it out, man. I hope it's for the door. Hopefully it is. I Do not want to be in here any longer Yeah, I'm almost dead. Oh my god. Let me mop popcorn Okay, that's not helping to help Hey, so it seems like you didn't find the key. Nice. We made it. Oh My god, wait, why is there like drink posters over here? Get on the bus and let's get out of here All right, man. Let's get that oh Yeah, I'm calling shotgun Dude the bus just blew up and we got on We can't let me revive. Oh my god. We just blew up for getting in the bus. Oh, okay We just found from the sky. What's up guys? It's me nothing happened, you know Dude, who knew the bus would actually sell up blow up That was crazy, man. Oh my god Okay, what is this trap door for? Okay, what are you talking about? What trap door? I Would see a joe over here Okay, so there's like a dungeon or a layer over here that this guy discovered. Oh My god that bus though. Who would have known it was filled with booby traps. Oh My oh great. That was just now. It's a maze.  I always find my way out somehow Okay, where are we? I have no clue man looks like a secret base Two paths one leads to success. You got to be kidding me man make it out of the right make it out of the maze Okay, so we take one path we die and we take the other we live Okay, this guy is definitely out here playing games with us And I kind of afford to die again, man Okay, so it seems like this guy knows where he's going. I don't know. Let's just follow this guy.  All right. Let's go. You have a flashlight. Yeah, but I mean it's not that dark in here Yo, my boy, you know where you're going? Hopefully he does man. We're just following this dude Okay, let's keep going We made it. Oh my god. Okay, so this guy seems like he already beat the game because you know where to go. Oh My god complete the obby great now. There's an obby like always All right, you guys take it slow, man Dude, she just fell. I should take it slow not like come on man. What's going on? Oh my god. Okay. This is a little hard Okay, we have two lives nice Dude, I just completely fell right there. Okay. No, we got it this time I feel it. We're gonna beat it this time around. Yeah, okay What is that take four? Okay, take four you guys. Oh My god, okay.  This is like some major parkour.  All right, you guys so this base I mean this obvious definitely no joke, but I think someone's about to beat it over there So but let's keep trying to beat it because I think if someone beats it at teleports is also Let's just advance And let's be the backup in case he doesn't get it. Oh my god. They just fell. Okay great Now it's up to be the waffle man. Oh my god. I was fell there Okay, be careful dude. This is so scary Oh my god, I do not want to fall. Okay, you got all nice Ronald made it Okay, dude That'll do Ronald man. You're not going anywhere They neither are you wait. I can't see a thing. Oh my god. They're about to like fight What's going on over there? Why can't I move?  What? So I just died like a billion time is that I'll be just for that You gotta be kidding me, man. All right. So it's said to be continued. We don't know what happens Like if we live or we die or we run or we jump in the pain of darkness I don't know Matt, but I mean it was pretty cool. I guess in a way All right, you guys well, this was cinema and roblox. We got to join the video Make sure to slap the like button if you're new to the channel Make sure to subscribe and turn that notification bell on and I will see you guys in the next one. Bye


late heroics Aaron Hicks game time to run home run he's seven for his last 19 in his last five games in the walk-off pinch hit home run for Neil Walker is the first by a Yankee since Brian McCann all the way back in August of 2014 and I want to go back to what you said about the Aaron Hicks at bat he was a head 3-0 went to 3-2 called it a good at bat which stands out to me not a big statement good at bat right but they hadn't had many of those all night but when you and I did the cut in in the seventh inning we had just seen a couple of good at bats in the sixth inning and at that point I said they've got nine outs to play with but they need to have a succession of those at bats that we just saw you go back to the sixth inning Gardner Torres Voigt and Doohar with the home run they all had good at bats and you're right about Hicks one of the things the Yankees have loved about him this year is that improved plate discipline and the ability to control the strike zone late in the game like that you don't want to help the pitcher out so it goes to 3-0 the 3-1 pitch I think Hicks actually thought it was ball for he swings 3-1 that might have been another ball then he gets that 3-2 pitch and the location of it just middle and a little bit up and Hicks able to do some serious damage against that pitch all right so we've talked about the fact that they wasted opportunities throughout the game thought that was going to happen in the bottom of the six Brett Gardner lead-off triple a couple quick pop-ups from Stanton and Hicks they don't want to waste that lead-off triple Miguel and Doohar made sure they didn't


Having established the Exition and Merivitory Sequence, let us now give some immediate applications of Merivitory Sequence. The very first one itself is an important result, it's called Homology Suspension Theorem. There are similar results Homotopy Suspension Theorem, it's so on in mathematics. The Homology Suspension Theorem is much powerful than the corresponding Homotopy Suspension Theorem which will need more hypothesis and less and gives less concluvia. Whereas Homotopy Suspension Theorem is very easily obtained and there is no hypothesis at all you will see. X be a topological space, then there is a canonical isomorphism S, that's the standard notation so I have to use that from h n to the del of X to h n plus 1 to the del of Sx n greater than or equal to 0, where this Sx denotes the suspension of X. The suspension of X can be written as the join of S0 and X or you can think of it as a double cone, cone over X taken twice and glued them, glued together along X on the basis. So that is the suspension. So on the first module I have put a twiddle here and the second one whether you put a twiddle or not it is immaterial because n is greater than equal to 0, n plus 1 will be greater than equal to 1 and then we know that the reduced Homology coincides with the un-reduced Homology. So you can put a twiddle here or not, doesn't matter but here twiddle is necessary for n equal to 0, if you don't put that then this is not correct. So this is the first remark here, the suspension S is always path connected and hence h star of Sx is h star twiddle of Sx in positive dimensions, ok, even including zero also. Whereas if X is not path connected then H0 of X and you know there will be problem about H0 of X and so on. So you have to put H0 twiddle of X which will be different from H0 of X, only H0 twiddle of X will be isomorph to H1 of Sx, ok. So putting twiddle is a must because n I have to, I have include non-negative, the 0 also I have included, ok. So Sx is the double core, you can treat it as S0 join X, ok. You can instead of minus 1 plus 1 which is dangerous notation all the time, whether it is a real number and so on, minus of something or some, better to write as north pole and south pole, ok. Just like you are taking a sphere and then sphere is treated as a double cone over or the suspension over a sphere of one dimension lower over the equator. So you can take n of star X, S of star X identifying around on the common boundary. The first thing that you have to notice is that for any cone, this is the notation V star X which join of singleton point and X, we have V star X, you throw away the point V is homeomorphic to 0 and cross X, where 0 corresponds to this vertex, 0 cross X corresponds to singleton vertex. You could have the other notation, you would have pushed the 1 cross X to singleton point, then that would be different. So that is the question of notation here, which can be deformed to open 1 cross X, open 1, 0 cross 1 cross X can be deformed to 1 cross X because 0 1 can be deformed to singleton 1. So it follows that the suspension minus the north minus the south pole is, let us write, quality as a minus 1 and suspension minus the north pole, let us call it as a plus 1. These are both contractible, ok. First you can deform all the 0 to 1 to X and then whatever is left is a cone. So the whole thing is contractible. Inclusion map X, namely X cross 0 minus 1 to A minus 1 into section A1 is a deformation rate tract. You can collapse both the sides to the central equator. So the picture is exactly similar to take a two sphere and take X to be its equator and the two sphere can be thought of as the double cone over this one. So you can keep that in mind, ok. So A minus 1 intersection A plus 1 completely deforms to X, ok. So these are the few things that you have to observe with the topological aspects here. Both A1 and A minus 1 are open subsets because you have thrown away a single point, namely the the two vertices, respective vertices you have thrown away. So what we have is a Mayer-Euterie sequence now because these are both open. So they form an excessive couple. So I can take H i twiddle of I plus 1 A1, H i twiddle of I plus 1 minus A minus 1, the direct sum of these two. Then this is the union. Then the connecting homomorphism to H i, this is H i plus 1, this will be H i 1 lower, again the intersection here, then again direct sum and so on. Now these two end things here, H i of A1, H i twiddle of A1, H i twiddle of A minus 1, they are identically 0. Why? Because they are contractible. So putting twiddle even the 0 thing is also 0, that is what you know, ok. So this is 0, this is 0, this sequence is a part of a long exact sequence so it is exact, that means this delta is an isomorphism. So from suspension to the intersection of these two things which is liquid racks, you have what isomorphism already, ok. So you have to put it properly what you want to see, this here is an isomorphism like this, the delta is an isomorphism for H i, ok. Now being a retract eta for x to A1 intersection A minus 1, you can replace this one by x and by eta star, eta star will be an isomorphism, right. So therefore you take S s, the composite start with eta star from x to here and then go back by delta inverse. So that is the map S, homomorphism S, ok. Eta star is an isomorphism, delta is an isomorphism, I am taking an inverse image of that, the inverse of that one. So that S is from H i twiddle of x to H i twiddle of the intersection of these two to delta i inverse H i plus 1 of S x. So you see that is why the main root of the sequence is called the radius of use things. So all basic things you have done already, so it gives you the proof immediately, ok. There is a word canonical, why is it canonical? The inclusion map here is a canonical thing, ok. If you have another y, A, A correspond to A, B and B prime and so on, the function x to y would have, this is A cross, this is something x cross 0 1 and so on, cone construction. The cone construction and the suspension construction, they are canonical. So the whole thing will be canonical, this eta is canonical. We know that delta is canonical in the snake lemma, this is coming from snake lemma, the connecting homomorphism. Whenever a pair of closed subspaces x1 and x2 is given, introducing intermediate pairs of open cells u1 and u2 such that x i are deformation retracts of ui, so typical way excision theorem will be used in practice. Convert them into slightly larger open subsets which will deform to the closed open side. So that is what we have done. If you take the two cones, they would intersect along x and neither of the cone is an open set in the in the in the sphere in the suspension. So what you do, you take a larger one. So instead of this whole cone, just take one point, the two poles, the vertices one by one you remove, ok. So that is a much larger open set. Now excision theorem can be applied but as far as homology is concerned, it is the same thing as homology of this cone with air hold contracts. I mean it is contractable. So the whole thing is zero, homology is zero, ok. So this is the way you can apply, so this is standard way we can apply the excision theorem whenever we have closed sets. But this may not be always possible. For that we have ready made things like co-vibrations and so on which you have seen earlier. However, the the simplicity of this proof brings some kind of mystery. So where how to you know it is isomorphism but how to get this one. Whereas the topologically from x to sx is such a nice way of doing it, can one do that in principle at least directly in a sense that if you have some cycle here, can you suspend it and get a cycle? Yes, we can do it. Let us do that one not now. That means I would not like to give an explicit way, direct way of at least seeing what this s is at the homology level. We know that it is a nice homology. We have no doubt about that. But how does it look like? At least in nice cases at least we can we realize how it is. So this is here I am going to do it in much more generality but then it will be explicit. So for this you have to really know how the cones etc are formed. The first thing is recall that the cone construction is factorial namely when you form a topological space and then this cone along with that given a function f from x to y there is a map which you can call it as cone of f ok, cf from cx to cy. How it is defined? c of x comma t remember cx is nothing but the quotient of x cross i. So I am writing this notation x comma t for the element which is represented by x comma t in x cross i. So take x comma t to fx comma t the class of x comma t. This gives you the cone construction which has which itself is canonical namely if you have another map from y to z which is g then g composite f c of g composite f will be cf composite cg composite cf ok. So that is the meaning of it is canonical or factorial cone, cone construction is factorial. Now one more fact we want to use namely look at the n plus 1 standard simple x delta n plus 1. You can think of delta n plus 1 as the cone over it is substrate delta n ok, delta not a single point delta 1 can be thought of as a cone over this one this is a line segment and then delta 2 can be thought of as this is a triangle can be again thought of as a cone over delta 1 and so on. So that is what we will use it. In this one the apex of the cone corresponds to the next vertex, the extra vertex en plus 1. So here delta n up to you know even en is there. So delta n plus 1 vertex corresponds to vertex. So this is one way you can use the first vertex itself as a cone and so on the other way around also you can do. So different with things will give you different cone construction here. Given any singular and simplest tau from delta n to x. So I want to attack this suspension map directly at the chain level ok. So chains are after all generated by singular and simplex here. Take a singular and simplex that means a continuous function from delta n to x. This is tau n and tau s I am going to define two such things namely if you look at the upper cone namely x and star with n the north pole that will give you a cone construction of this tau itself c tau. So because there are two of them you may confuse which one. So it is c tau plus the upper part. So that will give you a map from delta n plus 1 to n star of x n star x that is upper part. Similarly tau s this is notation what is this? It is c tau again but the extra point the en plus 1 is going to s. So c tau minus I will write it as delta n plus x star wherein this c tau plus minus sends the last word takes en plus 1 to either n or s respectively. So there are two such cone constructions out of tau. And both of them are inside the suspension. Now what we do is we will take this sigma s instead of s sorry sigma tau s minus 1 raise to n plus 1 times this tau n minus tau s. You can ignore minus 1 raise to n plus 1 for the time being then see why it is there later on. Just do not worry about that one. So tau n minus tau s I have data. Automatically this tau n minus tau n will be a cycle okay. You can start with your x as just two points may be s naught minus 1 plus 1 and then take the double cone over that that will look like rectangle but you have to think of that as s1 now s of s1. So if you take the zero simplex there okay and take any zero simplex there and perform this thing what happens you can keep a track of this later on I will give you a picture right now. This is what it is definition tau n minus tau s is a n plus 1 chain. Tau was an n simplex okay singular n simplex. So when you make tau n it is from delta n plus 1. So this is an n plus 1 simplex. So I am taking a difference I am putting a sign here so it is a chain okay. It is a straightforward verification that this sigma gets linearly extended. I have defined it only on a singular simplex if you put summation n i delta y you just put that summation on this side also that is all okay gets extended to give a factorial chain map sigma from s dot x to s dot of sx okay but only the problem is that it is of degree 1 you have to be careful about that so it is degree 1 because tau which is delta n from delta n has gone c tau is delta n plus 1. So an n simplex has gone to n plus 1 simplex okay. Once you have a factorial chain map its chain map factorial reality is not necessary once it chain map it will give you a homomorphism at the homology level okay. You put a twiddle here we claim that this is an isomorphism this is nothing but this map is exactly same as the s there and if you put a twiddle here it will be an isomorphism. That isomorphism we have proved already so I want to say that this sigma star is same thing as our s okay so that should be very satisfactory for you because now you know exactly how sigma or our s looks like at the chain level itself okay that is a very satisfactory answer okay. Let us do that so remember this s was defined as delta inverse composite eta star. So if I want to prove this one it is same thing as proving put the delta on this side delta composite sigma star is equal to eta star remember what is eta eta is the inclusion induced map under this deformation so it is like identity map as far as the homology is concerned therefore what we are trying to say is delta star the delta composite sigma star is is like an identity map so it is one of the one is the inverse of the this eta star is just there because we have thickened x remember here this one eta star x has been thickened but in homology this is an isomorphism which is actually you can this is the inclusion induced map so it is actually you can think of this as subgroup which is the full group so it is an identity isomorphism itself okay so you can you can you right now you can don't worry about this eta star even if you don't mention over it whatever so that is what you have to think that this delta star is inverse of delta is inverse of sigma star okay so in order to show that this delta composite sigma star is eta star we need to go back okay to the snake lemma go through the whole step how delta was defined and then you get it there is no short way here to see how this is equal to this one okay other than going through the step of what was the definition of delta no theorems will give you this is a theorem only after that so you have to go back to the snake lemma okay so let me do that so I have copied that thing in a slightly different way now what are the things here now there were this this central two things were snakes part here which was given by exact sequences okay so this is s s dot of of a plus a minus intersection direct sum then s of sx okay this remember this s of sx was nothing but s of the image of a plus plus image of a minus by the by the excision theorem we are able to replace it by sx so don't worry about how sx looks like but look like what it is it is the sum of these two inside that that is what we are interested in okay so therefore the entire thing becomes very easy here now so how was the connecting over isn't defined from this kernel you come here this is an inclusion map then you pick up something then you push down push it down then pick up something and push it down right so take an element here you come here okay what is the element I am taking I am starting with delta I want to show that of sigma star so I start with sigma star of something okay and then apply delta and see what is it whether I get back the same element that's what we have to do okay starting with an element tau in h n of x instead of a simple instead of a singular simplex now I have a chain which is actually a cycle and then the representative class of that in tau in h n so this tau is represented by an n cycle tau cycle means dab of that is 0 right it's in the kernel of something okay and then we have sigma star of tau okay and then I want to show that delta of that is again tau or eta eta star of tau whatever if that's what you are so sigma star of tau represented by what we have actually constructed what is sigma star of tau it is minus 1 raised to n plus 1 tau of n minus tau of s right so this is an element of s n plus 1 of the sum which is a sub of s x okay already it is represented by in this way as a sum of one in that upper part and one in the lower part therefore j of tau n comma minus tau n this j is what I am j star etcetera I am just making it a simple notation j of this now I have come here this element it is j of something here already you I don't have to pick up something myself it is already there namely it is j of tau n minus minus tau of s remember j j was a1 a2 was a1 plus a2 remember that therefore this is this element is nothing but j of tau n comma minus tau n okay I am ignoring minus tau n minus 1 raised to n plus 1 for the timing just looking at this one okay you can change the sign up to plus minus later on so now look at the boundary so I have come here I have to take the boundary of that the boundary of the direct sum is nothing but direct sum of the boundary so I have to apply boundary here to get an element here so that is what the boundary of tau n comma minus tau n nothing but boundary of this plus minus boundary of that now now you must know how to compute boundary of this one this this tau is some summation for each tau what happens boundary of tau n the last vertex is has gone to always to en plus 1 okay so you have to how do you take boundary you have to apply where is minus 1 raised to i the f i the phase f i is composite with tau sorry tau composite f i okay right that is what you have to do so when you apply these things to first part part of this part you will always get boundary of tau and the last one will be en plus 1 okay but when finally when you apply the the last phase which will omit en plus 1 namely f of n plus 1 f of n plus 1 yeah that will omit en plus 1 so then whatever is remaining is just tau so this is minus 1 raised to n plus 1 times tau because the the sign has to change so this is why that there is a common minus 1 raised to n plus 1 here minus 1 raised to n plus 1 tau because this is the coefficient of tau composite fr in the in the definition of daba similarly on other side there is a minus of tau tau of this one it is boundary of tau extended by s minus minus 1 raised to n plus 1 again tau okay now i started with the tau which was a cycle therefore boundary of tau itself is zero therefore these two first terms here cancel out i mean they drop out so minus 1 raised to n plus 1 is common this is tau comma minus tau tau comma minus tau is in the precisely in the image of i so here the i is a comma a going to a comma minus a j was a a 1 a 2 going to a 1 plus a 2 those were the maps which we have defined in the mario sequence right so this is already i know exactly what element coming here it is nothing but tau the proof is over actually minus 1 raised to n plus 1 cancels minus 1 raised to n plus 1 what your sigma star of tau when delta when you apply is that tau is 1 so this is the procedure tau you see in the procedure of defining delta starting from an element here push it here pick up an element here push it here pick up an element here push it here pushing means here whatever element you got it must be read as modulo the image of the above so when you pass down it is tau represented by tau itself okay and these kernel and these co-kernel are interpreted what are they they have to carefully say that in the in the definition in the application they have interpreted as as what as certain homology namely this will be nth homo n plus 1th homology of of this complex and this will be this nth homology is n minus 1th homology in my notation i should have started with n plus 1 here okay because tau all these things are n here but actually n plus 1 and n minus 1 in the analysis here h n i have started okay so that is the difference here so proof is over okay this will also will give you now now because you have shown that this isomorphism actually is nothing but sigma star and verification that sigma star is canonical is very obvious very easy so you get a another proof that the suspension isomorphism is factorial so take a representative in the lower in x suspended is what I have to do so take tau n and tau minus n tau s and take the difference whether you take this minus that that minus this depends upon but that will only change up to sign so that won't matter much okay so now you understand why why i have minus 1 plus 1 i have put so that i will just get it out here next let us do computation of the homology of s n itself so first time we will be doing something non-trivial here now okay again i have been telling that s n is nothing but the suspension over s n minus 1 s n minus 1 suspension over s n minus 2 so finally it is iterated suspension of s naught s naught is what just two point space for which the entire homology modules we know okay all the higher homologies are trivial the zero thomology for s naught because it has two components is that direct from z but when you take the reduced homology it will be infinite cycle okay immediately you will see that h 1 of s 1 is infinite cycle h 2 of s 2 is infinite cycle h 3 of s 3 is infinite cycle and so on you would have immediately got that h n of s n is infinite cycle k equal to n whether you put twiddle or not it is okay only thing is the twiddle is necessary when you put n equal to zero when n equal to zero is s naught which has two points h naught of twiddle itself is z but if you do not put twiddle it is not z it is z direct from z okay for that reason you have to start exactly okay so what happens to other homology let us look at h 1 of s 1 okay we know h 1 of s 1 just now we said it is infinite cycle but what is h naught h naught is there is no information it is not coming from coming from this mayor vitro sickness h naught is depends upon number of path connected components is path connected so h naught is infinite cycle but h naught twiddle I have put here so it is zero what happens to h 2 h 3 and so on they are isomorphic under the under the homology to corresponding h i minus 1 of the the single point I mean s naught so they are all zero so above they are all zero therefore we have proved this one for s equal to n equal to 1 now you repeat this what you will get is all the homology up to nth stage is zero nth stage it is z and again everything else is zero beyond that so this is a picture for s n once you have this you can actually write down this is what I meant by you should have this picture so this is u comma v is represents minus 1 plus 1 inside s 1 s naught the zero sphere and this is north pole south pole this is a suspension of that okay you can think of so think of this as a circle now the sigma star of I want to see sigma star of the zero thing so for s naught what is the generator of h naught twiddle it is just u minus v or v minus u whichever one you take okay under the augmentation it must go to zero that it must be cycle okay u minus v this will generate the h naught twiddle of s naught so that is g naught so you pick up this cycle which will represent the generator in the homology okay take sigma star of g by definition now it is minus of g n minus g s write down it completely g is u minus v so it is u s minus v s I am now writing a test just like an hgc v s minus u n plus v n so these are the one simplex how do they look like look at u s u have I put an arrow here okay minus v s v s is like this minus v s will be s to v okay then minus u n u n u n is like this but minus u n will be like this plus v n v n like this so they make perfect cycle so the identity map you know trace the circle exactly once that is the generator for h one of s one okay so you have to think of this as a cycle one cycle that means it is some maps from delta one into s s one so this is the picture okay like this now you can go from here to make a cone over double cone over this one you will get s picture of s then you will get some of various triangles there oriented triangles correctly oriented triangles okay so when you study simplex homology which we will do that you will come again about this picture next thing is we can now compute the homology of the pair d and s n minus one this time we don't need marvita sequence we just need long homology sequence of the of the pair okay d n is contractible therefore if you take long homology exact sequence hi of d n this will be 0 hi of d and d n minus one hi of s n minus one the next thing again will be hi minus one of sorry what is this so this is a typo here this is hi minus one here hi minus one of d n so this must be hi minus one okay so what we have is following the long homology exact sequence hi of d n hi of d n comma s n minus one hi minus one of s n minus one hi minus one of d n this term and this term will be both 0 therefore this middle arrow will be an isomorphism since we have computed this thing now we know hi of d n s n minus one is 0 if i is not equal to n and z if i is equal to n okay so when you are treating with the narrative thing there is no need to put quiddles so next example i think we cannot do that example now it's time so let us stop here


Welcome to our developing applications, Automating Kubernetes application, Stateful applications with Kubernetes operators. Hello, my name is Marek. I am the developer advocate at the OpenShift team at Red Hat. And I will be speaking at the end of the presentation doing some hands-on show the demo, which is not going to be live demo, but whatever. And my colleague is Jorge. My name is Jorge Morales. I come from Spain. And I work as OpenShift developer advocate for Red Hat. OK. This is the agenda of what we are going to be talking today. Just take a look at it. I hope this is what you expected to see throughout the day. If not, it's still time to go to some other talks. But it's going to be about operators, Kubernetes operators. Scaling stateless applications in Kubernetes, it's easy. There is Kubernetes primitives that allows you to scale to model stateless applications, which is a replica set. And scaling up is really easy.  Keep CDL scale, the name of your application, the amount of instances that you want, and you'll have your application scale. Kubernetes is a declarative platform. So it will look into the state that you as a user have declared. You want your application to have, which in this case is three instances. And it will look into the real estate that your application has in the cluster. In this example, there is one instance. And it will just scale it up. So it will create a couple of instances more to match your desired state of three instances of your application. OK. But what about applications that require you to store some data? What about these applications that have the notion of a cluster? Database is one example of them. There is software that has different instances, might have different identity, different role, masters, and a slave. How easy is to run those on Kubernetes cluster? Well, running a database in Kubernetes, it's also easy. It's just a matter of keep CDL run and the name of your image. Or if you want to use a stateful set, probably you need to use a JSON or Jamel definition of your stateful set and you apply it.  But running databases or cluster stateful applications on Kubernetes, over time, it is much harder. Why? Because there is specific topics or the specific actions that stateful applications need over time that are more complex to achieve and that are specific to your application. Resizing and upgrading your application might be different from one application to another. Reconfiguring, doing backups and restore or healing. Some applications might require, for example, whenever they failover to do some rebalancing of the data that it has. Some others may not. So these type of constructs, they are specific to the applications to the stateful application. And you cannot model them in a generic way. Every application on any platform must be installed and configured. But over time, they also need to be managed and upgraded. Why you need to do these kind of things over time is because once you install a database, for example, today, you want in a year or in two years, that application, that database, to be up to date. There might be probably some security vulnerabilities for which you might require to have an updated version of the database. Maybe there is a new version which provides a new features. Security, it's one of the topics that for everybody is critical. And patching your software is critical to security. Security is critical to every business. So we need to eventually take care of the software that is running on our platform and update it. Anything that is not automated is slowing you down. So who has not any time told somebody, hey, I need to upgrade my database. And then they get in contact with the DBA. They start planning what is the upgrade process, what steps do I need to take. And then they think, hey, when can I do this upgrade on the production cluster? And they plan for that. So all of that takes a lot of time. If you can automate it, you can automate all those processes, all those steps. They can happen much faster. So you can have more agility on your application lifecycle. If only Covenant is new. If only Covenant has had the knowledge of how every application is managed over time. It's upgraded, it's installed, it's configured, it's back up over time. So meet this guy, Grant. Grant Pecañonbre. He's a DBA. He's been working for, it's functional. Of course he doesn't exist. He's been working for a big database vendor for over 18 years. Do you know how much knowledge this guy has? He's got a lot. In these 18 years, he's been probably working with different versions of the database. He's been working with many customers. He's been seeing different cluster topologies, databases topologies, many different ways. He has a huge deal of expertise. But the problem is that this guy is rare. Not every organization have one of these guys. Even if you have one, not everything can get hold to this guy at any moment. I used to work in a company where getting the DBA to help you in your project, it was like, hey, yeah, in one month you'll get time off the DBA to help you out. Like, cool. This is slowing my whole process down. What if we could get his knowledge and put it in a box? Put it into a software component. We can make what he knows into a component into a software component. And this software component that now does and knows what this guy, what Grant knew about running databases over time, we can now deploy it on different clusters. Not only deploying it on different clusters, on different Kubernetes clusters, but also anybody can use that. So from small companies to big companies, now they have the ability to have a DBA on a box. They have the ability to have production ready databases anytime. Or they have a software that knows now how to upgrade the database whenever a new release comes. They now have the knowledge or the automated software that knows how to configure the database, knows how to back up and restore that database. As long as this is running on a Kubernetes cluster, the software component will work. So we come to the point to what are operators? Operators are automated software managers for Kubernetes application. They deal with the installation and lifecycle of your application. One of the key pieces of here is Kubernetes applications. So right now, this talk is meant for something that will take applications that will take advantage whenever they are created of Kubernetes constructs. They will be configured in a cloud native way using secrets, config maps, all these Kubernetes things that are on the hood. But the pattern itself can be used in OpenStack software, can be used in any type of software. This is not really the pattern itself. It's not really specific to Kubernetes. So what is the Kubernetes recipe? The recipe is to provide through the extension points that Kubernetes has hooks into the platform to make this work. So Kubernetes for some time has been working on making the platform extensible by providing a pluggable networking through CNI, pluggable stories, through CSI, pluggable runtimes, through CRI, and pluggable custom applications through a custom resource definition. So using this custom resource definition on controllers, you will be able to create your own application operational knowledge built into the platform. You no longer need to maybe modify Kubernetes code base to extend it with additional functionality. You just plug your additional functionality into Kubernetes, and Kubernetes will know, hey, this is custom. This is for this guy. This is how he wants to manage his software. I'll pass this to his specific software manager. So application-specific controllers are how this is built into Kubernetes. There is a set of controllers running in Kubernetes that will use Kubernetes APIs to create, configure, manage instances of your applications, of your complex stateful applications, of your software. These are packaged as a container runtime or container image. This is deployed into Kubernetes like any other application. So it's a native Kubernetes application that runs. And that acts as a Kubernetes controller. So Kubernetes will, at some point in time, talk to this controller. Then you need to model what your application is, how it will behave, what type of characteristics you'll want for your application. This is a made-up example for a production-rated database. So I might decide that whenever I create my software, I might want to define, hey, I want to have the different cluster size. Whenever I create instances of this, I want to define the size. I want to define how many replicas, replicas, or even the version. And just looking to, I'm saying the version, but I'm not saying where the software is coming from. That is built into the controller. The controller has all the knowledge of where he should be pulling things in or where he will be getting the images. The only things that I need to provide or I want the user to provide is how I want to use the software, which I simplify as possible. Then this descriptor that defines my application, how my application will be instantiated in the cluster, I deploy that definition in the cluster using the custom resource definition mechanism. And then Kubernetes, it will say, hey, you deploy it or you try to deploy something called production-ready database. I don't know anything about this production-ready database. But I have a guy, which is the operator that knows about this production-ready database. So I will give him the ability to start managing this production-ready database with this information that you have just provided. So what will happen is that the operator will take care of doing the reconciliation of the desired state that you provided through this manifest into the cluster. So in this example, I define two create three instances of a database with three instances. So it will create probably be a stateful set the database. But it will not only maybe use a stateful set, it may use secrets and config maps to store some configuration that is internal to how I have modeled my application of what the knowledge it is about my application. If I have deployed it instead of creating the database from scratch, I might have provided a new manifest with an updated version. This controller will take care of doing the upgrade of the database the way that it's meant to be. So it might stop certain instances and start the map or might do some rebalancing, whatever is embedded in the code in the operational logic that goes with the operator. So to make things easy, Rehat and Coros have been working on the operators for a couple of years, maybe three years now into this pattern, and they have gathered a lot of best practices and recommendations on how to do things, and they have created something called the operator framework. This framework is an umbrella for different, more specific projects that I'm gonna describe now. One of the things that happens is that I created an operator, I deploy my operator, and it's two years later, my operator that was deployed back then, it also has a life cycle. The application that is current, maybe it's different version, the processes that are involved with the database are probably also different. So I need also to upgrade my operator. I need my operators to be kept up to date. So for that, why not use the same pattern? If we have an operator, it's a software manager for applications, but at the same time, because an operator is an application, I can have a software manager for operators. So this is an operator for operators. And this is what the operator life cycle manager is. It's an operator that will take care of the life cycle of your operators. And also for the operators, because the operators are supposed to be, are meant to be, backward compatible, one of the cool features that we might want in a cluster is to be able to have them updated automatically over the year. So like you have on your phone, whenever you have new installed an application and you say, hey, I want this application to be automatically updated when there is a new release. Because you should trust the vendor that is providing, or you can trust the vendor that is providing this to have the expertise of deploying the databases in the most meaningful way. You can say, hey, I trust this operator to be upgraded if it's coming from a trusted source. So I will let this operator to upgrade automatically. Otherwise, you can just say, hey, in your cluster, you will get a notification. Hey, there is a new version for this operator.  But the operator life cycle manager will take care of doing the upgrade of that operator using the same techniques and the same patterns that are used for the operators. There is also a huge ecosystem marketplace of operators. And this is growing. So all the ISVs, all the vendors, some vendors are trying to produce operators for their technology because this relieves a lot the adoption of their technology while also makes it make it easy. So that means that I can now deploy a Redis or Postgres or Prometheus. And I don't need to have somebody being an expert on how to operate this Prometheus because the guys that are developing that are giving me the expertise they have on how to manage this Prometheus. There is in this GitHub repository, there is a collection of open source frameworks that we are collecting, but there is more and more added every day. Once you have the operators, you need to have a marketplace. So the framework also provides a operator marketplace. This is the implementation from OpenShift, but you can have your own implementation in your Kubernetes cluster. That will show you what operators are available in your source of operators. So like Docker Hub, there is a source for images, for container images, or Kuei.io, the operators will be at the end, they are sour, will be residing in some software channels, and then this marketplace will connect to this and will show you what is the available software that you can deploy. As an admin, as a cluster admin of your Kubernetes cluster, you might say, hey, I want to deploy this operator, for example, Couchbase, because I want my developers, my users to deploy Couchbase databases. So as an admin, I go to this marketplace, I say, deploy this Couchbase operator, I might decide, hey, I want to subscribe before automatic updates or not, but once it's available, the only thing that is left is for the users, the developers to go to the service catalog and say, hey, whenever I'm developing, now my application requires a Couchbase database. He goes to the service catalog and says, instantiate me a Couchbase database. That database is gonna be instantiated by the operator and it's gonna be managed and lifecycle by the operator. We also have something cool that we're working on that is for metrics to get statistics, to get information about the operators and the things that are created by the operators, so you can do some telemetry and charts back eventually. So you can be able to say, hey, you are using this technology, you have used so much of this, or even at the end, you may need to be charged for the uses of this technology. At the end of the day, if you deploy that Couchbase databases and you are paying subscriptions or licenses, you may want to know which departments are instantiating this Couchbase databases to be able to, at the end of the day, do some conciliation. So how do you build your own operator? For that, we have in the framework, there is an SDK. The SDK, it's just something that it makes it easy for you to create operators. How? By providing scaffolding and code generation to bootstrap may play. So you just go with the SDK, command line operator SDK, create new on your print, and it will give you the project structure for you to create an operator with a lot of code already built in for you just to plug your operational logic. And then this code that has been created, it provides all the extension points that cover the common operator use cases. Backup, restore, install, upgrade, configure, reconfigure. So all of that is already built into or there is a boilerplate code that has been created. So the only thing that you need to do is what is specific to the application. All the waving of these things, it's provided by the SDK. And then it also provides a high level of APIs and abstractions for you to use this or create your operational logic. So you need to be a Kubernetes expert in order to use this SDK because the SDK simplifies the process of working with Kubernetes. Sometimes whenever you are working with a Kubernetes resource, you need to watch the CD server for changes. Then you need to get into a list that is coherent and all of these kind of things that is complex for the engineers to do. All this code that is complex, we have simplified that and made it into a high level abstraction and APIs for you to use. So you just do SDK.whatever method and there will be a lot of boilerplate code, nice code happening under the hood that will simplify creation of operators. And with that, I will give it to Marek. He will give you a taste of it. Thank you Jorge. Can you hear me fine? If I have the mic like that. So before I start, I would like to ask you a few questions. How many developers do we have here? That's the people who build cool stuff. Okay, a lot. How many operations do we have here? That's the people who run cool stuff. Okay. And how many managers do we have? That's the people who slowed out the other two groups. Ooh. Okay, almost no one. So we have a lot of engineers and you have a lot of operations that's good. So as Jorge said, the operator framework that's all for you. So we have few slides that actually show how to use the operator itself. Would you like to see those as well? Or not? That's mostly for engineers. Would like to see those. Okay. We can do that. Close this. We have the slides over here. Shift. And now how do I show them? Skip slides. Sorry? Remove the skip slides. Skip slides. Remove. Go here. Present. And present. And make it big. Okay. So now this is the section mostly for engineers. I can do it. That's fine. So first you run the operator SDK. So that generates the, sorry, I have to be this way. So you can hear me. So the operator SDK actually generates the bootstraps, the skeleton of the application generates some stuff for you. And then you can follow up from there. It follows the basic layout that is good and that has been tested that works for this kind of applications. It's a CLI application that you can actually use. So second, if you have bootstrap your application, you will need to define your CRD. So the CRD tells Kubernetes, this is what my resources are going to look like. Here you can see the example of the resource that could be Jorge's production database that he was speaking about before. So when I have these two things, I will need to tell using the SDK that I will be watching something. So you see that you don't really have to go into big details of communicating with Kubernetes. You are essentially saying this is what I care about and watch it for me and this is my handler that is going to receive all the notifications. Have somebody here coded or created something using the Kubernetes API that's something like an operator or something in this area, raise your hand. Okay, how difficult is it? It's pretty cool, right? Because if you actually do it in a real world, you will see that you need to listen to a lot of changes. You need to check the state. You need to handle a lot of race conditions. And the API is powerful but also quite challenging if you want to do something that's really production ready. So if you see this and you have actually been doing something like that, you will see that it's pretty, pretty cool. And the handler is very simple. We don't have to write it here. But then you have the reconciliation.  But this is the reconciliation logic that's inside the handler. And I will move to that in the demo because I have a slide that has all these three steps next to each other. And then you generate a code that actually generates the deployment and all the resources that you need to deploy the operator. And finally, you can push it to Docker Hub, Quai, whatever you like. And then you can apply it on your Kubernetes cluster so you have your operator running. It will also create the RBEC configuration so it setups the permissions and all the configuration of the users correctly. So that's one of the other benefits that you can get for free. Okay. And then you can just deploy an application just as Jorge did before. So this is from the perspective of the developer what developers needs to do. I am simplifying a bit, right? We are at a talk, so there is still a lot of logic that needs to be handled in the requisition loop. And your handler will do a lot of work. But essentially all the logic that needs to be done for communicating with Kubernetes, getting the right information, being notified in the right time that has been pulled into the framework. So you don't have to actually work so much, so hard against Kubernetes. This has been done by the SDK already. Okay, so now this is ETCD cluster. Who knows ETCD? Good, everybody knows ETCD. So this says, give me ETCD cluster and it will have three nodes and it will be version 339, right? This is the custom resource that I can apply to Kubernetes. And my ETCD operator is going to consume it and do something. And that something is here in three different steps. First, the operator is observing the state. So essentially it knows what is the state of the world, right? So I know that there is a cluster that has two nodes and those two nodes are 338 and 339. What did we specify? That we want 339, right? So what is happening here? It's already, it picked up the change already and redeployed one of the nodes because there was an upgrade, right? It's 338, 339, so we have two nodes on different levels. So it is observing the state of the cluster. It's observing the state of my definition of the resource and when there is a change, it acts somehow. So in this case, it has updated one of the nodes already to 339, one is still 338. So what's happening then? It knows there should be a version of specific happening and there should be three members of the cluster. So then it will, needs to remove one cluster because we specified, where is it? Three clusters. What's, this is wrong. My slides are wrong, but that doesn't matter, right? That doesn't matter. I probably wrote it in a wrong way. That doesn't really matter. The idea is the same. First you're observing the state. You see that something's happening or something's not happening. When you see that the change of this, if your definition changes, you need to analyze the definition. You need to check if you need to change the world to actually accommodate for the new version of the resource. And eventually, when this happens, you act.  This is called the reconciliation route. They could have told us some better name for that. So this is how all the operators work. This is what your handler does. So in your own operator, you will be writing these loops, these logics that have to analyze something because you will get the information from the observers. And then you need to act. You need to do something against the cluster to actually accommodate the changes that you have been doing. So there is a demo that actually installs the, first the operator, then it installs the cluster and then you see that the cluster is ready. Then you can use the ETC's control tool to actually do something against the cluster, right? So you have three ports and you have the operator. So we have deployed the cluster and when we delete one, one is terminating and then it's a new one running because we deleted one, the cluster knew that there should be three members so it created a new member and joined it into the cluster. So if you have just basic Kubernetes cluster and you have a replication controller, it essentially knows that if there is not enough ports with a specific label, it should create new ports, right? Everybody's familiar with that? Okay, not so many people. So essentially in Kubernetes, you have something called replication set or replication controller and it knows that there should be some containers with some specific application running at the time. When I delete one, it will just create a new one but it doesn't have any logic that is required to actually join a cluster. Like if I have a master slayer application, it doesn't know how to join MySQL or ETCD into a cluster. It just knows that it should spin up a container. So what the operator is putting on top of the basic logic in Kubernetes is it understands how these applications work. So it knows that I need to have three even I deleted one. So it will know how to join the cluster, not only how to spin up new container with my application. Okay, so there is a database over here. This is a bit more complex. So this comes from Europe, right? Everybody knows GDPR, everybody loves GDPR, right? So when I'm running my application, I have to take care of my data. So when I am creating a new operator for my database, I can take this into account. So I can create a resource that is a compliant database and that one knows that it has to be restricted to some specific space. It has to be deployed in Germany because we are in Germany, right? And it has to be backed up hourly because I have to have consistent state and GDPR so that I have to be always able to restore the data. And I can scale up and I can, something can fail my database. But this logic is very specific to your deployment. So if you write your own controllers, your own operators, they can be tweaked to specific use cases that you actually have. It doesn't have to be something generic, like running ETCD cluster. It can be like running a T-Mobile database somewhere in Germany provided for a customer that the data cannot never leave the German soil. And the operator can take all these things, these legal aspects into the consideration as well because in the operator, you can code any logic you want and you can apply it automatically just by changing these different structures. But if you change these structures, you need to teach the operator how to handle it, right? Because that's in the operator, the logic is there. So you are essentially encoding the operators or the operations logic into code, putting it on the Kubernetes and using the low-level Kubernetes features that provide resiliency, high-ability, and all these things. But you're putting your own knowledge that you have gathered through years of real work and trying to automate it, code it in, and made it repeatable. As Jorge said, what's not repeated, that slows you down. It's not automated, that slows you down. So do we actually duck-foot ourselves, like at Red Hat? Oh, yes, we do. So there will be OpenShift 4 and there's going to be new version and we will have a new installer. And how our new installer is going to work? I wanted to have a demo. It takes a bit too long because the Wi-Fi is slow and I work against AWS and it creates stuff, so I will just talk you through it. So our installer, what it does, it provisions in infrastructure. So it takes Terraform, generates a Terraform template based on some definition and applies it against cluster, right? So it can be AWS, it can be Google, it can be Azure, whatever, because Terraform supers those or it can be on-premise, but it provides the infrastructure. Then it provides a temporary Kubernetes cluster to actually, so we are able to use Kubernetes. And then we start some so-called Ignite process. So Ignite process takes this temporary Kubernetes cluster and starts deploying operators from that onto a new cluster. And everything is handled through operators. So this slide is a screenshot of a deployed OpenShift cluster. How many operators can you count? And it's not all of them, right? So if you, can you read it? Who can read it? Okay, half of the room. So just for your information, so you can read, there is a Tecdonate operator, there is a Caster ingress operator, there is a cluster samples operator. So there is an operator that deploys sample applications inside the cluster. There is an operator that handles a network logic. There is an operator that handles config injecting and et cetera, et cetera, et cetera. So essentially what happens is we deploy one operator that starts deploying other operators and those deploy other operators until you end up with like 100 operators. And essentially the whole process is like Ignite from nothing from a clean infrastructure through operators, through using this pattern. And it configures the network. So usually we have the provisional cluster so we deploy the network operator and network operator writes down to the operating system and changes things and deploys your networking operator, networking structure, et cetera, et cetera. So there is a list of those that we actually have and there is a lot of them. So it doesn't have to be just I am running my database cluster. It's like I am igniting my own cluster of Kubernetes or Open Chief, which is a distribution of Kubernetes. And I can use operators exactly for that. I can use them to bootstrap anything, to manage almost anything. And in the end what it is is I have encoded the logic to do something, operations logic into the code and I run it on Kubernetes and I containerize that and that's pretty much it. And I think that's what I was supposed to say. Can I get? So a cool part about using operators in Open Chief for the installation and bootstrapping process is not only that it will help you install, at the end of the day the object is not to have 20, 30 operators up and running, is that these operators will manage the cluster for you. Okay, so how many people run Kubernetes right now and how many people do you need in order to run Kubernetes in an effective way? Now you have the operational expertise that we have for running Kubernetes clusters built into the cluster itself. So there is an operator that knows how to deal with the networking SDN. If there is a new version of the networking SDN, if there is a patch that needs to be applied because there is a bug or vulnerability that needs to be applied, whenever the new version of the cluster will get shipped, it can, the cluster can auto heal itself and can auto install the new updated version for the networking or the similar thing for samples or for anything that is there, the HCDs, anything that you have running in cluster. So the operational requirement, the operational burden that a platform like Kubernetes has, it's simplified a lot.  No, hopefully not. Okay, but it will be simplified. They will probably be able to do some other stuff and they will get all the expertise that people creating the Kubernetes platform, Google, Red Hat, CoreOS, it's Red Hat now, IBM, Pivotal, all these guys that run Kubernetes clusters, they will provide all these operational expertise into OpenShift, into Kubernetes, into their platforms so you can rely that they will be up and running in a proper way. Like you will trust the applications that you are deploying via the operator like the databases that we talk about. So there is, after the talk, we'll tweet them, that's why you should look into our Twitter hundreds, we'll tweet the link to the slides, there is a link to the helpful, some helpful resources. These are the operator framework. The most important one is the first one, which is the GitHub operator that's framework organization and most of the stuff that we have shown today, it's hosted on that GitHub repository. There is some blogs, some information that will help you understand even more what is the operators are about. And then, coming soon, we'll have an online learning platform, we'll have some training on how to create operators which is available in learn.openshift.com. And with that, thank you all for coming. I think we have a couple of minutes for questions if you have one, otherwise you can just grab us on the holes and ask us any question. Thank you. Thank you.


So I really like the idea of Bisshoot. I'm not sure if you're familiar with it, so for the people who aren't familiar it's a sort of up-and-coming video streaming service that relies on BitTorrents. The idea of the BitTorrent to distribute the videos. Now they have their primary server so when you upload it, it goes to them and then they seed it out to others. But that means that other viewers can then seed it to more other viewers. And this, this is really nice for quite a few reasons. It's just in general more efficient on their servers, which then helps keep their operating costs down. That's an absolutely lovely thing. From from business perspective, but even from the viewer perspective, this helps a lot in areas with bad internet. Now, I know this personally is important to me because a rather sizable chunk of my viewers come from India. Not surprised by that one because we're talking about an up-and-coming industrial nation. They're not quite first world yet, but they're they're getting there and so you're seeing a tech presence. Building. So these videos are highly relevant to that area, but there are some other ones that are surprising, but definitely, I'd definitely like to help these people out. So we're talking like Algeria or Algeria was surprisingly high. It is a decent chunk from what was it? The country just above Costa Rica. It was a rather surprising amount from there as well. And at least from my understanding, the internet isn't great. Although correct me if I'm wrong there. A rather sizable amount from Pakistan and Nepal as well, which again, as I understand it, do not have great internet by any means. And so this really helps. It helps areas like that with higher viewership. Sorry, it helps areas like that with a better ability to view the video. Because you're seeding from a large amount of sources instead of just, you know, like what the way YouTube works. It's just from that single channel. It really helps out a lot. And recently BitShoot announced this, the ability to help them help them out by acting as a cryptocurrency mining node. I had a whole server going on here. Not just this machine, but a full-blown server as well. So we're gonna do this, actually change the size of that. At least for the purposes of this video. So I have not trusted this yet. So we're gonna need to do that, which is fine. I totally wind up trusting them. Obviously I want to run a considerably stricter environment on something like this, but so that's rather unsurprising as well. Have no problem with Cloudflare since they're one of the biggest CDNs in the world. It's always fun when you add the enhanced security stuff. Seeing how much stuff for any given website you actually wind up connecting to is interesting. You really want it on on a server, though. Even on some workstations in a business environment, it can be helpful for. Okay, so you're gonna see a jump just while I get my password because I obviously do not want that getting out to everybody and anybody. Okay, so now if we navigate to this, it was help us grow. So, okay, so we need to add a few more. Now I don't remember if that was a dot-com or what. Authored mine. And now we should be good. Okay, so also support jQuery. One is fine for this as well.  SiftScience. Never heard of them as a CDN before, but let's see if this starts running. Okay, so it doesn't seem to be that, or it's just really slow and has no type of progress thing.  Okay, so that's fine. And that's definitely everybody. I don't know why Microsoft blocks the about pages, but okay. So that's set up. Now, just so I give them a pretty decent chunk of the server load, but also not so much that the server can't do what I need it to do because even though I did transition this from, it used to be running Arch Linux. It's now running Windows Server 2012 R2 because I had a license for it and it wasn't being used. And for various reasons, I wanted Windows Server to actually be what the machine was running now. It still has, I'm setting this up, just Arch and Open Indiana right now, but it still has these and these will do the occasional build job, even though this is idling right now, as you can clearly see. But there's also services that are run directly on the server and aren't being run on any of the virtual machines. And so it does need some, it does need processor time and I want memory there as well. Yeah, this is the one we want. Really gotta change the color of you. So let's make you blue. I guess the one other thing, because I'm gonna need another counter actually for, I think you can do this for a specific process. What options do I have? Where's that under memory? Okay, so we're gonna pull up the task manager, because I know I can get the specifics from here. So that's not actually using up that much, which makes sense, because we're not seeing that much here either. A little bit of a spike for whatever reason, but generally this is staying pretty low, well below 5% on average. And the memory used from the specific process is not a whole lot, so we can crank this right up and see what happens now. Still not a whole lot going on. Of course, the thing is, since nothing is being shown here, and I'm pretty sure something should be shown here, it's very well possible that literally just nothing's happening at all, because maybe it's not happy about the IE protected environment. Yeah, because I'm still not seeing anything. What happens if we go over here? Start mining. Okay, so I guess what I'll do is I'll leave this running for a while, and then just come back to it just to get an idea of how much contributions I'm actually generating here. I'm not gonna be on this machine though, but yeah, ideally because I'm not maxing this server out in the majority of cases, I'm not even above 50% in the majority of cases, it's really just the builds where it suddenly skyrockets to 80-90% that I need this so I can leave something like this running on it for much of the time. Of course, I suppose the other thing is that there may be something blocked by the firewall that I would need to open up possibly depending on what ports are necessary, so we'll see. Well, as you can see, I definitely got this working. So what I'd like to do now is explain what I had to do for the folks out there like myself who are running this in quite a bit of a stricter environment, because this should work completely out of the box in the typical home environment where you have, I'm not sure exactly how this works. I'm trying to figure some of the details out with BitShoot, but I would expect in the typical home environment where you have a UPNP router that this should wind up being auto-configured for you. But I do not have that. Windows Firewall is quite strict, and that is a good thing, as long as you're willing to put up with figuring some of the stuff out. So this wound up being about an hour and a half of running the message analyzer and going through all the packets and filtering them appropriately. But what I did wind up coming up with, we've got two rules, and these are essentially going to be identical.  Now these are TCP ports. As far as I can tell, you do not need any UDP ports open for this. And the outbound rules are going to wind up actually being the same. Once all of those are open, the entire thing seems to work out just fine. And obviously you're going to want to tune these appropriately. One thing that I did do that I would also strongly recommend that you do, if you're running it in this type of environment or it's also doing other things, is go into the Task Manager on the specific tasks. I set both of these just because in a server environment you're not really using Internet Explorer or any browser for any serious purposes. So I just went in to both of the processes and set priority to low, just so that if anything I actually need development or business-wise needs to be done, it'll completely bypass the Internet Explorer process and get what I need done first. Because, you know, I'm not a bleeding heart.  I'll help out bit shoot when I can. So performance monitor-wise, I've got it tuned so that it's definitely using up the majority of it. I'm not really sure why, maybe it's just that it's not specifically processor time, like it's user time or something, but Internet Explorer is not using up basically anything, but you can clearly see CPU is doing work. And I have all of my virtual machines off. Granted, there's only two of them right now. I've got to set up my whole test lab all over again. I'm not doing any file transfers or anything else, so other than the network stuff, which I can do crapload and network stuff, and this thing doesn't even go above 5% CPU usage. So it's definitely using the majority of this. I mean the entirety of the CPU stuff. Memory usage-wise, this isn't bad at all, and that's to be expected given that hashing is overwhelmingly CPU intensive, and if the hash actually uses the GPU, GPU intensive. Performance monitor doesn't have any hooks into the GPU, so I would need to pull up another tool for the GPU usage, but I don't have one of those installed on here. Yeah, that's basically it. Then you have a working miner for BitShoot going on.


We will rock you which Arguably is maybe Like I mean I have a two-year-old that we do that kind of on our you know with stomping our foot and clapping our hands boom boom But arguably one of the first drum beats you'll ever learn obviously may well Let's say maybe it's the second drum beat you'll ever learn I think we all know the first one But what you said here is it seems that a drum beat and something else needs to be added before the piece is Considered songwriting so you're adding on that boom even then you're using the big stadium and the stomping that they're doing But it's the mixture of those things that that makes it Songwriting which then ergo songwriting is copyrightable. Well, and that's and that's a good a great point I mean, that's the question. I guess can you yeah, can you differentiate just your standard? You know four on the floor beat versus when the levy breaks well, I mean You're right at the end of the day We don't want every drum beat to be copyrighted because then your people would stop making music because they'd be worried they'd get sued And there'd be no new ideas left out there Except create except crazy, you know jazz, you know seven four second shirts beats, whatever Stuff people can't dance to you know But but it's a good question though because I would say, you know, you can't caught you can't copyright just like Gcd on the guitar, you know the but if you do that with a bunch of other chords and then sing a melody to it You can copyright it, right? It's all of a sudden it becomes Well, whatever there's so many songs. Yeah, that progression and maybe that sort of hints it or hits at the The nature of drumming. I mean like we're often, you know aside from the occasional drums solo I mean drummers are often, you know accompanying other instruments, right and So maybe that's why like Maybe it makes sense, right? Yeah, just going stomp stomp clap Like is that so I'm writing or is that like if so then like the original caveman that did that we have to track Track him down by his family Yeah, exactly who is it? It's probably John Bond. Yeah, that would be that would make an ancestor. Yeah Yeah But yeah, then we add something and even you're right In if it was like in the verse where Fred Freddy's are doing like that You know, like if you had the same beat and then a different singer, you know, obviously in doing different lyrics But with that same sort of intonation I think that'd be like, okay, this is a rip-off and Therefore that's plagiarism, but yeah, just the beat itself would not be so it's I find it so fascinating Especially it I'm not a big hip-hop guy. I'm very Not I'm not really a big pop guy I'm a rock and roller but I see I see in you know Pop and hip-hop just just rule the the music biz these days and I see that as a lawyer In those genres like there's so much ripping off of other songs and you know So I think there's gonna be more and more of these sort of questions brought up is what and then again And when it comes to the beat too is so intriguing because obviously in those two genres the beat is so important, right? So like can you take the beat from another hip-hop song and then just kind of add your own hip-hop? you know rapping over it or You know, is that is that allowed or what and I think we're gonna see more and more of those questions and more and more of those Plagiarism cases coming up. Yeah, the whole thing I just keep thinking like man It's such a sticky situation and then you don't want to you don't want to like inhibit other people from creating But I think there needs to be a clearer No one I think everything sits right for someone to like sample the Like let's say that we will rock you beat and then like that exact recording And put other music over top of it because that's just not that's really the I guess, you know Like you said earlier, that's copyrightable like that and I'm sure you know this obviously much better than me What is like so how does that work? Isn't it like a mechanical license if you want to use that? What is that kind of stuff where if you did want to use it and you wanted to pay a lot of money you can? Basically get their permission and pay for it, correct. Yeah, exactly. So it wouldn't be a mechanical like so a mechanical For example, my band covered a psycho killer by the Talking Heads We sort of did our own take on it, you know, just threw it I just thought it'd be a cool song to cover especially with like sort of an updated View on it like more of a hard rock view instead of like a Talking Heads view on it So And it became like our most listened to song on Spotify. So we sort of did it on a whim, but So for that, for example, see that that's where we got a mechanical license So you just have to go through that the process is to get a mechanical license Which basically means that when we sell that cover song on iTunes, let's say we sell it for 99 cents 9 cents goes to the writers of it, which is the Talking Heads of David Byrne and Tina Yeah, yeah, three the three men writers from Talking Heads. So so that's a mechanical But as far as a sample, I mean if you're actually sampling a song so I had this other clients release a song that had a sample of Sort of obscure Paul Simon song, which is cool because I'm a huge Paul Simon fan And so it's kind of cool the clients like I've got the song I want to sample this little loop from Paul Simon. How do I do it? So I reached out to Paul Simon's like publishing company and it's like it's called like Paul Simon publishing in New York City And I got a hold of the lady and she's like, hey, she's like super friendly and she's like, yeah And I was like chatter. I thought I was like, do you know Paul? He's she's like, yeah, he comes in every couple of weeks Just to he lives nearby and he comes in and like asked what's happening with his catalogue and stuff Which I thought was just pretty badass that, you know, she actually knew Paul and then and then we so we Basically we had to go through that process and when it comes to that, I mean you can you have to get approval So in this situation we played her and I guess in theory she played to him the sample and a Lot of times it just goes to the publisher and the publisher decides if they want to but And yeah, they ended up approving it and so then we had to negotiate a fee for that and then and then maybe on that new song if the Sample is sort of an integral part of the new song which in hip-hop I mean sometimes these samples are so they're a huge part of this the new song then you negotiate How much songwriting goes to in this case Paul Simon? Yeah, right? So so then all of a sudden you're like you know, I think of all these These new songs that like are using old old tracks, you know an old songwriting It's such a it's such a windfall for these old artists, right? If they've you know if that Paul Simon song became a massive or the new one became a massive hit Then all of a sudden he just gets this windfall of money which without having to do anything, right? Yeah Pretty nice. So yeah, so yeah, so that's how that work in terms of like a sort of a sample situation


It can seem to be a little more subtle to think of autonomy as specialness.  But autonomy, there's a part, there's a line in the Course in Miracles where Jesus says, your autonomy is the autonomy of creation. So he's like lifting autonomy, the word, from everything that we consider what we know about autonomy is in this world and just equating it with creation. I guess the only way you could make any sense of it or get any kind of feel for it is that God creates and creation is extension and then in the extension the creative ability is extended as well. So who you are as a spiritual being involves creation and creativity. Creativity and creation that you receive from God and that you extend and create yourself, not in form but you create as a perfect being and then the Course refers to creations that we have creations. They're spiritual creations. So it's like in a line of creativity, spirit creates, spirit creates, spirit. Just like in the Bible, the Old Testament was the begat in terms of families, begat, begat, begat. Create, create, create. And that's what Jesus calls true autonomy. But what goes for autonomy in this world is independence. And it's still the personal self seeming to have a will of its own to be independent to not need anything or anyone. And it's epitomized in the Frank Sinatra song, My Way. That's an autonomy song. Yes, there were times I'm sure you knew when I bit off more than I could chew. But through it all, when there was death, I ate it up and spit it out. I mean, it's really kind of this false sense of autonomy and it's rare that that is seen as a specialist. But what we were talking about in the small group, Noel and I were talking, is that how you get to a certain point in spirituality where you start to realize this, this I am, this is so vast and it's not personal. And so even when you follow the path to become self-reliant, like I will not rely on anybody else. I will rely on myself. This self is the smaller self. It's taking care of oneself. And this is just a sense of pride, really. It's just another form of the self-concept that has I with it as a person or a personality. So I think I forget how you were talking about it today. You were talking about it trying to do this. I am this with a vertical sense, but still a very personal sense. To the I am-ness, are there any qualities that can be associated with it? What I'm getting at is in my experience of some kind of temporary waking up, there was wonderment, curiosity, joy. I mean, those I consider qualities. And is that still in the ego realm? I mean, it seems like it would be. I mean, is it just, does spirit have, I mean, qualities implies there's an individual to have the qualities, I guess. Is there any of that going on? Well, I think you could say that the realm of the I am-ness, you could say that there's qualities like a sense of eternity. That sense of wonderment is a sense of really openness, but not knowing anything about anything. And that's the quality of this presence. The curiosity is something that I think is like an opening kind of state of mind towards something much more profound. So in the actual state of being-ness there's no sense of curiosity, because curiosity implies a bit of a question. But it's actually more of a helpful step in the sense that there's a curiosity and an openness of not thinking that something's already known and willingness to be shown that's part of the curiosity. So I think that's more of one of those lead-in kind of states of mind, not the actual state of mind. A sense of contentment, peace, you know, talking about joy. Childlike quality is what I experienced. A giant baby. And when you find that childlike quality of children are very much dependent on their parents for everything. They don't have that sense of autonomy we were just talking about. That starts to develop, that's the ego developing, and I can take care of myself. I can tie my own shoes, I don't need to hold a hand, I don't need training wheels for the bike anymore. Childlike quality is, yeah, when Jesus said, except you become as little children you cannot enter the kingdom of heaven, he was talking about that sense of dependence on a parent or a source, not so much an earth parent or dependent on the form, but dependent on the spirit for everything. And that's what washes away, that's the very thing that washes away that sense of autonomy. That I can do it on my own, I don't need anybody else's help. So it's like a meter, if one side of the meter was this kind of codependent sense of, you know, I need you, I need you, I need you in a personal sense, and the other side is I don't need anybody. I can do it all on my own. Neither of those are the state that is really given by God. It's more kind of in the middle, the middle road there, which is a state of trust and of being taken care of completely. And so that's where it takes a lot of lessons to be washed free of that sense of autonomy. Because as long as there's any sense of autonomous control, then there will still be a bit of defensiveness, a bit of harshness, a bit of control coming in there.  It's still a bit of push and pull that goes on with that. And there's many, many praises for being autonomous in this world, depending on the culture. I mean certain cultures, you know, don't value it as much, but many, we'll say western cultures value that sense of autonomy. Your own making the living for yourself, saving money, spending money, personal development, you know, it's like a strong sense that you can actually be somebody. And through that you can be somebody or something that's important. I remember watching, when I was watching the Star Trek episodes and everything, when I was watching, they were putting out the Star Trek movies, and they had one with Patrick Stewart there. And it came out when it was, you know, the enemy had shifted from the Klingons to the different enemies and this and this, but then came the Borg. Borg were like the collective that were assimilating the individuals. So it was like, that was a Star Trek movie playing out this individual versus the collective. And then we could say, if you go much deeper, you start to see that the individual is an illusion and the collective is an illusion. So it's like Jesus said, truth does not fight against illusion, nor do illusions fight against the truth. Illusions battle only with themselves. And from that definition you would see that that sense of individuality and autonomy will have to be given up just as much as this idea of a collective group identity. And in the end that's where, you know, when people have a little bit of hesitation and trepidation around spiritual communities, the uneasiness that's playing out inside is still this individual versus the group. Oh, if I merge with this spiritual community then what individual rights will I have? And what are the group principles and what are the group rules and what are the group values? And there's always going to be a little bit of trepidation about this because they're both illusions, the individual and the collective. There really are no such thing as individual rights and there are no such thing as group values. Those are just constructs, more constructs in the mind that have to be completely released. As you're emptying the mind of everything, it literally means everything including this concept around groups. So, you know, in one sense you could just say that any experience that you have wherever you go is just an opportunity to free the mind from these limiting concepts. And the only concept that is not limiting is forgiveness. We'll say that's the top of the line. When you can reach that concept, that's the concept that you can embrace because it is shared with you by the Holy Spirit. It's the only concept that can be shared and is meant to be shared. Forgiveness was a shared concept. Every other concept was meant to be possessed and protected. Every other concept also has a sense of uniqueness with it or a sense of specialness or a sense of specific. Whereas forgiveness is like a giant blanket that just covers the mind with peace. And that's why it's shared. It's a shared experience of peace. And it will make way for that which is beyond concepts. But as long as we're going through this mind training, we should know that that's the curriculum is attaining or embracing that concept, that whole inclusive concept. And it's a God dependency that literally you might say, So it's going beyond the do I believe in God or not believe in God. But if you're coming into an experience, it's very, very loving. And you feel very, very, very taken care of. And it's like, wow, to be able to relax. And I think there's a quality of that even in childhood that we've enjoyed being taken care of. But there was a dependency in the sense of the form with the physical metaphor only goes so far. Taking care of, taking care of, and then whatever the parents are killed in an automobile crash. And then it turns into a tragedy instead of everything being perfectly cared for. But with God, there's no sense of a threat that something could go wrong. And it's during the break, that's something that Noel and I were talking about. It's like this feeling of a dependency in something that's so sure, so certain, so strong that it's risk free. That there's no risk that could enter into it.