for Better Living Through Chemistry presents one of Hollywood's favorite leading men, George Murphy as Terrence O'Toole, MP, US Army. Many of DuPont's Better Things for Better Living are required 100% in the war effort. However, some products are still available for us on the home front. One of these Better Things is Speed Easy, the remarkable new wall finish that covers dingy wallpaper with one quick coat. It flins with water and dries in an hour. Speed Easy comes in eight beautiful pastel tints. One gallon does the average room. Try DuPont's Speed Easy to brighten up your home. Tonight, Cavalcade presents the popular picture star George Murphy as Terrence O'Toole, MP, a play about a branch of the armed forces that the public is most aware of but knows the least about. The military police or in GI language, the MPs, the blanket soldiers, so-called because of the armbands they wear. These are the men seen on the streets, in railroad stations, on trains, or wherever military forces gather. They maintain order and discipline, keep military traffic moving and check on personnel. But theirs is a far faster job than most persons suspect. DuPont presents the story of the blanket soldiers written by Milton Wayne and starring George Murphy as Terrence O'Toole, MP on the Cavalcade of America. Me, I'm Corporal Terrence O'Toole in the Corps of Military Police, the United States Army. You can spot me quick by the blue band in my arm with the white letters MP.  And that ain't meant for a compliment, take my word for it. So now you've got me pegged. I'm sitting in a train with my friend Kappa, we're passing through Jersey and he's told me all about how he spent his furlough. So for a time I'm just sitting there taking in the scenery and then... Terry, what are you worrying about? Well I'll tell you Kappa, I've got something on my mind. Yeah? Now you being a guy that went to college and that, maybe you can straighten me out. I'll do my best, fire away. Well nowadays everybody talks about building up morale. You know what I mean? Something wrong with your morale Terry? Well search me, I never give it a thought. But my Aunt Bridget's morale, that's the big responsibility I got. When did all this happen? Just these couple of days while I was home, but I should have seen it long before. What's wrong with your aunt? I don't know, these days Kappa, she's a very lonely old lady. Nobody escapes the war these days, even women and children. Sure, sure I know, but I told you how it is with me and Aunt Bridget. You know she raised me on the money she made working in a department store. She put me through high school. I felt kind of good when I got that job in the steel mill and started paying rent.  Well, the day I enlisted, she didn't cry or nothing, she just went off to church. Well a lot of things got straightened out last night Kappa, when the two of us got to talking. Blue band with the white letter you have around your aunt, Terry. What are those letters M-P stand for? Military police Aunt Bridget. Glory be military police. There's been a policeman in the O'Toole family ever since your grandfather. Sure, sure I know it, but it's not going to be very exciting to fight the war by having to look after the other lads on trains and on the railroad stations. Oh, if you do your job and do it well, whatever it may be, Terry, I'll always be proud of you. Even if it's only direct and traffic and garden buildings and prisoners, I'll never come back with a medal for that kind of business, Auntie.  If being an MP is the job the Army wants you to do. But nobody asked my opinion.  Oh for shame and you're the brightest and fairest of all the O'Toole's. I'm serious, Terrence. I won't be worrying so much about you now. Not even the company I keep? I'll be coming out with a college education. Now you're just... No, I'm not. I mean it. Oh, this ain't like the last war when lots of the MPs were goons and bully boys. You know, all beef and no brains. Oh, now they train us for five months in a special camp. Say, guys, you used to be teachers and lawyers. They're in my outfit. Well, your friend Kappa sounds like a fine man. Oh, he is a fine man. His real name is Henry Lessing. It's real name. Well, yeah, you see, we just call him Kappa because when he went to college, he was called what they call a Phi Beta Kappa. They give him a key. Two of the college? Well, no, it's just a little bit of a key. I don't think it would open anything very much, but he's a very smart lad anyhow. You know, he says you write wonderful letters, Auntie. Here now. Here. What's the matter, sweetheart? Well, we've never been apart, Terrence. And your letters... Now, couldn't you tell me a little more about the things you're studying, the work you're doing, the men you're with? Sure, darling. Sure, I couldn't. I will. I promise. And no more worrying about me.  I'll write you everything just like I'm sitting here now and telling you. Oh, thank you, Terrence. And well, Kappa, that's what I made her believe. I couldn't see her worry. And now I don't feel right about it inside. Why, Terri? Well, I didn't lie to her. I never lied in my life, Aunt Bridget. But it's the things you didn't tell her that bother you, eh? Yeah, that's it. Like the fact that you want to be sent overseas and maybe really use some of those guns that have been teaching us to handle? Well, that part of it might never happen. So why should I say anything about it? But what I mean is I left her thinking that an MP was the sweetest racket in the whole army. Most people think so anyway. Yeah, I guess so. Well, we'll be through training in a week or so. If they put me on a job that's going to be worrying Aunt Bridget to death, I've got to tell her naturally. But in a way that won't hurt. Now, that wouldn't be lying, would it, Kappa? No, Terri. That wouldn't be lying. Dear Aunt Bridget, two weeks after we got back to camp, we finished our training. And now we're on a boat. I can't tell you what boat or where we're going to, but you can be sure for us blanket soldiers, it'll still be traffic to control and prisoners to guard. Plenty of my hope. I'll see another piece or two of this world, Princess, and all expenses paid. So don't you get to worry too much about me, Makushla, because I'll know it if you do. We shall proceed from England. Our ultimate objective will be North Africa. This M.P. company has already had extensive instruction in gunnery, tactics, landmine detection, gas control, and taking care of yourselves generally. Now your training really begins. Almost all our spare time on this boat we're studying or going to lectures. Most of the lectures are about the country we're going to be in, about the people and their customs, their language, etc. In a little while, the major is going to give us a talk on geography, which I should think it'd be very easy. Often be the deciding factor when we reach North Africa. Now observe this sketch of Hill 480, the main enemy defense overlooking the oil fields on Cape Halmon. Approaching from the rear, you will note the hill is cut. The next letter I write to Makushla, I'll be getting over my sea legs on good solid land. Tonight they're going to tell us just what jobs we're going to do when we get there sometime tomorrow. The day after, the sun will be shining down on your nephew Terence and I'll bet you anything you can name, he'll be standing somewhere directing traffic. The company has been divided into four groups, each commanded by an officer. This is the plan of operation for D-Day. At H.R. plus 30, the first group is to enter the town of Halmon. Immediately head for the center of civilian government and take over. The second group will be fire protection for the first. The third group will be held in reserve on the beach. The fourth group is to cut over to Cape Halmon in support of the company. Fourth group, all present, all two? All present, sergeant? Okay. The lieutenant wants you to go over the high spots one more time. Now the H.R. is 0300. That gives us just about 40 minutes. There's no moon or stars and we go without lights. Now let's make this snappy answer in rotation. Kalinsky, you start. How many barges do we use? Four. Captain's boat in the lead. What's our mission? Combat. Combat. You get that? Your beef and blanket soldiers? What's our objective? We hit, when we hit the beach, we cut over to the Cape in support of a company from the Seventh Infantry. We to wipe out enemy batteries, round up prisoners, protect oil tanks and refineries. Okay, repeat. When we hit the beach, we cut over to the Cape in support of a company. It's sure taken us a long time to get there. Take it easy, guy. Take it easy. As opposed you had to walk. No, it's I'd call me a cad. Kappa, what do you think? I don't know, Terry. Shouldn't be much farther to the beach according to the maps. Listen to this. I just heard the Navy guy tell on our Louis. He thinks maybe they got a wrong azimuth reedy. It's the blind leading the blind. Destroyer dead ahead. Destroyer dead ahead. Down everybody, they're going to search right. Down, down, take over. I'll too. Take my pulse. Right, sir? Bad word, Chappy. Yeah, still shooting. Like ducks in a shooting gallery. Sergeant. Hey, Sarge, can you see me? Here, I'm waving my hand. Yeah, I see you now. Here, here, grab hold. Okay, tool. Where they get you? I'm bleeding bad. You guys better keep moving. Here, stretch out the floor. We'll tow you. You're crazy. Okay, man. From now on, you're taking orders from me. Follow me, everybody. We're heading for the beach. Right now. Take it easy on this beach. How much time before daylight? Too soon. Too soon. Pete, it's cold. How's this Sergeant? Is that cold? I'll take him up in the beach where it's dry. Here, I'll give you a hand. I can make it. Yeah, okay. I'll get him up there. Anybody can hide you where we are. So long as it's land, what's the difference? Oh, no, Mark, you hurt those rocks. It's my arm, but my fingers won't close. Look, that beach is mine. Land mine. Hold it.  Pete must have stepped right into it. Wait, wait. Now I tell you for what? Wait for what? Listen, this is for all of us. We're in on something here and the first signs don't look so good. If the beach is mined, it means they're expecting us. Maybe they heard that mine go off and maybe they didn't. So what? What about Pete, Miss Sergeant?  There's only six of us now. We've come too far to die so cheap.  It'll be getting light soon. They'll come fast. I'm going up on the beach. Well, not you, Terry. We need those maps. The Sergeant was carrying. We need those Kansas K ration. Well, you're running the show now. I was just talking big before that Sergeant said for you to take over. I'll get the match, Terry. Well, I'm not asking you, Kappa. Got any suggestions, Terry? Okay, kid. Find Pete's tracks. You'll have to go on hands and knees and feel for them. When you find them, stay in them. Backtrack the same way. Crawl right down past the water line. I'll be waiting. I understand. Be careful. Good luck. The rest of you, back into the water. Swim single file along the shore till you hit where those woods hit the water. Wait there. Here he comes now. Come on, Kappa. Over here. Okay, Kappa, kid, okay. Yeah. Let me have this stuff. Yeah. Where are the rest? They're waiting. Let's go. That sun will come up soon, like the Bronx Express. You are listening to George Murphy as Terence O'Toole, MP. The story of America's blanket soldiers better known as the military police on the cavalcade of America's.  They are huddled in the dark on an African beach, checking their salvaged weapons and food so that they can complete the mission assigned to them. What's the score, Regan? Oh, our bisters are fouled. We've got four grenades, three bayonets, a compass, a couple of knives, and a handful of rocks. Kappa, got us placed on the map yet. I think so. Yeah, take a look. We're between the town and the Cape here, but nearer the Cape. What about that road right above us? It runs from Helm to the Cape. Branch is out just before. Lower fork leads to the oil fields. The upper fork leads to Hill 480. Oh, yeah. That's where the enemy batteries are replaced. Listen, then. Listen. Well, that's them, fellas. Six supermen in a jeep. What do you think of them? If they're supermen, I'm superman. Okay, now listen. I've got an idea. Those men are on patrol. That they go up and down on this road between the Cape and the town. We're gonna lay quiet in these woods and watch. We'll clock them every time they go past. Kappa? Yeah. Open up some K-rations and we'll eat. Right. I kind of got a hunch how we're gonna use those jerrys and that jeep. What do you think? Can we do it? Well, I say, yeah, let's do it. Only one thing or two. Suppose our guys don't try the landing again tonight. Well, that was part of the plan they told us. Yeah, two days ago that they haven't changed their minds. Well, there's nobody to sign any guarantee. From here on, we got to make up our own minds. It's Fisher cut faith. Well, put me down for years. New mark? What good will I be? I should have stepped on a mine, too. Cut that out. A musician with one arm. I say, yes. That jeep jobs for me. I'll take it. Oh, tool. I want it like that. Sure, kid. I'm only thinking. Can you do it? I still got my right hand. I can drive it with one hand. Okay, no more. Well, we got an hour and a half till dark. Another hour for that patrol car to pass to the Cape. When they pass here on the way back, it'll be us or them. But my plan will work. I know it will. Okay, boys, until they come, the time is all yours. That jeep was coming back. Get up close to the road. Wish that moon would stay behind those clouds. Five of you have bayonets and knives. Kalinsky, you've got the grenades. Listen, here it comes. Now, don't get excited. Remember, we need that jeep. All right. I see my marker. I'll start the count on the front wheels passing. You said Kalinsky, that piece of branch I put in the road. Oh, they are grenade right on it. Good boy, at the right second. Remember, we need that jeep. Here it comes. Count one, three, four, six. Go. Honey blouses and helmets. Quick. Pass now, men. New mark. Get that jeep out out of the road. Strike. A small arsenal in the car. Tommy guns, rifles and grenades. Pass them around. Getting close to the barracks, Jerry. Raker, slow down. I got you. There's the command post. The building just below. Get ready to jump. I got the three grenades planted back here. A little slower. New mark. Can you make it? Slide over the steering wheel. Hold it till he's set, Raker. Then get out on the running board. Okay, pal. Long fella. Sweet dreams. All right, boys. Jump. They didn't see us. No marks making right for the barracks. Goodbye, No Mark. He's holding the road all right. Just a little more, New Mark. Just a little more. He made it. Wait. They're setting up a machine gun in the road.  Let us have you start shooting. Come on, come on. Where's Brown? He was hit. What town? Ain't much, but there's still four of us. Our guys will know there's something stirring here. That fire is a beaut. Come on. Our men come. They land on the Cape. They'll make a way through the woods to escape any Jerry patrols and be there to help them. If they come. All right, you guys. Take it easy now. Ready? A single file and follow me. Maybe they see something out there that we don't. Come on. Let's get out of here. Give me a knife, somebody, so I can cut this cloth away. Here you are. Is it bad? Thank you. Give me some self up out of quick. Yeah. Yeah, here. He's passed out. He look at his side. We've got to get him down to the beach so we can have a doctor as soon as our fellas land. The doctor will save him. Yeah, the doctor will save him. I hope I'm writing this letter from somewhere overseas. I got a little wet when we landed. We ran into a little trouble there, but our boys straightened it all out fine. Incidentally, the suction that had me weren't hurt a bit by the water at all. I was knocked around a little and got a scratch or two. But after resting up, I'm back in business again. Most of my business these days is in a little town that looks like it's always early Sunday morning. And you know what I'm doing here? All right, take it easy, Gilhooly. Think you're going to a war?  Think of that now. Yes, we know about it. Yeah, somebody's been telling military secret center you MPs that never know about it way back here. Get going, Gilhooly. Is that an order corporal or that's an order, Gilhooly. And here's something you didn't know. It's not corporal anymore. You see those stripes? Sergeant Terrence O'Toole MP. Now get going.  DuPont has privileged tonight to have been able to tell the real story of the army MPs, how they work and live and above all, how they fight. Mr. Murphy will return in a few moments. Meanwhile, here is Gain Whitman speaking for DuPont with some good news about food. Recently, the War Production Board released 7 million additional cases of canned baby foods, milk, prunes, pumpkin, sweet potatoes and apple products to the public. These 7 million extra cases of food came to you in part because of the development of rapid efficient methods of electroplating tin, the result of combined research by the steel, electrical and chemical industries. The old method of tin plating food cans was to hot dip the steel from which they were made. But in the hot dip method, every unit of steel plate took about a pound and a half of tin. Now the Japs have most of the tin mines, so the problem was to find improved ways to plate the steel with only a fraction of the tin formerly used. And because of American resourcefulness and chemical know-how, it's being done. The new tin plate is rolling off production lines at the rate of 500 to 1,000 feet a minute. Here's a description of one steel mill's production line. It's 400 feet long. A steel ribbon more than 3 feet wide glides into one end. It runs through an alkaline tank that cleans it. It plunges through an acid to remove any foreign matter such as oxide or rust. It gets sprayed with water and runs on through 12 cells of the plating bath. In the plating bath, an electrical system that can supply 120,000 amperes of current carries molecules of pure tin to the bright moving steel. Then the ribbon doubles over on itself, so that the plated under surface becomes the top and gets plated on the other side. Cleaned again and dried, it races down into high-frequency induction coils that melt the tin coating instantaneously and give it a bright finish. Strips of finished tin plate come off the line in coils five miles long, weighing 25,000 pounds. They roll off at a rate of 5 to 10 miles an hour, many times faster than the old way. These tin electroplating processes are regulated to use as little as a third of the tin the old hot dip method used. Here is a development serving a vital wartime need that offers many possibilities for the peacetime future. For instance, steel plated on one side with one metal and on the other side with another. The halogen tin process and the alkaline standard process for strip plating are developments of DuPont, maker of better things for better living through chemistry. And here is George Murphy, star of this evening's DuPont Cavalry. Thank you, ladies and gentlemen. It has been my privilege to portray a young man from one of the most interesting and important branches of our armed forces. I hope that by listening to this story, many of you have had the work and the duties of the military police clarified in your minds that they are second to none in combat has, I think, been clearly demonstrated. More power to the Army's Corps of Military Police and thank you very much. DuPont urges you to listen next week to The Doctor shoots a cannon starring Preston Foster, Otto Krueger and Jean Lockhart. It is the story of the Navy's victory against the dread danger of flashburn, the searing wave of dry heat from exploding projectiles that caused a third of the casualties in the Coral Sea and the Solomon's. Flashburn, unimaginable heat of 2000 degrees, robbed of its potency by a little group of American naval doctors. Working with volunteer waves and sailors and experimenting with hundreds of formulas before they found the answer. Next Monday evening on Cavalcade, DuPont will present Preston Foster, Otto Krueger and Jean Lockhart in The Doctor shoots a cannon, a play that will harden and encourage every American who has a son, a brother, a husband in uniform. For it tells for the first time on the air the story of another great achievement by medical science for the protection of America's men who face the enemy. Cavalcade is pleased to remind its audience that George Murphy may now be seen in the Metro-Goldman mare production Broadway Rhythm. The musical score this evening was composed and conducted by Robert Armbrister. This is James Bannon sending best wishes from Cavalcade sponsor the DuPont Company of Wilmington, Delaware.


