if we can use the right technology and do the right sampling for the people, it will definitely help the people. If we have enjoyed this video, then don't forget to like, share and subscribe to our channel.


friends writing in the oldest language in the world Tamil Mahakavy Subramanyam Bharti ఔ౿� need, మోరసిన పఀ్please హ్సాది thôi పివయమ ไమాదనం ఖౚంాట్డిం� Japan సిర్వదిక న్యో � curiosity ډ आन्निझलम नंणो नऴरो wives ډ सेोम ډ मोГ परion वहा दर कर SASMAKPAPAN ॐ तो ऐ हुट्तरी ॐ वय्ककलज को thana kushak and fire let us make ships that can shake the world inspired by this vision india has undertaken a massive effort to become self-reliant in the defense sector the corridor has already received investment commitment over rupee 8100 crore today i am proud to dedicate to the country one more warrior to protect our frontiers i am proud to hand over the indigeniously designed and manufactured main battle tank arjun mark 1a it also uses indigenious emanation tamil nado is already the leading automobile manufacturing hub of india now i see tamil nado evolving at the tank manufacturing hub of india i am proud to hand over the indigeniously designed and manufactured main battle tank arjun mark 1a it also uses indigenious emanation tamil nado is already the leading automobile manufacturing hub of india tamil nado is already the leading automobile manufacturing hub of india i am proud to hand over the indigeniously designed and manufactured a tank made in tamil nado will be used in our northern border to keep the nation safe this showcases india's united spirit we will continue working to make our armed forces one of the most modern forces in the world at the same time the focus on making india atma nirvar in the defense sector moves with full speed our armed forces significantly india's ethos of courage they have shown time and again incapable of protecting our motherland time and again they have also shown india believes in peace but india will protect sovereignty at all costs india atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nirvar atma nir  swelling           ,   , ,


Let's see if I can hit this oh How's it going everybody dottodoy here with another round of dragon ball fighters rank matches this time We're playing Goku blue with my normal team. I just kind of want to test them out as a point character Just been looking for some other characters to slide in that point slot and test out Because I don't know dude Krillin's rocks the the the hits done on them or not hits done But the recovery you have to go through is crazy Okay, oh, I really should have I could have maximized that so hard. Oh, whatever We'll take it Wow, look at the drops on this guy Overhead Wow, I barely I could barely see between the rocks and Android 16's explosion Maybe I was just focused on the wrong thing. All right Goku blue take this level one damage. Oh I didn't even know that could pop that could happen overhead again Not like this dude. We're gonna have to spark this early. Yeah, I got no problems with that I have a little problem with that. No the light didn't tech. Oh Because it wasn't far enough. Don't get two bars. All right. Well at least we'll live it won't be pretty but we'll live it Yeah We're super low with Goku blue. Let's be honest But why not keep them alive as long as we can that dude will come in clutch later Until then let's take care of this freeze. Oh, look at how the momentum can shift We still have Goku blue's assist available to us which uh Well, I don't think I've worked on anyways. This team makes it makes use of it crazy. Well It's still another assist dragon rush. Don't switch me out. Okay. Good. I Got too much to live for back there, man Another dragon rush. I'd somebody I'm expecting some buttons to be thrown out and then my reflect will work One day when my reflect hits, I'll be remembered as a hero until then. I'm just the guy that got dragon rush six times in a row There we go. I'm a hero Wow, I Never thought I would find.  It's fast Wow reflect reflect heavy. I was like I can I can reach with this to him But the heavy had different plans for me.  I told you would come in handy.  I don't think that was necessarily optimal. Don't nerf me Okay, well, we're just getting stray hits into stray hits here I think the only way this kills fast enough is if we just go the one. Yeah, I Think that was the right thing to do you have to burst damage in there if they're in sparking It's all about how fast you can kill him Should have converted off that Hopefully that's a mistake. I live to regret overhead I'm gonna mix them up. Oh, that's a punish easy peasy probably could have gone don't done with a 2m What am I doing? I should have I should have went in the yoncha level three. Hey, it must be the money I don't know what she was looking for there, but back dash simple ex will thank this gets the win Goku rocking the holiday colors didn't do too much.  I was at him no knockout Overhead, but it crossed up. That was crazy. I'll give it up to that and Take vanish. Should we get out? Fortunately didn't I should have oh never mind. I was gonna say I should have um What was I gonna say? Vanish something like that. I don't know. I had something that I could have done there What what a great commentary session and then this is an easy tag into Goku blue Goku blue just makes everybody work. Oh Try to get a cheesy reflecting Don't keep lasting myself go hunt does work Sliding down tech. Where's the down tech? Oh Messed that up. I wasn't prepared to be on my feet yet. Oh Just looking for the knockout and he's gonna get it here. Oh, we did it. Let's go. I can't believe you didn't get the knockout for that Kaioken oh This is so much damage. I love it. I Live for the damage boys Come on. You got to give me something here. You got to give it to me No, I can't believe it jumped up in Framage. I needed to hit that No, I can't get there. Ah No pun is there Cuz I couldn't good vanish damn. All right We're not out of the game. In fact, we're you could still argue we have the lead But how long can you expect for me to keep the lead if I keep playing like this? There we go. Yeah, I'm just this does the does the things I can't alone Speaking of doing the things I can't do alone.  Let's see if I can hit this That wasn't even the end of the combo either.  Come on. I really wanted to finish that off Will we get the rematch? You got to throw me a bone, dude. Yes. All right another rematch coming up This is it. This is the team clicking at his best Throw in as much damage as we can And then throw on the sliding And I don't get the jump out. I mean the crouching L Damn, if we would have kept them in the corner, I would have I would have been confident enough to say maybe whoa I didn't hahaha that was supposed to be um Superdash, but I I inputted that sucked The beam assist got lost up and freezes orb. Oh God, wow, we lost a character super early It's okay in these situations. You just got to remember Super Saiyan Goku still here. We're outside See that's all I'm saying, dude Who needs anybody else when you got Super Saiyan Goku state of fighters meta in a nutshell? Oh The disc don't even scare me get this man. Y'all catch This is this I'm gonna wrap this up right now with the 2m. Come on. Let my confidence speak for itself Oh eat the boot There you go Wow, I've never been more wrong when I said I've never been more wrong What I said is simple let my confidence be be for real Okay, okay, I can respect that Fortunately that grab did not go as planned. All right. Come on. Go through. Let's make the moves Well, I might have dropped it, but sometimes drops leads to new opportunities I've never hit that online the full thing. Anyway, you saw me hit the first part. Oh Does get the conversion off of it doesn't have three bars, so we're down second get off the boy To the corner we go boy. Okay. He got tired of it. He got tired of it that last one was so I could start up the combo Okay, we're in there Dare I say we might even be looking at Darn it. I'll take it All right, we got to do one more though. If he gives us one more we got to do one more Because I'm not I'm not feeling that one as the last one, but if it has to be If it's meant to be it's not it's not all right, let's get some actual damage going here. Whoo Let's go.  Oh I'm clicking all the wrong buttons now. I'm getting too excited. I'm trying to I hit that combo I didn't say anything, but you already know I was smiling He got to act before me there. We're dead.   You can't hit me with that. I have half of mine to call freeze out I feel like we should still go with the 2m. He hasn't blocked it yet. He just reversal super No, if only I didn't throw that. Oh Cross up free darn. I got to start throwing these two heavies out too heavy to H No, I'm getting messed up. It's all over the place for me now Cross him up. Jesus. That was so slow Remember when I could instant air dash. What is wrong with my my hand?   Come on. I have a family. Oh Heartless I tried jumping you called me out. Okay, man. Who won that?   Does it this is look like a joke. Oh I'm the only joke here. Oh God We're not down taking we've done it too much. Wow with a tag Switch. Oh Thank goodness that didn't hit me that would have been it. All right, we can kill with the normal combo. Let's not get fancy Nobody get fancy here We have been bleeding with this team for far too long. It's time to turn up You remember this match started with Goku blue like doing all that fancy stuff Let's go big damage. Probably should have just two in that but I'm really not sweating the details Thank God.  Hold on What is even going on Let's go. I don't got an extra bar. Why did I do this? Oh? No, no, no, no, no, no. No, I everybody calm down. Everybody calm down. I know I know this is intense But I'm gonna slowly back away Come here. Yeah Random super dash. Oh, let's go We take another win and we take the rank session We're gonna put it in the back pocket of history and forget this ever happened tomorrow Speaking of tomorrow, make sure you like and subscribe so that you'll see in the next video other than There should be some videos up on the screen right now So make sure to give those a watch if any of them interest you seriously guys Thank you so much for watching this again And let me know down below in the comments What'd you think about Goku blue think I asked this the last time I played him But there's been a couple days. Maybe you have updated thoughts other than that. I'm Dr. Doya. I'll see you in the next one


