Hello hello out there. How is everybody doing today? Welcome welcome welcome welcome into the bunker Today it is Thursday This is your regularly scheduled bunker time even though Even though I must admit my time has been or my show schedule has been a bit off on the days the last couple times I have flipped the schedule a little bit around and It's so this is the third time this week that we've been in here and so I want to say thank you anybody who's shown up early I Can't believe I'm here the third day in a row with y'all But we are here and since I'm the third day in a row. I noticed that the notifications We're just not being sent out as they normally are as much. Hey Belmont. Oh, yeah, cool another rainy day. That's awesome so Anyway, if you could for me, please hit the like button if you do that for me So I could get a couple more notifications sent out there and we can get the crowd Warmed up and get in here so we can have you know a normal show. Hey everybody I will get to some shout outs here in a second But today look at this look at this amazing thing I have here for you What you are seeing on your screen right now is my camera glitching out. Just kidding All right, so yeah, come on. Give me that Give me that get rid of that moray moray pattern. Come on, baby. Yep. You're right Your screen's not deceiving you you are seeing Man I had it there perfect the whole time and now it's Giving me a little bit of trouble Look at that some of the greatest FMV you're gonna see on the tube today. We have the Magnavox CRT not just any Magnavox CRT this one's from 2004 and it has a flat screen tube and it's 14 inches and It's one that's going to be coming up available at the convention this weekend and So I'm going to show you some more about this set right here this amazing set and Hopefully we can get a little bit of Clarity going on the tube. I had it like perfect. It was running great with that camera But it's FMV and actually this is running through just like my friend 8 bit Esquire Says, you know, we're not emulating anything today. This is all real. Okay. There's no emulation in this package This is a real 3DO we're using and it is modified to have a switch that Changes from 240p to 480i. So let me just show you that real quick. Maybe you can see that On here if I flick that switch so it's in 240p right now if I click that it moves over to 480i It's really hard to see but It goes interlaced and out of it, you know and again And maybe it's just the FMV scenes that are really screwing up on the on the camera there. There we go. Look at this Look at that old-school cell phone there. There's actually a cell phone in that so this is what we're looking at This is our main show star piece here that's the hardware of this amazing episode And again, thank you all for coming.  Let me pull off my Blinding shades and we'll get in here. So mega cards. Thanks for showing up early Chris Broom. Thank you for coming back and Joey welcome in PO 17 welcome back to I saw your latest episode about your First 14 inch flat screen that was very cool. So we got another 14 inch flat screen here I was a Samsung. I believe Giants orbiting welcome in. Thank you for coming. Of course Belmont welcome in today Thank you for being here. Many Hakira welcome back snuffer stuffer. Good to see you That's right. We play it on the consoles rollpads. Welcome back Jordan Atkinson. Hello. Hello to the UK from a damp dark basement of Virginia and the original colonies of America Jordan Atkinson. Thank you Bado our SL hello from Tanzania awesome Sega model boy 15. Hey Kevin McQuillan And demo Kirby welcome back legendary K4. Hey, how you doing? All right guys. So, yeah This is the main showpiece and This is the very last one of the CRT bundle that I'm taking to the convention and that's the music city multicon at Tomorrow it starts tomorrow. Okay So I've got to get this along with all the other CRTs That'll be available. Hey, Tony Escobar. Thank you I've got to get this along with all the other service CRTs the tools everything for this amazing show I've got to get it all down there because again today. I mean, it's look. It's your lie You're not you're not seeing things. It is a 26 today. This starts the 27th and If you Come there you've got to come see well, of course you come see all these amazing top-end stars, right? Who wouldn't want to see Danny Trio or every single amazing? Wrestler from the 1980s we're having at the show. Oh, yeah, look at the Mortal Kombat crew You got Tim Kitzrow and My life in gaming and so there there I am. Okay. I'm gonna be there. I'm gonna have a booth there And I'm gonna have these CRTs set up there. They're gonna be for sale This is one of the last ones that I've not shown yet and I've never shown it so in case it sells You're gonna get to see it here today So that's the goal. I wanted to show it to you before I take it and sell it because it's a really cool CRT and Anyway, it will be there at the show and let me show you something else I've been working on because this this is a CRT that you saw in the last stream Yesterday I had it set up because I was talking about the new business model plans Hopefully and while I show you that let me show you what else I've got What do you think? I don't know whether I'm gonna just make a huge mistake with doing all this But so this is the 80 221 that I'm selling At a raffle at the convention. Let me show you. Let me go back over here. Look at this Here is my Amazing Ashy Advertising side for my booth. I know right amazing So rights and ten dollars Sony PVM raffle ten dollars ten dollars buys one entry drawing Saturday night And then I've got you know just a a list of some of the specifications. This is the high-resolution tube right there Includes a power cable includes a B and C DAP adapters. How awesome is this, huh? Who said all those years in elementary school didn't pay off? All right So that's one of the amazing things that's been finished up here and we're ready to go Hey koala koa welcome in here me so that welcome in Smasher Joe. Hey, thank you for coming and Like everybody else said hey do the cool thing is to hit the like button. I got the crazy hair going on today I don't care. I like it. You like it. Let's do it. All right, so I think that's just about everything. Let me make sure I'm not missing something over here. Yeah, that's that's like everything I'm gonna be again. This is that one CRT is gonna be available For just ten dollars. Let's hope it all works out and then I've got the other CRTs and Do you guys want to see the pricing? Do you want to see the pricing for the other CRTs? I do have flyers made for all of them I packed them, but they're right next to me and let me see. I'm gonna take a live look at Our chat and say, okay, we're up to All right, I think we're up to about 36 likes So let me do like something goofy like an incentive if we can hit Let me make sure this is it right if we can just get up once we get to 45 likes I'll pull out the flyers and I'll show you the pricing for each one of these other CRTs including this Magna box I'll show you the pricing flyers. This is again for my convention.  We're hitting 35 likes 37 So we're just a couple of ways. So yeah, give me give me up to 45 and Somebody say 45 in the chat and then when we do it, I'll pull these I'll pull the flyers out I'll go get them until then Let me tell you a little bit more about this setup. I've got going over here So let's take a look again. This is the Magna box now The cool thing about this one is it's got the og oem remote, which is critical Critical critical critical especially for this set and if I go over here, I'm gonna try to get this Let me try to get this camera a little bit better Angle maybe I'll back up the TV just to smudge Because right now it is just running this FMV and but if I back this up back that thing up a Little bit. I can show you both this and Of course the players so there we go. We don't want to push it over the edge, right? Dire mistakes, so that's pretty good. That gives you good. Look at that I've even lost the moray pattern, which is awesome 47 all right Congratulations. All right, let me go get the pricing and we'll as I do that to enjoy this lovely video All right, so Here we go That's right. It's road rash Chris. Thank you. Thank you everybody for playing along Now it's time where you call Steve the greediest CRT reseller on planet Earth. I Know you've been waiting for this moment.  I am look at this thing You can see it right on top look at this flyer alright Folks this is one that has been featured live on set.  It is it does include an OEM remote It's in very mint condition. It's a lovely JVC D-Series AV 20 D303 and you could see the price right there, baby You can see it So if you'll see if you're at the show there will be the D-Series running and you'll see something like this, right?  It's not a good It's not a good stream unless we get like 50 people calling me a scam in it This is what happened last time and the stream went awesome yesterday. Thank you Brandon Arnold Tukituki welcome back Okay, so that's number one busted Let's see what else we have in here on top What's on top? Oh I'm gonna take this rusty cage and run. I think that's what they're singing on this On this FMV video right here. Oh now we have a Sony The Sony I'm getting all the heavy hitters.  Hey get your pitchforks ready Get your pitchforks ready We've got So there's there's four for sale right you you've seen the flyer for the You already saw the flyer I showed you for the $10 raffle Okay, and I'm gonna leave the Magnavox which is right here for last. Okay, so just did so that we don't have to do that Next is the Toshiba, which is the one look This was the most disliked stream I've done ever which is funny to me Okay, the Toshiba one man people hated that stream from earlier this week It was a lot of people loved it and it was a big time like dislike the most out of any of them Like it's more dislikes on that one than the whole Every live stream this year combined has doesn't have as many dislikes as that one. Hey, what can I say sometimes? I was influenced by people like Andy Kaufman and Conan O'Brien and you know Sometimes I'm just gonna take my rage out on The unfortunate subject that happens to be in the studio at that time So that's my apology to the Toshiba So the Toshiba Toshiba Shiba Shiba Shiba Shiba For sale Whoa, I almost lost it there $160 Look at this Features shadow mass tube composite video stereo audio RF it has digital digital audio out also, which I didn't include on this flyer remote included Which is the remote that almost may I mean I should have taken a hammer and smashed that remote But it's included in the sale Because I need it DVD CD player that plays CDs too, and I think you can even use it for karaoke professionally clean and service to $160 for your Backbreaking Wallet breaking Get them ready, baby. Call the sheriff Tell him there's a con artist in town. I snake oil salesman. I tell you No, folks, we just got to keep that kind of riff-raff out of our communities here down in Lebanon, Tennessee. Okay, we cannot have these people coming up from God knows where those hillbillies up there in the mountains of Virginia They cannot be coming down that highway Full of these CRTs and try to flood our marketplace and take all our money out of this town. You hear sheriff Okay, well with that being said and Then insanity that you're watching right now. I don't know but you can't take back the 50 likes that you've already dropped I don't think I Will autograph the Toshiba PO if somebody wants me to hey Conway All right, same price for the Magnavox Good old mag 14ms 23 31 true flat screen tube Supports NTSC composite video stereo audio remote included OEM remote actually $160 There you go There you go the amazing wares of the table of the retro tech table this weekend So as I put those up Everybody wants to just Go ahead and start leaving the feedback in the chat That's right We can hear Well, obviously so rollpads the one that's way above it of all of them is the D series As far as performance Visual stimulation. That's right hardware erotica. I Have no idea what I'm talking about So everybody here thinks it's okay, we'll see I'm hoping that I can clear these out get them to some good homes Have some good conversations with people live and have some fun That's really the whole thing this is about and this way I don't have to carry up a hundred items I can carry five items to sell also got a schnocker's load of tools that I'm taking and That's gonna be the most fun part about it is just meeting everybody. I love that I mean, I love sitting there and talking with people as crazy as it sounds Just chatting away. It's it's makes the whole conference worth it. I only do a Scheduled to do roughly two conferences normally a year This one is the big one for me. It's the one where I'm actually Thank You Belmont I'm actually considered, you know a person there that I get a free booth I get To do the course I get Compensated for my time a little bit and so it's one where I actually even if I don't sell anything I'll break close. I mean, I won't break even honestly, but Who so But it is nice. It's nice to have some contribution there. Thank you all for being here Over 50 people watching over 50 likes if you haven't dropped a like yet. What will it take? I don't know a Desperate plea from a 40 year old man and his flat-screen CRT saying like just click the like the algorithm will love it It's the only way It's the only way to grow this insane show which I don't know. Maybe maybe it's becoming more like some kind of Alternative Pee Wee Herman show Yeah, baby Who doesn't love a good barking dog and grunge look at that crotch shot? There we go. All right So as I said, we do have some lovely 3DO hardware. Everything's real Panasonic controller Which you have to mate with another controller if you want to do two players on this system Okay lovely lovely They also have the I mean it's just FC 10 you could see it a second ago. Let's see if I go back to this other camera Yes, you can see it there right there. Let me move myself out of the way for a minute. I hope you can hear Cole snoring so we have the console right here obviously the FZ 10 I have some games here and I'll grab those real quick and then I'll tell you how I acquired such an amazing collection of 3DO items and then we'll we'll get in here and test some of this stuff out on this screen now first off I have taken this CRT apart and serviced it and I want to become one exactly Oh goodness Pasadio, thank you criminand J is JS welcome Yeah, so the the reason I mean this one really has me It's funny. I was just gonna say the term that was on the screen wrecked timing is just perfect today. Okay, I This one's got me wrecked. I don't Personally want to sell this one And and I'm gonna show you why I'm gonna go over here and I'm gonna reference some scientific data from my good friend and a fellow CRT Wizard I would call he's on the wizard level. He's he's been graduated Let's go over here to oh Where are you the CRT database a good friend Andy King? This is a Lovely submission from may of this year from Matt Ross who's made some submissions on CRTs on this forum And this is incredible. There is a Component and s video mod For this CRT how how awesome is this and let me see if I can at least put myself down here There we go. So this CRT can be component video modded and s video modded and that might sound crazy That might sound mind-boggling to most Normal people and it even sounds mind-boggling to me But then when I read through this guide that he's put together, there's some pretty amazing things So pretty much all it is is there's oh my goodness Cole Cole is snoring away. Sorry everybody so this this set has a Couple of variations I guess to it and what can be done is you can Just get into the service menu and change a couple of things in the service menu And it unlocks two additional inputs that can be selected by just pressing pressing the input button on the remote control So what you do is you open up a two different inputs One's already the s video input the other is a component video input and that all you have to do is Populate those inputs on the board and then attune them to ground Like you normally do for that kind of thing and that's what is on the guide here let's go right to this one and so that's how the guide works you type into or tap into Red green and blue there and then you know there's other things chroma And then it shows you how to tap into everything where you're gonna get your chroma to pin There for s video it does have to have a capacitor in between there And then you've got your y inputs going straight raw to the to the AV jack Then you got ground Audio is gonna go straight to the AV jack for everything, right?  It's done. That's what it looks like you can enlarge the hole There's a nice guide breakout cables That's how it looks when you put it in there and you do it and it's just it increases this thing It makes it the amazing best Amazing little flat screen that you could imagine.  It's like why why didn't I just take the extra time? And if I could just if I could turn back time, you know like Like lovely Cher used to sing if I could just turn back time I would give myself one more day to go and order those parts and modify this beautiful set The dog does need a CPAP I didn't I didn't hook up the cold cab. I didn't even think he was gonna be in here today, but he ran over there and Has just been snoring his balls off, you know, so I didn't think he'd be here, but He is and so are you so thank you So that's like the cool thing about this set, right is that you can modify it very simply I mean compared to many modifications. That's not that difficult Not that difficult at all It's all done here tells you how to do it you program it in the menu you can get into the menu doing this and Just awesome. Okay, so I was like man. How did this happen? I did find the a leaflet for this flat real flat stereo TV, which it this doesn't really have anything but this is You know, it's just a fun little thing you see marketing materials and Here it is. It's the same set right here's the remote. There's the TV in the flesh. Oh In the flesh We don't need no education Here we go and there's not a lot on this it doesn't tell you very much just Basic data nothing really, you know, sometimes they'll put extra Puzzle and stuff in These features, but this is really got nothing to it, right? Nothing in here But this is cool You could run this probably in Japan if you wanted to because it can handle 105 105. I wonder if 100 Wonderful 100. I don't know that might be too little Here we go CVBS and headphone out which is on the front of this set there are those inputs on it I just love the design of this You know as far as like the way the actual screen looks it's it's one of the best that I've seen for 14 inches I really really I know that people like I will put this on the same level as Like the Toshiba kind of stuff. Maybe some of it bleeding over into again They'll have their own high inversion of this. They also made lower inversion stuff But this just happens to be something that is kind of an enigma another cool thing about this set is it has two speakers It has stereo audio, which is not very common For some sets, but just to let's let's go ahead and while while we're hanging out Let's see if I can actually get this over here and maybe we can Maybe we can get it to not more a and Or not even like scale on the photo.  All right, let's put this back up I'm down here in the corner trying to get this to run All right, let's and the Let's go for just the city. These these courses are super long. I Don't the FMV and the loading screens are probably gonna look worse. I hope let's Let's hope that's the case at least Well, maybe not All right, let's go All right, so this This is gonna be fun because I'm literally playing off my OBS screen Looking at the same screen you are And this is a this is what I this is the game that like did it for me for the 3DO I always loved this version. Oh, we're getting focused. What happened to my focus You're supposed to be on manual focus Camera hang on. Let me pause it Holy moly Folks that was fun. Let's configure that video Auto-focus get out of here with that stuff. We don't need this thinking auto-focus There we go. What if we can make it look any better? Oh Saturation a little more color into it Okay, let's just do that. We'll go for it This is the 3DO experience. Okay, you can just imagine Well, this is what it looks like to play. This is what it's like to play 3DO Just me like looking at this OBS screen. That's about the same experience back in the day with this But oh like the cool thing is I Mean you're you know this composite video. It's 240p straight so it blends together really nicely honestly for I gotta remember which ones which to get going for it for for analog video signal I think it I think it looks great. All right. Get out of here. Get out of here. Oh, no. Oh, no, you don't oh So the the key here is you got to get going for a little while on this game and then You can get a hold of a weapon sometimes if you can punch the right person and grab their weapon.  I'm in 12th place So this game looks great like anything like this will look great on this set and I promise when you go when I go to the convention and I set this up It's gonna stand out somebody's really gonna like it and gonna grab it especially once they find out that they can be modified And that's the only thing that's breaking my heart. Oh, we're getting there. We're getting there We're gonna get there. We're gonna get there. We're at the tip. We're number six right now We're not gonna run into anything. I'm telling you This is this is the ultimate rush running running it through a OBS and trying to play it on there Oh, we almost hit that poor lady. All she wanted was a nice set of shoes and we almost hit her. Oh, here we go We got a battle coming on up here. Don't we? Does anybody know what the brake button is when I need it? Oh get out of here We're cruising folks How much longer do we got where I think we're at three miles and this is a so we're about halfway These are some extremely long levels This is the first time I want you guys to know this is the first time I've probably ever played a game on streaming I think at least this long. Oh, we're gonna do it Come on. We're top three. There's one and two somebody needs a wreck. Oh, not me Have you ever ridden a motorcycle in real life? Not me. No, I've always been too big of a chicken. Oh, yeah first place. Let's do it I'll leave that to Voltar. Oh, no Come on get on that. I love this part You have to run up to me this get your buddy gear. You have to run up to your bike.  Come on guys. We can get it We're only fourth. We've still got a mile and a half to go.  Oh, I did play some turtles in time. Golly. I totally blew this one I might be able to catch up to him But if I wreck again, I'm toast Whatever happens, we're gonna we're gonna play it out You know why because we got to get that FMB cut scene that like has me getting hit with a beer bottle Or has me getting like kicked in the nuts. I think there's one that does that I'm either gonna win and get totally a chicken a trophy or Oh, or I'm gonna be called a wimp. Oh, nice going wimp. Oh This is Road rash For the real 3do not the fake one Fix that geometry. You can't have everything perfect on here That's the good thing about the the the truth is that you have to fix. Oh man, that was a mess Oh, I just hit somebody. Did you see that whoever's in pink? Uh, the truth is that's the end and I got seventh place Terrible Let's see what we got. Oh, no folks. We're gonna get roasted.  They stole my muffler. You saw it There's no there's no redemption arc here for this So, um Been going about 30 minutes. How's everybody doing? How's everybody doing? No redemption What what game should I play from next now? Have you guys ever heard of this one? Have you ever heard of this one?  It's cook Cameron my dear son Have you heard of the horde game where you play as cook Cameron and you save the king from choking Crisis Or I mean, I'm trying to I'm trying to save it like look at this I think you're gonna die when you see this one Because this is the this is the game gun one Look at this Drug wars, baby American laser brings you the intense action of living life as a high Level drug cartel hunting cop But first we must see what we must see what Kirk's about We must see What the horde is about right? So let's go over here Oh, I'm glitching out a little bit Now unfortunately Unfortunately I probably will not be able to play a delusional Hey del del del We got the horde Hey zero sleep. Welcome in Jacob. W. There we go drug wars It'll be coming soon But I'll have to move the crt a little bit so we can try light gun games. That's the thing That's the big finale here is the light gun games. Oh, that looks terrible Let's see Oh, there we go Oh, come on. So Kirk Cameron Michael Gregory Um, and if we let this Like it's silly. I I guarantee you that oh look at this. Yeah, here we go. Look. So there's Kirk Cameron I'm not gonna play the audio right Because I might get caught. That's probably the only way there's the king. Look at this like this is the best fmb Right, so this is the guy who's like always messing around trying to Weasel his way up the The lineage foot Food tree And poor Kirk Cameron is the servant this guy's telling jokes It's exactly exactly like a Shrek, right? He starts telling a good story Everybody's laughing. Oh, yes, and I was like Desiree. How long do you think you can stand the? Amazing velvet smell of my Overcoat in my lovely ear lobe. Oh See obviously the king He starts to choke right nobody notices because this guy he's trying to take over He's trying to take over This whole this whole thing right he's trying to sneak his way and become king Well, the king keeps choking. He keeps telling jokes to distract everybody except old Kirk Cameron Kirk Cameron comes the lowly peasant Kirk and gives him the Heimlich maneuver He's like, what are you doing? You're assaulting the king on season He tries to literally get him to stop and this this is I mean and then he spits a big wad of food in that guy's face Can you believe this? I mean how? How is this not like oscar worthy? How did anybody ever complain about the 3do when you would get this as a video game?  Are you paying attention yet? Has anybody else played this game? Has anybody else seen this? Am I the only psychopath that knows about this? Somebody else has to know about this, right? No horde No hordeites out there. That's what we call ourselves the hordeites. No, I don't know.  He must give him lands to conquer and to protect So now Kirk Cameron has been knighted and he must take this giant sword and protect a small swath of land from the hordes that are coming Now you must protect the kingdom from the hordes. You can use my sword to protect from the horde So that's that's that's the Kirk can build up to this amazing game Kirk can you can you handle the pressure Kirk? Can you? Oh, yeah. Yeah, I've got the big sword now. Thanks boss And we're off folks Back to reality after a 12 minute cutscene Why not new game Hey Hassan Seven that's a good number got to get you up to eight. What's it going to take to get you lucky number eight? Hey, Stephen Norton. Yeah, good memories. I hope oh boy. I can't remember his name, but so Telemarketer get out of here. I get so many telemarketing calls. Let's see where we're going All right, so this is like a weird Game where you go around and you're not going to be able to see what it says right there neither can I So you're trying to build up and like farm this grow this little Place see if I can remember any of the commands here So you have to kind of build this farm up I just can't remember it's been so long since I played this game but you want to uh You want to get more people to come here. I remember you have to harvest trees too. I don't remember how to do that Anyway Maybe we can just like so here's I'm not going to really play this game because it's like ridiculous I'm going to go ahead and send the horde in So you're supposed to build up like defenses.  Oh, that's all the money we got. Okay We'll go ahead and call the horde in Let's see what the horde does now.  I'm Kirk Cameron with the king sword.  Oh, he ate the farmer. I screwed up bad. I lost a farmer in a crop Oh What a terrible experience. So that's what you do every night the horde comes in attacks And you do that every day until you make it like a month and you try to grow look more people showed up They're crazy Even though that horde man ate him. He still came back So that's the game Lovely kirk. Let's what should we do?  Let's let the hordes go crazy. I won't stop them here. Where am I? Kirk Cameron, we're going to bring Amazing dishonor to your household kirk If you watch the little map in the corner Should show us where the hordes coming from this side. Well, look at them all. Whoa get away. So look they ate my fence Look at them. Oh, I can't just leave them all I'm a sucker. I gotta protect this town I mean even in the game.  Just straight art you'd love it It's amazing Why wouldn't you want to love it? Such dedication to a role like that you can imagine just wanting to see the next cut scene keeps you enthralled with this system It's like yeah, it's pretty good roll paths. That's a good comparison Moving on So we're gonna have to have a little bit of a set change Because I can't fire the gun At the obs and expect it to bounce off that and somehow work On the tube. Oh, that's awesome. He saw that moment I love it britain you guys are the best Oh, yeah del if I'm telling you You need to go just watch google the cut scenes from the horde On 3do. It is hilarious But do that after the show I promise I won't be keeping you too long today Just maybe another little bit. We're gonna do this next test. So I'm gonna move this set over to swap places with The console so that I can actually Let's do it. Let me uh, let me give you a little bit more jazz. How about we jazz it up? There you go Let's see if we can get this to work How about that? So you shouldn't it will unplug the controller. We shouldn't need to do the controller The controller bop Do the horizontal bop with the controllers to get them to work for the light gun You talk about a cuts. I don't even know how to prepare you all for this one This cut scene is like These cut scenes on these light gun games is beyond beyond these are probably my some of my most expensive Expensive expensive items in my collection are these 3do light gun games Including my original 3do Game gun In the box Now I acquired my original Very first 3do was the fz1. It was in a box from a pawn shop. It was like a hundred dollars And it was probably five years ago And I opened up the box and it included about a half a dozen games And this lovely thing and a couple of other accessories a couple other controller things But this has become a ghost of an item that is worth Way too much money at least it was back when people especially boxed The original Like I could pay a month's rent for this Go ahead punk You feel lucky.  Come on. I can't be the only person in this little dirty harry Let's see what happens folks I would like to see what the other camera looks like. I haven't adjusted it at all yet It's a bit too far for my liking For a further little bit I mean I could zoom in a little bit for you Wow drug wars 2 Please wait. We are loading. This is right. You have to have this is actually Or crime patrol now Well, this crazy thing loads I know I'm sorry. I forgot to turn the the jazz down a little bit. I'm sorry. Let me do that Look at this another great cutscene Drug lords is going to be difficult to see on here Oh my How awesome. All right Let's see Something stinks. We're about to get some criminals. All right, so Obviously we have This works.  Here we go. Well, I got to do it sideways, so We do that Oh, I'm right in the middle Okay, everything's ready It's gonna be difficult. Let's see if I can turn The lights down Of course, it's not bob's tv Robinson Not unless he wants to buy it. I don't think he does You want to buy it Robinson? You can do so son All you gotta do is bring your wallet this weekend And this little beauty could be yours if you can get it from me Bam So this is fmv shooting games, right? Okay I always thought there was supposed to be a problem, but I guess that's just hd screens that has the problem Guys drop a like here for me as we go ahead and try to stop the old seara county Crime from happening All right, let me zoom in a little bit and see if I can get you focused See if I can get a little focus on there for you Because I got to redo that focus.   It's gonna look a little grainy. I'm zooming in there Let me turn the brightness down on the set if I can picture Oh, that's that's better Here we go. Let's go. We're going down Where should we start? Let's start in the office. Here we go target practice Oh, I shot in a civilian. I lose Turn in your badge boy. You shot an innocent Well, all right. Well, that's the only chance we get at target practice They're dealing dope in this bar. Hey, did you hear that they're dealing dope in this bar? Let's get a six pack All right, let's see what's going on Here we go folks Yeah, that's right Where's the next one? Oh you in the roof? There you go. Take that. Oh, look at that cutscene There we go folks. We ain't messing around now.  Don't worry Get out of here bluster Oh, I didn't see you You scared me. Oh, we're going to the bar First two shots are on us. Look Oh I don't like that guy. I don't trust him. That's right folks.  He's on his cell phone How could be on the cell phone back in the night? He's you. I don't like you How about you? You want some? Look at this. I'm gonna roll folks. Can't mess with me on this game Actually There you go folks Who says I can't play video games? Huh Is that worth a like who's left who hasn't dropped a like on us here for us Who hadn't done it? I'm about to go to the next one. We're gonna go riding down the highway And we're gonna chase some of these drug dealers and we're gonna shoot the tires Here we go Folks I wish I could do all that with this camera. Jacob. It's a really low end streaming camera. I'm using Look at that ticket. That's right son Oh, where are we going now? We're going off the road. That's right. Oh that poor guy in his house. Look at that poor guy's tire shop Look at that. Look at that folks That's some messy business right there Hey Now we're going to the serious challenge. All right The serious challenge time And then we're going to wrap this up. But see after this one you get to go and you get to fight You get to fight the drug dealers in Chicago I get pretty far in this game Here we go. Oh, this one's tough All right, that's enough That's enough. I think you get the idea here folks. Now. I'll show you one more game I'll show you one more game hovercraft Here we go I have one more. Um Pretty awesome weird Little number here. They call space pirates Now look at that one It's the same same thing. I know I didn't get to the the hovercraft levels way later I know the hovercraft it is on there. It's just I'd have to play for like 30 minutes To get to it because I you it's real repetitive. You just have to remember what the pattern is and what's coming next And where each person is All these light gun games from this era that were on this fmv stuff. That's all it was Memorization Let's fire this goofy thing up and call it the future That is true. This is this is such a good experience even to this day. Man. I keep hitting that wrong button Who thought she could have so much fun with the 3do and a magnivox flash screen television And the game gun Here we go space pirate time Space pirates is loading standby to be transported to the year 30 30. Oh Man, I can't even imagine. This is probably realistic Welcome to the future Ursula sky She's under attack. Oh look at these Beaming colonists the year is 30 30 and everybody wears Big poofy clothing still All right enough of that. Let's just give it here and play and see what happens Oh, here we go their arm to the teeth. What is this? I guess i'm supposed to shoot those asteroids Okay, that's one asteroid down Why would I shoot an asteroid that's leaving? Right, why would I care about that? It's like telling me oh pirate alert pirate alert. Here we go Now we're facing some pirates Son of a gun.  This is like a washed out.  How my gun It has no energy All right, man It's just wild Wild wild wild, I tell you Robinson I'm sorry my friend This is neither the time nor the place where we're going to talk about the analog video signal And how it works and how it changes From device to device. I'm just kidding But seriously come on rookie question rookie question Game resolution changes. Have you ever used a crt? Ever seen an analog video signal? What do you want over scan We stopped over scanning years ago. Now, baby, we're going for the aspect ratio if you got a problem with that Hey My good old friend game gun here. It's taking requests and complaints Just kidding Well, there you have it folks. I think that's probably going to do it. That's a great great great time right there Look at that. We finished up. We hit an hour um Oh, look at that guy. Well, that's crazy. That's funny Anyway, there we go It's a star ranger Folks, I hope you've enjoyed this lovely trip To Magnavox heaven right thomas Of course you can't thomas thomas. How are you going to find me thomas? I'm at all the sports games thomas, are you going to be at the very first jmu basketball game this year? I'm uh, I'm like a mile from campus So here's the deal thomas. Yes. I will be at uh in section 109 I have season tickets this year To basketball. I need you to come and see me at the basketball game and talk to me I'm in section 109 and no none of you other crazy people. I don't actually care If anybody else wants to come hang out and go to a jmu basketball game this season Men's basketball come to jmu and get it and I'll be at 109 we can hang out Okay I hope you got the message thomas, please. I'd love to have you come hang out All right guys I really do have to go thomas you could send me an email I think if you go to my channel, you may be able to find my email address there too. Just put down that Yep, I'm there. That's what all and I like I said, I'm guaranteed. I got my season tickets I got a business set of season tickets for retro tech So maybe if I just love you enough, I will compliment you by keep bringing you and inviting you to a game Yes, thomas good do I will be there. Like I said, everyone got the season tickets 109 Robinson all you got to do is uh, click the link in the description to get to patreon access Every video should have patreon linked in the description of the video. I also did link the crt database information on this television set for for uh Documentation, but this is I love this set. I really just love to look at it Look of it. Sorry not the look at it, but I really do Love looking the look of it I love the design So I don't know there is something funky going on because I turned the power button on here and it didn't do the It does power. Okay. I don't know. It was like doing something weird, I think The 3do sent too much bad assness into it That's too funny thomas. I was told by wife That's the first time anybody's ever noticed me that wasn't at some kind of gaming convention or something And uh, so you made my day too. Don't worry And that was one of the games like the end of the season. I was there by myself But hey, look, I'm gonna be here's what I got Um, I've got to make some kind of content on a vlog for this Trip because it's gonna be a lot of fun If you want like a lot of posts, you got to follow me on twitter I will and you can do all this if you go back to the retro tech YouTube channel page just click on my page and me it'll give you a link of things It'll show you where my twitter is my patreon all that stuff is but if you go to the twitter I'll have posts little short videos and pictures all weekend And then I'm gonna try to film something but the problem is is GoPro is still messing around with my rma return on my warranty and they haven't sent me a replacement camera yet So the only thing I have that's portable is my gopro gear And my cell phone. So I'm gonna have to use my phone to do all the recording All right, everybody again, I appreciate you all for being here. It's been such a fun time I always love doing this show and uh, this has been no exception and I will see you next week Okay, we will be back. I have something fun. I'll tell you all about the show The worst case scenario I record a bunch of clips from my phone And we watch all the clips here live together and talk about the weekend and how the pricing and everything went And uh, hope you if you just came in late you can go back and watch the shows a lot of fun I'll see