Oh, look, there's the police. Oh. Yeah. Hi, I'm Lavi, and this is Oli. We are attempting a new world record to become the youngest pair to circumnavigate the globe by motorcycle. Click the subscribe button to follow our adventure around the world. See you later. Good morning, Wambulbee. The rise in the desert. Good morning, world. Welcome back to the channel. It's day number 32 on our round the world trip, and we're at an awesome camp last night. We will just show you around quickly. Yeah, have a look at this place. So we are in the Tabernas Desert, the only true, true desert apparently in Europe. And we camped next to this abandoned building here, a little abandoned building over there. And you've got this amazing view. We woke up to this amazing view in the peaceful desert. And we can actually see down in the valley there is a place called Oasis Mini Hollywood, and it's like a replica of a Wild West town.  It's like the perfect recreation of an old Wild West town in the Wild West desert. So anyway, let us show you where we're heading today. All right. So we are here in Tabernas, and we are going to be heading down to the coast, the south coast of Spain, down to Almería, where we're going to be taking the coast all the way along, and then up towards Granada, where we have booked a place to stay in a place called Santa Fe. So yeah, not a long day today, and also we woke up a little bit earlier, so... It's only quarter to nine. So this is the earliest we have ever gotten started so far on the trip. So congratulations to us for that. So we hope you enjoy the ride with us. Let's go. Let's hit the road. Get out of the desert and down to the coast. Oh, we're getting better and better and better. It's all about power. Power. But anyway, we saw yesterday one motocross guy and he jumped up the hills here, right and left, up and down, like a madman. Miquel, hello, Miquel. I hope you're watching us. It was nice to talk to you. Say hello to your lovely girlfriend. We did see you up on the hill on the other side of the valley, racing up the hill. It looked absolutely crazy. Got a little river crossing. Not too bad. You see that? We can do off-road too. Maybe just not as well as you, Miquel. Oh, look, there's the police. Oh. River crossing again, number two. OK, we just say we didn't sleep here, no? No, of course. Just visiting. No, just visiting. Look at that. Bonus to wake up early for these guys. Yeah. Hola. Hola. Haha. Is he driving there? Yeah, he's going up there where we came from, I think. No way. So this is Oasis Mini Hollywood, behind this fence here. Cool, look at that. And it's actually, Hollywood films have been filmed there for a long, long time. That's a real Wild West Street in the middle of Spain. Oh, that's so cool. All right, now it's time to hit the coast then, hey? Yeah. On our way to Almería. Coming into Almería and we got the ocean laid out all in front of us. Whee. Oh, nice. Very cool. So we're just going to make a loop into Almería, head down to the ocean front and then start making our way westward along the coast. So impressions of Almería so far. It's a very busy place. A lot of just big buildings everywhere and a lot of cars, a lot of bikes. But I think we're getting to a more historical part of it. It was just a hell of a lot of blocks, hey? That's nice here. Yeah. And it's nice that it's got big, big shaded trees. I think you need that here. It's already 27 degrees. Yes. And it's only 10.30 in the morning. Yeah. Wow, that's a really nice trees. And look, there's some bird life that's enjoying the trees as well. I think it's some starlings. Okay, so here we're down at the sea front but it is not a tourist sea front. It is a huge dock. Which I guess explains why it's not super touristic here because you know, you don't want to book a hotel and it looks over a huge ferry port. So I think that's it from Almería. We saw a little bit of the centre and the docks. So let's make our way westward down the coast. Yes. Whee, the ocean. Yes. Yes. I love the ocean. Nice. That is nice. Wow, yeah, the ocean looks awesome. Look, here's even a little beach. Yeah, playa. Nice. Vamos a la playa. Here's some resorts on the right and the beach on the left. So here we are, only about 10, 15 minutes inland from the coast and here you can see this massive producing area of fruits, vegetables, produce and look, it's just a powerhouse of production here.  Like the whole area. It's like, we looked it up. It's about 12,500 farms here. Oh my God, yes. And it's all in these like white tents and it's all sort of indoor farming, right? And it's just an absolute monster of an area. We're just trying to sort of make our way a little bit through it so we can show you guys. And all of, every single tomato has been picked, you know, by someone. I think that's so, so crazy. I just think it's crazy the scale that they are producing here. Look at that. There's a sea of white all the way back to the mountains and the highway that we came off to come down here. Look at that.  Yeah, I don't want to venture too far into that way because you just don't know how long it will take you to get back out again. It's like a vegetable favela. Yeah, so if you buy your fruit the next time just have a look where it comes from. Maybe it's from Almeria. Exactly. And you have these like little towns in the middle of all of these warehouses. Yeah, it's really interesting. Just like these little avenues of palm trees and we're literally in a sea of warehouses. Back on the highway. Heading east towards Motril where we're going to turn north towards Granada and this highway, the A7 pretty much just follows the coast all the way along. Yeah, that is nice. That is super nice to see the ocean. Okay, so we're turning away from the coast now and inland towards our accommodation just next to Granada and you can see the Sierra Nevada mountains are just in front of us. It says it's 38 miles to go until we get to the place that we've booked. We're finally off the highway and heading into Santa Fe in a minute where we just had a little break under the olive trees and I just checked my phone and I just saw an email from our ferry company the ferry that's going to be going to Morocco which is supposed to be at the beginning of next week and apparently it's been cancelled so I'm not sure what that's about if it's something to do with the Moroccan government allowing people in or we're not exactly sure what's happening so we're going to have to try to give them a call or send them an email when we get to the hotel and find out what's happening. Yeah, hopefully it will be alright. Yeah, hopefully it's not going to be a disaster. Yeah. We'll be here for now. So we made it to our hotel for the next couple of days. We are here in Santa Fe and this is a view out the window. It's a pretty busy highway but they have a desk and a desk is what we need for our editing work. And two separate beds which is a nice change to the small tent. So I called the ferry company and it was a false alarm they just wanted us to change the time on the same day so that was a big relief because we were wondering what was going on with that so we were supposed to take the ferry at one o'clock and now we take the ferry at three so all is good for our ferry to get over to Morocco so fingers crossed it stays like that. So Bamba Bee is safely parked downstairs and that's it from us today we hope you enjoyed the episode if so then thumbs up, commenting, subscribing, all of these things we will see you next time.


