The narcissist thinks of you long after you're gone, it ended badly for you with the narcissist. Maybe they discarded you or you got fed up and decided to leave them and then there was this period of no contact because it ended in a really bad way and there was no closure or validation. They didn't want to talk about it. They didn't tell you why they did what they did. They didn't apologize and now they're moving on to a better situation with better people or at least that's what they want you to think. Because that's what you will see on their Facebook or Instagram. You will see these four smiles and they're telling everyone they're happy while broadcasting the person they're with as though they're like this trophy. This prize awarded to them for their victory or success and they will tell people they found the love of their life. They found the one, they found their soulmate so you will assume that they've moved on. You will assume that they've forgotten about you when the reality is that they haven't. They're still thinking about you. It may seem like they're just these mindless robots with no feelings because they're self-absorbed that they lack empathy but that does not mean they don't suffer.  Because they're narcissists, they believe the whole world revolves around them so all they care about is everything that has to do with them. They're not concerned about anything outside of that because they have a personality disorder which means that they can't have relationships with people because their relationship is way in which two or more people or things are connected. And while you may have felt connected to them, you also felt like they were never connected to you because they can't connect to people in the way that you can. They can't experience that. They can't form or maintain healthy relationships with people which is tragic and devastating because for us relationships are the most important things in our lives especially the relationship that we have with ourselves. But if you felt like the narcissist wasn't connected to you, it means that they're not connected to themselves which means that they don't even know who they are. Which is why they can't form or maintain healthy relationships with people because they have nothing to give. They have nothing of value so they can't relate to you. They can't feel sympathy or identify with you because they have this tendency to act in their own self-interest. They're driven by this need to prove themselves better than other people so they can't be vulnerable and you will never experience a deep emotional connection with them because they believe that they're bad. They believe that they're unlovable as though they're incapable of inspiring love or admiration as though they don't have any attractive or opinion qualities but they over compensate for that with their ego.  They will drop you like a hot potato because they have to avoid humiliation. They have to keep their reputation and avoid other people losing respect for them because all they care about is their false image. They only care about how they appear to other people which is why they're so quick to blame you and start media campaigns and tell you that it's all your fault and then they go out and flaunt their new relationship because they have an inability to connect and understand people all they can do is defend their ego but they also struggle with detachment with the state of not maintaining or having control over something anymore because they don't know how to regulate their own emotions so they will deny it, they will lie, they will project a deflect, they will gaslight and they may even become delusional but the fact doesn't mean that energy and those emotions aren't still there, it doesn't go away just because they've denied the existence of it and in fact their resistance makes it even stronger, acceptance is what makes it go away but in an attempt to push away the pain and the shame they will disconnect from their own thoughts, feelings, memories and sense of identity to where they become emotionally numb, they can't even feel anything positive anymore, instead all they will feel is pain and aggression where they may even lash out at you by making false accusations of starting to media campaigns against you or sometimes you may not see a response because they went and abused someone else and it's all because they didn't want to process their emotions, they didn't want to process those feelings of loss which is why it will constantly play on their mind and they will constantly revisit the people that they lost even if it is just in their minds but not with the intention of considering a situation or problem again from a different perspective or with the intention of improving or changing it because if they did that they would be processing the emotions and healing themselves from the drama instead they will re-idealise you and represent you as better than you are because you got away, you dodged a bullet, you managed to avoid a difficult one welcome situation, you got out unscathed and then they will compare every new person they're with to you, you will become the measuring stick, you will set the bar which means that they haven't healed, they haven't processed anything, they just moved on without even thinking about it or reflecting on it, they denied it, they lied to themselves that it was bad which means that the shame will continue to grow within them and they will only get worse with time, they will become even more bitter and resentful of the order that they get to where it's impossible for people to even be around them because there's so much hate and envy brewing beneath the surface and yet many of you still care about their opinions, when a person who is filled with so much hate and envy has no valid opinion because it's just coming from their own destructive emotions, it's not coming from a logical standpoint, people who have so much hate and envy inside of them should not have the power to influence anyone because they're only going to further traumatize you by default that's all that they can do, they're not going to uplift you, they're not going to make you feel better about yourself because they're not even on the same level as you, they're beneath you and they're trying to pull you down which is why you need to recognize that their opinions are not credible and you should not let them determine your value, you shouldn't even care if they hover you or not, you shouldn't be worried about what they're doing or who they're with or if they're happy with the other person because you should already know that they're just a shell of themselves, many of you are empaths, some of the most down-to-earth and most understanding people in the world and yet they couldn't even connect to you so what chance have they got with anyone else, they're destined to fail, they're destined to never move on because they denied what went on between them and you, they acted like nothing happened to avoid humiliation and to protect their fragile ego which means that the shame, hatred and envy will continue to brew and boil inside of them because what you resist persists, what they refuse to let go of will continue to affect them and it will affect every relationship they get into because they didn't process their emotions, they pass it off to you and expected you to deal with it for them which is something that only gives them a two second high, it doesn't produce long lasting change because they can't generate it from within, they're disconnected from their emotions which is why you will never have a connection or a bond with them and even myself with a lifetime of experience and five years of research, I would struggle to have a conversation with them, I would struggle to connect to them and understand them because they have so much shame so everything has to be about their negative emotions, it's never going to be a mutual exchange of love and positive energy because in their minds it's you or it's someone else someone did something to them, someone hurt them and there's nothing they can do about it, they can't take it upon themselves to go within and process the trauma to regulate their own emotions because they're very weak and fragile people, it's too painful for them to deal with which is why all they can do is try to bring you down with them and make you just like them because that's the only way that they can feel comfortable and this is what they're deeply envious and jealous of, it's why they hate you because you're different you're empathic, you have so much love and compassion to give and when you give that to yourself it's very powerful, it has the power to heal trauma, not only yours but other people's traumas as well by practicing acceptance, accepting things as they actually are rather than how you think they are or how you want them to be which is something that narcissists can't do and it is why they gas like you, it is why they start smear campaigns because they have to create this false reality where that is not the case and it's all because of their ego, they just can't accept that maybe they're not as great as they thought they would be or should be and this all stems from their trauma which is why they constantly project it onto you and at the end of the day you're left feeling like you're undeserving or as though you're not good enough when the reality is that it's them they just don't want to accept it because it's too painful for them and they wouldn't know where to start so instead they live a lie, never knowing the truth, never experiencing real love or connection by shutting it out and even by trying to prevent their sources of supply and sometimes even their own children from experiencing it because it's just too difficult for them to accept that they won't ever get to experience that when the crazy part about it is if they just accept that and they let go of their resistance they would finally be experiencing real love and intimacy for the first time thank you for watching if you found this video helpful please give it a thumbs up share your thoughts in the comment section hit the subscribe button to receive the notifications if you would like to support the channel you can donate at paypal.me-naught-survivor you can book a one-on-one with me on my website it's Nought to Five at the Cuddy UK thank you for watching and I'll talk to you soon