I hope I haven't kept you waiting. Yes, this is the crime club. I'm the librarian. No time for murder. Yes, we have that story for you. Come right over. You're here. Good. Take the easy chair by the window. Comfortable. The manuscript is on this shelf. Here it is. No time for murder. The very intriguing story of a clock that chimed in with death. Let's look at it under the reading lamp. It was early evening and Peter Woods, a young lawyer, had time to kill before his appointment with Hilda Ryan, his fiance.  Then he stopped to window browse outside a bookshop. He was just getting interested in some of the titles when he was joined by a couple.  Maybe I like books. Maybe you don't. Maybe you're just stalling for time. Oh, Steve. Oh, let go of my arm. You are hurting me. And I then let's get moving. No. Now you don't really mean that, do you, baby? Steve. Excuse me, mister. I don't like to break into a love scene. Well, then don't, pal.  Okay, so go ahead. Now I'll give it to you. No, Steve, don't. Oh, you knocked him out. Huh? With one punch. Yeah. Maybe I'm stronger than I thought. What is your name on me? Peter Woods. Oh, Peter, darling. How can I thank you? Look, Dick. If it had not been for you, I would have been... Oh, you've done some time, officer. This girl was being molested. Yeah, by whom? That man down... What man down where, buddy? Well, he disappeared. He was just lying there, officer. Let me smell your breath. I'm not drunk. Ask this lady. She'll tell you what happened. You bet I will. Officer of this man, Peter Woods, he tried to kill me. You hear that? And if I hadn't stepped in, why, what? What did you say?  And all because... Yeah, darling, dear.  Now, wait a minute. This girl's framing me. Yeah. Well, tell it to the judge. He's a great one for fairy tales. The accused, Peter Woods, having been charged by the complainant, Dixie Martel, with bologna and sestalt, with intent to kill is remanded for questioning by the grand jury of this county. Bail is hereby set at $1,000. Hello, Hilda Ryan speaking. And if it's you, Peter Woods... It's me, Peter Woods. Don't you dare say another word. I'm sorry, Hilda. You had an appointment to meet me here in my apartment at 7 o'clock. You were going to take me out to dinner and to the theater for the first time in six months. Hi, I know, dear. It's 11 o'clock now. Well? Hi. Why didn't you call me? I'm in the district attorney's office. Hmm? Of course. Well, as long as you're working on a case. Yes, honey, and it's all mine. Well, I should hope so. You know what I think of lawyers who split feet? The defendant, too. You? I'm being held for the grand jury. Good heavens. What have you done? Nothing. Oh, no. I mean it. I never saw that girl before in my life. What girl? Dixie Martell. I was walking along Madison Avenue and she and her fellow by the name of... What did she say you did to her? A song. What? With intent to kill. But she's out of her mind. Why? She told the judge in night court that I tried to pick her up. Oh! Jail? Well, that's where they're going to take me now. And if a jury believes that girl, I'll go to Singsing for five years. And I'll be disbarred. Oh, Pete. I'm just a big dope. Darling, if you could come down to the DA's office and bring a thousand dollars... Bring a what? My bail money. Otherwise, I'll have to stay in jail until the grand jury gets around to me. But where am I going to get a thousand dollars now? How about your relatives? I've been lending them money. Oh, thank you. That means I'll have to go to the bank. Hilda, I love you. Oh, my truth's on money.  After the jury says not guilty. Yes. And it better say not guilty. Or I'll see that you get life. Pete, if your girlfriend were home... She's not my girlfriend, Hilda. Well, all right then. If Dixie Martell were in her apartment, she'd have opened that door long ago. Don't think I haven't thought of it. Then why do you keep buzzing? Hope springs eternal. Come on, we'll get some lunch and men come back. Maybe by that time... I'm not giving up the watch, darling. But we could be easy. I'm going to be here when Dixie comes home and she's going to tell me why she cooked up that... Pete! Take it easy, Hilda. It's not the mysterious traveler. But the door... I leaned against it. Then it wasn't locked. Well, how did you figure that out, darling? Well, you said... Listen to me, Peter. What's the next time you get into trouble? Get somebody else to put a bail for you. All right. Find me another girl with trousseau money. Pete. Have you got one? Are you going in there? Of course. But I... We came here to see Dixie. Does that mean we've got to stand in the hall till she gets here? I know, dear, but... She can be sitting down. Look. Comfortable chairs. And a sofa. Pete, isn't there a law in this state against unlawful entry? In a lot of states, Hilda. Then why take chances of being arrested again? Aren't you in enough trouble? Hmm? How many grand juries do you want to face? You're right, sweetheart. Let's go back to the hall. Oh! Well, come on, will you? Before Dixie barges in. Ah! Ah! What's the matter with you? Look... Behind the open door. Don't tell me it's... Good grief. Is that... Dixie Martell? It was, Hilda. Oh, Pete. Now, it's just her mortal remains. Aaaaaaah! Well, Pete? Yeah, she was strangled, Hilda. Oh... Took you a long time to find out. I was looking for a bullet wound or a knife wound, you know. I'd rather not. Then I noticed the marks on our throat. I thought there'd be fingerprint impressions, but there weren't. Oh... Whoever killed her must have worn gloves or used a... What's the matter, Hilda? Don't you feel well? I couldn't feel worse. Come on, let's get over to the window. That won't do any good. Pressure. Let's get out of here, Pete. I can't. You're not hypnotized, are you? I can't run away from it, Hilda. What are you talking about? Murder. Hmm? Dixie's murder. The police will say I did it. Oh, no. Don't kid yourself, honey. They said. And I'll have the Devil's own time proving I didn't. But what about me? Don't you think I'll have something to say? Yeah. After all, it isn't as if you found Dixie dead and then told me about it. Yeah. I was with you and I've been with you all morning. That's the trouble, darling. What? You posted bail for me. Now, what in the world does that mean? You've got a special interest in me and when we tell the police and the district attorney that we're engaged to be married. Oh. Understand?  Oh, but Pete, what are we going to do? There's only one thing, Hilda. Yes? I'm a lawyer and officer of the court and I'm not supposed to do it. Hmm? I'm not supposed to conceal a crime. Uh-huh. As a matter of fact, no citizen should conceal a crime from the police. But in this case... Thanks for coming out of the where for it. What? Let's have the to it. I don't follow you, Hilda. Don't try. You just got lost in your legal training. What was I saying? In this case... You're not going to tell the police about Dixie Montel. That's right. But Pete, we can't just leave her here. We'll have to, honey, until I find out who killed her. Very, very interesting. Oh! Oh, hello, Steve.  Hmm... What law school did you go to? Not the one you're going to, Steve. I've been there. And I learned the value of a closed door. Pete! It's too late, Hilda. The horse is in. Uh... Let's take a look at that eye, Steve. Got from where you're standing? Don't be afraid. I won't hurt your gun. Pete is, uh, the man you told me about. Yeah, the guy who threatened Dixie and got clipped. Uh, nice shade of blue I'm wearing this season, huh? Why did you come here, Steve? Why? I mean, at this particular time. I get impulses, baby. Like the one that strangled Dixie? Huh? Ha-ha-ha.  She tried to get away from you last night. You don't say. Are you denying it? Ha-ha-ha. You killed her, Steve. And before you left the building, you saw Hilda and me coming in. So you hung around. Uh, just to nab you with the goods, then. Why did you kill her? Uh, listen, pal, would your name be Peter Wood? Never mind changing the subject. Answer that on. Yeah, I, uh, I knew I saw that face someplace. Matt is 11. Matt just straights courts last night. Is it true what Dixie said about you? Okay, Steve, play dumb. And she was a friend of mine, Pete, and now look at her behind the door. Oh, well, well, let's tell the police about this, P.D. Boy. Get away from that phone.  It's a public utility. I'm with you, Steve.   A lady screams when you turn around. Gentlemen, Steve. I'll break you in half. Swing him around this way, Pete. I'll hit him with this flower pot. All right, Hillet. It's not all right. Can't you two stop dancing for a minute?  No, Hillet. No! Here, that, Dutchess. Thank you, pretty little charmant. Pete. Oh, Pete, darling. I got the wrong man. Oh, Rod. Pete. All right, Hillet. No. Pete, will you ever forgive me? No, Hillet. It's all over, darling. I hit you by mistake.  A lady screams. What did you say? I was all set to hit him, Pete. And then he swung you around. Oh, my egging head. Is there something you'd like me to do? Yes, but not now. Where's Steve? He left with his gun. Didn't he phone the police? No. Oh, so he was bluffing. Uh, help me up. Sit there for a minute. I've got something I'd like you to see. Hillet. This piece of paper. What is it? Read it. All right, if I can see straight. Hmm. Prepare a ticket for a clock. So? Well, when I hit you on the head with the flower pot, the pot broke and this ticket fell out. Oh, Carl Andrews, jewelry sold, clocks repaired, 980 East 69th Street. That should be on the next block, Pete. Now why should Dixie bury a repair ticket for an ordinary clock? Maybe it isn't an ordinary clock. Uh-huh. Uh, help me up, sweetheart. I think I've seen everything. Good afternoon. Can I help you? Are you Mr. Carl Andrews? I have been for 56 years. You know, what can I do for you? Oh, we have a ticket for a clock that was left here by Dixie Martel. Miss Dixie Martel? Oh, yes, yes. And may I have the ticket, please? Thank you, sir. Well, let me see. Where did I put that clock? Oh, yes, yes, yes. I remember. Here it is. Shall I wrap it up? Well, let's see it first. Oh, of course. Oh, Pete, it's beautiful. Yeah. Now, what would Dixie be doing with it? I never can tell, Helden. I wish he used it to tell time. But a thing like that. It's a real antique, ma'am. Oh, that's what I mean, Mr. Andrews. And very expensive. A collector's item, if you don't mind my saying so. Oh, we don't mind. Then perhaps you won't mind if I ask you a question. Hmm? I am responsible for this clock, and if you are strangers to me, of course you brought in the ticket, but you want to know how we got it. Yes. Please don't be offended. Well, not a straight question. Calls for a straight answer. Thank you so much. We got it from Dixie. Miss Martell, to you. Naturally. She had to go away a long vacation.  I told her she was working too hard. I guess being a nightclub dancer is a very difficult profession. It keeps a girl on her toes, Mr. Andrews. Of course I do hate to lose a good customer, but what is best for her is to... Well, you understand. Perfectly. Will she be coming back someday? I don't think so. Her plans were very dull. Oh, that is too bad. Well, if you should see her employer, tell him I'm sorry he's lost such a good performance. Do you know her employer too? Oh, indeed I do. Mr. Jackson is one of my best customers. He owns the Pelican Club on West 49th Street, you know. And the clocks there... Are never on time. I see you know, Mr. Jackson. Are you sure you wouldn't like me to wrap the clock for you? Sure. Well then, if you'll excuse me, I'll go back to my work. People get so angry when their clocks are not ready on time. Good day. Same to you. Now, that's a sweet old man. Uh-huh. Meet the next time we have a clock that needs fixing or some jewelry that needs buying. I'll keep it in mind. Still there. Didn't you notice something queer about that sweet old man? Queer? He didn't ask me to pay him. Pay him for what? The work he did on the clock. Oh. Well, maybe Dixie did that before. You know, in advance. Boy, how you women stick together.  Peter, you crazy? You will find out. This isn't utopia. Cab rides cost money. Take a look at the back of this clock. A metal plaque. Read it. From the collection of S. Parker Jackson. Well, all right. Mr. Andrews said. What you get at, honey? S. Parker Jackson. Excuse me, dear.  S. Parker Jackson might be the fancy moniker for a guy named Steve. Oh. Oh. Don't explode, darling. I need you. This darn traffic, it'll take us a year to get there. Oh, well. Hilda, for Jiminy's sake, will you stop playing with that clock? I'm only trying to wind it, Pete. Only trying. You've been turning that gimmick for ten minutes. You must have broken the spring. Oh, we'll find out. Steve? Hey, take it easy. That thing's an antique. You shake the guts out of it. I've shaken something out of it. A drawer. In the base of the clock. Pete, look what's in it. Let me see. Stuck with glue or something. Hilda, I love you. Hmm? These are diamonds. What? Those four pieces of glass? Uncut diamonds. I'll bet this drawer wasn't in the clock when Steve Jackson bought it. Pete, do you know what you're talking about? I've got an idea. Those robberies in the diamond center for the past year. Oh, no. You've read about them, haven't you? Yes. All right, dear, you're getting off the next corner. Oh, now, Pete. No arguments, honey. I've got plans. And I've got a thousand dollars wrapped up in you. Harder than money.  Would you go to the Pelican Club without me? Yes, dear. But you'll be there, too. Hello, Mr. Jackson. Huh? Well, Pete's. Well, if it isn't my old friend, come in. How's your head? S-parkhead, Jackson. Yeah, I come from Goodstock. Bottled and bonded. Yeah. How, uh, how'd you get in here? I walked. That's quite an office you've got. Mmm. I like comfort. And those clocks on the walls. Some collection. Uh, mind if I look at them? Who, um, who told you about this place? A clock that Dixie had given to Mr. Carl Andrews for repair. Andrews? Ooh, Andrews. He, uh, he does all my repair work. Yeah, so he says. Where is that clock? How much is it worth to you? Let's say your life. Ooh. You talk big. Where's that clock, Pete? Now, look, Steve, I'm a lawyer. I get paid for asking questions. You'll get paid off if you... Yeah? Okay, name your price. What does that clock mean so much to you? It's valuable. The only one of its kind in the world. A portable diamond mine, hmm? What'd you say? I'm giving the answers now, Steve. All those clocks on the walls, those rare antique clocks, are loaded with diamonds that were stolen from the diamond center. Er, that crack you got on the skull went right through the brain, didn't it? Right through with a ticket. Now, let's have it, Mr. S. Parker Jackson.  Killed Dixie Martell? Remember that body behind the door? There's a hospital a few blocks from here. You better go there right away. Killed Dixie Martell. Oh, that's very funny, isn't it? Well, it's a riot, a body behind the door. You've been seeing things, pal. Now, wait a minute. Dixie or Corp, when she hears about this, come on, I want you to tell her. What? Dixie Martell, she's upstairs rehearsing a new number. You mean that she's here in this club? Yeah, all here. But, well then, who was the dead girl in her apartment? Dead girl? What dead girl? Rehearsal room, Pete. Let's stop. So that's Dixie, huh? Always was, pal. I'll introduce you to it. Cut it, baby. Yes, sir, sir. Hi, Steve. Like the new routine? I am. Hey, Dixie, I wanted to meet Peter Woods. Oh. Oh. From Hollywood? Nah, from hunger. He's a lawyer. Oh. Well, he's a friend of yours. Now, listen, let's watch your name. It's Dixie Martell, honey. Yeah, since when? Since... Say, what is this, Steve, a census taker? That jerk, baby.  What? A what?  You're misrepresenting, Steve. She's not the girl we saw. She's Dixie Martell, Pete. But she's not the... And you know it.  All right, I won't, but I'll tell you what you are. Yeah, go ahead. You're, uh... Waitin', mister. You're, uh... Well? What's the difference? You're not Dixie Martell.   Funny scene. Quite a funny scene.  I've got work to do. New routine. That's gotta be ready by tonight. Well, then work. Let's go, Pete. Yeah. Well, goodbye, miss. What's your name? Oh, go feed yourself to the squirrels. Some number, huh? Yeah, that's what I've been thinking. Let's go down to your office, Steve. Maybe I'll find a number for you, too. And, uh... You hear, Pete, some of the publicity we've sent out on Dixie. You'll break into nice papers. With or without pictures? With. Here's a couple of pictures.  You're getting weaker, pal. These are pictures of the girl upstairs. Dixie Martell. What's the gag? Who do you think you're gonna kid with a stunt? Oh, you're getting tough again. Now, look, Steve, I'm not crazy. And neither is Hilda. There was a dead girl in that apartment. We all saw her. You were going to phone the police. Was I? That girl was Dixie Martell. And the girl upstairs... Oh... I have a feeling I don't know, but perhaps... Dr. Baker. Oh, excuse me, pal. Yeah? Come on. Oh, so you're still talking? Oh, me? What is this? Don't tell me you don't know. Around the dead supposed to be her. What? Yes. You recognize the voice now, don't you? Dixie Martell. No. How does it feel listening to a ghost? I'll let you know. You thought I was dead, didn't you? You were so sure. The guy who does such a perfect job on everything... Oh, wait a minute, sweetheart. Oh, you're mad. Okay, but...  And why? Just because I swiped one of your lousy clocks with diamonds in it. Was that a reason for the murder? Oh, that's a big question, honey. I can't answer it now. That's all right with me, Steve. You're through. Well, in trouble, Steve. It's all done. Well, when you have too many... It was your girl, Pete. Huh? Hilda. You put her up to it, didn't you? Now, chum, if I knew what you were talking about... She makes a very bad ghost chum. Oh, that! Yeah! Don't reach for that gun, Steve. I've got one right here in my pocket. That fact of fiction... Don't try to find out. Uh-huh. Once the lawyer? Oh, the lawyer? What does that mean? How much? For you, 2,000 votes. Now, how about 50,000 bucks for you? In cash? In cash. All right, Steve. Get on that phone and call the police. No, Dyson. The police have. Okay. What do I tell them? About diamonds and Dixie and death. You're really nuts. Squirrel food. And while you're dialing the operator, you can tell me all about that girl upstairs you were posing as Dixie Martell. Oh, you mean Mona. Mona. A not so delectable slice of ham. Oh, you're wrong, pal. She's very delectable. Very delectable. Nice work, Mona. Your timing was perfect. Oh, thanks for leaving the door open, Steve. Everybody wants to get in the act. But you, baby, you belong. What do we do with him? Leave him there. Come on. Help me get the clock down from the wall. Clock? Steve, we. Come on, honey. Time marches on. We've got to keep them set. Pete. Now, Hilda. All right, Hilda. Now. I didn't do it, Pete.   Yeah, yeah.  It's a club. Hilda. How do you do? What happened to me? That's what I'd like to know. How did I get down? Oh, yeah. Somebody hit me on the head. Who? I don't know. Steve was standing over there. I had him covered with a gun I didn't have in my pocket. A gun you didn't have? I took a chance and he fell for it. Then he. I know. Oh, now we'll get someplace. It was Mona. It must have been Mona. Who's Mona? That girl in the rehearsal room had pretended to be. Hey, the clocks. What happened to the clocks? Huh? The clocks that were in this room. The walls were covered with them. Pete, you poor darling. You're delirious. Two hits on the head in one day. They're gone, Steve. Mona, clocks and diamonds. Beat it. Are you trying to me? No, no, no. The clocks that were full of diamonds with those two killers. Oh, dear. You mean I was Dixie's ghost for nothing? No, dear. Don't you realize the evidence is gone. And sooner or later, somebody will find Dixie's body in her apartment. The police will start asking me a lot of questions. What'll I tell them? Oh, excuse me? Oh, hello. I am looking for Mr. S. Parker Jackson. I have it. Oh, haven't I seen you two before, something? Of course you have. We were the two folks who, uh, you remember. Dixie Martell's clock? Oh, yes. You will pardon my bad memory, I hope. How are you? Oh, so-so. Oh, that's too bad. And you, young lady? Oh, fine, Mr. Andrews. And you? Oh, I can't complain. Are you waiting for Mr. Jackson? Oh, is it? Uh, is that a clock you've got in that package? Yes, Mr. Jackson wanted me to repair it. A great rush. I had to promise to have it here exactly at this time.  Maybe, if we can reach him. He hasn't gone away, I think. Well, after a fashion. But you can leave the clock. Leave it? With me. I'll see that it gets into the right hand. Well, I am sorry I cannot do that. Why not? Mr. Jackson is very particular about his clock. But you aren't. You're right. The one you repaired for Dixie was a very bad job. Well, I peed. That's right. It didn't go. Took you a long time to remember that, Hilda. How about you? Took me a long time, too. Now, Mr. Andrew. I am afraid I don't quite understand what you young people are talking about. Well, then let me put it this way. That clock you've got wrapped up has got a drawer in it. I did not notice. A drawer you put in it. That's the kind of repair work that you've been doing for Steve Jackson. I? Young men. Shall we check? Leave this package alone. We're checking, Mr. Andrew. I said, leave it alone. Ow! Please! Oh, hey. I'm sorry I did not mean to hurt you. Well, the old guy's got a grip like a pair of handcuffs. I'll come back later with Mr. Jackson. Just a minute. Don't stop me, young fellow. You won't take me by surprise again. You never knew what was going into those clocks, did you? I want you to get out of my way. But when Dixie Martell brought a clock to you, not for repair, but for safekeeping, you looked in the drawer. You saw the diamonds. I am warning you, young men. You took them. That is, you thought you took all of them. Then you went to her apartment this morning and strangled her. I am not going to warn you again. It's no use, Mr. Andrew. I can wrestle, too. You strangled her. No, I just... Just to make sure you could keep the diamonds. That wasn't nice, Mr. Andrews. That was murder. Oh, a hot dog, a bottle of pop, and dowels. I just can't get over it, Pete. Mr. Andrews. He did it. The police found the diamonds in the back of his store. Greed, greed, greed. Once is too much, Elder. Well, people won't do for money. Well, if they wouldn't do it, it'd be all right, but the trouble is, they do. You can't beat it, honey. Ask Mr. Andrews. And when you get through asking him, you can ask Steve and Mona. You think they'll get 20 years? Maybe 30. But if I were the judge... Someday, darling. Yes. Come on, let's get some peanut. Pete, what made you suspect Mr. Andrews? I was alive. What? And I wouldn't have been if Steve were a killer. Oh, you mean... That's right. I knew too much about his business, but he didn't kill me. And so, when Andrews came in... Make it simple, dear. I took a chance. That's all, and it worked. Well, where can I get peanuts around here?  Why not? Squirrels do. Are we any better? We're not even as smart. And so closes tonight's story, No Time for Murder. Steadman Coles wrote the radio script, The Power Produced and Directed. Myron McCormick played Peter Woods, Charlotte Lawrence was Hilda Ryan, Raymond Edward Johnson was Steve Jackson, Cameron Poudon played Carl Andrews, and Gene Ellen was Dixie Martel. Oh, I beg your pardon. Hello, I hope I haven't kept you waiting. Yes, this is the crime club. I'm the librarian. Yes, come over a week from tonight. Good. We have the very unusual story of a trip that was arranged by death. It's called cow hide. In the meantime... Well, in the meantime, there is a new crime club available this week and every week at bookstores everywhere. Yes, it's available now. Fine. And we'll look for you next week. This program came from New York. This is the Mutual Broadcasting System.


