We are talking about burns on at the health center in Sijuwe. Did you mean him hot? No, I'm not serious, no. I tried for Facebook, I tried for channel on Twitter. Hashtag is white in the morning. It's a beautiful Monday, a little bit cold. That's newsawa. We got you. We are the latest breakfast show around. My name is Valentine or at Kala Miva. Valanapinaga colors. And today we have a very handsome fire fighter to tell us about today. How to take care of ourselves if perhaps we suffer burns or scalds. And there's a difference. Hi, how are you? I'm fine, thank you. What is your good name? Yes, my name is John Muli. Muli is a firefighter and also an emergency medical technician from ICT Fire and Rescue. Yes, I'm licensed by the Kenya Council of Emergency Medical Technicians. And I'm glad to be on the show today. I was hoping it would come with your firefighter uniform. Kaka pawa, matungeski ajo tu. Okay, I'm used to the heat anyway. But maybe next time we can... Okay, we have to make a promise on it.  Yes. It's binding. You have to. This is a long time since I did that. Let's talk about what is a burn and what is a scald. What's the difference? A burn is when your body tissues are damaged as a result of exposure to excess heat. It may be from flame or if you touch a hot object. Now a scald, on the other hand, these are basically... You can say it's as a result of when you get burned by liquids or steam. Maybe water, some more to milk. So basically that's the difference. One is from dry and the other one is from wet heat. Yes. I have a story. My childhood was filled with very many adventures. Among them, some mongo many tumas, kumweke. I think they formed a jumoto. So I got the kitchen. I'm very small at the time because I was very young. So I have to climb a stool to get to the counter. Kabla nichuwe tamo. The cup is here and I missed, obviously, I missed alafu, ni kumwagamaji, chini. So everything is slippery and then I fell after magiliyamaji moto. Alafu san miyangu kiaivi. So it's just a mess. So after my skin, nichuwe mekatongo, my skin was, Namiwa wa niha kwenjia kwenjia, kwenjia kwenjia kwenjia So, bans are very dynamic, kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia kwenjia We can describe them in terms of classification by their severity and depth So we have measured 3 in severity by depth We say the first one is the first degree. The first degree bun basically is your skin has two layers and then an underlying tissue. So a first degree bun is when you get burned and only the top layer of your skin is affected. That's basically from maybe if you briefly touch a hot object or from not so hot source of it. We will get a first degree bun and then with that you might not need to even see a doctor. It might heal with time. We will talk about how we manage it anyway. Then we have a second degree bun. A second degree bun is when both layers of your skin that is the epidermis and the dermis are affected. You get to see blisters now are very red skin maybe that is what you might have got. Then we have a third degree bun. A third degree bun is now more severe because both the layers of the skin that's the epidermis and the dermis. And also the underlying tissues are affected. And with the third degree bun sometimes the nerves might be affected and you might not even feel pain after the bun. And that's one of the severe bun. That sounds very scary. It's not that beautiful. So I read somewhere that children are more prone to get first degree bun. I don't know maybe it's because of curiosity. I don't know if it's because of curiosity. I don't know if it's because of curiosity. How to manage that that they just keep touching things over the place? Yes children by nature they are so curious. They touch everything and even put hot stuff in their mouths and all that. So to manage that one make sure that all the if you have any fire point or anywhere you expect that you'll be using a fire. Make sure that children don't go to that point. Also make sure that you keep away the kids while you're cooking. And don't let them be around fires that's in the kitchen and all that. Also before if you need to wash your kid make sure that you test the water temperature. Yes and for the kids who love the shower you know the bathing so much. Don't take the kid close to the water without first making sure that it's in the right temperature because most of them will you just put your hot water and they jump into the basin. Yes. So they'll be over excited and they just jump into the basin. And that can prove to be quite fatal. Katastrofi kive. Okay so let's just get down to for examples. A baby. Okay maybe. If you don't keep looking at it you don't know where it has gone. So let's say for example by mistake. Now the kid is crying. What do I do? How do I fix the burn? So yes your kid is burned and she's in America. Yes the best thing you can do is first of all be calm. I know that is very hard for mothers. That is the worst thing you can do. That is the worst thing you can do. Okay so one you need to pick the child. Make sure that they are out of danger first. That is if they are around the source of heat. Make sure that you take them away. And then depending on what has burned them because we have several causes of burns. You know how to address them. For instance some of the causes of the burns we can get a burn from what we call dry heat. That is from an open flame or touching out surfaces like this furia. Also we can get burns from chemicals, corrosive chemicals or strong alkalis. Electrical burns are also there. So we can get radiation, sunburns and all that. So we can get burns from quite several stuff. So on management one we need to come down to what has caused the burn. So if it's a burn from either dry heat or maybe the child has burned water. What you need to do is first of all run the burn area in the water for around 10 minutes. When you bring your body to a hot surface what your body will do is absorb the heat. So if your body absorbs the heat it means even if you take away the heat source you still be burning the heat.  But what we do we just dip it and then after several seconds maybe 10 seconds we take the finger out and again you feel some heat in pain. Yes that's because your body has already absorbed the heat. So what you need to do is insert your burning from inside. So you need to stop the burning process. Yes that is when you are dealing with dry and also the skulls we are talking about. Again if we are talking about electrical burns which happen a lot especially in homes if we don't take care of our electrical appliances so well. I have a question. Yes. Me na jwa burn si na imajin moto as in moto. Ya. Either steam or fire. No. Electrical burns si ni shok. Buna ni pima? Ume se ma shok eh? You see shok eh? Shok? Nijin na mbo trawangarelea badae because shok means totally something different. So if you basically touch an active electrical maybe a cable or a live cable or something the current will flow through you. Usually you will get electrocuted and with that you will get some burns. You will have some wounds even. Yes you will have an entry and an exit wound. So you will have an entry wound. Kwa ni bo let? Sambino daswa. An entry wound will be from where you touch the electrical plants or the cable and then you will have an exit probably where your body touches the ground. Because the current is ok. Yes the current will flow through you. So basically with that one you need to be if you are to assist you need to be very careful. Because if the person who has been electrocuted sorry is still in contact with the live electrical cable or something like that.  Ok ni muna kwa moving. So if you touch something that doesn't pass current kamba or evi then it will flow through you. You impressed. What I encourage people to do basically is if possible try to eliminate the current. Basically isolate the current from that area. So if for instance we have maybe it's a cable or we can just try to switch off the power. That is a very basic thing if you are able to from the switch. And with that you actually get to remove the danger. So now with electrical burns one of the things which we need to be aware of is that if you get electrocuted. There are chances that the electricity might interfere with your heart rhythm. The first thing I thought of was brain actually. So heart. Yes your heart has a rhythm because the pumping rhythm. That rhythm is as a result of we have some like a powerhouse in our hearts. We have a power point, a fiery point in our heart where it raises some electrical impulses. So if you get electrocuted you can interfere with that. Let's call it an electrical impulse system of our hearts. And now put upon issues in the rhythm you can even go into cardiac arrest. And your heart stops. So yes burns are that serious sometimes. Yes. So if your heart stops now we actually don't even worry about the exit and the rest. Because we have bigger problems at hand. Yes, yes, yes. So again if your burns is a result of maybe chemicals. One if the chemical exposure you need to make sure that you don't. If the rescue or let me call you the rescue if you are the one who is going to assist. You need to make sure that you don't expose yourself. Okay that is one. And we say avoid affecting and affected areas in short. For instance if the chemical is on my right hand make sure that I don't contaminate my left hand.  Then now you can run in water. Then if it's a liquid you need to run it in water. Seviya cases are whereby chemical burns our eyes are involved.  Yes and you go doing like this. Now you bring more trouble. So what you are supposed to do if you have maybe one of your eyes. You need to run it in water for 15 to 20 minutes. This is assuming we have running water. Yes you have running water here. Now if you are not near water source. Because it's a reality. Yes it's a reality. But it's not fortunate because I cannot tell you you get anything else apart from water. Because you might put something else in the iron. Whatever you put in the iron the chemical will start to react. Ajambia maziva. Okay yes.  The reaction might also produce heat. And now you have damage. Now what we say about chemical burns. The don'ts are. The first thing is atatamolifanya chemistry. Never try to neutralize that chemical while it's still on the body. Because we can have a reaction. You remember the exothermic. On my body. Yes we have a reaction. That's again more serious. I'd be freaking out. If you try to fix it then suddenly it's effervescent. But I want me to pay ma because at some point. Patanili soma kitambo. I had niki soma. Niki fangaisi ma chemistry chemistry. I transitioned between iyo pipetia. So iyo ilini pata. Kabula wakwe wa janja watu lete a waka kiitu e. Why are you trying to play with our lives? You see dangerous? Yes it's dangerous. Of course if you get to see the chemical it becomes dangerous. But I'm sure people from the lab are trained on how to handle those exposures. Because there are dangers which are reality in the labs. And they can happen. The best way we can do it is first of all address how to manage them. At least have someone around the lab. That's whoever is in charge of that lab. Should be knowing what to do in case of that. So nika kwa na lifeguard kwa swimming pool. So wakwe twa postan by kwa lab. Okay let's get to now something very important. Kwa muntua ki chomeka the immediate thing na waka fanya niki kwa vaslin. But in my head see it's not kutua joto. But you need to make us in a nika in a silly or joto sandani vizuri sandutu chemka. Is that something we should be doing? I can call it uganga. Yes people do quite a lot in terms of what they think is helping. What one aka unga. One aka kolgate. Yes if you apply unga the first few minutes you'll feel some good relief. Because the unga will be absorbing the heat from your body. But again after some while that unga becomes like a chakona. Because it has the heat now it will be burning you also. If you apply unga you are causing more damage. Because if you go to the hospital with your wound and you've applied unga. To make sure that there is no infection they need to clean the wound. So they like scrape the unga out. So that's more of a torture. So don't torture the band victims. Yes don't torture them. Water is allowed. Just water let's start with. Is it water is the only remedy that we should start with? We usually have band creams. But you know water is the most available thing I can talk about. But if you have a band cream yes you can apply a band cream. Is it something we can get over the counter? Ah yes the band creams. Is there certain types of creams that you recommend? Don't give me brands. We can't mention about giving me brands. We can just talk about band creams which have antibacterial properties. Yes they are good for the bands. And also we have creams which are able to cool the area. So those are actually good for bands.  Yes. And you have to stop, drop and roll. That's the basic stuff. So for example I am around somewhere that has caught fire. I am a motor to in itokia. What's the first thing? Am I going to run? Kujeri. Kujeri. I am going to start looking for water myself and be a hero. What is the protocol? You know anyway we can talk of stop, drop and roll.  It keeps on changing. So we can start from maybe how to navigate through smoke. Yes what to do if you are in a room. And you are sure that outside that room there is a lot of fire.  Yes what you can do. So for instance if you are in a room and there is a lot of smoke. One, the first thing is one go down. Yes make sure that you are below your knee level. Yes whenever we have smoke, smoke will rise around 60 centimeters of the floor. Leave it some fresh air. Yes so you want to go down so that you can breathe. While you are down breathe through your nose. Not through your mouth. Yes so breathe through your nose. Yes again, peak calm. Peak calm if you know. Man say apu kwa kum ning trik se. Niki to trik is anak. But try being calm so that you can think. You know if you are anxious and all that you will not be thinking. You might do something crazy. That's why you see people jumping out of roofs and windows and all that. So try being calm. Go down. Now the major issue is if this happens at night. There is an issue with visibility. Again the smoke itself will come along some good moment of darkness. Yes if you can measure it. So what I can advise is just go close to a wall. And follow the wall. Regardless of how many meters will go. All will lead you there to your door. It's true. Now another case is for instance if you are in your bedroom. You are sleeping. Then you wake up and feel a lot of heat. Some smoke is coming through to the bedroom. And it's very evident that we have fire maybe in your living room. How do you go about that? Again matters a lot. So people have seen movies where people run through the fire. Yes. Then carries you majestically out. Now what you supposed to do is first. The best thing you can do is buy time. Yes for yourself. You are in the bedroom. It's a bit safer. You just shelter yourself where you are. Make sure that you are in. Now what you need to do one. Pick a piece of cloth. Preferably something white. Fix it on the gap below the door. That is to actually stop the smoke from coming in. Then don't open the door to you living room. Yes. Now you need to call for help from there. You can either use a phone call or wave through the windows and shortfall from the windows and all that. Yes but don't run through the fire. Yes that's very dangerous. Don't run through the fire.  You catch fire. So you need to remember that you are in the bedroom. No matrix type of.  The heat itself. We love so much in terms of smoke. So you need to imagine that you are in the bedroom. Yes. In the bedroom there is something like liquid. So what do I do if I am inside such a situation? Now inside the bedroom house one you can say it's a bit easier to escape from that. For instance if your region which is unaffected I believe it's easy to cut through on my body. You can even use a knife. Yes. Because a body itself doesn't resist so much in terms of heat. So you'll be like boiling in there.  You run through the fire. You cannot run without breathing. You breathe there is a lot of smoke. So you just... I did not imagine that possibility. Yes. Inhale the smoke and collapse. Okay. I want us to talk about something. And I don't mean any offence. But the response time for calling for emergency services in Kenya is a bit questionable. It doesn't arrive as fast as I imagine it should. So how many times do you think it's like a yearly thing? So what am I supposed to do as a person? How am I supposed to help myself and those around me before help comes around? Okay. The issue of fire engine is not arriving in time and all that. It's... It's not your fault. Okay. No. It's really not your fault. Sometimes we get the blame while in real sense it's not our fault because sometimes like for instance if you just go around town and you ask people to have emergency numbers they'll be like... you'll only get around 3 in every 100 people. So what happens? Your house will be burning. You don't have an emergency number to call. So by that time we get someone who has an emergency number to call. Maybe that's over 30 minutes down the line.  It just spreads. Yes, spreads very fast. We have received the emergency call around 30 minutes after the fire started. And you have the situation in our roots. There is a lot of traffic jam and all that. Most of Kenyan drivers don't give way to these ambulances and fires. So you don't have to pay for it? Yes. Yes, we do.  Now, by that time we get an incident. It's maybe an hour late. And we get the blame. Now if for instance if Kenyans had maybe something like a hot number to dial something like... You see, keyword reliable. Yes. Could be a bit better. Response could be a bit better. Because for instance if you need to call let's talk of Nairobi county fire brigade. What number do you use? All I know by the way is TP-9. That is all I know. And if you need to get a number to call you can do it. That's a challenge by itself. So we need to adopt a system whereby we can have a reliable hot number system. And also as of now we need to have the numbers in our phones. People have smartphones which can accommodate of several thousands of contacts. Yes, just save a few for emergency ambulances and fire tracks and also maybe police. Yes, it won't cost anything. Ladies and gentlemen please do take out your devices. I don't care how big or small but we're going to take these numbers down because they might just save our life. Give us the emergency numbers that we need to know. Yes, I can give you one reliable number which happens to be a link between not all but most of the ambulances in the country works like more of an Uber. You call them they'll basically see an ambulance which is closer to you that particular ambulance. Yes, so the number is 07 14 911 One more time. 0714 911 911 Was that kusuil kukusu diyo? Yes, and again it's a bit easy. So with that number that's flare rescue If you call that number they'll just dispatch an ambulance which is closer to your area and their appropriate ambulance we have different types of ambulances. An ambulance which suits you need. So that's what they do. That sounds cool. That means if I call that number to sometimes customer care is not very caring to the customer. So Nanzak Bishanam Hi, I need help. Are we going to start those ones? No but this is what I'll say about that. Those guys will ask several questions in order to help you because for instance you cannot call and say and start screaming and say I need an ambulance Kwa za uliye? Uliye and then you expect the ambulance to be there they need to know your location. Maybe that is possible but how many people live their location on all the time most of us don't. So if they ask you questions there will be few questions and they answer them. They need to know who they are talking to. They need to know what emergency crisis you are facing because they need to know what type of an ambulance or a fine engine they need to send and also location they cannot send an ambulance somewhere. The system doesn't work like teleporting so you just call and they have glass at the end so they need to actually understand your location so that they get to dispatch an ambulance to your location. So that's a very reliable number. I want us to recap as we conclude we'll finish off with the number but now just the basic things what we should do with burns or scouts that we can manage at home when we need to realize we need to see a doctor for help. So we've talked about how to manage the burns but generally we say the first thing you want to do is to eliminate the heat source again stop the burning process if you have an wound you might want to cover it make sure that you clean it so that you don't get infection but if you get anything more than 4 inches you might need to see a doctor also for those who break the blisters after the burn kindly don't break the blister because that's another channel for infection basically the blister is formed it's a body's way of trying to protect the underlying tissue but if the blister breaks now you need to clean it with warm water yes you might need to actually make sure that if you don't get more infection you need to protect it from infection we can talk of having something to cover and buy something which will not stick on the wound because that stick stick with the skin maybe if you do something which has a cotton or so might stuck on the wound and you love to remove it so much fun not fun actually because what you do if the wound has started healing and you have to remove those things it means that you just need to redo them again but above all we can talk of prevention so make sure that you don't leave unattended cooking quotes make sure that you do some good trunking electrical appliances avoid overloading the circuits and all that and also for those who smoke don't smoke well you can you can doze off and drop the procedure in your mattress to be very careful in that again kids they are the small masters of everything they actually do almost everything and they don't know how to do so make sure that one you don't let kids be around hot stuff and fires and our kwa chanini kiva kwa chaniki lei food kwa kwa duka na kama that's also dangerous so don't leave unattended cooking quotes that's very dangerous and now we finish off with him number he said it's reliable what's the number again please the number is 07 14 911 911 did you forget I have several numbers so I was thinking of also giving out to my agencies for those who are in and around tika ICT find rescue you are located somewhere along Garissa Road actually we are a response company we offer emergency response 24 hours and we also a school which trains on fire fighting and also emergency medical transmission courses and we have you two contact us for emergency reasons the number is 07 2233 7776 again 07 2233 7776 okay again for rescue flare rescue 0714 911 911 I also invite people to I said I'm registered under the Kenya Council of Emergency Medical Technicians so we'll be having fire and emergency medical service symposium wow from the 18th to 23rd but Kenya Airports Authority training school so you can join us and get more of this awareness the theme of the symposium will be fire fighter recognition awareness fire prevention and also recognizing emergency medical technicians and what they are supposed to do our normal days to day life so you can join us okay let me take that as a compliment you guys thank you so very much we have learned something I hope you have learned something but if you have just joined us you can watch the segment again on YouTube that is at white254 channel at white54 channel Facebook, Instagram, Twitter and YouTube as well thank you again can I say something you talked of shock the reason why I said we'll talk about shock later on when you say someone is in shock someone is in shock basically we don't really mean the electric thing yes that is electric so shock is whenever we have inadequate in terms of blood supply yes we don't have adequate blood supply now on when to see a doctor one of the cases if you have lost so much in terms of body fluids you have those signs of shock you'll see someone is pale dropped levels of consciousness as you need to see a doctor we talked of anything more than for any wound more than abandoned more than 4 inches you need to see a doctor also and whenever you see maybe you have an infection from a band you need to see a doctor so shock what we want to say we want to remind you that shock is inadequate in terms of blood supply so electrocution take care of that make sure that cables and extensions are not placed on the ground because water will just basically and you will have a different scenario yes surprise but you are full of surprise anything that you really want to say you want to say you want to say yes i will finish off because we talked of how to navigate through smoke and everything but we didn't talk of if you catch fire so if you are on fire if you catch fire we say you need to stop don't run because if you run you have been on a motorbike whenever kwa kwa ndudi kwa kwa ndudi una skia ni kama una kwa kwa kwa kwa kwa kwa kwa so whenever you run you are basically fanning the fire so it will go kwa kwa then we say so stop don't run drop down and then draw but remember don't drop a piece of or a stone best thing you can talk about dropping just cover your face well yes you need to cover your face well because if you get burns you can call it airway through the nose to the lungs that's quite serious because we love issues within a new year so we say that cover your face make sure that your arms pass through by the chest so that if anything has to come to your chest it has to pass through the arms because they are quite hard and they are quite a lot of white organs you just have it and then now you can draw okay yes you can stop then drop you are cutting the oxygen supply and don't if you take in a self completely cover your face yes completely cover your face so that you prevent the chances of hearing not fumes I believe that is all for now maybe you can invite us another time for more in uniform we can also come with a few more guys yeah in the letter we will for the viewers they cannot see we will come with it so I will just come with several guys I can do with that thank you again thank you for being with us on the segment K. Alex is coming up you do not want to miss it