It's just so crazy how it just seems like so many different things continue to line up perfectly for the Baltimore Ravens. Stuff just keeps getting better and better. See, the Baltimore Ravens, they have done enough to where they helped themselves out so much this year. They sitting at 10 and three right now, not only the best record in the AFC, but one of the best records in the NFL to Tide. It's the Tide for the best record in the NFL. I think they tied with the Eagles, with the Cowboys, and with the 49ers, I believe too. So they're sitting atop the NFL right now, but the Baltimore Ravens, a lot of those other top records, they belong to NFC teams. AFC is only the Baltimore Ravens. Why? Because the Miami Dolphins heading into this week, they had first place, first place in the AFC was theirs. All they had to do was take care of this bad Titans team. You know these Miami Dolphins, they take care of bad teams. In fact, they blow bad teams out the water. So we knew they were gonna beat the Titans down bad, and they were undefeated in Miami too. Oh yeah, this is gonna be a cake walk for them. Nope, nope. And obviously Tyreek Hill getting hurt, that had a whole lot to do with it, but as a Ravens fan, like we know, next man up. I mean, still dealing with next man up, even at this point in the season, even though Ravens are relatively healthier, much healthier than they normally are, it's still a lot of next man up that have been out there. But back to the Miami Dolphins. The Miami Dolphins, all they had to do was take care of this bad Tennessee Titans team, but this Tennessee Titans team took care of them. I remember watching the game and thinking, man, when the Tennessee Titans, they were down by two scores, and they had the ball and they scored a touchdown. Will Levins threw that little no look to DeAndre Hopkins. It was a nice touchdown pass. And then I saw Mike Rable go like this. I'm like, what is he, why would he go for? What's the reason he would go for two? For what? And I heard DeAndre Vlasky on commentary. Oh, that's actually a good analytical decision and I'm thinking, no, that's a terrible decision. And they were like, oh, well, if he gets the two point conversion, then the next time, if they get the ball back, then they just got to kick the extra point and they could be ahead. But if he doesn't get the two point conversion, then they'd have to go for two the next time they got the ball back. So why not just go for two at that, but anyway, but it is what it is. That's why he's a coach and I'm not. I still didn't agree with, I'm glad he got it, but I still didn't agree with it, but it ended up working out. And I guess, you know what? When I think about it, it's better that they go for the two point conversion early than late before the game is actually on the line. Cause if you go for the two point conversion, the game's on the line and you don't get it. Yeah. So I guess I'll see what analytics said with that part. Shout out to you, John Harbaugh. Thanks for teaching so much of us about analytics. But anyway, they got the two point conversion and then they got the ball back and then they went ahead and they got a go ahead touchdown by Derek Henry. And then when it came to clutch time, two was out there and he threw some passes and then he got sacked on that last play and boy, I was jumping for joy. I know a lot of y'all were too, because that gave the Baltimore Ravens soul possession, not a tie, not a two way tie, not a three way, no, no, no. That gave them soul possession of first place in the AFC. Now I know there's some Ravens fans that do not want first place in the AFC. They don't want that number one seed. And I get it, it's been for several different reasons, but this is a beautiful thing. This is a beautiful thing. So much has just fallen in line for the Baltimore Ravens. I remember if we go back a couple of weeks, it was Chiefs and Ravens with the same record. And if Chiefs were the one out and Baltimore Ravens went out as well, then Chiefs would be the number one seed. So the Baltimore Ravens did not control their own destiny, but now they control it. It's all this. Whatever they do, that's what's gonna happen. Good or bad, hopefully great. So we'll see how it goes. I'm still expecting great things from the Baltimore Ravens. This tent, they have the guys to do it. This is an extremely special team, extremely special team. Something that Lamar Jackson said a couple of days ago, it really stuck out to me because I'm like, oh man, like he really understands what this is, man. He really does. He said, I believe our team is locked in because we know what is ahead of us. We know what got us here. Now this part right here, he's when he said we can only have this team once and I believe we know what we're chasing. That may be insignificant to some of y'all, but to me, that was extremely significant. Reason being because the part where he said we can only have this team once. That's so true. They've had some nice teams in the past. Think 2021 for sure, that team was built very nicely, but injuries took over. Now this year, the team was built very nicely and there have been a good amount of injuries and some significant injuries as well. But because of the way that this team was built, because of the depth of this team, they were able to and are able to withstand the injuries that they've had occur. Guys like Mark Andrews, who is out for a while at least, Isaiah likely certainly been stepping up over these past couple of weeks. Guys like Tyus Bowser, David Ajaubo, Kyle Vernoi, and Jadaven Clowney, they have really, really been holding it down. Guys like J.K. Dobbins, Gus Edwards, Justice Hill, and more recently, Keith Mitchell, they've been holding down the fort. And then I mean, the list continues, but the point is that these Baltimore Ravens, they've been finding a way to get the job done. And as long as they continue to look for ways and find ways to get the job done, then they know what awaits them at the end of this year. And it's the only thing that can happen. Like this season, if the Baltimore Ravens finish with anything, anything less than a Super Bowl, I think it would, no, no, I'll take that back. I don't think it would be crushing. It would be crushing because this team is extremely special. And we've been saying that even before the game against the Rams a couple of days ago, but before the buy week, before the charges went, but before like this, from jump, from jump before the season even started. We talked about it so many times.  We said the only thing in my opinion that could stand in the way of the Baltimore Ravens was health. That's it. Well, then coaching too, but anyway, but yeah, health. That was the biggest thing in my opinion that could get in the way of the Baltimore Ravens and the ultimate goal. And again, they have lost some guys along the way, but they are a pretty healthy overall team. And they still have so many quality guys on the team. And it's like, speaking of health, like we just got that great news yesterday on Kyle Hamilton, him having the great one MCL spring. Hardball talked about how he, he may be able to play this week. So we'll see what happens with that. But again, I wouldn't play him this week. Like I said early, I would play him next week or if he can, if he's good to go next week, I will play him next week. Now my guy Skeptico, he made a really good point, really interesting point too. He said he would hold Kyle Hamilton out until the playoffs. And when I started, I was like, hmm, I don't like it. I get it. And I understand your reasoning. I don't like it, but I get it because he talked about how like that, that would allow Kyle Hamilton to really be 100%. That's when we need him the most, like the most, the most, because again, that's playoff time. And again, that would allow him to heal up over these next four weeks for sure. So we'll see, we'll see again, starting on Wednesday when they return to practice. We'll see if Kyle Hamilton practices or not. And then we'll just go from there. Now, speaking of Baltimore Ravens and health, Pepe Williams, Pepe Williams, who has been out the whole season. He is eligible returned. I mean, his 21 day window has started 20 days ago. And today, a decision has to be made. And how about, did say like, yeah, we expect to add him to the roster. I just got to talk to Eric Acosta about the specifics on it and whatnot. Now, Jeff Zrebek did mention that with Mark Andrews on injured reserve, the Ravens do have an open roster spot. So that I did not realize that they got a roster spot just sitting there because with Pepe Williams being added to the roster, I was thinking, all right, I wonder who they gonna put on IAR? Who they gonna take off the roster in order to make a spot for him? See, they don't even have to do that because there's that spot due to unfortunately, Mark Andrews injury. And Jeff Zrebek also made another good point. He talked about how Kyle Hamilton, with Kyle Hamilton being out for however long he's out for. Hopefully it's not for too long, but we'll see. But they gonna need somebody to hold it down in the slot. And he said, that could be a role for Pepe Williams. Now, I know Arthur Millette, he can play some slot. It's not always the prettiest award now because again, we had Kyle Hamilton playing there. And when you go from Kyle Hamilton to really a lot of guys after him, it's not gonna be as pretty. Kyle Hamilton, he spoils us. He spoils us as a player. You know what's interesting? And I really, really appreciated this. I mean, I wish she wouldn't have gotten or had to see that, but she did because my wife, she was watching the game. She was watching Raven's game and she saw when Kyle Hamilton got hurt. And she mentioned to me after the game, she was like, man, the defense, when Kyle Hamilton got hurt, the defense, they were playing really bad. They were doing a really bad job. And it's like, ooh, like, it hurts to hear that from your wife about your team. It's true, she was speaking on about facts, but it hurt to hear that. Like, have you heard that from one of your boys? Oh, yeah, that's it. But when you hear from your wife, your wife, and she has a basic understanding and even some detailed understanding and knowledge of football, but she's just a very casual fan. But for her to say that, I said, ooh, yeah, it was rough, it was rough. Because again, the numbers that Film Study Ravens brought out with Kyle Hamilton on the field, Raven's defense against the Rams, 4.1 yards per play. 4.1 yards per play. Kyle Hamilton off the field, 7.7 yards per play that they gave up. So again, it almost doubled. The yards per play almost doubled that they gave up with Kyle Hamilton off the field. So we'll see how they make their adjustments with him going. But that will be very important for the Baltimore Raven to make adjustments because it's gonna happen. Not every single defensive game is gonna be like we want it to be. It's not gonna be like we usually see them when they locking it down, they shutting it down, they ain't giving them probably no points. We wish every game could be like that. We really do. That would be beautiful. Most games are like that, but not every one. So it's gonna be sometimes with the defense, they gotta rely on the offense a bit more. That was one of those games. And then there gonna be some games where the offense gotta rely on the defense a bit more, like the Chargers game. And then there was some other ones too. So either way, there also gonna be some games where the offense and defense, they gonna be doing their thing, but we may need a little boost from special teams. So shout out to Tyler and Wallace, our new official, or not officially official, but I mean, after that, what do you put them on a bench after that? Especially because it's significant because Hardball talked about how Devon Duvenay may be out a week or so with a back injury. So that, unfortunately, that makes it easier for coaches to make a decision. When a player gets hurt, and they could be thinking in the back of their heads like, oh man, this player should be starting. He should be the one out there. But sometimes they just need a little wiggle room. They just need a little segue from one player to the next on how the player that they really feel should be out there, can be out there. But injuries are unfortunate, but they do provide opportunities. Remember if I take you back to Lamar Jackson's rookie in 2018, and Joe Flacco, they will keep throwing Lamar out there for all these different type of plays. And they were showing us like, oh, we really want Lamar Jackson to be on the field. That's what the Baltimore Ravens were showing us. We want him to be on the field. There'll be times that Joe Flacco would even be in a rhythm and offense.  And then Flacco got hurt. He got hit by Stefan Tewitt and injured his hip.  That's terrible, but this is our chance.  And we could talk about that with plenty of other Baltimore Ravens people in NFL. We know how it goes. Injuries are the worst part about football, but they have provided so many people over the years opportunities. And it's all about making the most of it when you're out there. And that's what this Baltimore Ravens team has been doing. They certainly been making the most of it because there's been a lot of injuries over the course of this year alone. But the guys that have been there, they have stepped up and they have shown out. So now Baltimore Ravens things just, again, they keep getting better and better. Things just keep lining up for the Baltimore Ravens. It's looking real good. But now it's all about how you finish.


