Spirit of Christmas can be brought to those children and the parents and the grandparents, the families, and being part of the Santa Train. It's one day a year that we get to give back. It's real heartwarming to see the traditions just keep coming on with all ages and that's what they do. They turn out as a family to see the Santa Train. It's not all about the gift that comes off. They get together as a family to see it. Well the Santa Train was initiated by the Kingsport Businessmen's Association in 1943 and basically all they did that first year was a guy dressed up like Santa Claus and several other guys and they got on the rear of the regularly scheduled passenger train from Elkhorn City that went all the way to Spartanburg, South Carolina then, but they went as far as Kingsport and at every stop and along the way they threw out candy. It's just a gesture of goodwill and is a way to promote the economic linkage with the tri-cetage. It was a good thing and so they had fun with it and so they did it the next year, the next year, and the next year. They called me for the 93. It had a couple of box cars and a car wand and that's when we went to Elkhorn, spent the night and come out there the next day on the Santa Claus train and it was a great feeling to see all them kids lined up on that train. It's the only Christmas most of them ever got and as a matter of fact they had little bonfires built up all along the railroad on Friday before we come back on Saturday. One thing that's really planted in my mind is when I was running the Santa Claus train with a little girl with big brown eyes looking straight up into my eyes when I went by. It was something amazing to her because she had her eyes wide open looking at me. I don't know, I just remember I cried after that. It's up and down emotions all day long. It was just an honor to get to do it. It was something not many people get to do. The Santa Claus train was a special train. It was getting well known all over the country and to be picked to for it I felt like I was on cloud nine. It made me proud to be a part of it. It was special. That Santa Claus train was the oldest special train that we had back then and I just felt the good Lord had blessed me. And this was just a unique experience. It was portrayed as by that time they ran out of Shelby. It was about a 110 mile Santa Claus parade and it really was and they threw gifts and candy and stuff all the way in route. I got modified I think around 2005 and they decided to just throw out gifts and candy and other things at the stops, pre-designated stops and that's what they do today. In 2015 I had the pleasure of working the train. I was one of the people on the train that year. That was my first experience with it. I had always heard about it. Never seen it. I'd never been on it until that year and that blew my mind and essentially I was hoping from that point on. The very first stop is when it hits you that the reality set in that like yeah it's work but this really means something. When you see those kids or even adults and you see them out there you realize that this is beyond a big corporation or it's just you know being tied to another human so it meant a lot from that point forward. This year was a milestone with the Clinchfield number 800 on the point of the train. Well the 800 was the Clinchfield's very first diesel electric locomotive. This was the beginning of the end of steam. I was amazed to find out that an upper management guy, Eric Hendrickson, was working with Jim and others to possibly secure the use of an SD-45 locomotive that could be repainted and re-lettered as a Clinchfield unit. But the 800 kept coming up in the discussion. It slowly but surely started coming together. The ownership of the locomotive had to be worked out. It was transferred ownership from the C&O Historical Society to a private entity, a guy named Ed Bowers. Ed graciously agreed to allow it to be repainted and so I guess a couple of months before the Santa train all the railfan buzz was hey they're taking 80-16 from Spencer to somewhere. And they were photo railfans were posting on Facebook and no one really knew. Well I was getting a lot of messages. Ron do you know anything about this? No not really. Don't really know because we were all, there were several folks that pledged to secrecy. I walked in the door and it was just, I just moved almost to tears. It was just right there. It was amazing. It was like all those years, 50 years had rolled back and that unit was sitting on the ready track in Irwin, ready to go north on 97. It was amazing. I couldn't believe it. I'd grown up around that engine back when I worked on the passenger trains. This car marshal was a good air and play on it and I'd ride it in a day time and when I got to be an engineer I've run it on presidential specials and excursions. It was just a joy to be on it and I never dreamed that they'd let me get on it. Oh it made me so so happy I almost had tears in my eyes just to look at it. It was wonderful. To see that 800, just like it's brand new, that is a wonderful job, painting and fixing it. Somebody made a great decision. Somebody really really brought back the life of the steaming of the engines on the Clutchfield Railroad. It was about trying to do something for the people in this area and that would be something special for them to remember things by and it would just be also be cool to be able to do it on the 75th anniversary because they had done something special on the 50th. So that pressure and then added with all the other just logistical pressures, it was fun but it was a lot of work behind the scenes and a lot of sleepless nights honestly. There was nights I couldn't sleep because I was so nervous about it to get it pulled off and it came down to really the last week you know to make sure I didn't know really until the last week that everything was going to pull together like it did and luckily it did. I mean everywhere you went everybody was buzzing about it and you know build up to it there was buzz, buzz, buzz and that probably made me the happiest to see everybody happy but it was a lot of people's hard work behind the scenes not just me and there was a ton of people behind the scenes that were making it happen and that started paying off right about Wednesday before the train ran is when things started kind of falling into line and I'm like okay it's certain certain happen. The excitement really started pouring in when we realized we were going to get the vintage. It was it's not a steam engine but it's one that came home to us in the 800 but it was neat to have those cars. I've been on both trains when they were on there years ago and it was neat for somebody that's been around a while as a volunteer to see that. Yeah I tried I chased that train all day long and I finally caught it after it was parked and I got my Christmas present by getting to crawl up the side of that thing and get in the cab while it was being refueled. I have probably seen the Santa train for about 55 years at least. It was just a big thing back then because you know we didn't have a whole lot and so we look forward to it every Saturday before Thanksgiving and it's been that tradition for 75 years and I can remember when I was nine years old running till I got he got out of sight catching whatever I could because I had brothers and sisters at home that I wanted to take stuff to. It's just been a tradition that I hope never ends. Coming here since probably before I can even remember since I was a child I'm 29 now so it's been every single year since then now I have three kids of my own and we all come every single year. It's as tradition as a Thanksgiving and Christmas for us. That's God's country over there going through those gorges and those mountain passes over there and seeing a mountain goat hanging on the side of the mountain over there. I mean it's just pure beauty and you know it's so easy to stand out and watch all that go by all day long. Well I can tell you that as the years have gone by and I've worked different positions on the train. I've got the best seat in the house right now and the best view as I come through the valleys and pull into those areas you're talking about. You can see the smiles and the excitement and the people that are working so hard to make that train happen and make it happen safely. I mean you think about the engineer that's up there driving that train with those thousands of people that he's driving through the middle of and he's trying to be as safe as he can. CSX has got their safety crews but to be back there on the back end and experience all that excitement you run on adrenaline all day long from six o'clock in the morning to three fifteen that afternoon. People on the back of that train, you know Frank, Santa's Elf, never leaves the back of that train. Santa never leaves the back of that train. They're out there all that time because they want to see the excitement of people and people that are on that track, wherever they are, expect to see Santa and I want to. And that's why you do it because it's part of what everybody expects and you're the one that's receiving the gift by seeing those people each year. To try to help the child in a high school that's contiguous to the Santa train route go to college that might not otherwise be able to go to college. We're not trying to help the A student that gets all the scholarships already. We're trying to make somebody, we choose a person each year of the Santa train scholarship committee that has exemplified trying to overcome adversity in their life. Despite that, they give back to their community, they're active in their school and they have the ability to stay in school and Domtar stepped up and has agreed to fund it for the next three years now I believe and I think they made a total five year commitment. Many years ago, of course, we did the Santa train print that Ron Flannery painted for us and we still have some of those left that we sell and 100% of those proceeds go to the scholarship fund. So I thought the poster idea that was right down is an exciting idea and they're really neat posters. And I thought, well, for the 75th anniversary we should have something special. So I reached out to Tyler Hardin and I said, hey, we're thinking about some ideas. We had already been sketching some stuff. He had been talking with Peyton and some other people and he was sketching ideas. And at that point he sent me like an idea of what he had and I said, okay, go with it. I'll see what I can do to get clearance on it. So it just kind of fell in our lap that way. And those have been received incredibly well. The Chamber is selling them for the scholarship fund for the Santa train and I mean they were, we put out one small ad about them being available and they were inundated with phone calls and they have been sent. My, when I, when I designed the posters, you know, when they were going to use them, I didn't really think they were going to sell them or do anything.  I didn't know that it was going to be used for scholarship or that there was a scholarship until afterwards. Like immediately when I found that out, I figured out how much per poster they were getting, I immediately started calculating because I knew how much, how many they printed. It just, I was like, wow, this is going to change somebody's life. And to me, that's what really makes this not seem real because it was just a sketch. There's always this incorrect notion that comes mostly from folks who are not familiar with this operation at all, who see this as maybe a charity or a handout operation. It is not and it never has been.  We try to go out of our way at CSX to say it's not a charity train. So much that will tell people that. We're not giving out charity. This is just being good human beings and giving to other people. This is a gift from a large, multi-billion dollar corporation to people through communities that we serve. And we're trying to show that, hey, we can be human in carrying out tradition in an area of America that people need to see more often because it's beautiful and the people are beautiful. It's just goodwill. It's just a Santa Claus parade. It's a Santa Claus parade on rails. This is successful out of a sense of tradition. And the more the tradition endures, the more likely it's going to continue to be there. That's why the crowd's never diminished. In fact, they were up this year and I'm sure on the 76th running next year will it be something special? I have no idea. But I guarantee you that the same number of people will be there because it didn't matter. It's a train. It's Santa Claus. And this is what we do. This is what we do the weekend before Thanksgiving. It's just what we do. Santa Casia.  Santa Casia. I noticed that no matter how many miles we've gone, how many stops we've made, you make sure to wave at every child that hollers your name. Everyone I can find and every grandmother that's on the front porch or daddy on his four-wheeler out there getting ready to go hunting. It's the spirit of giving. I'm so fulfilled. I'm the winner here. Thank you for all the volunteers and people that's in the area that make this all possible. Without a train, CSX and the Food City Stores and the thousands of volunteers, this 75-year tradition wouldn't be here.


