Now, Auto-Lite and its 60,000 dealers and service stations present... Suspense! Tonight, Auto-Lite brings you Pat O'Brien in... Dead Ernest, one of the most famous of suspense plays, produced and directed by Anton M. Leeder. Friends, officially, Spring has sprung, and you'll want a spring pep for your winter weary car.  Yes, you actually can tell the difference in your car. Auto-Lite regular-type spark plugs have long been standard factory equipment on many leading makes of cars and trucks. And now, six, that's right, six of these leading makes of cars and trucks have switched to Auto-Lite resistor-type spark plugs for factory installation on their new 1949 models. The new Auto-Lite resistor spark plugs are the spark plugs of today and the future. Remember, you're right with Auto-Lite. And now, Auto-Lite presents Pat O'Brien in the tale well-calculated to keep you in suspense. Accident report, two police inspector Blandon from Lieutenant S. Healy, place 15th Street and 4th Avenue, time, 2.45 p.m., March 11th, remarks. Ernest Powers, age 34, was crossing the intersection as the signal light changed from green to red. The car, driven by a Theodore Tobi, made a legal right turn from 15th Street into 4th Avenue. There wasn't much. Whoa, look at those trial marks. Hey, the guy's out cold. He's bleeding. All right, stand back now. Let's have a look. Does he hurt bad? I didn't see him. Honest, I didn't. I had the right of way. Yeah, he's passed out. Oh, one of you people called for an ambulance. Yeah, yeah, you're there. Okay, move back, move back. Oh, look, he's bleeding. He's bleeding here. I'll prop up his head. Yeah, here, use this jacket. Here, I'll hold him. Golly, he's limp. He feels just like he's dead. Yes, Ernest Powers felt like he was dead. Ernest Bowers suffered from catalepsy, a strange disease. He carried it all times, a note in his inside jacket pocket stating that he was a cataleptic and that in the event of seeming death, his wife should immediately be notified or his doctor in the event his wife is unavailable. The letter also requested that no autopsy or embalming should be performed on his body for 72 hours, although in his particular case, the duration of the attacks were usually four hours or less. Ernest Bowers also wore a sterling silver bracelet with an inscription reading, Do not embalm me, I am not dead. Catalepsy is a disease of the nerves in mind. The physical conditions of the cataleptic when he is under a spell closely resemble death in all aspects, including the primary stages of rigor mortis. Officer Abbott was on the scene of the accident. He administered aid to the injured man before making out his report. Now to stop the bleeding. Looks like just a cut on his forehead when he hit the ground, nothing much. Now, what's your name? Toby, Theodore Toby. Here's my license.  What did those kids do? They picked up something off the street. Oh, here it comes. I hope he's all right. It doesn't look like he's bleeding. Oh, my gosh, he ain't. I told you to get back. Come on now, he's back all of you. Doc, he's out cold. I'll say he's out cold. Let's get him away. He's dead. Well, anyhow, it didn't happen in our wagon. Okay, we'll take him away. All right, keep him back. Will you officer? Yeah, keep back. Clear out. Come on, the show's over. That's the third one today. Yeah, there. Hey, who's coat was that he was laying on? I don't know. Did you pick it up? No. Hey, officer, where's the coat? Oh, well, why? Gosh, it's gone. Okay, never mind. Let's go pay. Ernest Bowers had lost the identification of his condition. The letter was in the inside pocket of his jacket. The silver chain he wore on his left wrist had snapped and fallen to the pavement. Two youngsters picked up the chain. Robert Manelli aged nine and one-half. Tommy Stoner, eight. After your father's shot, Bob, wait, shoot us a nice chain. Hey, there's writing on it. Maybe it's a guy's name. Is he hurt bad? Nah, just a little bump. What'd you say? Just a second. We'll be out of the alley. Yeah, Pop's gone home to eat. What'd you say? Wait a second, will ya? It says, do not in bomb. Do not something me. I am not dead. It's screwy. What do we do with it? Sell it, dopey. We can buy some baseballs and stuff. Yeah, but when we try to sell it, they'll ask us where we got it. What do we tell them? Nothing.  You know what we'll do? What? We'll use Pop's welcome torch. We'll melt it down. Well, he told us not to use it. Pop ain't here, is he? No. Well, come on. There it is. Yeah, here, put it on that brick. Okay? Yeah. But be careful. Hey, what are your kids doing? Oh, hello, Pop. Nothing, Mr. Manelli. We ain't doing nothing. Yeah, nothing, huh? I thought I told you kids not to go near that torch. Well, we want to melt this down. Yeah, give me that. Ah, what's this all about? We found this chain, Papa, and we want to melt it down and sell it. Who's is it? We don't know. Do we, Tommy? No, no we don't. There's nothing wrong, Pop. We just found it. See, it's ours. Do not em... embalm me. I am not dead. What's that? It's screwy. Where did you find it? In the street. Ah, it's Papa. Ask Tommy. All right, go on. Get out of here. How about melting it down, Pop? We can sell it and buy some baseballs. All right, keep back. They melted it and took it to a golden silver dealer. They sold the melted chain for $1.30. $1.30, but the coat, the coat was the principal thing. In the coat in the inside pocket was the letter. The information about Ernest Bauer's condition was in that letter. The instructions that could save his life. The coat was picked up from the street by Ernest Jerry Murdoch. There's a big sign at the corner of 15th Street. It says, Ernest Jerry Murdoch, swap shop. He brought the coat into his store, rummaged around in his shelves until he found some cleaning fluid and then started to clean the blood stain. Well, then, for a sport jacket. Just a moment. Okay. Conservative. Ah, will you come over here, please? Yeah, something on that order. Pick out what you want. How much you want to spend? About five bucks. Please cost more. How much? I'll make the 12. They don't look so hot for eight bucks. I'll make the 12. Say, wait a minute, wait a minute. I'm just putting a new one in stock. Over here by the counter. Yeah, looks all right. What size is it? I don't know.  Kind of stiff in front here, though. Ah, it's because it's almost new. You'll break it in. It feels like cardboard or something. You want it? Five dollars. Okay. It might still be a couple of stains on it. I ain't had time to take out. Use some cleaner around it or bring it to the tailors. It'll be better than new. Yeah. Here's a five. Ernest Bowers is brought to the receiving room of the Vedder General Hospital. Various routine tests were made. The time, 4.10. If Bowers are going to awaken, it would probably be 6.45. Dr. Weldon made out his report. He wrote it down while he was standing near the telephone switchboard. This is the Vedder General Hospital. Is there anybody by the name of Bowers at home? Bowers, B-O-W-E-R-S. No, nobody home. Is Mr. Bowers married? I hope so. Where can I reach her? There's been an accident. I don't know. She's out. Will you tell her to call the Vedder General Hospital? Yeah. What happened? Mr. Bowers is dead. Can't reach her, huh? No. I'd like to do an autopsy. Yeah. What'll I tell the wife when she calls? Well, if it's pretty soon, I'll talk to her. We've still got those tests to go through. Then I'm off. If it's more than an hour, he'll probably be on the way to the morgue. At that moment, it was then 4.22 in the afternoon. At that moment, if anyone had been in receiving room B of Vedder General Hospital, where the body of Ernest Bowers lay on the patient carriage, they would have seen a fly crawl slowly across the face of the dead man, and they would have seen his nose twitch. For suspense, Auto Light is bringing you Pat O'Brien in Radio's Outstanding Theatre of Thrill's Suspense. Day of spring it, I've got it coated by head. Well, Hap, you should get outdoors. You need a change. Yeah. The old worn-out plugs needs White Gap Auto Light resistor spark plugs. I know. For your winter weary car, replace old narrow gap spark plugs with White Gap Auto Light resistor spark plugs. A car idle smoother gives better performance on leaner gas mixtures, actually saves gas dollars. And what's more, White Gap Auto Light resistor spark plugs cut down spark plug interference with radio and television reception. I gotta get rid of this coat. We should all get rid of winter eels and get rid of old narrow gap spark plugs. Everybody should install a set of White Gap Auto Light resistor spark plugs. Everybody can cure somebody else's cold. Ah, but only Auto Light offers smart car and truck owners everywhere the sensational advantages of resistor-type spark plugs. They're ignition engineered to meet the highest standards of automotive engineers. Remember, folks, you're always right with Auto Light. And now, Auto Light brings back to our Hollywood soundstage. Pat O'Brien as Lieutenant Healy in Dead Ernest, a tale well calculated to keep you in suspense. Accident report continued. Henry Prince had within his power the opportunity to save the life of Ernest Bowers. He had purchased the coat in which was the letter that could save him. When he left the second-hand store, he stopped to have a chat with some friends, made some purchases at the grocery store and started home. The time, a few minutes after five, he lived about two blocks in the scene of the accident. His wife was waiting for him. How do you like it for five bucks? Yeah, it looks all right. Oh, what's that, a spot? Where? Yeah, take it off a second. I wonder what it is. Oh, I said there was a couple of spots. The cleaner will take them out. You know, it looks like... Hey, what's this in the pocket? I don't know. To whom it may concern, please open and read. Yeah, that's what must have felt stiff. This note is carried on my person wherever I go. It is to advise responsible parties that I am a cataleptic that if it appears as though I am dead, I am not. What's that? And that my body is not to be molested for a period of 72 hours, neither by autopsy nor by embalming, although the maximum periods of my attacks usually do not exceed four hours. Please telephone my wife. This is Margaret Bowers at Fulton 7, 7, 8, 3, 7. This is a boarding house. Address 8, 4, 1.5, West 25th Street. If she's not there, please try X-Menster 43422. This is the number of Dr. Benton. It's a vital importance. It may mean my life. Thank you, Ernest Bowers. It's a funny one. Where'd you get the coat, Henry? Honest, Jerry Murdoch's. Wonder what we can do? Nothing. It's probably been forgotten already. Somebody sold him the coat and forgot to take the letter out. It doesn't sound like something a guy'd forget. Yeah, devil would. Might be important. Hey, look at that, Henry.  Yeah. Too dark. Yeah, that's the color blood turns. I'm going to telephone that number. Go ahead. I think you're wasting your time. 7, 8. I'd like to talk to Mrs. Bowers. She ain't in. Well, how do you know you didn't even call? I know. Who else wanted to get in touch with her? Well, thank you. Yeah, you see, you're wasting your time. I have a strangest feeling, Henry.  You're helpless about it. I can see I'm not going to win this time either. I'm busy. How about some dinner? Oh, it's cooking.   Maybe doing things to him. What's him bombing? They do that at the morgue. It's preparing his body for burial. I think they take all the blood out of his veins. Well, I would kill him if he wasn't already dead.  Henry, I'm going to find out about that coat. Where's his place and bought it? Now, wait a minute, Francis. I put in a good day's work. I'm tired. I said he looking for something I don't even know about. Well, then I'll go myself. Well, how about me at home here while you go out? I want to eat. I'm hungry. Look, dinner won't be ready for another 15 minutes anyway. Now, look, where's the place? Oh, all right. I'll go with you. Well, he ain't here. He locked up. What's the sign say? 10 minutes? Yeah, but those guys put up signs like that if they're going away for an hour. We'll wait a few minutes. Oh, come on, Francis. Look, you wait here. I'm going in the cigar. I started telephone. Once you make up your mind to something, nothing can change it. You wait here. Is Mrs. Bowers in? No. Mr. Bowers? No. He is. That's what they tell me. Well, wait a minute. Oh, doc. Look, I just spoke to you. Will you please... You're bothering me. But all I want to know is when Mr. Bowers died. How do I... Doctors lying busy. Same as before. Mr. Bowers is dead. I found that out. See, I told you. What about the letter then? What if he ain't dead? What if they only think he's dead? Well, what do you want to do wait here all night? We ought to wait a little while. Maybe we can find out where he lives. You going traipsing around the whole city? I have to. Well, without me then. Do as you please. I'll be home. I'm hungry. If you think more of a crazy letter than you do of feeling your husband, then that's all. What do you mean that's all? Just what I said. That's all. You know the trouble with you is you don't have no imagination. No. I'm just a home-loving guy. That's all. I don't go sticking my nose where it don't belong. Well, go on home then. I'll find out about it. A different turn of speech. Another question. If the boarding house woman were more cooperative, if she knew the facts of the case or took an interest in the death of Ernest Bowers, if, if, if, at the hospital, meanwhile, events were pursuing their normal course. Didn't reach anybody, huh? No, doctor. I tried just a few minutes ago.  Well, we're finished with the test. I sure wish we could do that autopsy. Maybe later after he's gone to the morgue. Want me to try again? No. Get me the orderly one. Okay. Use that one there. Well, Payne? Yeah. There's Dr. Weldon. There's a delivery for you to go to the morgue. Now? Yeah. I ain't have nothing to eat since I don't know. Yeah, since lunch. Go on now, Payne. It's down in the receiving room. The papers are down there, too. Oh, why can't it wait a few minutes? It's gotta go now. They want to start him bombing so they can go home. Well, how about sending one of the other boys? No, I don't care. Just as long as it gets there. Okay. Want me to keep trying to reach his home? No, the rush is off. Any time now. Going to the morgue. Tell you what, you can wait till his wife calls here. She should be home pretty soon, I guess. I'll be here all evening. I want to talk to her. All right, Doctor. Oh, uh, don't get your wires crossed. Oh, Mr. Murdoch. Yeah? Oh, I'm glad you came back. Come in. What can I do for you?  Did I work kind? Yeah, a light blue one. It had a few stains on it. Sorry. Can't take back anything once you show it. No, I don't want to give it back. Where'd you get it, Mr. Murdoch? I don't even know which one you're talking about. I sell a lot of... Look, it must have been a few hours ago. Blue with thin red boxes. Oh, that one. What about it? Where'd you get it? What do you want to know for? Because there was a letter in it. An important letter. I don't know. How can I remember where I got it? Long ago. Was it long ago? I don't see where it's any of your business where I got it. It may be important. I've been trying to reach the numbers. The doctor's number's always busy and his wife, she isn't even home yet. But you've got to tell me. Just look. Look, tell me one thing. Did you have the jacket in there a long time? Well... Look, please. It's very important. Well, no. No, I just got it in this afternoon. Oh. Where'd you get it? You said one question. You asked it, and I answered it. That's all. There was blood on it. And I can't help it. Now, if you'll excuse me. No, no. Look, you must tell me. I don't have to tell nobody nothing... Look, I may be all wrong. I'm probably just crazy about this. Look, that man's alive and they'd do anything to him. You see, you said it all sounds crazy to me. Listen, there was a letter in the inside pocket of that jacket. It said that Ernest Bowers was a cataleptic. What's that? He goes in a fit? Oh, no, no, no. A cataleptic.  He goes into a spell and looks as though he's dead. Sometimes, you know, they take dead bodies to the morgue and they hand bomb them. That means they take all the blood out of their veins.  I don't know whether he's dead or alive or even if he's dead. I just got to find out. Well, I... There was a... What? An accident before. Where? Who's in it? I don't know. Believe me, lady, I didn't know anything about all this. You think that this guy was taking away an ambulance? Could be one of them the cataleptics? That coat. Was it his? Yeah, lady, yeah. But it was left there on the street. They drove away and left the ambulance. What ambulance? I don't know. It was on the corner. The cop was there. He told somebody to call an ambulance. Is that the same cop? Yeah. Yeah, look lady, you got to protect me. I ain't done anything wrong. I didn't know anything like this would happen. I would never taken a coat if I... Officer! Officer! Ernest Bowers lay on a slab in the morgue. If he were alive, probabilities were that he would regain consciousness before 6.45. And the two and bombers on duty at the time had decided to get a bite to eat when the phone rang. Anthony answered. Well, we're going out to eat. Yeah, and all other men just came in. We got it here. Yo, what's the rush? No, no. We just want to get a cup of coffee and then we'll get on it. Look, I said I'll fall if it comes in just when we want to have a... Right? We can go home after? Well, that puts a different complexion on it. Yeah. Okay, yeah. What time is it out? 6.80. Hey, Doc shows if we can bomb this one now we can go home. Well, let's start in then. I'm hungry. Okay. I'll start the motor. Young guy, isn't he? Yeah. I was speaking to the wife about that yesterday. Get the inject out. Yeah. And she was saying more and more people die. Older and older. Yeah. It looks like we can open through the Mac. Yeah. Give me a piece of that goods. Yeah. I says to her she should be around this place. Why? We get it more late. You want me to do it? No, no. No. You get the inject. Yeah. Hey, look at them. You should never think that such a little thing like his heart stops beating could make him dead and not alive. All is steady, will you? Yeah. Ready? Just a second. Okay. Here we go. What's the matter? My glasses. They're clouding up. We'll take them off. No, no. I'll just clean them. What did the wife say to that? Huh? Oh, uh, about all ages? Yeah. She didn't have nothing to say.  Yeah, well, there's something in there. Okay. Got them clean. Here we go. What's the matter? They're steamed up again. Every time I bend over near... I wonder... What? It must be my imagination. What? I could have sworn this guy was breathing on my glasses. Well, is he? How could he? Well, come on in. Let's go. It's a quarter of seven already. Yeah, yeah. All that... Yeah, I'll get the phone. Well, let's get this started first. Okay. We'll just... Ow. What? I... What's the matter with you? I thought I saw the guy's hand twitch.  Well, get me a scare. Well, let's wait a second. I'll get the phone. Well, probably be another job and we'll never get out of here. Let it ring. Yeah, but the dark cell we can go home after if... Right, come on. Come on. Let's get that thing over with. Ow. Okay. Yeah. Give me the knife again. I'll... Over like this. I ain't gonna move. This is up full of steam again. Aw. Shake it all over. Look at him, Al. Look at his lips. Listen.  Apparently, the life of Ernest Bowers was worth $1.30 for a silver bracelet to the boys who ran away with it and $5 for a bloodstained jacket to honest Jerry Murdoch. Their petty thefts brought a man to the brink of death. Oh, there's just one more episode which perhaps doesn't belong in an accident report which I'd like to include. After regaining full consciousness, Ernest Bowers put in a telephone call from the morgue. Hello, Mrs. Barley. Is Mrs. Bowers in? No. This is Mr. Bowers. I know Mrs. Barley, but they... they made a mistake. Aw. Well, darling, it's quite a long story. You see the... Never mind. Goodbye for a great suspense show. Now, here is Harlow Wilcox. Still got my coat in my head, Barlow. Well, Hap, why don't you swap it for something useful? The way folks are swapping winter chills for springtime thrills, replacing old narrow-gap spark plugs and light-gap auto-light resistor spark plugs. Auto-light resistor spark plugs are made by auto-light men who make over 400 products for cars, trucks, airplanes, and boats in 28 auto-light plants from coast to coast. And auto-light also makes complete electrical systems for many makes of America's finest cars. Batteries, spark plugs, generators, starting motors, coils, distributors. All ignition engineers to fit together perfectly work together perfectly because they're a perfect team. If folks don't accept electrical parts that are supposed to be as good, ask for and insist on auto-light original factory parts at your neighborhood service station, car dealer, garage, or repair shop. Remember, you're always right with Auto-Light. It's been a pleasure for me to join this fine cast in bringing you another suspense play. I'm a suspense fan of long-standing and I'm just as anxious as I know you'll be to hear next week's broadcast when Edward G. Robinson returns with a story called You Can't Die Twice, another gripping study in Suspense. Adelbran may currently be seen in the RKO picture The Boy with Green Hair. Tonight's suspense play was written by C. LeGlester and Mervyn Gerard with music composed by Lucian Morrowake and conducted by Lud Blusken. The entire production was under the direction of Anton M. Lieder. Next Thursday, same time, here Edward G. Robinson in You Can't Die Twice. You can buy auto-light electrical parts, auto-light resistor spark plugs, auto-light staple batteries at your neighborhood auto-light dealers. Switch to auto-light. Good night. Here's great news. Suspense on television may be seen in many parts of the country every Tuesday night. This is CBS, the Columbia Broadcasting System.