Hi Michael, this is Ashley with Oxford Toyota. I wanted to send you over a quick video greeting that way you can see who you'll be working with. Thank you so much for your recent credit application. When you get a moment please give me a call. My number is<PHONE_NUMBER> or you can also email me back. I would love to help you out with your vehicle research things. Bye.


Okay, on the definition, so we look in our project. In the system workbench, we use here the right click on our project name, on the GPO-1, on the score SW, in my case. You will not see it, but I here use the properties, although I will press the alt plus enter. Okay, now I have the properties. And here in the build, I go into the settings. And in the settings, here I look for the preprocessor, then I think in the symbols, yes. And here I definitely need to have the use underscore hr underscore diver. And definitely I need to have here the STM32 and the type of the family. If I delete this definition, I will try to put this definition into my clipboard. Then I delete this definition, for example, the type of the microcontroller and apply. Okay. And now I will try to compile. Then I get a lot of errors, because I am not defined which type of microcontroller I wanted. Then if I go here to the app, then he tried to niftify me here. Please select the target STM32 F4 device. And he is not sure which STM32 F4 device I want and how we talk about this before. Not all the STM32 F4 are the same. This is the reason why you need to specify which cells type. Okay. If I store it, I compile it, it will be okay. The same way similar approach will be in the different IDEs, then for sure I will go through all of them to show you how to go into the project option of each IDE. The Atolic will be very similar to System Warbench. Again here we have our project, we click on it, we use the properties, Alt, Enter. Here we go to the build, again into the settings, but the menu will look a little bit different than on the System Warbench. But here we will go to the tools settings and here we have the assembly is the C compiler. We go to the symbols and you can see it's completely the same as in the System Warbench. It's nothing surprising. And now you know what you need to check if you have insight inside your project. In our template projects are these definitions automatically. The cube makes generate these definitions also automatically, but in case that you will start your project from scratch, you need to add this your own. Or in case that you try to migrate your project from the one microcontroller to the second, you need here definitely to change the STM32 cells type. In Atolic it will be also very similar, sorry not in Atolic in IR, it will be also very similar. Here we have our project, here I click on it, we select the option, it's almost the same, only the menu looks completely different. And here we select the C, C++ compiler and here in this tabs we need to list to the right and here select the PEP processor and definitely here we found which definitions we have. We can use the HRDiver and also the STM32F401XE. Now we have the Kyle, Microvision 5, how to go into the project options, it's very similar. Here we can right click here on our project and here go into the options or you can here use this button options for the target. If you want to find the defines, you go here into the C, C++ and here are the defines. You can see again here is the use HRDiver and again STM32F401XE which is in my case. The S is the same as in the SW.


Hi everyone, Joe for Jaspy's casebreaks.com coming at you with a one box break of 21-22 Panini Impeccable Basketball. Pick your team number three. Now some of you remember, remember we had a number block for this, but big thanks to Carl who picked up all the spots in the number block saving me a randomizer on not a Wednesday. Today's, I'm losing my mind, today's my Friday, but it's your Thursday. Alright, so thanks everybody for making this happen. Nancy ended up with last Bob Mojo with the Gris. There you go. Good luck everybody. We mark that with an X so we know that they're all from the, from the same case. Good luck. What we got here, we've got a gold Jalen Green plate. Stainless star is nice. 4 out of 10. That's real nice. One of the, one of the hot rookies of this class. That's going to go to Daniel. Picked up the rocket straight up. Alright, let's see what we got for the rest of the case. 42 out of 49. Damian Lillard. That's for Portland. That'll be for Carl. We got a 23 out of 35. Derek Rose. That's going to be for the Knicks. That'll be for James. Got Anthony Davis. 2 out of 99. For the Lakers. That'll be for Nicholas. Rudy Gay. Jersey and autograph. Elegance. Jersey autograph. 58 out of 99. Kevin with the jazz. Got Duran Sharp. Impressions. Rookie autograph. 40 out of 99. Oh man, I'm 40. Brooklyn. Justin with the nets. 3 more here. 2 cards. 1 redemption. 46 out of 49. Kobe White. That's for Carl and the Bulls. Impeccable stars auto. Alright redemption and then another card. The redemption is, is Rui Hachimura. Illustrious ink. Current Laker but this goes to the Wizards. And that'll be, that'll be for you Carl. Nice. Didn't seem like he was being utilized too much in Washington. But getting some good minutes with the Lakers. Alright, and the last one is going to be Nikola Jokic. Autograph? Yes. 14 out of 15. He might win another MVP award this year. That's Carl. With Denver. Nice. It's pretty sharp. There you go Carl. There you go everybody. Nice break of impeccable basketball. We don't have any more impeccable basketball but we'll try to dig up some more. So keep an eye on jaspyscasebreaks.com for that. Thanks for watching everybody. I'm Joe. I'll see you next time for the next basketball break. Bye bye.


