One of the more distinguishing features about AIDA is a very sophisticated type system that has a lot of unique things about it, like declaring new instances of even base types, something that you really don't see very often, and also subtyping, which is used to sort of do an inheritance-like thing with base types. Now, exactly why this would be useful or how to use it is not obvious if you're coming from a lot of other languages, or at least not potentially obvious. Maybe you can come up with a few examples on your own, but there are a few other things about AIDA, like attributes, that really warrant a explanation, demonstration tutorial on its type system. For this video, we're going to be doing just the basic types, so integer, floating points, modulars, and fixed points, arrays, records, tagged records, and things like that are going to be in later videos. So let's begin by showing off just the integers. In the standard package, there is a few predefined types. This is pretty similar to the intrinsic types that would be defined in other platforms, and there is a standard integer, so you don't need to constantly define your own integer, and in fact, in most instances, I would just recommend using the standard types. So assigning a value to an integer is pretty straightforward. We can just do A integer, and just assign it one, and if we want to actually make this do something, let's print that out A is... Now here we get into one of the first attributes, the image attribute, and this is used to convert any type that supports it into a string. So in a language like, say, C sharp, where you have a two string method that's defined for all instances of objects, this is similar to that. Now if we pull up a terminal, you can see that it does actually print that out. Now just to show off a few more attributes first, since they're pretty useful things to know. For those of you who are already familiar with ADI, you'll notice a little problem's about to happen, but I'm doing us just to show it off. It complains about invalid operators here, and this is because ADI's approach to types is strict enough to where concatenation can only be done between characters and strings. Given that the integer first and integer last attributes will return integers themselves, it can't be concatenated this way. So we need to actually call image on this as well. I personally do not like that this is a thing that you have to do. That being said, ADI really isn't meant for text processing, so I get it. I get it. I just wish it could be a little bit different. But now it actually compiles, and you can see that it works. Now these happen to be huge numbers, and for those familiar with the underlying stuff about the CPU, you'll notice that this indicates high probability of that being too compliment, and that it is in fact just uses the exact same integer type that's defined on the CPU. So, when you would want to use the first and last attributes, you have to do quite a bit more with when you have your own types defined. Let's show off actually defining a type, and then I can show a little bit more about when first and last are actually useful. Let's do type processing. Yeah, let's do this. So that's it, assuming I didn't make any typos. And I did not. So what this does is defines an entirely new integer type named percent. It is incompatible with any other integer type. So we can show that off by doing 50% here. So as I said, it is incompatible. Now the image attribute as well as basically all attributes are essentially like an intrinsic method as I mentioned before. So when we defined the percent type, it was automatically defined for us as well. So if we change this over to percent, this will now work. And this is even the case if we instead of just defining a new type actually inherit from the integer. Now what is it? Is it a new integer? Yes. Okay. So if we change this again back to the integer, this should fail again, and it does. Now the difference between these two with inheritance versus just this has to do with the range of the base type. At least in this instance, because it's an integer, it's defined by its range, its first and last. I'll show off this failing, and it should be a little bit more obvious. So let's do it this way. Because this is inheriting from the percent, and you can see that the percent only goes up to 100, this should effectively fail because the range is going all the way up to 500 while we're taking the base of a number that only goes up to 100. And you can see that it does fail the constraint test. If we however incorporate from the integer, this is totally acceptable, just to make that error go away. But essentially, if you leave this out, it's just an implicit new integer. If you put anything else in there, then it borrows from the base essentially. Now sometimes you don't actually want to do that, and you may actually want to keep the new type compatible with the old one. And that is done through what's called subtyping. In this instance, you must have the parent type. If we leave this out, you can see that it will complain. The subtype indication is expected, which is this whole thing. I don't like that error message, but yeah, whenever you see that, it's because you left out the parent type from the subtype. And so with these being compatible, you can either use the subtype image or even the parent image. And in both instances, these will compile and will work, unlike my typing. Subtypes can even be compatible with each other. So if we do a different subtype, you can see that this does work. Now the thing to keep in mind, however, is that the checks are still done and are done automatically. And this is sort of where it becomes useful, where all of this type system really starts to show why you'd want to use it at all. So you can see that the compiler does notice that this is going to happen. It does not cause a failed compilation because this is a totally valid statement, but the compiler does catch that E is currently 250, which is way outside of this range specified here. So even though they are compatible to an extent that they can be assigned to each other, the range check still occurs and it will, well, if we run this, it will throw the appropriate exception. So this, for the most part, shows off what I want to show. There are a few other things that do need to cover, and let's do, ah yes, the range attribute. So let's clear this off and do for, ah, what I am, integer range. Actually no, let's not do that large of a range that's going to generate a lot of text. So you can see that it printed off the subtype's range. The range attribute essentially combines the first and last attributes in a way that is recognized as a full range declaration. So in many other languages, what you'd wind up having to do is the hard-coded one-through-100. And if you ever change this definition, you'd have to also change this definition, and it can kind of be tricky to track all that down. I'm trying to come up with good real-world examples of when you'd want to use these. Unfortunately beyond some simple numerics things like percent types, ah, yeah, I can often, for a lot of things, you'd need a constrained percent where it's somewhere between one and 100. Obviously you can have greater percents. Say like compression levels are always specified as something between, not compression levels. There's a, and it sort of has to do with compression, but there's like a quality level that, I believe it's JPEG image file temp that is specified somewhere between one and, I don't know if it's zero, maybe zero wouldn't make a whole lot of sense though. And based on how high or low that is, it affects the quality of the image that's generated. This is useful for that kind of thing so that you can essentially have all your checks written out everywhere you use that type just by writing out the subtype or even a full incompatible type. More than anything, where this really shines is with hardware. Other than that, I haven't seen too much of a use for it, but it's there. It does have its uses. More than anything, what you want to get out of this would be the attributes. For the other types, that's pretty much all we're going to cover is just the actual. So if we go into modulars instead, and standard doesn't have one of these, we'll have to actually define one ourselves, but the type declaration just looks like this. So in this instance, we're defining an 8-bit modular. You could write in your own value here, like 16 or even 14. It doesn't have to be a power of two, but the exponentiation syntax kind of makes it obvious that you're doing an 8-bit modular. And I forgot that and modular image. We do, yes, because this was for doing a, it's an operation, not the request for what this is.  I think I remember what it was. It's just that there's, there's two remarkably similar named attributes. Right, that whole thing. How do we get the result? I wonder if that returns just a generic one. Yes, okay, so that works. That's, okay. So what's going on here is that modulars are essentially unsigned integers. I really don't like calling them that because at least from my educational experience, an unsigned integer would just overflow. Whereas a modular is something like a clock arithmetic where it wraps around the way it works inside the processor typically, although it does depend on what processor architecture we're talking about, is that it wraps around. Some of these do catch the situation and throw an overflow exception treating it just like an integer, the standard signed integer. But this is sort of processor specific, actually being able to specify the behavior you want and at a rather nice for the other type of unsigned behavior, the one I described where it still overflows. Ada has what's known as natural and positive subtype of integer. Natural includes zero, whereas positive does not. So you can use the specific type of unsigned that you want. The explanation of the attributes here. First and last work the exact same way as the integers, whereas modulus returns the thing we specified here. Now two raised to the power of eight does come out to 256. We could just the same write that in here. And we get the same result, but I'll switch back to that. And what the other one I was trying to use in modulus's place essentially goes like this. Let's do something like a thousand and then it's. So what this does is calculates the what's essentially the modular operator. And I do want to be a little bit careful about that because there is actually a mod operator in Ada. These essentially do the same thing. This just implicitly uses the modulus here or the same thing. We can actually kind of synthesize this by doing this except we need some casts. So so obviously what we wrote before is immensely less writing. And that's basically why you'd want to use it. Uh I think that's everything for mod. You know let me let me try something. I actually have no idea if this works at all. We don't need this. But it's a it's a way to find out. So for. Okay so it has it. Um yeah that should essentially be everything for mods. So then let's go on to floating points since these are really the most interesting for most people nowadays. As with most other languages there is an implicitly defined floating point type. However in Ada it gets a little bit more complicated because as you'll see as we go through this there's quite a bit of ability to define very specifically the floating point type. And so this means that unlike say C or C++ where there's a single precision and double precision floating point type in Ada there are on most platforms four different oh no no no three different uh precisions some will have four and I'm sure there are some exceptions from that as well because there's a lot of different platforms that there have added targets for. But essentially it looks like and I may forget this one. Okay that worked so let's do a put line and float first. Obviously massive massive numbers and potentially we can go even larger depending on whether it can find one that is well it it it will I I already know offhand it will. It is a ridiculously large number and if you really know your floating point types you should recognize that that is in fact the 80-bit float that is available on the x86 and whatever you want to call the 64-bit version of it. So that is an absolutely massive floating point type considerably larger than what's available on a lot of other systems. And I have noticed not so much with C and C++ but I have seen a few instances of languages that their double precision float is the 64-bit even on platforms that have an 80-bit float available to them. So being able to use this is quite nice actually. And just to show off yeah you can actually tell so the exponents on these are in fact the same but if you look especially at the at some of the smaller digits you can see that these do not actually have the same range that we lost a little bit by excluding one digit and a little bit more and this sort of works the other way around although yeah that's that's still pretty large all things considered although the precision there is terrible and since it didn't show that off for floats there is something called a small that is the smallest change that can happen between each representable float so let's show that off as well now as you would expect for a floating point with a precision of one digit it's going to be very very bad there is not actually a lot of representable floats there let's try something again because I don't know if this is something we can do I don't think so yeah no uh because the range is inevitably a uh the range needs to be a discrete type but there's something ah it's it's not important it's not important so one other thing to show about show for this before I think it's digits anyways but before we start to compare a few uh floating precision oh yes uh digits returns an integer not a float so we need to do that instead so as you can see we went up immensely in the precision that this was able to represent and go even further but that's not really that interesting so the other thing I want to show off the last part about this actually is that like with the other types you can specify a range to this as well so we can do things like uh there so in this instance it's still using the incredibly precise small that an 18 digit float can represent but it's ensuring that the float is always between these two values so essentially we have the percent all over again but with an incredible amount of precision one other thing I should mention uh just before I forget is that this like anything else does support subtypes um the one thing you want to be aware of however is that with a subtype you can only declare a new range you cannot declare a new digit precision the only way to have a float of a different digit precision is to declare an entirely new floating point type which of course makes them incompatible and there are conversions between them uh but subtypes with their automatic conversion they're not really converted that's kind of the thing um can only be uh have a different range well for fixed types we have two of them to show off actually uh let's do this way actually I do forget things like that sometimes so uh let's specify a range of uh negative 100 well I wish I really wish I would allow implicit conversions between certain same things like an integer being implicitly converted to a fixed point type makes perfect sense uh floats as well an integer to a float makes perfect sense uh there's number of implicit conversions that should not exist uh that should only be allowed to be explicit but having to add nv.0 for something like that is just stupid in my opinion it's obvious I think to everybody that you're not losing any precision by just having the two but uh yeah you've you've got to do this I forget all the time this is dumb I think now the delta is very similar to the small that exists for floating point types it's essentially you specifying what the smallest uh interval between each representable uh fixed point is at least for the ordinary fixed point now that is ordinary as regards to the computer so this is a base two fixed point type the other type is base 10 I'll get into that a little bit after we cover the ordinary a bit more um but just know that it is ordinary from the perspective of the computer not you so delta works well it the delta attribute is essentially the exact same thing as the small so let's just get that out uh ordinary the right uh oh I know why I know why okay so uh you probably don't want to represent the delta that way uh there's another way we can do it should give a different result here yes okay but either way ultimately works I just I don't know for whatever reason I like prefer being really explicit with the delta even though I don't have the range but that's just sort of a style thing either either way works the exact same so do whatever yeah is you you prefer one thing I do want to point out about ordinary fixed point types in modern systems is that you don't want to use these seriously uh older hardware it made sense given that the floating point types were generally slower and pretty computationally intensive which means a lot more power consumed a lot more heat generated stuff like that um with modern systems the floating point units have gotten so good to where you really aren't going to see speaking just use the floating point type but this is for ordinary fixed point types there is another one that is actually still extremely useful what this is is a base 10 fixed point type as I said before that might not seem that special and in fact for many implications you can completely ignore that this exists but if you work in finance at all you probably have at least heard some programmers explain why cobalt is still used a lot in finance and it has to do a lot with this decimal type that cobalt is able to define and it borrows a lot from the from from that uh not so much cobalt in other regards but the um cobalt's decimal type support is really really good for finance the added precision is very helpful for example if we need to go at a higher delta than just sense for example right down to the mill I think that's mill we can do that and it might be tempting to think that the floating point the way floating point arithmetic works is the same and that everything that that everything would just work out to the same value there is something called floating point rounding error as well as some other stuff that basically within the fractional part floating point types are not able to accurately represent all of the uh decimal fractions and so you get these little slight off bits this isn't a huge issue for say video game it's it's a problem for finance so this is again very important for finance I can't really give you any great examples it's just something that if you've done financial programming at all you are going to recognize immediately why this is a wonderful thing if you haven't you're going to have no no clue why this would even be useful yeah this this covers all of the basic types as I had said other stuff are going to get their own videos so anything like arrays or records and anything that wasn't featured here is going to be in its own video I wanted to keep this pretty simple just because it's covering simple types I don't want to really just hammer on the details there are a few attributes that I have not covered here but you should this should be enough to get you started for the most part the attributes I left out are things that you really only see in specific instances anyways these provide anything that you would expect being defined in usually predefined methods in other languages so yeah I don't know when I'll be able to do the second part of this I'm not sure whether I want to cover arrays or records first but in the meantime if you found this video helpful please give it a thumbs up that actually helps quite a bit also don't be afraid to comment down there if you have any questions or I don't know thank me call me an idiot whatever the feedback is nice some of it's not always constructive but feedback's nice and yeah until I get the new video out have a good one