Hello, everyone. Thank you for joining us today. I'm Matthew Papo, a software engineer at Cisco. I'm Wego Sung. I'm a tech lead at Cisco Cloud Service. And today we're going to talk to you about RabbitMQ at scale and a lot of lessons we learned. A few of our other colleagues that contributed this presentation but aren't here today are Wei, Scott, and Kerry.  We are virtualizing the entire control plane for our tenant cloud inside of another OpenStack cloud. So our tenant cloud has over 800 Nova compute nodes, over 700 routers, 1,000 plus networks, and over 10,000 ports. Each OpenStack service we run inside of the tenant cloud runs on three controller VMs, and we're supporting Neutron, OVS, and L3 agent. Our RabbitMQ cluster consists of four vCPU, 8GB of RAM, and we run these in an active-active cluster. So we're not running HA proxy or pacemaker in front of the rabbit node. All of the clients are directly connecting to rabbit itself. We're running this on Red Hat 7 with Rabbit 335-22 in Erlang 16. One thing to note is we are pulling these packages from Red Hat OSP. So although it's RabbitMQ 335, there's actually a lot of performance and stability backports that Red Hat does for us. And we're supporting Icehouse and Juno clients. So this does not include any heartbeat of QOS. So when things go wrong, so when you start running into scale issues with Rabbit, the first thing you'll probably start noticing is your compute services start flapping up and down. Instances may fail to boot. You'll be waiting for port binding. Neutron agents may start timing out, and you'll start seeing errors, timeout waiting on an RPC response. And if you start checking the RabbitMQs, you'll start noticing that messages are backing up. This is never a good sign. So the first thing you may think is, let me just go and restart everything. And unfortunately, if you're running into scale issues, this can actually just compound everything. And you may actually just melt down everything and end up having to stop the whole cluster and bring up the services one at a time. So in our early days, we were using all the default settings for RPC and Rabbit, and our cluster grew a lot larger than we expected. And we quickly realized that RabbitMQ was our bottleneck, and we needed to do some configuration tuning to fix that. So the first thing we jumped into was the client-side configuration around Rabbit. So particularly around the Nova and Neutron client configurations, there are a lot of things we had to do specifically around enlarging the RPC pool, so increasing the thread pool size and the connection pool size, and also extending the timeouts. So the default RPC response timeouts are around 60 seconds, but with really large Neutron stacks, it's not nearly enough because it needs to go and pool all of the networks, the subnets, the ports, the bindings, and some of these calls from the DHCP agent and L3 agent for getting the active network information and syncing state can take much longer than 60 seconds to respond. So we've actually extended this much, much larger to 960. There were some performance optimizations in Kilo that were backported a little bit that seemed to help, but we still needed to expand it. Another thing that we really needed to do was increase the amount of RPC workers. So we currently have this tuned to around four per each controller, so like I said, we have three Neutron servers, but they'll be running four workers each. So just to give you an idea on the impact that would make with like three Neutron RPC workers originally, if there were 10,000 messages in the backlog, this could take almost an hour for Neutron server to catch up and process all the messages. When we increased that six-fold to 18, we saw it was very quickly. So let's assume all the messages catch up and then the cluster was much more stable. So even with the RPC tuning, we were seeing frequent disconnects and reconnects with Rabbit. You would see these 404 errors for QNOT found. Unfortunately, when it was stuck in the state, we would have to go and restart the agents. And running OVS, pre-liberty, when you restart OVS, you essentially have to reload all the flows, and our clients love it when you unplug their VMs on them. So we quickly determined that we're running into basically a race condition that was happening with these auto-delete queues. And so before Juneau, auto-delete was not really an option we could even set in Neutron. And so all these queues were automatically defined with auto-delete. And so what could happen is if, you know, if a Rabbit node went down and the client seemed to reconnect, there would be a race condition with the queue declaration and the consumer actually binding to the queue and RabbitMQ deciding, hey, I don't see any consumers. I'm going to go and delete this queue. So we backported some Oslo drivers that really helped stabilize that. And on the Neutron side, we found some combo driver improvements that really helped. So particularly one of the patches we found from the Ubuntu Cloud Archive, really it added basically some exception handling to determine that, hey, if I see this 404 error, let me go and re-declare the queue because it's likely deleted because of this HA cluster failover. So it would essentially go in there and then have the consumer reconnect. However, we were noticing, although the queue is getting re-declared and reconnected, he wasn't actually consuming. So we had to add a few more little lines there that would actually go and help him consume. So we were, even with the tuning on the client side, we still never got to the root of the problem, like what was actually causing these connection issues. So that's when we decided to actually start digging deeply into Rabbit. So particularly some of the important things we dug into was this Erlang configuration. There's a few options in the Erlang arguments that you can add that are important to add on, especially the keep alive settings and adding this plus A for 128, which sets the Erlang VM IO thread pool size. So Rabbit recommends you set this to at least 128. Another common configuration recommendation that we had was this TCP user timeout, this raw 618-5000. And this basically sets the TCP user timeout to five seconds with the idea that we'll quickly detect when an established connection fails. This is outside of using like a keep alive or something. However, this actually causes a lot of issues. So important thing to note, if you are setting this TCP user timeout, he'll actually override any keep alive timers if it's shorter. And what we discovered is that if you were to drop a single packet and you had this set, it would actually trigger a socket tear down on Rabbit. You would see this error, this Inet error for e-timed out. We were seeing this happen between Rabbit and the clients or even between the cluster itself. Another important thing to note that in Liberty, there were some QoS options added that are really important. Basically, you can limit the amount of messages a consumer actually accepts off the queue. Otherwise, for instance, if you had a queue with many messages backed up and a consumer connects for the first time, all of the messages are going to be flushed to that client. And now, if you had this TCP user timeout setting there, too, the client could just be busy trying to catch up and digest everything. But from the server side, he's like, I didn't get a response, so I'm going to go whack the connection. And he'd actually go and close the connection on a healthy client. So another thing to note is, since we're virtualizing the control plane in KVM, there's a default KVM transmission queue link that's set, and it's really tiny. It's only 500 packets. And so what we noticed is that with a busy Rabbit cluster, this buffer could actually overflow and you'd start dropping packets. And so if you didn't actually increase the transmission queue length, you'd drop a packet, and if you had this TCP user timeout set, same thing would happen. You'd actually be triggering disconnects that you really didn't want. So we really recommend that you increase this transmission queue length. We recommend setting it to 10,000. The amount of memory you're going to actually use is negligible. And one important thing to note is that this parameter isn't really... You can't set it in KVM or Nova. It's something you actually have to do on the hypervisor side. So we recommend you add a UDV rule to set the tap interface, transmission queue length. So we recommend setting it to 10,000. You can do this on the fly, or you can set the UDV rule so that when VM is brought up, it'll automatically get set. Between adjusting the transmission queue length and actually removing that TCP user timeout, that actually helped address a lot of the disconnect issues we were seeing at a large-scale cluster. Yeah, let me make a point here. Excuse me, Matt. So between these two, you realize one, the TCP timeout is actually... The user timeout is actually the underlying cause because you can't tolerate a single pack loss. The tap interface setting on the KVM for the virtualized rabbit nodes, it's one actually occasionally causing the drop of the packet. So by tuning both of these, hopefully you avoid any pack loss, or even the underlying TCP IP stack can tolerate a single pack loss, which is, you know, even in a data center network, that could still happen from time to time, a single pack loss. So certainly if you virtualize your control plan, that's something you want to take into consideration. Yeah, so if you pull up, if config on the tap device, so the thing you want to basically look for under transmission errors, if you see if there's anything dropped, if it's greater than zero, then you probably want to increase that buffer. Some other things to keep in mind if you're virtualizing control plan is you never want to suspend a rabbit VM because when he actually resumes, he thinks he's still healthy, and it'll actually cause a partition. And you also want to monitor a hypervisor for any underlying issues. So pay attention to anything like a CPU soft lockup, or disk or memory contention, or RAID or IO controller resets, because all of these can cause, you know, a little skip in the underlying VM, and then all of a sudden he's out of sync with the cluster. So moving on to some of the RabbitMQ configuration options we've also working with. So some of the important things that we set were our cluster partition handling. We set pause minority. We'll come and talk about that in a little bit. And we also make sure you want to set a high watermark. So in our case, we set it to 0.4, which allows 3.2 gigs of RAM for a rabbit, which is more than enough. If rabbit's consuming more than a gig of RAM, I mean, we're having issues, and so increasing the high watermark is just basically delaying the inevitable. So we set it to 0.4. Some other important options are setting this reuse address to true. It will reuse sockets that are in the time weight, but do note that this is not really safe if you're netting any of your connections to Rabbit. And also you want to do no delay for true, which disables Naples algorithm for increased throughput, as it doesn't have to do TCP processing on every packet. And we also enable keep alive for true. Also, there's some process level tuning you want to make sure you do, mainly around the file descriptors. The default Linux terstro sometimes it only allows a thousand file descriptors for Rabbit, and we want to set that to at least 65K or more. So this allows a lot more connections and queues and messages build up without being trim. And basically all the other limits, too, we just set them to unlimited. Basically, we want to guarantee that on the VM, RabbitMQ has all the resources available to them. If you want to check your current process limits, you can run this command, at least for Red Hat and CentOS, and it'll tell you what everything's set. And like we said, we recommend just maxing everything out to unlimited. So back to partition handling. So the choice between pause majority and auto healing. So it essentially comes down to the cap theorem. We're either going to sacrifice consistency or availability of the cluster. And so in our findings, we really don't think that an inconsistent cluster is actually useful in OpenStack. We feel like consistency is more important than availability, being that if a node is connected to the minority, he's going to have to actually fail over to another one, but we feel that's more important than being available. One thing to note if you are using pause minority is it requires a quorum. If there's only one node alive, he's going to pause.  So always keep that in mind if you set pause minority. And both auto heal and pause minority are not perfect. They both have their issues. So you really need to have your own kind of partition monitoring and alerting, which we'll talk about a little later. It's also really useful to have automation to kind of restore a partition. If you can go and identify which the minority node is, you can just go and wipe the amnesia database from that rabbit and restart rabbit, and he will go and resync and join the cluster back over again. So next on to queue mirroring. So this is something that's set by default by the rabbit and queue policy. You will see in some of the legacy configurations on the client side that you have the setting for rabbit HAQs. This actually doesn't do anything after rabbit 3.0. All the queue mirroring policies are only set on rabbit and queue policies. It's not set in the client configuration. So just keep in mind that that configuration on a client doesn't do anything. Another really important thing to note is that queue mirroring is really not needed. It's not needed for RPC, and it's really expensive. There's a two to three times performance hit you take if you have queue mirroring turned on. So you can actually turn this off and your cluster will work fine because rabbit itself will route your message through. If you're connected to rabbit 3, your queue is on 1, he'll actually route your messages through. And so we really recommend that you only mirror some of the billing queues, the notification queues, anything that you really don't want to sacrifice possibly losing. And there's also some examples in Liberty that show you can do this without queue mirroring. So one thing to note, if you want to change your policy where you have previously mirrored and you want to turn off queue mirroring, you'll likely need to restart the cluster. Although you can set the policies on the fly for them to fully take effect, we noticed we had to actually restart the cluster. So on to some operating system tuning. Default TCP settings are really not ideal. We're talking over two hours when you have TCP keepalives turned on by default before he even sends a probe packet to see if the connection's still alive. So we adjusted these packets and it really, really helped the clients fail over when a rabbit node went down. So we really recommend sending the keepalive time to five seconds and setting it to five probes with a one-second interval and also setting the TCP retries to. This really helped improve the clients determining if there was an issue with rabbit and then deciding to, okay, I'm going to go connect to the next one. So next, on to monitoring RabbitMQ. We use RabbitMQ Admin to monitor the health check and we basically want to make sure we query each node for this, the cluster health and partition status. Sometimes when a cluster does get partitioned, you can have one node think that he's okay, but the other two have a different meaning for it. So when you do do your checks, you want to make sure that you set them up for all three, not just one of them. Some of the things we measure are their Erlang memory utilization versus the high-water mark, number of file descriptors used, sockets used, process utilization, the system memory, disk utilization, and the queues and number of unac messages. Whenever there's any messages building up, you maybe want to set a threshold to, like, if it's something greater than 20 or 30 messages, maybe trigger an alarm because messages back it up are always a sign of a problem. You also want to make sure you look through the RabbitMQ logs because you'll always see this alarm set go off, basically saying, hey, no connections are going to get accepted until this alarm clears. And right before that, he'll tell you why it's going off.  So always important to look at that. In addition to just using RabbitMQ Admin for a lot of monitoring, we also run a lot of synthetic testing. So we have synthetic testing that's constantly sitting there basically booting a VM, create a router, network, attach to the VM, and ping the VM. If it works, tear everything down, we're good. Do it again. Create a volume, delete a volume. Upload an image. And a lot of times, if you see a failure in this synthetic testing, he's kind of hinting that maybe something could be wrong underneath with Rabbit. So it's really useful to have either a cron job or something running in the background constantly do that. So onto some various rabbit tips. Using RabbitMQ Admin instead of RabbitMQ CTL command. So before 3.6, the RabbitMQ CTL, like list commands, did not actually stream. So it would actually sit there and buffer the entire result. And so you'd notice if, like, if you have a stuck queue or something, you'll try and run RabbitMQ CTL list queues and it'll sit there and hang forever and ever and ever. So we really recommend you use the Admin interface, the RabbitMQ Admin command, because he actually talks REST to a lightweight HTTP server and he'll return the results. And he also uses a different underlying, Erlang VM and it doesn't put as much stress on the system. Some other important things to do are you want to make sure you monitor the memory management of the stats database. This can eat up a lot of memory. And if it does, you can actually go terminate it on the fly. It will not hurt a production cluster. It doesn't affect anything else besides statistics. And if you are running a large cluster, we'd recommend disabling the UI if you really don't need it. You can pull everything from the API or if you can't disable the UI, you definitely want to at least adjust the statistics collection interval. It defaults, it pulls every five seconds, and this is really intensive. So you can also adjust this on the fly by just setting this command. We recommend sending it to, like, 60 seconds or more. Some other tips. You definitely want to set a policy for QTTL. You set this with expires in the number of milliseconds. Just set it to something greater than the RPC message timeouts. So if there's zero consumers, Rabbit will go in there and clean up it for you. This is really useful for cleaning up orphan Qs. So sometimes if a hypervisor goes down or something, you'll have a Q that will sit there and constantly be pulling up more and more messages and eat up a lot of your memory. And by just setting a policy, you can have Rabbit go and clean those up for you. Another thing is don't use auto-delete Qs if you have the option. It's much safer to just use a QTTL and have Rabbit go and clean it up for you. Because, like we said earlier, when a node fails over, sometimes there's a race condition that hasn't totally solved about. Rabbit decides I'm going to go auto-delete this before someone else actually binds. And if you do see lots of reconnects between the client and server, you want to investigate more into the RPC tuning and definitely look into your network stack to see if there's any errors. Another tip is by default, when you set the Rabbit hosts list on the client side, he normally will always connect to the first host in the list. So if you were to go restart a whole stack, they're all going to try and connect to Rabbit 1. So one little trick you can do is basically just randomize the order across different services so that it's not always Rabbit 1, 2, 3. So that way, if you restart all the services, they'll actually kind of distribute the load a little bit better for you. So architectural decisions. If we could go back and redo things from the beginning, we probably would not use a single Rabbit cluster for all the services. We would definitely at least take the chatty services, maybe stuff like Solometer and Heat, and put those on a separate cluster. There's no need to put everything in one because you're just asking for failure. So it's better off to limit your domain so that if one thing fails, it doesn't affect all your services. And so those things were really helpful in us tuning and actually supporting a very large cluster. There's also a lot of good resources out there. There were some good talks in Austin on troubleshooting Oslo that go into depth on how to debug Oslo issues. So I recommend you check those out. And there's also some other talks from Tokyo that were good on Rabbit. And lastly, also check out the RabbitMQ users group. You can search all archive of messages, and you can reach out to the RabbitMQ developers and ask them any questions you have. So it's really useful resources. With that, we want to turn it over for questions. If you can, please come up to a microphone and ask questions so that we can get them on the recording as well. It's really possible to have another RabbitMQ cluster for Cilometer, or you just... whether you implemented that. Would... You were showing two different clusters, one for Nova Glance Neutron and the other one for Cilometer Hit. Yeah, yeah. You hugely implemented that. No, but we would, I guess. Or we would even take separate services. Or it's possible in general. Yeah, it should be possible. The services are all independent of each other, so there should be no need for them to actually talk to each other on the same cluster. You said that you would change the TCP parameters to use the TCP Kappa Live. Yes. Did you try to use the RabbitMQ heartbeat? So in Icehouse in Juneau, we didn't actually have the heartbeats available to us. Yeah, they weren't implemented yet. And I know there were some issues also in... Absolutely, we heard even... There's some... Lots of issues still there. So I think that's a recommendation why the TCP Kappa Live was originally introduced to... as a recommendation from many experts that you should have that. But on top of that, that's why the TCP user timeout also being recommended. We actually found out in reality it's hurt us rather than help us. So certainly if you don't... Even right now, because we don't have a perfect solution for the heartbeat solution, even at layer 4 and above, so you probably should also still tune the TCP Kappa Live at TCP IP stack level. Okay, thank you. You mentioned in the slide that not all the queues has to be AJ just all in the notification queue, so I'm just wondering how to differentiate. Do you have a list of which one is safe to be notification? So you only really need to do notifications in Solometer if it's something that you use it for billing. If you losing the messages would cause you to lose some billing information, most people don't like that. So those are the only ones we really recommend it. You don't actually have to do it for any of them, though. So all the RPC calls within OpenStack will work without turning on cumuring.  In this case, you will have something like a failed or a stopped entry or a half-made job in the middle of the queue. You could, but I mean, it's a very small chance that most of these messages are extremely short-lived. They're just being dropped off and delivered right away. It's not like these messages are persisting on Rabbit. They shouldn't be. We should be delivering right away. So the risk is very small. But yes, if there was a cluster failover, you may have maybe an error state for a sec for 1VM or something like that. In the majority case also because the general OpenStack model they will get reprovisioned either at system level where the message will get redelivered by the calling party if it's RPC because they're the state check, right? So let's say you know the reboot. They lost the message. When they come back up they will grab the state saying I'm really supposed to have this VM here so it's going to recreate all the ports all the VM they need to be on the node. Are you sure this is fully implemented in all the projects? Okay, recall or redo this kind of stuff? At least most of the service we have been implementing internally the major OpenStack service we haven't seen any issue with that. Now, does AJ turn on or read some cleanup scripts? Yeah, I think it's certainly that's still a concern overall if you don't have the HA but even you have the HA sometimes let's say our experience is when you have a problem with RabbitMQ you end up having to reboot restart from scratch we rarely see any issues associated with that because by restarting it you lose all the message anyway all the message in the OpenStack usage pattern where you actually don't it's not non-persistent, right? So they are all transient. No, it's not That's correct, yes. I think one of the things we run into in our environments like number of ports the scale we didn't realize in the beginning all these issues and once we start growing our environment we start realizing all the tuning you really want to down ahead of time if possible so I think that's the I would say one point if you decide to grow your environment you aren't really looking to that ahead of time so I think in generally it's not required it's not needed majority of the message like I said I think if the OpenStack said okay this message didn't get delivered when the system restart they will rethink the state so I think as a distributed model you can't guarantee it's always in sync anyway and the message is short lived for the last couple of minutes it's pretty much useless and you'd be redeveloped okay great thank you if there's any other questions feel free to email us and we'll get back to you hopefully this will be useful thank you very much