Mom is asked to get off the flight when she realizes why she starts crying. When last have you heard a positive story about airlines in the news? Most airlines make the news for something negative whether it's forcibly removing passengers from planes for no reason, permanently losing luggage, or even worse. However, this is an airline story that you will never expect. When a flight attendant asked a mom to get off the plane, she was confused and thought she was on the wrong flight. When she found out the real reason, she was completely shocked and her world turned upside down. Peggy Uho is just an ordinary American woman.  She lives with her family in Columbus, Ohio. Peggy's number one priority is her family, and she can not imagine what she would do if something terrible had to happen to one of them. However, Peggy's philosophy is that you can not live with fear nor can you pass it on to your kids. This is a great motto to have, especially as she is the mother to three active sons all of which were pole vaulters. The day started off exactly the same as any other day. Peggy had just completed a holiday excursion and was ready at the airport for an Easter Sunday trip back home. She was traveling alone and her husband and sons would not be joining her on the flight. She had successfully boarded her super early morning flight from Raleigh Durham, NC on Southwest Airlines. The flight went smoothly without any hiccups. Upon arriving in Chicago, she had a short hour to change planes, so that she could arrive at her final destination of Columbus, Ohio. So far, all was going smoothly and according to plan. As Peggy had less than an hour between her two flights, she didn't switch on her phone to check messages when running to catch her second plane. She definitely didn't want to miss her flight home. Besides, it was early in the morning and the chances of any messages coming through were seemingly low, so Peggy didn't think that she was missing out on anything. She could not have been more wrong. Despite the grogginess of the early morning and the need to rush from one plane to another, Peggy made her connecting flight. Once on board, she settled into her seat and got ready for the trip home. Once all passengers were on board, the doors were shut, the plane went through the usual safety protocol, and the plane began taxiing down the runway as per usual. Peggy would be home in no time. Or at least, that is what she thought. Peggy and her fellow passengers didn't get very far before there was a sudden change of plan. Without warning, the Southwest plane stopped and turned around on the Midway Airport tarmac. The plane began to make its way back towards the gate. It wasn't long before confusion set in and everyone on the plane realized that something was wrong. After all, it doesn't take a pilot to know which way is up. What could possibly have happened? It wasn't long before a clue was given as to why the plane was turning back, but neither Peggy nor the other passengers would ever guess the full reason. As the plane began to re-approach the gate, a flight attendant came over to Peggy. The flight attendant calmly told her that she needed to get off of the plane and follow her. Peggy was incredibly confused. What had happened and why did she alone need to get off of the plane? At first, Peggy thought that she had accidentally gotten on the wrong flight. After all, it was early and the connection was a quick one. As she followed the flight attendant, she started retracing everything that she did, trying to figure out where she went wrong. Once she got back to the gate, the flight attendant told her that Peggy had been on the right flight, but she needed to call her husband right away. Peggy's heart dropped and the sky turned black for her. Second seemed like hours as Peggy anxiously waited for her husband to answer the call. He had contacted the airline company when he couldn't get hold of Peggy when her phone was off. What could possibly be so urgent? When her husband answered, she found out the tragic news. Her 24-year-old son, who lived in Denver, Colorado, had sustained a head injury and was in a coma. Peggy began to panic. She felt trapped in Chicago and had no idea what to do. Peggy's top priority was to get to Denver and be with her son, but she had no idea how she was going to get there. Her son was one of the most important things in her world, and he was in a coma and a city over 1,000 miles away. Her mind was frantically trying to plan the arrangements that she needed to make an order to be by her son, but her worry for his safety made it seem impossible. Feeling helpless, Peggy started to cry. That's when the gate agent approached her with an amazing surprise. The attendant told Peggy that all of the arrangements had been made for her. Peggy had been put on the very next direct flight to Denver which was leaving in two short hours. Relieved, Peggy realized that she would be next to her son's bedside in no time. The airline's refund and exchange policy for the case of emergency requires documentation and notice, but here she was, being put on the very next direct flight to see her son. Peggy's relief was indescribable. Not only had the airline managed to get her on to the next Denver flight, but they also rerouted her luggage so that she didn't need to worry about her belongings upon arrival. With her flight to Denver and her luggage sorted out, Peggy could direct all of her focus on her son and his health. She was so incredibly grateful that the airline had taken care of all of the admin and logistics for her. What more could she possibly ask for? The agent then escorted Peggy to a private waiting room where she could relax and be alone, away from the crowds, while waiting for her flight. The airline noticed that Peggy was distraught and stressed. They made every effort to make her feel comfortable and calm so that she could arrive in Denver feeling strong. The airline's attention to detail and concern for Peggy was amazing. They gave her peace and quiet, which was exactly what she needed, so that she could absorb the news and prepare for arrival. But that's not all that they did. From not knowing where to begin, to of all of the logistics organized for her, Peggy felt more relieved than ever. As she was waiting for the flight, the agent came over to her again. The agent told Peggy that they had booked Peggy a hotel room in Denver, nearby the hospital where her son was located. In addition, her luggage would be delivered to the hotel so that she didn't have to worry about it when arriving she could go straight to the hospital. Peggy was blown away by how kind the airline was to her during her time of need. They had gone above and beyond to help her. When it came time to board the flight to Colorado, Peggy was given priority boarding so that she could settle in her seat and get ready for the flight. The trip to Denver wasn't an easy one for her as her thoughts were consumed by the safety of her son. The airline had already impressed her so much by how well they treated her that she couldn't believe what happened next. When the flight finally landed in Denver, Peggy was allowed to disembark first. As she got off of the plane, the attendant handed her a packed lunch so that she could go directly to the hospital. With her luggage on the way to the hotel, all she needed to do was find her way to her son. Again, the airline had Peggy covered. They had a car waiting for her to take her to the hospital. She couldn't believe the effort that the airline had gone to help her in the tragic situation, and she hadn't been charged a cent. Peggy went to the hospital directly from the airport and arrived in no time. When she arrived, her husband was already there waiting for her. Finally, they were together for the first time since she heard the news that morning. Thanks to the airline, Peggy was able to get to Denver as soon as possible without having to worry about her luggage, where she was going to stay, how she was going to get to the hospital, or even about her lunch. A few hours after Peggy arrived at the hospital, her phone rang. It was the airline. At first, she thought that they were going to ask her for her credit card details to cover the expenses of getting her to Denver. After all, they did have a change fee policy. Instead, they were calling to find out how her son was doing. She couldn't believe it. Not only did the airline make all the arrangements to get her to Denver as speedily as possible, but they also took the time to check up on her family. So, what happened to her son? Fortunately, Peggy's son Michael survived the injury, came out of the coma, and recovered from his brain injury. Peggy was able to be right at her son's side thanks to Southwest Airlines. She believes that she would never have been able to make the necessary arrangements in her state of mind, but the airline thought of everything for her. Peggy is beyond grateful that she was able to support her son in his recovery. A few years later, Michael continues to recover, but he still has a long way to go. Peggy and her family continue to support Michael on his journey to recovery after his traumatic brain injury. He is at one of the best rehabs in the country, and continues to improve. Since waking from the coma, Michael has learned to walk, talk and go about his daily business. He has even managed to keep his sense of humor. At college, Michael was an athlete, particularly fond of cycling and snowboarding. While life is not the same anymore, the family is eternally grateful for Michael's recovery as they realize that not everyone has such a happy ending. But that's not all that Peggy is grateful for. After her experience, Peggy says that she will only fly Southwest Airlines. During one of the most traumatic and confusing times in her life, Peggy felt fully supported by the agents at the airline. She proudly praises them for their care and attention to detail. She says that the airline saved the day with a sense of care that was second to none, and they never asked for payment. The positive impact that was left on Peggy's life was huge, so it makes complete sense considering what she did next. Peggy was so impressed and touched by the kindness of the airline that she shared her heartwarming story with the media. The retelling of Peggy's story has done its rounds on various media platforms, all of which sing the praises of Southwest Airlines for reflecting a company culture that prioritizes the customer. Thanks to Peggy's story, Southwest Airlines are looked up to as an airline that has set the bar incredibly high for their standard of customer service. The most amazing part of Peggy's story is that this care was not just a once-off act. Today, Peggy and her family continue to support Michael on his road to recovery, but they are not alone. In addition to one of the best rehab facilities in the country, Peggy also continues to feel support from Southwest Airlines. Peggy still hears from the stewardess that was on the original flight when she first found out about her son's injury. In fact, the stewardess recently arranged a gift to be delivered to Michael at the Tampa Airport Terminal. The treatment that Peggy received from the airline touched her heart so deeply that she refuses to fly any other airline, commenting that she thinks the world of Southwest Airlines.