Welcome back to our lecture series math 4220 abstract algebra one for students at Southern Utah University as usual I'll be your professor today. Dr. Andrew Missaldein In lecture 29 here. We're actually gonna talk about one Surprisingly one of my favorite subjects in group theory the idea of the Frobenius product That is the product of sets And so let me kind of explain what I mean by that So we have been talking in this series mostly about groups so far, right? And because it's a group we have some operation which we'll call it multiplication on Elements inside of that group. So if we have elements g and h inside of g We know that g times h will be an element and g of g and this binary operation of elements Will be associative with identity with inverses in the Abelian case. It's commutative We can talk about these talk about these properties of the binary operation on the elements of the set What we want to do today in this lecture is kind of Broaden the broad in the base a little bit that in addition to multiplication of elements, we also want to talk about the multiplication of sets Inside of a group. So take two subsets h and k inside of g now. These are genuine subsets I make no statement that these are cosets or subgroups or there's not necessarily any structure to these sets These are just subsets of g. So these are collection of elements of things who belong These sets belong inside of a group. That's all we're assuming right now And so then we can define the product of the subsets h and k here in the following way We define a new set. So be aware here that if we take a set h and we combined it with this set K, we're gonna produce Some new set hk, which will be a subset of G, right? And so what exactly does that element look like here the set hk will look like the all the possible Products of little h times little k where little h is an arbitrary element of capital H and little k is an arbitrary element of capital K that is we look for every possible combination of products between the elements of h and the elements of k and now this right here will naturally be a subset of g like I was saying earlier since h is in is in g since h is a subset and since k is a Element of g then their product will be in g because we're in a group. So this set makes sense It's a subset of g And so we want to talk about these type of products of sets This is often referred to in the literature as the forbenius product of sets If you want to try to like look it up on Wikipedia or something And I want you to be aware that in the in our previous discussions about cosets This is actually a special case of what we're talking about right now that when you talk about the coset g h That's the left coset. Well g h is really just multiplying the singleton g by the set h Which happens to be a subgroup and so what we're trying to do is broaden the base that in addition to products of elements and in addition to cosets Which are again very important subsets of a group here We can talk about general products and so we can talk about the product of two cosets and things like that Now some things that become immediately clear when we talk about Multiplying sets together is that as the multiplication of sets is defined element wise and g this multiplication will likewise be Associative so if you have say like three sets you have like h k and l it doesn't matter how we do the parentheses It'll automatically be Associative this forbenius product because element wise it is h k little l here Is the same thing as h k little l right because it's associate element wise It'll inherit this associativity on the sets same thing that if if of course the group is like say a billion then Multiplication will be element wise commutative. That'll also imply that subset wise It'll be a cumulative operation as well Now what we of course can see and we'll see some examples of this is that? The sets could potentially commute even though individual elements might not commute. We'll see that in a little bit So let's take as some examples here Let's take the dihedral group d4 and let's take two subs two subsets We're gonna take the cyclic subgroup generated by s the reflection across the x-axis And we're gonna take the cyclic subgroup generated by rs where r of course is a 90 degree rotation there When it comes to this forbenius product the subsets do not have to be subgroups Although those are subsets of particular importance So if we wanted to compute the set h k what that means is we're gonna take the product of The set h which has a subgroup. It's just one and s and we're gonna take the product with the set k Which again as a subset this is actually a subgroup So it's gonna be one and rs So we look at all the possible combinations here So it's kind of like we foil this out a little bit We have to take the product of the identity first. We take the identity in rs outside We take the product of s and one Inside and then we take the product of s and rs last so again, it's kind of like the foil method right here You're gonna get one times one You're gonna get one times rs. You're gonna get s times one and you're gonna take s times rs Now you have to be very careful in the order here because d4 is a non-abelian group The order of multiplication does matter now with the identity It doesn't make much of a difference one times one of course is one one times anything is just that that that thing right there One times rs is rs s times one is s and then you're gonna see that s times rs when you get there remember when it comes to the dihedral group if you need a if you need to commute a Rotation with the reflection s you take the inverse of r. So you're gonna end up with right here You're gonna end up with our inverse s squared now as we're in d4 Our inverse is actually the same thing as r3. So we're gonna put that in normal form right there and s squared is the identity So so h times k is equal to one rs s and r cubed Okay, on the other hand if you take I'll do a different color on this one if you take k h You reverse the order of these things. So we're gonna take one rs And then times that by one s Well again looking at all the possible combinations you get one times one you get one times s You get rs times one and then you're gonna get rs times s For which one times one is the identity one times s is s rs times s is rs So so far, you know, these are the same thing in a different order But the order of a set doesn't actually matter here the final element though Of course, you're gonna get rs squared, which is just an r in that situation So notice that these two sets are not equal to each other Uh hk is not equal to kh Which isn't too surprising right because the multiplication of elements is non-commutative Multiplication of sets might also be non-commutative right it doesn't commute because the elements didn't commute Notice how s rs is not the same thing as rs times s and so that gave us a different product of sets there It should also be mentioned that even if h and k In this case are subgroups the subset hk is not necessarily a subgroup right? I mean if you look at this right here, this isn't a subgroup for example r doesn't have its inverse Which is r cubed on the other hand this one right here is missing its inverse, which is r So that is that's a realistic possibility the product of two subgroups is not necessarily a subgroup But all we're saying right now is the product of sets is going to be a set inside of the group Let's do another example. Let's look at the quaternion group right here on eight elements Let's take the set ijk and let's take the We'll call that h and we'll also take the set of their inverses negative i negative j negative k Notice these are not subgroups. Um, they're just they're just you know, they're just Uh, they're subsets. Um, if we take their product what we want is we want the product of i j and k With negative i negative j and negative k Like so looking at the possible combinations.  And so then rewriting this thing, I mean, you'll notice that the identity showed up three times, which as this is a subset, the multiplicity doesn't really matter, right? So we just list, we're just gonna list it once. Then when you look at everyone else, you'll see you end up with an i and a negative i, you end up with a j and a negative j, and then you end up with a k and a negative k. Negative one doesn't show up anywhere.  This right here is just the quaternion group, take away negative one. That's the only thing that's missing in this consideration right here. I want you to convince yourself that if we go the other way around, if we take k, h, right? So now you're gonna get negative i, negative j, negative k, and you times that by i, j and k. You end up with all of these same elements, right? Let's convince ourselves of that. You're gonna get negative i times i, which is one. Negative i times j is negative k. Negative i times k is positive j.    And then lastly, you get negative k times i, which is a negative j.  And so you'll notice when you compare these things, right? Well, the identity showed up three times again, which admittedly, for the set, the multiplicity doesn't matter, so we get the identity. And then let's say we have an i and a negative i. They showed up each one time. You get a j and a negative j. They showed up each one time as well. And then you get k and negative k, right there. And so everyone showed up except for negative one again. So in particular, we see that kh is equal to hk. So in this example, it's even possible that a product of subsets could be, that even in an onabillion group, right? It's still possible that product of two subsets can commute. So h and k actually equals kh. The sets commute even though the elements didn't. That's an important thing to realize when we talk about this Frobenius product. Let's do one more example here. Let's look inside of the symmetric group S3, and let's take the subgroups, h equals one, one, two, three, one, three, two. That's the cyclic subgroup generated by, of course, one, two, three. It's also, so happens to be the alternating group A3, right? We don't need that observation though. And then k here is gonna be the set one and then one, two. This likewise is a subgroup. It's the cyclic subgroup generated by one, two. So we have a cyclic subgroup Z3 and a cyclic subgroup Z2 in play right now, okay? So let's consider their product. Let's take h times k right here. So if you look at all the possible products, one, one, two, three, one, three, two. We times that by one and one, two, okay? So in this situation, if you distribute, of course, the one, that's pretty easy. You get one times one, which is the identity, one times one, two, which will be one, two. Next, you're gonna go one, two, three times the identity, which is one, two, three, all right? This one takes a little bit more effort, right? So think about this one right here. We have one, two, three times one, two, right? So one goes to two, two goes to three. So we see that one goes to three. Now we're gonna see that three goes to one. So we're gonna bring that thing off. And then as this is a permutation, two would have to go to two. So that's gonna be that element right there. Then the next one, we're gonna take one, two, three times the identity, what I say, one, three, two times the identity. And then the last one, we have to take one, three, two times one, two. And you see what happens here is one goes to two, two goes to one, so one's fixed, okay? Two goes to one, what did I say there? So one goes to two, two goes to one, so one is fixed, right? Two goes to one, one goes to three. And so what we see here is the last element is gonna be two, three. You'll notice that, hey, we actually got every single element of the group. In this situation, it's even possible that the product of subgroups can in fact equal every element of the group, right? The whole group when you multiply these two sets together. And what you're gonna see is if I go the other direction that these two sets in fact commute, even though it doesn't happen element-wise. And again, we're gonna get the whole group. Let's convince ourselves of this. So you get one times the identity, one times one, that's a one. You're gonna get one times, that's a one, two, three there, what did I write down? Try that again, one, two, three, and one, three, two. When you take one times this, you'll get, of course, the permutation one, two, three. And then likewise, when you take one times the last element, you end up with one, three, two, that's pretty easy. If you take one, two times the identity, you'll get one, two. And then so we have to do one, two times one, two, three, right, what happens here? Notice one goes to two, two goes to one, so one is fixed. You're gonna see that two goes to three and then three will go to two as well. So we end up with two, three. And then the last possible product, one, two times one, three, two, you'll see one goes to three, and then three goes to two, but two goes to one, so three goes back to one, and so two has to be fixed as we only have three elements. And so yeah, we got the whole group again. These two sets, these two subgroups in fact, commute with each other. And so this gives you a variety of the type of products one gets when you start multiplying various sets together. And I hope this gives you a good feel that even in an on abelian setting, the sets can commute, even though it doesn't commute element-wise, subgroups can actually multiply together to give you the whole group. And we'll see some other interesting things coming up in the next video.