this works? Yeah. Is it too small? Oh, well, yeah, but that's just the heathers. I mean it's, okay, so we wanted to introduce this topic about compiled BPF, which is what, just by chance, a big part of Alexei intervention was actually about that too, right? All those problems that they are having, you know, with Clang, in this case, you know, compiling all that stuff. And, well, the first thing I wanted to say is that compiling BPF to BPF from high level languages from C in this case is difficult. It's not easy. It's not easy. And part of the reasons, well, I hope that the discussion points that we have for today are going to exemplify that. It's not easy. It's not easy. It's difficult. It's a difficult thing to do. But I think that innovation, it requires strong foundations, because you may be having all fun, you know, like innovating all around. But if you don't have strong foundations, everything is going to collapse sooner or later. And when it comes to not just the instruction set, but all those things, like you mentioned it, BPFC, right? I think it's the first time I see that written down somewhere. But probably it will not be the last one. Anyway, so we wanted to go through some very particular topics. I'm sorry, it's going to be a little bit boring, but those are things that we will really need to clarify, because we are sort of stuck, you know, in the work in the neutral chain support in GCCMB noodles in those different topics. So we need to discuss about them. So let's start. So the first one is one problem, one situation that we have with the core buildings, with a lot of them, not all of them, but many of them. Well, it happens that all the core buildings, but one, they take arbitrary expressions and the first argument, like this is, you know, like preserving and value, preserve type info, field info and so on. And this works, in particular with Clang, because Clang, when it handles those buildings, and this is internal, internally in the compiler, it needs to be enabled to extract the type of the expression that you are passing from the IR that it's getting, you know, internally it's handling the compiler. In the case of GCC, this will be the tree representation in LLVM, I guess, is some sort of IR, which is tree like, I guess, too. In any case, in any case, you cannot use those buildings directly, because if you use the building directly, and for example, you say, building preserving and value, and then you pass, you know, some minimum value, it's not going to work. You have to be sure to pass a very particular C expression that results in a tree, internal representation that the Clang implementation happens to know how to deal with. And that's why, in BPF core redo dates, you have macros like this one, that they make sure to pass expressions which are carefully crafted, so they work with this particular version of Clang, and it's not warranted, that it's going to work forever, as Alex said, mentioned, for example, new optimization in the parser. Clang is going to do constant folding in the parser, like GCC does, that's one of the problems we have. This stops working. So, we identified three different magic expressions that are used by this kernel header to make sure that that building is invoked with something that the compiler can actually understand, which are those three. So, we have two problems in GCC. First, is that indeed GCC does constant folding at parsing time, and it happens that none of those magic expressions work for us, because at the time that the backend is able to handle the built-in, the type information associated with the enumerated value is lost. That's one of the problems, which is particular to us. And the second is that this is fragile, this can break any time. This can break any time.  Everything stops working, which is not very good for using friendliness and so on, right? So, those are the two different problems we wanted to discuss a little bit with you. The first one is, well, we are actually working now in GCC, so we can inhibit the constant folding in the parser. And that's another interesting thing that links with what you were saying before. I think we are the only backend in GCC that now we are going to have to reach up to the parser, right? Which is very uncommon, right? But we will have to, because again, yeah, BPFC, right? It will be in this case, maybe it requires to not do some optimizations, even at the parse level, which is the top level one, right? Anyway, so the first question I have for you. We are now trying to inhibit this in GCC, but in any case, we are going to have to come with another three or maybe four magical expressions that we will have to, we will need to use, and they may be different to the Clang ones. So my first question for you is, will you be okay to have conditional if-depths in BPFC core read for GCC? That's probably a question to Jon Hong, but we can change Clang, right? So we can change this type. If you think the passing type into this preserve will work, then why not? Right. That would be the proper way of fixing this. I mean, this is in the meanwhile, because we are, we really want GCC to run the BPFC self-test. It's about time, you know, and it's very frustrating for us because we've been working like for years on this, but okay, yeah, what would be the proper way? It seems to us, we may be wrong, but the whole difficulty here is that what you want to pass to the built-in is the type, well, also the expression, but if you could pass the type as an extra argument, but you cannot do that in C, right? Because in C, you cannot pass types as arguments, you cannot have types. So what to do? Cupertino, who works for us with us in this in Oracle as well, he was thinking about maybe we could use BTF type identifiers to identify the type, because you can indeed pass a number right to the built-in. What do you think about that? It is a half-cooked idea. I think the old VM, again, please correct me, the ID is being set only at the very last part, so... We have the same problem. In the front-end, the ID is unknown, right? Yeah. Anyone have any idea of how could we pass somehow a type to a built-in? Doesn't C have like this generic macro where you can actually pass the type, so how does that work? So you have like generic and then you match on type, and then you like pass different, use different expressions, different values depending on what type of the variable is and stuff like this. I think it's even used in kernel, underscore generic with capital G. I don't know about that, but those macros are polymorphic anyway already. As the first argument, you don't pass... It doesn't expect any particular type, yeah. But okay, what is this? My kind of point slash question is like, it seems like C has some way to pass type, so we should look into like how is this called? And underscore generic was capital G. I think that's how it's called, and it's used in some of the Linux headers. I'm just sort of a BPF user, not an internal designer, but listening to this, it occurs to me that sounds like the front end parser is okay. You're having major troubles with the IR and the optimization there, and then you're having troubles with the back end because it's unusual, and then you're having troubles with the overall design because you want to reach back from the back end all the way up to the parser. So tell me again why you want to use LLVM and not just do your own thing instead? It sounds like it's a bit of a force fit. That's an outsider point of view. You mean that why compiling C to BPF instead of writing your own BPF? I'm not questioning what BPF needs. I'm questioning how you're doing it. You're using LLVM to get there, right? Steal the parts you need from LLVM and move on, fork it, whatever. It doesn't sound like it fits at all, and it doesn't sound like the community wants you to make the changes that you need. That's, again, that's my first snapshot. I cannot talk for LLVM. I don't work with LLVM nor Clang. Actually avoid it as much as I can. So I am, you know, on the GCC side, but I would not like to rewrite a C compiler for this. I hope it doesn't have to go that way. Well, I guess when I say right, I'm assuming you'd stand on top of prior art, so, you know, fork. Yeah, but also don't forget that now it's not just Clang, it's also Rust C, and also in GCC we have a Rust front-end, and that's one of the topics we have for today. Okay, well, thanks for this generic thing, because if we can dispatch on types, maybe we can fix this. Yeah, but just in general, like whatever the underlying implementation of those macros that are exposed from BPF Coreread header, like we should preserve the behavior, right? So like right now macros is like allowed to accept either like the type, so you do like struct blah, blah, blah, or like you pass the field and then we extract type from that. It is fragile, but, you know, I understand the struggle because we have the same problem, right? I think that now in Clang you recognize some shapes of trees, right? Some shapes of expressions, if it's something that it doesn't know how to handle it, that works out, which is the user frustration, right? Like if I write this expression this way it works, if I don't, it doesn't work, right? Yeah, so if we can't pass a type, because there's no construct, I can see why don't we pass in a string and come up with our own little format that both compilers would have to understand that says this is the type we want to look at. If you could somehow come with a mapping from strings to particular C types that are being defined in the compilation unit, I guess, then yes, yeah, that would be another way of doing it. C++ has this type ID, would that help? C++, yeah, yeah, yeah, but we are now trying to get CBPF.   Poof, yeah, well, yeah, that would be, you know, like cherry picking C++ features. I don't know, would you like that? Okay, well, I hope we will have time like those days to discuss about all of this, right? I don't know, it's my first time in this conference, but I hope so, because, okay, so let's move forward. I'm glad that we sort of agree. So can we have those conditional compilation things in the header for the time being? Okay, thanks. Good, so, yeah, yeah, that we will look at. Yeah, thank you. We can pass the sort of passing types that will be great. So let's go to the to the quarrel in parts. So, yeah, so I don't know if you have noticed, but, you know, I mean, the assembler language that you people are using is very weird, right? And that, what they wanted to do here today is that, I mean, I don't want trouble. If I find trouble, fine, we go to trouble, but I don't want trouble, right? But these sort of things, they have consequences. And in this case, it's pain, right? A lot of pain and money, right? But okay, let's see. So right now there are two sort of main BPF assembler dialects, so to say, right? I think there is more, but the ones that actually are relevant somehow are those ones. There is the main one, which is, we call it so to see, because it sort of looks like C statements, right? Originally BPF verifier format, I found that sentence in your first patch to Clang, because this comes, I think, from the format that the verifier used to to damp, right, to print the bytecode. And then we have like a normal boring, yeah, it's boring, totally lacking all sort of innovations, you know, assembler-like dialect, which is the one that we support in GCC, which it was not gratuitous, I mean, because we got it, most of it from the UBPF implementation, which was at the time we started the port to BPF in GCC, UBPF was already around, and we use more or less the same, is the same syntax, right? So in that table you see the Clang, Rust-C, LLVM for both assembler and disassembler, it uses the pseudo-C dialect, so it can parse it, and in the disassembler you get the dumps like that. The compiler column here is what the compiler generates, but in case of Clang and LLVM, this would be IR, not a textual representation of the assembly language or the assembler program, because as you know, LLVM, they got all the abstractions wrong, right? So this is IR. Now, in GCC Binootiles, we have support in the assembler for both syntaxes, and actually you can mix them in the same source file, so you can write one line, one instruction in one format, the next one in the other one. In the disassembler, we at the moment we only support the normal assembler-like dialect, and then in the compiler, I'm working on that right now, we are working to make a GCC, if you pass an option to generate the pseudo-C syntax as well. This is necessary for inline assembly, which I did not realize until very recently, because I'm not very smart. But then, yeah, I realized that the encoding of the registers in both dialysis different, so if you're using line assembly and then you have an input argument and it's a register, then okay, so and here it is, here is we in our best faith, you know, and in the best common interest, in our opinion, humble perspective, we recommend you to ditch the pseudo-C syntax. I know you like it, right? But this is not about personal likings, trust me. So we recommend to progressively, to progressively, you know, go from one to the other. Why? First, this is expensive.  When we did the binutils port to BPF, and you know, this is important because you have to convene your management, right, to do this kind of projects. And they look at the money. What can I say? So, and the time spent on things. So one of the things we did was to use Sijian, which is something that some other ports in binutils do, to generate our obcodes and everything. Sijian also provides a parser for your assembly language, surprise. It does not work with this sort of syntax, right? So we had to write a parser on the side. That was expensive. We managed to convince our management to actually pay for this, but maybe next time we won't be able to do so, right? The second point, having a syntax like this for assembly languages is problematic. It's problematic because there is a lot of existing infrastructure, like assemblers, supporting several targets, disassemblers, supporting several targets, things like Sijian, which is the CPU, you provide the CPU description, it generates a parser for you. Latech, right? In latech you have templates when you write your papers or your presentations for assembly language. They don't work with this neither, right? Editors, and I don't, this is very important.  It is very important if someone is going to write a BPF assembler for that person to be able to use whatever mode her editor has for editing assembler programs, right? They don't work with this syntax neither.  So it's problematic. It may be nice, cool, very innovative, may have some advantages, but it is, it is problematic objectively. It's problematic. It has a cost. It comes at the cost. It's also ambiguous, but I have to confess something. I was like, okay, I'm going to look at the syntax of this when we implemented it, and I'm sure I'm going to find a lot of ambiguities. No, it's actually not that, there is only one syntactic ambiguity that actually in Clang you actually handle, which is that since the registers they don't use a prefix and you have this equal signed statement, there is an ambiguity in the syntax with the symbol assignments which are supported by both GAS and the LLVM assembler. So you cannot actually use full equals 10 as a symbol if you are compiling a BPF assembly program. And then at the last point is that it is pervasive, which is that because of the inline assembly, whatever syntax you use, everyone has to support it, right? So it's not something that, oh, you know, in your toolchain you use that one, in my toolchain I use that other one. No. So that's the question that we wanted to bring here. Is it really worth it? That's it. I mean, again, this is not about personal liking of the whatever of the dialect.  We really, really recommend you to go and use a normal, conventional, boring, garden, variety assembler language syntax because your future will be way more, well, less, it will be less problematic and mine especially, right? So this is the message we wanted to bring here. Now, I know we will have time to discuss, I guess, right, during those days. But then in the meanwhile, there are a couple of little things which is, for some reason, I don't know why in the BPF assembly parser that you have in LVM, the prefix bitwise not, it's not supported because you have a switch statement there that actually filters before calling to the parse expression from there. I don't know. Well, little thing. And the second is that for some reason, even though in the code I see that you allow open parentheses in the expressions, for some reason the sub expressions are not working. But those are the only two divergences that I have found between our parser and your parser. So if we could get this cleared out, then we are good. Okay. So as a user of the, I guess, maybe I'm back interpreting this a little bit, but the original reason for the Zulu assembly was to make the verify more legible, I guess. And this was at a time when there wasn't a way to add debug info to BPF, I imagine. Like, right now you can add, like, this is the line of C that this originated from, and then now you can kind of, it's easier to understand what the output is. So maybe nowadays we actually need the Zulu C dialect less because we have better debug information that gives us line info. That's number one. Number two is, I've been bitten by this by, there's a website called Godbolt.org where you can kind of, yeah, the compiler explorer, you can punch in your code and composite BPF. And it doesn't work properly for, like, it doesn't get the coloring, et cetera, right? Because, like, BPF has weird syntax basically. And I open a ticket, it's like, oh, could you fix the coloring for this? And he's like, oh, yeah, that's kind of unfortunate. It seems difficult. I don't know if that's going to happen. So kind of experience report that, yeah, you're right. I think this actually does really cause pain. My question is, if this, if the assembly format became the, like, what you, something like you described, would the output of the verifier and the kernel have to change, will we keep it as it is? Or, like, what would be the way forward? Is it a requirement of you to be able to feed, to feed the output of the verifier to an assembler? Then you could get it in, like, in aquarellas, right, with colors or whatever, right, for what you care. Like, is there a reason, is there some reason why those, the format should be the same? Probably ease of use, I would say, that people are used to that. Here, yeah, yeah, because it's been out in the world for so long. I think consistency matters here, right? So, like, I used to be in UB as well at some point, right? And, like, I learned the BPF assembly just by reading BPF output, BPF verifier output, right? And then I started, like, translated that to, like, writing my own inline assembly from time to time. So I think that's like a super useful property. And I don't know, like, if all of those downsides actually beats a little bit more understandable assembly. Because, like, I work with customers, right? And, like, even with this simpler syntax, they're already afraid of, like, reading BPF assembly. If you go to JGT and, like, then, like, three parameters and, like, you have to remember which one is which, I think it will be, like, a huge, like, step back in terms of ease of use. So, like, this actually goes straight against the, like, goal of, like, simplifying the user experience, especially for new people. Okay, well, I don't want to be nasty. But I don't think your customer should be writing any kind of assembler, honestly. Sure, that would be ideal. I mean, if, if, if, if reading something like jump greater than register blah, it's going to be a problem for them. I don't think they should be writing BPF assembly at all. I mean, yeah, I understand. But what can I say? Yeah, what is easier to read? The one at the top or the one at the bottom? Maybe it's the one at the top. All I'm saying here is that this has consequences. And I will hate for you to not realize the consequences before it's too late. That's, that's all.  Like, what's too late, I guess, here? Well, actually, yeah, that's a good question. Maybe it's not, it's already too late in this sense.  Like, I hear your point, Andre, but I mean, I don't know. It's, if it like requires you having double the, the amount of support across every tool chain, I don't think it, I disagree that it outweighs it in terms of the readability personally. But it's, I also think it's subjective. So I just looked at what UBPF does right now, and it uses the assembler like dialect almost is a different dialect, which doesn't use the parentheses there. So UBPF isn't using the parentheses in the bottom one, right? So if GCC and UBPF actually slightly diverge, there's, you know, a and a prime or something like that, that gets to my main point. And I'm looking at you, David over here, that compiler expectations topic that we said should be like in the BPF standardization stuff. This whole discussion here probably goes into that work item, whatever to say, what is actually the, this and whether there's one variation or two variation, one is better, right? But the point is, whatever it is, we should agree on it because we see at least three different dialects is my point, right? And so that's a case for standardization to help the ecosystem converge rather than keep diverging. We're flooding the assembler like to sort of see like translation to a separate program help. So the back end don't have to do it, but you can have a separate program that can translate for humans the SME like. And then you strike kind of a, you know, a middle ground. But let me, let me, for example, give you a real example, a particular example of the kind of problems this sort of syntax has. Right now I am modifying GCC to generate this instead of the normal assembler. We are basically, that implies to obfuscate in a very awful way the machine descriptor description that we have. And also GCC, for example, assumes that registered names have prefixes, which by the way is something that assembly languages do is not a capricious. You know, there are reasons for that, for example, so you don't have ambiguity of symbol names with registered names, you know, stuff like that. And the thing is that this makes it very difficult to support you. That's the thing, what I'm saying. So something simple becomes a problem, something that could be done in a couple of days using, you know, like a normal syntax, it translates into into projects of weeks or if not months. And that's, but the question is, is it worth it? That's the thing. That's all the question. I mean, is it really worth it? That's it. So that is why we're suggesting to progressively, because obviously this has to be supported. And actually we are working hard of supporting this because this exists in the recent line assembly. And even if it is changed, even if it was changed, it will be, you know, we need to support this basically forever. But we recommend to to transition to a more conventional one. Yeah. We think that we may be wrong. I mean, maybe this is the best thing, but we don't think so. Okay. I think we better move forward. We can go. Yeah, like one short question with the inline assembly. Is it possible? I mean, that all the remaining tooling, you would only support a sample-like dialect, but for the inline assembly, you would support both? Or does it require that all the other tooling also needs us? Well, it would be. It could be. And actually one of the we will need to make the compiler aware of the syntax that is written there when you use inline assembly, right? Which maybe in LLVM is easier because you have the integrated assembler. But in GCC, GCC takes those templates as opaque things. But maybe, maybe, yeah. I mean, maybe that's kind of the middle ground or I don't know. We could go maybe a step by step. For example, what if you would support using prefixes in the register names optionally for now, you know, only that, for example, will make a word life much easier and other people's life easier. But yeah, as far as, so like I'm a bit puzzled, you already did all of the work, right? Supporting it in assembly and in compiler and you're saying, well, I did all of the work and now you don't want to maintain it or like why? Like I just don't see, since you already pretty much completed the work of supporting this, see the seed that you don't like, what are you proposing? There is only like GCC and LLVM compilers realistically, right? Do you care about whatever, Intel compiler? Like who will do another BPF backend? Like I'm just not seeing like what this other stuff, like editors, yeah, like just do the, like say it's not assembler the way I like write assembler and just say this is C and it highlights everything nicely. You just, you don't have to say it's assembler. You just say it's C and syntax halogen works magically by default. CGN, yeah, I totally understand it's a pain because of the way GCC is written, but it's zero pain for LLVM because the LLVM is written differently. It can be a pain for the third compiler, but I don't see it third compiler. Right. So you don't think that it is things like this that is making your interaction with the client people so difficult at the moment? Definitely not the assembly. It's not, not, not the syntax. I'm not, I'm not mean this particular point, but I mean generally speaking. I mean, you say you have done the work already, right? Well, it's not been easy. So why not making it easy? What do you gain by being difficult for no reason? What? That's what I don't get, honestly. I mean, this is just one aspect of the whole thing. But why? I mean, why? For the assembly languages, they have a structure. I have, I have another question for you. Why GCC still doesn't have an integrated assembler, right? Why GCC is making it difficult? Well, because actually the aspect of the integrated assembler as years pass after LLVM, more and more and more people, including a lot of clang and LLVM hackers, they are coming to realize that an integrated assembler was not such a good idea after all. I mean, there is a discussion which is where to put the abstractions here. Just, just an example. When I was like hacking on BPF early on, the first BPF backend I wrote was for GCC. LLVM was second. So when I wrote for GCC, I didn't use, well, I didn't invent an assembler. I just made GCC to emit binary because, well, not having an integrated assembler in GCC, in my opinion, is kind of silly. Like it makes life difficult. So I just made GCC with hand to emit binary. It was easy and simple. Okay, sure. I mean, I can start using exo kernels too. They are nice.  Yeah. But how is that related to this?  It is unconventional. It is problematic, objectively problematic. It is ambiguous. You have syntactic ambiguities. There are things that you cannot do because of this. And now my question is, is it really worth it? Ambiguity we have to fix. But if you point that R1, you cannot distinguish between R1 and foo, well, yeah, just like in C, you cannot distinguish between int and foo. And well, that's why there are keywords. Look, why is this so precious to you? Why, why, I mean, why do you have to have a totally completely different syntax for your assembly language than the rest of the world? Why? Because users matter more than the developers. Okay, fine. Cool. Okay. So I guess that the, the users matter most. Okay. Well, is the use matters? Fine. The users could be using, you know, GCC for months now if it was not because of this. So those users don't matter? I mean, really? Anyway, it's just, we can discuss, but there are other points. So I think given now there's a coffee break until 11, that we probably need to take this to the hallway, but then you also have other topics, right? So I think when, once we come back after the break, we can continue with your other topics. Okay, sure. All right. Thank you.