The narcissist doesn't recognize your worth once you've separated as a person but the way in which they do recognize your worth is as an object They look at you for how they can use you For what advantages and benefits you could potentially bring to them, but they can't even see you as a person They can't even recognize you in that way Because they're not real And you've got to be real to recognize real The narcissists could never accept themselves Not as they were They abandoned their true self and created a false self and when they did that They were left unable to prop up They were they were left unable to validate themselves Which then made them dependent on other people to prop up their false self Now they require external validation They need other people to validate them to feed their ego To boost their sense of self-importance The problem is Even when people do that it doesn't matter It doesn't make a difference Because they know it's not real When you Who gave a narcissist compliments and praise it makes no difference whatever Because they know deep down That those compliments that praise They know that they are not deserving of it and They know that it really has nothing to do with them. They know that And that's why it doesn't sustain them it doesn't last for long You could give them a compliment But then they're running off to someone else They're looking for that elsewhere So they hold no value to the compliments And the attention and the admiration that you give to them It doesn't even matter But they way the way they look at it is They could find a hundred other people who are going to do the same thing What they do value though and what they May never forget If they cut out your level is the money the connections The power wealth and success These are the things that If a narcissist leaves you when you're down and then When they're gone you come back up.  They couldn't see you even if they tried And that's why it's so easy for them even if they were with you for five ten twenty years They can walk out that door like you never existed Because you did never exist You never existed to them. It's not just like one day. They decide that you're dead to them You never existed to the narcissist From the day they first met you they had this fantasy in their minds and When you couldn't fit into that mold that they created for you That's when they wanted nothing to do with you That's when they devalued you because you have to reflect back to them either a mirror image of their false self Or you have to be willing to be their punching bag Where they could devalue you and put you down This my little summary there of the premiere if you haven't checked it out yet Does the narcissist recognize your worth once you've moved on? It's a really good video. So definitely check that out Definitely check that out but onto the Discussion now Let me know about your situation when the narcissist Moved on from you What were they holding on to? Because you can usually tell They will usually reveal it to you They're always going to present something to you Which displays what they value? If you want to know what a narcissist really values in their lives It's so easy to figure that out Just look up where they spend all of their time Look at where all of their money goes And then you will know What narcissists value the most that will reveal it to you straight away Because the person isn't going to give All of their time energy and money to something Unless they value it Unless they think that it's going to benefit them Unless they think that it's going to give them a return on that investment Something to think about One hope for heaven says He just wanted a sugar daddy Or mama in this case Exactly a lot of do They want someone to take care of them.  They will use you They will manipulate you There's no satisfaction For a narcissist with their current situation they always want more They're never at rest zero says like a puzzle You have to figure them out That's right because normally healthy people They take it upon themselves to figure themselves out and figure out who they are and what they want But because narcissists are like emotionally immature children They don't do that They want you to figure them out Hasheel says he is trying to come back to my life I'm falling for his ways. I need help Yeah, they will try to come back That's why it's so important to figure out What it is that they did value in the relationship What it is that they wanted you to do for them Because that's probably the reason why they're coming back The difference between narcissists and toxic people there are clear differences There are traits that are outlined in the DSM 5 Narcissists are self-absorbed and they lack empathy the grandiose They're arrogant audacious and entitled They're manipulative Exploitative but a narcissist doesn't have to be all of those things Actually as long as a person satisfies just four or five of the nine traits That is enough for them to be a full-blown narcissist Anyway, I hope this discussion video has been helpful for you. Sorry if I couldn't get to All of the questions that were quite a few But there will be More live videos very soon, and I will be traveling soon as well So there will be Lots of live videos to come from around the world Just like to thank you all for joining this live Check on my Instagram and my tiktok. It's not survivor YouTube and Also my website. It's not survivor UK. Thank you all for joining us live video and you all have a good day