Hey guys, Jeremy here and talking a little bit more about the Wayward Sisters cancellation. It was announced a few weeks ago, about a week ago, and since then there has been a change petition. Now I'm not really one for petitions mainly because I've seen a lot of these things get a lot of signatures and nothing happens, so that's just my personal experience from things I've seen. However, this already has almost 75,000 signatures, which is pretty decent considering it started less than a week ago. However, there's just one slight issue you're gonna need to bump those numbers up a lot. What I mean by that is the amount of viewers that this show has.  But there you go, there is an average number. So this petition needs to hit at least a million before it actually gets taken seriously. I also found this kind of graphic that's going around called Save Wayward and it talks about how and it talks about how they want to get, it talks about basically the petition and trying to get this show pushed onto Netflix. On the page it says we need your help, we have worked too hard and believe in this too much to let go. I think let it go, I think that's what she means. So here's the deal, we're not giving up without a fight, that's where you come in. Now I'm going to be just a little bit cynical here, but what have you worked for? You didn't put the show together. Unless you did, then if you were on the crew, but the supernatural crew continued on to work on all the other episodes. Now it's unfortunate that we are losing a show that is majority of the women, that is a really cool idea, but we're getting charmed instead it seems. But charmed was a show that has success. Wayward Sisters is an uncharted territory, yes it's a supernatural territory, but in terms of the reception for the episode from what I saw was not enough to guarantee this show getting picked up. Also on the other side of that, as I said, you need over a million for this to be taken seriously, but even then you need at least 2.6 because this is a show that contains two main leads, Sam and Dean, Jared and Jensen and they don't get paid as much as most actors do for their television show runs. What these guys did very early on is they got investments through the show, so they were able to make money through the fandom, the fan purchases, all the items. Kind of like George Lucas sort of deal in terms of the merchandise, and that's how they've kept the show going because these guys don't get paid that much in terms of what realistically they should be getting paid for season 14 runners. But so now you have to imagine the same situation for that of Wayward Sisters. This is five leads, five or four lead girls and they are all going to get paid a decent rate because that's what they deserve, they don't deserve less, but admittedly the first season might be an idea, but then afterwards obviously the pay raises go up. You guys want an example, look at the bank bank theory. Those actors are getting paid millions of dollars and that's because they don't just do investments through, they're just greedy bastards. How is this show going to be able to survive with such a small viewer count when they need to pay the actors, they need to pay the crew? All of these factors play in. So that's why I'm saying that your petition, while it's a good idea, it needs to reach at least a million to maybe have an idea and at least two million for it actually to be taken seriously. And on the side of that, yes Netflix might be able to do something because Netflix has done this before with CW, they've done this with Riverdale, but that was a cosine deal that was made in the first place and then the 100 which was saved by Netflix. But this is a different story. We already have Supernatural currently running as it is and Supernatural and Netflix have had a good deal in the past where the previous season is released onto Netflix just before the new season comes out. However, I don't know if that happened with 13. I didn't see anything about 12 on Netflix, but I haven't been checking because I don't want to ever remember that season at all. This is a different story because Supernatural is still running on the CW network, it is still on its channel. So the fact that Wayward Sisters is a side subsidiary of Supernatural, it is still under that clause line, which means it is a product of Supernatural, which means it is a product of CW in its entirety. And while this is a similar situation to that of the 100, which has gone on to make six seasons so far, it's because of Netflix that the show was saved. Now, mainly not possibly the same thing could happen with Netflix. But in my personal opinion, I just don't think this is going to work. They realize that the boys are the main reason why half of anyone watches this show. There is a reason why Supernatural, there is a nickname for the Supernatural fan group called the Squeeze Supernatural, the Squeeze viewers. I don't know if it's entirely accurate, but there is a very large group within that categorization. So when you figure that in, and then it's a show about five female leads, I don't know, I just, I don't see this happening. It's great to see that people are this much dedicated. They want this show to come out. And it was actually a good idea. I was down with this idea, unlike the previous spin-off they tried back in season eight or nine. But I just really feel it's not going to work. I don't think there's going to be a want for it because I have a feeling that this show, please, might actually be coming to an end with season 14. They've almost reached the 300th episode, which is what I think they've been aiming for. And I know that once this ends, probably the brothers are going to retire. Jensen and Jared will probably just stop.  But anyways, guys, that's all for me. So you know what? Hell, I'll put a link in the description talking, like taking you guys to the petition, and you guys can sign it if you want. Like I said, I'm not very hopeful for this sort of situation to pan out, but maybe I might be wrong. And if I am proven wrong, then that's all the greater because this is a great opportunity for the female leads. And it's another job in Vancouver. But we'll see what happens. Anyways, guys, that's all for me. Leave your comments down below. What do you guys think? Do you think that the show could get picked up? Do you think that it should be picked up? And do you kind of understand where I'm coming from with my reasons as to why it probably won't? Anyway, that's all for me. I'll see you guys next time.


