We proudly present Hollywood. Radio Theatre starring Victor Moore, John DeFore, Carly Wuggles and Gale Storm in It Happened on Fifth Avenue. Ladies and gentlemen, your producer, Mr. Wyldham Keely. Seeing from Hollywood, ladies and gentlemen, when I was a struggling young actor in New York, there was no greater thrill than a ride on the top of an open Fifth Avenue bus. So I was saddened to hear that they'd been recently replaced. Imagine my joyful surprise the other day to see some of those old friends rumbling down of all places Hollywood Boulevard, signaling the release of Roy Del Rue's romantic and delightful comedy, It Happened on Fifth Avenue, from the studios of Allied Artists. We're fortunate in having with us the original All-Star cast, Victor Moore, John DeFore, Carly Wuggles and Gale Storm. Here's Act One of It Happened on Fifth Avenue, starring Victor Moore as Lallawish's T. McKeever, John DeFore as Jim Bullock, Carly Wuggles as Michael O'Connor and Gale Storm as Trudy. The Michael J. O'Connor mansion on Upper Fifth Avenue is one of the showplaces of New York City. But on this blustery November afternoon, it stands empty. Its windows tightly boarded up for the winter. Michael O'Connor is at his plantation in Virginia. His divorce wife is in Florida. And Trudy, their daughter, is at finishing school. Well, let's say that up to two hours ago, Trudy was at finishing school. It's true, Mr. O'Connor. She's run away. Your daughter's run away from school. Well, I won't stand for it. Are you here? I want the best detective agency in New York. Tell them to keep in constant touch with me. Yes, sir. The board of directors are waiting, Mr. O'Connor, for the building projects. Oh, yeah, yeah. Well, let's get it over with. No, wait a minute. Wait a minute. Look at this newspaper. Yes, I've already seen it. Look at this photograph. Evicted veteran calls O'Connor occupied. Yes. To build our office building, we have to tear down that apartment. Before we can tear down that apartment, the tenants have to be evicted. Isn't that simple enough? Yes. Well, next time, no pictures in the paper.  No pictures. Well, while this is going on, while Trudy is running away and building projects are being projected, a rather dumpy, shabby-dressed gentleman furtively slips through the high-board fence in back of the O'Connor Fifth Avenue mansion. He lifts up the iron cover of the cold chute and disappears into the O'Connor cellar. One hour later, with splendid and high-still cats, striped trousers and walking stick, he's strolling leisurely in an adjacent park. Oh, what a wonderful feeling. I've never thought... Oh, good afternoon. You mind if I share the bench with you? No, but I present you're calling this bench a bench. This happens to be my new home. Your home? Yes, and Michael J. O'Connor is an octopus. A human octopus slowly strangling civilization in his tentacles. He is? Yes. I've been evicted. Michael J. O'Connor has just thrown me out of my apartment. Oh, it's a terrible thing, isn't it, this housing problem? Well, I'd settle for an upholstered, steam-heated gutter. I solved my residential problem years ago. Judging from your clothes, you could afford to. Well, I wouldn't say that. But if you're in trouble and have no place to go, you can be my guest for the night. Oh, no. Thanks a lot, but I'll manage somehow. It's getting dark now. I'll be happy to have you. Well, you know something, Pop? I think maybe I'll take you up a bit. Oh, you will? Fine, fine. It's that lovely house just over there. That? That's your house? Well, let's just say that I live there. Well, here, try one of these cigars. Nothing like a good cigar, is it? Oh, my boy, well, how do you like your room? Giving me a place to sleep, huh? Passing out cigars, huh? Well, you snaking the grass, I could break your... I was afraid you would... Now, look, when you brought me through that fence, I didn't say anything, did I? I figured you were eccentric. Okay. Well, when we came through the servant centers... Yes, but I explained the house is boarded up. We had to...  This is what it says here on the Silver Loving Cup. Go on, read it. It says, Winner, Newport Yacht Races, Michael J. O'Connor. The great Michael J. O'Connor in person.  My boy, much to my regret, you forced me to divulge a secret. I am not Mr. O'Connor. My name is McKeever. Aloysius T. McKeever. McKeever? Well, then where's O'Connor? In Virginia. A place called Bubbling Springs. Now, it's quite beautiful there. Oh, yeah, but you're a friend of O'Connor. Well, let us say Mr. O'Connor is a friend of mine. You see Jim... Jim Bullock. Yeah, well, you see Jim, every fall Mr. O'Connor goes to Virginia. As soon as he leaves here, I move in. It's been a very satisfactory arrangement. Hey, the lights. The lights just went out. Oh, well, it can't be them. It's too early. It can't be who and who's too early? Never mind. Say, did you say you live here alone? Yes. Well, you ever got company? Somebody's coming up the stairs. It's a girl. Oh, I don't understand this at all. I suggest we hide in here. Hide? Yes, please. Hey, look, I don't get this. I'll explain. But later. You gotta hurry, tooties. Just grab your things and get out of the house. Oh, my new phone. It's got pretty good taste, haven't it? Ah! Come on, if they shed that mink. Who? Who are you? Me, I'm a frontrapper. Come on, give.  Uh, I surrender the coat if I were you, young woman. And just what are you to...  Police? Oh, well, go ahead. There's a phone. Call the police. You bet I will. Uh, just a moment, please. I better take that telephone. Hey, where you going with it? Just out in the hall. Jim, I think you'd better come with me. Uh, your excuse is missed. Well? What did you grab that phone for? Jim, I'm afraid we're in no position to let her call the police. Why not? Because the young lady, no matter who she is, has as much right here as we have. Oh, now look, I don't get this.  Well, yes. Except Mr. O'Connor doesn't know about her. You see, I've never even laid eyes on him. You mean you live here without permission? Uh-huh. But how do you get away with it? Oh, it's not difficult. He never comes back until March 15th. I leave on March 13th. It works out very well, everyone. Why, you old posses. Oh, I never do any harm. As a matter of fact, I do a lot of good. I dust off the furniture, wind up the clocks. Then you take these clothes I'm wearing. If it weren't for me, they'd be in the closet gathering more. I take a different suit every day for a nice airing. But that girl in there, what are we going to do about her? Well, you just leave it to me then. Come on. Young woman, we've decided. Please, you won't call the police. Oh, I know I shouldn't have broken in here, but I'm applying for a job tomorrow. Oh, sure, sure. It's true. Here. Look, here's the ad. Girl wanted to sell sheet music, apply Times Square melody shop. Oh, sure. You've got to wear a main coat to work in a music shop. Young lady, don't you know there's a law against breaking into people's houses? Yes, I do. What's your name? Smith, Trudy Smith. Where do you live, Miss Smith? In Dubuque with my 13 brothers and sisters. 14 children? That's mine, mine.  Are you sure you... Hey, hey, the lights again. Oh, dear. That's the Gates Patrol. They watched the house out of sight. Now, quick. There we go again. What's going on here? Oh, I can't explain now, Miss Smith. We'll hide in the icebox. Now, you just follow me. It's cold in here. I'm freezing. It takes them about 10 minutes to look around. Here, here, put on my jacket. Oh, but I... Come on, put it on. Thank you. Now, get as close to me as you can. There. How's that? That's much better. Thank you. Hey, hey, hey. We should do this more often. Oh, we will. We will. You really should see this icebox with the lights on. It's as big as a barn and just loaded down with wonderful things to eat. Now, look, Pop, exactly what goes on here. The Gates Patrol. They just stopped to see if everything's all right. They were a little early tonight. But the block out. Oh, I'm really quite proud of that. I've arranged a gadget that connects the front door with the main electricity switch. Whenever the front door opens, all the lights go out. But why do we have to hide in the icebox? Well, you may as well know, Trudy. I'm an entrel over here, the same as you are. You mean you go through this every night? Oh, you get used to it. In fact, it's kind of fun after a while. Well, we can go out now. They're gone. Now, if you'll wait here a second, I'll throw the switch back on. Ah, there we are. Oh, don't worry. They can't see the lights from the street. All the windows are boarded up. Well, it's defrost. Now, how about you, Trudy? I guess we won't call the police after all. Oh, how can I thank you, Mr. McKeever, Alice's team McKeever. And this is Jim Bullock. Let me give you a tip, Miss Smith. New York is no place for a kid without friends. Yes, you'd better go straight back home. Oh, please. I just can't go back. My father's a terrible drunkard. He's lazy, and he beats us. All 14 of you? Every night. Your old man's not lazy. When I wouldn't want any girl to go home to a boot like that, I suppose you can stay here. Thank you. Just for the night, mind you. Oh. You can sleep in the room where we found you. Be sure to make your bed in the morning. And don't touch anything. I won't. Good night, Trudy. Good night. Good night, Jim. Huh? Oh, good night. Oh, you got the job, Trudy. Well, that's just fine. $30 a week, Mr. McKeever, and I start tomorrow. And is that Jim and my Mr. McKeever? Yes, and some friends of his. No, I'm being placed in a very awkward position, Trudy. All right, what's the matter? Well, come in. Maybe you can tell us. Well, I'm sure glad you got the job, Trudy. Oh, I'd like to meet the heavy of my friends here. Trudy Smith, Whitey Johnson, and Hank Anderson. Hi, Mr. McKeever. Whitey and Hank are my buddies in the war. Oh, it's Mrs. Anderson and Mrs. Johnson. Hello. And don't forget the baby. Oh, Henry. Oh, don't cry, darling. It's all right. All right, well, it's criminal. It's inhuman. What's inhuman? They've been evicted, just like I was. You know where they're living? In a trailer in Flatbush. Oh, now take it easy, Jim. You can't blame Mr. McKeever. Max, look. You simply can't turn these people out into the street. Oh, this is really very embarrassing. Well, look, you're O'Connor's guest here. I'm O'Connor's guest here. OK, we'll all be O'Connor's guest here. Me too? Well, why not, Trudy? There are 43 rooms. Not in my 20 years of living as a guest in other people's homes have I ever been faced with a situation like this. He can't very well turn children away. Look at him.  Hello there. Well, I guess we'll be able to manage somehow. That, of course, Max. Look, your baby's smiling at me. Oh, come in, Max. Sit down and join us. Ah, talking business, boys? I thought of Mr. McKeever. Where's the girl? They're doing the dinner dishes. Oh, nice having her on, isn't it? It's rather nice to have a place to be around in. Ah, cut, cut, cut. Well, it's like I was saying, Jim, while we're in the Army, we heard all about those $150 a week jobs. What happened to them? Some guys seem to get by without anything, without experiencing without money. How do you do it, Mr. McKeever? Well, I believe that people who require money should work for it. As for myself, I gave up working years ago. I never could make enough to satisfy my lavish taste. So I let other people work for it, and I enjoy it. Well, I haven't seen Mr. O'Connor's cigars.  Suppose you had a make-do. My boy, making money, is simply a matter of analysis. Analyze what people want most and give it to them. What do you want most? A better job. A place to live. Exactly.  That came out a little different from the way I meant it, excuse me. Well, where are all those vacancies? Army barracks. Vacant army barracks. Army barracks? Well, sure. Sure, it's made to order. I could redesign them. A few plumbing changes, a closet space, landscaping. Hey, wait a minute. Where do we get the dough? The dough, why? Well, we get the dough from the same place we get the labor. Two or three hundred XGIs, just like us. All chipping in. And we'd all be partners. Gentlemen, gentlemen, your problem of capital is secondary. The first thing to consider is which camp to reconvert. Now, do any of you know Camp Kelsen? Why do you and I were inducted there? Well, Kelsen would be great, but how do we find out if it's up for sale? Well, it's for sale, all right. I read it in the newspaper. But you'll have to go down to Washington to get all the details. Well, my wife knows all the ropes down there. She and I could go. What about your baby? Oh, oh, yeah, that's right. What are you worried about? Judy and Mark can take care of the baby. Yeah, and I personally will mix its strengths. I mean, supervised. It's formula. Well, come on, let's sell a girl. Well, well, speak up, Harold. What is it? What is it? They found him, Mr. O'Connor, your daughter. She's using the name of Prudy Smith, sir, and she's got a job here in New York. A job? Great scoff. Where? At Times Square Melody Shop. I'll have her lawyers go there at once and pick her up. No, no, no, those fatheads. No, no, they've got all they can do to handling that Camp Kelsen deal. Yes, sir. I certainly hope we'll be able to buy Camp Kelsen from the government, sir. Well, of course we'll buy it. We'll just outbid all competitors. I'll go and get my daughter myself. I'll charter a plane and I'll... Well, good night, Mr. Flipman. I'll see you Monday. Ah, I wouldn't be so sure of that, Prudy. Father. Prudy, why did you do it here? Why did you run away? If you don't know that, I'm sure I'll never be able to explain. Well, get in the car. Yes, father. Drive us to my office, Henry. Yes, sir. Dad, I am not going back to finishing school. And why not? Because I'm finished. Besides, I've met someone, Dad. I'm in love, I think. Oh, that's ridiculous. Never mind the office, Henry. Drive straight to the house, yes? Oh, no, no, not the house.  Why can't I drive to my own house? Well, because I'm staying there. Only they don't know that I'm me. They're the people. Mr. McKeever and Jim... Mr. McKeever, woman blazes of age. Mr. McKeever is the man who moves in when you move out. And Jim... Oh, he's a wonderful father.  He thinks I'm a... Oh, this is fantastic, my goodness. I'll have the police up there and about fighting. All right, Dad. Call the police. Have it your way. You always do. Oh, truly, please. Now what is it, honey? Can't we talk this over like two sensible people? Why don't you tell me what's troubling you? Dad, I've been terribly unhappy. Ever since you and Mother... Dad, I've been so lonely. That's why I ran away. Ah, I see. Well, what do you want me to do? I want you to meet Jim. All right, I'll meet him. You will? Yes. Oh, darling, thank you. Oh, but not as Michael O'Connor. Well, what's wrong with Michael O'Connor? Nothing, but if Jim knew who you really were, well, I'd always be wondering. You're wondering about what? You see, we're really thinking of me or your bank account. Oh, truly, this is your... Oh, Dad, please. Let me have my way just as once. All right, all right. Now what? Henry. Yes, ma'am? Drive to the east side, Henry, to one of those second-hand clothing stores. What in the world for?  If I... Please show off, I haven't seen... In a moment, we'll bring you the second act of It Happens on Tiff Avenue, starting Victor Moore, John DeFore, Charlie Ruggles, and Gail Storr. They say that opportunity knocks but once. Perhaps under certain circumstances, but not where your education is concerned. For human and women on active duty with the United States Armed Forces has the opportunity to continue your education while serving your country. The United States Armed Forces Institute has been knocking on the door of service men for over 20 years. In that time, USAFI has proved conclusively that service personnel who use their off-duty time constructively are more proficient in their military jobs. Ask your education officer about a USAFI course. Here's William Keely at the microphone. Act two of It Happens on Tiff Avenue, starting Victor Moore as McKeever, John DeFore as Jim, Charlie Ruggles as O'Connor, and Gail Storr as Trudy. Nearly an hour later, and in Finkelhoff's second-hand folding store, Mr. Michael Gale O'Connor, a second-richest man in the world, stands aghast in front of a dilapidated mirror. While Mr. Finkelhoff proudly surveys his handiwork. Well, there you are, Mr. $12 for everything. Then already you'll look good. Oh, come on, I'm not going to look at that. Trudy, look at me. Just look at me. I look like a tramp. Darling, that was the idea. And here, here, a fine dirty hat. Hardly faded. Compliments of the house. Oh, Trudy, this is positively outrageous. A baby hat coming, maybe, from the head of a dude. All right, give it to me, give it to me. $12, huh? Less than 10% discount in keeping with the policy, maybe, from the write-out. Well, never mind that. Now tell me, how much will you allow me for my suit there? Well, $6. $6? Your suit is all wool, maybe? Why, certainly it's all wool. Oh, that's bad. Well, wool is bad? Mr. Look, when the moths are hearing, I got here an all-wooled suit. One moth tells another. They're coming for a banquet. They're bringing their friends. Trudy Tuna got here a moth convention. A spray gun I got a buy. B-T-T I got a buy. All night long, I'm staying in spring. I'm not coming home. My wife's getting mad. She's packing her bags and going to Reno. She's getting to me at the door. What am I getting? Cuxody of the moth. I'm paying. Payments, I'm missing. To jail, I'm going. My business, I'm losing. I'm a bum. All because you are bringing in here an all-wooled suit. For heaven's sake, let's get out of here. Now, you understand everything, Father? Yeah. You're to sit on the bench here in the park until we walk past. Yeah. Then I'll notice how awful you look and I'll suggest to Mr. McKeever that you invite me to my own house. Exactly. Now, don't worry, darling. I'll try not to be too long. You see, Dad, I told you Mr. McKeever would invite to deliver with us. Everything's working out fine. Now, how did you like Jim? Well, I haven't made up my mind yet. I'm going up to my room. Oh, no, Dad. Mr. McKeever told you to wait here in the hall. He'll tell you where you can sleep later. Who's house is it? Now, sit down. What are all those clothes lines doing here? Is this my house or a laundry? Are those diapers? No, naturally. You see the baby. The baby, the baby. Come and get it, Mike. Come and get what? Oh, darling. Now, I told Mr. McKeever you were starving. Here we come, Mr. McKeever. Well, Mike, like I told you in the park, we can't have every bum in New York living here. But I suppose one more won't matter. Well, thank you. So just make yourself right at home. Yes, I'll try. That's a mighty nice lounging robe you're wearing there. Oh, yes. Yes, pure silk. I noticed the braid work on the cuffs. See, maybe I'll let you wear it sometime. Of course. I wouldn't think of depriving you that cigar smells pretty good, too. Well, I might let your smoke one after dinner. Yes, thank you. Thank you. Well, come sit down, Mike. Go ahead. Dig in. No, I'd better not. Don't you like baloney? All I want is milk and crackers. Milk and crackers? Oh, speaking of milk, truly, don't forget the baby's bottle. Oh, my goodness. It's way past his feeding time. Look at her run, Mike. Great little mother, isn't she? He is great. Now, what about my... Did you say mother? Baby? Oh, my goodness. Oh, what's the matter? Trudy! Trudy, wait a minute! Mike, where are you going? I'm going crazy. Trudy, wait a minute! Trudy! What's the matter with you, father? I'm trying to give the baby his bottle. Trudy, I simply have to talk with you. Just look at this angel. You know, he's got dimples exactly like yours. No, not Trudy. I'm going to try to be very, very calm. What's done is done. I consent to your marriage. Then you lost him. Oh, dad, I knew you. But just tell me one thing. How did all this happen? Well, I guess it happened in the icebox. He gave him control. It was cold, and Jim put his arm around me. Mr. McKeever was there, too. Mr. McKeever? He tried to send me away afterwards, but later he said I could stay. He's really very nice. Yes, he must be. You like Jim better, too, when you get to know him. Yeah, well, I doubt it. But if you're married, well, then you're married, and I... Dad, we're not married. You're not married? You're not married. I don't even know if he wants to marry. If he wants to... Oh, my goodness. What kind of a man is he? I'll kill him. I'll put him with my bare hands. Well, well, well. Meet Mike. Well, how do you do? And guess who do you think you are? How do you do? What's the matter with him? I wish I knew. You wish? Do you? Please calm down, Mike. Well, Alice, how was walking time? Oh, a madhouse.  Oh, hello, darling. Did you get along with someone? Oh, Alice, he's wonderful. I only wish he were mine. Wait a minute. Well? Whose baby is this? Is this your baby young woman? Well, my husband has a half-inch. You're baby. Pretty little thing, isn't he? You know, Mike, you wouldn't have to eat milk and crackers if you didn't have altars. And you wouldn't have altars if you watched that temper of yours. Any more suggestions? Oh, now look what you've done. Milk all over the tablecloth. I'm very sorry. Oh, you're terribly sloppy, Mike, aren't you? You'll have to be more arggly here. You can't stay. Under the circumstances, you'd better make your sleeping quarters in the servants' hall. Sam sleeps there, too. Sam? You mean there's someone else living here I haven't met? Sam is my dog. He barks at 7 a.m., so let him out of the yard, and I won't have to get up too early then. Are those orders? For a while, until you prove yourself a little more cooperative. Well, in that case, good night. Good night, Mike. How you doing, Mike? And you can mind your own business, too.  Well, Mike, you want to hear what happened in Washington? Go ahead, why do you tell him? Well, briefly, Mr. McKeever, the government is willing to sell Camp Kilton, but there's a catch. Yeah, there always is. They've already had an offer of $150,000. You know who's for them? The billionaire Michael J. O'Connor. What if he went with that property? Hasn't he got enough?  Offer the government $160,000. We're going to get $160,000. There's no harm in making an offer if they accept it, and it's time to worry about where you're going to get the money. The essence of big business, gentlemen, is never put one worry ahead of another. Well, if you'll excuse me, I'd better take Sam for a walk. Operator! Operator! Operator, I was connected with... Hello, hello, hello, Farrell. Well, certainly this is Mr. O'Connor. No, no, I'm not kidnapped. No, I'm in town. In an icebox. Hey, babe. I can't tell you where. Now, listen, why are we at him? And tell him I'll take $6 million for that West Coast chain and not a cent less. Right. Now, is Philip's back from Washington? Well, why isn't he back? Well, all right. Tell him I'll call him sometime tomorrow. Meanwhile... Tomorrow the icebox, Mike. Yeah. Look at him, Jim. Do you insist on using the phone in the icebox, Mike? I suggest you wear an overcoat. Yes, sir. We know it's a great temptation, but you must simply learn to control it. Control what? Well, just playing it being a millionaire. We heard you. Just because you're living in a millionaire's house, don't let it get you. Maybe I am a millionaire. Oh, all right, Mike.  And since you decided not to go to bed, you've got a million dishes to wash. Come on, this way, Mike. Dad, dad, are you awake? Kiss me, I'm awake. Oh, am I and where am I supposed to sleep? It's dad, of course. I can't. The dog is sleeping in the bed. He wanted to let me get near it. Washing ditches. A ballot to a dog. He barks at seven, and I have to take him for a promenade.  But, Dad, you... They all be out in 24 hours, or I'll have them locked up for vacancy and Christmasing. Oh, Dad. You heard me, 24 hours. Yes, a straight telegram, please. To Mrs. Mary O'Connor, Royal Palm Hotel, Palm Beach, Florida. Dear mother, please fly New York at once. We'll contact you at Waldorf Tower. Terribly urgent. Love, fruity. That's the whole story, mother. I wouldn't have sent for you, but I just didn't know what to do. Well, darling, I haven't seen your father in four years. But I think I know just how to cope with this situation. How? Your households would just have to make room for one more guest. Mother, you, why not? And don't worry, fruity. I won't give anything away. Oh, mother, you're an angel. I'll have to talk to you again. Mike, you know what have I done. You just came in the front door. Rule number one is never use that front door. Well, I forgot. Where did you get the key? Well, I found it this morning when I was scrubbing the floor. Well, come on. And there's a... I'll do no such... Here. Thank you. What's that I smell? That's what. I smell something cooking. Slum gullion. Slum gullion? Yeah, it's a kind of an Irish stew. As a matter of fact, it was on account of slum gullion that I fell in love. It must be quite a dish. Yeah, she certainly was. My wife. My wife made the finest slum gullion in New York. Mike, George, that is slum gullion. Yeah, it could be. We've got to cook now. Go and add in the kitchen and me there. Well, who cares about the cook? I want to meet that slum gullion. Slum gullion. Hey, Senator. Mary. Hello, Michael. Well, well... May I ask, what are you doing here? I'm here for the same reason you are. Tootie wanted me to meet Jim. Oh, and have you had that extreme pleasure? I have. And I found him to be everything Tootie said he was. Oh, indeed. You've taken on a little weight, haven't you? In the wrong places, I might add. It's these clothes. And you're no van Johnson yourself. I could remember when you had only two tins.  We're going to dispose of this nonsense once and for all. Imagine our 18-year-old child wanting to marry this... You married me from our 17. And look what happened to us. Mary, I resent your being here. And Tootie belongs in school, and that's where she's going. Oh, Tootie is in love. And she wants to win you in the hard way, not with your money. Instead of admiring her for it, you're fighting her. Just as you've always bottled anyone, it wouldn't then be your stubbornness. You just haven't occurred to see this through. Oh, I haven't, huh? That's what I said. I can stick this out just as long as you can longer. Do you hear longer? This style has to see. And get away from that slum gullion before I pour it down your neck. Back three of it happened on Fifth Avenue. Calling Victor Moore, down to four Charlie Ruggles and Gail Storms. If you think the life of an average congressman in Washington is rather glamorous, consider the typical schedule of a present-day senator. He's up by seven o'clock. Skim the congressional record, read the Washington Post with breakfast. Eight o'clock, off to work. In route, he reads The New York Times and often dictates a letter or two before arriving at the office at 8.30. The Philadelphia Inquirer is waiting to be read along with testimony to be presented at committee hearings. Nine o'clock, staff meeting and discussions of forthcoming speeches. As many as three simultaneous committee meetings are often scheduled for 10 a.m., and our congressman will shuttle between them all. Lunch with reporters, constituents, or other congressmen. After lunch, maybe a short nap in his private office. Then to the Senate floor for a speech, some debate and the offering of amendments. Radio, TV, or other press interviews will last until 5 o'clock with paperwork and hometown politicians obligating him until 6.30. After an embassy dinner, there may be nothing more to do but to begin the new tomorrow. Back now to your producer, William Keely. Act three of it happened on Tiff Avenue, starting Victor Moore as McKeever, Don DeForest, Jim, Charlie Ruggles as O'Connor, and Gail Storm as Trudy. With Trudy's mother joining Mr. McKeever's household, it appears that the entire O'Connor family is once again residing in the O'Connor mansion. Now in the kitchen, Trudy stands helplessly by as her parents exchange a few affectionate remarks. I'll give you just three days, Mary O'Connor. Three days over these pots and pans and you'll be slinking back to Palm Beach so fast. No, I'll tell you a thing or two. You might as well realize right now that this house isn't big enough for the both of us. All right, plenty of leaving. Hey, hey. Hey, what goes on here? Oh, they've been having a little argument, Jim, but it's all over. Well, look, take it easy, Mike. You know good cooks are hard to find. Anything you want them to do, Mary? Yeah, they can peel these potatoes. Before I peel potatoes, I'll have your watch. I'll get a chair and sit down. Well, Trudy, Trudy, it's happened. Great news. Well, tell me, what? Well, Whitey and Hank got over 200 of the boys together and they're all raring to go. We're putting up an average of 500 bucks a piece. Jim, you'll be able to buy the property. And I just call on the Wheeler Construction Company. They may even put up the rest of the money we need. I'm going to see them again on Friday. And if we have any luck? Hello, hello, Farrell? Yeah, it's me. Listen, do we still own Wheeler Construction? Good. Now, a fellow named Jim Bullock has seen Wheeler on Friday. He has some half-baked idea about model houses or something. He's to get routine number six, you understand? Well, make sure Wheeler understands. Now, how are we doing in that Camp Kielsen deal? Well, why don't you know who's bidding against us? All right, all right. But I want that property. Oh, and if you need cash, transfer a couple of million from Chicago. Oh, Mike? I'll call you there. I'll call you again, Mike. Well, I'm sorry, Mr. McKeever. I just can't seem to break the habit. I know you have millions and millions of dollars hanging in the balance. But, Mike, you didn't make your bed this morning. I don't know because I've ever eaten you. You suppose I could have a little more, Mike? Well, pass your plate, Mike. What about your milk and cracker diet? Well, my stomach feels a lot better. Well, that proves what I've always believed. When a man's happy, he could eat nails. You know, I wonder if your comments were as happy in this house as we are. Well, from what I hear, they're the snarl of the uppest people in the world. Well, what makes you say that? Well, check, Mr. O'Connor.  Well, well. I understand Mrs. O'Connor's no bargain, either. It's time trying not to admit she's middle-aged. Well, suppose we talk about something else, hmm? Well, Mike, you have enough to eat? Oh, yes, yes, I feel fine. Sure, then there'll be no excuses. Excuses. Yeah, if we're going to work. You see, when I lived here alone, what I ate from Mr. O'Connor's large air was never missed. But now, well, we've got to start feeding ourselves. I figure you and I can get job-shoveling snow.  Now, let me tell you something. Neither you nor any other man is going to make me do manual labor, and that's final. There's a shovel in the garage, Mike. I'll get it. Oh, I must admit, Mike, for a man who wasn't going to do manual labor, you're doing fine. Where have you been? Oh, I've been working hard. I've been lining up another job for you. The parking lot across the street. Now, listen, you. And now I'd like to do something else for you. I should help. I know. I'll see if I can find you a bigger shovel. Have a hard day. Oh, no, no, no. I just shoveled off half of Manhattan. That's all. Tell me, Jim. How did you make out with Wheeler Construction? Well, they turned down a housing proposition, but they did offer me a job. $12,000 a year in Bolivia. Yeah, well, when are you leaving? Are you kidding? Why would I want to go to Bolivia? Besides, I'd have to be single. Oh, well. Oh, now look, Mike. I couldn't leave Trudy. And all those sellers, why, they're counting on me. Jim, just what is this big idea you think so important? The government's selling Camp Kielsen and they're trying to buy it. Camp Kielsen? Well, what's wrong with that? Oh, nothing, nothing, nothing to do with it. We thought we could get a cheat, but some drip has bit us up to nearly $200,000. Oh, well. Tomorrow's another day. Yeah, well, don't remind me of it. I'll have to shovel snow again, eh? I'm going to find the liniment. All right, Michael. If you can shovel snow, I guess I can rub you back. Oh, thanks, Mary. Down a little further, Mary, will you? Oh, there. Ah, that's it, that's it. You remember, Mary, the first time you rubbed my back? I was a bricklayer then, wasn't I? Oh. We had lots of fun in those days, didn't we, Mary? Yes, you had lots of muscle. Yeah. Now look at you, flabby as an old scene. Oh, flabby. Oh, flabby. Mary, Mike, she's just rubbing my back. Mike, I must ask you to go to your room at once. Yeah, now just a minute, you. Go to your room. I'll talk to you in the morning, Mary. Good morning, Mr. McKeefer. Good morning, Mary. Good morning, Mike. I hope you don't think I was being a bit stuffy about last night. Only, you must remember, there are young people in the house.  Well, not that I'm opposed to a man and woman falling in love, but... Falling in love. You too. Well, I admit that you saw each other. Why not? It's never too late. Now you take Mike. He's nice enough for her, but what is he made of himself? Absolutely nothing. What you both need is responsibility. Whatever you do, don't end up like me. You know, if I were a younger man, I might be asking Mary to marry me. Well, think it over. You know, Mary, he's right. Is he, Michael? Why? Why do you think I've been hanging around here submitting to all this? Only because you're here, Mary. It's by Michael. You've changed. It's almost like old times again. And I'm going to change even more, Mary. I promise. Good evening, Michael. Have another hard day, Shuddling Snow. Oh, Mary, my back is broken. So are the hearts of 200 families. What are you talking about? What I read in the evening paper. Michael J. O'Connor adds Camp Kilson to Empire. You knew Jim and his friends were trying to get that property, didn't you? No. Well, yes, I did. But not until it was too late. Still not too late. What a nice Christmas present Camp Kilson would be for Jim and Trudy and the Red. Oh, Mary, that idea of theirs, it's nonsensical. It'll make an awful lot of people happy. You never could understand that business and sentiment bears. Oh, look, Mary, let's not even talk about it. Is Trudy home yet? She's out with Jim. What again? He has a lot to talk over with her. Not that you're interested. Oh, now, Mary. I was wrong, Michael. You haven't changed, and you never will. Never. You're nothing, Trudy. I'm not hungry. Want to dance? Hey, look, I know you're disappointed, but O'Connor's got Camp Kilson, and I've got to get a job. So I'll have to go to Bolivia. You must have decided in an awful hurry. Well, it's not forever, Trudy. Just a year or so. That's a long time, Jim. Okay, okay, then. Maybe you better not wait. Maybe I shouldn't. Well, just promise me when I'm going, you won't start breaking into people's houses again. Then what if I haven't? I might never have met you. You'd be better off. Would I? Maybe you're right. I know I'm right. Then you can go straight to Bolivia and stay there. You hear me? Stay there. I'm going to Bolivia, Mother. He's taking that job. Well, maybe it's all for the best, Trudy. Yes, of course it is. Trudy, did you say Wheeler Construction Company? Yes. And they want only single men? That's what Jim says. That's strange. In fact, it's ridiculous. I just remembered your father owns that company. Dad. Well, all right, all right. We'll forget about Bolivia.  I'm leaving here tomorrow. Trudy will be going with me. Yes. You'll have this whole house to yourself again. I hope you'll be very happy. I just can't understand it, Mike. I can't understand it. Don't tell me you were in the dumps, too, McGeebert. Jim going to Bolivia, Mary and Trudy leaving. Hank and Whitey looking for apartments again. You know, Mike, I think I'll spend the rest of the winter somewhere else. Well, why? What's wrong with this place? Well, since Jim and the boys lost their big chance, all the happiness that filled this old house is gone. It's like a morgue. I was looking over the old Guggenhaugh place this afternoon. The Guggenhaugh place? Why, that doesn't compare with this. Mike, a house, any house, is only what its occupants make it. Well, I think I'll make some coffee and eat a caviar sandwich. Hello, Jim. Hi, Max. Jim. Oh, Mike. Jim, you don't want to go to Bolivia. Why not? Well, perhaps if you had a talk with O'Connor, you wouldn't have to go to Bolivia. O'Connor? Yeah. Now, how are you going to talk to that old octopus if he can't even see him? Well, maybe you can see him. I have a friend who works in his office building. He's a janitor there, and believe it or not, O'Connor thinks an awful lot of old Charlie. Oh, now wait a minute, Mike. I hope you don't mind, Jim, but I asked Charlie to ask Mr. O'Connor to give you an appointment. And guess what? He'll see you in one hour. Mike, have you been playing million on the phone again? No, no, no. I know what I'm saying, Jim. Oh, don't pass up this chance. OK, Mike, OK. It won't be the first office I've been thrown out of. Hello? Hello, Farrell? Yeah, send my car from here right away. I'm coming to the office. No, no, no.  To the park. Yeah, and I'll be waiting in the park. All right. Good afternoon, sir. Good afternoon. I know this is a silly question, but may I see Mr. Octopus? I mean Mr. O'Connor. My name's Mr. Bullock. Yes, Mr. Bullock, Mr. O'Connor's expecting you. His office is straight ahead. Take another wire to Anderson. I thought I told you to transfer the cash off that cash to our Paris account. Can I leave for five minutes without things going haywire? Send two million immediately. Mike, what in the name of... Sit down, Jim. I'm using the victim phone. Have a lawyer's phone San Francisco immediately. If those lumber contracts aren't signed tomorrow, the deal is off. Mike, do you not stop playing millionaire? Get away from O'Connor's desk. Then get cable to London. Canadian holdings for sale. Price is still 12 million. So long, Mike. I'm going to get a doctor. Oh, I'm sorry. I beg your pardon, sir. Here are the Camp Kilson papers, Mr. O'Connor. If you need me, I'll be in the outer office, sir. Did he say O'Connor? Oh, why not? That's my name. But he... Here, now, don't start popping questions. I haven't time. Jim, I'm transferring Camp Kilson to you and Hank and Wike. Here are the papers. But there's one thing you must do for me. Oh, right. Not one word of this must ever reach McKeeva. As far as he's concerned, I'm still just a panhandler. Is that clear? I think so. Yeah, you were right, Farrell. Bring in the water. He's painted. That's before, folks. But I think the occasion was the bottle of Mr. O'Connor's best champagne. Now, if everyone will please take a glass. This toast is to Mike. To Mike who saved the day. I'm glad I was able to be of service. And even though Mac here chooses to think of me as a drifter, a panhandler, and a man of little principle. Water under the bridge, Mike. Please try to forget that I ever said it. Mac, it's already forgotten. Well, it's too bad we have to leave here. But since Mr. O'Connor told Jim that he's coming back to his house, since I've already made arrangements at the Grugunoff mansion, that's it, y'all, for the best. Our paths may never cross again, but it's wonderful to know that you've all been my friends for to be without friends is a very serious form of poverty. Mac, look, truly and I are going to be married. Oh, that's fine. That's just fine. A double wedding, Mac. Mike and I are getting married, too. And what Jim means is that we're going to have plenty of room and you could stay with us. Oh, but Mike and I were hoping you'd come with us. Well, how about it, Mac? Well, thanks. Thanks to all of you, but you have your own lives to lead and I... Well, it's a little too late for me to change. Besides, I may decide to go down to Virginia. There's a lovely house in Bubbling Springs. It's Mr. O'Connor's place. When he comes back here, I usually go down there. What are you all in the morning? I'd better take a walk with Sam. Hey, Mac. Hey, Mac, where you going? Through the patch here, Jim. Same way I came in. Well, I guess we'd all better leave that way, huh? Well, perhaps we shouldn't all leave at once. Jim, Trudy, you go first. Goodbye, Mr. McKeever. Goodbye, dear. I hope you'll be very happy. Thank you. Mac, I'll never forget you. Good luck. Thank you, Jim. My, their nice couple aren't they, Mary? Oh, my God. I nearly forgot. Mike, in case you have no place to spend your honeymoon, here are the keys to the Vandivert mansion. They're in Europe. Well, thanks, Mac. Thanks. Mary, if he doesn't treat you right, you come back and report to me. I'll be here again next November 3rd. That's a date, Mac. Well, goodbye, Mary. Goodbye, Mike. Come on, Sam. That's a good old dog. Come on, we'll be all our way. Come on, Sam. You know, Mary, there are richer men than I. Michael. Mary, remind me to nail up the board in this fence, will you? Next November, he's coming through the front door. Goodbye. We leave Aloysius T. McKeever to solve the housing shortage in his own inimitable way and turn our attention to the tonight's stars as they are in real life. Victor Moore, Don DeFore, Charlie Ruggles and Gale Storm. You know, I didn't see you four at the premiere. Oh, we were there, Bill, but we may have been a little late. You see, Bill, we all rode to the premiere in one of those displaced Fifth Avenue buses that you mentioned earlier. And something went wrong? Well, the way it was coughing and wheezing, I think the climate must have gotten. Besides, you could tell it wasn't used to California traffic. How so, Gale? It stopped for pedestrian. And then, when it saw a sign pointing to Riverside Drive, it turned around and went looking for Grant Jones. But we finally figured out what was the matter. We were on the upper deck. And? No driver up there. Good night. Good night. And thanks to another four stars. This is William Keely saying good night to you from Hollywood. This is the American Forces Radio and Television Service.