Extremism means, literally, the quality or state of being extreme or the advocacy of extreme measures or views. The term is primarily used in a political or religious sense, to refer to an ideology that is considered by the speaker or by some implied shared social consensus to be far outside the mainstream attitudes of society. The term is usually meant to be pejorative. However, it may also be used in a more academic, purely descriptive, non-condemning sense. Extremists are usually contrasted with centrists or moderates. For example, in contemporary discussions in western countries of Islam or of Islamic political movements, the distinction between extremist implying bad and moderate implying good Muslims is typically stressed. Political agendas perceived as extremist often include those from the far left politics or far right politics as well as radicalism, reactionism, fundamentalism and fanaticism.


Hey, hey guys, all right, welcome to .NETConf 2019, whoo, that was an awesome keynote, right? Oh my god, yeah, so I just wanted to let you guys know a little bit about the format of this conference. We're going to have a super awesome time for you. If you look on the party page, the .NETConf website, .NETConf.net slash party, there are two virtual attendee parties happening. These are all sponsored by our amazing sponsors of .NETConf itself here. They are giving away over 40 prizes, Xboxes, Surface Goes, a bunch of Amazon gift cards. The attendee parties, one is after the show today and one is on Wednesday at 4 a.m. art time, so we can hit all the time zones. So you can play, answer trivia questions, and if you really want to get involved and engage and watch the video, Jeff's going to be back there with the partners, Twitch TV, Hack Visual Studio, so that'll be fun. It's going to be a ton of fun. I think that's fun, and the other thing we're doing, the new this year, is a technical treasure hunt. So 10 of our partners have created these technical challenges for you where you've got to go figure out answers. They're going to give you clues throughout the day, so watch the .NET Foundation Twitter handle and the hashtag .NETConf. Our partners will give you secret clues. Watch this page. We'll give you all the URLs to hit, so if you want to try and figure them out, read the rules. So what you do is you'll need a Twitch account and you'll whisper to the Twitch bot your answer, and it will let you know if you got it right or not. If you get them all right, you're entered to win for a really big grand prize. A lot of cool little puzzles and stuff. Oh yeah, they're really cool challenges from our partners, so that's actually pretty awesome. Yeah, so watch that. Also, I wanted to say our local events, we now have 217 local events, and I think there are like 40 watch parties going on right now. It's amazing. So like if you are, if you guys are having a watch party right now, make sure you take a picture of your event, hashtag .NETConf. We'll get it on the tag board here. Okay, so that'll be awesome. So a lot of these actually are .NET Foundation meetups, right, John? They are. They are. That's right. Yeah, so .NET Foundation meetups have grown. They've just grown like crazy. So we're at 314 worldwide now, 62 countries, which is so cool. That's amazing. I've got a link here too. You can join these. There's a link on this where you can join the meetups, and we'd love to have you. So this is a great way where you can get involved locally, and like Beth said, tweet stuff with .NETConf, and we'll post your pictures. .NET Foundation's been really busy lately. We've got, recently this year, we launched our community election. So it's an open membership and an open vote for boarded directors. So we had a great turnout for the election. Our new boarded directors, when they started up, we met and we said, you know, what is some stuff we want to do? What are some things we want to focus on? And Beth, you're one of the board of director members here. I am. So one of the things we decided to do was form some action groups. And these action groups are like, hey, here's some stuff we really want to focus on and get done. And then as part of this, we make it so that members can join these action groups as well. So they can volunteer, get involved, and, you know, help get stuff done, right? So some of these, the marketing communication one, we've moved to a, you know, it's all GitHub poll requests. People can submit their news items, project support. We've moved over to a Kanban board that's open.  And we had, you know, we had all these people telling us how we can expand the reach of open source .NET. It's actually been really fun trying to pull together a committee and volunteers and that sort of stuff. It's great.  One that I'm really excited to talk about today is the technical oversight group.  So I'm really excited to announce today that we've got three new programs launching under this. So one is a maturity model and I'll dive into that in a second. That really defines these quality levels. We're also announcing to support that some training and support and a project forage. And that project forage is, is focused at identifying some kind of key strategic areas for things like, shouldn't there be a library? Shouldn't there be a project for this? And then dive in and do it. So yeah, this project maturity ladder is, it's totally opt in. If it doesn't fit your project, totally fine. But if it does, this can really open up some things. So we've started, you know, up till now, we've really, where we've been at for our projects in.net foundation has been kind of in the two and three level here. So it's been, you know, you contribute your IP, we'd say, here's some general best practices. And we support the project, but you're kind of on your own. It also was difficult for a project to join. It could kind of take a while. So what we've done now is we've added this easier level, this incubator level. And this is a really easy on-ramp, make it quick for a project to join. Not a lot of legal paperwork.  Then as you move up, we're adding in some structure around things like, you know, bringing in some basic security practices at level two, level three, really focusing on things like continuity and sign packages. Make it easy for enterprise to trust you, you know. And for other, for interdependencies between libraries. And then finally, at level four is this trustworthy project. And this is actually built from source on certified build infrastructure. So yeah, you know, yeah, yeah, exactly. And so, you know, we've got a blog post going through this. There's actually a lot of information here. We've got a repo that's live today with tons of information on this. Also, as you mentioned, the .NET team is involved. We're also, we've got several pilot projects. So we worked with, we reached out to a lot of our kind of top community projects, and we said, you know, what would you like to get involved? So they worked with us to kind of look at our draft of the proposal and get it right, you know. So we're really excited about this. We're working with Dapper Identity Server, Mini Profiler, Stack Exchange Redis, what's that? Okay, Newton Soft, Jason, and then the .NET team, like you said. So they're actually building on the certified infrastructure. Awesome. So yeah, cool. And also, let me see, am I still, what am I doing here? Great. Nothing's happening. There it is. So we've also, under the .NET Foundation, we've got a corporate sponsor program. So we launched that in December. We've got several corporate sponsors. So in December, we added on Pivotal, Progress Tellerick, and Insight. Right. And so these are companies that, you know, their business is invested in open source .NET to the point that they really, they're chipping in financially, they're getting involved in supporting things. Super excited today to announce that AWS is joining. So AWS is a corporate sponsor of the .NET Foundation, and we're just so happy to have them join. So we've got... It's awesome to have them on board and help in there. Absolutely. And this is something, you know, where they can help, they can be involved and help review things. They've got some great .NET Insight. They've been shipping for over 10 years, you know. It's pretty significant. We now have all three major cloud vendors as sponsors, corporate sponsors of the .NET Foundation. That's pretty huge. Absolutely. So I think what you see with this is, you know, huge investment from Microsoft and .NET and the community, the entire, you know, worldwide community with the meetups and stuff, and then also the corporate sponsorship shows just support all over the place. It's great to see .NET growing like this. Absolutely. And so now we want people to become a member of the Foundation, right? Absolutely. You don't really have to be like a super-duper coder. You can become a member even if you're just like contribute to docs, run a meetup, you know, help out the community in any way, right?  If you haven't even, if you're not at that level, let us know and we'll tell you how you can get involved. Gotcha. So and this, becoming a member is kind of the first step because then we can get you involved with these action groups, action groups that are doing things like that. You know, that maturity ladder that I talked about, that's going to take some work to get that all set up. It's exciting though, right? It's a new opportunity and so this is your ground floor to get in. And so like we're actually all open on GitHub, our discussions, everything that we're doing, like around those committees. So as you, when you join become a member, you can actually contribute to just the discussions as well.  We have a lot of things to do. A lot of it is a lot of just busy work stuff too. Sometimes we just need people to like, hey, can you manage the Twitter handle? Can you like, you know, can you help review a project's checklist? Things like these things, you know, right? Can you, can you review the membership applications? Sure. But it's exciting because it has a huge worldwide impact, right? So things like that, that newsletter, right? Moving that to something where anyone in the world can submit a news item. And as soon as we open that up, our newsletter got so much better. So we're open sourcing basically are or opening up the way that we run the foundation to all of our members. And that's what these action committees and groups are about. Yeah, I'm really excited about that. All right. So right now, we're going to get started with some amazing sessions. All right, these are going to be, we have like 78 sessions for you over the course of three days. It's absolutely insane. So in order to make these sessions awesome, we want you to ask your questions on Twitter. Okay, just use the hashtag.net conf because this year we have some amazing live in studio hosts. And this year we've got Kendra Havens and Scott Hanselman. Take it away guys. Thank you so much. Thank you, Beth and John. Yeah, we're hosting. This is our Twitter board. So we'll see everything that you submit and be able to read those out to our speakers and answer them. Yep. So make sure that you tag all of your tweets with hashtag.net conf and we'll go ahead and bring them up on the big board here. You can see that folks are doing viewing parties. So some huge nerds there. Here we go. Some folks in India are doing a live streaming party as well. So I'd love to see photographs, pictures of your of your parties of your viewing parties. We have folks all over the place. We've got we got some pizza at x spirit. So I want to see photographs. I want to see photographs of you and your friends and your coworkers and colleagues all checking out.net conf live and hashtag those things. And of course questions. So in a few minutes we're going to have Mads Torgerson talking about C sharp eight. If you want to have live questions from Mads, those questions will show up on the board and Kendra and I will and make sure that they get answered. Yep. One other thing I want to call out and maybe they'll put those up on the board for us is some new videos that we did as well. So when the fun and excitement of dot.net conf wears off with over 80 different videos and sessions. Yeah, it's a lot to take in in one day. We got together with our friends and we put up some great stuff on YouTube. If you go to dot.net slash videos, there's in fact over 80. I think something like 85 new videos that are going to show people how to do dot.net, how to do C sharp, how to do a spin at ML desktop, all kinds of stuff. Maybe our friends that are running the board here will send me a picture of that tweet. I tweeted it on my Twitter, but you can check that out at dot.net slash videos. And all of those are available. Let's see what we got here. And then we're going to bring that up for me. I don't see him yet. This is the great thing about live television. Yeah, we wanted to share that. I want to share that tweet with you, but that's a dot.net slash videos, all of that. And then everything that we're doing today, even though it's live, it's recorded, isn't it? Right? So I can click this button here. Oh, there we go. I forgot about that one. That's what we should have been doing. See, look at this. Oh, hang on. Hacker space, Mumbai. Nice. What else we got here? There's some enthusiasm here about dot.net. A lot of people excited to be a dot.net developer. Oh, look at this. There's our folks in Bingo La Rue. She's the next three. See what's here. Oh, what else we got here? Do I see? There's so many tweets I'm actually not even finding our tweets. Right. See, folks are just bringing them in. Okay, well, they're going to come in faster than I can deal with them, but we're going to have all kinds of information about dot.net in the future of dot.net. And I think that right now we're going to be jumping over to Mads Torgensen, who's going to do actually a two-part session. Yeah, all C sharp 8 goodness. I'm excited. All right. Let's jump over to Mads and we'll see you on the big board soon.