in a product called the smart questioning system. So this presentation is more from the learnings from my project, and how it has helped us. And I'll try to summarize some of the learnings at the end. OK. So this presentation is more from my learnings from my current project, which I do at Ruckus Wireless. So if you have any clarifications, anything, please do stop me. Anything. So the agenda for today, so just to give a brief rough overview of what is the current situation of concurrency or the different models available in the market and what kind of ideas which has influenced the celluloid Ruby framework. And we will see some bit of celluloid code, how we write celluloid code and how we've driven some of the ideas from LLan. And some learnings from my project. This is the agenda. So I was thinking of trying to come up with different ideas to how we can represent the current situation. It was more easy for me to put a picture, because just to see when there's a shared context, obviously there'll be some contention happening between two different entities, which means you have to do a lot of right code to make sure they go together well. And if it's more than one, then it becomes even more a problem where you have to synchronize everything. This is where all your locking, mutex, everything comes in, which means which can lead to a lot of developer efforts spent being understanding the code, writing the code in a right way, testing it as difficult, debugging it as difficult. So this is kind of where the situation is. And many of the mainstream languages do this way. And slowly, I think the new concepts have been coming here for almost more than maybe 10 years.  So one such idea is the actor model, which we'll talk about today. So apart from locking, coming from a Java background, there are a lot of things that have seen through the evolution of Java. Synchronized logs, free intent logs, stamped logs, there are a lot of different things which came basically to improve the concurrency part of it. So one such technique, which I wanted to discuss about the Comparance Lab, which is an optimistic concurrency, meaning that it allows two different entities, two different threats to run without any locking. And then it fails when it detects that there's a change compared to its old state. So this series is also supported from a microprocessor perspective. So there are restrictions for that. There are specific instructions for some microprocessors. So some of the Java uses these parameters in the language. And this has been one of the important things. And the next technique mostly is the read versus write parallelism, because we always try to make a balance which one do you want. If you want to, for one example, it's copy and write list. So the read is always not locked so that read is always better when two different threats try to access these things. But the write has always taken a copy and then replaced as an atomic reference using the CAS. So these kind of concepts are slowly having an evolution. And one of the most important things is a scheme, which is software transactional memory, which is from Closure Scala, which is a well-designed system for concurrency. Because from the name, it's more like a transactional system for memory, taking all the concepts from DD. It also uses some of these concepts from CAS, how the refs are implemented, add-times, agents. There are different good constraints which Closure provides, which I would recommend to look into it. Because comparing this with actors, there are different perspectives. And Richie Key himself has given some of the dissentations why he has got this space for this scheme rather than doing at a land, which is more towards, from his point of view, more towards distributed programming and other things. So actors will just go through it in the next coming slides. I did want to mention CSV, but Communicating Sequential Processes, which is very, very close to actors, except that how it is synchronized is the only difference. The medium is the only difference. I think if we can get the idea of actors, it's very, very easy to get the CSV consult, so OK. So why actors? So some of the reasons, which I wanted to talk about, three generic reasons being the number of CPU cores, the usual selling stuff, the number of CPU cores are increasing, which means the concurrency, we would be writing more concurrent code going forward, which means we can't handle this code by ourselves. And we are not good at it. And it needs to be abstracted. One example, which I can compare to is the garbage collection. We used to do our own manual garbage collection. We know how much amount of issues we face with crashing systems and all those things. So that means if there's an abstraction or concurrency as well, where the system takes care of the concurrency, and we just use the right constructs, and then the program automatically takes care of itself. Still, there are a lot of possibilities where your system can go into a deadlock state or a wrong state, but that can still happen. But the amount of effort we do to debug these kind of issues will be reduced because we are not taking care of the basic system. So with this in mind, because of this, I can compare to a GC, it's very easy for us to develop. So very easy to test. And most of the things you don't have to worry, because the abstraction is provided from the language ecosystem itself. So these three points would apply for all STM and everything, which is a very good one to compare. The last two points is more for the actor we are doing it. Actors mostly represent an object. There is no difference except that they just communicate with each other through messages, that's it. And they are very good at distributed computing, which means there are a lot of applications, like what's that, those kind of real-time applications reduce these kind of concepts to let it crash and make them fail, and then more reliable systems can be distributed computing. I don't have much experience in this, but it's more on the concepts which suggests that they are good at distributed computing. So how do I describe actor model? It's more like just computational objects. Since there's no shared state, we want to avoid shared state, but we don't want to take locks and everything. So the state has to be someplace. So the state usually goes with some actions around it, right? So which means there has to be some computational object which wraps around the state and does all the actions to it. So they just define as computational objects. So since this object is responsible for updating its own state, giving it a state, updating the state, there's no shared state between two different objects. Let's see, it'll be better if I go through an example. And how they communicate this by just using asynchronous message communication. So basically everything is like evented react. So I send a message, I get a reply back. So everything is done through that way. And the reason, one of the other important things is since it's becoming a computational object which runs as separate entities, there has to be a lot of transactions happening between these entities. Which means they have to be like a lifelike process in the system so that you can launch a lot of instances, a lot of state instances on this so that they can run in the system. And the virtual machine or whatever the system which is running should be able to support these kind of things to have a better time for instance. So this is one of the important things. Yeah, so some of the examples which they use are actor model, WhatsApp, TabitMQ, CoachDB. So, okay, I just wanted to compare at LAN. So this is one voice process in LAN. So when we launch an EVM, the LAN VM, so basically what it does is it creates, you can have multiple actors in the system. So these are again something like, these are like computational entities as I said. Let's call them, for now it's like different actors in the system. So each actor has to communicate with another actor since the state is very closely related to the actor. Which means nobody can access the state except by contacting the actor. So if an actor has to be contacted, then he has to have an actor. So he has a bit or some actors by which he contacted the actor. So then, when we try to contact another actor, we want to pass ahead of a queue or something which handles all your incoming messages so that he can handle and then react based based on to the input which comes in. So that's how it works. So every actor can send a lot of messages, based on the messages they see if they can respond back. And basically these are again lightweight processes, these are not actual threads, Ruby threads, or OS data threads, these are again a lightweight process which are like tasks which are provided by LAN, which acts like OS. So it has its own processes and it has its own scheduler to schedule these processes, which will be using a group of thread pool on which basically these things are on. So the underlying is still the OS data threads, but how it runs is by having another wrapper layer around which it makes these things easier so that the context which is not possible for the threads to happen. So basically an actor can create new actors, send and receive messages, this is all it can do. So one example I can give is, assume it's a store with different buyers, so it can be 100 buyers or 1,000 buyers, so they try to buy something, so they send a message by, I want to buy this item, since, because the state is based on the interaction, so the store receives a message and what it does is it processes the message, it's a queue, so it processes one by one, it's not manipulated, so it processes one by one, so it takes the first item and then it plays off item received response, let's say if you tap on the quantity, this receives a, okay, this is successful, which means it updates this list and then this guy updates this state. Let's say if he's, this second buyer can also do the same thing, so if the item is out of stock, this may say that there is no item shipment and allow by giving a response back. So all of these things are not synchronous, from a distance perspective it's very asynchronous. The synchronous way of doing is the CSP approach, where you can do the same thing as CSP, but from an airline and actor model perspective, this is more, more ideas. So when I see how an airline, sorry, the actor model works, this is the example I can just give off, no locking whatsoever, so I just flit it through, so it does. That's crazy, right? So, and you can find a lot of images like this. So, the other aspect which Cellulite tries to take this is a little crash model, so where you don't write the system in such a way that you product the system, make a lot of handling and all that. It allows you to let the system crash and then deliver itself. So, basically it avoids a lot of boilerplate load and it makes your system reliable as well. I can share the experience of the project line near the end, but we have solved these issues using the little crash model. So, I just wanted to just throw some elixir because one reason I wanted to show how the message parsing works and also it's very close to Ruby, so I just wanted to show. So, this starts elixir application and after the first time, what it does is it starts another process. It starts another process. So, they are like the process, right? They are not actually, it's one-to-lite process, process two. And once it goes to this mode, resuming mode, that is ready to receive messages. So, it does not do anything. It's a blocking problem. And so, this firing process what it starts sending information saying that bridge. And once you send the message, it's asymptomatic. So, it's there, resumes the message and what is it? This is basically pattern matching. So, this takes the pattern and then says how, that's it. So, after the first processing, it sends the second message saying that shut down. That's it. So, sorry, after the first processing, what happens is this is gone through and then this loop ends because this you can only take something one and what happens is this process is called back again so that this goes through internet impression where it receives again. So, this is again, this is not first call-stack explosion because the airline can take care of tail call depression or they can optimize tail call optimization. So, this is not a problem but there you will be a problem. So, it goes to the receive mode again so that it can receive the second message. So, basically the second message is set and then we can send it back to the receiver again. So, basically this is how the whole receive way of doing an airline works. Elixir can do more than this model. Just wanted to show how this messaging model works. Because celluloid takes a different aspect to it. It does not do this way. So, it's just a Ruby framework for after concurrency and it's not very similar to what we saw like the one, Elixir. And it calls concurrent objects as cells here. So, every actor has a thread here. So, associate it to actor. So, the way we can interact with the object is through proxy objects as more internals but I think we can leave for now. So, what celluloid promises is more deadlock free synchronization where we don't have to worry about the things that we discussed now. And it is also adopting the fault tolerance from LLM. That's what the list is just talking about. So, this is one of the libraries that say there is just been merged into concurrent library and current only. So, the typical way of writing is taking a new text and then synthesizing all the code. So, just wanted to show the example just for the basic example. This is a celluloid way of doing it. So, what we do is just say class minion and then just include the celluloid library and it acts like a normal object, no difference. So, when I do a new, even the new was put onto so it can create a proxy object for us and automatically uses class, turns this class into an actor and associate that thread to this class. So, and then I just call a message called acted at hello. And this is the most like a synchronous call. This is where I talk about where it's not going to be the same to like how we do it in the LLM style because this is more suited for Ruby kind of languages. So, the way we interact also provides the flavor you can receive some messages but it is not this one from celluloid. So, this is just an example. So, this is a synchronous call. This is a synchronous call as you see here. You can see all this asynchronous view. That can be a bug in this code. Can you identify what can be an output? This is the output, I said output. Can you even think what might be the expected output? The synchronous, asynchronous, the main grid can complete before this, this act of work. So, there's a possibility that this might not be an input which is a trivial thing. So, this is more an example around the state. So, there we have the state. So, since it is a normal object, you can have a state in such these objects and just do whatever you want to do. So, this is a synchronous call. So, this is a synchronous call. So, this is a synchronous call. So, this is a different way of saying. The last example did not have supervised. If you see we did not have supervised. It's just an actor. So, the seller also introduces something called the supervising concept on the airline way of doing it. You can supervise a particular actor. So, that if it crashes, it will automatically revive itself. So, what you do is just meaning that supervise and give a token name. And this automatically runs, starts and then it starts running. So, in this example, what I do is, I create 10 text and then call add on that. Just to show how it would behave. So, I mean, this is not a very typical example because it's rupees are on GIL and other things. So, where we might, it's the same output in Ruby. But, I think Array is not that safe in Ruby. So, we might get wrong results as well. So that is the bottom of the list. We'll get wrong results. So, yeah. Any questions? If you did questions about that. Is there a guarantee or a guarantee that you were wrong? Yes. What is that time list? Time list. So, if you've got two sentences going add, add, add, add. You have got a word that then has a problem. How does it start? So, it's the typical mailbox. So it's just a queue, that's it. All of the subtraction are done in the cellulite framework where it has the mailbox, it typically has a mailbox and all of your messages goes into the mailbox and it executes it one by one, that's it. Because that's why it has a thread associated to it. So if you see in the last examples where we have always tried to make it sequential, it is not like asynchronous way of doing it because all of them are synchronous communication, not asynchronous. So that's where cellulite wanted to do this sequential communication, more apart from the asynchronous way of doing everything because it may not fit the bill. So how they did it is based on a paper called Act Up Modern, which is done for Python. How to pipeline stuff so that they can make these kind of synchronous calls for actors. So that's the idea. I mean, I'll show you an example where you can prevent things like the blocks. And it also supports exclusive mode like Erlang, where you can't do anything with the actor except that the... So in Erlang, if you have an actor and then it listens to a message, you can't do anything apart from for the rate block. So which means you can't interrupt the actor to do something else. In celluloid, what they allow is you can interrupt an actor to do something else, to give an example. So this example, we have two different actors, actor one, actor two. And what we are doing is we are calling perform function actor one. So this gets called. And from this actor, what we are doing is we call the second actor, the perform function. What this actor does is this actor calls this actor one again. This is a very good example, but what do you think might happen in this code? One possible case, we can get blocked, right? Because you're doing a round-rate communication. But what celluloid has done is that's why they don't get deadlocked. So it shrinks the output perfectly fine. Because assume this case, so we start actor one, actor one starts doing this stuff and then he's calling the second actor. It's going to call the second actor's thread. So this means actor two started working. Meanwhile, this guy is waiting for this guy's response, right? So it's waiting for the response and this actor starts performing his action and then he calls another, he gets another message to actor one again. So at this point in time what celluloid does is it can intelligently understand that, another call which is coming in. So it integrally is the current one, it suspends that one and then all those disorders happen. So basically it can avoid deadlocks in those kind of cases. But do you think how do we can achieve this in Ruby? Any ideas how we can suspend these kind of, basically audit release, you're doing something on a thread and then we suspend that particular task and then we use the same thread to run another task on that. Yes. So Ruby provides the fibers which are very important in this case. They use fibers to do this. So this example just prints. So when you create a fiber it does not do anything and then the first time you have to resume a fiber, you resume the fiber and it prints this and then once you think that you can stop this fiber, you can say yield on that. So it stops the interpretation. So it solves this context and then comes out and then whenever you want you can go back again to resume it. So basically this is how it implements, cellular implements it. So yeah, you can see the fiber task being created for celluloid. For all the fiber tasks created by celluloid and you can see a lot of produce and other things. So another example which is interesting for us was the supervised groups. So what you can do is you can see supervised one particular actor or you can supervise a bunch of actors together. So that's what is called supervised group. So here I've used a different example. So pool is something like instead of one actor you can say a pool of actors. You can say pool of minions or size two. So basically it would allocate each thread based on the number of configuration which we passed. So it takes two threads here and then it initializes these two minions. So basically it initializes these two minions and when I do this run, all it does is it creates the supervised group and creates two minions which are initialized. And what I do is I just wanted to assign some five tasks to the executive direction. So five times what I do is just call action on this again. So the minions would create five actions. But if you want, the threads would be the same threads getting repeated because each minion has a thread which means it has allocated two threads. So how many number of tasks you send to this particular group of minions? It knows it's a pool. So right across in one of these workers the task. So that's why it gets repeated here. This is another way of handling a pool of workers. And if you see this particular, every five raise some exception. So what does this? This is a timer product based on the right. So you can schedule tasks on the same actors since it can be interleaved in other things. So what happens is every five seconds it raises some exception. And what happens if you see, it raises every five seconds and it automatically gets divided. Because it's running as a similar container so it can automatically manage stuff for us. So we don't have to worry about exceptions. We can do most of our exception blocks and other things. We don't have to catch them. So other cellular features I can think of is you can link between two actors and then make them fail or phone fails, those kind of things. Futures are possible like how it is done. It's not very similar to a car or something but more asynchronous we are doing it. And the time is like the example which I showed you, every. So there are timers, there are finite state machines provided and you can also work with signaling but which they don't recommend in celluloid because that can cost it lots easily. So the last two slides. With respect to the project learnings, so we have a lot of Ruby process like a rescue process in our project where we try to different things like queues, redis and other things. Sometimes what happens is sometimes the connection of the queue gets lost and sometimes process will die. So using cellular helpers to clean up all those things, remove all those exceptions and I mean literally we remove a lot of code because of all these exception and use. So in this case we had a pool of analysts. It creates new process workers and this could be blocking or unblocking, you can do whatever. So because since queues blocks on this and let's wait for messages, if there's some message it calls these processors to do its process and then come back. And if any of them die, we can make the whole chain crash again, come back again. So all of those things were really helpful for us. So based on this we had a lot of exception free code and some of the use cases where we had temporary process crashes were rectifiable. We are not able to, especially when sometimes we had to do restart some of these queues or redis. We don't have to worry about it now because if it crashes we'll divide back. So it gets a lot of reliability for us, especially on the production systems. And it was easy to write. Most of the examples if you see it is very easy to write. There are some learning come but it's very easy to write with celluloid. And caveats, okay Ruby has this JL, so we can't do anything, even though there are multiple threads. And actor per thread can't scale really well like Erlang or because you have a lot of pitted data factors to get done. So that is not possible. So we tried with JRuby, Rubinius, Rubinius was horrible experience. JRuby was better but still there was not a big difference for us. We did not perceive much but the problem is JRuby does not have a fiber concept, which has been trying to implement this in the libraries and other things. So because of that it did not work out well probably. And there are some learning curve and with respect to the library it was not that mature. And with respect to some aspects, the crashing aspects. So we did a lot of testing, we did our own spikes to make sure that it does not crash or come down. So we did some delays in other things, which we understood in the library better to make this work for us. Further topics I just want to list on real is based on the celluloid framework. Spray is another actor based server. Elixir, yeah Elixir also has CSP kind of things. And Aqa Reactist is also getting popular with respect to the actor conferencing. And the Poser is the one which we are talking about on JVM stuff, lightweight processes for JVM. And yeah, so find the difference between CSP and actor. Some of the references, this is what I was talking about which piece idea about how we chose the conferencing which is the good point. And most of the examples I have had here may celebrate the examples project. And we did a lot of crashes in this project for Celluloid. Thank you, thanks for your time. So then Celluloid, your supervisor runs in a track as well. They run a single track there. So is there anything that supervises the supervisor? Or why the supervisor crashes? The supervisor group is another supervisor on your supervisor. You can also have supervisor group within a supervisor group. But out of the box, when you spin out the supervisor, does it automatically have a supervisor that supervises the supervisor? No, the supervisor itself has a track. Correct, correct. But why that track dies? So your actors... If that particular trend doesn't bring the whole... Also all actors die as well. So that's why... Can you have one actor watching from... like can you choose in five minutes what each other should get? Can two supervisor actors, sorry? Then they just watch each other, so if one dies, it spins itself. You want two actors to be part of two different supervisor groups. Two managers. If one manager dies, can the other manager spin the first manager back up? You can, I mean technically possible because you can literally manage all kinds of encoding. Because you're able to link actors, because it's a registry, you see how we access the actors from a registry. So the registry knows all the actors in the system. That's how Erlang also works. So which means you can access all the actors from the system even though they're registered part of a particular group. Which means you can link for a particular actor on another supervisor group and then make him launch. That's how it works. Yes? The priority... ... ... Correct. Yes? No priority, I mean if it's free, just should use the task. If you see the threads, some threads are repeating more than the other one. So some threads are repeated more than the other one. Nine threads are repeated more than the other one. So if it finds it free, just schedule the task. So it queues, that's it. Can you look at what's queued? Because everything is a mailbox already, even a pool you can assume it's a mailbox, but some are different things. So it's just an abstraction where you can queue all the messages and then use your free threads to work on those actions, that's it. Do you know as to whether it's free or it's not free? It automatically answers. In this case, we did not do anything. We just called this action, that's it. So cellular text cannot schedule in that particular task. We don't have to worry about it. Which thread does it or how many... So you can scale it based on number of... Let's say if you... In some of the project cases where you want it to increase the pool, you can increase the pool to assume that you can handle the load. Maybe I'll put it somewhere for 0B, but we can do that. Sorry, just to... I mean, just testing my understanding, this sort of seems a bit like a queue, right? It ends up in a queue and then you have your pool of workers who pulls up on the queue and processes it. But, and you mentioned green threads. Is that how it's implemented? So there's no... It's not even the old threading, right? It's not even the new Ruby thread. So when you say new Ruby threads... Like the green threads of the old stuff that isn't even... See, it's not equivalent as Erlan because there is no concept of... Even further scheduled miniscule processes which are called green threads. So that's why they use fibers and other things to simulate the behavior because... I don't know, maybe... I don't know if we could try that with fibers by implementing... Fibers as the miniscule processes in Ruby. I don't know how that would work out. But currently, they don't do that because they are always like a green to a particular factor. Which is not the same case with Erlan because Erlan has a pool of, let's say it has a pool of threads. All of the processes look the same to Erlan and then it tries to use these threads, like something which it can schedule the task and then stop it, dressing it back do something like that. So why would we do this? Why would we use this pattern? Which pattern? Okay, so two aspects, right? One is the failure aspect, which you would have understood because you don't have to worry about all the handling of exceptions and other things. The second part is when you have to deal with state where you want to lock and other things, you don't have to do that because it acts like a normal object and it takes care of the concurrency part for you. So you don't have to worry about how to lock, how to mutex, when to lock it. There are two different mutexes, how to handle those sorts of scenarios. We don't have to worry about that. This might not be the case for a typical project or something like that. That's why if you see the examples, most of them are around the Swift servers, what's up, those kind of different kind of system, this might not be the case for all different things which we do. That's why it may be STM, those kind of things might perfectly fit. But using CSP, those kind of concept on Elixir, again it opens up these ideas again, but not on Ruby, as of now. Yeah, because I mean, I guess a lot of my parallelism problems are all kind of multi-machine, it's like multiple machines trying synchronization and kind of making sure that I don't do multiple things to use this record. It's not going to cause a different machine. Because we have BB as our concurrent system. All right, so you have any questions for Elixir? We can look for him after that as well. Thank you.