My dinner just came and I was gonna have a nice night with my girl, but I'm the one piece trailer drop So she's gonna have to wait We're about to see Roger this show when it's Roger found everything as well.   I remember him saying that Take to the seas My treasure is yours. Not me. Who stop boat?  So what do you say? I remember that are you with me God?  Oh, I need to watch this tonight I need to watch this tonight. I need to watch this right now.  I want to watch it right now I need to see this bird. I need to know his name. I bet you know What do you say? Mewing me. That's his name.  Oh My god, I just saw the scene. It's accurate. I bet it's the same drawing What is it or jolly Roger?  Wait, what that's not canon. What is it? Oh my god? Oh We need this right now. Just Wait, wait, wait. This isn't an anime character anymore. This is a real human being I gotta check my my thirst out at the door, bro. I'm getting married.  They're they're they're cat. They're they're they're based off a drawing I can't get my God Zoro's beautiful man. Oh my god. We are the straw hat crew. This isn't true This isn't real.  Yo, me hawk you they showed his cross swords everywhere.  It came my dinner, bro.  One piece No, wait wait claha door There's a sir.  Yo, that's sore looks so sick. He better have this the fork the knife I mean The sheep claha door.    I don't know about cute anymore. Oh Shit, that wasn't too bad That's why it's dark in there because they can't do that in the Sun because the effects can't handle that But that's pretty cool It's so weird hearing that in English. I haven't even heard One piece mama my bed one piece. I haven't won peace in English yet. So this is weird.   Oh my god. Wait a minute. Wait a minute Where are the people with the giant forks and the knives? This isn't accurate.  Well, I saved your loss You'll have to excuse them.  This is too bad This looks fun. I Had to look at it as its own thing You know what I mean?  Oh my god. I'm gonna love Nami. I'm not gonna be able to do this, bro We better see Nami's mom mommy. We better see mommy.  She is a weird-ass name. Oh god, it's in my head. It's in my head.  I thought it was gonna be black. He's a fish.  I Don't know about this man. I don't know about all along. I'll do you the kindness of killing you all together It wasn't that bad. All right.  Let's go. Oh, I can't wait for this scene with new fee Nami You're my friend.  That's one of the biggest scenes Shanks skanks skanks skanks skanks That wasn't that bad. That wasn't that bad. I like his delivery there.   We're gonna see him floating like this. I can't wait.  I mean I just saw this This is why this is the arc. I literally just finished.    I mean he's Luffy All right, so so he's looking for the one piece and he's monkey. Yeah, Luffy Wow Pirates, you get you he better be saying that in every episode or this this is an accurate I want to see this shot look at this shot, bro.    He is that little mean face I feel like real Luffy would make that face to Nami.  I don't mind it And I'm gonna be king of the pirates It's his accent. It's his accent. It's like Laura accurate I'm guess I'm used to the Japanese voice, but still still the one piece Look, it's one piece Rename it that Alveda. Oh, wait, wait.  Who else is on it that I know? I don't know. There were so many pirates. It's terrible Yo, Kobe! Where's my face?  I don't know what that is. He had belling me.   Where's my face?  So I get that vibe from him August 31st, bro, that's like a month from now a month in 10 days. Oh, I'm gonna be there.  So so I'm up to date. I'm ready for this shit I know a lot of people have their problems with it, but I think it's it's Netflix They're putting a lot of heart into it. It got the blessing from Oda. He overlooked it I think it has promise. I think it has promise.  It's not bro You can't replicate that animation magic, but I feel like it's gonna have its own magic It's gonna be cool.  I think you're completely fine, bro This is something else. It's never gonna catch up. It's never gonna catch up.  I don't know what gear 1 through 4 are I don't know what a gear is, but I see it all over Twitter Whatever, I love you guys. This looks hype Expect my reactions to come out the first day when those episodes drop and yeah, what do you guys think? Let me know down below. I'm not even gonna edit this. I'm just gonna upload it.