Hi, everyone, thanks for joining. I want to talk quickly about scaling cluster operators beyond boundaries, that is single cluster boundary, aka we call it as a multi-cluster controller. So this is more about TikTok's journey of how we implemented multi-cluster controllers. And also check why we ended up building multi-cluster controllers in the first place. So by the way, my name is Naveen, Naveen Moghula. I'm a tech lead with TikTok at Edge Platform Team. So let me give a little bit of introduction about my team first. So I'm part of the Edge Platform Team, and we are responsible for infrastructure for all the edge use cases. That is CDN type of workloads, live streaming, real-time communications, upload, et cetera, et cetera. So we basically decided to use Kubernetes on all of these. We call it as a point of presence. We have around 250 to 300 global clusters. So we use these tiny data centers, and we build Kubernetes on top of it, and we provide it as a platform to internal engineering teams. That is TikTok CDN team, TikTok live upload team, and all of those guys. So there are around 250 to 300 Kubernetes clusters across the globe whenever I say globe. Consider in this presentation, it has a globe minus China. It's non-China in a TikTok. So and the important thing here I want to just talk about is these are Edge clusters, not main data in the cluster. So some of these clusters are very tiny. Like it could be as minimum as like 10 in a node to all the way to, you know, we have around 600, 700 nodes. So all of these are Kubernetes clusters, you know, somewhere between like, I've seen 10 node clusters and we have seen multiple 600 nodes based on the demand, you know, based on the popularity of geolocations of what not, so all these clusters have a variety range of nodes. And obviously the other one, you know, it's predominantly we are in bare metal infrastructure business rather than the cloud business because of, you know, obvious reasons. TikTok bandwidth, you know, transaction volume or what not. So it's going to be way too expensive in the cloud. So we have our own point of presence across the globe. But we started exploring the cloud wherever it's possible. You know, we have presence in GKE, we have presence in EKS, OK, you know, across all these places. In high level, we have the, you know, control plane and data plane clusters. So data plane is more like where the actual user workloads, like when I say user, it's more like a TikTok CDN team or, you know, other teams, the workloads are deployed on this data plane clusters.  One other thing I want to talk about is like obviously like any other platform team, we just not install this vanilla Kubernetes clusters across the globe, you know, across these locations and provide it as a platform. But we obviously provide some essential features like logs, metrics, config, secret management, you know, all of these essential features. So, yeah, so platform features like metrics, config, secret management. And we have, you know, internal services as well. We provide it as a platform. Like anytime you create anything, it probably creates an incident and all of these platform features are provided by our team. I want to talk a little bit about, you know, since we're talking about the operators, we want to talk a little bit about the operators here. So one of them is like I said, whenever it's not just a Kubernetes, you know, vanilla clusters, we're going to provide these platform features, which basically at the end of the day, those features gets turned into operators like logs, metrics, you know, whatever, all of these things. And operators basically play a key role for platform team to provide these features. Obviously, if it's already available in open source, we basically just reuse those things. We're not going to reinvent anything. Instead, we just, you know, take the components as it is and we deploy it across all these clusters. Obviously in the last two, three years because of the TikTok growth of Word NAT, so we have seen a lot of, you know, more and more platform feature requests came in from the, you know, user teams and obviously our team also grew and any time a platform feature comes in, that basically turns into an operator. So more and more operators and the need of more operators basically started increasing. The other one is complex workflows. So whenever you want to deploy this operator across this 300 clusters, you know, you're going to have to deal with go ahead and create the namespaces, resource quota, network policies. And, you know, if you're using GitOps to deploy these things, you're probably dealing with customization. You're basically adding more and more overlays or whatnot to, you know, for each and every specific cluster to deploy this operators into Kubernetes cluster. So another thing, if you're not into edge ecosystem, so I've been in the Kubernetes ecosystem for the last five or six years before TikTok, you know, I was mainly working on the main data center once where, you know, you may have, you know, 10 or 15 clusters which, you know, 10,000 nodes or 15,000 nodes. Mostly if you're in cloud provider, you're probably using ASG which cluster auto scaler which can scale up, scale down. But in our case, you know, like I said, we are in more of a physical infrastructure business.  It could take sometimes days, weeks, sometimes months, you know, depends on the logistics. So there is a limited resources constraint in, you know, edge ecosystem. Obviously, coming to the platform features, so anytime we get more and more platform features, that basically means that we're turning into operators and we have to deploy these operators which basically comes up with the cost.  And on top of it, we have, you know, some pretty good requirements, something like real-time processing where based on the response times on these edge clusters, let's say you have two or three different POPs in the same geolocation and one of the POP is probably responding within two milliseconds versus the other one is like three milliseconds. So the routing team, GTM team uses that information to take the, you know, real-time decisions in terms of the routing for instead of POP one, it probably goes to POP two. So for any of these things, you're probably adding more and more operators and you're taking more and more resources on top of it. So the balancing act is like, there are tiny clusters. A lot of these application teams want as many resources as possible on these tiny 10 or 15 or 100 nodes. On top of it, you are getting more and more platform feature requests as well. So you're gonna have to make some balance where, you know, at some point of time, we used to say like, hey, 20% of these resources are reserved for platform team because we have a lot of these platform feature requests are coming and we have to sell. And it's probably not gonna go well with all the application teams because of obvious reasons. They want to have more and more resources so that they could sell a little bit more in these edge locations and generate the revenue versus, you know, we have our own reasons like, hey, you want more features? It is gonna cost some resources.  So before multi cluster controllers, whenever the request comes into us, you know, as a new feature, we basically convert that as a, you know, hey, okay, we're gonna build the operator for these kind of stuff. So we build the operators and the traditional approach is like, you know, use Q builder, create an operator and go ahead and create these namespaces, resource quota and whatnot across all these 250, 300 clusters and start deploying those things. But we, more than, you know, a lot of the times we run into these issues where some of these clusters are completely full, like there's no capacity in some of these clusters. And, you know, a lot of these clusters may be reserved by, you know, CDN team or, you know, whatever the application teams, right? So they preserve these entire capacity. And even today, you're gonna get into this situation where like, you know, hey, you reserved 500 core CPU, a thousand core CPU, but you're using maybe 200 core or 300 core CPU. That problem is not specific to our team and not specific to TikTok. I guess, you know, even in my previous place as well, the same thing, you know, I was talking to cloud providers yesterday, you know, in AWS folks as well as GCP, they were also saying, hey, we have seen this trend of where people, utilization is always less than 20 or 25 percent. So this option is gonna be always there where we're gonna work with the end users and trying to reclaim some of the resources to deploy platform features. That's, was there, that's, that is there today as well, that's gonna be there tomorrow as well.  But as an engineering point of view, from our point of view, what we want to do is like, okay, so for platform features or operators, whenever you want to deploy it, you, obviously on the resources side, we can work with those guys, but is there any other opportunities where we could improve so that we don't have to consume resources in the edge clusters? So that's where we went to, you know, whiteboard and started looking at, you know what, we are using Q-Builder as a framework every time when we create in a controller. So why don't we just take a closer look at Q-Builder and see what we can do. If there's any opportunities out there where we could improve, you know, to not to utilize so many resources across all these edge clusters.  So in high level, I think I simplified it on the right side. What do you see is, you have one manager which is basically provides the common functionalities such as client, Kubernetes client, and you have the cache that's more like, you know, informers. And you have controllers where you basically register with manager and it's not one to one relationship, one manager, one controller, but you can have multiple controllers and register it with a manager. So if you look at in high level, it's pretty much basically anytime you're creating a controller for specific to a particular resource, you basically register with informer which is nothing but cache there. It builds the cache and once you get the cache, you basically controller takes those, you know, filters out those events based on predicate or whatever you want, puts it in the queue, a worker item queue, and the reconciliator is gonna pick up those items one by one from the queue and, you know, process it. So in high level, what we have seen when we started looking at it is like, okay, so the problem is with the manager where the manager is the one which is picking up the queue config from in cluster and able to talk to API servers. So the boundary is one single cluster. So why don't we see if we can expand that option instead of having manager aware of one single cluster? Why don't we see if we can make manager aware of multiple clusters? So that's where, you know, where we have, you know, what we started doing is if you look up on the right side, we first started with the, you know, just a diagram, right? Okay, what can we do? Let's bulk up the manager and have multiple clients so that each and every client can talk to, you know, respective API server and you can have in a multiple caches as well and the same way, you know, a controller basically, you know, register with this manager and, you know, whenever controller wants to talk to cluster one API server, it goes and talk to client one that basically talks to API server. So and so, in theoretically, it was very good. Okay, so it was easy like, you know what, let's bulk up the manager to expand it so that it can talk to more than one single cluster. So what we had done is we started taking Cubelder as a reference, you know, Cubelder code as a reference and then we started enhancing the packages inside the Cubelder. So you have, you know, controller component, you have a cluster component, reconceler, you know, all of these packages inside the Cubelder reference. So we started modifying, you know, if you look at the Cubelder code, you will see that, you know, the structure, the interface is basically accepting only one client and only one cluster. So we tried to like, you know what, let's just make it to accept array of clusters, array of clients, array of caches. So when we started doing that, it was all good, but we just went into the deep rabbit hole where we had to change each and every component because if you're touching the top layer, the, you know, when you change the signature of the functions in the top layer, you have to change the child as well because this is the one which is calling the top layers. So we ended up writing this beautiful code or the complex code, however you call it and, you know, change every component of the, all of these packages. So the way we done is obviously like, you know, on the left hand side, you can see that implement manager to be aware of more than one single cluster and implement controllers to be aware of multiple caches and clients and start multiple caches instead of single cache and, you know, start all the controllers at the end. So that's more like the sequence of doing the things. So, but in overall, the idea is instead of having these distributed operators installed across all the clusters, why don't we do one single operator in the central cluster where we deployed in the cloud and we have this flexibility of resources. So why don't we do that in the central hub and let's see if it can do what it's supposed to do in all the clusters. So that's the idea and we started working on it and, you know, after a good amount of, you know, code, we're able to get to a stage where, you know, it worked. It started saying like, you know, we have, you know, when we started doing in a lower environments, it was able to handle the things for the, you know, 20 or 25 different clusters, whatever you want to do it in one single cluster, you know, it was able to watch the events across all these clusters and start, you know, manipulating the changes or whatever you wanted to do for that particular cluster. So in high level, we went from distributed operators deploying across all the clusters, creating namespaces, working with other people to one single operator in the central cluster and deploy it so that it can actually access all the clusters and it can do, list and watch across all these clusters and perform the reconciliation or whatever it needs to be done. So it definitely helped in terms of the deployment issues for us. It definitely helped in terms of the troubleshooting where, you know, in edge world, when you have 300 clusters, if one of the cluster is down, you've got to go and, you know, get into that single cluster, figure out what's happening in that specific controller, you know, there's a lot of specific things right away, networking issues or whatnot. So troubleshooting also helped completely centralized into one single place. So that also helped for us. And like I said, we don't have to create namespaces, resources or any of these things across all the clusters. So that basically simplified and everybody loved it. But during the implementation, so every time I create a PR, every time I create a PR, we used to have lots of lots of discussions and lots of lots of comments on the PR. And that's for obvious good reasons because all of these engineers as well, top class, but none of them are exposed to the underlying, you know, libraries itself, right? Not many people are aware of controller runtime because that's how much QBuilder and all of these community is working towards to hide all of these complexities under the rug so that people can just start writing controllers using these frameworks. So whenever I started writing the PRs, you know, building, you know, creating the PRs and we used to have a lot of these conversations so I had to explain that, okay, so-and-so, so-and-so. So that's when it hit us like, okay, the solution works, but this is not gonna be scalable because now because of this one single reason where, you know, centralized operator, I need to make sure all of my engineers, all of the team need to aware of underlying, you know, libraries and all of this stuff. So, and also obviously we, you know, because we were growing a lot during that time, new engineers were like, hey, what is this? It's taking a lot of time for them to onboard and adapt to these new, you know, new multi-cluster controllers whatever we implemented from the scratch. So like I said, you know, community efforts, community is working hard to hide these complexities so that people can write in multiple controllers or, you know, lots of controllers, but whatever the approach we have taken, it actually took it in a completely opposite direction where, you know, people need to now understand what is controller, what is reconciler, what is worker item queue, what is caches, what is, you know, all of these things online, you know, library items. So, balancing act, okay, the concept works because it helped us not to have distributed operators instead one single operator is doing what it's supposed to do across all the clusters. It reduced the resource issues for us because we don't have to go and talk to four or five different teams like, hey, you reserve more resources, can you give us a little bit more? Can you give us so that we can apply in a platform features? But also, you know, on the other side is it's complex. The complexity actually got increased compared to our previous operators, whatever we used to write. So, what we wanna do is that balancing act is like, okay, I wanna use the concept, the centralized control plane concept, having one single operator and one single centralized cluster, but try to see right the code in a way that it's closer to widely known frameworks, whether it's a cube builder or whether it's operator SDK, whatever the widely known operators, right? So, that's basically what we realized from this, but also like, you know, the last point is more like, people can write, or people can solve the problem many different ways, but at least the way our culture in the team is more like, you basically code familiarity is more important than writing some complex code and just be happy that, hey, I solved this problem. You want as many people in your team as possible understands your code so that they can also take it forward.  So, someone else has to maintain that code at some point of time. So, for that particular reason, we basically ended up going back to Whiteboard again, scratch entire thing and start doing this thing. Like, if you look at these diagram, whatever you see on this thing, it's literally from the very first cube builder slide where you have one manager, you have controllers. So, each and every manager is basically dedicated to one specific cluster. So, instead of having one single manager bulking up and making it aware of all the clusters, we changed it to, you know what, forget about, let's just do cluster-specific managers. Let it have its own manager so that you're not changing anything in the cube builder framework or any of these things, but rather you're introducing something on top of it. That is nothing but we introduce something called multi-cluster manager. And the multi-cluster manager's responsibility is to make sure it brings up the managers and it shuts down the manager whenever it needs. So, in high level, each cluster has its own cluster-specific manager. Add the controllers to all the cluster-specific manager and then adds those into multi-cluster manager and multi-cluster manager takes over in terms of manager lifecycle events. All right, so yeah, it's pretty much what I was talking about in a multiple manager instead of one single manager. And there's no changes, non-line changes, whatever you see, Reconciler, however you create it in cube builder, literally the same way we can start using the same Reconciler and create these things. So there's nothing changed from that point of view except few, you know, this Go-specific function, you know, Go-lang-related stuff, nothing related to the domain, the controller runtime or any of those library-related stuff. So other thing which is important is if you look back here, so the controllers are being added to cluster-specific managers. So the Reconciler, you're gonna write one single Reconciler class and that needs to be aware of what cluster it's actually working on. So we basically introduced one extra in a field where we basically provide the cluster name. So now at the Reconciler, it knows which cluster it's actually working on. And it basically, for whatever the reason, if you want to have a specific logic for a specific cluster, so now the Reconciler now has the access to the cluster name and it can, you know, write the code according to that particular cluster. So in high level, I don't know if you can see it, but in high level, this is on the left-hand side, sample QBuilder, right? Whenever you use QBuilder to create any controller, what do you do? This is more like a main.gov. If you look at it, you create the manager, right, on the top, and then you add the controllers to that particular manager and start the manager. If you look on the right-hand side, that's our approach where multi-cluster controllers. If you look at it, it first starts creating multi-cluster manager. So before that, if you look at it, it actually, instead of one single cluster to be aware of multiple clusters, you need to have multiple clusters, cube config. So if you look at the one line before that, creating the cluster manager, what we do is we basically go and pick up the cluster's information, which is, in our case, we use it as a secret. So you have one secret per cluster, which includes the cluster name and the cube config related to it. So during the bootstrap, we go and pick up all those secrets, and now you have the list of clusters and the cube configs related to it. And create a multi-cluster manager, and then, if you look at it in the second section, it's basically adding the controllers to cluster-specific managers. So if you look at the first line, it's more like pick up the cluster-specific manager in the loop and go and add the controllers. So in this example, we added two controllers. If you look at this, that's one of those, this multi-cluster event, where we are processing the events across all the clusters and doing some event-related stuff.  But you get the point where you have a multi-cluster manager, you create it, you add the controllers to the manager, and then you start the multi-cluster manager. So it's closer to the cube builder framework. It's closer to the cube builder framework, and it's a centralized operator where instead of one single cube config, you're basically handing over multiple clusters cube config. So that's how closer, how much closer we got to the cube builder framework. And that actually helped a lot in terms of the users. We had one intern who were writing the controllers on this particular framework where it was easy for him to understand like, okay, so this is what is there in the open-source documentation, and this is how we can do it for the multi-cluster controllers, and people are writing multi-cluster controllers a lot. So obviously, the other thing I wanna talk about, like for any cluster, any product, any software product, you're gonna go, it's gonna go through lots of improvements and enhancements and whatnot. So once we started running that for the last, you know, six months or seven months, we realized a couple of things, couple of issues, not issues, but yeah, challenges, let's just say. One of them is in the Edge world, there's a lot of network connectivity issues more than you wanted to happen, right? So a lot of the times these clusters gets disconnected and because we started the multi-cluster controllers and one of the manager gets stuck, it's basically creating the issues for that, put all the controllers in that specific manager. But also, like we said, we are growing a lot and we are adding more and more clusters, which basically means dynamic clusters, right? You know, whenever we are doing the bootstrap, we are actually picking up the clusters, but after the part gets stuck, if new cluster comes up, or if one of the existing cluster goes down, we don't have a way to manage those things. So that's another problem we had. So what we have done is in very high level, this is more of a goal-related stuff and nothing more than that, but. So if you look at on the left side, so these are the secrets, right? In that particular multi-cluster controller, people can add the secrets for specific clusters or if a cluster gets removed, during the registration process or whatnot, we are gonna remove the secret. That basically based on the create, update, or delete event on the secret informer, we do those operations. If you look at those things on the right side, if it's create, you create that cluster-specific manager add the controllers and start the manager. And for whatever reason, if the secret gets updated, sometimes we actually do changes, the admin nodes from one side to the other side. So at that time, you need to have a different cube convict. So in that case, you literally stop the manager and do the same thing again. And if it's secret gets deleted, that means the cluster got deprecated or whatnot, so you just stop the manager. So this is all being done inside the part itself. You're not stopping the part, you're not doing any of this stuff. It's just automatically getting taken care. So if you go back to the network connectivity issues, so what we have done is we started introducing health checks. So health check is basically every 30 seconds, we're gonna ping these clusters. And if there's, for whatever reason, there's a network connectivity issue, we're gonna stop the manager and we're gonna restart it. So we're basically simulating more like secret update because it's a Go channel, we just basically put a message there saying that, hey, there's an update happened, which basically stops the manager and then try to restart it. And until the health check ping is up to date, is able to talk to it and we should be able to good. So far, we have been running this for the last two years. It's no issue so far and we probably have around nine different controllers and all of these are deployed in the central clusters. We save a lot of space or resources in the edge clusters for sure, but this also solved as dynamic cluster management. Whenever a new cluster comes in, you don't have to restart the parts or anything. It just takes care of the things automatically. All right, so finally, what I wanna just talk about these things is more like resource recognition. You have to, at least in edge space, you have to understand that there's a lot of resource constraints, especially if you are into physical server infrastructure. But also, you can't just sit tight and say, like, hey, there's no resources and we cannot provide more platform features. So you have to balance that. So, but also on the other hand, you can't just write, invent different things. It's always good to invent those things, but if there is a possibility to be closer to the open source related frameworks, at least from my team point of view, that's our preference. Keep it closer to the open source adoption so that it's easy for any new engineers to understand and easy to onboard. And a simplified deployment. This is one of those hidden benefits I cannot be happy about. This is more like, previously, it used to take multiple days for us to deploy a platform operator across all the clusters because, like I said, a lot of the times users reserve it, all the resources, and we need to work with those guys to reclaim some of these resources. So this actually helps us completely cleaning it up. Okay, so I don't need anything. All I need is in the central management cluster, which we have control. And these are cloud clusters so that we can bump up the resources if we need it. But I also want to close it with, this is an opinionated approach. I'm not gonna say that this is gonna work for everybody, every organization. Some of these operators are probably, you're writing as demon site. It has to be on the particular node. So there's no going around that demon site idea or whatnot. So these are opinionated approach. It's spaced in a case by case. It may work, it may not work for your case, but this is our journey from TikTok where we had to go a little bit of out of box to improve the operators from one single cluster to multiple clusters. And hopefully, we were also talking to a multi-cluster SIG team as well. And hopefully once you have the cluster inventory in a cube builder also can adapt the newer cluster inventory to start making this operator a way of multiple cluster instead of one single cluster. But obviously, we are very far from that thing. It's probably gonna take one or one and a half year. But yeah, this is more about our approach. And that's about our journey in terms of a multi-cluster controllers. Thank you. I know it probably took more time, but anybody has any questions? You know, I can, yes. I can, yes, we can talk about it.