But women's liberation would say that unrelated sexuality is an achievement. Women can do now on a large scale sexually what men have been doing for centuries. Well, I think that as far as there are still Victorian prudishness around, that is a good idea, but it is the least of the problem.  And so that is no longer the problem. Now comes the much bigger problem, namely a liberation of the heart. That is what should, that's the program over the next 50 years. Liberation of the heart. Two possibilities of human connection. The one is technical by the boss and the employer, the bus conductor and the passenger and so on. And that is organized by rules and even organized nowadays by psychological rules. They are training programs for managers, how they manage the employees and so on. That is all rationalized. And the one thing which is always left out is the liking and the disliking. And the feeling reaction, for instance, what does not count a woman would sometimes like to say, this sounds all very logical but I have a strong feeling against it. Now nobody would take, put any attention to that nowadays. If she cannot formulate it as a logical deduction, just to say my feeling tells me, my feeling instinct tells me this is no good. Then one just ignores it, one walks over her. When men do the same thing, men have feelings too, but they ignore them.  They don't listen to the reactions of the heart and that's what so many so-called primitive people or so-called underdeveloped countries, people of underdeveloped countries, approach us quite rightly. Because whatever their shortcomings are, they listen more to those feelings. To an Australian aborogene you could still say, today I have a bad feeling, I won't move out of the camp or that fellow seems to make a very good offer to us but I somehow don't like him and therefore I'll keep away from him. That you can tell still to an Australian aborogene, but if you say that to a white American businessman he'll just think, oh, well, women.