Does this look familiar? We were just here. This is a muscle cell, and the muscle cell is filled with these weird myofibrils. And myofibrils are bundles of proteins called myofilaments. And we're going to spend this section talking about the thick filaments. So just keep it in mind that we're going to put together a bunch of thick filaments and that's how we're going to build our myofibril. And how we build our myofibril is going to enable it to do its job. But before we do that, we need to figure out, dude, what is a thick filament made out of? So I'm going to show you, except not on that page and not on that page. What? How about on this page? Yes.  It's the contractile protein myosin. And it's important to recognize that it's contractile because that's what, I mean, that's the whole point, right? The muscle cell contracts. And so if you don't have a contractile protein, then the muscle cell isn't going to contract. Shorten. Okay, watch. This is a myosin head. This is a myosin molecule. It looks just like this. I think I want to draw it like this first. This myosin molecule is like cocked. It's not cocked. It's contracted. It's bent. And this is myosin. And here's the deal. There are a couple of binding sites on myosin. First of all, it has a binding site for actin. So I'm going to make a little key down here. This is an actin binding site. And hopefully by this point in the semester, you're like, oh, binding site, actin binding site. It must attach to actin. It must have a sticky spot for actin at this point, which makes you think there probably is a similar sticky spot on actin that would bind with myosin. Actin is not found in the thick filament. There's another binding site. And I'm going to give you a hint with the color. The color might actually psych you out, because that's the color that I've been making. The nicotinic acetylcholine receptor is, in fact, that looks just like one. It isn't. That is an ATP binding site. Ah, ATP. What's that? Energy. And does it make sense to you that we're going to need some ATP to contract a muscle? Totally. Okay. Guess what? Myosin, the thick filament. I'm going to show you how we put myosin molecules together to make a thick filament. Myosin can exist in two states, two forms. It can be folded like that, or it can be, and this is where the only word that I can think of to describe this is that it's cocked. And look, it still has its two binding sites. But guess what has to happen? We still have this little actin binding site, and we have an ATP binding site, and it's like pulling back a catapult.  That's what it's like.  When I think of cocking the myosin head, it's like cocking a gun, you are pulling back the hammer so that all you have to do is pull the trigger, you don't have to do anything else, and then you're going to get an action.  And in fact, what happens, what happens is that ATP binds and the energy that's in ATP, we know that ATP is amazing. It's like this energy-rich molecule. The energy that was in ATP is used to pull back the myosin head, and now it's ready to go. But we also know that when we use ATP, what does it turn into? It turns into ADP plus P. So that ATP molecule is going to turn into ADP plus P, adenosine diphosphate plus this extra phosphate molecule, and that actually stays inside the binding site.  Okay. Don't freak out. I'm going to take you back to the big picture. The only protein that we're going to be concerned about in the thick filament is myosin. So now I'm going to show you how the myosin molecules are arranged. Remember, look, there it is, thick filament. Okay? And we're just going to move this. Don't freak out, please. I beg of you. This is just a myofibril. Do you agree? Can you see how? Oh, there's the myofibril. Oh, there's the myofibril. Same thing. Awesome. This is how my thick filament is built out of myosin molecules. Do you agree? Look, there's my little myosin. Here's my little myosin heads. This one looks cocked to me. And then look at how we arrange them. We make a bundle of them. I think I read somewhere that there are, like, 200 myosin molecules in one thick filament. And look at how they're not just arranged haphazardly. They're organized, and we're going to look at how they're organized and name all the parts of the organization. But can you kind of visualize that if we stuck a whole bunch of cocked myosin molecules, so they're all ready to go, if we can get them all to cock, or to contract, to flex, we can actually, kind of imagine maybe shortening something like a myofibril. Ooh, the plot thick ends. Let's go look at what a thin filament is going to look like.