Thank you. I'm super happy to be here and present our work today. This is joint work with Galera and the company I'm from, Immunant. I'll get into that in a second. But just in case... I've got to figure out how to switch slides. Okay, just in case you thought this was going to be a talk with cute cat pictures and gifs and jokes, it's not. So what we do is has been funded in part by DARPA and they require us to start with this legal disclaimer. So I'm sorry, but this is what I have to show you. We asked if we could please talk to people about this at Rosconn and DARPA said yes. So that's all the legalese I have to bore you guys with. So just really quickly, my name is Pierre. I'm a co-founder at Immunant. I work with a crack team of compiler and linker experts from Denmark originally if in case you wonder why my accent is weird. I enjoy living in Southern California these days and I'm actually not an expert on Rust. So I have a little bit of imposter syndrome going on today. My background is mainly in C and C++ exploit mitigation. And I'll talk about how that led us to the C to Rust work. But first, I just want to acknowledge that I'm part of a much larger team. There's three gentlemen from Galawashown here and three of my colleagues at Immunant that are all crack coders and they do much of the heavy lifting and if you have any really hard questions, I'm going to defer to Andre who's in the audience today. There's also some researchers at UC Irvine that help with this work from Michael Franz and Sten Falker. So with that out of the way, why should you consider even moving your well-tested C code to Rust? Even as awesome as Rust is, I think that's a fair question to ask. So I'm showing a graph here from the National Institute of Technology's National Vulnerability Database and it essentially tracks 20 years worth of stats on buffer errors which is not the only security issue you can have in C and C++ code but it's among one of the most common. So that's the kind of stuff where you under overflow an array index and you access memory that you're not supposed to and in many cases that's exploitable and all hell could break loose. So as I said, I have a background in working on C and C++ exploit mitigations where we try to change the way we compile C and C++ code and you can do something to sort of take the lowest hanging fruit off the table to adversaries but in the end the pattern is that you come up with a new exploit mitigation and then the adversaries find another way to work around that and still exploit the C and C++ code. So it's an arms race really and Rust is an attractive migration target. I'm sure I won't have to sell you guys on Rust but it does have this interesting property of providing not just type and memory safety but also freedom from data races. That's like catnip to people that have written a lot of C and C++. So we thought, well, okay, Rust is great but it's obviously not easy to get into Rust. Is there anything we can do to lower the barrier to entry there if you have a C code base that you sort of depend on and must use? So we're going to be talking about doing two things and the first one is reducing the tedium of just getting into Rust syntax. I'm going to show you some really disturbing and ugly Rust code later and that's something you're going to want to refactor into pretty and idiomatic Rust that doesn't make your eyes bleed and as you're doing that, that's going to be a mostly manual process. So we're also going to do something to try and help you catch errors during refactoring into more idiomatic Rust. So this is the grand idea. This is what we pitched initially and what I hope we can get to one day in the far future. So the main points of notice here is to notice is the flow on the top where we're taking untrusted unsafe C code and we run it through a transpiler and outcomes unsafe Rust. It's a syntax driven translation into Rust that basically projects the structure of the C code into Rust and uses C types and it doesn't buy you much in terms of security but at least it compiles with Rust C and that's something. So that's the initial stage from 0 to 1 and then the latter stages is sort of iterative from N to N plus 1 where you have some Rust code that you're not entirely happy with yet and you want to make it more idiomatic and you basically have two options. You can either manually rewrite it or you can hope that we provide some sort of refactoring that can either suggest or do a rewrite for you that improves the quality of the Rust in some way and in case you are forced to do a manual rewriting we know that humans tend to make errors, we're not perfect so what we do to catch those errors is that we cross check the Rust code you have against the original C program so we have a tacit assumption here that you want to at some level preserve the functionality of what your C program is doing so let's say you're migrating a decoder you still want the decoded output from your Rust code to be the same as your C code so there's lots of opportunities in there to check the two versions or sanitize them against each other so we'll talk about that later but first, transpiling the things we wanted to accomplish with our transpiler I'm gonna talk about a few other transpilers in a second so we have some unique goals partially informed by the experiences of others that thought to build a transpiler before us and inspired us in that way is that we wanted to do robust C and C++ parsing we basically want to handle more than hello world we want to be able to take huge and crusty old C code bases and parse them and we want to preserve the functionality of that code because it's most likely well tested especially if you care enough about it to move it into Rust so we've got to preserve the functionality of the code we take in and convert to Rust we also want to to the extent possible generate output that's fit for human consumption somebody's gonna be hopefully refactoring it later so if there's something we can do to not make your eyes bleed we will try and do that finally, we're also excited about Rust so we want to write as much as the transpiler in Rust and we want to reuse some of the Rust compiler internals on the back end so first a hat tip to other efforts Corode was the first C to Rust transpiler it's written in Haskell by Jamie Sharpe we met him yesterday nice gentleman it uses the Haskell C parsing library and because that is less used and less maintained and battle tested than the clang C compiler that leads to certain limitations but it's certainly an impressive effort for one guy and so that's good work and there's also citrus.rs which is interesting because it's based on clang like we do but it's not making any effort to generate C code sorry Rust code that would actually run right away it's trying to generate the closest approximation of what you would want to write ultimately so it's merely trying to help you with the syntactical changes so we sort of slot in between these two by handling all C input and also generating something that runs that you can work further on so our transpiler is kind of a Chimera it's C++ in the front end because of clang and then it's Rust in the back end so the flow is that we take in a bunch of C sources and we take a JSON file that's called CompileCommandN which informs us of how the compiler was invoked so we can have clang preprocess the C code and then we translate it and that has some interesting consequences that I'll mention briefly later so all of this is driven by a glue Python script and underneath the hood we have two binaries one is a C++ binary called the ASC exporter it's fairly boring it merely serializes the clang AST into a C++ file it's a complete arbitrary choice of format and that C++ file is then consumed by our AST importer so the AST importer is the most interesting part of the transpiler it deserializes the C++ file and then that gives you a clang AST which we represent in Rust and I think we use bind gen 2 to make sure that we synchronize some of the data structures there we transform that clang AST into our own internal importer AST and then as a second step we do a similar transformation I walk over the importer AST and build up a Rust C syntax AST from the Rust compiler which means that all this code has to use the nightly channel because the Rust compiler syntax tree is only exposed on the nightly channel for now in the process of this second stage conversion we prune C declarations that we don't see being used in the current translation unit because you don't have even in your hello world you'll probably have to include a header file for printf and that pulls in a lot of other gunk that you don't necessarily use so we prune that out and we also look at loops that contain unstructured control flows such as go-tos and we try to generate a valid Rust code for that so I have a few details on that later too but first pre-processing we do our transpiling after pre-processing and that means that we need to know how to invoke the compiler with the right flags for a given platform so this is a problem that IDEs always also have an analysis tool so there's an existing solution where clang will actually read this JSON file I mentioned earlier there's an example on the right showing the contents it's very simple it just gives the arguments to the compiler and the build context and you can get this file automatically but the way you do so depends a little bit on what build system you have and what platform you're on so if you're using CMake, great you just add another flag if you're not using CMake, clang comes with a script that's called intercept build that you can use for make file projects on Linux and Mac OS or you can use Bayer on Linux so there's a few different ways and you've got to find out what's right for your environment it's messy and sea lane as usual so let's get back to transpiling loops in the simple case where the C code doesn't have any unstructured control flow we simply generate Rust while loops so that's fairly simple and straightforward we generate while loops no matter whether you put in a for loop or a while loop on the C side in case you have go to's things get a lot more interesting so this code example we have a demo, I don't know if you've seen it out front but the Galwegians from Galway they've been running the demo website and somebody actually submitted this code example to the demo website and we're presenting here for you viewing pleasure it actually re-loops quite nicely to a while loop in Rust so I'm calling it re-looping because we're using the re-looper algorithm by Alun Sakhai of the inscription project they face the similar project problem insofar that they're translating LLVM IR into JavaScript code which also doesn't allow unstructured control flow so we re-used Alun's work but we're doing a little bit more because we are interested in human consumption of our output where inscription is simply feeding the JavaScript to a JavaScript compiler hopefully nobody touches that once it's been transpiled so we try to preserve commons while re-looping and we also optimize for readability and this is obviously an example of where it works alright so there's a couple of things we can't transpile today the one we run into the most is lack of support for variadic function definitions we can call variadic functions that are external in C code so we can call printf for instance no problem there's syntax for that but there's still a blocking issue on actually having rust function definitions that have a variadic argument list bitfills is also something that we're blocked on but there's also a Rust RFC for that so if that ever gets implemented in Rust we can translate it I'm not going to go into long doubles and complex types that's a libc rust create issue but macros is something that we're not showing in the output because we do the translation after macro expansion so that means whatever the macros expand to on your platform that's what the Rust code is going to reflect now it would be much nicer if you could preserve the portability and flexibility of your C code by at least handling macro cases where there is a reasonable translation into Rust so remember that C macros don't operate on the syntax tree they're purely textural replacements so it's possible for a macro to expand to something that doesn't generate a valid syntax tree and sometimes you have pairs of macros begin and end that have to be used together to get valid C code so stuff like that is something we don't see ourselves ever supporting in Rust but there's probably a good deal of macros that we can't support with reasonable effort but as of now we don't so this is the web demo I hope everybody has seen this already now and actually talked to people at the demo slot instead but if you haven't go to ctorust.com and you can see that you can either type in your own C code or you can choose from a few pre-baked examples you can translate it, download the output hopefully it runs and there's also links to the source code in an FAQ so we consider this our business card and way to get a hold of us if you want to complain so if you want to do more than just translate one file at a time you gotta clone the software and build it locally and the way you do that depends a little bit on what platform you are on so some of our code is Linux only so if you're on another platform I'd encourage you to either take a look at Docker or Vagrant we provide scripts for both one is a containerization technology another one is a virtualization technology and we provide scripts that will build a Docker or Vagrant environment and provision it such that you have all the right packages in the right places for the ctorust build systems to just function flawlessly and if they don't I hope you'll file an issue or write me a sternly worded letter so because it's kind of a chimera we use Python to glue together the build processes so you simply run the build translator script with Clang and that gets you the translator and you can similarly build all the projects that are required for cross checking on the C and C and Rust side and the refactoring tool is pure Rust that's built with cargo the way we know and love so here's an example of how to transpile I have a little buffer library that I cloned from C lips and I removed variadic functions so I won't be embarrassed by warning messages and errors and you simply use bear to make it such that you get a compile commands adjacent file as you build it and it automatically runs the test suite and prints out okay so that's just the C code and then you can use our transpiled.py script to point it to the compile commands and it will look at all the C files and it will run the transpiler on them and it will pick up the main method from the test translation unit because we pass in the dash M argument and then you can simply go into the C to Rust build sub tier and run cargo and lo and behold it does the same thing great success so here's an example input function from that buffer library that I just showed you and here is the translated Rust output so you can see it's not exactly the Rust that a human would write it's all unsafe it uses no mangle it basically calls malloc just like the C code did it has the same kind of error handling and initializes the allocation after it's returned you can see pointer accesses are not pretty ads we use wrapping ad to preserve C semantics so that's also not pretty and there's a few superfluous casts in there or not superfluous but ideally one wouldn't have them in idiomatic Rust so here's something we rewrote by hand and you can see it does the same thing it's much cleaner and more compact there's one little change which is that when we allocate on the heap with Rust we get zero allocated memory so this is actually not a semantics preserving transformation and that's why we do refactoring separately so we can have a programmer approve these changes rather than just doing them silently so when we're doing manual refactoring I mentioned that there's the possibility for errors creeping in so we have a cross checking tool to verify that your current Rust version does something similar to the original C code to the extent you want to so what you gotta do is instrument the original C code and the translated Rust code we provide plugins to do that I'll get to those in a second and once you have your instrumented C and Rust code you run both of the programs and you feed them identical inputs such that you'd expect them to carry out the same computations so you see an example here where we have a simple ID function what we'll do is we'll cross check that the function names are the same and that the argument values coming into the function are the same and we'll also cross check that they return the same value so this is a very simple example it gets a little bit more hairy once the functions are non-trivial so you have two options for cross checking one is to do the cross checking online using something that's called an MVE I'll explain that in a second but for now just think of it as a way to execute two processes side by side and make sure that they get the same input so you want to do this because you don't have to do any logging and the MVE will replicate inputs to the two processes for you it does have some drawbacks in the area of compatibility you can take something as complex as a web browser and run two copies and cross check them with an MVE for a variety of reasons so if you can't use an MVE you have the option of doing offline checking where we log the program behavior to two log files and if your program is small enough that's something you can do when you avoid some of the compatibility issues of using MVEs so really quickly this is a fairly large research area but the idea is you have two variants of the same program so in our case it would be a C program on one side and the translated to Rust program on the other side and as soon as they make a system call we have a monitoring component that intercepts system calls and forwards them to the kernel so you can see first we call a BRK to allocate memory and in that case we want to allocate memory for both processes so the monitor forwards both calls and then later we make a write to system call and in that case the monitor intercepts both calls but it only forwards and it waits for the results and then it sends the results back to both of the processes so essentially the monitor provides the surrounding host with the illusion of one process running when in fact you have two processes running and doing the same thing receiving the same input and the monitor will also cross check that the two variants produce the same output so that's how we can detect differences in the C code and the Rust code online without logging so as I said we have plugins to instrument the code we have different run times based on whether you use MVE based cross checking or log based cross checking we have a zeroing malloc replacement so in case we end up cross checking data that would be uninitialized on the C side that does not create any problem for us I'm going to skip the last because we're running a little behind schedule so here's an example of cross checking a very simple library that we just transpiled we make it again, we transpile it and this time we add two new flags to transpile, we add dash x to enable cross checking and dash u to select log based cross checking and then we build it again and we point I set a ld library path to point to our log based cross checking run time simply cargo run and output I log standard error to a file and then I run the C program which has also been instrumented because I have a make file target called tests that underscore x check which passes the right plugin parameters to claim such that the C code will be instrumented for cross checking and again when it's run I log the standard error output to buffer.c.x checks and then I simply diff the two and that returns zero so they did the same thing which is lucky for this example so finally briefly I mentioned that we also want to do refactoring this is the least mature area of our work right now so I'm just going to show you a simple example where you have some while loops that step from zero to nine with a stride of one and two we have simple patterns I can recognize that this is better expressed as a four range loop in Rust this is obviously fairly simple and we hope that we'll get to substantially more advanced refactoring across files and involving substantial amounts of program analysis to do much more useful things so if we have a few minutes I'll just really briefly talk about pie in the sky stuff that we hope we'll be able to do so the main feedback we've gotten so far in our project is that it would be really nice if we could do something to generate safer Rust right away or automate some of the tasks so 100% automation is really really difficult so I have this illustration here that shows that the arrows we're sort of moving on rings and without any kind of safety transformation we're just staying on the outer rings and what we want to do is we want to bend those rings so we go into a provably safe subset of Rust and the challenges of doing so is that we have no an automated analysis has no domain knowledge that's really hard and then Rust has a substantially different type system so things like ownership get in our way of simply propagating types around so a really quick example here is something I stumbled upon while just refactoring a very simple quick sort example the partition method function sorry calls swap and this is all done with raw pointer so there are no restrictions on how we can do this as opposed to whether if we use erase slices so if I start using erase slices in my partition and swap functions I get into a problem because I want to pass two mutable references to the swap function and that's not allowed under Rust's ownership rules and for good reason so that's kind of a bummer for us so like any same Rust programmer would realize that the erase slice type provides exactly what we need and one should simply use that and that allows us to get rid of the C code hooray right that's awesome the problem is that we have no domain knowledge in a mechanized analysis so we have to do something well I'm not sure what the best solution is but one thing I could imagine or be convinced that a mechanized analysis could do is do some magic swapping where we basically take elements out of the array and pass them to swap both mutable and then put them back into the array and what that lets us do is actually preserve the swap function as we have it so that's one way to get to safer Rust but it's pie in the sky it's an open question if somebody has a really good idea in this area I'd love to hear about it and speaking of that we would love to work with anyone that has C code that they want to migrate to Rust because we think we really need to get some hints on porting experience to figure out where to go from here and we need to learn where to focus our effort please get in touch if this sounds like something you care about so this is the link to the demo website and this is the link to the source code please go to our GitHub and clone it and open issues if you run into problems thank you very much