Ah, that worked. So I hope you're all in the right place. This is the kernel mini-con for LCA 2015. If you're in the wrong room, please leave quietly. Today, we've kind of got a half-program, half-unconference style mini-conference. Some may say that's due to lack of organization, and I'd have to own up to that. So we're going to have a couple of presenters up until just after lunchtime and then on conference. So I'll introduce Jeremy Kerr. He works at IBM Oslobs. He's going to talk to you all about patchwork and how that's used for kernel development. Thank you, Tony. As Tony said, I'm going to kick off the kernel mini-con with something that's not the kernel, and it's not even C. So my name is Jeremy Kerr. I, as Tony said, I work for the IBM Linux Technology Center. And this is something that we've developed, oh, sorry. I've developed kind of enormous spare time to help us do a bit of open-source work. So some of you may be familiar with patchwork. And the reason I'm talking today is because it's getting a bit more usage on kernel-based projects. So a lot of the sub-maintenors of various subsystems in Linux have started using patchwork. And this talk is intended to give you a guide to some of the lesser known features of patchwork and how you can use that to incorporate into your workflow when using the kernel and other projects as well, but focusing the kernel today. So you may have seen patchwork before from patchwork.oslabs.org. We host quite a few projects now. And patchwork.cernel.org hosts another set, but that's not maintained by us Oslovers. And there's a few others set around for, I think, I think the OpenWRT guys. Some of the smaller projects have set up their own instance of patchwork. It's open-source software. So they've started their own servers and are running patchwork on that. But the talk today is based on the code levels we're running on patchwork.oslabs.org. Because that's what I control. So that's all I can talk about. So if you haven't seen patchwork before, a bit of a brief introduction. So patchwork is subscribed to various open-source mailing lists with the approval of the project maintainer. It then receives all the mail from that list. And anything that finds as a patch in the mail stream, it pauses and keeps a record of that patch in a web UI. Then we keep a little bit of other information about a patch set by the maintainer of the project itself. And they will basically record the state of the patch at the time. So it comes in. It'll be in new states. It will then either be set by the maintainer to accepted or rejected or under review or superseded or changes requested. So basically, it's a state management system for patches. As a bug management system, we'll keep track of the state of bugs. Patchwork will keep the state of incoming patches on the main list. And then that way, we'd sort of track the flow of a patch in its lifetime, either in incorporation into a project or rejection or a request for change. So this is what it looks like. This is the patchwork instance for one of our projects. And here we have a list of patches on the page and there are states down the right-hand side. So this tells us we have a few new patches that have come in and the rest mostly have been accepted by the project maintainer. So the idea here is we have a basic patch flow of new patch coming in. It goes into an under review state. And then it's either accepted or rejected. There are other states as well, but this is kind of the main thing we're talking about. The maintainer's job here, we want them rather than worrying about which patches they haven't looked at or have looked at, they can concentrate on the actual patch review part of their work and not too much on maintaining mailing lists and maintaining files of patches that need to be reviewed or that sort of thing. So patchwork gives us a list of what needs to be done and forms a to-do list for our project maintainers. But also we want it to be useful for the project contributors as well. So the idea is that the state itself is visible to everyone in the community. They can see if their patch has been accepted or rejected or has had some sort of action from the maintainer. If not, they can follow up or potentially see what's happening. Now today, I'm sure most of you have seen patchwork in some form. In fact, I found a link from Google to the patchwork page for patch. What I want to do is cover some of the lesser known sort of things about patchwork. One thing that's not that obvious from the web UI is we have a command line client for patchwork called pwclient. Now if you go to the patchwork website, there'll be a link to download the pwclient script. It's just a brief fit of Python, fairly self-contained, and allows you to interact with the patch database from the command line. So we have a sort of a git style sub-command type thing. So pwclient list will give us a list of some of the patches in our current project. So in this case, we're seeing four patches, one rejected, one new, two accepted. So that gives us a way of seeing what patches are outstanding for a particular project by looking at just the new and accepted ones, for example. I'm sorry, the new ones. And then we can use that to possibly feed into scripts for reviewing or what not on our local machine. In terms of reviewing, we can download patches. You give it an ID. So all the patches are referenced by ID and patchwork. And that will allow you just to download a particular patch. Often, you want to actually incorporate that into your version control system. So recently, we've added a pwclient gitAM that will download the patch and gitAM at teatory straight up. And then you can review it as part of your normal git workflow as if you're merging from a git tree. And if it's acceptable, you don't have to do anything. We can also update the patch database from the command line. So in this case, we're setting the status of patch44603 to accepted. So that will then make the patch listed in the web UI as accepted and inform the community that this patch has been accepted and is listed as such in the database. Now, the IDs are a unique way of specifying a patch. But often, we don't know the ID for patch in advance. So we have this concept of a hash for a patch. And this is a hash of basically a subset of the lines in a patch. So we try and get the context. We also ignore things like new lines and I think the line offsets in the patch itself so that if a patch has been applied with a small amount of fuzz, we'll still match the same hash. And that allows us to reference patches in patchwork by the patch itself. So if you have a patch file locally, you can generate a hash from it by fitting on standard into this PWPASA program. And that'll generate the hash. Then in PWClient, rather than referencing the patch by ID, you can reference it by a hash with a minus h hash. So that's useful for, in my case, I use it in a catch-up script. So this script here will, between two revisions in Git, it will hash the patch that forms that commit and then use the hash to reference the patch in PWClient and update the state in patchwork to acceptance. Yes, Paul. So Paul's question is, what if there's more than one patch in patchwork of the same hash? We will abort in that case. And in fact, I think, yeah, I'd sort of be conservative there and don't update the patch so that we don't update the wrong thing. Question up the back here. Is there a way into that? So the question was, can patchwork do this using the using-mails on the mailing list? No, it can't. I'll cover some bits that we can use the mailing list for control, but this isn't one of them. The problem is that we don't really have any authentication. So anyone could send a message to the list that will update patchwork, faking a maintainers reply. I mean, it's not such a serious concern to open anyway, but my thinking there is we're going to do that. And if there is a good way we can incorporate that, I'd be happy to implement it. It's just the authentication there, which is my concern. So yeah, so this script here basically generate the hashes and use those hashes to call PWClient. And this will basically, since you've committed all these patches into your Git tree, they're pretty much accepted, right? So it'll set all those states correspondingly in the patchwork database to accept it. Then you will basically remove them from the maintainers to-do list. And you know that you don't have to action those anymore. One other recent development is patchwork notifications by email. So this is an example that was sent to me, I think, in March. And it's told me that three of my patches for the FWTS project have been changed state from new into accepted. So this isn't used by many projects at the moment. It's enabled or disabled on a per project basis. And the reason we don't have it enabled a lot is that generally a maintainer will do this anyway. So they'll often say accepted thanks, rather than relying on patchwork to do that. But if you are running a project that's managed through patchwork, just let me know. And I can enable this for your usage. And you don't have to send those accepted thanks. Mail's out, otherwise this is what they're doing. And the idea here is that we batch the updates to about 10 minutes. So if you're updating patchwork and doing changes, if there are no new notifications to go to one user for 10 minutes, then the email goes out. So the idea is you don't get to spam people with every single change that happens. We group it all together. Some of the other, as we sort of touched on earlier, mail control facilities patchwork has is the ability to set various properties of a patch or control how patchwork parses one emailing patch. So as the original patch is coming, we can set various headers. And the first one is tell patchwork to completely ignore this patch. And when I was maintaining one of the subsystems of the kernel, I would often send out a summary of this is my changes going into the next merge window. And because all those patches have already come through the mailing list, there's no reason for patchwork to track those again because they'd just be duplicates. So I just set this header on the mail's going out to say, don't track it. It's also good for if you're including an example patch in a conversation. So you're saying, let's do it like this instead. You don't want actually to be merged as a patch itself. You can just say, add this header to your mail and patchwork will just take you where it happened. Another one is you can actually set patchwork states the initial state of a patch. So again, these headers are all for the initial patch that goes out. You can set the initial state for a patch to certain values. So in this case, we're setting it as an RFC, meaning that the main handler doesn't necessarily have to action apply or eject or anything like that and can use that original state in the patch database and market as such. One interesting thing is you can do this, but you pretty probably don't want to do that. Patchwork also has the concept of delegates. So when a larger project such as the kernel, even kernel subsystems have delegates responsible for certain bits. So example in PowerBC, we have a PowerBC maintainer plus subsystem maintainers that do various features or board support or platform support. And so we have delegates for patches. So a patch that comes in that touches the 32 bit PowerBC code may go to one maintainer. Patch that comes in that touches the KVM code may go to someone else. We actually reviewed by that person. So we have this concept of delegates and you can set a delegate on an incoming patch by email on your header. If you already know who is going to be reviewing a patch, you can set this header and it will automatically be delegated first thing when the patch comes in. And it means that the maintainer doesn't have to go through that list and find out, okay, this is a 32 bit PowerBC patch. I need to assign that. It's already assigned before the start. Now I'd probably suggest working with your subsystem in working out who is responsible for what. If you've been working in an area for a while, you probably know who's going to be reviewing your patches and this can be a helpful little, sort of skipping that first stage of patch review, of patch review, but the first stage of triage and getting it to the right person to review. Another feature we've added fairly recently is we count now the act review and tested by tags on a patch. It's still under development. I'll cover sort of some of the more controversial bits of this in a second. But so if a patch comes in, if there's any acts reviewed or tested by tags in the original patch, we count them. If there's any follow up emails coming in that have one of those tags, it'll also be counted. And then we display that on the web UI. So this is an example list of some patches that hit the PowerPC list recently. And we have this ART on A-R-T, Act Review Tested, and the counts of those tags that have hit each patch. Now the idea here is some project use criteria before a patch will be reviewed or be considered as upstreamable and often people go, we need two acts before we review it by a maintainer to sort of spread the load a bit. So the idea here is that if you have something like that policy on your subsystem or your project, you can wait to let A columns hit two and then review it or what implement whatever policy you need. But it gives a summary of what has happened so far without actually digging into the patch itself and looking at, looking through all the comments and find those things. So as I said, it's a bit of an underdevelopment feature at the moment. We've settled on these three tags by default. I haven't been asked for any other tags, but I don't wanna sort of paint myself into a corner and only ever support those three. So there is a question whether we support custom tags on that if we have someone influence like a CI process that adds a tag, do we add that or do we not? And which projects will use which tags? So there's a bit of, I guess, discussion going on about that. And also how you sort, can you sort by the ART column? Does that allow you to, does it summit? So there's still some design features there. If you have any brilliant ideas, please let me know. One of the other features or one of the other sets of changes that's been happening last year is a lot of documentation particularly about the installation process. So we've tried to slicken up the installation process for Patchwork itself. That's if you're looking to run a Patchwork system on your server. I'm guessing most people don't, but if that's the case then have a look. A lot of the documentation around the PW client binary is being fixed as well. So we've added some of the help there, made it a bit more intuitive perhaps. One of the things that happens during a Patchwork talk is feature requests. So we're always happy to find out how people are using Patchwork, what things are missing. I mean the idea about it is to enable communities to work better. So if there are feature requests, either we'll chat about it in the Q&A session or just come and find me after the talk. Also if you're interested in developing Patchwork, we've got a few slides on how that all works. As I said, it's all open source. It's all in Git. So again, it's written in Python. It's using a web framework called Django. If you're familiar with that, you probably know more than I do about Patchwork. And it's relatively easy to set up a development system without having to install a full web server and configure Apache. The way you do that is you just create that up. So once you've downloaded the Git tree, there's a manage.py script. So you use your, in this case, Postgres createDB command to actually create an empty database. The syncDB command will initialize all the tables that Patchwork needs. And then the third line run server will actually run a little web server completely in Python that you can use to make changes to the source and run it without having to, like I said, install Apache install to make for your Apache do all the other sorts of things. The actual, the web framework we're using is Django, as I said, and there are some great docs on the docs.jangoproject.com website. And that, basically, Patchwork is a very, well, quite a thin layer above the facilities that Django provides. So that will kind of give you all the bits you need to start hacking on Patchwork. If you're looking at hacking on the PWB client binary, that's pure Python. It just uses XML RPC to talk to Patchwork's server, so you don't just do any Django stuff for that. You can just start missing with Python there. One other important thing on the server side is we have a fairly comprehensive test suite. So this command will test any changes you've made to Patchwork. And if you're fixing bugs or implementing new features, having a test suite will always help. Also on the development side, we've had quite a few, quite a bit of activity recently on our list, where some folks, I think, from Intel have implemented a new UI for Patchwork. So my plan for the next, I guess, in the next month is to set up a beta.patchwork.ozlabs.org site, where we can try new UI features, things that don't affect the database, and run that against the existing Patchwork database so we have sort of two things running once, and we can do a bit of comparison and a bit of experimentation on what's going there. So I guess that encouragement, so if you have a UI change you want to try out, set me a patch and we can try it on the beta website, and then no one's going to yell at you straight away, at least. So kind of a couple of important resources here. The website for Patchwork and the Patchwork man list. Of course it's Tractive Patchwork. That doesn't mean I'm great at following the Patchwork lists, but yeah, we have a list at our website. And that's pretty much it. I usually end my slides with a thank you note, but I wanted to back it up with some data, so I ran this. So basically finding all of the comments, the initial comments on all the patches, the line, the metadata you submit with Patch. Found all the ones that were accepted and which ones had thank in the comments, and we got this. Which means, so if you say thanks in your original Patch, you get a 39.5% hit rate. If you don't say thanks in your Patch, you get about a 43% hit rate or accepted rate. So now I guess I was planning for a lot of discussion. Feature requests, that sort of thing. Anyone want to open things up? Excellent, Paul. Paul's asking what's the statistical significance of the... Yeah. So probably not very high. I can give you the data if you want. This was a late night... We have about... In this case, we were using just the kernel-based lists that we track on Oslob, so the next PPC and NetEv. It may be different from other projects. Maybe they're more polite elsewhere, but that's what we get. So the question was, we've done some integration work with... I shall put the polite version back up. We've done some integration work with Git. Is there any plans to integration work with other version control systems? The integration work done with Git is very minimal. The only... Just as a quick think... The only thing that we actually do is the PW Client Git AM. And there's no reason we couldn't implement the same functionality with a different version control system. And there's nothing... There's no kind of... I've intentionally made it VCS independent. So there's nothing that assumes Git. There might be some sugar we can add to make it work better with other VCSs. But the only reason I've used Git is that's what I use. So that's all. If there's other things, then I'd be happy to look at that. Do you want to make for the mic? Is that coming down and working? Do we have the mic? What are your plans in terms of scope? Like, how far do you want to implement features that say are available on sites like Bitbucket, GitHub, which have quite a variety of things around the source control? So perhaps integrate... Like having an API so that projects that have continuous integration can apply patches and kick off builds based on that kind of thing? Yeah, I think... I want the core of Patchwork to be simple. I don't want it to grow into doing our CI stuff on the Patchwork side. So I'd rather go in the approach where, like I said, if we could provide an API, then we can do that. Like I said, the PW client interface uses an XML RPC API, so it can be used by anything else. It may not be suitable for other ones, because we haven't considered that in the design. One of the things I would like to do is to rework that API, and if there's basically a second consumer of that, then that will give us some more data points about what the new version should look like. And again, the simplified way to go is, I think, would be preferable for me. So there's some sort of craft we've built up over hooking the API directly into the PW client, or making the API very much customized to the PW client consumer, but if there are other things as well, then we can definitely help us to define what the new API looks like. Cheers. There's another question over here earlier. Nope, I think we're good. Tony. So I understand the issues around authentication and stuff like that, but you know when you release a version 2 of a patch series, right? Is there any way to automatically supersede the version 1 or the previous versions of that patch series? That's what I'd love to do. So having that automatic superseding kind of actually saves a lot of work for the maintainer, so it's something that would give us a lot of work. The only problem is I haven't figured out a reliable way to do that yet. Now, I could argue that something semi-reliable would be better than nothing. I'm not sure yet, but... because there's multiple different ways that someone follows up to a patch. Someone can reply with a... something that goes on top of that patch, or something that goes alongside that patch, or something that completely replaces that patch, or just a little fragment of patch that says, no, you should do this particular part this way. So doing it automatically, I guess, is hard. If we can assist patchwork with some headers or some bits of things there, that'd be cool. But I'm not sure. So maybe there's something we can do with looking at the actual contents of the diff itself. If the diff's that similar, maybe it's an update. But I don't want to sort of do it and get it only half price. Jeremy, what would be really good for that is to have Git send an email at those expatchwork headers. Yes, yeah. And then you can have superseded in there, or RFC and things like that, because that's how we tell the email subject line what the patch is going to be, whether there's a V2 in it or there's an RFC and so on. So actually making that sort of status a first-class citizen of Git send email in some way, that can then, because there's other tools that are built on top of Git send email that could use that, like Gilt and whatnot. So actually having that metadata come through the actual formatting process as the diffs or the patches are pulled out of Git would just flow through. Then you've got an official protocol way of doing it. Yeah, definitely. What I would say is you can add a header that says this patch supersedes this other patch. But having that, I'm not sure how we can, when you do the original rebase to make V2 of the series, do we keep any information about the ones that it's... That's a pretty good one for Git send email. Yeah, definitely. I mean, yeah, so the states definitely will help there, but we can't... Once a patchwork has hit... Sorry, once a patch has hit patchwork, we can't update the state any longer from email. So we will need to have some sort of way of saying that this one... You can set the state of the patch that's actually coming in, but not some other patch that's already in the database. So we need to add that functionality to say this patch is new and it also supersedes this other one over here. Yeah, yeah, someone like that would be great. And then having that, you need to know the referencing before the email is generated, which is the... It's just an engineering problem. We can... You're just having to integrate it into the tools that you use to catch teams. Definitely, definitely. So the comment there is having the tools understand that will give us the method of the assistant that Patrick needs to do that. The Garrett change ID stuff is quite a pain to set up and being forced on, I've tried using Garrett for a bit, but it is at least one way of ensuring that you get that consistent flow through of what a patch was as it moves along through development, as long as something's adding it in. I mean, I'd prefer that patchwork just nicely added it in if you didn't have it because the Garrett way of you're rejected if you haven't got it there is a pain. But at least it could mangle the patch to put the line in and when you download it from patchwork, at least you would have that line and it would know just the next one. It doesn't help with the, you know, someone just grabbing it straight off the manual list though. People would have to... You probably would have to encourage folks to add one themselves before they sent it. But it's the best... It feels miserable, but it's one of the better ones I've seen. And a lightweight version of that might be your best option. Definitely, definitely. And it's a couple of design points. It would also be really good if it was... You use the same compatible things that we could try and try out different systems. Definitely. A couple of design points of patchwork. Firstly that I don't want to enforce the use of patchwork for a project. So if someone's happy using the manual list, they shouldn't have to be interacting with patchwork on a daily basis if they don't want to. So they should be the maintainer's choice to use that to manage their workflow. But the contributors, we don't want to add an extra step to contribution. We don't want to make it, you know, you have to learn this thing to contribute to our other projects. So we have the optionality of using patchwork. And the second one is I don't want to start adding... Unnecess... Well, adding patchwork-specific metadata to a project's change history. You know, you want your change history to be pristine only about the project itself rather than adding bits that are tool-specific or something else. So I need to figure out a way of having some sort of tracking across different sets of patches to say this one's related to that one without affecting the version control, which may be more challenging than I'd like. But if there is some way that'll be ideal. Paul, I just want to go back. Do you think there's any advantage to scanning mailing list archives for historical data? Not really. I think for the projects that have started using patchwork, no one's requested to pre-populate it with stuff. Basically because it gives you a huge workload to start with. You've got all these patches in new state and we saw about 50% of them would be accepted. So there's a whole lot of kind of workload that creates just by doing that initial import. But it definitely can be done. When I set up a test instance of patchwork, I often load up the Papui C mailing list into it just as a test dataset. But we can just run the parser on an existing box and it works fine. Paul, yeah. How's your throwing? Just sort of following on with that thing of authenticating users. I'm just wondering what other authentication and authorisation things you think are going to be needed in the future for if you're talking about a large project which might be distributed and might be dealing with people of less than pure intent. So are you asking how we would implement a secure patch update system? I'm thinking more what types of authentication and authorisation do you think are useful in that context? More than just a sort of email address kind of thing. I mean the email's fine. It's a way of transporting a bunch of text. We need to make sure that whoever's updating a patch is a maintainer of the project. So that means that you can't do things like let's say a security up change is coming in. If I can impersonate the maintainer, I can say look it's rejected or it's accepted and that never shows up in the actual maintainer's workflow. So that's kind of the situation I want to avoid there. And we can do that just by, let's say, you can jib-a-joo sign the mail, that updates patchwork. And perhaps have some method of setting the acceptable keys that are available for a specific project. So if you get a signed mail that is an update command, then we need to authenticate it against the correct users. So that will probably be the simplest thing to do. It's just a more engineering problem. I don't think it's incredibly hard. It's just someone needs to do it. And I guess the fallback there is that you can just use PWA client to do that anyway. So if you're running a script to sign a mail and do things, you can just run PWA client and update patchwork that way rather than sending email. So, I mean, it does solve the problem of sending one email to both inform the list that the patch has been accepted and to set it to update the state and patchwork. So that's nice. And if we can do that, I figure. Does patchwork have the notion of a set of patches like a series of patches, one of five, two of five, up to five of five? And does it treat them as a unit in any sense? No, it doesn't. So that has to be the main... Is there any plans to do that? Someone has to do that. Yep. And the idea is you can... You may want to just accept one of three rather than all of three. And we'd have to sort of keep the same granularity as we have now, but allow you to do actions in one. Now, we sort of have a manual way of doing that. As in you can create a bundle of those one of n or the n of n patches and then update the state of every patch in the bundle. But again, that bundle has to be created manually. So if I can do that, there's been some suggestion that we should just look at the m slash n in a patch subject and try and correlate it with other patches. And that would be ideal. But again, it's just no one's actually implemented yet. But I'd like to do that, yes. Yeah, I was thinking it would actually make the process of superseding patches a lot easier if you could match up the subject on the zero of n with the subject on... Probably the same subject on the zero of n the next time, even if all the patches in the series have got different names. We've got an x-series supersedes sort of thing. So again, we can use the... Yeah, definitely. Sounds good. Patches are. I don't speak Python. Great. Any other questions? Any of the feature requests? Excellent. I'm out of here. Thank you very much.