You may remember that according to Article 48 of the UN Charter, the UN member states must obey and implement the binding resolutions adopted by the City Council under Chapter 7. And furthermore, Article 25 of the Charter reads as follows. The members of the United Nations agree to accept and carry out the decisions of the City Council in accordance with the present Charter. Article 25 is included in Chapter 5 of the Charter, which defines the composition of the City Council, its functions, powers, voting and procedure. Because Article 25 is not part of Chapter 7, the question of its relationship with Chapter 7 arises. Is Article 25 just a repetition of Article 48? Or is Article 25 an autonomous provision allowing the Security Council to take binding decisions even when it is not acting under Chapter 7? The answer to that question has been given by the International Court of Justice in the Namibia advisory opinion. The Court said that Article 25 would be superfluous if it was only to apply to enforcement measures decided under Chapter 7, that therefore Article 25 was not confined to such measures and that it entitled the Security Council to take binding measures outside Chapter 7. But if this is so, then another question arises. Are all the Security Council resolutions binding because of Article 25? And the answer to that question is clearly no. Some resolutions are only recommendations, while others are binding decisions. But then, yet another question arises. How to make the difference between recommendations or decisions? If the recital of the resolution refers to a threat to the peace and to Chapter 7, it is easy to conclude that the resolution is binding. But if the Security Council does not refer to Chapter 7, how can we know if it is a recommendation or a decision? Should one presume that the Council acted under Article 25 so that the resolution is binding? Or should one presume the opposite? Well actually, no presumption applies here. In one way or another. And one needs to consider each resolution and each paragraph in each resolution for what it is. Assessing the binding character of a resolution outside Chapter 7 must be done on a case by case basis. And the Court said this, I quote, the language of a resolution of the Security Council should be carefully analysed before a conclusion can be made as to its binding effect. In view of the nature of the powers under Article 25, the question whether they have been in fact exercised is to be determined in each case. Having regard to the terms of the resolution to be interpreted, the discussions leading to it, the charter provisions in vote and in general, all circumstances that might assist in determining the legal consequences of the resolution of the Security Council end of quote. So clearly, it is not the same thing for the Council to urge, call upon or encourage parties to a conflict to do something, or to request, demand that same thing from them, or to decide that they should behave in a certain way. While the first three verbs do not convey the sense of a legal obligation, the last three do so. If a resolution is binding, either because it has been adopted under Chapter 7, or because of Article 25 independently from Chapter 7, it is binding as a matter of principle on all member states of the UN, except if the Council provides something specific for some of them. And let me elaborate a bit further on the ratione personescope of the Security Council's binding resolutions. Resolutions are binding on member states, but they are not binding on non-member states, and this is self-evident, it is obvious. Third states are not bound by the Charter, nor by acts adopted by the UN under the Charter. However, Article 2, paragraph 6 of the UN Charter states that the UN shall ensure that non-member states act in accordance with the Charter principles in the field of peace and security. And the Security Council has very often called upon third states and upon third international organizations to act consistently with its resolutions, and most of the time, those third states and organizations do so. Also, more and more often, the Council directly commands non-state actors to do something. For instance, in a civil war, the Council requests from all the belligerents to behave in a certain way. The question of the binding character and direct effect of resolutions upon non-state actors and individuals is a controversial issue because it indirectly raises the question of the international legal personality of non-state actors, having obligations under international law means, having some form of passive international personality. But because we speak here about terrorist groups, rebellious movements, etc., states are very reluctant to contemplate that they would have some form of international legal personality because states fear that legal personality would unduly enhance the legitimacy of those non-state actors. I personally think that one should not make too much about that issue. The charter does not prevent the Council from taking decisions having direct effect in domestic legal orders. But more fundamentally, what matters is whether non-state actors conform with what the Council requires from them irrespective of whether they had a legal choice to do so or not. From the point of view of the Council, compliance or non-compliance is a factual matter and even if non-compliance does not constitute a breach of a binding obligation because there was no such obligation for the non-state actor, the Council may still determine that the behavior of non-state actors is a threat to the peace and accordingly take additional measures against it. Well, let me go a step further. The Secret Council resolution is a unilateral act of the United Nations and it constitutes second legislation by the organization and you may remember what was said on unilateral acts of international organizations at the end of week four in this course. Furthermore, and according to Article 103 of the Charter that you may remember from week five when we addressed conflicting obligations, the obligations under the UN Charter prevail over any other conflicting obligation under other treaties. Article 103 applies to the obligations arising from Security Council resolutions because those resolutions are binding for the member states under the Charter.