Everybody forced here in 2022 triple dreds baseball hobby mat 18 box master case number 32 To your random team style find these results anytime late sports cards.com. Let's go ahead and get started I don't even know if I I don't even know the last time I watched weekend of Bernie's. This is a long time I was a kid No big booms yet the the the the chrome black case was good. It was definitely good. Nothing like gigantic though Here we go. Let's get everything open here. Let's get Bowman filled up next 2020 Bowman got the Volpe the Mingas Pena and wit chase To get an understudy that the guy died and yeah The first time I saw it definitely didn't like I was like, what are they? I don't get it weekend at Donnie's Five nights at Donnie's Put Donnie's name and like everything like that It really it really is a good name that works. So pretty much Donnie Madison has to go back to school To get to get his dad's company It's pretty good, huh? Yeah, I mean a lot of ideas. I think I should just be the head of a movie studio, honestly Maybe this isn't my calling Maybe it's producing Unwashable movies. All right guys 2020 Bowman coming up next I don't know how successful is These parodies Take these one-on-one Matt Ryan showed up do doors my Donnie Donnie Bueller's day off. Yes Well, I'll just actually in the movie With Donnie Darko the weekend at Donnie's All right, we got Garrett Cole with 75 Yankees into 299 Griffey for the For the Mariners there Astros first hit to 18 triple relic Kyle Tucker game used October thefts And pirates rookie auto or onesy can treacherous to 50 do doors my Donnie Got the 250 Mariano Rivera Yankees and to 299 Raphael Devers Red Sox This is very nice for the Astros orange or amber color match base lead to 18 triple patch auto Alex Bregman Farm stardom nice one Stroze Rocks for the Stroze here and a Cronin worth Jersey to 48 Padres we could do here Here's my favorite one instead of a field of dreams field of Donnie's Yep field of Donnie's just saying Donnie quotes my fingers here You got nice color coming up you guys Starting to break off right to 150 honest Wagner for the pirates in a one-and-and rookie Durand Red Sox Jose Ramirez triple relic to 36 guardians RBI triple relic and Matt Chapman Like Blue Jays letter patch auto one-of-one Ruby parallel Toronto Patrick T congrats Patrick. We'll get that mag for you man It's either of the well that has to be the be right It has to be to be that's awesome the top of the bee from Blue Jays Or that could be an R from Toronto. I guess since that's a blue Jersey Either way congrats on that one-on-one in the second box Rookie Durand Red Sox to 125 and judge to 75 Yankees You go White Sox Carlton fist triple Jersey auto to 18. There we go nice one white Sox entry turner batter like the 36 Dodgers He's watching for a measure friends. I don't want to the free Friday one before we keep going here Let's check bowman. You got to get bowman filled up Bowman Fight the rob the nightmare The oh no too fast to Donnie us What is this is like a midnight hour We started way earlier We so we let off with it. That's aggressive Too fast to Donnie us rookie to 99 say a Suzuki Cubs 259 Jacob to Grom for the Mets October heroics triple relic the 36 Carlos Korea twins And a white Sox Jersey auto Dylan cease to 99 2020 bowman Reagan next everybody Big time first bowman chasing that big time To 75 madding Lee Yankees to 259 Bregman Astros That's a big redemption Jersey card Padreia two of nine red Sox Don't wake I like don't wake that's a good and redemption triple threads deca auto relic combo book card This is gonna be a random at the end I would have to imagine because it's Ken Griffey junior. That's not a blue J So the tech to check us on that one Miguel Cabrera Vladimir Guerrero junior Reggie Jackson Mark McGuire David Ortiz our Pujols a rod many Ramirez and Frank Thomas 90s and 2000s legends Big time home run here is to there's a lot of home runs in these names So Griffey is obviously not a blue J. I'll check the checklist. He's probably Mariner, but I'll look at the checklist on this It'll be correct there Everything else looks looks correct though But since his is wrong, I will check before we do random this off So good. Look, I don't think anybody had more than one spot. So So that'll for sure be around at the end and if they do I don't think they have more than more than the 50% needed here Markiplier, it's a good idea. It's cool blue Jay's Griffey.  It was crushed 480 plus. Yeah to 99 mookie Dodgers Triple patch auto Yankees nice one here to 27 Andy Pettit Just a teams on the redemption Jersey card Paul Goldsmith to 36 Cardinals. We will not put teams that are not on that card in the random That would be very unfair So 125 Johnny Bench red in a 199 Paul Goldsmith Cardinals The Celtic breakout is here triple Jersey Orias Dodgers the 36 Bonnie's house Roadhouse single rookie Jersey Otto Jake Myers the 50 Astros Gonna take a while don't go on chain. We could do that one Reservoir Donnie reservoir Don's reservoir dogs Do instead of DT we got our side of ET we got DT 9 out of 50 ready Jackson It's like ET he's like, I don't want to do this anymore 259 ready Jackson ace. He's like, I don't want to do it. She's not smiling Triple relic Aussie Albie's that is to 18 Braves DT top load Jersey Otto Brandon Crawford to 99 Yeah, you should see reservoir dogs any time lane puts me on the schedule first already Donnie's to classified school survival guy, that's a good one any given Donnie We're just saying we're just saying anything this point. We're just saying anything 259 Sam Mules of Cardinals to 99 awesome Riley Braves Dancers with Donnie's we do that triple Jersey rookie out of to 99 you help folks Yeah, pretty much and Jersey Walker Bueller to 48 Dodgers They you just say just say Donnie and I'll go walk on Donnie shows that the Truman show it already is the Donnie show right now He really is Not even hypothetical No, you did you did not see the tension out we I think I threw you into this probably But it's a good time, so I will not apologize 299 Roberto Clemente pirates to 150 many Machado Padres We've got you Stremski Frank Robinson and Miguel Cabrera triple patch one of three Unless somebody has two of those teams will also be random at the end Red Sox drew M Orioles Patrick T and Tigers is K Ray. We'll random that at the end. That's really cool Ricky Jersey Auto Cardinals Lars Newport of 75 Don Tannick has been tied Make sense at all Crash in the iceberg Ricky to 125 Abrams for the Nationals to why 99 Corey see your Rangers we get a Donnie's is still the best one Ricky triple Jersey audits and 99 white Sox Jake Berger. Do you work this weekend?  That'll be fun. You got to 259 John Carlos Staten Yankees in the 299 Ripken Orioles Jeff Bagwell Astros to 18 triple Relic Auto Bay State stats Stroze doing very well here and Jersey Card out to V for the Stroze to 36 as well game used Didn't have a pretty good hitting stance It worked out for him to still 17 to go on bowmen everybody Donnie's getting this count specific So 150 calls Korea twins and a 199 Hank Aaron for the Braves redemption twins Alex Kiroloff future phenoms on a rally card Twins and Jersey Card for the raise Randy Rosa Randa to 18 player worn Randy Zuki teenage mutant ninja Donnie's to 99 To 99 Mike Schmidt Phillies Triple Jersey Dodgers Mookie Betts a 27 trade turn in Muncie as well And Stroze rookie auto Jeremy paying yet a 199 Houston goodness gracious It's Frank P. Frank is killing it man. I'm gonna get a box wrap around this one has some peeling on the bottom Grats Astros Congrats Astros Scooby-Don Donnie do instead of Sharknade we got Don NATO Donnie's J rod base to 199 Ohtani Angels in a 75 brick and Orioles Triple Jersey Goldschmidt Cardinals to 27 Thousand runs and Batra like I don't Nelson Cruz as a national to 50 and like 15 years. We're gonna go back I remember Nelson Cruz. He played for like five teams in four years Towards the end of his career I remember Raised Nelson Cruz Nationals Nelson Cruz To 259 Willie Mays Giants into 299 Tycop Tigers Astros again this time is a Craig B. Geo 15 of 18 triple relic auto Astros like going down their checklist right now. It is hitting hitting hitting hitting good names Jersey card Salvador Perez to 36 Royals New Donnie to 150 Brewer's Robin Yacht in a 99 Brewer's Robin Yacht White Sox triple relic Elohim and as to nine Jersey auto Jose Ramirez Guardians number eight of 75 It's a 125 pole Goldschmidt Cardinals and a 199 Tom Seaver Mets triple Jersey auto Tigers are killed by dude in 99 and Jersey Cardinal and our Renato nine of nine Cardinals As we got baseball and basketball to fill up a lot of breaks with spots left here. What did mine? Suspended for 299 Correa twins into 150 Chris Bryant Rockies You lay him and a triple Jersey to 36 White Sox and Jersey auto Padres Luke Voight to 99 Otani the 125 Angels into 199 Mookie Betts Dodgers Blue Jays Boba Shat triple relic auto nine of 18 200 hits 30 homers 40 doubles and Jersey Card Ray's Randy Rosaranda 36 player worn First question that everybody's coming up You're gonna be like how many innings are there I'll survey the 299 Astros and the 299 Griffey, but since wrong sorry 259 out to be 299 Griffey triple Jersey Eckersley to 27 triple Jersey auto for the A's Dennis Eckersley and And bat relic for the Mariners Kyle Lewis to 27 So like with how many games baseball plays how do they determine like their schedule? They play in series. So there's not as much travel 259 satchel page for the St. Louis Browns goes to the Orioles And a 299 Albert Pujols Cardinals Triple base relic who else but the Astros Tucker Alvarez L2 Bay six of nine Astros continuing to clean up here. You also got a jersey out of Yuli Gurdiel to 75 That is player one Like I know it's series-based, but like you only have five teams that you're Playing against pretty much like that's only me like a division Yeah, no they took away the division play as much now. Oh, wait, so it's Do you play against every team like it's like a best out of however? It's just it's so many games So Patrick, they just go to like randomizer.org that's put in a random All right guys, we got to get Bowman filled up we got to get those basketball mixtures filled up I figured it'd be the same concept bond. I just don't Like without how many times they play it was just I don't know never really understood What do you mean like not understand it like they just play Series against each other really Rookie to 259 say a Suzuki Cubs and Bobby Whit 299 Royals Like three or four sometimes just to game use man to 27 Reese Hoskins smashing strats for the or for the Phillies Sorry Phillies and Jersey auto Padres Blake snelton 99 and raised tied the record for the best start I think I'll win tomorrow It's a 50 hobby bias for the Tigers and Hunter Green Reds rookie to 299 White whale one-of-one Phillies Mike Schmidt Triple patch printing plate. Oh, that's gonna go in a minute. I'm not gonna save one out of one with the awesome partial logos They're blasts and steels big stuff for the Phillies there in Jersey card Red Sox Chris sailed 27 That's okay. Travis Red Sox just stink right now Is what it is 299 Jared Kellnick Mariners and 125 Jackie Robinson Dodgers Triple Jersey Red Sox Devers Bogarts and Martinez the 36 and rookie auto Cardinals one. Yep as 17 of 75 Yeah, Blue Jay is just the most complete team they've played so far for sure Top of the AL East is a crowded place to be the 150 Shane Bieber Guardians and the 99 Vlad Guerrero Exposed to go to the Nats and Robin you out triple relic auto brewers 23 of 27 Jersey card twins Sunday grade at 27 game used That's probably how it goes Rory That's probably how it goes Rookie to 199 CJ Abrams Nationals and a 75 Austin Riley Braves Jaren Durand rookie triple Jersey to 27 Red Sox Game used greatest hits there and rookie auto on card for the Padre CJ Abrams to 199 It's 199 Vlad Guerrero Nats go to the Expo's and Expo's go to the Nats and the 99 Corey see your Rangers Braves again here rookie triple Jersey auto Kyle Muller to 75 and Jersey cartridge to McKenzie to 49 Guardians Let's see Bowman is at 15 now nice What is early times? Yes, the the guy's gonna drink it. Yes, I don't know like Yeah, I don't know what early times is Oh bottom shelf bourbon gotcha See ya sounds like we should buy something to do a taste test Not a question for me Not a question I'm prepared to answer it looks like we're at 14 to go now noise noise To 125 trout angels and to 199 to Freeman Dodgers Triple Jersey auto Tristan McKenzie Guardians to 50 Jersey card Chris sale to 48 Red Sox game used To 150 illy him and his white socks and 199 trout angels Triple relic to 36 carp con junior Orioles game used Legend die-cut and Jersey auto could Brian haze the 50 for the Pirates They were marshes up man 25 Mariana Rivera Yankees to 299 Nolan Ryan Astros triple Jersey rookie auto read Devin Rose angels to 75 I think so Shane. I think so Jersey card to 48 Boba chef blue jays Game used next triple threads case. I don't know we hadn't done a triple threads case in few weeks, so Better probably be a little while it's 199 Raphael Devers Red Sox to 259 Roy Campanella Dodgers The Cushion haze and star Jolt to 40 or sorry to 18 triple relic game use pirates Their redemption nice pirates O'Neill cruise triple threads auto single jumbo relic emerald parallel Big bummer that he got hurt He was playing really well San Antonio expansion team that'd be interesting. We should go by the commanders Didn't uh, the didn't the bid get accepted for Magic Johnson group. It's night or nearing deal to sell them So I had no idea what's been going on. It was reported. There was a bid accepted from the group that Magic Johnson was the head of Was it magic Johnson not great like GM or whatever as marriage got money Yeah, but like here's part of the group that bought the Dodgers One of the better teams They're like the best team overall the past decade arguably as far as like wins and stuff It was like total wins. I think it's them Obviously, I haven't they only have one World Series, but yeah, they're they're successful franchise That's not good news Washington, yeah, then they'll be competent. Yeah make good decisions.  Let's go heat Wander rookie to 299 Frank Thomas white socks to 125 Miguel Cabrera Tigers triple relic Mookie for the Dodgers to 18 and Patch on a Royals Andrew Bannon tending number seven of ten. Go nice Royals patch there. All right, let me check some things here We gotta do a couple randoms. It's going to bag or no. No, I should have these leaves Thank you. I didn't say anything. It's like last one My job so used to let's see triple threads DECA auto relic book to Yeah, you are CB to McGuire a's Jackson Yankees That's correct Schmidt Phillies Griffey's a Mariner on that Griffey's a Mariner for that book they are CB to everybody else was correct. Let me type in the randoms here So it was not blue jays the blue jays was obviously type. We never played it for them check. So we got Griffey the Mariners McGee Tigers blue jays was glad junior Reggie Jackson Was Yankees there Mark McGuire a's David Ortiz red Yankees many Ramirez red socks Frank Thomas white socks cool All right guys random time here. So first random is going to be triple relic red socks Orioles Tigers that's a Yaz Robinson and Miguel Cabrera the three there and DECA relic auto book card DECA auto relic combo book card redemption. So it says blue jays for Griffey. We just checked. That's Mariners.  Good luck everybody Good luck We are in Florida seven seven on both randoms here whoever's up top it gets the Guess the card triple relic first one two three four five six and seven Tigers Tigers get the triple and seven times on the DECA Good luck everybody one two three four Five six and seven red socks up top grads on those. Let's do a recap now Yeah, we are just north of Orlando our so You'll leave a night. It's like 20 minutes. You believe during the day. It's like 50 minutes. Oh, it's what the difference Friday afternoon it probably takes three and a half hours The same Friday afternoons are crazy, man Anyway, relics we got in Mookie you on one kind of triple pirates bobechette Cal Ripken Chris sale Tristan Mackenzie Jaren Durant, Sonny Gray as a twin Devers bow guards Martinez Chris sale Reese Hoskins Kyle Lewis got triple bases of Tucker Alvarez. I'll to be Rainier Rosarana Elohimenez Aronato Eloy Salvador Perez Paul Goldschmidt Mookie Turner and Muncie for the Dodgers a Rosarana again More relics of Altuve Rizzo in the triple Mike Yaz Walker Bueller Ozzy Albeys Julio Urias Paul Goldschmidt Dustin Padreia Carlos Correa trade Turner Jose Ramirez Jake Cronoworth and Tucker Autos now have been in Tendi for Tez on your cruise redemption for the pirates be a nice one to get Detmer's Brian Hayes Tristan Mackenzie Kyle Miller or sorry Muller Kyle Muller CJ Abrams Robin the Outs Juan Yepez Blake Snell Dennis Eckersley. You'll be good.  You'll help ozo Brandon Crawford Jake Myers Andy Pettitz Dylan Cease Carlton Fisk as a white socks Alex Bregman Rowanze Contreras the Deca went to the Red Sox and the random congrats on that one White whale one-of-one Mike Schmidt triple patch auto printing plate Phillies Rookie auto Jeremy Pena Astros and Ruby one-of-one Matt Chapman patch auto for the Blue Jays That is gonna do it. Thanks again everybody Moving on to 2020 Bowman