Service members deal with various injuries and mental health issues such as PTSD. There are an abundance of alternative therapies to help service members cope. One way is through adaptive powerlifting. They come in, they can take the aggression out on the on the weights, and then when they start seeing improvements in their strength, like great improvements, like you saw today, a 25 pound jump in 10 leases is unbelievable. It builds confidence, builds more mindfulness that they happy when they walk out of here, just feel better about themselves, and just have a better day after that. I think it's a really good and positive small community that we have, and it also gives us that, you know, that rush from working out that helps us and gives us those endorphins to go on and do the rest of our daily activities. Reporting from San Diego, California, I'm Petty Officer Mackenzie Adams.


Alright bro, you ready to open this? I'm finally ready, bro. It's been sitting there for about a week. Let's see what's in here. It does say caution did not open. Bro, open it up. Alright, listen. Come on, man. Wait, what? What is this, bro? Thomas the Trim, what does it say? Help. Cursed. What the? Help, cursed. Caution? Bro, I don't know about this, bro. I'm getting some weird vibes, man. I don't know, bro. Leave it right there. Oh, what the heck? Bro, what's going on, man? Get in there. Get in there. This is up, you guys. Real is the game here. And today we're back with some cursed Thomas videos. We're here on the legendary Tom Cobain channel. If you didn't know, he's the one that started this whole trend with cursed Thomas as being a spider. So yeah, shout out to him and we're going to watch his video. I did not tire Sir Topham hat. Oh, let's see what we're in today. Oh, okay. That is terrifying, man. It looks like cursed Thomas might have gotten bigger. Don't look at poor Baldy Topham scared for his life. Oh, oh, man. Okay, is he going to eat him or what? Right now, I just realized this is a loop, isn't it? Yes, it is.  I mean, he looks pretty juicy. So, Thomas, you might have a good feast there. Dude, I just want to see him like chomp his head off or like eat him and wouldn't bite. Dude, come on. That would be so epic. Okay, now he's just playing, man. All right. Are you going to do it or not, Thomas? This is so suspenseful, man. And the kid's going. It's like I'm trapped in the loop myself. All right. Oh, it's going to end. Maybe he eats him at the end. I don't know. Here comes the mommy of truth. And he didn't eat him. Hey, yo, what?  What is wrong with you? All right, so Tom Coleman actually has another video that I did not see that he released. It's called, You Cannot Fleece or Topham Hat. Oh, we got another one. We got a runner in the track star. Yeah, you're doomed, bro. You cannot run, Thomas.   I don't know what I would have done. Would have pulled out a rock launcher, bro. Look at his sharp teeth. Oh, man, just give up on Topham. You know where you're getting away. All right, it's another loop. I'm trapped in this inception of Loops, man.  Oh, I think he gets him in the end, does he? Oh, that was close. Okay, no, he doesn't. That was intense as well. I just want to see Sir Topham Hat die for some reason. I don't know why, man. He deserves it though. All right, and next we got an animation by Animator. First Thomas to train EXE.  Gregor Feldman pulled out a can of spray paint and started writing his own name on the wall of a long abandoned town. He drew but one line and heard something from above. Gregor raised his head slowly and screamed from sheer terror. Above him on the ceiling, a giant spider train was bearing his teeth at the lad. The young man hopped down onto the railway tracks and ran as fast as he could. Big ole thing, bro, what? The monster crashed down onto the tracks and followed him. Its prey was not about to get away. At one point, Gregor tripped and fell. He whipped around to face the monster. His leg really hurt. The creature was approaching slowly. Its eyes glowing, its mouth salivating. Its face separated from its body and stretched out in front on a long neck. Oh, that is... Gregor closed his eyes in fear. That is disturbing and weird. He waited for this beast, this monster to devour him. He, however, was not about to give up that easily. He whipped out the spray paint and sprayed the green paint into the monster's eyes. The beast started shaking its head in all directions. The young man started running once again. But in that moment, a spiderweb shot out of the gloom and glued the man to the tracks. Oh, Spider-Man. And Gregor was now unable to turn around to face this beast, the attacker. The train towered over its prey, raised its arachnid body up high and trembled from excitement. Then Gregor realized that he had seen this monster somewhere before. It was Thomas the train, but a horribly mutated one. Stop. Do you not remember me? I'm your friend. We played together when I was a kid. It's me, Greg, the driver. The train froze. Its face became friendly and suddenly smiled. With the one paw, it pulled the web aside and the man got to his feet. Yeah, buddy. You aren't evil. Thomas smiled, then shook his head hard. And transformed into a monster again. He grabbed Gregor with his teeth. He started swinging the man around. Feldman froze. His arms and legs not dangled limply by his sides. It appeared that the monster was in no hurry to swallow the young man. I thought they were friends. The man burst out laughing. He tapped a beast on the face. All right. Let me go, you scoundrel. Thomas then carefully set the man back on the tracks. He was unharmed. Now it's your turn to hide. Count you till 100. Gregor closed his eyes. Was the monster happily bolted into the darkness of the tunnel to hide? Ha, I just love my pet. What? I guess they ended up becoming friends as they were before. Dude, I thought he was going to eat him alive. All right, now we're on Zo Guguk and we're going to watch Thomas in the back rooms. And this is a 360 video, by the way. Okay, so we can actually move in the video. It's just pretty cool. Oh, we're breathing loud, bro. I hear someone breathing. Hey, what's that noise? Isn't that, like, part of Thomas? Dude, I think I just saw something when we turned the corner. Yeah, look. Thomas just passed him and he left. As soon as we turned the corner, this is not good. It's like a side panel of Thomas. Put this number on it. Bro, I think we're about to die out here in the back rooms. Thomas, what is Thomas doing? What's the tank engine doing, bro? Oh, he busted, bro. He's missing an eye. Yep, we're dead. We're going to die, aren't we? He has a catapult. And we no-clipped out of the map where he threw us out. That was so random. All right, and then I came across this random YouTube short. It's called Curse Thomas Drawing. Let's see what it's about. Oh, what? Why does he look like that, bro? He has, like, the ghost-faced chin or something. All right, you guys. Well, there we have it, some Curse Thomas videos. It's been a while since we've seen them. I feel kind of good watching them because I would enjoy watching the videos when I would do previous videos as I've done many of them. But I'm still not going to stop doing these videos till the end of times. So yeah, thank you all for watching and I'll see you guys in the next one. Peace.