Good morning to you in the last few lectures about six or seven lectures so far we were focusing on deriving the governing equations describing the flow and heat transfer of course we have done that in a Cartesian coordinate framework as well as a coordinate free framework based on applying the Reynolds transport theorem and finally so we were looking at approximations to two-dimensional incompressible flows to Navier-Stokes equations one is casting that into form of stream function vorticity equations which we have derived and if you apply that to a typical problem which is for a external boundary layer flow okay so far that we can use some scaling arguments do some order of magnitude analysis and then conclusively show that certain terms can be dropped out provided that you are dealing with sufficiently high Reynolds number flows okay so under that approximation we have derived what are called as the boundary layer equations okay so let us summarize the boundary layer equations which we derived in the last class okay so let us write it in a dimensional form not the non-dimensional form so finally the continuity equation stays as it is okay so the boundary layer equations what we are writing here is for 2d incompressible for steady state flows okay so of course and this is also we are assuming they are laminar okay that is another important assumption so something I have to tell you about this when we derive the Navier-Stokes equation we do not really derive one set of equation for laminar flows and another for turbulent flows the Navier-Stokes equations are valid for all kinds of flows okay so the problem is in solving those equations numerically so most of the times if you are applying the same set of equations for turbulent flow and turbulence has a lot of features it you have to resolve all kinds of scales in turbulence length and time scales and therefore numerically it may not be possible to do that kind of resolution so then what we do in order to model the turbulent equations turbulent flows we construct what are called as Reynolds averaged Navier-Stokes equations okay so we average the equation that we have and we can do different kinds of averaging of course for steady state it does not matter we have ensemble average for unsteady problems we can do time averaging and when we do this averaging we are trying to get information only on the mean properties of the flow such as mean velocities mean pressures and mean density we are not interested in all the microscopic turbulent fluctuations and turbulent quantities okay so therefore we are going to when we apply these kind of equations to model turbulent flows I think when professor Kohler comes I think he will discuss how we average the corresponding equations and then we get the Reynolds averaged Navier-Stokes the structurally everything will look similar only apart from the laminar stresses you will also end up with turbulent stress term okay and the problem is how do we close this particular turbulent stress okay so that is all the different turbulence models are about okay so they are there are different there are many books written on you know turbulence modeling many so many the hundreds and hundreds of papers published on that so this is a very very important issue where most of the practical flows are turbulent okay as is the if you solve the Navier-Stokes equations as it is there is no problem but most of the times you cannot resolve all the scales and therefore you have to approximately model what the water called as averaged quantities and that is that is where the Rans equations come so far we have not discussed those things I am just looking at plain Navier-Stokes equations and approximations so you can say safely that this is mostly apply to laminar solutions okay so when we solve this the resulting solutions are all for laminar flow okay for turbulent flow again the characteristics become a little bit different and therefore we have to solve the Rans equations and most of the times you do not have analytical solutions okay you have to solve them numerically but a few of few extreme cases have analytical solutions which we can do okay so this is the continuity equation this is your momentum only your X momentum stays your Y momentum tells you that your DP by DY is approximately 0 and finally your energy equation okay so what should be the discuss dissipation term here okay ? but what is the ? Cp right I am dividing by ? Cp everywhere so this is K by ? Cp which is a ? U by ? Cp times DU DY the whole square okay so this is the only term which is staying there all right okay so these are the boundary layer equations finally all of you agree and you know why only this term stays right okay so if not you please go back and revise so now in order to solve these equations what do we do we need definitely some boundary conditions right these are partial differential equations so can you tell me what are the boundary conditions that we can we can apply say we take the case of our flat plate the same yesterday we have a momentum boundary layer ? thickness thermal boundary layer ? T and the wall is maintained at a constant temperature and you have a flow U 8 T 8 okay so now you have to tell me what are the boundary conditions which we can apply for first the momentum and next the energy okay so at y equal to 0 so how many boundary conditions we need in the x direction for for example the momentum as far as the velocity is concerned along the x direction how many boundary condition 3 why okay so if you are too much bothered about okay I am just asking for velocity okay so 2 2 in along the x y so why do we need to and how about in the y 2 plus 2 what is this combination y 2 in x direction what is the order what is the order of the PDE in x direction first order what is the order in y direction second order okay so any so how many boundary conditions does the PDE need equal to number of what is the order of the PDE right so therefore for along the y direction how many we need to give 2 okay so 1 we are saying at y equal to 0 U is equal to 0 so this is what no slip boundary condition okay so this is the biggest contribution to Brantel okay who has invented the boundary layer theory we discovered that the fluid velocity should be exactly identical to the solid wall velocity okay now also when you complete saying no slip and there is no vertical velocity or there is no transpiration through the wall okay the vertical velocity also has to be 0 so and what is the other boundary condition along why we can give why okay let us say y going to infinity okay so you are you infinity okay and so therefore you have two boundary conditions with respect to you and now what is the remaining boundary condition we need to give one in long x okay so we will say at x equal to 0 you should be you infinity okay so similarly for the temperature the temperature also requires two boundary conditions along why one boundary condition along x okay so what is the boundary condition at y equal to 0 either this or if I apply a uniform heat flux instead of uniform wall temperature if I say my Q all is constant so then it should be minus k dt by dy at y equal to 0 should be equal to 0 why it should what happens if it is 0 so adiabatic boundary condition okay so therefore this is the condition at y equal to 0 how about at y going to infinity t should be equal to T infinity and x is equal to 0 at t should be T infinity okay so this is these are the required boundary conditions to solve the boundary layer equations all right so now we will first see the solution for the flat plate flow so this is also called the Blasio solution I think most of you are familiar with Blasio solution okay so this is anyway a flow problem you must have done in your fluid mechanics as well as in the heat transfer anyway for the convective heat transfer we have to revisit the flow problem before going to the heat transfer so I am going to go through the solution okay in probably in a slightly different way from how it was done before so for the flat plate case what are the approximations we can make okay still you should understand that this is a considerably complicated set of equations even if you write it for a boundary layer and of course we can transform this into a form which we can solve okay and we are going to do that but before we go to a complicated case where we have a pressure gradient okay so now we are going to first apply that to a very simple geometry the flat plate okay so for this case what kind of approximation that you can make can you see some some approximation further to this pressure gradient is 0 okay so therefore since your free stream velocity is constant okay so this term can be knocked out that we have seen yesterday and also right now we could retain the viscous dissipation term and solve okay but that is a slightly complicated way of solving it and we are not going to do now if time permits towards the end of this course I will take up this particular case okay so what it means even if you have an adiabatic boundary suppose you put minus K DT DY Y equal to 0 is 0 and you have this viscous dissipation you will find a temperature profile okay so this is something which we will be taking up when we have if we have time okay otherwise for this particular case when is the viscous dissipation important as we said when you have the ratio of your Eckert number by Reynolds number which is kind of very high okay so when that can be possible when your flow speed is high because a record number is directly function of the flow velocity or a Reynolds number is very small that is extremely viscous flows or very high speed flows okay so in those two cases you have to consider the viscous dissipation okay so in the other cases the moderate velocity regimes okay you can safely neglect this term also okay so the resulting equations now look slightly much more simplified and this is what we are going to solve for the Blasius solution so before going into the solution just to give you a brief brief history how this was originally proposed so first it was Prandtl who pointed out in 1904 okay Ludwig Prandtl he was a very famous German physicist mathematician and aerodynamic who was actually credited with the invention of boundary layer concept of boundary layer and in 1904 he says that the boundary layer equations for flat plate okay can be transformed into a ordinary differential equation okay so in those days they did not have very sophisticated computers and therefore anybody was looking at set of PD is that look like no they could not solve it because numerical methods were not that popular there was no computer at that time okay so they could not find a direct closed form solution to the PD but Prandtl proposed that if we can convert the PD to a ODE okay so then ODE is always solvable even numerically you can do it by hand also okay so therefore he proposed that the boundary layer equations can be transformed to an ordinary differential equation and this transformation is through what is called similarity variable so this is the it is a great concept that he introduces that all the time we do not have to go for a numerical solution if you are clever enough to see some kind of relationship between the flow velocity non-dimensional flow velocity and the property and the for example the coordinate that it is dependent on if you cast them in a correct form that you can transform the PD directly into a ODE okay so this is called as a similarity solution and in fact it was a student blushes okay in 1908 who did it actually who did this similarity solution for the flat plate which we are going to do so what we are going to do next is we are going to identically trace what blushes exactly did it exactly in the way that he solved it okay so this he got the solution for the flat plate velocity profiles okay so he was a student and later on I think it was full house and full house and in the year 1921 who extended the blushes solution for velocity profile to solve the energy equation okay okay so it took almost a decade to solve the energy equation from the original blushes solution and then in 1930 was Faulkner and scan there were two people Faulkner and scan who actually extended the similarity method of solving the PD is to flows with pressure gradient also okay so far we are neglecting this particular term here but they have extended for a generalized set of flows you know flows including pressure gradient without pressure gradient so all of them they constructed a similarity solution which we are also going to see okay so these are general family of problems okay so therefore you can see that it had a considerably long history and in fact in the first in this course when we are talking about external flows we will be doing all of this okay starting from the blushes solution till Faulkner and scan and probably an extension of this to different boundary conditions okay so all these are basically closed form solutions which you can do but of course the resulting OD cannot be solved analytically blushes himself struggled with that we will be using some elegant numerical techniques to do that okay so now we will start with the blushes solution okay now what blushes thought now if you look at the velocity profiles okay so you can draw the velocity profile something like this here if you go a little bit downstream so if I were to calculate the gradient of velocity at the wall du by dy okay so what will happen to this gradient as I go downstream will it increase or will it decrease it will decrease right decrease why what is that it is always 0 always at the wall it is 0 but why the gradient should decrease yeah the boundary layer thickness keeps on increasing and you have more flow which is entraining from outside okay so therefore the profile becomes more gradual and gradual as you go down so initially you have a very sharp gradient at x is equal to 0 the gradient will be infinite okay so you do not have any profile which is developed okay slowly your profile develops and it becomes more gradual and it has to satisfy continuity also right downstream so therefore what he has observed if you can find a variable okay so a non-dimensional form of the velocity which we can say u by u 8 because we can see the order of magnitude of use of the order of u 8 right so if we say u by u 8 this should be some function of some variables now you can see the variables which you are dependent on it is it is a function of two variables one is your x and the other is your y okay now when you look at when you look at ? you can also see ? as a function of x clearly the boundary layer thickness is a function of x so therefore now also we saw that y scales with ? very well y is of y y is of the order of magnitude of ? so therefore if we combine these two variables as a non-dimensional group so he says that if we can write this as some function of y over ? which in turn ? is a function of x okay so this is a non-dimensional group and if we can find this function so this should directly explain the dependence of y on this single variable rather than on variables y and x right so if you say y by ? is some variable ? which we call as similarity variable okay so now your u by u 8 is just a function of ? directly and once you use the similarity variable you know to have do not have to solve this in terms of x and y you can just directly solve in terms of ? okay that will help you in reducing the PDE to an ODE so that was this basic observation okay now how he obtained the basically the relationship between ? y and ? so now we should know how ? is a function of x okay one directly you can use simple scaling arguments like what Beja and does look at the inertia and this terms balance and then you can directly get the functionality of ? okay the other long way that I am going to do is helpful because anyway we do not have to derive the same set of equations again okay so and that is what I am going to do now so what I am going to do is I am starting with the x momentum equations and I am going to integrate it along y from the wall surface all the way till the boundary layer thickness ? okay so if you integrate it out so directly you reach to this particular form and what I am going to do now is a little bit jugglery here to eliminate in terms of V and construct that in terms of you so how do I do that I want to come from the continuity okay so your continuity says that your du by dx this is equal to minus dv by dy okay so I can write for V I can integrate this and I can say this is minus integral 0 to ? du by dx into so integrated 0 to ? over dy and now we can so this is your kinematic viscosity so we can substitute for so I can substitute into that okay so what I am going to do a little bit more I am going to integrate by parts this particular term I can write it as so d by I can write this as d by dy u v dy integral 0 to ? right minus 0 to ? u dv by dy dy right d what is that I think this is right okay which one okay so I am integrating by parts okay if I do that this I can directly write it as u v between the limits 0 and ? okay so this will give me of course at 0 u and v are 0 at ? u is equal to u 8 so I can say that this is u 8 times v at ? okay so minus this particular term here and of course from continuity I know d v by dy can be written in terms of du by dx okay so therefore this can be further written as minus u 8 so v at ? is this right here this is my v at ? right so I have integrated it from 0 to ? and at 0 v is anyway 0 so v at ? will be this so I can substitute for v of ? from here so this will be minus u 8 times 0 to ? du dx dy okay again d v by dy as minus du by dx so this will be plus integral 0 to ? u du by dx dy okay so this is how my second term so now we can see I have eliminated v completely I have written everything in terms of u okay is that clear which part integration by part okay so basically I have integrated by part here okay and then the first part if you integrate it you will end up with between the limits 0 and ? at 0 the velocities are 0 at ? u is nothing but u 8 multiplied by v at ? okay now from the continuity equation when you integrated between 0 and ? your v of ? can be expressed like this so I am just substituting for this directly here and d v by dy is nothing but minus du by dx okay so I am just using continuity to plug in okay so this is the resulting equation so if I substitute for this term and then write the complete equation so you have to tell me how the resulting equation should look like okay so already you have u du by dx there is another u du by dx okay so that will be two times integral 0 to ? u du by dx dy and then you have minus u 8 0 to ? du by dx dy that should be equal to u u by ? y at now this has to be integrated from 0 to so this is the limits I am applying okay this is nothing but okay you can call this put this as equation number one and please store it in your mind somewhere that we have derived this equation because I am not going to do it again when we do the integral method okay so this is nothing but the momentum integral equation so that is slightly cast in another form you can say this is du2 by 2 dx and 2 to cancel so you can write du2 dy- u 8 so that slightly cast in a different form but anyway that is basically coming from this particular equation yes this is your momentum integral your momentum integral is written in only in terms of u your entire equation is in terms of you there is no v coming there okay and of course your you know your momentum integral right what is your momentum integral ? how is it denoted u by u 8 integral 1- u by u 8 dy 0 to this is this is the definition of momentum integral okay or people call it as momentum thickness sometimes okay so we can you can you can do this as a nice exercise you can combine these two terms bring it to this form and then write in terms of d ? by dx okay so that is another way of writing casting this equation okay so anyway so that we are not interested in solving for the momentum integral right now what we are going to do we have already assumed that my u by u 8 is a function of my G which is function of y by ? this is nothing but my similarity variable ? okay so I am going to plug in this particular solution form of solution which blushes as assumed into this particular momentum integral so why I am going to do all this is finally I have to solve for ? okay so first if you calculate your du by dx from here how will you calculate du by dx so that is basically u 8 times okay so you should go back and revise all your differentiation rules okay G ? minus y by ?2 into d ? by dx okay so how you got it you can you can say that this is some function of ? right and so your du by dx is nothing but u 8 times d G by dx okay so this is nothing but d G u 8 times d G by d ? into d ? by dx and now d G by d ? is nothing but your G prime okay and d ? by dx so this it has nothing but y by ? okay so then you get minus u by y by ?2 into d ? by dx okay so you please go back and revise your differentiation rules okay so once you get this now the next term that we need here what is the other term du by dy okay so what what will be du by dy here du by dy is much easier u 8 into G prime G prime by by ? okay so but ? is a function of X you do not have to differentiate it okay so now you substitute for this du dx and du dy okay and you can group all the terms together which I am not going to do step by step I will only show the equation after it is grouped okay so if you substitute into 1 and you group all the terms I am just going to write the final form you get something like a – b into ? d ? by dx is equal to ? by u 8 times C now this a b and C are constants where a is equal to 0 to 1 G prime y by ? into d y by ? so what I am doing is this integral dy wherever I have I am writing this as dy by ? into ? okay so therefore the integral limits become 0 to 1 okay so you can check that it is a nice exercise you can does not take too much of time you know you are just rewriting everything in terms of y by ? grouping the terms together and B is 2 2 times 0 to 1 G G prime y by ? into d y by ? and your C can you now guess and tell me what C should be this you should be able to tell 0 to 1 why it is already so already integrated and the limits are to be applied what is du by dy u 8 G bar by ? okay so actually when you put that all of this u 8 can be cancelled off so you have new times G bar now G prime G prime between the limits ? – ? 0 divided by you have another ? and that ? also will cancel off so finally C will come out to be G prime of 1 – G prime of 0 okay so this because you are transforming all your y with respect to y by ? okay so wherever you are applying limit ? that becomes 1 all right so this is your ODE can you tell me what is the solution for this how do we solve this ODE separation okay so what will be the solution for ? okay so I can write this as d ?2 by 2 by dx is equal to C by a – B into so I can separate it as you said u by u 8 x dx all right so if I integrate it from x is equal to 0 to some position x okay so I can use a dummy variable here and I can say I can integrate from 0 x is equal to 0 to some position where you are interested to calculate the boundary layer thickness okay so this will give my ? is equal to so 2 times square root of 2 C by a – B into square root of ux by u 8 okay so therefore you can see clearly that we have arrived at a relationship between ? and x okay so your ? therefore is a function of x through this particular relationship and therefore if you if you say your y by ? ? is equal to y by ? so that will become y times square root of u 8 by ux therefore this is my similarity variable okay this is my similarity variable which goes like this so this similarity variable now you can see is constructed as a function of both x and y okay so now if I do this way what it means my u by u 8 is going to be a function of only ? anymore so not on x and y respectively all right and this is the similarity variable now the same result you can get by very very just one step process scaling process which you can do it yourself okay and now what I am going to do is introduce a similarity transformation now still I have not converted the PDE into OD and still I do not know whether the similarity variable is correct this is just what Blasius has assumed so what is the check that this variable is correct so when we substitute that variable into the PDE that it should get converted into an OD that is the proof that you have a similarity solution otherwise the similarity variable that you guessed is wrong correct okay so let us go and check that so I am going to see now I have to introduce a function so such that I can make the continuity equation redundant I do not want to solve this so what kind of function should I introduce stream function okay so stream function all naturally satisfies the continuity okay so therefore I will introduce a stream function such that your u is equal to d ? by dy and v is equal to minus d ? by dx okay now if I take this particular and integrate it along y so I get 0 to y u dy and already I know my u by u 8 is nothing but g of ? or g of y by ? so I can just substitute in terms of ? here this is 0 to y okay u d y by ? which is d ? into ? right or I can just say dy by d ? into okay so I can directly transform transform it this way okay so dy by d ? you know so now we have constructed a relationship for ? which is your y square root of u 8 by ? x okay so you can calculate what dy by d ? is what what is dy by d ? here square root of ? x by okay so that I can substitute into this and I can write this in terms of g okay so this will be 0 to ? so why I am transforming to ? and u is equal to u 8 which I can take out into g of ? into d ? into you have square root of ? x by u 8 so this is nothing but your square root of u 8 x times 0 to ? g of ? d ? okay so this is your ? and now I am going to introduce another function okay function which is says that this integral is nothing but which is nothing but a function of ? so you can use dummy variables here and you are integrating from 0 to ? so the resulting function which is a function of ? I am doing it denoting it by f of ? so therefore your ? is equal to square root of u 8 ? u x f of ? okay so this is the relationship between the stream function which I am going to introduce and your similarity variable ? okay I hope all of you got it is just a very simple substitution and writing in terms of ? any questions on this okay so now we have done this so just couple of more minutes and I am going to write down the velocities and derivatives everything in terms of the similarity variable ? okay any questions is it clear okay so all I am doing is I am transforming from y to ? okay so I already know the relationship between ? and y so I substitute for dy by d ? and I already know use a function of ? this way so I substitute and finally get the relationship between ? in ? so now first you are u okay your u by u 8 already we know it is a function of g of ? okay and your g of ? is nothing but if you look at this particular definition is nothing but df by d ? right because integral of g of ? is nothing but f ? okay so therefore g of ? has to be what df by d ? that is right now similarly my v velocity is nothing but – d ? by dx so now you have to tell me so you have ? as a function of ? so this we have to differentiate with respect to x okay so you have to do this and tell me I think will be that will stop today okay so if I group these terms together so finally I should be getting v by u 8 this should be equal to 1 by 2 square root of ? by u 8 x into so this term right here I can write this as ? x df by d ? okay – f okay so you can check for yourself this particular it is a little bit of jugglery so you can cast this in terms of ? and you can check whether this particular form comes out okay so this is you have to play a little bit around there okay so with that we will stop here tomorrow we will plug so why we are doing all this we are first getting an expression for similarity this is your stream function as a function of the similarity variable and then in your boundary layer equations you have your velocities your derivatives all of them have to be now cast in terms of the similarity variable and how we are doing that because we know velocity is a function of ? and ? is a function of similarity variable okay so we have to use that put them in the PDE and finally you will be ending up with a nice ordinary differential equation okay so I suggest all of you whenever we do these kind of derivations especially in the beginning where you are not used to so many differentials you please go back and pay some I know spend some half not 45 minutes checking all these equations and I think slowly you will get accustomed to this and after that you will become faster okay.