Piki blinders season six review. Hey what's up guys it's Josh here today I want to do a little review on Piki blinders season six now I don't think I did a review of season five so I am missing season five I will probably do a review on that I kind of want to rank all the seasons but another thing too is I usually do a pro and a cons in a rating but I'm just going to shoot straight off the cuff having just watched this season well finishing it yesterday I was actually blown away by the first episode of this season I was like man this might even be in my top three it was very intense it was very like emotional that first episode just blew me away 100 percent this season I'm just very mixed on it there's a lot of aspects that I did like a couple of good ideas that I did like but also you know I feel like it kind of misses the mark in other areas there was a lot of really drawn out scenes in here and I don't know if that's because we don't have Pauly I think Pauly was supposed to be in some episodes of Piki blinders season six but she's literally gone maybe some of the scenes were meant to have Pauly in there I'm not sure and then also I mean this is just me personally there was a whole subplot of Tommy's daughter getting sick to me it just felt like a big waste of time maybe it didn't for you but I just felt like you know as soon as I saw it coming I was like wow we're gonna like spend a lot of time on this it really doesn't even make a lot of sense to the story because she just like randomly gets sick you know what I mean it's not like somebody took her or anything and so we ended up spending episodes two and three almost fully just grieving over this daughter which to me I just wasn't really invested in once episode four five and six come around it does speed up quite a bit and it does get pretty good again I don't know if it ever gets as good as that first episode but it was also interesting that the finale here was like an hour and a half but at the same time they left so many things open like it's hard to believe this is supposed to wrap up piki blinders when Tommy lets like multiple bad people just go that never happens in piki blinders he always like pretty much gets his guy except for season five which I wasn't a big fan of but I'll be getting into that as well for some reason this season felt a little bit deeper than season five for for some reason seasons three and five of piki blinders to me are the most generic and cookie cutter and season six does feel a little bit better I'm not gonna lie it does feel a little bit mas like a little bit more heart to it a little bit more soul a little bit more flavor which I did appreciate and it was just a very very weird weird ending again I'm just gonna I'm didn't say this before but I'm going to be doing some spoilers so you've been spoiled just letting you know the ending was just so very weird you know in the middle of the season Tommy gets secretly diagnosed with this kind of cancer that's going to basically kill him in a year Tommy pretty much doesn't tell anybody he kind of pretty much gets ready to kill himself because apparently this cancer something is going to render him completely useless and he's going to have need to have all of his family around him to basically help him and he doesn't want that so he's going to pretty much just go kill himself once all the stuff is done all of his deeds are done so he kind of goes out there and then the last like 10 or 15 minutes at least from what I remember he gets an epiphany from his daughter to look at the newspaper and then he finds out that his doctor was like a fake doctor trying to tell him that he's sick when he's not actually sick so then he goes and kills the doctor he comes back to his carriage where they're going to burn for him as looks like him dying he catches it on fire he's like oh somebody already burned all my shit up and then he's like oh well I'll just like and he's just rides off into the distance and like it was interesting because you get Tommy still alive it returns him to his gypsy life he's like pretty much dead to everybody he he blew up his house so he's really just were completely returned to his roots as a gypsy and at the same time he doesn't die so it kind of has this story that keeps going but the only things I didn't like was that they left like two main characters alive and one of them Oswald Mosley I don't really mind him that much but he's got to be the worst villain of all the Peaky Blinders I'm not gonna lie like every single one was more intimidating like Sam Neal you had the preacher from number three who in my opinion is the worst like they got me to hate the preacher the most out of anybody Adrian Brody was way better than Oswald Mosley and he gets left alive here you know and then Michael's wife she's just acts terribly and behaves terribly and it's pretty much asking to get killed in here nothing happens to her she ends up cheating on Michael Michael never finds out it's like bro you guys just messed this whole drama up you could have just eaten this up all day and you guys didn't you know Michael's wife's uncle was a terrible bad guy a total player he comes in I mean I think that they ended up doing the deal with the other people so that guy technically got screwed but he's alive he's big evil you got to take him out you know what I mean and the main thing that I remember negatively about this season was just the really drawn out scenes like you'd see a scene that really doesn't take more than three or four minutes to like explain it and it ends up taking like 10 to 12 and it's just like somebody just like oh life's so hard let me have a cigarette and a drink and it's like okay I can deal with that but it's like you got to give me a little bit more substance there so this season overall was pretty good I was a little hot and cold with it I really wish they did something else besides the daughter angle because it just to me was just filling up two episodes and I don't know I just didn't really fit as well as it could have but overall this season was very very washable every season of Peaky Blinders I end up being like you know even though I don't like this or certain things I really don't like that they did that they did good and other ones I could still watch Peaky Blinders and for some reason Peaky Blinders just puts me in the in the right state of mind you know and I was watching Dexter recently and I remember Dexter being one of my favorite shows and Dexter just gets me all up in my feelings all the time gets me just thinking about himself because like Dexter's like a serial killer so he's always just got something going in his head just playing in his head it's all about Dexter all the time which is like cool but like when I watch it it just I you know what I mean I don't want to be caught up in myself I want to be able to go out and socialize and stuff and Dexter kind of puts me in a box but anyways guys that's been my review of Peaky Blinders Season 6 definitely near the bottom but like I said Peaky Blinders is so freaking good that I wouldn't mind watching the worst season so anyways guys let me know what you think of Peaky Blinders Season 6 we're on the road of 50,000 subscribers and I couldn't do it without any of you guys to help you guys are the best I'm having a great day out here hopefully having a great day at home see you all in the next video peace