update. Hi everyone, Basil Chapman on this 14th day. This is Thursday. This is October. We're looking at the Dow. Let me just move over to that particular chart. Here we go. Okay, there it is. The Dow is up 353 at 34,733. Remember, we're looking at these arch formations. How you can, let me just get this right here. Arch formation and how it keeps getting back to the Chapman Way inside track repellent zone. We're getting close there at the height today, so far 34,805. Just bouncing around within this rectangle formation, now trying to take out 34,860 will be the first part of the resistance level. But if there is a close, I want to say Thursday by Friday or Monday into the 35,100 area in the Dow, that's a nice breakout to the upside. It says if you've raised the base on the shorter term, still within a rectangle formation, but it becomes a big positive. Let's go to the S and P, S, B, X. There we are. It is in fact testing the resistance level right here. It's up 50 at 44,14. And what we are looking at, let me just do this right here. And what we're doing is we're right at the resistance level in the Chapman Way inside track repellent zone. This is a very big positive. If this breaks out and we get to the 44,20s by a Monday, Friday or Monday, that's going to be a nice turnaround to say. Within the context of this big digestive phase, this is a nice counter-generality. I'm treating it as a counter-generality at this particular point. The QQQ is way below the resistance level, but it is up nicely at 4.88 at 364.80s. It's touching the 50-period moving average resistance. I'm going to give it all the way to Monday or Tuesday of next week. If there is a trade into the 368, 371 area, it doesn't have to close. It just has to bounce to that. If they really start to improve the weekly for the first time, that's going to be a big deal. All of this says that don't turn around by the end of the day, don't fail. You just do not want to see that. IWM, a big move up. It's right in that Chapman Way inside track repellent zone. I'll be talking about all these different techniques in my webinar coming up Tuesday. It's coming Tuesday at four o'clock. Check out the front page of TFNN, and gold is up nicely. It's up another four dollars. It's about to hit the 1804, 200-period exponential in the end. I'll be back in a few minutes for the type of technician to help you to stay. Check out my opening form on the data in this panel. Back to you. I hope to see you.