Hi everyone, Joe for Jasper's casebreaks.com randomizer video for that number block right there for these teams That's how it works right there Originally this way we accidentally wrote chargers on there, but it was actually priced for the Jaguars, which is a more expensive team So there it is. Thank you to these folks for getting into it. There are the numbers right there. Let's roll it Let's randomize each list seven times One two three four five Six that was amazing seven the final time Mark Sheridan down to Chad seven times for the numbers two three four five six and a one seven the final time Seven we got four down to eight all right So mark s with four mark n with zero so the whole zero redemptions for those four or five teams down there Four teams down there The the blockchain ones Brandon with two Brian with nine AJ with seven matinee with one and five Chris Erickson with three Kevin Madden with six and Chad eight Let's order these numerically coming up next will be the break in a separate video So check that out Jasper's casebreaks.com


Thank you, everyone, for coming to this presentation. This session is about Drupal 8 teaming in depth. I am expressing some of my opinions how teaming should be done in Drupal 8, and you don't have to agree with me or you can feel free to disagree. But this is my opinion on how teaming should be done in Drupal 8. I'm excited that so many of you has came to listen to about this topic today. So I guess we are going to have a good session today. Hopefully you will have also good questions in the end of the session. So let's start by introducing myself. My name is Lauria Skola. I'm a Finnish Drupal developer working for a Finnish Drupal agency called Druid. We are a Drupal agency hiring 27 people located in Helsinki and Amsterdam. Currently I work from Australia. I live in Melbourne. I like kittens, and I do some Drupalite contributions. So let's start with the problem that we are trying to solve with these things that we are talking about today. So the first and the largest problem that I find in Drupal teaming is that we have a word Drupal teamer. I would like to kill the whole word Drupal teamer. We should instead have just teamers or designers. So what does that mean? The problem is that teaming Drupal usually is so complicated that you need someone who understands Drupal to team it. But by changing the way we team Drupal, it wouldn't have to be always that difficult. Maybe some of the tasks that teamers are doing could be outsourced for the backend developers or some other people, and then you could have just designers working on your design. We will come back to these issues later, and I will explain how the steps that we've taken solve these issues. Another problem about Drupal teaming is that the whole Drupal front end has been built data-driven. What this means is that when you're looking at the design as a teamer, we shouldn't have to be thinking about what something on the design is as data. So let's say if you look at content, we would have to think that, okay, this is a node or this is a user, because the whole Drupal front end has been mapped to these entities or types of data. Instead, as a teamer, we would like to think, okay, this is a component which will print this data in this format. It could be either user entity, node entity. The teamer shouldn't have to care about what type of data is being printed in a design. But sadly, in Drupal, we have to think about that, because the front end has been mapped to the data. Another issue that we have is that a big part of the work is overlapping between site builder and front end developer or teamer. What that means is it's very difficult for a teamer to start teaming a feature at the same time with the site builder because they have some overlapping work that needs to be done. In order to do something to be able to be teamed, the site building needs to be done or the backend development needs to be done. So I'm going to explain how we can get rid of this issue. And also, the one huge problem that we face is that achieving dry, which is do not repeat yourself, is very difficult. Usually when you are creating different variable, different variation of a template, you would have to copy the whole template, and you would have the same piece of markup in multiple different templates. Also, this is something we can probably get rid of. Let's see. So let's start with very basics of Twig. I know many of you probably have already used Twig. How many of you have used already Twig? Almost everyone. That's great. So I'm going to go very quickly. I just wanted to include this, since it would be such a shame if there would be people who wouldn't understand Twig and they couldn't understand what I'm talking about because of that. But because it seems like almost everyone knows about Twig already. So I'm going to go this part very quickly. So here's example Twig file, a very simple Twig file that I'm using to print a list. So in Twig, there is three different synthesis. There is the curly brackets, which is for printing something. There is the curly bracket and the percentage, which is for doing something. And there is the curly bracket and the bracket, which is for the curly bracket and the hash, which is for commenting. So here you can see a very simple comment in Twig file. Here you can see how we use the curly bracket and percentage sign for a for loop. And inside of the for loop, we are printing an item. So you can see the printing syntax. So in Twig, when we are accessing data from a variable, we only use one single syntax. There is no multiple synthesis that needs to be used. Everything is accessed with the simple dot syntax. So it doesn't matter whether you are accessing an RAT or object property or even calling a method. You will always use the same syntax to access the data. One of the very, very neat things is that you can even call with this simple syntax the method using the get or is method convention. So let's say if a node would have method called getPublished, you could just say node.published. And it would call the getPublished method. Very, very simple and very awesome for the front-end developers because they don't have to understand what is the difference between arrays and objects. Twig also has includes. We are probably going to do lots of includes during this presentation. So it's good to know how includes work. So Twig include is essentially the same as you would have in PHP. You can just include another file inside this file. One of the very fancy features that we have in Twig is that you can say only. And what does that work do? It tells that while we are including another template inside this template, only provide these variables for the other template. Everything else inside all the other variables available inside the template where we are calling the include won't be provided for the other template, which gives a nice isolation between the templates and allows us to do pretty neat things. So what I'm doing in this example, I'm just including a link.html.twig file with two variables. I'm giving link variable and text variable. I'm finding the data from the node object for the link. And I'm just giving a simple text that I'm declaring myself inside the twig file. I'm using the twig filter T to make it translated. Very, very simple example of using include in triple. Another super cool feature that twig has is twig box. I hope you have already figured out this. I've heard some people are suspicious whether it's good to use the twig box or not. I think using twig box is pretty awesome, because even though it adds a little bit of complexity, but after you understand how it works, it's the most awesome thing in twig probably. So how blocks work is that you can define in a template small regions that you can override with another template. And on this example, I have the page template, where I define two blocks, content and footer. By the way, twig blocks are not triple blocks. They're totally different. I want to override the content block on my front page. I want to have different text on the front page, on the content block. I will create another template, page just front, which will override the page template. I will tell extends. It will extend the page template, so it will take everything from that template and override the small parts that we tell it to override using the blocks. So when you're using the extents syntax, you are not able to provide any markup outside of the blocks. It will throw an error if you do that. So I'm modifying the block content. Everything else will remain the same, so H1 title will be printed as it is there, and the footer will be printed as it is there. And then we have a third cool feature, which is twig embed. And this is a combination of include and block. So you can define blocks in a template, and you can embed that. And you can specify block overrides, just like you would do while you're extending. And using these three different technologies, you can do quite a lot of good things. So let's proceed to what can we do using these tools. So component-based teaming is pretty much the future where all the triple-teamers should head towards, at least from my point of view. I'm not the only one thinking like this. So what is this whole thing about? So component-based teaming is about thinking that instead of delivering the customer pages, we should be delivering them systems that include components. So when you're creating, when you're teaming a page, you should think that this page consists some elements that are reusable in other contexts. And when you're creating another page for the customer, they could build it using the elements that you've already built for them during the previous page. So what is component itself? So components should be self-contained, reusable. So self-contained means that the component only modifies itself. It doesn't go outside of it. So let's say if you have a component called button, the button component won't modify the header component. It will only modify the button component. It will only modify itself. It should be reusable. It doesn't mean that it's always reused, but it should be something that can be reused. It should be also nestable, so it should be something that can be inside another component. Component in the most common scenario would consist markup and some kind of styling. It could also consist JavaScript. Let's say if you have this component, you could have this component which has JavaScript show and hide functionality after a certain number of list items. Let's say you want to show three items first and then rest of them are hidden, and which JavaScript you would show them. That kind of JavaScript could be inside a component. Sometimes components could have other assets, maybe icon, something like that. Not always component could have them loaded from somewhere else also. By the way, while I'm talking about components, I'm not talking about any specific design system. Any design system could work like this by using these tools that I'm talking about today. You could practically include any design system into Drupal. So this is the workflow that I'm using myself in my project. So what we do is that we have a base team which includes a component library. The component library is also reusable in other systems, not only in Drupal. You could use it in a project using React. It's just tweak and CSS and JavaScript, not in Drupal specific. But that is included in the base team. And multiple different Drupal sites are using that same base team. We have a default team which we use as an integration layer. On the default team, we simply map the components into the right places on the page. I will show how that happens. Essentially, on the base team, we don't have any template overrides, no templates, no block templates, no region template, no page template. There is only a component library so that it can be loaded in the Drupal. And that component library, like I say, it could be used to multiple different purposes. So let's say if you are doing style guide centric development, you could use that component library to build a style guide, or you could use it to build the application stylings. So the component library should be reusable and swappable. So you can essentially use it for anything or give it to the customer's other companies developing their other projects. So that's about what is component. Let's create our first component in Drupal. So I'm using a very, very simple component, I think the picture is from Google's style guide. So thanks for them. So we have a title, we have a little bit of text, and we have one link. Very, very simple component, most likely when you're building a component, you will have to create more complicated components. But I'm going to start with the most basic one on this presentation. So what's inside that component? We have just one tweak file, and we have one CSS file. I'm not even using any CSS preprocessing on this very simple example. So we have a little bit of markup, where we are printing four variables, and we have some CSS, which sets a border and some margin and padding. That's all. Very, very simple. I will place that component file into a new folder, which is under my team called components. And I will create a new file for this component called card. So all card component related things would be inside this one folder. So that was all. That's how we created the component. Only one file of tweak, one file of CSS. Now we have to integrate this in the Drupal. I am giving a disclaimer. What I'm doing right now in this presentation will break a lot of Drupal's features, like quick edit, contextual links. They won't work with this approach. We will have to figure out how we can fix these functionalities to work with this kind of approach. But if you are building something like this for the customers, like I am, we are willing to make a trade-off between these two things. We are willing to sacrifice some of the features and use this method of teaming. So the first thing I will have to do on the Drupal's side is enable components module. Components module is a very, very simple module which allows us to add extra namespaces for tweak. So this allows us to load tweak files from other folders than just the template folder. So as you saw, I placed the tweak file under the components folder. We want to add a namespace for that folder. So what I'm doing, I'm specifying in the info.jamu file a new component library. The first line, where it says team name, is the name of the namespace that we want to create. So I'm just using a very simple namespace called team name. So by default, team name would be providing namespace for the templates folder, not for the components folder. But I'm adding both of them for the namespace. So both of these folders will be looked for when something is being loaded from the team name namespace. This allows us to load the button.html.trick file from the components folder. So in order to be able to debug tweak, you will have to enable tweak debugging in the services.jamu file. It will print these kind of sections inside your markup. They are very useful for finding which template we need to use. It will also disable the tweak compiling into PHP so that it will reload the tweak file on each page load. You will also need to disable caching while teaming, because otherwise you will have to clear your cache after every change. So I will add these lines into the settings.psp and a few lines to the services.jamu. There is a file called example-development.settings.php and local.services.jamu, something like that, which you can use to do this. So this is all built in in trouble. But you will have to add these lines in order to these changes take effect immediately. How I will debug the variables while I'm debugging tweak, I will use the kint module, which is provided by devil. It is the best tool out there right now, at least as far as I know. It will provide all the different properties of the object. It will provide the methods. And if it's an array, it will just simply print all the lists, all the list items. It's a good debugging tool. So this is how our list looks currently. This is the default theme of Drupal. This is how Bartik would print out the articles. You can see that there are some things that we don't need, which will be removed soon once we apply our new template. So what I'm going to do, I'm going to find the right template to beginning. I can find this kind of a block where the node is being printed. I will choose the node dash article dash dash teaser, which is specific for the article node type in the teaser view mode. So we only want to do it for the articles in the teaser view mode. I will create a new template file. So I won't copy the node template to create this template. I will just create a plain file with this file name. And what I will do here is I will tell include from team name slash card slash card.html.tweak. Then I will provide the component that we created. These variables, I will give it the title variable. I will give the text. I will give a link URL and a link text. So in the template, I'm now fetching the data from the variables that I have available inside the node template and make them make sense for the teamer inside the component. Inside the component, the variable names are very clear, very obvious. And all the magic happens now inside this template. This is where all the Drupal teaming happens. The component file is very clean, and it's something that any teamer could build. So after making this change, we can see that our articles start to look a little bit more like what we are trying to achieve. All the extra data is gone, but we have all the essential things in place. So what we have to do next is that we need to have some assets for that component. So how does that work? In Drupal 8, everything has to be loaded through libraries. You probably knew that already if you've done any Drupal development so far, because everyone has to create a library in order to be able to provide CSS files. But because we want the CSS file to be mapped to this small piece of markup, we want it to be only loaded whenever that markup is being loaded. We will create the library, and then we will tell inside the dwek file, attach library, and we will tell which library we want to be adding for this piece of markup. So this way, if the cart component doesn't exist on the page, the CSS file that you have for a card doesn't get loaded. So let's say if you have some very complicated components that has lots of CSS, but they will be only printed on one page, the CSS would be loaded only on one page. Also, because everything is very self-contained, all of your components should be self-contained, it doesn't really matter if some of the CSS files are missing from the page. Because if that piece of markup is not there, it shouldn't affect anything else anyway. So after adding these few lines, our layout starts to look pretty much how it looks on the design. It is also possible to include multiple assets for a single component. So if anyone is using smacks, you can absolutely include multiple assets from a single component. So let's say if you want to have a CSS file for state, you could include its own CSS file for the state. Andropole will load it into the correct place, correct order. It will place it after the components, and it will override the components. Therefore, you can also include JavaScript in the very, very same way. If you need to detach any inherited assets, like let's say if we have a button class on the component, you would have to remove some of the CSS being loaded, because Classy provides some markup for the button component. It adds some marching for the button class. How that happens, we have library override, which allows you to do lots of magical things. But I think the most common use case is to just remove a single file away from being loaded. And how that works is that you say library is overriding inside the info.jammel. Inside the library is override. You have to tell which library are you overriding. So the first word is the extension for the library is being loaded from, where the library has been created. The second one is the name of the library. So I'm removing a CSS file from a base library inside Classy team. Then you have to tell, OK, this is CSS that we are removing. Then after that, you have to tell, OK, which smacks group is this from? And then you tell the path of the CSS file and say, false. So it won't be loaded anymore. You can also replace CSS files and extend existing libraries with your own CSS files. But personally, I don't know why would anyone use these features. But I guess they are nice to have. Maybe someone needs them. In case you are looking for these more complicated use cases for libraries, I suggest to go to this blog post. It's written by David Hernandez. And it's a pretty extensive blog post about lots of libraries magic. So I will create another component to make it look like exactly how we created. So everyone remembers how this happens. So I'm creating a container for the cards. This is also a very simple component. You can see the address library that I'm already adding here. I'm also just printing an items list and adding some CSS to display them in a flex mode so that they will be aside each order nicely. I will create a library just like the way I did before. This is a new component. Like you can see, it's card container. And I will find a template name for this use case. So I will have to look for the views overrides. This doesn't work out of the box in Drupal. So if you want to see the views template overrides, there is a patch inside trope.org that you can use to view these template overrides. Very handy. But if you need to see which template overrides there is available for your views, I would go download that patch. And it will show template overrides that are available for views. So the integration for this piece of markup is a little bit more complicated. And this is where the issues start to be visible. So we get a pretty complicated array structure inside the views template. So we need to start actually modifying what is inside the arrays and start creating new arrays. So what I'm doing here is I'm creating a new items array inside a loop of all of the rows. And I have to just copy the row.content on the main level of that items array. So what you want to avoid inside your components is any Drupal-specific things. You don't want to be printing the Drupal data structure inside component. So in case you have any of this magic that you need to do, I would do it in the integration template instead of doing it inside the component. Because the component should be as clean as possible. It should be something that someone could use in any other use case. So this same thing could be done also in a preprocess function. But because I wanted to avoid using preprocess functions and use the template instead as an example, I did it inside the template. This is also very, very in this case. If I would want to make it in the other way, if I don't want to, if I'm unable to modify the array structure, what you could do also is to use the trick box. You could create a block for the for loop and replace the one for loop inside the trick template. And then you could use the Drupal data structure. Then you could access the data from the Drupal data structure using the embed. And it would be in the single file, the all the Drupal specific things. So after applying these styles, our components start to look pretty neat. It looks almost like on the layout. So there is a Drupal.org issue about making Drupal work component based by default. It's a very, very complicated issue because if you think what we just did, it basically broke lots of things inside Drupal. So in order to make Drupal core actually support something like this, we would need to make lots of changes for the way, let's say, quick edit module or contextual module works. And there is an issue about this thing in the Drupal.org. And there's going to be plenty of people working on trying to find a solution for this thing. So if you are interested about this, I suggest you come maybe talk to me or just go to the spring lounge and see if someone is working on issues related to this. If you want to get started with any of the design systems, there is Drupal projects, which are already showcasing how to integrate into pattern lab or KSS style guiding. So there is a pattern lab team, which is a base team for using pattern lab. And there is a Zen team, which is using KSS style guide. And they both are working pretty much in a very similar way as I showed today. And they show how powerful it could be to use some of these design systems on your projects. So let's go back to the problems in Drupal teaming. So the first problem was that there is a teamer versus designer. So we don't want to have Drupal teamer anymore. So this problem is basically solved because you could have your designers work on the components and they could create their style guide out of the components. They don't have to deal with Drupal. The backend developer could do the integration between the component and their backend magic, at least I hope so. And that way, Drupal teamers don't have to be Drupal teamers anymore. They could just focus on creating components. They could review their components using a style guide and then the backend developers would be using those components. Also, when I've talked to the backend developers, they would be happy to have something like this, because they could just build new features just like this, like very, very fast, because they could use the existing components that someone has built for their backend magic. Also, using this kind of approach is not data-driven because you can basically define your own structure inside components. You don't have to create a component called node. You can create a component called card, like I did on the example. Inside the card component, you can print a node like I did, or you could print a user just as well. There is no single data type that it would work with. Also, the overlapping work between roles. The situation is way less worse, since the teamers can start working on their teaming because they could build the components inside components folder. They don't have to wait for the side builder to finish the side building or side build themself, which allows things to move faster forward because multiple things could happen at the same time. And as the last point, achieving dry is very difficult, because Drupal was mapped into the data types, and everyone was just copying the templates. But now that you are using components, even though you have lots of templates to map the data into the components, it's pretty simple to write those in the creation templates, and they don't contain any markup. So whenever you need to refactor markup, it happens inside the components. You only need to modify a single file to modify, let's say, the cart component or a button component. You don't have to go to modify all the different node templates, oh, and I'm using button component also on the views templates. You would have to modify maybe 50 templates if you are using the very, very traditional Drupal way of teaming. But instead, if you have the component, you're loading the button for each of these templates. And if you modify the markup inside the button template, it will show on all of these places, even though you probably end up having more files than you used to have in the past. So I suggest everyone to come to the front end United, which is in Athens. It's in May next year. It's one of my personal favorite events. So I hope to see as many of you as possible over there. I've heard that it's going to be warm, and the food is good, and beer is cold. So see you there. And now we have lots of time for the questions, which I hope you will have. So there is two mics over there. If you have any questions, you can line up for the mics. And I will be happy to answer to your questions. Go ahead. So first of all, thank you. Can you give an example of using JavaScript with the libraries that JavaScript gets attached after probably an AJAX request? So if I have some JavaScript acting on the cards that are maybe loaded via big pipe, or later AJAX request gets attached one more time? So are you asking about how attaching JavaScript happens when using big pipe? Yeah, actually, I run into some problems with big pipes and attaching libraries via the templates. So have you run into problems there? Big pipe module is experimental, and I know actually about this issue. And currently, there is no good way to get over with this if you want to load the JavaScript file inside the template. So if you're using big pipe, you would have to include those JavaScript files in the required libraries so that it's loaded always. Yeah. And yeah, it's a shame. But the big pipe module is still under development. So I think that it's going to be fixed at a certain point. But do the libraries get attached even if I have like an AJAX request? So maybe. Yes, yes. So when you have AJAX request, the style suits and JavaScript files will be attached. But there is a slight delay, which can be annoying. But they will be attached, essentially. Any other questions? I have a question regarding the embedding of Twig templates. I ran into the issue that I have a template. Then you want to embed another Twig template inside it. But then on the preprocessing of the parent template, you need to build the variables for the child template. How do you avoid this in Drupal if it's possible or not? Yeah, so what's the question that if you use, yeah. So there is no way to duplicate preprocess functions into multiple functions. So that's a big question. And what we are doing, while we are facing this kind of problem, we try to move as much as possible from the preprocess functions into the template so that it would happen inside the template instead of in the preprocess functions. And then it's something that can be duplicated in Twig and can be run from multiple places. Yeah, but then Drupal suggests doing the processing of data in the preprocessing stage of the template. And so preprocess functions in general are something that we are discussing if we should remove them or not. Because in many cases, what happens inside preprocess functions is something that should happen actually before the data is put inside the theme system. The reason why preprocess functions still are what they are is because it's very difficult from Drupal to know what kind of data does a teamer want inside their template. But in many cases, the right solution would be to add the correct variables to the hook team implementation so that you would have it during the whole pipeline inside the theme system. And then you would have just very, very small modifications inside preprocess functions. So preprocess functions, what they are meant for, a good example would be you want a format date inside a correct format. That would be something that you could do inside preprocess function. But another example of something that you shouldn't do inside preprocess function is, let's say, load a new entity and put that data inside the template. That's not something that should happen in the preprocess functions. So I don't know.  Well, in our case, we had two teaming twig templates. Each one of them, behind them, they have only one variable, an entity. And based on that entity, the parent template constructs different variables to print out. And then the second template takes the same entity and builds other variables. So when we used embed, the variables needed to be defined in the preprocessing stage of the parent template. Because you couldn't call the preprocessing stage for the embed. Yeah, so I suggest that instead of just giving a template, an entity, that template should be given specific variables that it should be printing. So like on my example, I had title, text, and link. That's what template should be getting. That's closer to what template should be getting instead of getting an entity and do whatever you want with this entity. Because entity is putting raw data inside the template. Instead, template should be outputting variables that it gets. And it should be title, body, image, things like that. So you should already have some kind of an idea. What data will be printed inside the template on the hook team implementation. So it should exist during the wall pipeline. That's at least my point of view for this. But then if you call the same hook team multiple times, you need to recalculate the same values for the variables based on the entity every time. Instead of doing only once on the preprocessing stage. So that's why we thought of transmitting the entity. Then you can create a render element for that. That's also a valid use case. So you can create a render element, which has the pre-render function for converting an entity inside the render array. Are you familiar with render elements? Or yeah, good. So that's the absolute way of doing that. And there's plenty of examples in Drupal Core how that should be done. A good example would be to look maybe for maybe I is doing lots of things with render elements. You can look from there maybe. But the hook team implementation should already have an idea what is being put inside the template. Any other questions? Yeah, go ahead. You were talking about the themeer being able to work before the backend is ready. So I was thinking about if you're working on your components and you do it in the tweak files and define variables, how do you serve them with, let's say, dummy data or something? Or do you just hard code them like you would do in HTML and then replace, let's say, a href attribute with a variable? That's a great question. So many of these design systems that I mentioned, like KSS and PatternLab, they would have their built-in way of managing the default data. So let's say if you use KSS, you can provide a JSON file of the data that you want to output for the template. And then you can just generate the style guide out of that. And it will show the data in the style guide. So you need a sum design system that you are using in order to do it that in a simple way. But when you use a design system, you don't have to have any mid-stage for putting example content inside the template. You will have the example content in a JSON file. And the template file that you have is ready to be used for inside the theme. OK, thank you. Any other questions? Do you have a question? No? Do you have still some time for questions? I guess if we don't have any more questions, we can go home or go to the other presentations. I still want to remind you of the contribution sprints that are happening this Friday. It's a good chance to get meet other fellow contributors and to get started with contributing to Drupal 8. And there will be lots of things related to this also if you're interested. I also suggest you to evaluate my presentation on Drupal.org, not on the events.drupal.org on the event page so I can be better on the next time. Thank you.