Hello all and welcome to my garage. Yes all of us here at tomorrow are under stay at home orders so that means I can't get to the launch pad which takes me to station 204 but that is not going to stop us from doing space news and we have got a lot to talk about. Ryan's going to be giving us an extra large portion of a SpaceX update. We've got Dr. Tamethyscove with your weekly space weather and I'll be talking a little bit about how the pandemic is continuing to slow down the space industry but it's not all bad you might want to get your hammers out because there's some good things that are happening as well. Now before we officially get into things that just want to remind you to subscribe to us here at tomorrow hit like on the video below if you like it and set up notifications. You can set up all notifications or just some notifications and right now our studio is undergoing a very big sort of redo that Jamie is doing and Jamie's doing it live so if you'd like to watch us redo 204 you can do that. So let's go ahead and get right into space news and I'm going to go ahead and toss it to Ryan for our SpaceX update to start. The world may not seem like a very nice place at the moment however COVID-19 has not stopped some very exciting news from SpaceX which has all come together over the past two weeks. The Dragon spacecraft which SpaceX has not shown much commitment to in the past for the future of the company has been announced in a brand new variant which will work within NASA's Artemis program. NASA Administrator Jim Bridenstein tweeted on March 27th that they have selected SpaceX as the initial commercial partner to deliver cargo and supplies to the lunar gateway using the new Dragon XL vehicle. Resembling no other SpaceX vehicle before it the Dragon XL looks to be more of a neglect sickness vehicle which is produced by Northwick Grumman Innovation Systems formerly known as Orbital ATK. Its design prohibits a return to Earth with no heat shield or aerodynamic designs which will also mean that it will have to be launched within the payload fairing of a Falcon Heavy. Putting the future into the Falcon Heavy is very exciting stuff because so far it has only launched two commercial missions and more missions means more money for SpaceX and much more enjoyable launches for us humans to watch. When at the gateway the Dragon XL will aim to stay from anywhere between 6 to 12 months which is a much longer window than its smaller sister stays at the ISS for. But the announcement of the new Dragon variant hasn't halted Starship progress as the launch site down in Boca Chica has been through its preparation stages in order for a test pressurisation of the full SN3 vehicle and also hopefully a low altitude flight near mid-April. But not all in the SpaceX world has been good as it was at 1216 coordinated universal time on March 18th when SpaceX launched the Starlink 5 mission just after an auto abort before liftoff on March 15th didn't allow it to launch then. This mission was quite a monumental one for SpaceX as it was the fifth time that they had flown the first stage booster being B1048. This was the first time that SpaceX had flown a booster for the fifth time but it didn't come without any hiccups. At T plus two minutes and 21 seconds well if the 9 million 1D engine shut down prematurely however the mission continued as normal as the other engines could compensate for the lack of power from that one engine. SpaceX also failed to complete their secondary mission of landing the first stage as it was confirmed on the webcast that the first stage had failed to land on the drone ship. However this was a demanding mission for this booster being its fifth flight and the most flown Falcon 9 booster in history. SpaceX also used completely reused ferries on this mission and they recovered both of them however they did have to be fished out of the ocean. Thanks for the update Ryan I'm really looking forward to hearing about the data from SpaceX especially about what happened to that Merlin engine and it may take a little extra longer for that to happen because around the world the COVID-19 pandemic is accelerating which is causing the space industry to slam on the brakes. Arianespace announced this week that launch campaigns at the Guiana Space Center in French Guiana are suspended and they'll be holding off on Arian5, Vega and Soyuz flights until it's safe to do so. This will also impact the debut of Arianespace's new Arian6 launch vehicle that was set to occur this year and Rocket Lab has also announced the pausing operations in New Zealand and then will resume them when the recommendations allow. All operations at NASA's Stennis and Michoud facilities are shuttered that means that they are now leaving Arian and the space launch system high and dry so that green run of the space launch system for stage is delayed. Nine of NASA's 18 facilities are set at what's called stage four response. That means that everyone is doing mandatory telework unless you are involved in the immediate safety and security of that site. Now the nine other facilities are at stage three which is mandatory telework unless you are a mission critical personnel. Work on time critical missions like the Perseverance Mars rover continues but even a big mission like the James Webb Space Telescope has seen its work stop and we're likely to see that launch date for web slip again but no fault of its own for once. Internally NASA is looking at any and all ways it can help contribute to combating the pandemic on a local regional national and global scale. But not all of the news coming out of the spaceflight industry recently has actually been all that bad. NASA and Roscosmos will be sending the upcoming Soyuz MS-16 crew of Anatoly Ivanishin, Ivan Wagner and Chris Cassidy on schedule with liftoff planned for April 9th at 0805 Universal. Likewise the crew of Soyuz MS-15 Oleg Skripochka, Jessica Mir and Drew Morgan they are scheduled for an on time return to earth on April 17th and Mitsubishi Heavy Industries in Japan has reaffirmed its commitment to try and move forward with the debut flight of its new H3 rocket which will replace the current workhorse H2 rocket. So even with this slowdown because of the global pandemic it looks like we are still at least ever so gently moving forward towards the future. Now one thing that certainly has not slowed down is launches so let's go ahead and get ready to go all over the world this week because we've got a lot of them to cover. A new variant of China's Long March 7 rocket known as the Long March 7A began its ascent from the bad at the Wenchang Space Center on March 16th at 1334 Universal time. The payload was classified but what was not classified several hours after the launch news agencies reported that the launcher had failed. Video on social media shows a bit of a boom during the first few seconds of the burn of the second stage. We'll get you more information on this failure if it ever becomes available. A handful of hours later at the Plistik's Cosmodrome in Russia a Soyuz 2-1B rocket carrying a Glonass satellite M60 left the pad at 1828 Universal time. Now Roscosmos and the Russian Ministry of Defense confirmed its entry into the correct orbit. Glonass is Russia's own navigation system and M60 now joins 24 other active Glonass satellites along with another new satellite launched in December 2019 that is still undergoing testing. Heading a little down south to the Baikonur Cosmodrome in Kazakhstan a Soyuz 2-1B rocket lifted off on March 21st at 1706 Universal time. It was carrying 34 satellites for high-speed space-based internet communications company OneWeb. The Arion space arranged the launch services for OneWeb and they confirmed that all satellites were successfully deployed into low earth orbit several hours after launch. Just a few days ago however OneWeb filed for bankruptcy so no word on what will happen to these and the 40 other satellites OneWeb has on orbit currently. Jumping east from Kazakhstan to China a Long March 2C left the launch pad at the Zhixiang Space Center at 0343 Universal time on March 24th. It was carrying three satellites simply known as Yalgan 3006. China's state-run news agency Xinhua described them as being used for remote sensing missions but satellite analysts suggest that they're actually being used by the Chinese military for intelligence gathering. That's a nice little blast from our own photographer of tomorrow Adrian Ruiz placing a camera where most folks don't getting that full experience. And I gotta say I forgot just how fast an Atlas 5551 gets off of the pad. I mean it's 58 meters tall goes like a hot ride. Anyways back to the launch on March 26th at 2018 Universal time an Atlas 5 and the 551 configuration its most powerful one leapt up from the Cape Canaveral Air Force Station. 551 designates five solid field boosters, a five meter payload fairing and a single engine Centaur upper stage. This was carrying the final advanced extremely high frequency satellite AEHF-6. This was the first dedicated United States space force flight. After several hours of burns by the Centaur upper stage AEHF-6 was successfully placed into its target orbit where it will now help out the US armed forces all over the world to have secure communications. And here are your upcoming launches and if you're feeling down go ahead and get up and dance a little bit. And for your space weather update here's Dr. Tameth Scove. After some pockets of fast solar wind brought us up to active conditions and brought a war as far south as Michigan over the past couple days things earth side are beginning to calm down in space weather. As we take a look at our front side sun you can see everything looks pretty quiet. We have a bright region in the northern hemisphere that's pretty much fizzled and outside of that we don't have much of a coronal hole that's going to be rotating into the earth strike zone just a few pockets here and there and that should keep us right around unsettled conditions easily over the next week. However as we slip to our far-sided sun now this is stereo A and it's looking at the sun pretty much from the side. If you look at the southern hemisphere you can see a finger-like coronal hole that is going to be rotating earth side here in the next couple days and it could bring us a solar storm probably in about 10 days or more. But right around the 20th you can't see it in the disc view but you can see it in the coronagraph view. Look at this massive smoke ring that the sun blew out. Now this is a big solar storm it's not earth directed so don't worry about it but it's really nice to see these big storms being launched again and as the sun continues to wake up we're not only going to see more of these but they're going to be bigger and faster. For more details on this week's space weather including details on that massive smoke ring that the sun blew and whether or not your radio communications and launch comms will be affected come check out my channel or see me at spaceweatherwoman.com. I'm sure you remember that game you used to play as a kid where you grab your friend's arm and start making them hit themselves with it and you'd be like stop hitting yourself stop hitting yourself and if you don't remember it that's fine concussions happen but would you do that with a very expensive scientific instrument let alone on a whole other planet? The Insightlander's Heathflow probe drilling system known as the Mole had problems day one since beginning to drill last year on the surface of Mars. It popped out and scientists hypothesized that there wasn't enough friction from the Martian regolith for the mole to hammer itself improperly even with the shovel on the end of Insight's robotic arm pinning the mole down it still didn't work. So what's the next step when a major scientific instrument on a nearly one billion dollar mission stops working? Well you get to move on to a little bit of what I like to call my technique. No really. Ground testing showed a light at the end of the tunnel by placing the shovel right on top of the mole and pressing down hard and even filling in the hole it scooped for the mole during the first few tries. Now this isn't without its hazards as that copper ribbon is actually where the Heathflow sensors are at. If that ribbon is damaged it's game over for that entire instrument. So engineers from JPL are now ready to give it a go over the next few weeks and of course as the saying goes here tomorrow never ever ever bet against JPL. And to wrap up this week's space news I just want to thank all of you who helped contribute to make the shows of tomorrow possible. We really legitimately can't do this without you. Each and every one of you who does so you are absolutely amazing it is greatly appreciated and I've got to figure out a way to pay it back someday. Now if you would like to contribute to the shows of tomorrow head on over to youtube.com slash tmro slash join to do so and check out all the great rewards that we have available to you at different levels of support. Now of course watching our shows liking subscribing setting up notifications and sharing us everywhere that you can that is an incredible help as well. And that's CCO 8 for this week's space news. Thanks for joining us. Be well all of you and until the next one remember keep exploring. I just want to remind you to subscribe, like to us and do it. That was pretty good. I was doing pretty good. Not mad at that. I was coasting. I was cheesing it. I was getting good. I was rocking it. It's making it happen. It's burning it. Hello everyone and welcome to my own animals are betraying me now. What do you want me on camera? Nobody's going to care what you have to say unless it's about space acts. What have you got to say? I agree with that. I agree with that entirely. It's a very good point. I would have never thought about that. She makes really good points.