No, this isn't Sochi or Vancouver. In fact, it isn't even the Winter Olympics. Believe it or not, this insane slope is inside the oldest major league baseball park in the states. You guessed it, these athletes are qualifying to compete in the Polar Tech Big Air Fenway event right here in Boston. This is the really cool scenery. You know, to hit a jump with snow, you've got to take it at the comps and just really enjoy it out here. Skiers and snowboarders traveled from all around the world to come flying down this 140-foot man-made slope at speeds of up to 40 miles per hour for a grand prize of $150,000. Coming from places like Vancouver and Colorado, many of these athletes have only ever gone down real mountains. Yeah, I was actually really scared the first time to hit this. It's so different than being on a mountain.  And a scaffold like this isn't something that can be built overnight. The staging has been three weeks. Watching these athletes come down this slope, I couldn't help but wonder what goes through their head right before they take off. So I was definitely very nervous. I just have to put the nerves aside and focus and be confident in their abilities. Like, I've hit a million jumps in my life, so this one wasn't going to be that much different. Now that Boston is one of the cities that hosts the Big Air event, fans don't have to wait four years for the Winter Olympics to come around anymore. I'm Sanaa Sanjarnia for BUTV News.


Yeah. Okay. So our next speaker of this natural series is Florian Inescu from Georgia State University. And Florian is a student of mile hawkster, and he graduated in 2001. And he, I think he was a postdoc at Utah and then he moved to Georgia State as a faculty, and he has written important papers on this tight closure of rational rings. He will cause multiplicity. And I've learned a lot from him. So it's my great pleasure to introduce him. So the title of the talk is of the title of the lecturers at rational rings and rational similarities. So, Florian, go ahead. Thank you very much for this very friendly introduction. And thank you for your lectures they were very nice. I'd like to start by thanking the organizing committee for putting together such a nice summer school and for inviting me to, to say a few words about rational rings and rational similarities. The purpose of the nose the way I thought about them is to introduce the students to the concept of rational similarities and try to give a fairly careful introduction in the main ideas and develop the bulk of the fundamental results about the rational rings, and then sort of go ahead and provide the sum of the major contributions the field which I can't prove all in three lectures. So, the first part of it will be more detailed in terms of proofs. And as we advance in the subject, I will indicate results but either sketch proofs or results at all due to lack of time. However, I will try to include a fairly comprehensive reference list so people can start there and look at many of the papers written on the, written on the subject, if they're interested in this concept. Every rational rings are really among the classes or in one of the classes of rings associated to take pleasure to read that tends to have very many beautiful results, connected to it and many of the so to speak that the results that one would hope that they, they work, they actually work for a rational ring so he's one of the sort of test cases if you have some ideas on things that relate to try closing somewhere another ever rational is provided a ground for testing to see if they work. And that being said, many, some of the results are very, very deep and beautiful, and even the theory itself requires some care to develop carefully so I will spend some time on that to try to explain some of the intricacies as much as I can. So let's start with that. So, I should, I should say before I move to defining this class of rings that I'm freely using the work of many experts who contributed to this. Dr. Hewney, Karen Smith, Federer, Watanabe, Aburbach, Velez, among others, and I will try to quote the results but I might not be able to do that all the time. That being said, we should all realize that this is done by by other people not by me I'm just presenting the work. All right, so let's start with some notations. I know that this has been done already but I just want to fix some of the notations that I'm going to be using for the remaining of the notes of the lectures. So, rings are going to be material for the first lecture at least characteristic is just P where P is prime greater than zero, and Q is always going to denote the power of P, the Frobenius map is denoted by capital F. And it's it iteration, if he is the sense an element of the ring R to R to power q. So once we have this iteration of Frobenius, the target map, the target ring I'm sorry it can be regarded as an R algebra via the iteration of Frobenius, and I'm going to use the notation R to power parentheses, E, which is was often denoted in the previous lectures by a floor star. E over. So once we have this our algebra if you tense up with it, a module and you can come up with a functor on our modules. And sometimes this is called the Frobenius functor the pesky spiro functor. We need this functor to be able to define for modules. I know it's defined by I just want to recall what the definition is that I'm going to use. So in order to define the type of for some module and in a module M, you need to have this concept of N, Paul record q in M, which is the image of the tensor product between R E tensor and into R E tensor M. So the image of this map is this module. And now with that tight closure is consist of, oh, I need one more notation. So do you know X power q to be the image of one tensor X in. Okay, so if X is an element of M. You can take this map and the image of this into here is X support. Okay. So with that in mind. Let me recall the definition of tight closure consists of all these elements X in M such that there exists C not in any minimal prime of R such that C X to power q belongs into this and power bracket q of M. Okay, so if we take M equal equals R and N equals I an ideal in R we get the tight closure of an idea. Okay, so this has been defined so this is the notation that I'm going to use. Let me recall what the parameter ideally in the ring. R is it will be an ideal generated by K elements where the height of the ideal is exactly K. Okay, and under mild conditions. You can think of parameter ideals elements with the parameter ideas as I do generated by elements that remain are part of a system of parameters when you localize the prime idea for example, okay. This has been mentioned many times before but system of parameters in a local ring are of course a number of a string of elements x1 through xd where these the dimension of the ring, such that the radical of the ideal is the maximum ideal of the local. All right, so one of the main results that we need we'll need a couple of results to be able to develop the notion of irrational rings. So the first one is the clone capturing the property. It was proven by Huxley and Kinequin and was stated before by I think the meal and I think each one as well. If you have a local equidimensional ring that is a homomorphic image of a color my coloring and you do know by x1 drinks the system of parameters. Then the failure of the ring of being coming I call it which is quantified by this colon ideal. Is contained in the tight closure. Maybe I should. I hear. And I plus one. And this is true for all I between zero and D minus one would be. Is the dimensional. Okay, so this I this theorem was stated for is stated for equidimensional rings homomorphic images of color my color rings, and these assumptions will be crucially the way I set up the period. I'll get back to this point later but for now. I'm going to use this result many times so this is the colon capturing property of assistive parameters. All right, so now I would like to recall some facts about excellent and a finite reason will be used. I know that some authors before me just dealt with a finite rings but I don't think we need to restrict ourselves to that and I'm not able to just include the thoughts about excellence in general. So, let me recall what an excellent ring is a material ring are is excellent if it's universally can turn a ring. If the formal fibers of every localization localize the P where P is a prime ideal are geometrically regular. For every find it regenerated our algebra. As the regular locus is open as a leisurely skittable. Okay, so this is a rather technical condition. However, the important thing about this is that this class of excellent rings. Is stable under the major operations in committee of algebra, like localization homomorphic image, taking a finite degenerate algebra and a complete local ring is excellent. So if you know all these things you don't really need to worry about the definition too much you know that if you have a complete local ring you have an excellent ring, and then if you do natural. operations of speaker on this you're going to preserve the excellence property in relation to discuss that there are two. Two results that I should mention, first I need to recall the what a finite me so a ring is a finite if the Frobenius map is a finite map meaning the target are is a finite degenerate module over the domain are. And this was covered the length in the previous lectures, including these results that I want to mention so. The first result is the result of coins. If you have a finite ring, you have an excellent ring. And the second one, which is useful at times is that if you have a finite ring. This result is due to cover, then it's a homomorphic image of a. A finite regularly. Okay. All right, so if you want you can. So basically just have just a finite rings but I will try to use excellence. When, when possible, just to explain how that comes into play because you will see that in the literature is good to have an idea, or why that it comes into play. And this is really the, the one of the main reasons, I think. The class of excellent rings is, is so important for the theory of tight closure so you. We know that test elements in type of your theory, which in test ideas have been covered and they are very, very important. And then one of the deepest results in, in the theory about the existence of test elements is due to Hoxley here again, and the theorem stays the following. So there are two conditions, either the ring is reduced and a finite, or is reduced and essentially a finite type of a local excellent ring. Okay. So these are the two conditions so then, if you have an element seen are not such that our localize it's C is not a finite I mean I meant to write. If regular in Gorenstein, then a power of C is a test for our. Okay, so this result actually is crucial in the development of this class of a rationally so the I will say that to be able to set up the theory we clearly need colon capturing in this result. Alright, so now. One question that will appear towards the end part of the lecture today is, can we have a result is, is there any result that provides test elements you see this result that I stated is stated, provides a power of an element C as a test element. It's not as convenient to know that the power is a test element you would like to actually have examples of test elements because if you try to check type closure relations, you need a test elements. Otherwise you will just have to guess some C that works and that might not be easy in particular cases. So, one result that it's also not easy to prove and provides examples of test elements is the following that if you have, you need some conditions for example you need are to be geometrically reduced, and finally generated algebra. You need a field care characteristic P. Okay, equidimensional. Then the Jacobian ideal of our over K, the elements of the Jacobian ideal that are not in any minimal prime are test elements. And the chain was show for example use this in in the previous set of exercises to produce this elements in his examples. The result of Hoxter, Hewney key. Based on work of Liebman and set. Okay, so that's what source of test elements for us have a ring like this. You can look at the Jacobian ideal, and I will do some examples where you will see how we get this but this will provide clear test element for us. Alright, so what's the definition of an irrational ring so first I'm going to define it for local rings. And I'm taking the point of view here of Hoxter so you will see various definitions in the literature. And the main debate I will say, I mean it actually depends who you ask some people don't refer at all to type closure when, when define a rationality. This is a little newer point of view and I think link, link your mind Thomas Paul strong like that perspective. And most people refer to type closure of system parameters or talking about irrational rings, and the main debate is whether or not to assume that the ring is already a homomorphic image of a chemical ring. And my point of view is influenced by Hoxter who's latest presentations on this assume in the definition and when you talk about irrationality the ring is already a homomorphic image of a chemical ring. And you will see that a rational ring is calling my calling. So it doesn't hurt to assume already that it's a homomorphic image of a chemical ring. In addition, most greens that appear in geometry, or naturally in investigations are homomorphic images of chemical ring so that's not really a super strong assumption. Because local ring is a rational. If it is a homomorphic image of a color Macaulay ring. And every ideal generated by the system of parameters is tightly closed. And then so that's the local definition so you need to check that every ideal generated by a system of parameters is tightly closed. And now if you have an arbitrary ring you still needed to be a homomorphic image of my calling. And when you localized at any maximum ideal and get an irrational. Alright, so we define the notion locally and then we say that if every localization of the maximum ideal is is called is a rational then that's the, that's what a rational idea. Alright, so let's start now the stating that the first results on this so let's say we have an irrational ring. And then the first observation be that in fact every parameter ideal is tightly close TC would mean tightly close. Okay, to abbreviate. So, how do we prove this. First, know that you can pass to pass to a localization. Because the tight closure if you something is in the cloud type closure from ideal is preserved when you go to a localization. And their parameters become just part of a system of parameters. So, we can assume that are these local and takes one XK is part of a system parameters. So, I'm reducing this problem to showing that an ideal generated by a part of a system of parameters is tightly closed. Okay, so what we're going to do is we are going to complete to a full system of parameters. So let's say we have x one to x K, K plus one x D, where these the dimension of the ring are. And then, for every non negative integer, we're greater than actually been zero than one. So, the type closure of it will be containing the type closure of this ideal that, but this idea is generated by a full system of parameters so we know from the definition that this is tightly closed. And therefore, the type closure of this ideal is containing the intersection over T of all this, which is extra tricks. So we get it, we get that every parameter ideal is tightly closed. All right, so now I like to talk a little bit about. Yes. Okay. Let's talk about what happens when you localize. So, for that we need the an exercise which is a sign in the notes. The exercises the following that if you have a material ring of characteristic P, and this is a multiplicative close set and you have an ideal I generated by an element that form a regular sequence. And then, there exists an element of the multiplicative set such that the union of all these colon ideals for over all the elements, w in the multiplicative set. So you can just choose one particular element in the multiplicative set such that you obtain the so the union of these color ideals is just this cool. We're, again, you see n plus one appears there and then is the length of the regular sequence. So this, this exercise requires a little bit of effort to prove it is not hard but it's not the two liner either. And then there is another exercise that is also the deceivingly ingenious the proof of it says that if you have an element in S inverse R or S is a multiplicative set if you want to look at the AC versus our zero meaning the couple of the minimal primes of this localization. Every element in there can be written in the form C over T where C is in our zero and T is in w. Okay. So, I know WS. Okay. All right, so we'll need these two exercises for our next result. The next result says the following. So you take the value of characteristic P, and you take an ideal eye that is generated by regular sequence, and W is a multiplicative close set, then tight closure commutes with localization, or taking fractions in w. So W inverse I star is W inverse. All right, so one direction is pretty clear if you take an element you have the form X over S where S in W and X in the type closure of I. Well it's right. What it means for X to be in the type closure of I, and we get this line. There exists a C, not in any mineral prime such that C times X to power q belongs like power bracket you for Q large enough. So, if you involve C S in there then you get that C times X over S to power q belongs to W inverse I power bracket q for large enough q. And that simply says that X over S is in the type closure of W inverse I. Okay, so now the more intricate part is the converse. So if you show that if you have an element in the type closure of W inverse I then the dead element comes from the type closure of I. Okay, so using the exercise. You can find C in our zero and T in W, you can such that C over T X over S to power to power q belongs to W inverse I power bracket q for Q large enough. Okay. All right, so now if you clear denominators for every such q you obtain some element in the multiplicative set, such that this relation happens for or q large enough. Okay. Well what happens so what do we have we have this right. And C X q belongs to this union that appear in the previous exercise which can be written in a more nicer form with a specific as zero to power and plus one to power q and zero is independent of q. Okay.  It belongs to I star. So, you can get from here the X over S is in type closure by localized or inverted with W. All right. So this proves that regular sequences behave nice respect to any localization. All right. So this was the only place we use that I was generated by regular sequence was to apply that that previous exercise. Yes, that's what they think. Thanks. Yeah. All right. So regular sequences will localize nicely respect I mean type closure of regular sequences locally as well. So another aspect or that would be is relevant to mention is like behavior on the completion what happens there. So, here, I'm going to stay the following exercise. If you have an excellent local ring of characteristic P, and you have I am primary ideal. I star expanded the completion. It was the type closure of the of I are complete. Okay, so I'm going to I'm going to skip this exercise. But I'm going to use it to show that every rationality is preserved and the completion for for excellent rings. Actually, I think I. Yes. Okay. Take a local excellent ring. I'm claiming that the rationality is preserved. It's a ring is a rational if and only if the completion is a rational. So one direction, you take an ideal generated by system parameters in our hat, the completion of our respect to the maximum ideal that ideal I is no to come from an ideal generated by system parameters now so you can write it in this form. J, our hat, what J is the system parameters ideal. So then, if you have an element X in. I star. That is J, our hat star. And by the exercise that's the same as J star, our hat. J star is J because we know that the ring is a rational. So we get that I started close. So an element generated by system parameters in our is slightly close and conversely if you know that the ring is our hat is a rational. Then you take an ideal generated by system parameters in our, and you expand that to our hat, you get an ideal generated by system parameters in our hat. Okay. And then, how about I star. I start can be computed due to the faith, faithfully finest property of completion as expanding it to our hat and contracted back to our, and then using the fact that here that our hat is a rational. Idea generated by system parameters are slightly close so you can easily get that this intersection equals are using again the faithful flatness of the completion. Okay. All right. So, okay, so I like to let's see. Yeah, let me. I like to stay the following. If you have a ring that is a rational. Then, our is normal class. And if F is a rational local. Then you get for free domain as well right. Because the normal local ring is domain. Okay. So, this was mentioned before but I like to provide a quick proof proof. So, we get that the principle ideal using the property the parameter ideals are tightly closed principle ideals that generate the height one prime will be tightly closed. And we know that this condition applies normality of our. Okay, so now, how do we check the coin McCoy property. McCoy property can be checked locally. Okay, at every maximum ideal. So, assume now, are is local. You obtain. Therefore, normal domain. So, equidimensional and therefore, because we know that every part of a system of parameters. We obtained the regular sequence property from the cold capture. All right, so now we know that every rational rings are normal and come a colleague and if you assume local there also domains. So, all right, so now, let's prove that this property of refresh a rationality. Localize it where not it's just every maximum ideal but every everything so if you have a homomorphic image of a comic coloring, then the ring is a rational if and only if the localization is a rational for every maximum ideal. If and only if every localization is a rational with every part. So, here the important part is how to prove the following thing that if you have a local ring. That is a rational. How does one prove that our localizer P is a rational. Okay. So now if you check, take X one through X K. And R such that they are part of SOP in the localization. Take the ideal J that they generate. So we know that J is J star because R is a rational and this is a parameter ideal. So, using the localization. The property that we prove before. We get that this ideal generates a tightly closed ideally not a place. All right, so now let's start to with. So this word like this little low hanging fruit so to speak from the definition and the column capturing property. We can approve a little bit. A little bit more involved. And says the following so let's say, again, we take an equidimensional homomorphic image of a chemical ring. We do that because we're going to use colon capturing. And we take a system of parameters for the ring R. And now we're going to assume that the ring R and miss test elements. Okay, so go back to the original result about the existence of test elements that I stated, this is where you would want to use the reduce the finite or that the rings are is reducing essentially a finite type over the next on the local ring. So, plainly split we just admit we have test elements for our. So then we have a number of statements. The first one says that the colon. The next one is gives you the tight closure of x one tracks. Okay. So this is for all K. Between one. Okay. And importantly, if you know that this sequence generate a tightly closed ideal, then every partial ideal generated by a substance x one tracks K is also tightly closed. And then three, if you have a effects on 3d generate a tightly closed ideal, then one gets that they form a regular sequence. And R is clear McCoy and for effects on 3xd generated tightly closed ideal, then we get that the ring is irrational. So the importance of this result is established is the fact that least towards the fact that to check the rational property you need to only use one system of parameters. And if you remember, the definition is for local rings is, it's formulated in checking that all ideal generated by system parameters would be that the close this will allow us to just check one system of parameters. Okay. And for that though you need test elements. Okay, so let me sketch this just making sure so. It's a 50 minute lecture right. It's from 10 to 1050 right. Yeah. Okay, thank you. Okay. So, let's start with one. All right, so we want to show that if z times x k plus one belongs to the tight closure. Okay, so that's x 1 to x k, then somehow z is already next one to x k. Okay, so that's the essential the first part. Okay. So, right on the definition of what this line means. So we can have a C that works for a large enough q. And therefore C z to power q belongs to this colon, which due to the colon capturing property applied to the cute powers of these elements were here in the tight closure of x 1 to power q x k to power q. And now we use this test element. This is the place where we needed to further multiply this relation. This is a test element so then we have DC z to power q now belongs to the times this, but by the test element property this is in just in the ideal. And then if you look at this relation. This establishes that Z. I'm sorry, the Z belongs to the tight closure of the agenda by x 1 to x k. So we needed the test element here to not make it depend on you essentially right. Right, that's all we need the test element. We need a test element that works for all this cues. Okay. So, yeah, that's it's an essential point. Okay. Part two says that if x 1 to x d gives you type tightly close ideal then every partial every subset x 1 to x k also produces a tightly close ideal. And this is done by reverse induction so basically we have the statement for k was to be because we just said x 1 to x d generated I think was ideal, and we want to descend to one less parameter so in other words. We can assume x 1 to x k plus one tightly closed and we want to show that x 1 to x k is tightly closed. Okay. So, let's take an element in the closure of x 1 to x k. This naturally is containing x 1 to x k plus one star. Which we know is tightly closed. So it can be written like this. Right. So, you can write this element Z as an element x, x coming from here. Okay. So when you do that, then you, you note that are x k plus one is Z minus x. Which belongs to the tight closure of x 1 to x k. In other words, if you restate this you get it are itself belongs to this column. That appeared in the part one of this theorem that we just proved so this is by what we proved in part one. So x 1 to x k star. Okay. Well, if you trace back what we just did, you realize that this says this the composition says that in fact, x 1 to x k star can be written as a portion for x 1 to x k plus some multiple of something in the tight closure of x 1 to x k. And now Nakayama lemma shows that this ideal equals. Okay, so we use part one to show this. All right. Okay. Now part two, if we have a tightly closed ideal x 1 to x d, we know that every subset will form a tightly closed ideal so by using the column capture and property you get the regular sequence property immediately as before. So what we do produces that proves that if you have an ideal generated by system of parameters that is tightly closed and the ring is currently, and then, finally, it remains to show that if you have that if you have an ideal generated by one system of parameters, then this can actually that the fact that that ideal is tightly closed can be transferred to every ideal generated by system of parameters. And it's a little bit more involved and I don't think I'd be able to finish in one minute. So, I guess I actually already over time. So I'm going to start to that part next time. So next time, the plan is to finish this and move to the connection between a rationality to local homology, do some examples and then Vieta was rationalizing this. Thank you for that. Thank you for his. Okay. Yeah, let's thank foreign. Are there any questions. Yeah, I have a question real quick. Back when you were doing back when you were localizing a fraction alley. And, you know, as far as the check at maximum ideals or at any prime is this does it. I don't know about this. If our as a rational is S inverse R rational for any multiplicatively close set S. Yeah, that's because you if I if I was a rational then I'll localize the people if you point. That immediate. Thanks. Other questions. So if, if no more questions, I think let's thank flooring again for the nice lecture. Thank you.