Nick Geper is an icon. Nick is a ball of pure energy. Nick Geper is a bit of an enigma, I think. Nick Geper is a great big brother and a good role model. Nick's very creative. Nick Geper is not done yet. So, from Lawrenceburg, Indiana, let's make some noise for Mr. Nick Geper. Nick Geper! Nick Geper! Nick gets things going. Backside 360 switch up, continuing 450 knots. So I bought this house a few months ago and I just wanted to make a big playground in the backyard. So I did. Yeah, the reason why I really love this house is because I got a ton of space back here.  I have a lot of fun. When friends come over, we just...it's fun. more than anything it's just been fun to like build it all and like make it better and trying to get it to work work better and better every time. Got my backyard rail jam set up we've got the ramp I love this thing I had one just like this not in my house growing up but at my neighbor's house. I must say what he's created is a lot prettier and a lot nicer than you know the setup that we had but yeah totally just recreated this childhood I know his soul's happened. That's great. I think what makes Nick a special guy is on the hill he's the most determined skier I think I've ever met the amount of time he spends at Woodward coming home and hitting the rail or going to the COE he's just grinding all day long and his motivation and determination I think really what define him. Nick since day one never changed his regime meaning he would always rather have a private coach with him and some younger kids around him. He wants to just share his opportunities. I think he's still just driven to be the best athlete he possibly can. Nick succeeds because of his hard work and he's training day in day out every day. Some people say that he struggles with style but honestly I think that Nick has his own style he's like the ballerina of Slope Style Skying has great form which I take credit for in my main case because we were gymnasts. Right now he's on the cusp of qualifying by the criteria the pressure is immense especially him he's got two of the medals he's going for his third. I definitely feel the pressure this year but also like I kind of learned that my preparation is what is gonna carry me through and you know it doesn't make sense for me to to stress out or think about you know external things when I know I'm prepared I know if I ski my best then it'll happen. Nick skiing has been a continual evolution from when he first started competing to now. He's always been the workhorse he's always been the one to put in the work and do the reps. His style of skiing is very much one of mastery. There's nobody in the sport quite like him. I'm just proud of him. He's come so far from his first Olympics and he's grown as a skier and I mean he's like literally turned dirt into diamonds. You know I think the toughest part of the qualifying is he was injured at the end of last year so he missed the first qualifying events. He competes best under pressure which sometimes drives me crazy. My motivation has changed a lot over the years sometimes like positive good things motivate me and sometimes I catch myself being motivated by maybe not as good things.  I think this year for me is sort of the the reward year for all of the hard work that he has done. He's learned a lot about himself he's worked on both his mental and his physical abilities. I am so proud of him. We as a family are so proud of him. Totally rooting for my kid. Absolutely. Yeah. If you're just joining us on the mountain here again men's ski slip-stop final six features on course the top three eighths you've got jib rail features and then you get into the jumps. These guys are out here trying to get these points. Getting up on that podium or near that forward podium the most important thing. The more points the better and there are some heavy hitters in this field all bidding to try to make it to Beijing. I always have a little bit of self-doubt but when I like prove to myself that if I just do the work and do the right things like things will happen and I think that's what this week was.  We're from Lawrenceburg, Indiana. Let's get some noise for Mr. Knitkepper.  Then came to the next rail and just boofed it. I thought to myself haven't I like earned the right for this just to go good the first time every time now like aren't I at that point but no that's not true because you always got to grind and stay focused. I trust myself and it worked out. This week I ended up third in slope style that puts me one step closer to get myself on that team. I mean it was kind of a dream come true. Got to do another event. My mom was here got to watch me. It was an awesome day. My second run just zoned in and laced it up but yeah it was a lace to run. I got the podium so I'm stoked. Getting getting the podium at Copper has been huge. Yeah he's really excited about it. I'm really excited because this is a great step. I love competing. I love competing. It's the most fun way for me to push myself and get out of my comfort zone and progress. It just gives me that most like human feeling. If I'm successful my body can take it then I'm just gonna keep doing it.