Hello everyone, this is financial author Amit Dan of amitdan.com On this channel, you'll find financial travel and more videos just like the one you're watching right now If you like what you see, please give it a thumbs up and consider subscribing Hello everyone, this is amitdan of amitdan.com on this channel. You'll find financial travel and more videos Just like the one you're watching right now If you like what you see, please give it a thumbs up and consider subscribing Today, I'll be unboxing a rav power portable charger However, I'd like to mention that I just did another unboxing video of the rav power mini 3350 ma h charger which I'll link on top of this video and I'll set this aside here and this one Which will be unboxing is a bigger size and this one is a 16 70 16 750 ma h 4.58 dual usb output external external phone charger And it has a smart 2.0 technology and I'll just Go over some specs according to the manufacturer so for example Uh, if you have iphone 6s It will provide six charges if you have galaxies s6. You can do four charges And ipad mini 3 you can do one one and a half charges. So this is six 16 750 ma h. We should be a very good capacity uh to Charge your electronic devices when you travel and It has a powerful and stabilized 4.8 current output Which what it means that uh, it's a more than ordinary portable charger and It has a two-ice input which cuts recharging time by half than other ordinary charger all these specs i are by according to the manufacturer so We'll just go ahead with the unboxing and Look at some more specs a little later Okay, so let's see if I will be needing the scissor or not So here's the front of the um charger and Here's the back So this model is uh rp pb 19 And We'll just Start With the unboxing here. So I'll put that here for now Okay, so it looks like there's no need for the scissor Okay, so we have the box here and Should be this way Okay, so the first thing I get is a warranty card So you get 12 months warranty however if you register then You'll get Looks like another you get 18 months extended warranty and It looks like they have other free stuff I'll just put it aside for now and then leave it here so we have the power cable at the usb and micro usb cable or card pretty set for now and Okay, actually looks like they gave two of these So one is a little bit longer and the other one is shorter, which I I appreciate and it's a very good idea because you know you can use whichever you want based on your Distance from your poor electronic devices So I'll put it here And then oh there's a pouch looks like soft material and again, this is a evaluated stuff and you can keep this in here when you are not using it just to Protect it So this is also a good idea to add this type of stuff and then we have a start guide and you have all those things you need to know I'll just set it aside for now and let's take out the Power charger power charger. So you have this one Okay, put this here for now Okay, so here is what we have This is the front side And this is the back side input 5 volt to Slash 2a And I'll put DC 5 volt slash 4.5 a maximum total Okay, so let's see if we can turn this on Okay, actually it's working So we have Battery level indicator here and slick designing And looks like there's a convenient flashlight, which should be right here Okay, so here you can see it's working and here's the usb input two of them and here's the micro usb Input right here. Okay, so I just turned this off Okay, so I'll just go over some more specs according to the manufacturer Just to give you an idea Okay, so according to the manufacturer, it has premium lg panasonic battery cell And it protects your device from over charge high temperature and over current and automatic wake up and charging And isomar technology which automatically detects the optimal output for electronic devices And maximizes the charging speed And battery protection is it protects the battery from short circuit and over current And it looks like it's a Neat designing I like the way it looks although it's white so it might get a little bit dirty, but that's not a big issue And It doesn't have the any cheap feeling when you hold the charger in your hand You can it has the feeling of quality and durable building material So that's a very good thing So that's all for the unboxing And Thank you for watching the unboxing If you like what you see please give it a thumbs up and consider subscribing And I'll link the portable 3350 charger On top of the video you can yet watch that as well. So this one would be more for Longer term use and the portable one which is right here It would be when you are doing a very short distance traveling or you're just going outside And this one would be for good for appropriate for long distance or when you're away from home Okay, thank you and have a good day