Hello and welcome to the session. In this session we will solve problems involving velocity and other quantities that can be represented by vectors. Let us start with magnitude and direction of vectors. Now suppose we have position vector v in the coordinate plane with initial point at origin, having components given by our vector x, y. So, x is horizontal component and y is vertical component like theta with a positive angle between the x axis and the vector v measured in anti-clockwise direction. Now this angle theta will give us direction of vector v. Now see, this is the right angle triangle with high potential use, magnitude of vector v like this triangle will be triangle o, b, c. So, o c is equal to magnitude of vector v. Thus, direction of the vector is given by tan theta is equal to perpendicular upon base. Now perpendicular is y and base is x. So, tan theta is equal to y upon x where x is not equal to 0. And applying path of motion in this triangle we have magnitude of vector v is equal to square root of x square plus y square. Now if we do the angle theta then we can find the horizontal and the vertical components of the vector using trigonometric ratios. Now we know that sin theta is equal to perpendicular upon high potential use. So, in this triangle we have sin theta is equal to y upon magnitude of v and from this we obtain the vertical distance y is equal to magnitude of v into sin theta. And cos theta is equal to x upon magnitude of v from this we obtain the horizontal distance x that is equal to magnitude of v into cos theta. So, coordinates of this terminal point c will be magnitude of v cos theta that is magnitude of v into cos theta and magnitude of v into sin theta. Thus the horizontal component x is equal to magnitude of v into cos theta and vertical component y is equal to magnitude of v into sin theta. Now before starting velocity problems of vector let us understand meaning of true theory. Now in displacement problems direction of a vector needs to be found. Now one way to measure the direction of travel is to use true theory. Now true theory is the measurement of a clockwise angle from the true north direction. Now let us understand velocity vector and its components. Now a vector that represents the direction and speed of an object in motion is called velocity vector. For example an air draft is flying on a bearing of 65 degrees at 500 miles per hour find the components of the velocity of the airplane. Now first of all let us draw its diagram. Now we have four directions north, south, east and west. Now we have given that the plane is flying at a bearing of 65 degrees and we know that the true bearing is the measurement of a clockwise angle from the true north direction. So from north direction moving in clockwise direction by 65 degrees we get vector v which is the velocity vector. Now the angle it makes with horizontal axis is 90 degrees minus 65 degrees that is equal to 25 degrees. Here in direction horizontal component of velocity will be in east direction and vertical component is in north direction. Let v be the velocity of the airplane. A bearing of 65 degrees is equivalent to a direction angle of 25 degrees. Now according to western formula is magnitude of v so magnitude of v is equal to 500. Now we know that horizontal component x is equal to magnitude of v into cos theta and vertical component y is equal to magnitude of v into sin theta. Now here we have theta is equal to 25 degrees and magnitude of v is equal to 500. So horizontal component of vector v is equal to 500 into cos of 25 degrees and vertical component of vector v is equal to 500 into sin of 25 degrees. So the velocity components are given by the ordered pair 500 into cos 25 degrees 500 into sin 25 degrees which is approximately equal to the ordered pair 153.15, 211.31. Now the components of the velocity give the eastward and northward speeds that is airplane travels about 453.15 miles per hour eastward and about 211.31 miles per hour northward as it travels at 500 miles per hour on the bearing of 65 degrees. Now let us discuss force components. Now we can use vectors in finding the components of a force exerted on a body. Now let us discuss an example. A volume is being pulled by a rope that makes a 25 degrees angle with the ground. The person is pulling with the force of 103 newtons along the rope, determine the horizontal and vertical components of the vector. Now here we want to find the components of 103 newtons vector so that he simply need to draw a triangle and then solve for the unknown sides the triangle will be drawn using the force vector from above along with horizontal and vertical components. Now see this diagram we have a wagon and a rope at an angle of 25 degrees with horizontal line that is ground. So this will be the horizontal component of force which is denoted by fx and this will be the vertical component of force that is denoted by fy. Now we have vector f whose magnitude is 103 newtons so that magnitude of vector f is equal to 103 and angle theta is equal to 25 degrees. So using component form of vector we have horizontal component of force that is fx is equal to magnitude of f into cos theta and vertical component fy is equal to magnitude of f into sin theta. So fx is equal to 103 into cos of 25 degrees which is equal to 93.34 and fy is equal to 103 into sin of 25 degrees which is equal to 43.5 thus horizontal component of force that is fx is approximately equal to 93 newtons and vertical component of force that is fy is approximately equal to 44 newtons. Now if a right hander triangle is not signed then we can make use of laws of sign and cosine in finding the magnitude and direction. So in this session we have discussed how to solve problems involving velocity and other quantities that can be represented by vectors and this completes our session. Hope you all have enjoyed the session.