Hello, my name is Ndika Nandarias. I've been working in IT since 2008 and more precisely since 2016 in the innovation and technology surveillance department of a bus government informatics society. So how to survive high demand services? Well, it sounds a little bit dramatic. It's like a dramatic title. But it's nothing that you haven't heard before. We may do it differently, of course, but I'm sure that we are all looking for something to achieve this goal. And this presentation is to show you how do we approach this problem in a high demand services called ITULE. Well, a little bit of context. ITULE is a set of online tools to promote the use of Basque language. Basque government knew that if a minority language like Basque didn't have its spot in the digital world, it would be a problem or a risk for the language itself. So ITULE was born to solve part of the problem. It can translate from Basque to English, French, Spanish and vice versa and also can perform text-to-speech and speech-to-text operations. All these operations are based in AI models, trained with public and Basque government data. Most of them run in GPUs looking for better performance and to offer a more resilient services, they are deployed in Kubernetes cluster. But how we manage to survive to this kind of services is what I am going to talk about, not about ITULE itself. And to go through the presentation, I will use quotes from the TV series Game of Thrones because in that TV series, in that show, they have to survive too and they have to face a lot of threats. So having said that, let's start with a quote from Gideon Lannister. Well, that's what I do. I drink at 9-0 things. Well, the most important part of this quote is not the I drink is the I know things part. And like we all know, knowledge is power and for us the power comes from what we know about our services. And the first things that we all want to know about our services are numbers. Numbers of requests and IPs. Well, nearly 400,000 requests condensed in 12 hours are answered by these services. Those requests are made from almost 30,000 distinct IPs. And for us, those are a lot of requests. And if we're taking account that each request prints at least one logline, there is a lot of information to be processed. In order to obtain that information, we have to collect that loglines. And which is the process that we follow to collect those loglines? Well, like I said, these services are deployed in Kubernetes. So we use the SideCard pattern to solve the logcollective problem, deploying our applications with a logcollector agent running in the same pod. In our case, a logcollector in this flu and D. But why do we use the SideCard pattern? Well, because we want to deploy the logcollector agent like a piece of our services but detached from them. And because it will run in an asynchronous mode. Every minute, flu and D will read the application logs and send them to Datadoc. So logs are in Datadoc. We can build dashboards and see statistics of the service. And this information is very helpful for us because we can understand how people use our services. And in some point, we can decide if we need more resources to improve them. But why do we use flu and D and Datadoc? We use flu and D because it's open source, of course. It's simple and easy to use and configure. And it has a very small footprint. And this last feature is the most important for us because like I said, we are running this SideCard pattern. So we are going to have this container replicated in all our pods. So we don't want a container that needs a lot of resources. And why Datadoc? Well, because it's a cloud service. It gives us the possibility to build real-time dashboards that we can share with people with no technical background. We can perform tests and we can fire alarms from Datadoc. Okay, let's take a closer look to the flu and D image. We don't use a standard flu and D image. We have created our own one. And you can be thinking, why do that? There are plenty of flu and D images out there, for example, in Docker Hub. Well, we wanted to make it easier for developers to read application logs and send them to Datadoc. When developers print log lines, normally they choose the format of those log lines. So we think that they are the best to program a script to read their own logs. And to make developers feel more comfortable with programming the script, we installed Node in the flu and D image so they can use JavaScript to program this script because we think that JavaScript is a more familiar language for them, than, for example, a cell script. When they have that program, they can provide us, and we will deploy that program in our flu and D image automatically to send logs to Datadoc. Okay, but let's take a look to a flu and D configuration file. I will only talk about three lines. The first highlighted line is where we can set the path of the log file to be read by flu and D. When we run our containers, we do it with a T command to duplicate the standard output of the container to a log file. So we have to tell to flu and D where that log file is located. In the second highlighted line, we can set the log rotate command. If we are going to have log files in our container, we have to take care of how many log files and the size of them. And in the last highlighted line is where we set the program to be run by flu and D to read logs and send them to Datadoc. This is a script made by developers. As you can see, we have some default configuration. And in the other hand, we have these environment variables that we can define them in the Kubernetes deployment demo file. But also, informational logs are the keys. We have to bear in mind a quote from Lord Berry's. My little birds are everywhere. They whisper to me the strangest stories. Well, pay special attention to that they whisper to me part. We need the mechanisms to be aware of errors or strange behaviors in our services. And we need something that tells us what is going on in our services that whisper to us those errors. But who are our little birds? Well, in our case, there are no birds, but a dog. Again, Datadoc. But this time, we add another actor to the equation, Microsoft Teams. Well, we live in a collaborative world, so I'm sure that you are all using a collaborative tool or communication tool like Microsoft Teams, Slack, whatever. But our daily working tool is Microsoft Teams. So we created a special channel with a webhook, and when an alarm is fired from Datadoc, it sends us a notification to tell us what is happening. And which are the alarms that are fired from Datadoc? Well, errors, timeout errors, service errors, any log line with the word error in it. Too many requests from same IP warning because we want to know if somebody is making tons of requests to our services, just in case. No activity warning because we take it for granted that if there are no requests in our services, maybe something is wrong with them. And synthetic tests. Okay, here I will explain a little bit the synthetic tests. We run two different tests. We test our API endpoints with HTTP calls, and if we don't get an HTTP response code 200, we file an alarm. And the other test is that we test our website making a navigation test. So let's see some examples of notifications in Microsoft Teams. This has had too many requests from same IP alarm. As you can see, basic information is sending notification, like, for example, the time stamp from which IP where the request made. And specific information about the service. In this case is the translation service. So we are getting how many words were sent in its request. Another example, timeout error calling the API endpoint. Well, in this case, it's an error of timeout. So here we can see what is the timeout that we set, 15 seconds. And the alarm was fired because it took 60 seconds. Okay, with this configuration, we are informed almost in real time of any problem. We can react to those problems very quickly. And we can analyze those errors from the service point of view. But now we are aware of errors. We have information or power. But like Ceci Lannister said, what good is power if you cannot protect the ones you love? Well, and again, Game of Thrones hits the nail on the head. Ceci is right. No matter how much information we have, we need to protect our services. So considering that our services are simple services, our main concern is to minimize the denial of service attacks. Well, we can let that jump to the firewall or to other network control tool managed by other departments, but we love to be able to control the whole service. So at the same time that we were facing this problem, another part of the team was doing a proof of conflict with Istio Service Mass. We were not looking for this feature in Istio Service Mass, but starting the tool, we saw that it met the needs we had. So the solution was in front of us that it was to use Istio Service Mass with a local rate limit configuration. Well, let's take an overview of Istio Service Mass. From top to bottom, we have the Istio English Gateway that is deployed in the Istio system named Space. It's like the core of the Service Mass because it manages all the requests made to our applications. And to configure that gateway, we have to deploy in the application name space, in our application name space, a gateway, a virtual service, and a destination role. Well, we control this part, the application name space. So the most important resource for us is the virtual service because it defines the routes to our application service object and the criteria that the requests have to make to reach those services. Well, destination role is important too because with this resource, you can tell to Istio what happened with that routed traffic, for example, Loa's Balancing Mode or TLS Security Mode. Well, but now we have the architecture, the basic architecture of Istio, and now we have to add the rate limit configuration. So we have deployed the common parts in two different name spaces. The service message itself is deployed and the Istio common name space where the rate limit resources are deployed. I'm not going to get into details in the Istio system name space because more or less we have already seen that in the previous slide, but just into the other one. Well, to have the rate limit configured as we wanted, we deployed three resources. The rate limit software and two Redis databases. One per second request and another one per minute request. We split Redis database in two for better performance because we made some tests with one database and we saw that it was needed for a certain number of requests. Well, in the other part of the slide, we had the application name space. Like I said before, every application under the umbrella of Istio had to deploy its own gateway, its own Bitwa service, and its own destination. With these three resources deployed, applications' owners can manage the traffic to their applications. And if they want to use the rate limit control configuration, they have to create a config map object, a specific config map object. We are going to see an example that a config map deployed for each of these services. Where you want to use our service, we will give you an API token. This token is used in the rate limit configuration to limit the number of requests that can be made per second and per minute. But we don't use only the API token. We use a combination of four keys. The name of the service, that is called generic key, the name of the service, the client IP address, the API token, and the request path. If any request made from the combination of these four keys exceeds the number configured here in the rate limit configuration, it will get a HTTP error code, 429, too many requests from this combination of keys. Well, to see that... I don't know if it doesn't see anything this time. Well, it's a game into the script to make HTTP calls. It's very simple. I don't know if you can see here our five threads in five seconds to make one request per second. So if we run this script... Okay, we find another finger cross demo. If we run this script, we can see that all five requests went well. Okay, let's create that. And we are going to change the ramp up period to three. We are going to make five requests in three seconds. So if we run this script, now we are getting errors. And if we go to see what is the response code, it's a 439 response code. So there is no mic here. It's that simple. Okay, so now we are protecting the service from others. But we have to protect it from ourselves, too. So the freedom to make my own mistakes was all I ever wanted. Man's writer said. Well, we all make mistakes. So how can we earn the freedom to make those mistakes? How can we protect our service from ourselves? Well, what we are looking for here is to minimize the possibility of deploying something that might function of half errors in production. And to do that, we use something called saddle or mirror deployments. And we can configure this in Istio using the virtual service resource. So I'm going to explain this saddle deployment with the graphic. Well, we have for version 1, deployed in production, running. The green arrows are real traffic. And when we run our saddle deployment, we are going to have four pods, in this case. One with the version 1, another two with our release candidate version or with our version 2. But in this case, arrows are in red. That is not real traffic. It's replicated traffic. So users are getting their answers from the version 1, but Istio is replicating the traffic to test our new version with real traffic. So we are testing replication in a more realistic way. We can see if there is some errors, if the performance is better, is worse, and we can decide if that version can go to production. Well, but even so, we are free to make our own mistakes. Errors, of course. And we are going back to Game of Thrones looking for another piece of wisdom, now provided by Braun talking with Tyrion Lannister. If you are lucky, no one will notice you. Well, I want to focus on that no one will notice you. When we deploy something in production, if it has errors or if error occurs, the best thing that can happen to us is that nobody will notice that error or at least a few people notice it. And how can we achieve that? Well, in Kubernetes, we can use the rolling update feature, but with that feature, we pass from the version 1 to the version 2. There are no versions in parallel running. So we are looking for another thing. We are looking at a way to be quieter, to be stealth. Again, we are using Istio features, modifying the virtual service resource. So we start with our version 1 deployed in production, and if we run our canary deployment, we are going to have again four pods running in production, but now all arrows are green. The both versions are answering our customers or users. But with canary deployment, we can set how many requests are going to be answered by each version, for example, 80% from version 1 and 20% for version 2. So with this type of deployment, we can control if there is any error, that few people notice the problem, and if there is a problem, we can go very quickly. Well, we can go back very quickly. We have to change this value to 1%, and the job is done. But to achieve this kind of functionalities, shadow and canary deployments, we need a lot of different jammel files with a lot of common objects in those files. So to avoid to duplicate the files, we use Customize. And here you have more or less the directory structure to run Customize. We have a base configuration where the common objects are defined, and then we have a directory for each type or kind of deployment, one for the stable deployment, another one for the mirror deployment, and another one for the canary deployment, because between those deployments, the only objects that change are the destination rule and the virtual service objects. So I have a video that I think that it doesn't see very well. Well, the first step to make that possible is to deploy the two versions. In this video, we have the version one of the application, that is this one, and we are going to deploy the release candidate version. We use Jenkins to automatically deploy our versions, so maybe it's not... Well, we can launch the release candidate version from Jenkins. We have to change the version, of course, and now we have the stable version, so we are going to change it to release candidate with this version. Okay. What is happening? It's going very... So, now we have seen the logs of the stable version. To make some tests, we are sending from Portman some requests, and we can see in the logs that... Well, APA demo temporal, APA demo temporal is used to make the request, and they are used around this postman runtime. It doesn't work. Okay. Well, in the meantime, we can see in the Kali dashboard how is going our request, because we have tested from Portman, but we have configured to Jmeter script to the request without end. So, here we have 1.36 requests per second, going towards stable version, and if we go forward, we have our release candidate here. It doesn't seem very well. This is our release candidate. Here in the tags, you can see version release candidate. So, now, the second... The step of our deployment is to change the virtual service configuration to be able to distribute the traffic, or replicate the traffic between our versions. So, we have another pipeline in Jenkins to do that, where you can choose the application to be modified, the kind of deployment that you have to do, in this case, mirror deployment, and the percentage of the request that you want to replicate. In this case, we are going to replicate the 100% of the request. So, we launch the pipeline. Well, suddenly, we are going to see how this graphic change. We can see... Okay. Now, all requests are going to their stable version and to the release candidate version. The traffic has been replicated. We can see 2.24 requests per second. And Istio will balance the percentage of the request to 50-50. Because we are duplicating the traffic, we want to replicate the 100%, and now we have the 50-50 request going to each deployment. Well, and if we go back to see the logs of our release candidate version, now we have logs that are replicated traffic. And with this, we are going to launch the Canary deployment. Well, when we launch the Canary deployment, we have to choose how many requests are going to be answered by our stable version and how many requests are going to be answered by our release candidate version. In this example, we are going to choose 70% and 30% to the release candidate. Okay. And if we go forward a little bit more... Well, now Istio is not replicating traffic, so we have 1.70 requests per second. And if... Well, they don't see it very well. And here, we can see... No, we can't see it, but... We will see how many requests are being answered by each deployment. So, we are going to go back to the presentation. Well, to Samal. We have collected data. We have information, so we have power. We are able to be aware of errors. We have a surveillance system. We can protect our services from others, so we build some structures to do that. We protect the service from ourselves. We can test our applications or weapons with a problem. And we can deploy applications in production in silent mode, so we can be a stealth. So, now we have all that is needed to survive in the game of thrones.  There is no middle ground. So today, we are winning. Let's keep it that way. We have to improve this architecture, this configuration. But, because in the future, who knows? So, that's all. Here's my contact info. Thank you for listening. If you have any questions, I don't know if we have time.