Personal notice, danger's my stock and trade. If the job's too tough for you to handle, you got a job for me, George Valentine. Write full details. Greetings, Mystery Lover. Welcome to another Let George Do An Adventure. This one carries the enlightening title of How Gullible Can You Get? But I don't want you to think for one minute that our boy Valentine got hooked by the old shell game, because he didn't. At least I don't think so. Maybe I better listen along with you and find out just what the authors did have in mind. Mr. Valentine, he's Mr. Valentine. Yeah, right here. Come in. Thanks, I am. So I know this. What's the hurry? Oh, I'm sorry. Time's a little short, that's all. Who's time? Mine. Oh, no, no. Look, I'm not running away from anything. I just got a lot to do. And you need help. OK, what is it? No, I don't. I can take care of myself. Golden gloves only seven years ago. What do you think of that? Nothing. Oh, look, look here. It's an envelope. You've been waving it around ever since you came in. Well, that's all I need you for, just the envelope. Want me to open it? No, no, it's sealed, wax and everything. Just keep it for me. Why? What's in it? I'll be back within 24 hours. Now, wait a minute. This isn't a check room. No, look, I got no time for kidding. Understand? Neither have I. What's this all about? I'm just playing it safe, that's all. I want to make sure none of the wrong people get hurt. By what? You're by home. Hey, sit down, will you? Oh, now, listen, Mr. Valentine, would you believe a guy who's an expert on guns could get himself killed just cleaning one? Particularly when the guy's got a million bucks? What's all this? You see, I don't believe it either. I ask you, how gullible can you get? No? Okay, I'll see you later. Hey, Buster, not so fast. Oh, here, here it is. My name, Joe Murtry, phone number. It's a Roman house, that's where you can get me. Hey, Joe, look, for the last time... I forgot time to explain, don't you understand? But I'll tell you this, if I don't show up in 24 hours, give that envelope to the district attorney. Okay? He'll know a murder when he sees one. Well, that was a question. Interesting, too. So unformative. Judge, where you going? To see what that half-brain heads for. Hello. Well, same to you. Go on inside, Miss Brooks will take care of you. Oh, no, no, wait, please. Was there a man here? Uh, what type of man would you like? Oh, please don't be funny. His name is Joe. How gullible can you get? What? Never mind, it couldn't be funny if I tried right now. No, no, please, I just wanted to... Go on inside and tell me about it. No, let go of me. Joe, who's Joe? What kind of a guy is he? What's a nice girl like you want with a guy? Let go of me. Hey, hey, hey, take it easy. George, what's going on? I simply asked you a question. Oh, never mind, I'll find Joe myself. But look, ladies... Oh, I know he was here all right. I'm sorry. Thanks anyway, I'm in a hurry. Hey, elevator, hold it, will you? No, no, get away.  Hey, you... Oh, for the love of... Why don't you try the stairs? Huh? Yeah, quite a little tableau. Maiden's secretary flees from office of prominent detective. Yeah, well, such is life. Look, Puster, it's my bad morning. Don't make it yours. I'll give you about two seconds to tell me something.  Because I'm one. Right here, identification. Upstairs, same building. Ah, Jake running. Yeah, I noticed a sign. I mean, how do you know that girl's a secretary? Because I don't have business. Because you do. Because I have time to read the newspaper. Ah, let me see. I saw them barreling in and out of your place and couldn't resist watching. Don't you know who they are? Oh boy, it's a juicy case.  Prominent industrialist dies accidentally. Ah! An expert, J.J. Connolly, was fatally wounded last night when repairing a rifle. He was visiting his house guests at the home of Mr.... Sure, that's what Joe was talking about. Look on page three. I always remember to face, that's all. Oh, don't ask me questions, just do in your favor. Yeah, pictures of both of them. Joe Mercury, chauffeur at the death home, will refuse to answer police questions. Get it? The Joe works for Mr. and Mrs. Duncan Hale, so that's it. But a guy who was hosting this man who died. Ah, the man who was Hale's partner. Yeah, thanks for the paper, friend. Oh, I got a case all right. That girl I just chased was Hale's confidential secretary, who also refused to answer questions. You are listening to Let George Do It. Our adventure will continue in just a moment. Now back to Let George Do It and George Valentine. But George, you said you wanted to go over and talk to Mr. Hale as soon as possible. He's the guy they both work for. He's the guy who benefited from this Connolly's debt. But there's envelope. Yeah, Joe's in your handbag. What? Yeah, help me find another one, will you? George, wait, what's in it? One thing at a time. I want another envelope, just like it. Yeah, here we are. Hey, you got some red wax? Oh, and here, some of that touching paper. But what are you doing? I'm fixing myself an envelope. Sure, we'll take care of Joe's form, all right? You mean I will? It goes in the bank, Angel. As soon as you leave it there, we'll go to Lieutenant Johnson, find out all he knows about this case. All right, there we are. See you later, now we're all set. To do what? To turn the tables, Brooks, and to find out how important Joe's envelope is.  I'm sorry, no. No, no, I won't see anyone, do you understand? Your, uh, name's Hale, isn't it? Now look, if you're from a newspaper... Oh, look, I'll get your foot away from the front. Well, of all the nerve I have... I said I'm sorry, but I have to talk to you. Oh, is that so? You mean you want me to talk, like everyone else, from the police to the reporters? I only read newspapers, Mr. Hale.  Why?  He died accidentally. Oh, I know, the preliminary police report. But it happened here in your house. Mr. Connolly was the one with the money. You and he never got along very well. And today, you've apparently given out conflicting statements... Stop it! Will you stop it? Well, I know I've been pretty crude, all right, but there's no reason to get that excited. What's the big idea? Oh. This is my wife. Hello. What is it? What is it, Duncan? Oh, it's nothing, my dear. There's no need for you to get in the car. Who are you? What are you here for? Mrs. Hale, I only wanted to see your husband and find a... No, if there's any way I can help, I want to help. Sit down, please. I'm Mary for the love of God. I think everyone should know everything, don't you, Duncan? Mary? There isn't anything to know. That's the absurd part of it. Mary! I'll handle this in my own way. Be quiet.  Now you will leave, won't you?  We've had a very tragic thing happen here. Look, my name is George Valentine. If you don't leave this instance, my husband will prefer charges. And I'll leave this. Please leave this. Goodbye. Uh... My wife is very upset, I'm sure you understand. I'll show you to the door. Is that all right? Yeah. Yeah, that's all right. Goodbye, Mrs. Hale. What changed your mind, Mr. Hale? My name? Well, I've heard of them, naturally. I suppose you get sore again if I say your wife's not a very good actress. Now, what do you want? Well, I have an envelope here. Oh. Oh, yes, I see. Hey, tell me, you have a secretary who wears glasses. What? Oh, Mamie Enverett, yes. Well, but she left me a week or so ago. She's certainly not concerned with what happened. Okay. Okay. You expected me to ask about somebody else, your chauffeur Joe, is that right? That. Meaning yes. Oh, why do you waste my time? How much do you want? Well, the letter? Well, I just naturally assumed. How much did you pay? I'll see you here, Valentine. I haven't admitted anything. Oh, yes, you have. That's all I want to know. See you later. Wait a minute. Wait a minute. I heard you the first time. A man all set to be exonerated of murder is still willing to pay for what's in this envelope. That's all I need to know. Don't give me that. I know you don't. You blackmailer. You're on the wrong side of that kind of action. Yeah, that's better. Okay, see you later, Mr. Hale. Oh, please. Please, Mr. Valentine. I'm sorry, friend. From here on, the police... Are you all right? Oh, you're sure. You must have been something I ate. I came out as fast as I could. You were just lying here. I went to the bank, and then after that I... Yeah, I know. Blackmailing. What? The original envelope. The police can have it. Open it.  But Joe has evidence of murder. He must have been planning to blackmail Mr. Hale in there. Well, come on. Pick yourself up. Johnson. Hey, where'd you come from? Standing right here, waiting for you to open your eyes. Listen, no. Hey, Johnson, you get after Joe, would you? What? The chauffeur, if he doesn't plan blackmail, then he's in danger. If he does, he's going to be in worse trouble for figuring me as a gullible stew. Look, Valentine, come to the party. Johnson, I got his name in a dress here. He's a big guy. I know exactly what he looks like. I've seen his body. What? George, your client Joe has been murdered. You are listening to Let George Do It. Our adventure will continue in just a moment. And now, back to George Valentine. How gullible can you get? A man named Joe rushes in with an envelope he wants you to keep. A girl named Mamie rushes in after him. And why? Because apparently Joe knows something about his employer, Duncan Hale, a man whose rich partner died accidentally. Or did he? And anyway, if your name is George Valentine, right now you're mostly concerned with Joe himself because Lieutenant Johnson and Miss Brooks say that now Joe is dead, too. Tell me, what happened, Lieutenant? What happened, he says? Like I'm a news analyst, say something. A man in a boarding house room withholds an imperious. He came right out to get Joe, I thought you'd know something. Only instead, I've been asleep. And the envelope gets taken away from you. Well, that was only the dummy one that George carried, Lieutenant. Yeah, and it wasn't Hale who hit me. I'd already left him standing at the door. I was walking up the pantheon with somebody. But he might have seen it. Come on. What about the death of Hale's partner, Lieutenant? All we know is what we read in the newspaper. Connolly, accident was what the police said. That was their testimony to the coroner. The brilliant police. Now take it easy. I wasn't on it, but a very good man was. He claimed that the door's open. Hale. Mr. Hale. Mr. Hale. I told you. Not to let them hurry. Hey, look here, in the fireplace. He also burned something in a hurry. Piece of wax. He does not burn the rod, and it's still stuck together. George, it was the envelope. Yeah, that's right, Angel. Only how did he get it? If Hale was the one who burned it?  So how did Hale get it? Riddles yet. And here's another one, the wax. He apparently burned it in such a hurry. He didn't look inside to know there was nothing in it. He'd have seen the paper curving in the flame, at least. He'd have found that out, all right, don't worry. Wait a second. Where are you going? Well, she came from back this way. You're at the hall down to the bedroom. Mrs. Hale. Hey, Mrs. Hale. George, this must be her room here. No, she's not home either. You know, I'm getting a little doubtful myself now about whether that first death was an accident or not. You know, family's sure gone into action, hasn't it? How much of a real family is it? Huh? How'd you know? Now what? Look, the door to the patio is left open too. The garage out there. Only it's empty. Well, I meant here on the dressing table. He's going over some letters apparently. Thinking about a divorce. That's right. They're practically separated. But that didn't have anything to do with Connelly's death. Listen to this. It's so hard to tell what to do, but you know how I feel about you and the minute you divorce Duncan. Here, let me see that. Letter from a boyfriend. They're pretty close-mouthed about the reason for separation. These letters are from a Mr. Connelly lieutenant. What? Yes, the man who was shot accidentally. Her husband's partner. And they're rather close to being love letters. Well, for the love of it... Come on, we gotta move fast. Get out on an alarm. Fine, Mrs. Hale. In the meantime, let's find out what happened to Joe, the chauffeur. Any fingerprints, Sergeant? Anything to show? Who was up here with Joe when he was shot? No, sir, but he sent a wire after he came back here from Valentine's office. The Western Union gave us a copy. Well, what was it? Well, it said the mailbox at 331 East Plaza will be open. My price is 10,000. Take it or leave it. But fast, signed Joe the envelope. Oh, humorous. But who was it sent to? Mr. Hale, sir. You know, but it's a funny thing. Western Union said it was his wife who signed for it. Yeah. There's a little place. Shutters are up. Is it for rent, son? Are you sure that's the right house? Empty house, Angel. Empty house. Perfect place for a payout. Come on, let's go. Well, you've been right all along, I guess. Joe was nothing but a blackmailer, and instead of getting 10,000, he got bullets. Hey, wait a minute.  Huh? That old car over there. Nobody in it. Why park there? Well, it's right across from 331, George. Take a look. What are you, Mr. Brooks? Registration? Huh? Somebody's still in the house here. We don't want books in danger. When you move over to this side, I don't want to take any chances. In a minute, I'll give you the signal. Hey! Is that you, Mr. Valentine? Lieutenant? I think it's safe. How's that? Hello, Mr. Hale. Oh, come in here. I need your help. What are you doing out here? One thing at a time, Lieutenant. Mr. Valentine? Is that Mr. Valentine? Oh, no, no, maybe. Well, the secretary, where'd you pick her up? Right here. I'm all right. Gee, I'm perfectly all right now. I bumped into her when I came in a few minutes ago. Yeah, but I'm all right. I was just frightened, that's all. You made me take it easy. What happened? Well, I don't know. I don't know. I was looking for Joe, and when I found him at his place, he was dead. He was dead, but he'd scribbled out a copy of a telegram he sent. And so I came out here, but gee, I had to take the streetcar. So I only got here myself 15 minutes ago. Yeah, just 15 minutes ago. When I came inside, I heard men's voices.  Hey, hey, wait a minute. Hold it, will you forget it? What? You'll get your turn. Yeah. I want to know about Mr. Hale. All right, what about me? Just how you got here.  Hey, Mimi, when he came in, did he come in alone? Well, you see, I used to be Mr. Hale's secretary, and when that awful thing happened about Mr. Conley dying, I knew that Mr. Hale couldn't have killed him. But I also knew what kind of a person Joe was, and that he tried something like blackmail, and so I had to... Wait a minute. Don't try to cover up for Hale. That's not what I asked you. I want to know if he came in alone. George, they found Mrs. Hale. What? Your surgeon's outside, Lieutenant. He says they located her. She's back at her house. Oh, what's so funny? The angel that car out there is registered to Rennick, isn't it? Yes. Who? Rennick? Myopic private eye, Lieutenant. Look, Valentine, there are enough people in trouble without training. Hey, where are you, Rennick? Hey, Rennick, come on out. Look, but he works for me now. Rennick, I tell you, you can't do it. Come on, come on out of there. All right, all right, I'll take it easy. Take it easy. What's going on? Who is this boy? I have credentials, Lieutenant. This is the bird who flew into the next room when he saw me coming. You know why? Because he's all we need to put this jigsaw puzzle together.  Now, that's all I know, see? I work for Hale, and it's perfectly legitimate. And there's nothing you can do. Right, but will you please? Got everybody in there, Lieutenant? Yeah, also a man from the bank who says Mrs. Hale drew out $10,000. Well, that makes sense. $10,000? Yeah, what about that? Well, I won't say anything about that because I don't know anything about it. She was at the bank, yes. Then what do you know anything about? Park before I take your license away. Oh, look, Johnson, he works for Hale. He's the one who phoned Hale to tell him that Joe had been up to bring me that envelope. Then he went out there, and when Hale didn't get the envelope away from me, he took it away. After that, Mrs. Hale left the house. Yes, she ran out the back way. She'd answered the door for somebody. I don't know who it was. Weston Union. Joe's wire, remember? Well, when Mr. Hale heard her go, he was very upset. So we followed her to the bank. Then we saw her again, just as she was leaving that house in East Plaza. So we stopped and went in. And that's when we came in. Okay, Jake, thanks a lot. Now, look, everything I've done has been perfectly legitimate, Lieutenant.  The police have never said Hale killed Connolly until maybe now when he started acting like it. Hey, Johnson, how's he acting right now? Yeah, see for yourself. Did you get Joe's real envelope from the bank for me? Yeah, I just got here, so hurry up and open it. Hey, where'd that come from? Two envelopes, buddy. Even a private eye with two heads shouldn't be as gullible as you were. Well, decided to tell us everything you know yet, Mr. Hale? My lawyer will be here in a few minutes. Now, look, Mr. Hale... Leave him alone, Johnson. How about you, Mr. Hale? Oh, no, please. You'll have to talk, lady. You were seen paying $10,000 black mail... Wait a minute, wait just a minute. We only seen her go up and put something in the mailbox and then leave. Now, that's all. Jake, be quiet. Yeah, there wasn't anything in the mailbox when we got there. Sergeant, start searching these people. Oh, wait a minute. You don't need them, do you? Huh? Oh. Oh, of course not. You're right. We've got the answer right in our hands. The envelope. What it was that Joe knew about Connelly's death. No, wait a minute. Please, please. Mary, darling, don't say anything until my lawyer... Hurry up, Valentine. Open up, will you? It is the answer to everything, Johnson. A very simple case. How gullible can you get? There, you see? Just blank paper. Oh, what in the name of... When these people start talking, you'll see how simple it really is. And I know how to make them talk, too. Hey, uh, Maisie, come here, will you? Yeah. Uh, over here with me. Yeah? What is it? What do you want? A confession. Yeah, you were Mr. Hale's secretary. You know there was an unhappy situation there. You knew he didn't like Mr. Connelly. When Connelly died, your fellow must have been murdered despite what the police said. Well, I won't deny that. And Joe, the chauffeur, knew exactly the same thing. So you got together. You didn't have any proof that your former boss was a murderer. Then you didn't really need it, did you? But Joe made a big show of bringing me an envelope, making sure he'd be seen by Jake Renick that would report it back to Hale. Oh, but I wasn't any part of it. I didn't know... The next step was to send a blackmail out. If Hale was a murderer, he'd certainly go into action. He'd think you knew something and be willing to pay. Yeah, a very neat little plan, Maisie. You'd better get flipped over. What do you mean? What are you talking about? The wrong people wanted to action. His wife intercepted the blackmail telegram and paid up, no questions asked. On the other hand, Hale tried to get the envelope from me. He figured it contained some of those incriminating letters between Connolly and his wife. What? Oh, Mr. Valentine, no, that's not true. Why is it people don't seem to believe an accidental death, or that the police know what they're talking about? Because they were unhappy and because each one knew the other had a motive, Mr. and Mrs. Hale each thought that the other might have killed Connolly. And, of course, that proves neither of them did. Nobody killed Connolly at all. It was an accident. Now, look, I really don't see what this has to do with me.  I don't know how that worked. But once the Hale's are eliminated, I don't know who else might have committed Joe's murder. But you, Mammy. I didn't. I swear I didn't. You were chasing him the first time I saw you. What was he doing trying to cut you out of the brilliant stunt?  Get away from me. So you killed him and went out to collect the money yourself. Only Hale almost caught you. Stop it, let's go with me. Ten thousand bucks and a gun someplace on you, Mammy. Joe stole it. Joe stole it. It was my idea, but he stole it. Oh, that's all, Sister. Back to the conclusion of our Let George Do It adventure in just a moment. And that was it. Did Joe Joe George? Yeah, Bruxy. And cold blood. And for ten thousand dollars. Poor Mr. and Mrs. Hale. Yeah. Yeah, it must have been a little rough. Each one thinking Joe and Mammy had something on the other one. Boy, in a pinch they didn't work for each other. Well, maybe they'll still be able to save their marriage. I hope so. Why is it nobody ever believes the police? Well, I don't know. Private detectives are always much smarter than policemen, don't you think? No, only in fiction. Would you want to be a policeman, George? Yeah. As is his advantage.  Well, of course the police are wonderful, but... You know, look, after a case is over, you can just say goodnight to the chief, get promoted a couple of times and go home. Lots of men. What? But then, on the other hand, haven't you noticed the private eye always has to wind up in the arms of a woman? Occupational hazard, I suppose. Good night, Angel. You have just heard how gullible can you get. Let George do it adventure. Robert Bailey was starred as George Valentine with Virginia Greg as Bruxy. David Victor and Jackson Gillis wrote the story with music by Eddie Dunsteader. Now, this is yours truly inviting you to another visit with Valentine when you will again hear what happens when you let George do it.