In this presentation, we will calculate the bond price using present value tables. Support accounting instruction by clicking the link below, giving you a free month membership to all of the content on our website, broken out by category, further broken out by course. Each course then organized in a logical, reasonable fashion, making it much more easy to find what you need than can be done on a YouTube page. We also include added resources such as Excel practice problems, PDF files, and more like QuickBooks backup files when applicable. So once again, click the link below for a free month membership to our website and all the content on it. Remember that the bonds is going to be a great tool for understanding the time value of money because of those two cash flow streams we have with relation to bonds, meaning we're going to pay the bond back, the face amount of the bond, and we're going to have the income stream. And those are going to be perfect for us to think about time value of money, how to calculate time value of money, our goal being to get a present value of those two streams. So we're going to think of those two streams separately, generally, and present value each of them to find out what the present value of the bond will be. We can do that at least three or four different ways. We can do that with a formula, actually doing the math on it. We can do it now, which is probably more popular, now do it with a calculator or with tables in Excel, I would prefer Excel, or we can use just tables, pre-formatted tables. The goal here, the real point is to really understand what we're doing in terms of what is happening, what can it tell us, and then understand that these different methods are all doing the same thing so that whatever you're being taught or whatever you have to work with, whether it's just the paper and pencil on a test or in practice where you have a calculator, it's all the same type of calculation that's coming from the same place, it's coming from the math of course, but us here are how can we apply that. Now accounting textbooks often use tables, so we're often going to use a table, look something like this, and the confusing thing about tables is one, there's just a lot of numbers, so that's confusing, but once we understand them that's not that bad. The other thing that's a little confusing is just to know which table we need to work with. Remember there's two different types of streams that we have here, and one's going to be doing with the present value of one, typically called the present value of one or equivalent to this formula, so the table's going to have the time periods, it's going to have the rates. That's going to look the same on any of these kind of present value or future value tables. What's going to different, we got to make sure that we look at the name of the table and are picking up the correct one for what we're doing. So if anything says future value, that's not the one we want right now, we're not trying to calculate what the future value is. What we're trying to do is calculate what the present value is, so you can eliminate those two tables and you're left with a present value of one or present value of an annuity. When you're considering the present value of just one payment, such as the bond payment that we're going to pay back the hundred thousand at the end of four time periods or two years, we know that the present value is going to be less than the face amount of the bond. If we're going to pay a hundred thousand two years from now, in other words, the current value today is going to be less than the hundred thousand. So if you just look at this table you could say well this makes sense because I'd have to multiply that time something less than one in order for the payment to be something less than the amount that we're paying out because time value of money would state that the amount today is worth less than the amount we actually pay out two years for now or four time periods from now. So this then is the table we'll use when we do the face amount of the bond calculation. The other component of the bonds that we'll have to deal with in terms of present valuing is the interest component. We're going to pay interest and we're going to pay interest every six months, in this case four thousand. So we're going to pay four thousand each six months for four times and that's going to be an even. We call that an annuity. So we're going to have the present value of an annuity type table. It looks really the same because we're going to have the same periods. We're going to have the same interest amounts that we'll be using to figure out what the rate what this amount will be. We'll be using for a calculation. However, if you look at the table, of course, you've got all these numbers that are greater than one now. And if you think about it, that of course makes sense because if we're talking about an annuity, we're trying to present value an annuity that what we're doing is we're saying, well there's four thousand that's going to be paid four times in this case every six months for four time periods. So if we multiply that times four in dollars, we're actually going to pay sixteen thousand. So it's going to be something less than sixteen thousand, but it's going to be something greater than four thousand. So what we're going to do here is we're going to take the four thousand, have to multiply it times something and we would expect the result to be something less than sixteen thousand, more than four thousand, less than sixteen thousand. And so that would make sense that these numbers, of course, are greater than one in order to get a calculation that would make sense. So if we do this, then we're going to say, OK, well, how can we figure this out? First, we're going to take a look at the face amount calculation. It's the same calculation we did with the formulas. We have to think about the face amount calculation. We're going to pay at the end of the time period and then the interest. So if we take a look at the face amount calculation, we're going to pick up the amount from the table for the present value of one, the amounts that are less than one. And we're picking up five percent and four periods. Why? It's two year bond and we're going to pay it semi-annual. So just remember, make sure that you don't pick up once a year. We're paying every six months. So if it's two years and we pay twice a year, then we'd have four time periods. Where does the five percent come from? Well, the market rate and we will be using the market rate here to present value things because we're present valuing using the market rate is 10%. And that would be for per year, but we're paying every six months. So we're going to say there's four time periods and the six month rate then would be the market rate divided by two. This is often one of the most confusing components, by the way. So just make sure to think through that. Every time we see an interest rate, it means per year divided by two. So then we're going to take the bond face amounts, 100,000. We're going to just multiply times that rate. So they've done the math for us here and broke it down into just this percentage. And so all we have to do is take that times the percentage. We get the 82, 270. That would match the math if we did the math to do the same thing. So all that means is, of course, that we've got 100,000 that we expect to pay for two years from now or four time periods for six month time periods. Then if that was the only thing happening, and we weren't paying any interest today, we would expect to get 82,270. In other words, if I was just going to pay 100,000 at the end for money today, then you would think the market would say I would get 82,270 from somebody today willing to give me 82,270 for me to pay back 100,000 at the end of four time periods or two years. Then we have the other component, which is going to be having to do with the interest, which we're paying 4,000, which is 1000 times the 8%. So we're going to pay interest of 100,000 times 0.08. That would be the yearly rate stated on the bond divided by 24,000. That's what we're actually going to pay every six months for four periods, two years. So we're going to use our table again, but this time for an annuity, and you can tell it's an annuity table because they're greater than one, the amounts are greater than one. And we're going to pick the same area, the 5%, four periods, four periods, two years times two for a semi-annual 5% because we're taking the market rate now. And we're dividing it by two so that it's not a yearly rate, but a per six month rate. And then we'll just take our interest per period, 4,000, and just multiply that times the 3.5460. They did the math for us. That's the point of the table. And if we get multiply that out, we get 14184. In other words, if we wanted to get money today, and we're said we're going to pay back 4,000 each time period for money today, we're going to pay back 4,000 times 416. We would expect to get 14184 today, in order to pay back 4,000 every six months based on the current market rate. So the bond has both of those components. It has the face amount we're going to pay back worth 82, 270 in today's dollars present value, and the 4,000 we're going to pay back in an annuity every four every six months, 16,000 dollars. And that's worth 14184. Of course, if we add those two up, the 82, 270, the 14184, we get the 96454. So then the journal entry would just be if we issued this bond, we're going to get 96454 for it. And we're going to put the bond on the books 100,000. That's what we owe at the end of two years. The difference then is that discount 3,546. So of course, the cash is going up. We're saying the bonds going on the books for the 100,000. And then we discounted it by that 3,546. So the actual value of the bond is 100,000 minus the or the carrying value the book value minus the 3,546.