It's DDK and I'm back today with another DoorDash video. Huge shout out to everybody tuning in and if you aren't subscribed, make sure you subscribe but I need everybody to stop the video right now and give me a thumbs up. Let's see if we can get to 50 likes. We still haven't got 50 likes yet so let's see if we can do that. Today is December 12th. It is the Sunday and we're about to start dashing. We actually have our first order for Walmart right now. Three orders, 10.7 miles for 21.50. Let's go get this money. We are here baby, Walmart. Let's go. Hello, how are you doing? I'm fine, so I'm just helping somebody out here. It's very, very nice. Hello. I had DoorDash pick up for Jerome. He's like three people. So you had three people in yours? Yeah. I'm just gonna give you the third one too. And the stage one. Okay. Thank you, I've got all these four things on here. Usually they don't have the stickers on there. They only be one. And I have this right there. So this is Sarah. We're about to have a good Christmas, huh? We're ready to go fit in the car. So we are here to drop off the pony. I'm not gonna do it ahead of time because I don't want to ruin someone's Christmas because I did not want to do it first. They gonna be able to see the pony so. The answer is if not, I'm just going to leave it here. I don't really want to do that but I already tried to call, text and everything. Hello. How are you? I'm Jerome with DoorDash. I have your Walmart order. I think you have the wrong... Is this 1708? It's a pony. I think it's someone's Christmas gift. Oh, okay. And I wanted to make sure I knocked first because I didn't just want to leave it out here. Oh, yes, thank you so much. You just want me to bring it? Yeah, it's fine, thank you. Okay. Thank you so much. You're welcome. Thank you so much. All right, you guys have a great day. Hello, my name is Jerome. I'm here with your Walmart delivery. I won't be leaving it right downstairs by your mailbox. So just so you know that. Well, I'm just gonna talk to the lady since she about to come and get it. I don't think you can get in here. Yeah. Ever since we got that extra $8, I started calling them because maybe it's the wrong address and I get the $8 again. You know what I'm saying? Hello. There you go. Thank you. You have a great day. Got one. McDonald's 625 for 3.5 miles. Let's go. We are here, baby. Hopefully it's open. Definitely want to go to that drive through. Oh, don't do this to me. Okay, it's people now. I've seen stuff. Maybe just to open that door. Let's go. Thank you so much. Excuse me. What's the boy again first? 899-829. Appreciate you. Just like that, we're here, baby. So, let's put this on the side right there. Don't know what's next. I didn't want that photo, but y'all already know though. Well, it's back on the door. Here we go. Got us one Walmart 2 items, 6.9 miles, 9.75. Let's go. We are here, baby. Walmart. Get this Walmart money, baby. Okay. That's Stephanie. I'm willing to borrow some of her for the world, boy. Two Chipotle orders, 4.9 miles of 10.55. Let's go. We have two door dance orders, one for Ryan A. and Eric R. Yeah, we're buying it now. All right, thank you. We are here, it said, drop it to the front door to not ring the doorbell. Just right here. Oh, but a little bit more, just so it makes me want to push it and hit it. Here we go. Here, this one says to not ring the doorbell, too. Sorry about that. Here's that right here. But guess what? Not able to take a photo, which I don't already know though. Ramp speed, we go. Walmart order, $11 for 4.3 miles, it's 27 items, let's get it. We're a baby, so drop off this. Hello, you're welcome. It's still a few more bags, man. For Joe Osco, two items, 5.2 miles for $10.50. Let's go. Hello. Hi. I have two door dance orders, one for Christopher and one for Julia. Yeah, Christopher. The customer, Christopher, you have the number, right?  Is there a problem with his delivery the first time? Oh, okay. Yeah, this is the second delivery. Oh, okay. And Julia, what was the second name? Yes, ma'am. Thank you. Okay, we'll bring it right out there. Brother, I'll support you more. Okay. Leaving Jordan now, so I'll be here in about eight to nine minutes. Okay, but thank you very much. I'll see you soon. All right, you're welcome. Bye-bye. Someone else didn't get to deliver. You're welcome. You have a great one. Yeah, I'm here. Oh, I forgot my mask. It's okay. I'll assist. I just have to put it right here on the map? That's fine. Thank you. Walmart, four orders, five items, 34.8 miles, $36. It's not going to be 34.8 miles. We're going to configure it and we're going to let you guys know how much it really is. Let's go. We go to the mall to drop this first one off. It's actually only 47 minutes, 19 miles. You get this 3650, get with me. This is the only bad part about it. We got to go to the mall, but it may be good, get some more exercise, as long as it's not hard to find. It has to go to the fun flatable switch. I don't know, because I don't go to the mall. So I will remember to read the plan, you know what I'm saying? And then shoot, I try to go to like small stores to get shoes and stuff because I don't like going to big stores. Just too much on the hassle. Hello. How you doing? I'm doing fine. I'm just going through here to go to somewhere else. Okay. He's trying to get that money. Sometimes, that's what I do with that car sale. I don't even know. Oh, there you go. Perfect. Let's go. Do you work here? Yes. Okay. I have a Walmart delivery for here. I'm not sure. Oh, soap. That's my soap. Yeah, I'm the manager here. Oh, okay. So, Hannah's the customer. You are good to go, man. Have a great day. Huge garbages can, luckily. I thought the moment we have to take in the mall. It's so big, too. Let's go. Don't give me doggies. Give me doggies. Second to last. We ain't doing, we got a lot of cars here, so we'll have to just give them a shot. Let me take the car off. Put the car right in my mouth. I don't know if that's enough for me. Hold on. We got a beautiful garage door. This is amazing. I love that. If you're watching this video, whoever you are, great job. That's on us. Hello. This is the last one, guys.  Take the photo. We're on our way now. We're on our way now. We gone. I'm dual, 2.4 miles, $8. Let's go. I'm going to have to do that for Aaron. You're another one for Aaron. You're like the fourth person to come right in a row for that. It's gone. Oh, so it's gone. Okay, so it was already weird because it was saying come here, but it was saying go to somewhere else. Yeah, you're the fourth person for that order. Well, I was going to do that payment. No big deal. Okay, sorry. All right, thank you. No problem. I have an order to pick up from Joel and when I got there, the lady said that the order is not there and I'm like the third person to come and try to get it. Okay, I'm losing my frequency for you. So how long you're on? Let me just pull up your order here. Okay. Would I be compensated for that or how does that work? Did you say that again? I said, would I be getting compensated when I get half of the pay since it's being canceled? Yes, you would. Yes, you will. Okay. And that is what I am processing right now. Okay. Thank you very much. Please just stay connected while I am processing your payment, okay? Okay. Thank you very much for your patience. So it is dinner time. Well, it's not actually dinner time. It was like 4.19. We're only going to get to about six o'clock today, but we are at 1.13.80 right now and we're on our way to McDonald's to pick up this order for 10.25. I just need you guys to comment below and let me know how much you think we're going to make before the end of the night. I hope you guys enjoyed the video. Again, if you want to subscribe, make sure you subscribe. But if you want to subscribe, be there right now. Give me a thumbs up. Let's get back to the money. Bam. Thank you. Make it easy, baby. Yeah, this is our order right here.  Hello. I'm going to have a door that 557. Thank you. You have a great afternoon for a night. Here, baby. Too bad. For a month. Not a few. Now they want that door. Y'all already know that door, man. Here we go. World time. 3.9 miles for 7.25. Let's get it. Man, it's two orders. 6.7 miles for 11.25. I'm going to take that also. I'll have to get this money, baby. Here you are, Colin. How did that happen? I don't like littering it off. All right. Thank you, sir. Have a good night. You too. Hello. I have a door dash for Alicia M. What's her name? Alicia. We're 9.50 for Zaddy's pizza. Let's see if it's done. Let's go. She said 15. Okay. Baby, picking up two orders from here. What's going on? It's like every restaurant we've been going to tonight is been behind. Like, I was in that, the first person I went to for a long time, probably like 10 minutes. The pizza one that we just picked up, had it on. That one's not, it won't be done for 15 minutes. And then this one. Yes, sir. I had two door dash orders, one for Anna, one for Minnescent. This is the one for Anna. Okay. Let me make sure. Minnescent. Anna says four items, but I only remember three. So, can you open that? Three garlic naan and chicken biryani. That's right. Okay, that's Anna. And, Millicent, I think we need like five minutes. Five minutes for Minnescent? Okay. All right. We're at door number one. You don't see it doesn't work. Don't break the doorbell. Don't break the photo. We're gone. Okay. Oh, there, buddy. We're home. Door dash for Minnescent? Yup. Millicent. Here we go. All right, thank you. Come on. I think she had a drink. Samosa, Samosa, all of non-65. It doesn't stand. Nope, no drinks. You get it. All right, thank you. Thank you. Look out here. I want the photo, but y'all don't want to remove that doorbell. Gone. Portillo's is probably like 100 or something. It's literally like feet away. Portillo's to the mall for $5. We're at Holland. Order 7.8 miles for $13. Let's go. Oh, hopefully they got us right. They gon' have that copyright music. This joint is packed. Hopefully they got us right with both orders. And hopefully this is quick. See how fast we can get busy. I need y'all to come up below and let me know. Damn, all these people. Look at these. I'm going to let you know how fast we can do this. I don't even know where they're going here. Oh, over there. Is she coming to come through this way? This joint packed. She said it's the fastest way, but I think my way I went last time was pretty fast. This joint got so many people. I don't know much about this joint. I don't see all these people. Let's go and do the mall. There's so many people in this mall. Right here. Here, baby. That's the best gift for us. Hello. There you go, sir. You have a great evening. Me too. So is the end of the night for us. It is actually only 6.22. We stopped at around 6.15, and we wanted to stop around 6. But you know, we had the whole mall thing and trying to figure out and all this stuff. So that was a whole not historic. But we ended the night with 1.6405, which isn't bad. I think that if we would have kept going, we could have at least hit like at minimum like 2.25 or something like that. Maybe more, I'm thinking like 2.50. But again, I hope you guys enjoyed the videos. Make sure you smash the subscribe button if you are subscribed and if you are subscribed and everybody stopped before the end of the video.  I got the email that they're gonna, I'm gonna be getting monetized. You gotta look through all my stuff and everything. So I don't really know how that works. But if it is some ads in here, make sure you don't skip the ads, watch all the ads. I'll see you guys tomorrow. We back at it again. We going, we growing, we flowing. You're already knowing it's DDK and I'm on my way.