like let it go just let it ride home it doesn't fire you didn't hear an audible click and the firing pin is not protruding so now I know that my it's the no fire is good I'm gonna switch over to my fire


Leachy fruits have evidently been used in many cultures for the folk medicine treatment of everything from farts to testicular swelling. Yeah, but arsenic, mercury, and lead are also included in many traditional remedies. So how much is that really telling us? But leaches have been apparently shown to exhibit numerous health benefits. Yeah, but they cite studies like this. The protective effect of a leachy flower extract on cardiovascular health and a high-fat-fed hamster. What are you supposed to do with that? You don't even eat the flowers. Oh, and you're not a hamster. Hard to argue with this, though, a flavor that's sweet, fragrant, and delicious, which is why I love them so much. But then I saw papers like this. A child-killing toxin merges from shadows. Scientists link mystery deaths to the consumption of leaches. In Vietnam, it was called nightmare encephalitis, unexplained outbreaks and children coinciding with leachy harvesting. Children go to bed fine, but wake up the next morning seriously ill with brain function derangement and seizures, or don't wake up at all. Same thing in India. Killing up to nearly two out of three kids affected in some places. And we're talking thousands of kids becoming one of the most pressing public health emergencies in the country. It was evidently one of the three long-standing mystery diseases on Wikipedia, remaining a mystery for more than two decades. All clinical samples were negative for known brain viruses, so some investigators thought it was caused by some unknown virus. Others thought it might have been the pesticides used in the orchards. All we knew is it seemed to coincide with the leachy harvest. So maybe the fruit was attracting fruit bats, and then the mosquitoes were transferring some new virus from bats to people. Okay, but then why would toddlers be spared? Mosquitoes bite infants too. So maybe kids were swapping spit with the fruit bats eating half-eaten fruits, or maybe it was just because it was summertime and they were all just getting heat stroke? Okay, then why wasn't the heat or pesticides affecting adults? One of the clues that finally helped investigators tease out the mystery was that the children consistently had low blood sugar. In some cases, fatally low blood sugar. That kind of sounds like Jamaican vomiting sickness, perfectly well when they went to bed, but by the next morning, sick, then unconscious, and then both, dead within 48 hours. All thanks to eating unripe ocky fruit, which contains a toxin known as hypoglycin that prevents your liver from churning out blood sugar all night long to keep your brain alive while you sleep. And ocky is a member of the soapberry family just like leaches. Aha! But Muzafarfer is a leading leachy producer and experts at the National Leachy Center claimed they completely refuted the leachy link, but independent researchers found it. Leachy fruit contains methylene cyclopropylglycine, aka the exact same hypoglycin toxin. So, in the setting of malnourished children who already start out with depleted energy stores in their liver, due to going to bed hungry and general malnutrition, low blood sugar sets in, and due to the excessive leachy consumption the production of new energy is blocked and the trouble starts. It's a social tragedy that children are dying in the 21st century due to low blood sugar, which could be easily corrected, and just as tragic that hungry children are forced to binge on leachies falling on the ground to get a meal. It's like something out of the grapes of wrath. The happy ending, though, is that rather than just focusing on better treatments, public health workers sought instead to treat the cause by educating folks that no child should go to bed at night without eating a cooked meal and for parents to restrict children eating leachies in the evening to none or very few. And thankfully, by applying these recommendations the disease instance has been dramatically reduced. In hindsight, it appears China was already warning citizens about the dangers of leachies a decade earlier, but word had apparently just not gotten around. What are the implications in the West? In the US, the FDA tried to protect people against poisoning with this toxin, which is not destroyed by heating, by mandating that canned ocky fruits coming into the country test below a certain level. But there are no such regulations when it comes to importing leachies. Fortunately, they figured the high cost of these imported fruits and the likelihood that they would be eaten in small quantities by well-nourished consumer suggestors little reason for concern in the USA. Small quantities? You don't know how I eat leachies. I used to sneak into movie theaters with big bags of them, pounds of them, because they were just so fun to peel and eat. How many is too many? In a series of a few hundred poisoning cases, people reported eating 300 grams to a kilo. Each leachie is about 10 grams, so that's 30 to 100 fruit. Most of the cases weren't children, so we can probably safely say 30 to 100 leachies is too many a time for kids. What about adults? In a self-experiment, a researcher just downed some leachies and measured the hypoglycin levels in his blood and urine. Based on how much was in the fruit, how much he ended up peeing out in the urine levels found in victims, one can roughly calculate that adults should need more than 200 fresh leachies at a time, or about 10 cans worth.