Hello and welcome to NewsClick. I am Paranjoy Guha Thakurtha and today we are going to discuss what happened in the Rajya Sabha and to discuss what happened in the Rajya Sabha, its implications whether it is unprecedented or not. I am very happy to welcome Mr. P. D. T. Achary. He is a 4 month secretary general of the Lok Sabha, the lower house of parliament. He was secretary general of the Lok Sabha for 10 years between 2004 and 2014 that is the 14th Lok Sabha and the 15th Lok Sabha and he understands parliamentary procedures and rules very well. Thank you so much Mr. Achary for giving us your time. On Monday the 21st of August 8 members of parliament, opposition members of parliament in the upper house of parliament that is the Rajya Sabha, they were suspended. These included members like Derek O'Brien of the Trinamool Congress, Sanjay Singh of the Ahmadi Party, Rajiv Satap of the Indian National Congress and K.K. Ragesh of the Communist Party of India Marxist. Now what happened on Sunday when discussions were going on about the bills pertaining, the bills include the farmers produced trade and commerce bill and the price assurance and farm services bill, there was a big hue and cry and these bills that had been approved by the Lok Sabha earlier and though the opposition obviously lacked the numbers to block the bills, the opposition wanted the bills to be sent to a select committee. The opposition members wanted to extend the discussion to Monday and the deputy chairman Hari Vansh Singh, Hari Vansh as we call him, he refused permission. He allowed the agriculture minister Narendra Singh Tomar to continue his reply despite a lot of hullabaloo. What we saw was at one point of time you know the copies of the bill were torn and thrown, microphones were wrenched from their handset, the Trinamool Congress member of parliament Derek O'Brien went up to the deputy chairman Hari Vansh's desk, waved the rule book at him and there was a lot of unruly behavior and at one stage the marshals actually formed a human wall between the deputy chairman and the protesting opposition members and the chairman of the Rajya Sabha who is also the vice president of India, Sri Venkaya Naidu, he said that the deputy chairman had been physically threatened and abused and that was the reason why these eight opposition MPs were suspended. Now we've seen unruly scenes in the Lok Sabha and the Rajya Sabha and we've now seen no confidence motion being moved against the deputy chairman which has been rejected and typically on both sides of the political divide there have been predictable responses. The opposition has said there's been a murder of democracy, the prime minister said this is a historical day because of the passage of these bills and the opposition claimed that the Rajya Sabha deputy chairman broke every rule and the Rajya Sabha television feed was also blocked, there was censorship. So sir, I want you to explain to the viewers of NewsClick what you make of this unruly scene that took place. The unruly scenes and ruckus, pandemonium in the house is nothing new. This used to happen in the Lok Sabha quite often and it used to happen in the Rajya Sabha to some extent. So there is nothing extra ordinary about the ruckus in the house. Yesterday actually you know there are two things which are important when we look at yesterday's happenings in the Rajya Sabha. One is that the house extended its sitting beyond one o'clock. They were to adjourn at one o'clock. The chair extended the sitting. Normally there is a consensus built up on extending the sitting. If there is no consensus that means if the opposition does not agree then the sitting is not extended and the house adjourns. That used to be the practice all through. Now here what I understand is that yesterday the house sitting was extended without the being a consensus and the opposition naturally they shouted and so on. But the proceedings went on and during this extended time the minister was also replying and the reply was given and then all the rest of the things happened. So why the chairman or the government thought it necessary to pass this bill yesterday itself by extending the time actually is not known. They could have passed it today by accommodating the views of the opposition. That is what normally is done in parliament because nothing will be lost. The government has majority in any case in the Rajya Sabha also they are the largest single party and the other parties are there to support them. So they have nothing to fear so far as the fate of the bill is concerned. But then the only problem was that they wanted to pass it yesterday itself. No, no, I may just interrupt you sir. What was the urgency and what was the urgency of the deputy chairman Mr. Hari Vandu wanting to pass those bills on Sunday itself? This is something we are unable to understand at the same time. Does the chair in this case the deputy chairman does he not is it not within his discretionary power to decide to extend the session or not? I mean after all there is no rule or that binds him to that. I mean it is his discretion is it not? Actually it is not his discretion. It is the decision of the house that is a consensus. There is a sense of the house taken on such issues. The sense of the house is taken. That is what I said earlier that even if I mean if there is no consensus if the members in the opposition say that they don't agree to this proposal then the chair adjourns the house. Chair would say that there is no since there is no consensus we are not going to sit beyond the scheduled time of adjournment. That is the normal practice but yesterday I do not know why no effort was made. No effort seems to have been made to bring the opposition on board and then actually that should have been done. That is a normal practice that is resorted to or followed in the legislature particularly in parliament. Mr Achary there were also some other developments that were unusual. Now before the voting took place after all this ruckus the opposition wanted physical voting. They wanted the votes I mean individuals who are present to cast their vote. However the deputy chairperson decided to go along with the voice vote. Is this also unusual out of the ordinary? So far as the voting procedure is concerned things are clear. According to the voting procedure when the debate is over the chair puts the question before the house. For example the chair would say now the question is that the motion be adopted. There is a motion before the house. Everything is presented before the house in the form of a motion. So he would say that the question is that the motion be adopted. Those in favor say aye so some people will say aye and those against may say no some people will say no. Then the speaker will the chairman will say I think the eyes have it. He will say that and he stops there. Then a member mostly from the opposition stands up and says no have it. No have it. That means he is challenging the decision of the chair. He wants a division. Then the chairman would say let the lobbies be cleared and the lobbies are cleared for three minutes. Then all the members who are sitting in the lobby and all that they will come into the house. They will be ready for voting. He will repeat it again. Those in favor may say aye and no and then people will say no. They knows have it. Then he will say division and then the members will press that button. The voting will be done. This is the process. Now the question is can the chair ignore a demand for voting. Voting means the division. Actual voting in the house. The other is voice vote. Whether the chair can ignore a demand from members for a voting in the house. I would say chair has no authority, no power to ignore a demand from the members for an actual voting in the house. He has to under the rules he has to. The reason is that under article 100 of the Constitution of India the issue that is before the house, any question that is before the house is decided by a majority of the members present and voting. Now as you know the majority can be decided. Majority is a very precise thing. Majority in terms of number. Otherwise you cannot decide majority. Majority has no other meaning. Majority has to be decided in terms of the number. So that is determined by voting in the house. That is what the constitution says. So constitution is very clear. But the practice of voice vote is there is followed in all the legislatures. When there is a presumption that the government has majority it is okay. So we can pass it by voice vote. But if there is a controversy and if there is a demand from the members that there should be a voting in the house then the chair cannot ignore that and the chair has to proceed to conduct the voting in the house. To the first point that you mentioned which was that normally there should be a consensus on extending the sitting of a particular session in either house or parliament and unless there is a sense of the house and there is no consensus whether it's a speaker of the Lok Sabha or the chairperson of the Rajya Sabha or the deputy chairperson whoever is in the chair should abide by the sense of the house. That was given a go by on Sunday. The second point you say that the chair cannot ignore. He has no power, no authority to ignore a demand for voting, physical voting as opposed to voice vote. Am I correct sir? Yes, absolutely. All right. Now let's come to the third equally contentious and controversial aspect of the proceedings of the upper house or parliament and that was nearly 50 almost 50 members of the Rajya Sabha. All of them are belonging to opposition parties. They moved a no confidence motion against the deputy chairman Mr Harivansh and this was rejected on Monday by the chairman of the Rajya Sabha, Mr Venkara Naidu. Once again is this something unusual, unprecedented? The constitution of India provides for a resolution to remove the deputy chairman in the case of Rajya Sabha and the same provision applies to the speaker and the deputy speaker in the Lok Sabha. The only stipulation is that there should be a 14 days notice. If the notice period is less than 14 days, then it can be rejected. Then the notice should contain specific charges against the deputy chairman or deputy speaker or speaker. These are the two conditions which need to be fulfilled and there is no other things. There is no other ground on which a resolution can be rejected. I do not know on what ground this resolution has been rejected. I do not know. But sir the question that would arise is did the members of the Rajya Sabha who moved this no confidence motion against the deputy chairman Harivansh Ji did they give a 14 day period, a notice for 14 days? Did they specify specific reasons why they had lost their confidence in the deputy chairman? Are we aware of these two aspects of the no confidence motion moved by almost 50 members of the belonging to opposition parties why in the Rajya Sabha? Well I do not know. I have no access to this inside information. But what I am saying is that as per the rules and as per the constitution this is the procedure that needs to be followed 14 days notice and as per the schedule of the session the house is to adjourn on 10th of October 10th of October and if you go by that there is 14 days are available 14 days are available because this motion is taken up and put in the order paper after 14 days that is why it is called 14 days notice period so it will be taken cognizance of and it will be put in the order paper after the completion of the 14 days and if there are no 14 days left then the notice can be rejected but in this particular case there are 14 days if the house is adjourning as per the schedule on 10th of October that means they have 14 days so on that ground it cannot be rejected the other ground is that it should specify the charges against the deputy chair post I do not know what charges have been made in because I have not seen that and if they don't conform to the rules in this regard then of course the chair can reject it if they don't conform to the rules again I must say that I have not seen the grounds which have been cited in the notice therefore I can't make any comment on that but tell me have there been any instances in the past any precedence of no confidence motions being moved against either the speaker of the Lok Sabha the deputy speaker of the Lok Sabha the chairman of the Rajasabha the deputy chairman of the Rajasabha are there instances of such no confidence motions being moved against these constitutional authorities yes in the Lok Sabha there are many instances there have been many occasions when no confidence resolution was moved against the speaker as well as the deputy speaker but in the Rajasabha I have not come across any such instance where a no confidence motion was moved or resolution was moved against the deputy chair person but so far as the vice president is concerned it stands on a different footing there the resolution has to come before the Rajasabha first it has to be passed and then it has to go to the other house and all that so there is a different procedure for that but so far as the deputy chairman is concerned the procedure is the same as is applied to the deputy speaker and the speaker in the Lok Sabha so Mr. Achary what would you say is the big takeaway what happened on Sunday well subsequently what has happened the suspension of it members of the opposition in the Rajasabha if you I mean you explain the the the laws the rules the procedures but if you look at the big picture in what sense in in what respect I should say is the the the events that took place on Sunday unique different out of the ordinary unusual unprecedented well as I said in the beginning records of pandemonium is nothing new in the houses of parliament and in other legislatures in the country these have been occurring with greater frequency and there are ways of dealing with that there has to be a trust built up between the government and the opposition in fact I would remember one parliamentary affairs minister by name K. Raghura maya he was the minister for parliamentary affairs in Indira Gandhi's cabinet in the 70s the early part of 70s he would be most of the time moving around in the opposition benches he would come and sit with them the lead is even the ordinary members and sit with them and discuss with them in the house itself you are an extremely mobile parliamentary affairs minister in fact I would say that he was a role model of parliamentary affairs although Indira Gandhi had no fear of no fear in the house I mean she had an absolute two-thirds majority in fact so she had nothing to fear but still Raghura maya would be sitting with the opposition members building up a consensus and taking them on board so that is the way in which parliament should be conducted parliament business should be conducted to build rapport with the opposition so that business is transacted with the cooperation of the opposition you know there is a famous dictum in parliamentary system the opposition should have it say and the government will have its way government will have its way that is a famous dictum we should be followed in practice the opposition should have it say they should not get a feeling that they have been denied an opportunity to present their views similarly the proper procedure is being followed and enough opportunities are available to the opposition if proper procedure is followed in everything and that is why we have rules in the house these rules are to be obeyed followed in letter and spirit only then we can say that we have a very smooth running of parliament otherwise it will give rise to resentment and when there is resentment the members you know they react in different ways and in the earlier Lok Sabha's when I was there in in the 70s there was no occasion for members to come into the well of the house this started much much much later nobody would think of coming into the well of the house in those days there was no such instance at all but there used to be very very very very good debates syndicating debates in the house and they would often put the governments on the mat but that kind of a thing is not seen these days now the immediate reaction is to shout slogans and come to the well of the house well that kind of a situation could be avoided as I said my point is this if a prop if trust is built between the government and the opposition if that is done then I don't think this kind of a scene will be repeated in the houses of parliament if I can summarize your views you then today believe that the trust between the government and the opposition has been broken and what happened on Sunday by by the the decisions of the deputy chairman not to extend the session of parliament the his decision in terms of the voting procedure and you know going ahead and not going with a physical vote but a voice vote and finally the no confidence motion against the deputy chairman of the Rajasabha all these are unprecedented developments that have taken place and these reflect the breakdown of the trust between the government and the opposition so would this be a fair summary of your views Mr Achary yeah yes yes thank you so much for speaking with news click and thank you those who have been viewing and hearing the views of Mr. P. D. T. Achary former secretary general of the Lok Sabha do keep watching news click thank you for being with us