Energy is the engine of economic development and prosperity. Growing populations and expanding industries need more and more of it. But can energy power modern economies without heating the planet or polluting our air? Each nation has to choose which types of energy to use depending on its natural resources, industry, agriculture and lifestyles. Nuclear power is one option. It currently produces about 11% of the world's electricity while releasing almost no greenhouse gases or air pollutants. About 450 nuclear power reactors operate in 30 countries. Another 60 or so reactors are under construction, mostly in Asia. About 30 other countries are considering introducing nuclear power. A nuclear power plant uses uranium as fuel. Fuel pellets are combined into large fuel assemblies and placed inside a reactor core. In the reactor the uranium atoms split. This releases energy used to boil water and produce high pressure steam. The steam turns a turbine connected to a generator which produces electricity. Nuclear power can help provide reliable amounts of base load electricity. It can reduce a country's dependence on imported fuel. And it's a low carbon energy option. Today most electricity generation is dependent on fossil fuels. When burned to produce electricity they pollute the air and release greenhouse gases such as CO2. Nuclear power by contrast produces one third of the world's low carbon electricity. Its CO2 emissions are extremely low comparable to hydro or wind power. Nuclear power is not without its challenges. The costs of construction are high. But once built plants are relatively inexpensive to operate and can provide a steady supply of electricity for decades. Like most forms of electricity generation nuclear power produces waste. Methods for disposing of waste with low levels of radioactivity are well established. Highly radioactive waste such as spent nuclear fuel removed from reactors may be reprocessed to use again as fuel. Or eventually it will be permanently placed in repositories deep underground isolated from people and the environment. Every country that uses nuclear technology has a responsibility to do so safely and securely. Following the 2011 Fukushima Daiichi accident in Japan the IAEA made a valuable contribution to improving safety globally. Countries with nuclear power reassessed safety and made improvements in light of lessons learned from Fukushima. The future may offer new possibilities for nuclear power. Remarkable research and development is being done on new generations of reactors. The first advanced water-cooled reactors have already begun operations and more than 30 are under construction. These new designs enhance safety and reliability and are expected to improve economic competitiveness. The development of prefabricated small modular reactors or SMRs is well underway. They may offer flexible power generation for a wide range of users and applications. Fast reactors have the potential to ensure that energy resources will last thousands of years while reducing the volume and toxicity of waste. Nuclear fusion would harness the reactions that power the sun. It holds the promise of providing an inexhaustible, clean and safe source of energy. The IAEA fosters research and development for the advancement of nuclear reactor technology. The agency accompanies both experienced users and newcomers at every stage of their nuclear power journey. It helps member states enhance the safe and secure management of nuclear facilities and materials. And the IAEA advises on decommissioning plants at the end of their operational life. Our daily lives depend on a reliable supply of electricity. All countries need energy for economic growth while working to mitigate the effects of climate change. Nuclear power can help countries to meet their growing energy demands as well as their goals for reducing greenhouse gas emissions.