Okay, so are there any questions from the previous lectures? Okay, so let me start just by reviewing what we're doing at the end of yesterday. So the idea is to derive the pure spinner and green Schwarz formism from gauge fixing, an action which is classical action which is purely bosonic. So it's just built out of the usual space time variables, X and P, together with this projective pure spinner and its conjugate momentum. So just to remind you, projective pure spinner intended to satisfy this constraint, and the conjugate momentum has this gauge invariance, and it's defined up to these scale transformations. Okay, so this is this twisted like constraint which will replace the mass shell constraint. L alpha is Lagrange multiplier. So this is a constraint whose on-shell which is imposed on-shell, but of course off-shell when you do BRST, use the BRST method, this will not be imposed anymore off-shell. Okay, so the BRST method is of course you look at the gauge transformations generated by the constraint, and the gauge transformations are of this type where theta is the gauge parameter, and in the BRST method the gauge parameter becomes a fermionic ghost. So the theta, which is normally thought of as a classical variable, is now thought of as a ghost variable, which makes sense if you look at its world-line spin, which is a world-line scalar. Okay, so this is the transformation of X, this is the transformation of the Lagrange multiplier, so it has the usual term del theta. There's an additional term you can add here because lambda gamma lambda is zero, and because of this term you have a gauge for gauge symmetry, which means that if you gauge theta in one direction using phi and gauge rho in the opposite, well okay, because of the minus sign, it's in the same direction with del phi, these two terms can cancel. In other words, the q squared is zero even though theta and lambda vary in this way. Sorry, theta and rho vary in this way. Okay, so this is part of the BRST transformations, but this phi is a ghost for ghost, because rho carries ghost number one, which means that phi should carry ghost number two. Okay, and w alpha, it picks up a piece because of the canonical conjugate to lambda here, but it picks up another piece depending on the gauge fixing fermion in order that q squared equals zero. So if you don't have this piece here, q squared will only be zero up to equations of motion. Okay, so we did the gauge fixing, which led to the pure spinor formalism, which was of this type. So p alpha and beta are anti-ghosts, and what we showed is that if you add q of chi to this classical action, and solve the equations of motion for the auxiliary field, you get just the usual pure spinor gauge fixed action, but this is in the gauge where you use the scale symmetry to fix phi equal one. So because you've fixed phi equal to one, that shifts the ghost number so that after doing this gauge fixing, theta carries ghost number zero instead of ghost number one, and lambda was now going to carry ghost number one instead of ghost number zero. Okay, so that's a review of what I did at the end of yesterday. So is there any questions? Okay, so now we're going to choose a different chi, which is supposed to give you the green Schwartz super particle. So the chi we're going to choose is going to have the property that q of w alpha is going to be zero. So we're going to choose, the reason is because we want to land on the green Schwartz super particle action, which of course has no w's or lambdas in it. So if we look at the transformation of w, we can see that it's possible if it's going to be equal to minus one-half L times phi inverse. So this has the property, obviously, if you take the derivative with respect to L and multiply by phi, it will cancel this term. Now we're still going to have this term here in chi. That of course doesn't depend on L, so it doesn't spoil the property that q w L equals zero. Okay, so now we're going to compute the action that we get by just hitting with q chi. So in this case we'll get, so it's trivial to use the BRSC transformations to compute what q of chi is. So from the transformation of L, this term, and from the transformation of theta, you get this term, and finally from the second term you get this from the transformation of rho, and from the transformation of beta, you get where n is just the Nakanishi-Lautro field, so q of beta is equal, q of n is equal to zero. Okay, now if you look at SC, you can see that the two terms here have the same form but with the same sign, so they don't cancel. So this is equal to detail. And now like before, we still have the scale symmetry, and we're going to gauge fix it in the same way. So we're going to gauge fix phi equal one, which again will imply that theta has ghost number zero. Now once you do that, that implies the equation of motion as before. Now if I write this, how the gauge field couples, the gauge field here couples to w alpha lambda alpha, then you have a coupling also to beta phi. So if you set phi equal to one and vary with respect to beta, you get of course that a equals zero. So this becomes an equation of motion and of course you also get that beta is equal to minus one half w alpha lambda. So plugging in these equations of motion, this action becomes now p m x dot m plus alpha. Now it's just an ordinary derivative. Okay, and the others are this zero and this becomes just an auxiliary equation of motion. I forgot a term. It's important. Theta alpha dot. So rho equals zero using this equation of motion. Sorry, this term should have been in here also. So this term here contributes just minus one half theta dot piece. Okay, any questions up to now? Okay, now because q of w alpha equals zero, one can ask if this term, so this term is invariant under the BRST transformation, someone can ask if it can be written as something BRST trivial, in fact it can. It can be written as q of w alpha theta dot alpha. So there's also a phi here, but since we've gauged phi to one we can just ignore them. So if we add this term to chi, so actually in chi it would be delta theta alpha, then we can cancel this term. So now this action here is very similar to the Green-Schwarz action.  So I guess I wrote e over 2 in my notes.  Now of course one still has the BRST transformations. So let's see how the BRST transformations act on these fields. You can of course read them off from here. So you get q of theta alpha is equal to lambda alpha, q of x m is equal to one half lambda gamma m theta, q of l alpha is equal to theta dot alpha.  So equation of motion p slash lambda equals zero. So in this case unlike in the pure spinner formalism where the gauge fixing removed this term here because you've gauged l to zero, in this gauge fixing you don't gauge l to zero. So the equation of motion is p slash lambda equals zero.  And it also implies that lambda alpha equals p slash kappa for some kappa, for some kappa alpha. So that just follows from the fact that assuming that at least one component of p m is non-zero p slash lambda implies that lambda can always be written as p slash. Now if you compute the BRST transformation, the BRST charge, the nerder charge associated with this symmetry. So this is of course a global symmetry of the action here and you can compute its nerder charge. What you find is that the nerder charge associated with this is zero. So the nerder charge which we could call q is actually zero. What that means is that this is actually a local symmetry.  So what that means is you haven't completely gauge fixed the symmetries. Now that's of course related to the fact that this is a symmetry for any kappa. So there's a local fermionic symmetry which has survived this gauge fixing. And it's easy to see this is just kappa symmetry by just replacing lambda equals p slash kappa here. So this becomes, well I can write this as one half delta theta gamma m theta. And this is precisely the usual kappa transformations of the Green-Schwarz action where this term here implies that this term here transforms like this is equal to minus theta dot p slash lambda plugging in the solution for lambda here this is just equal to minus theta dot alpha kappa alpha times p squared which is precisely the kappa variation of e. So this replaces kappa transformation. Okay so we see that this action here which comes from gauge fixing the Twister like action using this gauge fixing fermion reproduces the usual Green-Schwarz super particle action but with this term here replacing the usual world line variable times the mass shell constraint. Okay, are there any questions? Thank you. Which line? Yes, minus one half delta theta minus rho lambda alpha. What's the problem with the indices? This is p slash. It's okay. This is a problem. Oh here also. Which m are we talking about? Oh sorry, this is kx dot m. Sorry, this p slash should not be here. That was more serious. Are there any other questions? Okay, so that's the Green-Schwarz. Now of course this was the particle. Now we want to do the string. So of course both the pure spinner formalism and the Green-Schwarz formalism can be constructed as a string theory and in fact there are also pure spinner and Green-Schwarz formalism for other kinds of brains like the super membrane also has a Green-Schwarz and pure spinner formula. So in fact this method works not just for the super particle but it works for the super string and for the super membrane. I don't think I'll have time to discuss the super membrane but now I'd like at least to sketch how it works for the string just in the pure spinner formalism because that's the one I'm going to be using to compute tree amplitudes and multi-loop amplitudes. Okay, so the idea is of course to generalize this to the string. So I'll just discuss the type 2, A and type 2B but for heterotic it's trivial to generalize. Treat the right moving variables the same like you do in the bosonic string. Okay, so it's simpler to generalize using first-order form but I will sketch how to write the action in terms of the usual second-order form with just X's later. So you have lambda alpha and W alpha. These are projective pure spinners as before but now you also have another set of lambas and W's which I'll call lambda hat and W. Alpha and alpha hat go from 1 to 16. They have the same chirality if you're doing type 2B type 2B an opposite chirality. Now as before we're going to introduce a constraint of this type. Of course these are independent pure spinners so lambda gamma m, lambda equals 0 and lambda hat, gamma m, lambda hat. They have scale symmetry similar to this. You're going to have scale symmetries independent on both sides so you'll have scale symmetry under omega of lambda and let's call it omega hat. So you can scale them independently and instead of having the constraint p slash lambda equals 0 the constraints we're going to be using are p slash plus d sigma. So this will be the constraint on lambda and the constraint on lambda hat will be with the opposite sign here. This constraint here of course implies the usual left and right moving via resort constraints but it turns out that unlike in the particle where p slash lambda commutes with p slash lambda because p and x do not commute it turns out this constraint does not close the algebra of this constraint doesn't close by itself. So you need to add also the constraint d sigma of lambda alpha equals 0 and d sigma or more precisely del sigma lambda hat alpha where del is going to be defined in the same similar way to what we did for the particle we're going to have del i of lambda alpha is equal to d i of lambda alpha plus ai of lambda alpha where i is either equal to tau or sigma and similarly for lambda hat but now we need an a hat because we have independent scale symmetry for both lambda and lambda hat so we have two world sheet gauge fields now so it's easy to show that this constraint together with this constraint that now closes to an algebra okay so the classical action now is going to be very similar to what we had before so you'll have in Hamiltonian form you just have so this is in the tau direction but now you have these constraints so you have a Lagrange multiplier for each of these constraints now times p slash lambda you have l hat times p slash minus d sigma x slash lambda hat and you also need a constraint for okay so this is the starting point so if you like the constraints imply that lambda alpha has no sigma dependence but it's not a constant okay so if it were a constant direction if lambda alpha were a constant direction it would be like the topological string where okay lambda and lambda hat in principle you could choose two different complex structures but for the string now you're going to integrate over those choices of complex structures okay so the claim is the gauge fixing this is now going to give the super string okay so any question sigma or tau so i can either be sigma or tau so the constraint only involves the sigma direction so this action here when you write things in Hamiltonian form the Lorentz invariance on the worldsheet does not manifest in a second I will write this in a way in which the worldsheet invariance is the reprimandization invariance would manifest any other question okay so to make the worldsheet reprimandization invariance manifest what you have to do is you have to integrate out the PM okay and go to the second order form if you try to write this even bosonic string in first order form you can't do it in a manifest Lorentz invariant way now a term that is that you would like to have here which is not here is the term this here is the stress tensor so this is equal to ET and this is equal to ET bar so within a Hamiltonian form if you're doing bosonic string theory in Hamiltonian form the left moving stress tensor just p plus dx squared d sigma x squared and the right moving is p minus d sigma x squared because we have these extra degrees of freedom they also contribute to the left and right moving stress tensor but it's clear the way we defined L and L hat the way we looked at the constraints that these are actually these terms here can be removed just by a suitable shift of L and K so that's just because this constraint here implies this constraint here and this implies this so adding this term to the action actually does nothing it adds a trivial gauge symmetry which you can remove it you can remove this term just by shifting L and K but it will be convenient to add these terms in order to integrate out p and then we'll be able to write the action in a more contrastly Lorenz invariant way okay so later let me tell you exactly what the shift is because that will play a role tomorrow when we discuss how to do loop amplitude so the shift we have to do is of this type so where lambda bar you can think of at the moment as just being a constant this should be lambda bar hat sorry for all the notation lambda bar alpha is a constant spinner of the opposite chirality of lambda so you can choose it to be however you like because when you contract this with p slash lambda or p slash plus d sin x slash lambda you'll just get a factor of lambda lambda bar over lambda lambda bar so for any choice of lambda bar alpha where lambda bar has a down index this term here will produce this term here I guess as a factor of a half maybe okay so this is the kind of shift we're going to have to do we're going to have to shift L by something proportional to this and L hat proportional to something like this and of course also we're going to have to shift K okay so this shift here it will be relevant in the next lecture when we discuss the b-ghost but I don't want to do that yet but in any case adding this term doesn't change the action but now you see p appears quadratically in the action and it becomes an auxiliary field it can be integrated out now it's a homework exercise to do the integration and you'll find that as C it can be written in this form okay so this is manifest the world-sheet re-preemptorization invariant the relation between this E and this E bar this E is of course the world-line verbine which is a 2 by 2 matrix which you can choose to be written in this form so the action is of course invariant under world-sheet conformal transformation so you can get rid of the scale factor it's also invariant under the U1 transformations local U1 transformations of the world-line verbine which allows you to make these two components equal and the remaining two components are just this E and E bar so all of these derivatives here are defined in the usual way using the world the world-sheet verbine so this is the manifestly world-sheet re-preemptorization invariant way of writing this action so here with the particle this first order form is convenient so in general when you work with constraints the Hamiltonian language is convenient okay are there any questions? okay now the gauge fixing procedure yes so of course you can start with this action so you can fix the gauge in which E and E bar is equal to 0 so that would be conformal gauge light cone gauge but you would fix something like X plus is equal to 1 but you still have this Lagrange multiplier so you still have additional gauge symmetries the world-sheet re-preemptorization symmetries are not the whole story because you have other constraints related to this Lagrange multiplier not, I don't know any way to fix them without getting ghosts it might be possible but I don't know how to do it so of course if you could do it you would have no fermions in the game except for the usual BC ghosts but okay the only way I know how to gauge fix it is the ways I'm describing here okay any other questions? okay so I'm not going to go to what I did yesterday for the particle but it's essentially the same method again you're going to use the scale symmetry to fix phi equal 1 in this case of course you'll have phi and phi hat for independent scale symmetries once you do that of course the theta's become ghost number 0 and you get to just in a flat background you just get to a quadratic action using the pure spinner formula of course you can also do the green shorts gauge fixing and then you land on the green shorts super string action so this is all discussed in detail in the reference I gave so for people who want more details it's disgusting so I just in order to save time now I just like to go to the answer and show how to use the answer to compute scattering amplitude okay sorry yeah good point so in this in the sorry I erased the green shorts so the usual green shorts action of course you can also write it in first order form the green shorts action and now of course instead of being just PM squared equal 0 you had a term you have a term of this type PM plus d sigma xm and there's also some theta dependence here so you have this type of term and again when you write it in terms of the L what you'll get is something of this type so but now you do the same trick as before you you use this equation of motion for lambda to imply that lambda alpha can be written as this object here times gamma m kappa and then this is just the usual kappa transformation so you have to do the same the same procedure okay any other question so this is all discussed in that paper okay so now I'd like to just give you what the final gauge fixed action is so again all of this is going to be in the notes that I'm writing up so if I'm fixing too fast you don't have to worry because it will be on the web page so tomorrow it will be on the web page for sure okay so what I'm going to talk about in the rest of the lecture today is things that I said 10 years ago but obviously it's important if you want to compute multi-loop amplitude so this is not related to the gauge fixed pure spinner string so after doing this gauge fixing and you also have the left the right moving sector so obviously the theta and theta come from the ghost for L and L hat and the P and P hat come from the anti-ghost now just to reduce the amount of writing I'm going to leave off the added variables okay let me just concentrate on the unhatted variables so the right moving stress tensor is minus one half dxm dxm plus wl for d lambda alpha minus pl for d theta and the first thing you can ask is is there a conformal anomaly so if you take the OPE of t with t it's just a free field theory because it's just quadratic in the variables of course lambda is constrained and I will tell you in a second how to work with that constraint but the central charge is just obtained by just looking at the conformal weight there are 10 scalars these all have conformal weight 0 and 1 so there are 11 of these that are independent so this contributes plus 22 and there are 16 of these each of which contribute with minus 2 because they're fermionic so the central charge is 0 as desired so there's no conformal anomaly now there's another test you can do of the theory which is you can look at the Lorenz generator it's more precisely the Lorenz generator for the spin so in RNS of course it's just psi m psi n in pure spinners this gets a contribution from the W's lambdas and also from the p-thetas so it's trivial to write down the Lorenz generator and now we can compute the OPE of m with m now it turns out these of course are holomorphic on the worldsheet but there's a double pole here which in general has a level so there's a term which is proportional to eta mq eta pn which is a double pole if this is at y and this is at z it goes like y minus c squared and then there's another contribution which is of course just the usual the usual algebra of SO91 which is proportional to m which is just a single pole now the level for RNS is k equal 1 that's trivial just you just take the OPEs of psi psi with itself you'll get just a single the double pole just has a numerator of 1 if you do it here of course you get a contribution of this with itself and this with itself now the contribution of this with itself if you have no constraints you get plus 4 from this part but computing with the pure spinors is a little bit trickier because of the constraint one way to compute is just to solve the constraint in a non-covariant way the way I discussed yesterday you solve it in terms of lambda plus, lambda a b and lambda a and then you compute the OPEs in this non-covariant way but what you find is of course the OPE of this with itself is fully covariant so if I call this object n what you find is that nn it has the following OPEs it's minus 3 over y minus c squared a to a plus of course a to n so the level is minus 3 so it has desired these two match and that turns out to be important when we want to show that the amplitudes agree in the computations okay so this is the evidence that the theory is doing what you want so I'm just doing the left movers so for the moment I'm just ignoring the right movers but it's completely equivalent to the right moving computation any other question? okay there's no bc-ghost here yes but I chose the gauge so you could have asked this already for the particle so I chose the gauge remember I chose the gauge L alpha equals 0 if I had written it in this way and chosen the gauge E equals 0 I would have got bc-ghost and in fact as we'll see tomorrow the fact that these two are related will in fact relate the b-ghost to things in our theory so although the b-ghost is not the fundamental field the relation between L and E will imply that it can be constructed out of these variables so we'll see that tomorrow so that's to convince you that the theory at least the world-sheet action makes sense as a full quantum theory the next thing of course is to define physical states so physical states require of course the BRST operator so this is gauge fixed and the BRST operator following the procedure that comes from this twisted like action has the following form it's lambda alpha d alpha as it was for the particle but d alpha is a little bit more complicated now it's p alpha plus one half dxm gamma m theta plus minus one eighth and of course q bar the right moving q is of course constructed out of lambda hat and d hat so I'm not going to write that version now this d alpha although it looks complicated but the difference is that we have a simple opi which are trivial to compute using the free field action so d alpha of y with d beta of z has a single pole just proportional to gamma m alpha beta times pi m where pi m is defined to be the super symmetric version of dxm so it's dxm minus one half d theta gamma okay so d alpha with pi etc so in computing these opi of course I'm using that xm xn of z goes like minus log of y minus z p alpha with theta beta goes like delta alpha beta of one over y minus z now w alpha is not well defined because w alpha is gauge invariant remember that lambda gamma lambda equals zero and w has a gauge invariant so this type so if you try to compute for example opi of w with lambda you will get an inconsistency because it won't be invariant under the opi with lambda gamma m lambda so you have to compute opi of gauge invariant objects this object nmn this is gauge invariant so it's easy to see that if you shift w by this amount it leaves this object invariant another thing which you can construct gauge invariant is the ghost number operator now I just computed for you n with n so it gives you something like minus three over y minus z squared you can also compute n with lambda for example this goes like one half gamma mn lambda alpha times one over y okay so using these opi's you can compute the opi of any object involving a gauge invariant combination of w with lambdas and of course any product of x's and p's so now one can ask what are the physical states so we have the BRST operator we can ask what are the states of homology so for the open string the states so the vertex operators e satisfying of ghost number one satisfying of course qv equals zero and v is identified with v plus q of omega now we already know the answer to this because we did it for the super particle for the massless states it's just described by super Yang-Mills for massive states you're going to have dependence on derivatives of lambda and derivatives of x and derivatives of theta so for the massless case this is the only solution but if you want to do massive states you have to allow dependence on dx and d theta and of course also on p's on all the worldsheet variables so it's been shown that the spectrum reproduces the usual super string spectrum it's not trivial to show it but it's been proven now if you want to do scattering amplitudes you need more than just the open string unintegrated vertex operators you also need integrated vertex operators so you need something of the type dz of u if you're doing open string now normally u and v are related just by this usually has a c ghost and this you just pull off the c ghost in this form there's no b in c ghost but it turns out this is brst invariant q of u is equal dv obviously because if this is a total derivative then you can ignore it up to surface terms the total derivative now if you know what v is you can ask is there a u which satisfies this relation and in fact for the super Yang-Mills vertex it's straight forward to construct u so what you find is that u is given by d theta so these are super fields here but they're all related to each other so am is equal to gemm alpha beta d alpha v beta so this was a super field we saw yesterday this is obtained by hitting with one derivative w alpha is similarly obtained by hitting am with the derivative so more precisely it's and f is obtained by hitting w with the derivative and it's also can be related to am so this super field starts with the gluon this one starts with the gluino and this one of course starts with the derivative of the gluon so these are super fields that obviously you can construct in 10 dimensional super Yang-Mills and they appear in the vertex operator in order that you can convert them to this v so again this is a straight forward computation that I don't have time to discuss in detail but it's in for example the ICTP lecture notes that I gave out to the begin I mean that I gave the reference to okay there any question yes okay so this is conformally invariant because all of these objects have ghost numbers 0 have conformal weight 0 if you look at the tachyon the tachyon lets do bosonic string first so the ground state is not at k squared equals 0 which is why you need to introduce these ghosts which has negative conform weight in order to cancel it in RNS it's similar but that's because the ground state is not massless I'm not following your question but maybe we can leave it for the discussion session it sounds like a more detailed question so what we want to do now is compute scattering amplitudes so of course for the closed string it's just the left right product of the open string so scattering amplitudes of course are defined as in bosonic string let's do tree amplitudes for now you have 3 unintegrated and n minus 3 integrated and this Brian can't mean that I have to of course do a functional integral over all the worldsheet variables with the action in the exponential now naively this Brian Kett is going to involve an integral over all the lambdas and all the thetas of course all the x's too so there are two steps to this the first step is getting rid of all the non-zero modes of the worldsheet fields so v and u v only depends on the zero modes but u depends on the non-zero modes d theta and pi so you have to use these OPEs in order to eliminate all the non-zero modes of the worldsheet fields and that's going to leave an expression which only depends on the zero modes so the zero modes are of course going to depend on the x zero modes, the theta zero modes and the lambda zero modes to get rid of the zero modes now it's easy to see this as ghost number three it's cubic in lambda so this is going to have this type of form and now one wants to evaluate this so this f of course will depend on all the polarizations and all the momenta so all the information on the scattering amplitude is encoded in f so it just comes by doing all the these OPEs to eliminate the dependence on the of the non-zero modes after doing all those OPEs so f of course will also depend on the locations of these depend on the ZRs etc where you stick these vertex up okay but now we have the zero mode integral to do and we can see that there's an issue here because lambda now is some non-compact pure spin so lambda gamma lambda is zero but we no longer have the scale symmetry so we have the non-compact modes of lambda which will naively give you something so this d10x of course just gives you delta 10 of the momentum so that's painless but this is going to give you something like infinity to the 11 because you have 11 non-compact zero modes to integrate this will give you something depending on how many thetas you have so if this expression has m thetas this integral here will go like zero to the 16 minus m now it turns out that this infinity times zero can be regularized and we'll see how to do that tomorrow we won't do it today it turns out that the result is that the answer should involve an integration an expression here which only contains five tatas so of course that will cancel this zeros and infinities if m here is equal to five so the expression you get which we'll see in more detail tomorrow is of this type so after doing this integration over the lambdas and thetas you get the expression of this type d theta to the fifth of f alpha beta gamma where of course this object here contains indices and the indices here we precise the alpha beta gamma so the indices are going to be defined as fall so remember d d theta has a down index so this has a down index no that's right this has an up index so this is what is meant by this notation here so of course the expression is Lorentz invariant and using this definition it's easy to show that lambda gamma m theta lambda gamma m theta lambda gamma p theta theta gamma m p theta theta gamma m p theta this is just equal to one so this is the measure factor for tree amplitudes which plays the same role as for bosonic string theory is obtained by c dc d squared c so it's something of ghost number three this is in the comology I discussed this yesterday in the discussion session this is actually the unique state in the comology of ghost number three like c dc d squared c is for the bosonic string and we'll see tomorrow exactly how to derive this from this functional integral so let me just finish by just showing how this gives the three-point amplitude for super Yang-Mills so the three-point amplitude is of course you just have v1 v2 v3 which in this case is just going to be equal to lambda alpha a alpha 1 lambda beta a beta 2 lambda gamma a gamma 3 and of course a alpha contains both the gluon at order theta and it contains the gluino at order theta squared then of course there are high order terms so if you just pull out the term which is fifth order in theta what you find here is that this is equal to just the usual three-point vertex which is a coupling of two gluinos with the gluon and then of course you also get the coupling of three gluons through one of them through the field strength plus of course permutations so you can check trivially that the three-point amplitude reproduces super Yang-Mills you can also of course show that the higher points reproduce the three amplitudes of super Yang-Mills the most direct way to prove this is comparing with the rns formula so in the rns formula of course it's much easier to confuse in never short states where the states are just the gluons and not the gluinos in that case you use the fact that mmn that these two have similar OPEs and that makes it trivial to show that the end-point amplitudes agree with the end-point gluon amplitudes in rns and the gluinos here just fall from space-time super symmetry okay so I'll stop here