Do you find your Nintendo Switch is freezing while you're in the middle of a game? Today we're going to talk about how to fix your Switch from freezing. Let's get right into this. First, you're going to want to try to turn off your Switch. Press and hold the power button for 12 to 15 seconds until the screen goes black. Now, remove your Joy-Cons from the Switch. Leave the Switch turned off with the Joy-Cons detached for at least 10 minutes. Now, reattach the Joy-Cons and press the power button again to restart the Switch. Test your Switch out in different games and see if it is freezing. If it still is freezing, when in a game, check for a system update on your Switch. This could be the reason why your Switch is freezing. To check for updates, go into system settings and select system updates. If it didn't automatically come up whenever you did start your system, this is how you go in to manually test and check to see if there is an update available. An update could just cause different stuff with your Switch to not work, so it's always recommended to keep your Switch up to date. If your Switch is still freezing even after the system updates, next is to clear the catch. To do this, you're going to want to turn off your Switch. Hold the volume up and power buttons for 10 seconds. This should boot up the Switch in recovery mode. From there, select clear cache and restart your Switch. Now, for most people, one of those fixes that I did mention will work. Hopefully it has worked for you. If none of these worked for you, there might be a hardware issue with your Switch. If you did test everything that is in this video and other things that I also didn't mention and you still has got nowhere, your Switch is still freezing while you are trying to play games, then it's best to contact Nintendo's customer support. But hopefully one of my fixes did work for you. If it did, leave a thumbs up and I'll see you guys in the next video. Please take care. Peace.