Howdy guys, IndiePixel here. In this video, we're gonna walk through how to set up an HDA so that we can take advantage of using vellum inside of our HDAs, inside of Unity and inside of Unreal. So I'm just gonna cover the Unity side of things, but we're gonna go look at how to make it so we can assign collisions to our cloth objects and how to set up pinpoints for our object as well as go over some reduction stuff and just the whole workflow in general. So let's take a look at how to get all this stuff set up inside of Houdini and Unity. All right, so the first thing we're gonna do is we are gonna create a new geometry note. I'm just gonna give this a name of IP vellum cloth, something like that, and we're gonna right click on it and say create digital assets and I'm gonna go and set up my namespace. So you just put the tokens like so and then at the end you just do the version number same way, then you can also give it a different label if you want. Done here, I tend to go and capitalize these things. I go and then we wanna go and save it into our project. So in this case, it's my hit directory and so I'm gonna name this folder HDA and I'm just gonna save it right there for now, say accept. Now we're gonna store all spare parameters. Then go to the version number and put in 1.0 and in the parameters, I just wanna go and hide everything because we wanna go and set up our own custom UI. So I'm just gonna set those guys to invisible, hit accept. And just make sure I save the node type and we now have our HDA. So now let's put in the meat of the actual HDA. I'm gonna double click it to dive inside and for this demonstration, I'm gonna just set up a simple grid. You could actually feed in any sort of mesh that you want, but in this case, I'm just gonna make a simple grid here and we'll default it to 10 by 10. So let's actually add that to our type properties. So just right click on the HDA right here and just go to type properties and we can just go then and do an alt, middle mouse click on the label here for the size to promote it to our HDA up there. There we go. Now your defaults, you might wanna pay attention to, you might wanna set that to just one for the minimum size and maybe 50 for the max. This is a simulation, so you could get quite a bit of geometry created from this particular technique system. So you wanna keep all this stuff in mind. So the defaults are 10 and 10, that's good. Cool, so I'm just gonna say apply and accept. With our grid done, we need to apply some UVs first. So it's a good idea to do that. So you know you have the UVs now. If you wanna just verify that your projection plane because we are using the orthographic setup here. If you wanna verify that in the scene view, you just wanna go and select the node and then hit enter in the scene view over here and you can see that our plane is perfectly oriented correctly and we can do a space bar five on the keyboard and to go into the UV view, just to also verify that we actually have UVs, then do a space bar one just to go back or just one if you're already out of, or in camera mode. All right, so now we got UVs, I'm gonna do a remesh. So let's drop down that remesh node and really we're just doing this because the vellum solver likes to work these triangles. You just get more realistic cloth look out of it. So the one thing that's really important here is the size, this allows you to change the resolution of the simulation. So we should probably promote that.  Also inside of Unreal for using the Unreal Engine as well. And so I'm just gonna leave the labels and all this stuff set up by default for now. You can tweak it all later. I really just wanna cover the technique here. All right, so with that all set up, we now have our grid. So I'm just gonna drop down a vellum configure cloth. I'm just gonna wire that in like so and all the defaults will be fine for now as well. And then we're gonna go and get the solver. So we just want the vellum solver. I'm just gonna mouse over the guy to auto hook up those lines there. There we go. So now we have the vellum solver in here. So I'm just gonna hit play just to verify that it's moving. Yep, there you go. And it's actually got some pins there. That's pretty weird. All right, so let's go now and set this up for the Houdini Engine. So I need to actually drop down a timeshift node here to control the solver because inside of the Houdini Engine, we don't have a timeline, right? There's no timeline. And so this timeshift node allows you to push time forward and backwards, which then triggers the vellum solver to run inside of the Houdini Engine. So all we need to do is just expose this frame value to our type properties. So I'm just gonna open up type properties here and just do an alt, middle mouse click. And now we have our frame. One thing you should take note of is just lock this at one. Because if you get zero frames, it just removes all the geometry from the HDA. All right, hit apply and accept. All right, you can also leave that open if you don't wanna have to constantly be doing that. And then finally, we're gonna drop down a vellum post. So let's do a vellum post process. This just smooths things out for you. We'll set the subdivision to loop. You can also put up the blur a little bit as well. Or just promote these parameters to your HDA. All right, then I'm just gonna drop down output note here. And there we go. So now we have a really basic vellum set up for our HDA. So let's go and test this out now. Inside of Unity, first thing, always remember, right click on your HDA and save it. So let's go and test this out in Unity now. Okay, so what I did is I opened up the folder location of where my HDA is. And I'm just gonna drag and drop it into Unity over here into my HDA folder wherever you wanna save these guys.  And now I just wanna drag and drop this into the level. You can put it into the hierarchy, you can put it in the scene view, it doesn't really matter. All right, so you get your grid and we don't really have a lot of parameters yet, but you can see over here in the inspector, if I can grab this guy, there we go. All right, so what we can do is go and change the size. So we can do something like four by four and we can change the overall target size. So to see that, we just go to shaded wireframe there. And we go to something like 0.5, you can see we've got really big triangles. If we do like 0.05, we get really tiny triangles. So you get more resolution out of it, which gives you a better solve. So I'm gonna leave it at 0.2 just to start here. And if I were to increase the frames now to something like 20 and let the Houdini engine run, you can see that our cloth piece is all the way below the floor here. And that's because we're not colliding with anything yet. So what we need to do is we need to go back to our HDA and add some collision properties to our system. So in order to do the collision, basically we need a way to actually import geometry that we set up inside of our Unity scene into our HDA here. And to do that, we use object merge nodes. This object merge node allows us to basically fetch or go and find geometry that the user has assigned. And so to set this up, what we need to do is we need to set this into this object for the transform option. And the reason being is that this will import the location of the objects in the Unity scene into Houdini here. So it's all relative, basically, which is what we want. So I'm just going to wire this into the third input here on the vellumcloth node, which is for collision. And so now whatever we assign inside of Unity will collide with our cloth solver there. And so I'm going to actually name this. I'm going to call this getCollision. And we need to promote this object one parameter up to our HDA. So let's go and do that. I'm going to go to my type properties. And I'm going to put in a separator for this. You can also use folders or organize this stuff however you want. And then I'm just going to do a middle mouse click and an ALT on the keyboard to promote my parameter up to the HDA up here. And I'm just going to call this collision input, like so. We'll call this collision input just to make it clear inside of the editor and hit Apply and Accept. So now we'll be able to assign collisions to our vellum solver inside of the Houdini engine, which is super cool. And to finish this up, I am just going to right click on the HDA and say Save Node Type. And then let's hop back into Unity and test that out. OK, so to get those changes back here inside of Unity that I made to the HDA, I'm going to go and right click on my HDA here inside of Unity. And I'm going to say Show in Explorer. Then go to the location where I've been working on the HDA. So this is a different HDA than the one that is actually inside the project. Now, you could be working on these particular HDAs. I tend to keep them separate just as backup. All right, so I'm just going to copy this. And I'm going to paste it and replace it there. So now it's all imported or re-imported. So all you need to do is go and select the vellum cloth and hit a rebuild on it. And what that does is it basically updates the internal HDA, all the nodes and stuff to the latest version that we just updated. All right, and you can notice that we get this new collision input over here in the Inspector. Well, this allows us to go and assign any geometry, any static mesh from the scene to our HDA. And what'll happen is the vellum cloth solver will actually interact with those pieces of geometry. So in this case, I want to add all these cubes that I set up here just to act as like cardboard boxes or something like that. And so I'm going to go to the HDA here and say Add Selection. And then I want to go and turn on Roots Only. So I can select just these grouped bits of game objects here. And I'm going to turn on collision objects and accept, and those are all the objects that I actually want to collide with. And in this case, I do want to add one more so you can actually go and add a separate slot. And in this case, I want to go and drag and drop the ground into this right here. So what we need to do now is actually go back to frame one, right? And then sim to something like let's do like 50 and see what happens. So now we're running the vellum solver. It's just that you don't get a real time update or anything like that. So it's just skipping the frame 50, but it's got to go and cook all that stuff. So you can see that our cloth is kind of bundling up over there. So I'm going to go and set this to one. But you know, it's actually kind of a pain to constantly go and toggle this back to one and then having to set the sim time again. So it would be nice to actually be able to trigger that. And you can actually do that inside of the HDA by promoting the resimulate button. So let's go and take a look at that. All right, so I'm going to go up here and I'm going to go and expose the type properties. And we really just need to go to the vellum solver here, then go and promote this reset button right here. So I'm just going to do an alt, middle mouse click and that puts it right there. So let's actually move it up with these other values here. And let's actually put a separator between these two guys. So we have all simulation stuff, then we have size stuff and then our inputs. All right, so I had to apply and accept. And then just make sure you save it. And now we can go and update our version inside of Unity. So let's copy our new HDA or the updated version and paste it over the old one over here. And I'm going to jump back into Unity and a rebuild on the HDA. And you'll notice now we have a reset simulation button, which is great. So I can leave this now at something, let's say like 40. And when I want to update the simulation, I can just hit the reset simulation button and it'll re cook. So let's go now and just move this and then just say reset simulation, let it cook for a little bit and there you go. So now we're starting to fold, but you'll notice that we're getting quite chunky results here and that's just because of our target size. So let's set this down to something like 0.1 and hit reset simulation and there you go. So now we're starting to get something a little more realistic. Let's turn off our wireframe just so we can see this. Yeah, it's starting to look pretty cool. So there's a couple more things I want to do and I have an example already set up here. Let me actually turn this guy off over here and turn on the previous version here. So I want to be able to go and pin certain sides of my cloth, like if I want to tie up this tarp or something like that. Well, I can also go and assign spheres, in this case, I use spheres. You can assign any geometry you want to use as a pinning point and hook it up to the HDA. So that way we can control the look of our cloth here a much easier. All right, so let's go now and take a look at that inside of Houdini. In order to pin geometry on vellum cloth, you need to go to the pin points group right here. So this particular parameter right here is actually looking for a group of points to pin. All right, so if you ever hit this drop down, you'll notice there's no groups I haven't set anything up. So we need to set up that group, right? So I'm gonna go and drag these guys up here and drop down a group node. And the way that I want to do this is I want to allow the user to assign any piece of geometry to select an area of the cloth to pin. All right, I just find that to be a good way to let users interact with the cloth and just really art direct it. All right, so I'm just gonna drop down an object merge node. Again, this is going to import geometry that the user assigned. So I'm gonna call this get pins, there we go. And we need to set this to into this object as well. And then we need to promote this object one parameter. So let's go up to our type properties up here. And I'm gonna create another separator. And this will all be for pins. So I'm just gonna do an alt, middle mouse click there. And we'll call this pin inputs. And I do like to keep these lower case, so pin inputs and pin inputs for the label. And everything else is fine, hit apply. And now in the group node here, we need to set the group name first, that's very important, so we'll just do pin. And we want to change this from the base group to keep them bounding regions. Now this only works with points, so we need to convert the group type to points there. And then we need to change this to the bounding objects. So the bounding objects are gonna be all those spheres or cubes or whatever you assign to this object merge node. And I'm gonna feed that into that first input of the vellum constraints node.  All right, so that will allow us to then go and pin the parts of the cloth. So let's hit accept, everything looks good there. I'm gonna go and save my HDA by right clicking on it, saying save node. And then let's jump back into Unity and take a look. So I went ahead already and did a rebuild and updated it, everything looks to be fine. So what we need to do is go and create a new empty game object. I'm gonna call this my pins. And underneath that, I'm gonna create a sphere to act as my pin group. Or the object I wanna use as my pin group. So I'm gonna call this pin 0, 0, 1. And let's go now and I'm gonna scale it down quite considerably. And we're going to then move this over here. And to make this a little bit easier on myself, let's go up to the vellum cloth HDA and I'm gonna set the frame back to one just so I can see where it's starting from. That'll help a lot in on. Also, I'm gonna assign a material I made for this guy, a bright red material just so I can see it easily. I'm gonna call it pin mat. So I'm gonna use pin mat there. And let's now go and put this into position like on one of these corners here. So let's make this a little bit bigger. Just make it easier on myself. There we go. So let's do both these corners over here. I'm gonna go drag it there and then do a control D and move it over here. These two are gonna act by pin points. You need to make sure that it intersects it just so it has some points to select. All right, and then on our HDA here, let's go and assign those two guys.  So I'm gonna go and add selection, turn on my roots only and go and find pins up here. So yeah, except, and then we can go and resimulate. So let's set this back up to, oh, let's do 50 this time and let that cook. And there we go. Voila, we are now pinning our stuff. So you can even go and add a third one in the middle there. So let's do that. And let's make sure we go and grab our group again. So I'm just gonna go like so and hit accept. And let's just remove the original one there. And let's do a rebuild or I could hit reset simulation. And there you go. So now we've got all three. So you can go and pin it wherever you want. Pretty cool stuff. So the last couple of things I wanna do is I wanna make sure that we get a material assigned to this and then I wanna be able to reduce the poly count because you're gonna wanna go and increase the poly count on these things. I tend to go to something like 0.05 for these and then do a reset simulation. You'll end up with quite a bit of geometry and so I wanna be able to poly reduce that here inside of the editor. And so once this is done, we're gonna take a look at how to set that up. All right, so the first thing I wanna do is just assign the material, which is pretty easy. You can just drop down a wrangle note here and go call this unity material. And I wanna make it so that you can assign whatever material you want, especially for something like cloths, you might be swapping out cloth materials quite a bit. So to do this, you say as that unity underscore material is equal to CHS and the name of the property. So when you say CHS, you're making a string channel. So a parameter that'll exist down here.  It's really just the internal name for this particular parameter. All right, and so then we need to promote that to our HDA. So I go into the type properties here and I think I'm gonna put it at the top, right? Because that is, you can just drag and drop it as well. That is all the kind of the base parameters over there. All right, so that is all set up. Let's make sure we set that to the primitives as well. It'll still work on points. I usually just put it on primitives. All right, so the last thing I wanna do is go in PolyReduce. So let's drop a PolyReduce node in here and we are gonna set this to by default, let's say 50%. And I want the user to be able to switch this on and off as need be because it is a heavy operation. So might as well let them run the vellum solver without the PolyReduce. So just make the HDA go faster and then when they're ready to reduce it, let them reduce it with a switch node so they can just toggle between the two different states. So switch, reduce. And now I need to promote two parameters from here, one on the toggle, so oral and the switch node here. So to do that, you can just drag and drop this down here and I think I'm gonna put it up here and put a separator between this just so it makes it easy to see. And we're gonna call this the reduce toggle and we'll call this reduce with a question mark and then we'll convert the type of the parameter from integer over to a toggle just so it shows up as a checkbox in Unity.  So in this case, I'm just gonna promote the percent to keep for now. You can use the other settings as well for now. I'm just gonna say 50% is the default.  So I'm gonna hit apply and accept and then make sure to put the display flag on the output and right click on the HDA save to node and let's take a look inside of Unity. And after rebuilding, I get my new options here. So we have our reduce option here. So I can go and turn this on and then set this to, oh, I don't know. Let's do like 20% and see. There we go. So now we're getting a lot less polys, which is perfect. We can even go lower and see what happens here. So you can really stretch that. Let's set this to shaded and it looks pretty much the same. So the other new feature here is the material. So the way this works is you got to go over to the material you want and right click on it and say copy path and then paste it into the option here and hit enter and that'll set it up. So because we set up UVs, this will work. I went through and basically made these materials inside of Quixel mixer and just kind of blended a few things together. It was a mixture of tarp and custom layers with just some noise on top of it and just kind of blended with the bottom tarp material. Same with all the other stuff here. So nothing here is really all that fancy. So anyways, that is how you set up vellum inside of Houdini engine for Unity. Now the really only differences between Unity and Unreal for this, they both basically work the same way as you need to set up. In this case for this HDA, the material assignment needs to be set to the S at Unreal material attribute inside of Houdini. So just keep that in note if you are using Unreal. This totally works in Unreal too. I have tested it myself. Thanks so much guys. See you soon.