Hi, everyone. My name is Lucia Cirimela and I work at Transparency International UK. First of all, I wanted to thank my society for ensuring that Tic-Tac could go on virtually in these complicated times. And I know that it's hard to focus on anything else than what's going on at the moment, but let's give it a try. Yeah, I'm sorry. There's a problem with the audio. You've got quite a lot of feedback on the headset and the food. Can you hear me any better now? That's perfect. Thank you. Great. Okay, let's see. Does it work? Cool. So yeah, I'm here today to talk to you about our global pledge tracker and initiative that started over three years ago. We have found it to be very impactful and we have learned many lessons from it. So hopefully you'll find it interesting as well. So before I start with this, I thought I'd shared a little bit more about Transparency International UK and what we do. So we are one of over a hundred local organizations across the world trying to fight corruption in our own context. Our vision is a world free of corruption. And as you might have guessed, we are Transparency International's chapter in the UK. So my team's work is mainly about doing advocacy based on evidence on three strands of work. So my team is called the UK Anti-Corruption Program. And we work mainly on corruption within the country, the UK as a hub for corruption elsewhere, and the UK's role in promoting global standards to tackle corruption overseas. The part of doing advocacy based on robust evidence is really important. This means that our research teams spend a lot of time gathering data and facts. And as a result of that, our advocacy colleagues campaign based on the evidence that has been obtained. This has been really impactful and it's a common approach of the whole Transparency International movement. It creates more buy-in for change than simply shouting empty asks. So for example, very recently through forensic analysis of more than 400 corruption and money laundering cases, our colleagues identified nearly 600 UK businesses, institutions and individuals enabling corrupt people to obtain, move and defend their illicit gains. So this investigation included a few technological aspects. And though this presentation is not about the particular topic of actual service, the report that you're looking at, I thought I'd share a couple of these tech aspects to give you a flavor of the other ways in which we use tech at TI UK. So first of all, the cases are stored in a relational database. So they are able to quickly analyze the different aspects about them. And second, a lot of the actual analysis they did had tech elements. They found common features of companies involved in money laundering and the network analysis to see how many looked similar. Now going back to the pledge tracker, which is the objective of this discussion, the main event that prompted this initiative was the 2016 Anti-Corruption Summit. Their 41 governments made more than 600 commitments to tackle corruption. And many of these promises were particularly nearly ambitious and specific, but the problem was that they did not have a follow-up mechanism. So there was no way of knowing how or when these commitments would be implemented. And obviously, to avoid this being another conference where grand words are said, but no action is taken afterwards, we decided to step in and bridge that gap through the creation of a monitoring tool. So TI UK started this through the creation of our UK anti-corruption pledge tracker in September 2016, four months after the summit. This tool was presented at the 2018 Tech Tech event and it monitors 16 anti-corruption commitments made by the UK government at the summit, including many that have been completed, such as a public central register of company beneficial ownership or the development of an anti-corruption strategy for the country and others that we're still advocating for like the establishment of a register of foreign companies who own or buy property in the UK. So this screenshot is the overall page of our database. And as you can see, we categorize with different colors depending on the progress and include responsible departments and commitments on the developments. You can click on each commitment to read more about how progress has been done. So a year after in collaboration with the Transparency International chapters in seven countries, we developed trackers in Ghana, Kenya, Afghanistan, Sri Lanka, Nigeria, Mexico and Jordan. All of these are tailored to each country's context and have different features depending on what the organization's advocacy asks are. And on top of this, we established a global monitoring tool where commitments of 21 countries are currently being tracked with the help of the whole Transparency International movement. So this is the screenshot of our worldview feature. You can click on each country and see which commitments the country has done and the progress of those. So I'll proceed to explain how it works. So as I said, at the moment, 21 countries are being monitored through our chapter store partners and more than 170 commitments are being monitored. So every six months, each chapter or partner looks into the latest developments on a specific commitment. This means that they contact government authorities responsible for the implementation of the commitments and they perform research to understand how a promise has evolved. Currently, the tracker focuses on six main themes. One is as a recovery, such as drafting legislation for the return of stolen assets. Others are on beneficial ownership transparency, like the creation of public registers, which is very useful to crack down money laundering, as we have seen from the Panama or Paradise papers. Other commitments are on law enforcement, such as international cooperation on corruption cases, the data, public procurement, which is super important as procurement accounts for one third of government spending in OECD countries, and whistleblower and civil society space protection. As a result of their research and engagement with the government, they categorize the commitment depending on the level of progress. So it goes in a spectrum from overdue or dropped to ongoing and complete and passing through inactive no data or on the way. These categories have specific definitions, which can be found on the database. And so one important thing is that we only use publicly available evidence to back this information because we believe that governments should publish this information for all the citizens to have. And then the evidence is reviewed and peer reviewed and ultimately published on the website. So this is a screenshot of the homepage of the global anti-corruption pledge tracker. You also have the world view feature that I've shown before, and you can also explore the commitments by country. So why is it important? More than a research tool, our aim is for it to be an advocacy and accountability tool, which can raise awareness of what governments had pledged to do, incentivize governments to act, hold them to account for the promises, reward achievements, and increase transparency and civic engagement. So as I said, this tool is not a research tool. It does not compare across countries as there are many nuances in the language in which commitments were made and the different contexts that each country has. And it shows how ambitious, new, and concrete these pledges were at the moment that they were set. Some progress stats, 83% of the commitments made on beneficial ownership registers are currently in play. So that means that they are being implemented at the moment, ongoing or complete. For example, Indonesia legislated for a central register of beneficial owners of companies. 88% of the open contracting data standard commitments are in play as well, such as Nigeria's open contracting portal, which is now in line with these standards. 78% of commitments made on as a recovery guidelines or legislation are in play. So, for example, some countries such as the U.K., the U.S., Nigeria, Ukraine developed a global forum on asset recovery principles for accountable asset return. Other examples are Sri Lanka and Afghanistan, which are drafting asset recovery legislation at the moment. And 91% of commitments made on whistleblower protection are on the way, ongoing or complete. For example, the passing of a new whistleblower regime for the private sector in Australia last year. Now, moving into the more nuanced and interesting facts that we've learned away from very broad level stats that might not help us understand the importance of this. If we hadn't been looking, would anything have been done? So in many cases, when Transparency International chapters started reaching out to the government to let them know that they would monitor the commitments, the government's reactions were, have we actually committed to do this? This is particularly interesting because the pledges were made at a very high level in governments, but most of this should have been implemented across various government departments due to the diverse nature of the commitments, because they fall under very different agencies. So in countries such as Jordan, Spain or Kenya, they weren't even aware of these commitments. So talking to the government about this created a space for implementation that wasn't even thought of. Another example is in the UK, when we were testing a thumbs down feature to show that one of the commitments was not being implemented. We had a call from the UK government immediately saying, Hey, what's that all about? So very thing going on. Then second fact, pledge tracking as a starting point. One of the most useful outcomes of pledge tracking is that it has enabled conversations about implementation, including who would be the responsible entity, the timelines, the step of specific procedures for implementation that might not have happened without this initiative. So in Jordan, Rashid, which is the TI chapter there, supported the government to develop an action plan to complete the commitments, which included responsible departments due dates and steps for completion. When they first started advocating, the prime minister addressed all related entities asking them to nominate liaison officers to follow up and advocate for the implementation of the commitments with the Jordanian integrity and anti-corruption commission. And so the team of advocates on the ground realized that there was no knowledge of the commitments made at the summit among the majority of the government agencies. So Rashid carried out meetings with the Ministry of Finance of Justice, income tax and sales departments and others to advocate for this implementation. And all of these entities appointed individual representatives to deal with implementation. So for years since the summit, this means that it's never too late to start pledge tracking. Another example is in Sri Lanka. So beyond the action of pledge tracking, this initiative has catalyzed much more nuanced work across many countries. It is the starting point to ensure good implementation by supporting governments in the enactment of more technical and complex legislation. So for example, year Sri Lanka has been tracking a commitment on ending impunity. Even if this could be considered a very broad commitment, what they did was firstly understand what needed to be implemented. There is currently an Act Victims and Witnesses Protection Act in place that tries to protect victims and witnesses of crimes, but they saw that more could be done to foster implementation. So the first step was to make this Act more accessible to the public as it was quite complex. The organization simplified it and created trailingual pamphlets which increased awareness of citizens and also of over 500 police stations where they distributed their pamphlets. TI Sri Lanka also ran mobile clinics which enabled people affected by corruption to access legal advice directly from the agencies. And through this proactive work collaboration with the authority increased and now the organization has been given permission to train the police on the provisions of this Act to better know how to protect victims and witnesses. So fact number three, even if we're not comparing some governments feel the peer pressure. As I mentioned our objective is not to compare between countries but for some organizations this initiative has been very useful to create healthy competition. The idea that there is a global tracker where governments are particularly useful in Nigeria where the chapter has been very successful in advocating as the government is looking at their reputation internationally. Fact number four, linking relevant accountability initiatives with each other can generate mutually reinforcing processes. So for example again in Nigeria this lack the chapter there uses the pledge tracker to monitor commitments both from the summit and from the open government partnership national action plan. So also TI Australia mentioned that the pledge tracker had helped them to argue for the inclusion of beneficial ownership as a commitment in their government's OGP national action plan. So pledge monitoring has multiplied forces in the implementation of other transparency and accountability processes. So pledge tracking is more effective when tailored our partner in TI Sri Lanka knew the importance of embedding these commitments into their own domestic settings to create more buying. So one of the ways in which they did that is to have their own pledge tracker in the three main spoken languages in the country. And fact number six whilst we cannot attribute causality one of the emerging trends we have seen since 2016 is a relationship between the progress of a commitment and how ambitious the commitment is. This talks to the importance of advocating for stronger language in the commitments from the start before governments make their promises because it can end up changing the course of implementation. So some final thoughts. We believe that pledge tracking is an effective means to measure progress on commitment fulfillment. It has created an efficient basis for civil society to seek accountability and to also support in the development of better legislation and implementation. Another thought is that the act of seeking information on implementation can help to prompt governments to respond and to account for progress. Also it's effective as a starting point and as a tool when combined with sustained advocacy as we have seen from the examples. And finally these projects findings align with our organization's theory of change which mentions that progress on corruption issues demands that there be strong supports technical advice and pressure from civil society in country. So that's why in this context the advocacy grants have been a strong addition to the project. So thank you very much. I hope you found this interesting and I'm here to answer questions as well.