What we basically do, I think, is support different open source and free software initiatives. We, among other things, support the localization teams of NOM and KDE, regularly organized localization sessions and commutating meetings to synchronize the word database and basically ensure the utmost quality we can get on finished localization of free software. We also organized various smaller scale events on NOM and free software. The most recent one we had this spring in Turku was called Turuksi. So basically, this is how we became to support DEFGUN this year as a dealable point of contact organizer. And on behalf of NOM and KDEFGUN, we would like to, you know, to DEFGUN and to Divya today, I will now invite Andreas Schulde with our key organizer of DEFGUN to say a few words. I do would like to welcome you and thank you very much for coming. I'm Andreas Schulde. I'm one of the organizers of the DEFGUN. This Divya Day is an attempt to communicate to people who are not totally involved in Divya what Divya is about, how it works, but also how we feel and what makes us think. And just yesterday when people arrived, a whole bunch of them, and they were very happy to meet each other perhaps from the first time after working online and over the internet for a long time together, and you could feel this kind of happiness and enthusiasm of working together and meeting each other finally. And I would like, I hope that we managed to communicate this today too, besides the drive-thanks. Thank you very much. I would like to introduce Brandon Robertson, our project leader, who will now explain and welcome you to, thank you very much. This work, can I use it? Okay, great. We'll run out of cable here. Hi, I'm Brandon Robinson. And first of all, I'd like to thank Martin Eric and Andreas for the organizing and sponsorship work that they've done, respectively for getting this together and making it all possible. It's great. DEFGUN moves all over the place. It goes from place to place every year. Last year it was in Brazil. The year before that it was Oslo. The year before that it was in Toronto, Canada. So it's always exciting to see a new place and find a new place where there's already this well-spring of Debian support. It's a real pleasure. So I'd like to give them a bit of applause real quick. So I'm going to eat up a good 15 minutes or so here, talking a little bit about Debian. I'm the project leader this year. That's an elected position. So we'll see if next year, if I'm worthy of retention. But at any rate, Debian is an all-volunteer organization. We're global in scope. We have developers from several continents. A few continents, if you say several. We don't have any Antarctica. We're working on it. But we do have Debian fans in Antarctica, I'm told. There are computers running Debian there. So we have people all over the world. And there are a few words that are often used in marketing literature to promote some new business initiative. And those three words are distribution, decentralization, and openness. And I don't know what these words mean to a lot of marketing people, but I do know what they mean for Debian. So I want to talk a little bit about those. Distribution is simply a consequence, as I said, of our global reach. We have developers all over the world, many in Europe, many in North America, many in Brazil, South America, Central America, none in the Middle East right now, I don't think. But before the internet, it was very difficult to coordinate this quantity of people. And Debian's decentralized distribution has, in large part, been enabled by, of course, the phenomenon of the internet. And all our infrastructural technologies are essentially built on top of the net. We're not a business, but many of the things we have to do are similar to things that a business needs to operate. And all of these are built upon the fact that we don't have any geographic center. There's no one place where people operate out of, like a traditional business structure. It's a consequence, in large part, of being distributed that were also decentralized in many respects. There are a couple of ways in which we're not. I can talk a little bit more about those later. But generally, responsibility for various tasks in the Debian project is diffuse. It's spread among many people. For example, the packages, the software packages that comprise our operating system, our computing environment, we have well over 10,000 source packages and many more binaries. The source package is the essential unit of management. It is the source code that is then used to generate binaries or executables or installable documentation or what have you. This is spread among all kinds of people everywhere. In fact, most people who are in the Debian project and their developers have that status because they maintain Debian packages. The next consequence of being a distributed project, I think, it's not necessarily the case, but it is for us, is the fact that we're open. Just about everything we do is in public view. Our bug tracking system, which is used not just to handle defect reports, but wish list items, requests for changes to software that aren't bugs, requests for new features to even conversations about changes in policy or technical policy and the operation of our web server, for example, www.debian.org. People talk about there about changes they'd like to see in the site. So it's not just about reporting defects in software. It's a lot of administrative issues that are dealt with that way as well. There are aspects of the project that are not open. We do have a private list where we discuss various things, mostly people talking about going on vacation. They're going to be away. They don't want to tell the whole world that their house is not occupied. And, you know, sometimes we fight with each other in private lists, too. But most of the types of arguments we have, we have out in the open as well. And, you know, I think that's a plus and a minus. The plus is that people see just how the community actually works. And if they want to get involved by actually following our mailing lists, they can get a pretty good idea of what it takes to handle oneself in the rough and tumble environment of Debian. The downside, of course, to that is that sometimes people not familiar with Debian or sometimes the press, for example, will seize upon something on a mailing list or on a blog, for example. And so we have to do a little bit of damage control as something's blown out of proportion. But, you know, while that is sometimes unfortunate, I think the positives outweigh the downsides, the benefits we gain in terms of openness, the feeling of accountability that we have to our users, our community, to our stakeholders, anybody who's interested. Gives us a tremendous advantage over traditional closed organizations where you don't really know what's going on underneath the covers. So, another aspect of this openness and decentralization is that over the years, as Debian started out small, it was founded in 1993 by Ian Murdoch, so we're 12 years old now, was that we've had this steady evolution from an individual approach to a group team, our team-oriented approach, meaning that it used to be, if you maintained a package, there was one person to one package of that kind of relationship. A given person may be responsible for more than one package, but still you didn't go back the other way. It was a one-to-many relationship in database parlance. So, what we've seen over the years is that as the system has gotten larger and more complex, we've put teams in charge of many of the important pieces of infrastructure and many of our important packages, and this isn't something that was mandated from the top. And here again is my point about decentralization. This is just something that people saw was a good idea and it seemed to work well, so we copied it where it appeared to be needed. That's, I think, an important point. In traditional management structures, we're used to leadership from the top. We're used to pronouncements being made from on high and then everyone shall implement this. And in Debian, that's pretty uncommon. What more often happens is that our distributed decentralized open nature allows someone to innovate to get a new idea. Sometimes it fails, but when it's good, it's there for everyone to see and copy and emulate. And therefore we progress and achieve greater efficiency and greater quality through emulation of the good ideas that our peers have. So the next subject I wanted to talk about was how Debian is more than an operating system. The slogan on our website, I think, is the universal operating system. Some people complain about that slogan, but some of the criticism is justified in that if you look back at the Microsoft trial in the United States, for example, Microsoft was put on trial for antitrust violations due in part to the bundling of the browser with the OS. Well, Debian does that. We don't bundle just one browser, we bundle bunches of them, and we include all kinds of things. The Debian computing environment is much more complicated, is much larger, and much more powerful than a mere operating system in the computer science sense. You get a lot more with Debian than just something to run other programs. You get those other programs if you want them. It's your choice to install an office suite. We have at least two of them. We have K-Office, which is produced by the KDE project, and we have OpenOffice. And then there are GNOME-based applications like Abbey Word and GNU Merrick. So there's a lot more to Debian than just an operating system. There is also our community and I think that's a really important aspect. You know, we wouldn't be here in Helsinki if it weren't for that community aspect. So there's not a cloister of one person or a small group of people pushing this out. There's a back and a forth, and that has over time led to Debian growing and accreting like a snowball because somebody wanted to see something in Debian so they just decided to put it in. So they come out of the project and they say, wouldn't this be nice to have in it? And it doesn't have to be a piece of core operating system functionality. If it seems to be useful and if it's free software and somebody can take responsibility for it and keep it up to snuff in terms of quality, they're allowed to put it in. So this has enabled Debian to become much more than just an operating system, not just from the technical perspective at the software level, but in terms of building this accreting community. I said a minute ago that Debian is a complete computing environment and one of the ways in which I think we benefit from being a complete computing environment is that we provide a lot of user empowerment. Let me shift now from talking about Debian's developers to talking about Debian's users. A critical aspect, in my opinion, of the free software movement of which Debian is a part is the fact that the power to control one's life in an important respect, given that we're using computers for more and more, is that that power comes out of the boardroom of Microsoft or Adobe or Borland or what have you and is put in the hands of the user because of free software licensing and licenses like the GNU GPL, the copylift or the BSD or MIT licenses in which the source code is typically distributed with the software, and Debian commits itself to providing source code. The user, if they have the necessary expertise, is able to customize the software that they use in any way they see fit. Debian people take this for granted, but it's an idea that has only slowly started to catch on in the corporate environment. It used to be De Regard. It used to be the standard back in the 1970s until Bill Gates started pushing the idea of what we should be able to copyright software. The notion of being able to copyright software was a pretty innovative one in 1978. Now we take it for granted. The good news is that Bill Gates' push to copyright software has led to good consequences like the GNU general public license, which enables us all to share with each other and to have remedies available to people who violate the norms of our community by taking things proprietary is the term that we use. So the consequence of empowerment, in my opinion, is that it helps to get people involved. A course of person can remain in their home or work environment and never share their changes with anyone else if they want to. They can work in a silo, more or less. But what typically happens is that people find others like themselves and build a community or they join an existing one. So the so-called network effect, which is talked about in much literature, is very easily seen in the consequences of being able to share your changes to the software. There are community centered around distribution of patches to games back in the old days of, say, Doom, for example. You would have proprietary games and people would come up with customized patches and they'd build communities that way. But it was always a little bit shadowy and on the side. What the free software movement has helped people do is realize that with the openness of licensing and the complete blessing to modify the way your computer works and share your knowledge of how you changed it with others, is you can really effectively build a community that's completely legitimate in everyone's eyes and doesn't have to run around or do a lot of hand waving to say, well, we're not exactly legal but we're harmless so please don't sue us. That sense of user empowerment is very important in another respect in that, as I'm sure all of you know, just last, was it earlier this week or last week? I've been on a plane so I'm confused about time. But the European Union rejected software patents. Again, hopefully it doesn't have to keep being rejected before people get the message but the fight continues. And software patents are very hazardous to the types of communities that I'm talking about because patents don't protect the code, they protect the concepts. So it doesn't matter if you're not taking someone else's code literally and changing it. What a software patent keeps you from doing is implementing a particular idea at all. Of course, the exact details of how this is prevented depend on the vagaries of patent law and often whether or not you can afford to hire a lawyer. So I personally find software patents to be pretty corrosive to the notion of community which is why I'm very happy to see that the EU parliament rejected it and I hope they continue to take that stance and maybe one of these days, I'm from the US, maybe one of these days we can get a little more clues in the US Congress but I won't count too much on that. The next thing, as I'm running out of time here, the next item I wanted to talk about was longevity and community. Another reason that Debian is exciting is because it's proven. As I mentioned before, we were founded in 1993 and so we've been around a little while and it's amazing sometimes. Before long, we are going to have been around longer than some of our developers. There are people as young as 14 who have been known to contribute to the Debian project and even become developers. So we're coming up on a point where Debian is going to be kind of a historical thing for some of our developers. The fact that we've been around for so long gives us an inherent legitimacy in many eyes. It makes us appealing we're not a flash in the pan, we're not some new thing that might or might not succeed. And another consequence of that longevity is that we have many people in our community who have deep roots and go way back. One of the people who can't be here today unfortunately is Manoj Srivastava. He lives in Tennessee now, he used to live in Georgia and he's been with the project for a very long time and we often tease him about being one of our old curmudgeons. But that's important for a sense of continuity and especially given the early days when we were finding our way through and unfortunate things sometimes happened like the deletion of our list archives in the very early days. It's important to have that continuity with people who've been around a while. Many developers who've been with the project have been with us for many years and that is another aspect of community. You have this generational passing of knowledge. So the longevity aspect I think reinforces community. There are new things popping up all the time. Ubuntu, the phenomenon of Ubuntu Linux and canonical software has been an interesting and challenging one for the Debian project and I think Ubuntu is continuing to evolve. They just started a foundation, for example. And it remains to be seen how Debian will learn from, absorb some of the lessons from Ubuntu or compete with it in some ways. And it is not for me to say how exactly that will play out. It is for me to try to accomplish as leader to ensure the fact that Debian remains vibrant and successful and to do everything I can to help Debian build upon its many good traits and continue to be a force to be reckoned with in the larger free software community. So with that, I think I will let you go. I'll stop babbling and we can get on to some more interesting talks.


Slip that under the windscreen when they're not looking, under the windscreen wiper. On behalf of Variety Bash Walkworth, thank you very much for having us, and until next time we love you. I have to say it's probably one of the most spectacular spots. We're celebrating the 2014 Mini Bash Attributes, you and Gilmore, and you have to admit it's quite first thing. It's quite rugged. We're surrounded by some of those great mates over here and we're actually just celebrating what we call Ewan's last stand. So it's just a wonderful group of people who all consider Ewan to be our great mates. Today has all been about doing him proud. We started off this morning at Waianui School. We raise money so that we can give that money to disadvantaged children around the country. So, have made a difference to some disadvantaged children already. Moving on to Silverdale, Red Beach, and then on up to Walkworth. I suspect we've seen probably two or three thousand kids today, and that is just absolutely fantastic. Really what we've done today has been all about making Ewan proud and celebrating his contribution to Variety Bash. He was such a wonderful ambassador for us. We've got his vehicle here today. It's been doing us proud. I noticed that it had some driving issues before it seemed to be going sideways as opposed to forward. But we should be able to fix that tonight and maybe get the Air Force onto it. Anyway, we're on our way out to Mangalow tonight. Really looking forward to that. And then catching up with the rural Northland community tomorrow on the 2014 Mini Bash.