Hey guys, this is my review for episode nine of Supernatural season 14 It's actually not bad. It actually had some pretty okay parts in this This basically is the build-up to fighting Michael and the brothers are trying to assemble two weapons the egg thing That could take on angels and whatnot that they got in season 12 and then also the spear However, I don't know why they didn't just ask the girl The one who knows how to fight with the spear to come along when you see Dean trying to fight with it later on He's just like flailing it around and whatnot It's like you know you had a person who knew a fight with a spear But I guess she just didn't want to be a part of it She just wants to leave and then all the while we see that Garth is come back Hey Garth. He is their inner cell. They're kind of their mole inside Michael's thing Turned just the whole monster army Michael kind of reveals through different people Just how things went down with his attacks back in the other world and then he kind of talks about what he's gonna be doing in this world with basically having a massive monster Attack I'll admit this episode actually isn't written badly.  I'm kind of surprised There is one part where the four of them are downstairs in this This garage and there's a it's supposed to be a die-hard reference with The song is playing in the background But I don't know just slow motion shots of them just walking towards the camera It just kind of seemed a little cheesy because there's nothing else happening It's a build-up between the four of them Jack Castiel Sam and Dean going to take on Michael and The woman who's playing Michael in this episode. It's actually pretty good I think she was a good choice Sam when he first goes into the building. He's just chopping off monsters heads felt very Jason Voorhees like because he got the drop on monsters several times one of them I kind of don't know how he did it, but I admittedly I thought that was cool Like seeing Sam just as a killing machine everything seems to be kind of going in their favor and then all of a sudden Dean is Michael again now I will admit that's a bit of a Stretch dab. That's a big stretch to say that He left the door open. I like the idea of that, but his explanation is like I've truly broken him and everything I was like wait what? How is Dean worse when you took him over?  Oh wait for him to be at his weakest Yeah, he breaks the staff in half But that's after he's taken him over if the staff had been broken then Dean was taken over by Michael That would have made sense in terms of Michael's logic in this. I just thought the back door idea was okay I didn't mind that that hole. Oh, he's gonna be as weak as now. He's not that dust is bad writing I actually liked how it ended Despite the fact that it's a complete ripoff of Avengers Infinity War like the snap really but however It's a cool idea in terms of what's gonna happen if they actually take the scale with it as it is Mind you. I'm kind of interested in how they're gonna put Jeffrey D. Morgan in it. Yeah, apparently Jeffrey D. Morgan's coming back I bet you that might be the reason why they went down to 20 episodes one of the other reasons Why because they had to pay this guy a fuck ton of money to come back I think this is a decent mid-season finale is one of the better ones It's not one of the all-time best season 11's mid-season finale is still a fantastic mid-season finale season 12 was garbage season 13 was Meh, I actually don't remember honestly what happened with season 13's and season finale I'm gonna give this episode a five out of seven. I think it was not bad I think it actually had some cool build-up some cool character moments and funny moments and some pretty cool action At one point Castiel gets like whip down this hallway like completely like Thrown down. I kind of wonder how the sunk I did that before I end the video guys. I'm just gonna do this little shout-out a few months ago I did review a pretty funny purposely horrible horror movie called camp death 3 in 2d and The film did is it's pretty funny. It's terrible But it's funny and it's purposely like that and in fact it's actually coming out on Amazon Prime on February 15th So I'm just doing a little shout-outs here for the next few videos is talking about it letting you guys know if you guys are Interested in something terrible Watch Supernatural, so maybe you are a little bit potent for it as am I so you know if you want check this film out It's gonna be it's pretty funny. I think it's a pretty funny watch Anyways, I just wanted to do a shout-out for those guys And they were really kind of asked me to watch the movie and kind of give my own perspective on it So I'm gonna return the favor for them and just give them a shout out Hope you enjoyed this video if you did leave a like and if you're interested in more maybe subscribe Otherwise see you guys next time