s Highland base rated rookie. Hollow Elite Dominators James Harden. Jokic Hollow. Evan Mobley base rated rookie. Elite Dominators Middleton. Davion Mitchell rated rookie followed by a Lyme Green Eric Bledsoe. 147 of 149. McBride. Come on. Jalen Suggs base rated rookie. Call Anthony Orange. 147 of 199. There we go. Hollow Scotty Barnes. There we go. Rated Rookie Hollow Scotty Barnes. Nice one there. Definitely helps out a bit. Moses Moody and a lighted up Russell Westbrook. That'll do for us. Pretty solid box there. Like I said, that Barnes at the end helped quite a bit. Peckable Time. Good luck, Graf. Peckable Hobby. Start with the Stainless Stars Metal Insert Card. See, Damien Lillard, 81 of 99. I'm going to start with Tobias Harris, 31 of 49. Fred Van Vleet, 78 of 99. Aaron Gordon, 65 out of 75. These are backwards. That's weird. I've seen them before in these boxes. That's strange. Okay. Usually the redemption is bigger. We'll go this way. Taj Gibson Auto, 10 of 25. Taj Gibson is not the last. He would not be the last hit. No offense, Taj Gibson. Very successful NBA player. 10 of 25. Ralph Sampson Auto here, 26 of 49. Ralph. What the heck, dude? This one's Silver, 5 of 25, 26 of 49. I've never, ever seen that. That kind of stinks, but this next card I think is going to help make up for it. Rocky Auto Jalen Green, 66 of 99. Congrats, Graf. Big hit there. And there's a redemption on the back, too. And it is it. Impactable Impression Signatures, Trey Mann. Trey Mann. Sick hit on that green. Two Sampson's. Very strange. Congrats again on that one. We'll get the cards right out to you.  She wants the nothing there. Ten Box Tuesdays tomorrow, everybody. You have Sam doing those breaks. Got some great mixers tomorrow for baseball, basketball, and football. There's some soccer breaks tomorrow as well. I think there's a couple of Merlin tomorrow to start the day. And then Matt is live at, what, 10 a.m. Eastern? He's usually live at 10. Yep. It says 10 p.m. I think that should say 10 a.m. But he'll be live for On the Fly and Personal Box Breaks all day. It should be 10 a.m. for Matt. We'll get that up, what if we're off there? It's Saquon time, baby. The Quads of War, that's what we call those. Guads of War. Alright, let's keep it going here. There's also Personals going on right now. Elite and Gaming as well with Brent. You guys need TCG needs. Oh, boy, Sam. What is it now? What happened this time? Alright, let me write the tag out for Victor here. Dude, I had to show Dylan the, uh, the Morpheus Wrap. Did you watch it yet? Oh, it's so good, dude. I don't know, was he on our Fantasy League? Certainly, me. My team is god-awful. I'm just gonna trade my good players to the highest bidder, honestly. Who wants Cooper Cup? All you gotta do is give me a box of Merlin Chrome Soccer. Or $260 to purchase the said box of Merlin Chrome Soccer. Either way. Done. Alright, Cooper Cup for that. Who else? I got Saquon. Saquon could be something. What if the Giant traded Saquon, dude? Actually, if it was that easy to get that deal, I'm just gonna take Cooper Cup to auction. Dude, Richard probably pay up for him. Richard is not like losing. I don't care anymore. I can't even watch football on Sundays anyway. I'm breaking. So I have no idea what's actually happening. All I know is the Patriots should trade for Lamar Jackson. Everybody, Forest here. A box of 2021 Upper Deck Clearcut Hockey for Victor R. Here we go, Victor. Good luck, man. A rookie Clearcut Auto of Alexander Barbanov. There you go, Alexander Barbanov. Clearcut Auto Base. Sticker's kind of... That's just how it came.  Just a sticker, though. There you go, Victor. Thank you again. We'll get that card right out to you. Sam, do you have the most points in the league? Oh, yeah, I mean, if you're undefeated, you gotta be close to be out there after three weeks.  I don't even pay attention to standings. Someone gets hurt or whatever. Dude, Daniel Jones run all over these guys. Oh, my God. Number eight. Is that Lamar Jackson out there? I could have sworn that was Lamar Jackson. He's got to have more yards than Saquon right now. He has to. All right, here we go, Brian. Everybody, Forest here. Ripping a box of 2022 Legacy Football Hobby for Brian U. Appreciate it, Brian. Good luck, man. If you find you like a nice picket auto those nice receivers would be good too. What dare to tear in the first pack? Brian Robinson Jr. Ford. Oh, that's cool. It's a Justin Fields dare to tear 41 of 65. Heck, yeah. Good luck deciding, Brian. Matt Breed is in the game. Oh, my God. They're just, they're making Saquon just block. He's in as a decoy. James Cook, Kyle Hamilton. We've got a Bo Jackson numbered 91 of 100. He did run for like 85 yards in the play last year. Can you also trade? Yeah, dude. He was too fast for himself. Got Dobbs and Watson. Tyler Lockett, 6 of 150. He liked to fastish, like run that a quarterback had last year. At least through like half the season or whatever. Danny Gray, Alec Pierce. We've got a Skymore on the Dual Jersey Auto Number 97 of 100 Rookie Dual Jersey Auto. Hutchinson and Corral, Silver Rookie Trent McDuffie. Lave, Skymore. Davis and Ojabo. We've got Legends. Anquan Bolden, 165 of 299. Bailey Zappie, George Carlaftus. Jeremy Ruckert, Chrome Rookie. Johan Dotson, Trent McDuffie. Nah, he was better as a Cardinal. Reese Hall, Jacquan Brissker. Minnie, Donald. Anything but Minnie. 49 out of 50. I don't know, 45-90. If you look up comps, I don't know how much they sell for. If it's less than like 50 bucks, I just rip it. Neil and Spiller, Rookie, Chrome, George Pickens. Legends don't have to be old Adam. Kylie Gordon, Tyrion Davis Price and Evan Neil, Rookie, Silver Auto. I know what it is. I mean, it just depends on what they comp for, really. Malik Willis, Tyler Beatty. Very nice one there. Andrew Booth Jr. A Yellow Cracked Ice, 10 of 10 or Gold Cracked Ice, 10 of 10, Minnie. The Bedot, Lloyd. Orange Rookie, Kenny Pickens, 75 of 199. And Juan Bolin was literally a better cardinal. He had better statistical seasons as a cardinal. Like, that's literal. Trill and Burks, Kobe Bryant. I didn't say he was a bad raven, Sam. Even though you get all defensive. Kyren Williams, Jermaine Johnson. You got K-Von Thippa, Doe Rookie. 33 out of 50. You just had a better quarterback in Arizona. He wasn't cash money on the cardinals. True, I forgot about cash money. That'll do it, Brian. Pretty solid box legacy there for you. I got it out to you. I forgot about the cash money. Can't measure cash money on a piece of paper. Or a fancy computer. On a fancy computer, you nerds. It's because the freakin' Steelers won that Super Bowl. That was terrible. Literally took a Super Bowl away from Larry Fitzgerald. It's kind of BS. And for what? So, San Antonio Holmes could have a Super Bowl. You know, I looked at the screen once in the first quarter. And I just got it again. I didn't miss anything in this game. Missed nothing. I'm hoping next week all these games that were low scoring are just like shootouts. Yeah, in the CD drop, that's right. That's right. We all need Saquon, I think. You're like the only one that doesn't. Got Cowboys defense, that's it. Let's keep it going. Everybody forced here, ripping a box. 21-22, prison basketball fast break for Fail L. Thanks, Fail, and good luck. I mean, as long as this plays amazing every week, then Cooper Rush can handle the helm. I don't know, six points is going to cut it every week. Nice, and I would assume a rookie fast break auto. Good start there. Purple disco, Kyle Anderson. One of 75. Kessler Edwards. Pat Ewing. I need four more points for Saquon. Dude, just like two catches, basically. Wide screen disco, Donovan Mitchell. Got Carmelone, jazz. Herbert Jones. I mean, that focal block is the difference right now. Silver DeLon, right. Blue disco, rookie Marcus Segerowski. 37-150. Disco fireworks, Donovan Mitchell. Dude, Broncos 49ers was amazing TV last night. It was dramatic. It was tragic. It was unbelievable. Disco, Ty Jerome Thunder. Chris Duarte. I love it. I couldn't predict the next thing that was going to happen. A Ty Jerome. Bronz disco. 11 of 20. Red Magic Johnson, numbered 5 of 100. Bones Highlanderookie. 17 puns, almost 900 yards. That's amazing. Disco prismatic, LeBron James. Vince Carter. Luca Garza. You might have to talk louder. Disco prismatic, Devin Booker. Bones Highlanderookie. Disco. Bones Disco. Crush Aaron out again. Almost had him. Devin Colbert is so good. I'll make sure I tell him that. Zyre Williams. The rookie photo variation disco. Nice Zyre. Disco, Donovan. Kispert and Boston there. Dude, Colbert is so good. I don't know why the guy didn't like it. I don't understand. Disco, Fearless Shaquille O'Neal. Well, he did make the mistake of ordering the fries. Disco, Isaiah Stewart. The fries are terrible there. They're just like nothing. They're like a net zero. Rookie, Evan Mobley. Last pack. Disco, Fireworks of John Morant. A blue disco, Chris Boucher. 131 of 150. And that'll do it. Thanks again, Fail. We'll get the cards right out to you. What did he get? I honestly don't know. What did he order, Sam? He told Sam he didn't like it. Then the other day he asked me if I wanted to go get it. He probably thinks that he did something wrong. He's like, oh, dang. Everyone else. What did I do? I was like, dude, maybe you just got it on a bad time. But it's always been consistent every time I've had it. And it's like location, location too. They're like the burger version of Chick-fil-A. They're just straight up consistent. It's not the best burger I've ever had. But for fast food, they're going to cook your food. The Truman Swiss is good. The Butter Burger is even better. The chicken sandwiches are even good.  Dude, I even had the fish sandwich there. Because it's cod. It's good. It was really good. Because I was like, someone told me in chat. They're like, you got to try it. It's like cod. So I got a burger and I was like, I get a burger. And then let me get the fish sandwich too. And I had them both. Yeah. It was a jit. It was a jit. Because I had to play a fish years and years ago. And I was like, dude, this is not it. This ain't it. This is pretty good. Had that really light and fluffy batter, dude. That's how it should be, yeah. Yeah, it was awesome. Culvers. Anyway. Culver's Double Butter Burger, the way to go. Everything on it, loaded up. That's the best. McDonald's is all right, I guess. I haven't been to McDonald's in forever though. There's so many better options everywhere. I never really have the urge to go to McDonald's. Like I said, I don't even know the last time I've eaten it. Probably like a couple years ago. There's like always a better option. Like really close by to a McDonald's. Yeah, I won't go to Burger King either. I'm good without the taste of liquid smoke. Lingering in the back of my tongue for two days. Five court kings. Keep going. Everybody forced here. Got five boxes of court kings basketball from 21-22. For Adam M. Here we go, Adam. Time for a big level four rookie. For some short prints. Let's do it. Yeah, there's certain things in McDonald's that are good. I just, overall, I just don't really ever want to go there. I'd say it's horrible. I just never, never, never desire it. Jack in the Box is the bottom of the barrel, but like, I'd go there over McDonald's, I think. Siakam Town, Saigila's, Alexander, Giddy, Ricky, level one. Got a level two, Santi Aldama. A first steps. Evan Mobley. Evan Mobley. Blue foil. Three of 25. Nice Mobley first steps. Great start. And a moody rookie jersey card. Fresh paint. Kessler Edwards, Ricky Otto. 105 of 149. That is a works in progress, Josh Giddy. And a first steps, Jonathan Kominga. Good first box. Let's see a big Otto now. McDonald's or Chips Ahoy. Jump off a cliff. Kevin McDonald's. At least I can have like two or three or four Chips Ahoy and not have like a week long stomach and headache. Kevin Durant, Pascal Siakam, Carl Anthony Towns. Jeremiah Robinson, Earl, level one. A level two, Josh Christopher. A nice graffiti grates. Dennis Rodman. Purple foil, 24, 49. Jersey card, Pelican, CJ McCollum. Game worn as a member of the Blazers in the Jersey. Sean Campotto, holding court. That's sick. 30 of 75. His Otto does not fit in that sticker. It didn't fit. You had 20 McRibs in a month. You're still alive. That's honestly impressive. Congrats on living. First steps, Moses Moody. Yanisante de Cumpo, Maestro's. If you told your insurance company that, they'd drop you. They'd be like, no, we are not insurance. No. Like, this is a massive hazard. Garland Leverts. Josh Christopher, rookie level one. Level two, Franz Wagner. Mike Conley, Ruby Foil, 89 out of 149. Who do you guys think Conley's getting traded to? He's got to get traded, right? Him and Jordan Clarkson. Rookie expression, Jersey. Scottie Lewis. And era parents. Rookie Otto, Cameron Thomas. 16 to 99, solid hit there. A McLobster. Where was this? In other countries, McDonald's is good. Like, it's good food. Got works in progress. Jared Butler and James Harden Maestro's. No flag. No flag. Let's go, baby. Sweet victory. Yeah. Best fast food cookies. Chick-fil-A's are pretty bomb. Weirdly, like, I wouldn't call them, like, amazing. But I crave those cookies. I don't know what it is. They would say, he's too good, man. Get him off of the Giants. We would see this every week if he was on another team. Oh, my God, the Juke. What was that? And then he speeds up to, like, 20 miles an hour, like an instant. Oh, my God, dude. Drew Holiday, Miles Bridges. Camanga Rookie Level 1. Level 2, Robinson Earl. A. Maestro's Red. Jason Tatum. 84 of 149. Got Andrew Wiggins jersey card. Josh Christopher. Fresh paint rookie auto. Number 65 of 199. Honestly, I would not be surprised if subway cookies had nicotine in them.  Graffiti grades, Charles Barkley. And Works in Progress, Keon Johnson. Last one. I don't think MSG is very, like, like, you don't crave it. It's just, like, filler, right? MSG? It's not good for you. It's not, like, horrible. Just, like, non-nutritional. It's added. Collins Jackson Middleton. Got graffiti grades. Clay Thompson. Blue Foyle. 11 of 25. Nice clay. I ought to assume we're a rookie expression jersey. Nothing at Subway is real food. It's all, like, Play-Doh. Joe Weiss can't fresh paint rookie auto. Numbered in the 79 of 99. Got Lonzo Ball Maestro's. Enter graffiti grades. Magic Johnson. Thank you again, Adam, for the order. We'll get those cards right out to you. Yeah, like, nothing at Subway is, like, legitimately good whatsoever. I know a lot of other countries don't classify their food as... Their bread is bread because their sugar content is so high. That was, like, a whole thing in what, Ireland or Scotland or something? It's, like, the things that, like, flies won't even eat. Flies will fly around your kitchen. There's, like, a Subway sandwich. They don't even touch it. That's, like, margarine. That's why, like, I don't... Yeah, margarine? Nah, dude. Don't do margarine, you guys. Don't skimp out on things like that. There's no butter every time. Margarine is a no-go. I think we've hurt a lot of basketball tonight. These are mostly basketball. Thank you, Saquon. Oh, my God, he's so good. That's an insane run. See, I told you, he got to, like, he just burned. He beat everybody to the pile on. After juicing two linebackers, I don't understand. He's too good, dude. He's too good. Oh, it feels good to win on my dynasty league. There's still space for personals. Gonna refresh here. I need to go gather now. Nothing wrong with all of them Subway meatball subs. If I guess on them from Subway, it's gonna be a meatball sub. Probably wouldn't get anything else from there. They're, like, okay, you know what I mean? Like, they're good enough. But, I don't know. For, like, chain, I'd go somewhere like Jersey Mike's. I move to Publix here. I'd do something like that. Jersey Mike's is a fine... For, like, a chain, it's fine. Firehouse is okay. No, there's not, like, any good sub shops here. Okay. You could find them, but they're... You have to go out of your way. Like, it's just so many chain restaurants here. There's good food in central Florida. But, like, you have to go out. Like, good pizza you have to go out of your way. Except, except Bella Napoli. Dude, I live over there. I live over in a garden. It's, like, the only place I'll go for pizza. I don't think I've had pizza from anywhere from there. It is legit really good. And I'm surprised because when I first started up there, I'm like... This is, like, the oldest most rundown shopping center I think I've ever been in. That's how it always works, I swear. Half the parking lot is dirt. There's never parking on, like, prime time. You have to park, like, in a field. Yeah, that's true. But the pizza is so good. I think it's the best pizza I've had in Florida. Everything there's good, too. I'll get, like... I'll get, like, a sub. I'll get, like, a pasta dish. I'll even get, like, a Caesar. I'm, like, even a Caesar. Like, dude, I got meatball parm sub from there. Yeah. It was really good. It's pretty fire. What's up, Spider? Doing good, man. I'm doing good. Yeah, Chick-fil-A cookies are really good. My brother used to work at a Chick-fil-A, so he'd bring home food quite a bit. And that's what... After eating so much of it, it was wide open. We're about to tie the game up, aren't we? Hey, a lot of it. The best thing I can say about Chick-fil-A is their consistency. None of it is, like, amazing, but all of it is good and it's always consistent. That's the best... That's Chick-fil-A, though. That's how you make a good fast food chain, is consistency across every single location. But I haven't actually paid for Chick-fil-A in, like, a year. Give me that Popeyes. Give me the verbal abuse from Popeyes with some of that red beans and rice dog every day. Gonna refresh again, guys. I see more orders coming in. I'm gonna go gather here. I mean, I don't really have a soccer club. I'm hoping... I'm rooting for Nottingham Forest.  I just want to watch good games. All I know is I'm about to get real disappointed when the U.S. doesn't get out of the group stage of the World Cup. Gonna get real disappointed, right? I mean, it's inevitable. It's gonna happen. We're not gonna make it, but... What can you do? What can you do? All right, cool. I'll be back, guys. What can you do? Yeah, they have a shot because of Wales and Iran. But... I mean... Yeah, they'd be, like, one of the worst teams to get out of group stages, I think. If they do. All right, here we go. Next three is Graf, Brandon, and Yusuf. Everybody forced here. Ripping three boxes for Graf. Graf has a 2022 gold standard football hobby. A 21-22 impeccable hobby. And a 21-22 doner-topic basketball hobby. We'll start with Optic. Good luck, Graf. Thank you very much. Good luck. Black Velocity rookie here. Yeah, England and USA on Black Friday is gonna be awesome. USA gonna get whooped, but it's gonna be awesome. The memes are gonna be great. Got lighted up, hollow Kyrie Irving. Kispert rated rookie. Elite dominators was Yannis. Garuba with a red Christian Wood. 23 at 99. Hollow Sadiq Bey. Auto coming. Come on. It's an Aaron Wiggins base rated rookie auto. Elite dominators in bead. Hollow rated rookie Josh Christopher. 75 years, Moses Moody. A two-card pack. This is probably a six-card pack then. Yep, Christo Arte base rated rookie. Hollow Terrence Mann. All-star Steph and Bradley Beal. Alperin Schengun. A hollow rated rookie Joe Weisskamp.  Come on. Jalen Suggs rated rookie Lyme Green. Luca Garza. Numbered 5 of 149. Oh, sorry, Raul. Yeah, man, they stink right now. 75 years, Charles Barkley. We'll see what happens tomorrow. Sorry, Williams rated rookie and Orange. Blake Griffin. 60 out of 199. Hollow Kyle Kuzma. Jalen Green rated rookie. Steph Curry lighted up. And on the back, Jokasian Busevich. Okay. Gold standard now. Here we go. We got Tyrion Davis price rookie number 52 of 75. A Travis Etn Jr. 24 of 99. Gold Rush Jersey Marquise Brown. 91 of 299. Gold Plated Jersey Gemar Chase, 21 of 299. Mother Load, 5-way Jersey card. Aaron Rodgers, 76 of 299. A very nice rookie patch auto. Gold Inc. Eric Izucanma. Numbered 18 of 49. I think that's how I... I've never heard his name said, actually. And a Wondale Robinson rookie Jersey out of 57 of 199. Wondale Robinson. Signs W.R. Because he's a receiver. Signs a wide receiver. Impeccable time. A monster rookie auto. Even like a monster vet auto. Like a low number would be pretty sick. Good start. You got a Cayde Cunningham. Stainless Stars. Numbered 39 of 75. It's a good start. Alright. Emerald. Numbered 18 of 35. Tyrion Fox. A Clay Thompson. Numbered 45 of 49. Andrew Holliday. Numbered 50 of 49. Numbered 30 of 49. I don't think the USA is one of them, unfortunately. Got a Fat Lever Auto. 65 of 99. Fat Lever. Rookie Impressions Auto. Dayron Sharp. 72 of 99. A Glenn Rice. Impeccable Victory Auto. 26 of 99. Michael Porter Jr. Auto number 30 of 49. Indelible Inc. Gold. One out of ten. Gorgeous. Bones Highlands. You could be a big piece for them this year. If they're fully healthy, they're going to be dangerous.  Three color with the white yellow red jersey there. It's like the Cleveland colors. Nice Bones. Congrats on that one. Graf, thank you again. We'll get it right out to you. I got the wrong one. Is Wilson back next week or soon after that? I'm interested to see. I mean, Flacco's been okay.  Sick Bones. Got like the coolest auto too. It's a nice patch too. You came back this weekend? Oh dang. Once I got seen it, I was trying to read an email real quick. Baseball General, HGA 4 Box, My 33. All right, Brandon O now. Oh yeah, there's still rooms tonight. It's probably more like a 30 minute queue I'd say right now. Got there some bigger orders. But we only got about a little over an hour left. So if you do want something, I'd order pretty soon. Everybody forced tier ripping. Three boxes for Brandon O. Brandon has two 2022 Leaf Best of Sports and a 2021 Topscrone Black Baseball. Appreciate the order Brandon. Let's do the best of sports first. Oh nice. Very nice. A 2020 Bowman Chrome Asvaldo Paraza Prospect Auto 10-10, PSA 10, Auto 10. That's sick man on the first Bowman Auto Asvaldo Paraza. Good time to get that. He's been doing fairly decent in the bigs. Good stuff there. Next one is a 2020 Prism Football rookie Justin Herbert, PSA 9. 9 on the Herbert rookie. You're going the best of sport. And Topscrone Black now. I've never pulled a Super Hector on Topscrone Black. And I would like to change that. Justin Verlander here. Trey Mancini. Refractor rookie Davey Garcia. 12 out of 199. And 147-150 on the Dale Murphy Refractor Auto. Solid box of Topscrone Black there. Congrats again on that. Asvaldo Paraza as well. Appreciate it Brandon. We'll get the cars right out to you. Get that uploaded. We're probably like 15. If that. I have one box to do here. We'll call it 15. It'd probably be 15 minutes because I have to gather boxes when they come in anyway. So yeah guys, this is the last order I have right now. So, 14-4. We're going for it right here. Did you get it? What? Maybe I had a bad angle. That's close. I think they would have got it. The ref ruled it way farther than I think it was. That actually was though. I will say that. I think they got it, but it was way closer than that ref made it look. That ref was like a yard past the line where he actually got tackled. That's why I was so confused. Alright guys, still probably about 15 minutes. Appreciate the order Patrick. Everybody forced here. Rip in a box of 2022 select UFC hobby hybrid. Each two for Youssef M. Thanks Youssef and good luck. Patty Pimblit, concourse rookie there. A Colby Covington blue octagon side. 45-49. Nice Covington. CD so good. Made up for that drop earlier. Concourse Neil Magni Disco and a premier level disco Tisha Torres. Silver concourse Kelvin Gastelum. Concourse Disco Islam Makayev. And red disco premier level is Andrea Lee. 2 of 99. That's going to do it for the box. Thanks again Youssef. We'll get it right out to you. Alright Nick, give me just a moment here. Patrick, do you want that elite football ripped? I'm guessing. Okay, cool. You had another ship it so I was curious. I saw you placed it so I went to go check it out. Okay, so it's Patrick and then Nick. Yeah, all good. So elite and then it was too it was clearly. Yep, I'll be back in just a minute guys. 10 box Tuesdays tomorrow night guys starting at 4 p.m. Eastern with Sam and then you've also got Magic Matt. 10 a.m. Eastern start time on the baseball channel it's personal baseball boxes and on the fly breaks tomorrow. So there's always like some tops chrome some immaculate some tier one there just be a bunch of different like random styles that kind of you know the list on the fly if you guys want something ripped hop in and say hey do you can we try to do this sort of break or whatever you know that's what they're there for on the fly a little creative with it everybody forced here ripping a box of 2022 I got the wrong box and recording everybody forced here ripping one box of 2122 Donoracy elite basketball Patrick T Patrick T basketball good luck man Giants had the punt this game's over dude punt return touchdown about to happen alright they're already in field games so we picked wrong with the Giants we picked wrong basketball that is the correct sport alrighty alrighty everybody put your sunglasses on shiniest cards have known a man a purple Darius Basely I do love the cards though 49 that's a vinyl look on these I've always said if you're ever like stranded in the middle of the desert like lost at sea you need one of these to reflect the sun at like passing planes and helicopters or whatever alright Mike buy an elite football box then we'll find out Spellbound Zion Blue 80 of 99 would be so hard to put the parallel together with Williamson so many letters man Brandon Boston Junior rookie numbered 467 of 999 a few more orders came in guys probably like 20 minutes now nah I'm good Orange RJ Hampton those are not numbered in an orange Marcus Moore senior another big order for a draft tonight Orange Deer and Fox now Orange Fox Orange Joe Engels Dwell and bead on the elite deck the good ol 3rd and 1 pass primary colors Kevin Durant you've got Ezekiel Elliott and Tony Pollard and you got Cooper Russian quarterback to the 3rd and 1 pass okay there's a guy wide open game of the lord of star status oh they want a penalty yeah I mean it looks like a hold to me didn't see that part of it Sean Kemp Impact Impressions Auto nice vet hit let's see a big rookie pen pals here nice gold 9 of 10 Aaron Gordon AA OG Zion Williamson Clarity star status Orange Dica Jimmy Butler Orange Rusebun Garuba numbered 100 of 210 on the rookie there got both the rookie parallels now come on big rookie auto come on pen pals Orange Austin Rivers title waves Chris Middleton spellbound Steph Curry Rod Strickland auto two vet autos Rod Strickland impact impressions power formulas Bradley Beal that'll do it Patrick thanks again bud get the cards right out to you Cowboys and under is looking very good fine by me you know what say Juan did his thing all right it's all I needed it's all I needed everybody forced to rip in a couple boxes of 2022 tops clearly authentic baseball these are for Nicholas are appreciated Nick good luck man got a full big rookie big rookie flower for I guess it depends on what you're eating if you're having like street tacos corn 20 out of 20 times Generation now insert auto Kyle Tucker solid head there with the Kyle Tucker really good outfielder and one more Nick Generation now auto Kbert Ruiz young catcher for the Nets Kbert Ruiz and Kyle Tucker thanks again Nick we will get these cards right out to you to the Giants guy with the giant blue face not having a good time right now has anybody in chat ever gone like crazy like full face paint for like a sporting event before for for any anything I guess football went to a party is Edward Scissorhands I mean I think that's Halloween's a bit different right just the Edward Scissorhands you just got a bunch of white makeup right all right Brad and graph give me a second I'm gonna go grab those boxes for you guys thanks for hanging out tonight guys you got about an hour left still some time to get some orders in if you guys want something ripped but we're done in midnight tonight so in that Eastern so 50 55 minutes guys that's that's what we're looking at so I'll be right back with these boxes guys guys what should I what what should I rip during during the hurricane on Thursday I'll save it for like when the power goes out and I got nothing else to do boxes yeah you gotta figure that out alright Brad S and then graph so about 20 25 minutes guys still want to get something ripped I'd order soon everybody forced to rip in a box of 2021 Don Russ Optic football hobby hybrid for Brad S good luck Brad thanks for joining bud for the orders give away any of the hurricane stars alright let's see it downtown they're tough to pull but they it can be done it can be done red mojo rated rookie of a big player would be cool too that's a nice one Micah Parsons rated rookie red mojo good start they're Kenri Elite Dominators or just Dominators actually Trvante Williams rated rookie Sante Samuel Junior and Orange Cooper Cup one of 199 well the Cooper Cup good start to this box see like a chase red mojo or something Marquez Stevenson, Luke Farrell rated rookie red mojo My House Mag Jones Simi Fajoco, Felipe Franks rated rookie Kellen Mond an Eskridge rated rookie red mojo of Nico Collins the rookies Jalen Waddle Tray Lance rated rookie base Amari Rogers and a legendary logos Kyler Murray that is an insane logo Micah Parsons rated rookie red mojo rated rookie Aziz Ojalari Elite series rookie Zach Wilson Nico Collins, Luke Farrell and a hollow Zach Cunningham Thanks for the order Brad, we appreciate it pretty solid box there we'll get it right out to you let's get that one up a little bit we'll keep going, Graf is next Graf in order in a lot and I appreciate it hoping for an absolute banger in that box you got coming up Everybody forced here got a big order here for Graf thanks again for the order Graf one second trying to make sure it's correct get 2022 gold standard one box of that and one box one 22 NT basketball hobby right here let's start with gold standard little warm up for the big hitter starting with a Jalen Tolberg rookie number 30 of 75 a Tray Lance 4 of 99 Marquise Brown Gold Rush Jersey 284 of 299 White Gold Jersey AJ Dillon 216 of 299 dude that's your name just Dillon Dillon 6 of 25 on the Hall of Gold how does this bus look feel like he's concerned interesting what's he so concerned about 24 carat auto Jim Kelly beautiful hit nice card there on the 24K the acetate auto designs and gold standard are just awesome they are great nice Jim Kelly and a Wondale Robinson rookie Jersey auto number 29 of 199 I think that's the second Wondale Robinson hit tonight I think I know I pulled another one of these earlier Wondale Wondale Robinson WR wide receiver and an NT basketball come on big RPA 21 22 you can get the gold standard in Chronicles basketball at least you like RPAs in the base gold standard basketball I think it would be a pretty good addition to be honest Zach Levine 10 of 10 on the gold printing plate with Marcus Aldridge from NT last year clutch factor Jumbo Jersey James Worthy 30 of 99 again that should all be game use in NT basketball and it is game worn Jumbo Jersey the Laker legend James Worthy 39 of 99 that's sick look at that patch 6 of 25 R.J. Barrett a four color patch game worn that's beautiful great R.J. great hit here rookie clutch factor signatures Franz Wagner 29 of 49 Gratz Graf on the Franz got the gray pinstripe going across the blue jersey there nice rookie Jersey auto next one too red RPA Jared Butler 27 of 75 that is his 75th anniversary parallel pretty solid box here red RPA Jared Butler 27 of 75 see there's a big vet hit on the back maybe Jersey card Kyle Lowry 66 of 99 game use of the Raptors exactly yep game use of the Raptors on that jersey another Jersey card here Adrian Danly 66 of 98 why would that be 66 86 of 99 to be fair you could easily read it like that like that's not out of the ordinary like that's not it's not as bad as like a backwards three and I'm like why is that three backwards oh I'm reading it signatures Spudweb a nice Spud makes me think about some potatoes 21 to 25 on the Spudweb on-card auto and NBA greats auto Emerald Alex English 3 of 5 Alex English that is gonna do it for the couple of boxes for your draft thank you again we will get those cards out to you shortly we've got some big hits tonight it's been some impeccable rips it's like a Jalen Green rookie auto out of that biggest cards tonight I honestly don't know Steph Curry out of him sitting on the auto Danny Dimes leave him down the field avoids the sack throws a dart dang dude he's he is him right is that what they say it's crazy because that's like one of the dumbest things I've ever heard everybody's saying it out too yeah like that's I don't know I get it that's how it works nowadays that's how it works nowadays yeah it's just how it works I get it I say it too hemmethy hemmethy and uh all that stuff I know guys that's the joke I get it hopefully Tyler hopefully gonna write out your tag right now and then I'm gonna go get that box let's see what you got prison basketball fast break put a lot of that tonight too what I'm gonna throw a pick oh the receiver slipped it looks like it yep that's a pick he got his hand just under the ball yep that's a pick dang man that sucks people are gonna be like oh Daniel Jones are in interceptor in the last drive guy slipped buddy it's not really anybody's fault I guess it just sucks I guess the receiver's fault for slipping but hey that's what happens when you play on a turf field man shepherd got hurt yeah giants worst 2-0 team ever man I'm sorry giants fans or I'll be right back guys gonna get this box still time for an order probably like a 10 minute queue still time yeah Barclay Barclay did his thing Randy you know what that's how you do it right there Cooper Rush 2-0 is that what I'm seeing right now well I guess they should trade Dak Prescott to the Patriots for like a 7th round pick he's clearly he's clearly the reason that uh Cooper Rush is clearly the reason they're winning everybody forced here up in a box of 21-22 prison basketball fast break for Tyler W. thanks Tyler and good luck this is ridiculous what are they doing like dude go to the locker room disco fireworks Jason Tatum DJ Washington Junior Disco Silver Ray Allen a disco behind it RJ Hampton Isaiah Todd Davion Mitchell disco prismatic Anthony Davis Red Disco Davis Bertans 72 of 100 Kate Cunningham rookie base Purple Disco rookie Sandro Momica Loeschvili number 38 of 75 and a rookie disco James Bulkknight disco Fearless Charles Barclay with a purple disco Dante de Vicenzo two bucks purples well throwback action eight to 75 the purple color bucks back to the Michael Red and the uh Ray Allen days Franz Wagner rookie Zaire Williams on the photo variation rookie disco LeBron disco Moses Moody Bradley Beal Fearless disco a O'Shaver set disco Bulkknight base prismatic disco Jalen Brown red disco Chris Weber 13 of 100 widescreen Nikola Jokic rookie disco Usman Garuba day run sharp Evan Mobley fast break rookie auto there we go congrats Tyler on the Mobley hit you go bud we'll get that magnet for you ice blue Tracy McGrady as well 110 of 150 color match that will do it great last pack there thanks again bud we'll get it right out to you alright guys last call for orders get them in right now get them done I'm calling it full as we speak I already see a few other orders in they are full yeah that's fine Mike right out this tag can you get it can you oh can I just have that sticky notepad yeah guys if you order something quick I'll get it done you order it right now yeah we have an FAQ sorry I was doing something else real quick we have an FAQ that kind of explains it we also have like videos um on the youtube channel home that kind of helps explain it as well so if you go to the home there are let me see there's like it there's FAQ videos as well yeah of course we're almost done tonight okay alright guys we are back thanks everybody for the orders it it's full I'd say yeah it's full now alright alright graph just so you know this NT basketball is from the same case from as the other one everybody for a seer ripping a box of 21-22 NT basketball hobby for graph thanks graph and good luck again like I said before the recording started here this is from the same case is the one that you had rips a little bit ago about half hour ago so good luck let's see that big RPA now pretty well last time had the Franz Wagner jersey there's a Jared Butler 75th anniversary RPA in the last one so let's see if we can see if we can go bigger here alright first up chris taps for zing is 62 of 75 75th anniversary parallel on that one printing play that's an RPA printing play Malachi Flynn go hold first off the line printing play it's so specific that's the wait it's not Malachi Flynn it's Obi Toppin what the hell why Malachi Flynn are you I'm gonna grab the empty box in a wrapper just in case you want to get that replaced it's an interesting error card I think I've seen that one another time here it's a thousand percent Obi Toppin it's a million percent Obi Toppin Magic Johnson jersey 19 out of 99 in the game used magic a game used jersey now of Luca Donchich 5 of 99 treasure threads redemption Corey Kisper clutch factor signatures be the uh jersey auto Corey Kispert solid hit there Kispert a very nice looking true RPA of Trey Mann 75 of 99 that is an outrageous patch is that like okl or something like the Oklahoma didn't say that on any other jerseys it's like Oklahoma City right that's nasty man 75 of 99 true RPA Trey Mann nice hits it's like a luke auto in the back maybe I see something crazy jersey card Isaac O'Coro 12 out of 99 game worn O'Coro the Jeremy Grant jersey card numbered 1 of 99 treasure signatures Michael Thompson 42 of 49 and signatures Rick Smith's 8 of 49 nice Rick Smith's that will do it for the box base again graph we'll get it out to you alright guys just a couple more here that'll take us to midnight and then it'll be done that'll take us to 8 hours of personals 8 hours pre-season hockey is going on man we're getting there do you watch hockey at all hello big playoffs do you have a team Boston Bruins yeah we gotta see I don't know man maybe they have one more run at it I don't know alright Scott you're up bud we got Scott then Mike everybody forced here ripping a box of 2021 prism football first off the line for Scott F let's do it Scott big time shimmers incoming hopefully big time shimmers Brandon what's up man uh no didn't recognize the name Mike Cory B Cory B is what Dylan says he sees it on his Cory B it doesn't have any other name than Cory B shimmer auto face up we're going right for it I don't want to set that face down it's Chuba Hubbard rookie red shimmer auto 23 of 35 decent hit got a hyper coming too Odiyinbo Ojalari hyperjack youngblood 17 of 175 gold shimmer come on man one time big name Zach Wilson gold shimmer Miles Garrett that's really nice congrats on that one 2 out of 10 feel like any big Garrett cards do fairly well he's never signed anything so big shimmer Miles Garrett right there gold 2 out of 10 get back this one purple refractor Anthony Miller purple refractor purple present 100 125 and Najee new recruits alright good gold shimmer there let's see a big rookie now wildcard points unfortunately no second auto probably just wildcard points will do it tremble Tony gold shimmer Ernest Jones rookie 5 out of 10 back to backpacks with gold shimmers he's a pretty good linebacker right gold shimmer rookie color match there Ernest Jones top order split Nixon Palmer blue ice Nelson Agalore 97 of 99 hype Jerry Judy red wave coming after Darby and a Sean Wright is a Ricky red wave Nico Collins 13 of 149 Nick Bosa lockdown Rex Ryan got a Usukoro moa and tutu at well orange prism Kalei's Campbell 70 of 249 half a box to go had a couple shimmers I think there should be a couple more football is crazy man they got like four shimmers in these blue wave coming up here Tray Lantz base Barmore blue wave Tony Romo Rome Rome 182 of 199 a silver Darius sleighton Najee Harris rookie base card and Eli Mitchell emergent rookie Trevor Lawrence a snakeskin yeah snakeskins coming up please be big Nico Collins Tray McKinney snakeskin case hitting prism Jordan Lewis snakeskin prism Jordan Lewis in a red wave Jonathan Abram number 97 of 149 in a silver Ryan Fitz magic not the biggest snakeskin obviously but Jordan Lewis is good good player JC Horn Penny Sewell blue shimmer debonte Adams nice that's sick number 21 of 25 and a forest camo miles Garrett as well 11 of 15 the vets are hitting big right now the Adams and the Garrett again that's awesome man silver Tana thrill Patrick Jones Amir Smith Marseille rookie blue wave Jared Dokes 15 of 199 and rookie silver Cleal Herbert another shimmer how many shimmers have there been there's been a lot I feel like there's been a bunch of other good parallels though four shimmers before already two golds of blue and red red shimmer Carson Wentz that's pretty solid I mean the parallels are out of this world no like huge huge cards but I mean that was a pretty solid first off the line box 21 of 35 better than a lot of them purple ice Marquez two 16 to 225 Derrick Henry now to a man congrats on the Adams the two Garrett's were awesome too appreciate the orders always Scott we'll get those cards out to you shortly that was awesome when you get stickers let me see those three yeah Shane yeah I was like oh this person alright guys one more quick one here and then that's gonna do it for Dylan tonight Matt's live at 10 a.m. Eastern more baseball breaks got on the flies and personals and then 10 box Tuesdays with Sam start at 4 p.m. I want to say let me just check our schedule here to make sure yep 4 p.m. start with some Merlin chrome get some sick series bunch of different got a lot of baseball tonight tomorrow night actually YouTube what are you doing right now come on YouTube figure it out YouTube dude YouTube you are killing me right now never gonna get to a home of this YouTube doing this YouTube stuff alright guys last one for tonight thanks for hanging out everybody personals will resume tomorrow after 10 box Tuesday group breaks so around midnight Eastern tomorrow but nothing left over so this'll be it everybody forced here ripping a box of 2022 tops archive signature series retired player edition for Mike D thanks Mike good luck man is a nice and Joe Maurer one on a Bowman chrome card 2015 Bowman chrome Joe Maurer one of one on the six series auto that's a really good one for six series yeah man he's like the best dude great hitter that'll do it get right out to you alright guys I'm gonna get that uploaded we're gonna get out of here also guys we're keeping an eye on this hurricane obviously if there's you know severe weather we're not gonna open or break it's looking like Thursday could affect us we've made no like final decision yet on anything but just be aware there's gonna there's a hurricane heading for Florida so that will likely affect us in some way this week so we have Wednesday scheduled for like release day Thursday as of right now is scheduled so we will see how that if that changes y'all have a good Tuesday with Matt and Sam and I'll see y'all on Wednesday


Hi, everyone. Welcome to my session called Drupal Anti-Patterns. Thank you very much for coming.  My name is Joe Chin. I'm currently living in Singapore. I'm a Canadian expat living in Singapore for quite a number of years now. And I've been making quite a few trips down here in Australia. And I thank you for welcoming me here in your country. It feels like I'm back home in many ways, coming to Australia. So I've been working in software for a really long time. I'm not going to say how long, because that just embarrasses me with my age. But I've worked with ERP software, which is in manufacturing, HRM, human resource management, insurance, CMS obviously, and more recently, digital experience. So I've been working with lots of different software applications, platforms, things like that. In terms of Drupal, 15 years of experience. Pretty much doing everything from project management to module development, theming. Back in the older days with Drupal 6, you could kind of be this full stack developer knowing pretty much everything around the application. These days it gets a little bit more complicated because the application is just that much more complex. So you kind of specialize in one area. And I wouldn't say I'm an expert at one. I tend to be kind of like a generalist. But over the 15 years I have collected some worthy, I guess, experience that I'd like to share with you today. Currently I am a technical account manager at Acquia. You may have heard of us in this particular capacity. I look after a handful of some of our top clients in the APJ region. And oftentimes what I help them with is technical issues, typically. I'm helping them with reliability issues, performance issues, things like that. So for this talk I will be kind of sharing some of my experiences I see with my everyday customers. My email is listed below, so if you'd like to reach out to me, please do. Alright, so what is an anti-pattern? So I just kind of did a casual Google search and it kind of gave me these three different definitions. But generally an anti-pattern is a bit of a play on word on a design pattern. A design pattern is often kind of thought of as a best practice for doing something in software development. So the anti-pattern is basically what you shouldn't be doing. And what are some Drupal anti-patterns? So before I kind of go through this list, I want to kind of highlight that. Drupal itself, the core application, generally don't have bad practices. So maybe my slide was a little bit misleading and there's some core developers, core contributors in here thinking. What is Joe talking about by saying there's anti-patterns in the Drupal core? I'm not talking about that. I'm generally kind of referring to custom applications that developers working on a project, you know, the pouring of some kind of custom feature and they're implementing bad patterns there or anti-patterns there.  So today we're going to talk about some of the Drupal anti-patterns I've encountered. There are many, but in the interest of time I kept it to basically three of them. So the first one is called long-running batch jobs. And I think what I'm going to show is going to be pretty generalized. I'm not going to get too down into the weeds and I'm hoping that what I'm going to show you will kind of resonate with you because I'm trying to keep it as simple as possible. So we're kind of talking more about concepts rather than deep diving into details right now. So let's start off with a bit of background about what's a long-running batch job.   And your user base might be like tens of thousands of particular users, okay? So that's kind of like the ask coming from, you know, from your customer. The typical anti-pattern is, and now we're looking at the code here, is you, and I kind of hope you guys do know a little bit about programming because this is not a course about programming, is that you would have an array called users, you know, you would fetch that from a previous call, and then you would iterate this user, and then you would then call this particular method called UpdateUser, let's say. It could be anything. This method, you know, might take a second to process, let's say, right? And it seems pretty fast when you just kind of do it for one or two users. But if you have, you know, a collection of, let's say, 10,000 or 20,000 users, you know, even running it at half a second or one second, it adds up to 10,000 seconds. 10,000 seconds, if my math is correct, kind of works out to something like two and a half hours, right? And that's considered a really long job, a really long process in computer terms. So the problems, as I just indicated, is that, you know, it's a single, long-running PHP process, and it could potentially have high memory usage, okay? If you're just operating on one user, then, you know, it's a little bit memory. But collectively, over 10,000 users, you know, it can add up, all right? PHP does have some automatic memory collection, garbage collection, they call it. But sometimes it can still occur. The bigger problem, however, at least how I see it, is if you have this long-running job running, typically it's kind of done automatically at, you know, middle and late when, you know, your traffic is low, and if for whatever reason your server gets rebooted or there's an outage of some sort, then this process will just kind of like stop mid-street, right? You know, you've got 10,000 items, it might stop at 7,000, and then suddenly your server stops. And if you're on a hosted environment, this kind of happens, you know, a lot more than you may realize. At Aquia, we have customers that, you know, we're managing their server, we're applying security updates, so we give a warning saying, hey, we're going to reboot your server on such and such a date. They don't always heed that message, and they kind of forget that, oh, I got a job running at that time, right?  So, and then the worst thing is that you kind of process half your items, but then the other half isn't processed. So then you have to either wake up at the time the server comes back, mainly run that batch job, because it was executed from a crime job that was set up now earlier, but then you also don't know where and what spot the process has stopped. So then you end up reprocessing some of those same items, and you could end up with, let's say, you know, a duplication, or like a doubling up of answers, or you know, some kind of data inconsistency where that item has been processed twice. So we try to eliminate all these kind of problems. And the last thing is that it's a minor one, but it's really difficult to monitor, you know, at what stage your job is, unless you purposely put some kind of logic inside this loot that's, you know, that maybe prints a log, you know, you can't really tell, you know, at what stage your job is at, okay? So these are some of the things that we've encountered with, you know, when customers use an anti-pattern like this. So what is the solution? The solution is using Drupal queues. So basically a queue is exactly what it sounds like.  The Drupal queue system works on what they call FIFO, first in, first out idea. The first couple of lines are just kind of like, you know, things to initialize a queue. But I want you to focus on, you know, these last three lines. It's actually essentially identical to what the previous iteration was. But instead of processing that user at this point, I'm just creating a placeholder inside the queue for it. And that's actually a really, really fast process because it's not doing all the heavy work yet at this point. I'm just kind of putting that item and saying, hey, you know, be prepared to process it. And you can actually process tens of thousands in a matter of, you know, a second or two. So that's a really, really fast process. The next thing that you would do then is you would create what's called a queue worker, okay? Don't get too concerned about the top two lines, you know, in code. You know, you can kind of just think as wrapper. But what you notice is that this line here, this update user method, is actually identical to what you just had earlier in that, you know, anti-pattern, okay? But what this does is that it means it's processing each item individually inside a single PHP process.  So you just kind of create this job that just runs every five minutes. And then it would just pick items off the queue and then it would just execute them one by one. All right? So what are the benefits to doing all this then? So the benefits to doing all this is when you're executing items one by one, it just kind of creates one PHP process, finish the job, and then close that process and then execute new one. So you end up with a PHP process with a very small footprint and that doesn't really last a long time. It lasts for, like, let's say a second, right? If your server happened to reboot and you have this big long list of queue items, it doesn't create any kind of data inconsistency because a queue is saved. It's saved on the database and when your server reboots, reboot, come back up, Cron will run every five minutes again and then just pick up whatever items in the queue and then just kind of proceed on merely.  And that just makes it really easy to say, oh, okay, I'm 50% way through, I'm 75%, whatever it may be, right? Okay? So that's the benefits of using Truple Queue. Super easy, but not everyone's familiar with this concept. Okay, let's move on to the second anti-pattern. This one's a bit of a mouthful process blocking external EPI calls. And maybe I'll just go on to my next slide to make it a little bit easier to comprehend what I mean by this. So I see this one pretty often as well. So the goal is to display individual information on a web page. And this information comes from an external server. Maybe you have a CRM connected with your Truple site. And it's pulling out, you know, individual user information. So generally that means that the page is not cash. The typical anti-pattern to kind of creating this kind of logic is in the black box you would create a custom block.  Then once the response comes back, you would then execute the next, you know, the next set of statements, which is to theme that result in your page. And then after it does all that, then it renders the HTML back to the user client. The problem with this particular pattern is that when the user, you know, tries to load the page, they're first confronted with, you know, basically a blank screen because it makes a request to the server. The server then calls this external API. This API might be a bit slow. You're not in control of it. It might take five seconds. It might take 10 seconds to come back. And this whole time the user is staring at a screen looking at, you know, basically a blank screen, right? So this is not the greatest user experience. A secondary problem is that the page itself is not cashable because we're making a unique request for this particular user, right? So, yeah, so it just kind of ends up being a pretty unpleasant experience for the end users because they're waiting. They're seeing this little hourglass that's going, but it's not going anywhere for any time soon. So what is the solution to handling these type of issues? So we basically break it up into two parts using REST API and using what's called asynchronous JavaScript. So the way to go around this is you would create a custom API on Drupal using probably REST, and it will be responsible for calling this, you know, slow service, right?  All you're doing with that particular block is you're injecting JavaScript. The JavaScript is static. It's going to be the same. And when it loads up into the client browser, the JavaScript would contain what's called asynchronous Java, asynchronous Java, you know, an asynchronous call. And what that would do is it would then call your custom API in the background what's happening. So here you have to understand a little bit between what's asynchronous versus synchronous processing. With asynchronous processing, it works kind of like this and what's familiar with it is that, hey, can you do me a favor? You know, I'm going to give you this. You go and process it, but I'm not going to hang around and waiting for you to come back with a response because I've got better things to do. And that better thing is I'm going to process all the other JavaScripts that are part of, you know, that's part of my front page or where it may be, right? And so I make this asynchronous call. It goes into Drupal because that's where I created the API. So that's kind of like down here in the little blue box. It goes into Drupal and then it kind of, you know, takes a sweet time getting some kind of response. The JavaScript meanwhile is not waiting for my response. The front page is now loading up other things that is necessary to show off to your user. And that happens actually relatively quickly. So the end result what happens is that the user gets most of their page content already rendered because that's actually cacheable. So they come onto this page, 90% of the information, 95% of the information is already there.   Okay? So the word benefits of using this particular use case is that the user generally experiences a very fast page load, you know, when they first come to that particular page. Because everything's all cached. The asynchronous API call doesn't block everything else from happening. You know, if you have other kind of JavaScript widgets going on in the background, it just continues merely and, you know, doing its thing. So the user while they're waiting for, you know, let's say their points update can then be distracted by other things on your page, right? So generally the user is happy. And secondly, it just, you know, have less stress on the Drupal server. You know, the API call that Drupal's making still kind of waits a long time, but it's a REST API and that doesn't take up as much resources as, you know, like, let's say loading up a full customized page. So overall, it just leads to less resource utilized on the server. Okay? So that's another kind of good, you know, this is what, you know, we consider a good best practice. But it's very easy, you know, for particularly newer programmer to kind of fall into this trap, right? I myself have kind of fallen into this trap before. And, you know, sometimes it'll be fine if it's, you know, just a small list. But when you're kind of building at the enterprise level where, you know, you're expecting tens of thousands of users, you know, in a given hour, let's say, then these kind of things matter. Okay? How are we doing on time? Okay, I think we're pretty good. I'm not checking my messages. All right. So my third example is blindly increasing the PHP memory limit. And I'm certain, you know, if you guys did any kind of work on Drupal, you have done this yourself. I've done it plenty of time until I kind of figure out, oh, okay, this is bad. All right, so what's the background behind this? So the ultimate goal is to kind of get rid of these PHP out of memory errors in your error log. You know, presuming you do read your error log messages, which every good developer should. Usually you're not aware of it, but, you know, it does appear, and often the use case is that you're asked to build a page, you're building it, it looks great. And then when you deploy it on production, for whatever reason, it didn't work as expected. You know, in a good scenario, you'll get part of your page and some of the information is missing. In a real bad situation, you just end up with a blank screen, a white screen of death. Okay, so you go into your PHP error logs and then you see this error called PHP fatal error. A loud memory size has been exceeded. So basically it says, you know, you ran out of memory. And a very, very typical first move if, you know, you're kind of familiar with how server configuration is done. And this is one of those kind of like, you know, a little knowledge could be a dangerous thing. So you go into your PHP settings and you say, okay, well, I'm just going to increase the memory on that. Right now it says 64 megabyte. That's way too low, so I'm going to increase it to 128.  And you keep doing this iterative. Iterative, really. You keep repeating this. Until, you know, you find some value that gets rid of the error message, right? So now we're up to one gigabyte. Okay? So that's really, really bad though. But you know what? Hey, it solved this particular use case. But that's bad because for a couple of reasons, when you just blindly increase the memory limit and if you kind of don't know, you know, really what you're doing and not adjust some of the other server configurations, you can actually crash your system. And you know, I'm not going to get into those kind of details, but basically what happens is that you allocate too much memory to PHP and then it takes away from, you know, your overall Apache server memory, right? And basically it then eats up all the available memory limit on your operating system and then your system just crashes and that's a really bad thing. Okay? So you thought, oh, just getting the white screen and the depth is bad for one user, you know, it's really bad when you crash the server doing it this way. All right? So that's really bad. The other problem with increasing the memory limit without kind of, you know, thinking about why you're doing so is that there's a, I guess there's an exponential relationship with how much memory you have versus how much PHP processes you can run concurrently. Okay? So if you have two gigs of memory available for PHP and you set your PHP memory limit to one gig, then it's, you know, you just, you end up with two concurrent PHP processes allowed. If you reduce that memory to, let's say, 256, then, you know, you do some math to just have trust me on this, then it becomes like eight concurrent processes that you can run at the same time, right? And why this happens is that when you say a memory limit, you know, of X, when PHP runs that process, it just allocates, you know, that exact amount to the process, regardless whether it needs or not. You know, it's kind of like, you've been tasked with transporting people back and forth from one location to another, and each time it's like one or two passengers, but you're, you know, you're driving a huge bus, right? There's a lot of wasted resources going on, okay? So, so that's bad. So it reduces the number of concurrent PHP processes, which ultimately means you can't have as much throughput going on. So how do you fix this? And here, my fix is actually not to, you know, like start twilling around with Apache settings and all that, because that actually gets pretty complicated. It's a whole discipline on itself, right? But there are some things in Drupal that you can do to fix that.  So, and then, and then set your PHP memory limit to it. So what is meant by typical? So you use something like the web profiler, the web profiler module. It can tell you what the, you know, what the memory usage is for a particular, for a particular page. If you're subscribed to something like New Relic, which offer free accounts, you can use it to come up with statistics that says, you know, the average memory usage per page is this and so forth. So I'm not going to get into that, but you have to figure out how much memory is appropriate for your particular application.  Almost all my customers, 99% of their requests, and these are customers that have literally tens of thousands, if not millions of hits a day. 99% of them use less than 256 megabytes in their processes. Okay? So the vast majority of requests are actually somewhere around 28 to 150 megabytes. A few more kind of hits to, you know, come closer to 256. And then there are some that kind of goes beyond that limit, right? But we have a way to handle those kind of, like, those top memory hogging processes. But you would set your PHP limit to, you know, whatever that typical value may be, all right? Then the next thing you do is you install this image magic PHP extension. And why you do this is because most of the time when there's high memory usage is due to image preprocessing. So in Drupal, image preprocessing means you're updating an image file and then it kind of does this thing with image styling where it crops or compress and do all those kind of things to make your, like, 64 megabit image down to something reasonable for the internet. And so that's what's referred to as image preprocessing. That process is really memory intensive. And the larger the image file is, not in terms of size in file size, but in terms of resolution.  And it's in those one-off cases that you then run out of memory. So the easy fix is just to install this extension called image magic PHP, okay? Because by default, Drupal actually uses this processing library called GD. But for reasons that's too technical to get into, both process, you still use a fair amount of memory. But the way that image magic does it, it doesn't utilize the PHP memory limit that has been set by this memory limit setting. It does it separately, so it's not constrained by that. So you can more readily process large image files using image magic PHP, okay? So that's number two. And then we still have to address the elephant in the room, which is, I still have certain processes that eats up a lot of memory, right? There are just some that, and that's where you do what's called a conditional increase of PHP memory. So I hope you guys can read it from back there. So basically in your settings.php file, you would have some kind of if condition that says if the URI that is being hit at this point is image processing or whatever it may be, right? That caused the high memory usage. Then you would then just set whatever memory limit is necessary just for that particular process. And once that process is done, it will then revert back to the normal lower default setting. So that's how you address these kind of memory issues. And generally what you find is that, yeah, out of 20,000 requests, one or two might hit this, right? But the rest of the 19,000 some odd requests are using the more efficient memory limit, okay? So I kind of already said most of what I want to say in the previous slide. But yeah, basically you end up with more efficient usage of the server resources. And that ultimately leads to handling more page requests and higher throughput. And more importantly is you're reducing the risk of PHP processes running out of memory, giving the users that white screen at death or even worse, having your server crash. So that's it. Three fairly simple concepts I hope you guys can take back to your next project. Any questions? Yes? Oh, yep, yeah, go ahead. Okay, so I say that your temporary function temporarily increased to 520 megabytes. Is it okay if, so for example, if the request is larger than that, is it okay to temporarily increase that to one year? Yeah, yeah, I mean, it's just for that one process, right? Yeah. And that's probably okay, right? But I will add a caveat that if you have a process that is one gigabyte, then you might want to evaluate, you know, is there something wrong with my code that is taking up that much memory? Taking the day.  When you're kind of processing large amount of data, typically it doesn't get to one gigabyte unless you have loaded a one gigabyte data set, right? Typically it doesn't use that much, and when you're loading a one gigabyte data set, then there might be a better solution. So that's where you have to explore, then, okay, how can I, you know, how can I optimize this? Can I use Drupal Q? Like in my first example. Yeah, okay. Yes? I guess you're queuing the data set through, which at least stops it from being lost when it falls over. But do you find that you still have the memory issues from the database table when Drupal's, you know, dealing with like a node saved that's got so many joins? I mean, I found, you know, most of my memory issues were resolved better by not just changing the code, but by fixing the, you know, DB buffer pools to avoid having to ever increase the PHP memory to stop the deadlocks. But then Drupal's on, what is it? Drupal.org's on read committed anyway. Right. So is the issue about Drupal Q or with this memory setting? No, more like when you were talking about the users in the loop and you queued the users. Yeah, I mean, I think... That still doesn't res... Yeah, I mean, would that still resolve itself if you ran into all those table locking issues that Drupal's so renowned for? If I'm understanding you correctly, I think there are different problems, right? Yeah. Because you was, you know... This is about isolating processing... This is called code issue. Right, it's about isolating the process of items one by one, right? Yeah. Whereas in your case, you're talking about I have a single process that just eats up a whole lot of memory. Or more I'm doing something like that, that user, but if I'm using a standard Drupal user, that's this many fields. But if I've gone and added my own custom fields to that user and I've got a complex account system, then all of a sudden that update user's huge anyway. Right. Even if I queue it. But then you're talking about just that one user and then it's a separate issue? Yeah. Oh, yeah. Because you're going to fall out of memory anyway. Correct. To being joined on that final update that you're running. Yeah. You know, user saying is in that update user. Yeah. And maybe that'll be a topic for my next Drupal stuff. That's really helpful. Yeah. Great. Thank you. Any other questions? Oh, quite a few. This lady up here. Yep. Yep. Go for it. So, what about when you have like a hook update that you want to update... Yeah, an update function that you want to batch update about users or content or something. How the queue functionality will play along with it when you batch process your hook update. It's a huge back. Right. Process that has to run other parts that it will take forever. Could the queue could be helpful? We need the same update. So, you're talking about hooks. So, it sounds like you're on Drupal 7. No, I mean that as well. Oh, you're on Drupal 9. Okay. Yeah, there is still hooks going on. Okay. Fair enough. Fair enough. Yep. Okay. So, the hooks is not necessarily what's calling the job, is it? Yeah. So, you would have an individual item and, you know, like I kind of simplified this, right? I just had one method, right? But you may have hook functions being called within this, you know, within, you know, within this iterative loop, right? Same concept applies, right? Because when you're, when you have a single item and you're ending up calling hook functions, it's still really just part of the same process, right? So, they're really not necessarily tied together. Unless that hook function iterates through a large number of items. And then your hook function then can implement this usage of queues. Yeah. The whole point was to run a hook update to update the user names. Right. Okay. So... Yeah. That has a queue behind it. Okay. So, that was kind of my question. Is queue part of it, or you can... The batch API is on top of queue. And when you use progressive batch, and that sandbox is a progressive batch. So, I don't need to worry about... If you use that, it will take a long time to draw shots like France and it will just keep speeding the end of the market. There you go. Thank you. I told you I'm not an expert at any one thing, but I have a wide, wide array of knowledge. So, thank you very much for that answer. That's right. It's specifically the result performance. Yeah. Which is in the fashion that you play out here. So, there is a solution for that. So, polite. I think there was a gentleman in the backpack. Yep. Yeah. I'm not sure about the answer about that, but the batch API compared to the queue API, that's when you use one of the other. Right. The batch API... I'm going to say it's probably not as resilient as using queues. Because what's happening when you're doing batch API, is that... And unfortunately I don't really have a working example here to show you, you're typically on a screen and when you kind of like hit start, what you'll often see is that it will process items one by one, right? And the batch API is really good when each of those individual processes eats up a lot of PHP memory, right? And you kind of want to isolate them to kind of like run one at a time. But the problem with using the batch API is you still need to have your connection back to the server. So here, it doesn't even matter if the server is kind of continually running, but if your network connection happens to fail, then because it's sending the signal back to the client each time, right? So it processes on the client and then the client kind of, you know, gives the signal says, okay, process the next one and it's kind of updating. But when you break that connection, the batch just kind of fails, okay? And these batch processes, I may be wrong here, but you usually initiate it through the front end, right? So it's not quite as robust where using queues you can just kind of create a cron job to execute it. I did actually experiment one time where you're creating batch processes because sometimes people want to have that visual that it's happening right now and to implement queues. So we can actually do the combination of creating queues and running those items in the queue through a batch so that people can see and get kind of real updates to it. Okay. Other questions? No? Okay, great. I'm going to leave you. Thank you. I'll leave you my email address here.  So yeah, do feel free to ping me if you have questions. You want to understand a little bit better of what I said today. Thank you very much for your time. Thank you.


Assalamu alaikum warahmatullahi wabarakatuhu, how is everyone doing? I hope you guys are doing well It's Muhammad Al-Andalusi here founder of another institution that come and Yeah, I just felt like like I had to do this video today man. It's been three weeks Three Fridays on Friday. I have a notification that comes up that says on Saturday Is your duty to post a YouTube video and and and I'm always It's always hard for me to to get in front of the camera. So today I said hala jishallah We are going to break this bad habit of not doing And as well thinking about the the satisfaction that the satisfaction satisfaction that you get after you You know after you you do something that you say you was gonna do so So inshallah, I'm gonna benefit you guys with a little bit of what I was doing. So as you guys know You know, I am the founder of a online Institute for Arabic And so tomorrow you have the and the under this Institute vocabulary apocalypse contest now this contest is a contest Is that simple is that simple as me asking to the students where Every student gets a certain amount of questions asked the first round 10 questions Second round 20 questions 30 questions. So in all together they get asked 65 questions if they get there because there's only You can only make three mistakes per round basically so if you get there Then there's a final so anyways long story short where I'm trying to to To to tell you guys and share with you is that I basically this test asked and successfully accomplished The first 10 lessons of the second module So the first module is what we call acquiring the necessary knowledge in reading in writing Now once the students done with that and the introductions which is a lot to do with Discipline and how to sleep what to eat how to focus how to You know the lead You know distractions, etc. Things like that in a more In a more holistic Type of you know on how to basically adapt your lifestyle and how to change your lifestyle In case you have not the lifestyle that is optimized to learn a new language in this case The Arabic language then how to do that to do it twice as fast so So I was getting ready the you see the exam for tomorrow and We have only students who passed The first question. I mean the first 10 lessons of the second module. So I guess I'm getting a little bit distracted like I tell you guys is is right now literally between mahrib and Aisha and and these perhaps it's something that I want to talk about but About as well how I divide my my work my deep work to Against my creative work, which is basically when my brain is not It's not You know sharp anymore like I need to think the words and I'm tired basically now. I'm thinking that You know what to do in the next hour because I'm supposed to be sleeping in the next hour, but anyways Well, I was trying to say some how many minutes it took us to get here five minutes. So I was trying to say Is that we getting ready the the exam for tomorrow? We start 9 9 a.m. In the morning and I was counting actually the amount of vocabulary But the students gain in the first 10 lessons of module number two only and there is around You know like 50 lessons. So just on the first 10 lessons the students they they have gained on average those who have memorized correctly sharp how we You know how we have optimized the program to be memorized they have Around 550 new pieces of vocabulary and there is some parts like for example this lesson right here, which is basically I will say the more the most complicated lessons In the first in the second module in the first 10 lessons, which is that the mind and that's it a bit roughly which is Like I told my students a big milestone because once you understand this and you know how to use this fluently If you need before knowing this if you need before knowing this 50 pieces of vocabulary between Only let's just say verbs if you knew 50 different conjugations in terms of verbs So what I mean by conjugations is you know, for example that have I had we have the have one as in he when he goes go in the in the name of them of That action then Then if you know how to use this you basically now know how to say I win he he he won She win They won they went for one and they both win and then he goes and she goes and he goes and I go and basically your vocabulary Goes from knowing 50 pieces of vocabulary to knowing 500 pieces of vocabulary just because of the amount of variations that you can that you can use This you know this kind of this rule which is on how to use the Myra muttos, you know, and then other as well. We have as well. Like for example, you know both of my can Lada the money I'm done We have as well many different pieces of vocabulary names and and As in nouns and its plurals Um Verbs the conjugation of verbs as I was telling you guys that you guys that you're a stature is that just the jaron And it's literally is it really amazing. I was looking at it. I was like it's kind of like Like, you know, sometimes I forget and not to brag or anything, but sometimes I forget What we have going on with with the team under the Institute if you follow the program is just like Like it would be really hard for me to see someone You know going through this program and and not I mean the Basically, I'm trying to say that it is impossible that if you apply what we tell you to to do that you don't Succeed and you don't become fluent in Arabic in in 15 months. So Literally as well the idafa On how to say, you know these habits book for example You know different things like that, but anyways, like I said guys I just wanted to make this video and in and share this fact that this benefit with you guys At the same time, I encourage you guys as well if you guys haven't been part of the of The of the of the webinar yet the webinar that we have going on in in Anders Institute that come Which basically shows you how to become fluent in Arabic in 15 in 15 months and what the path would look like at the end as well I offer you guys a a book which I will show you right now. I hand out these Beasts right here, which is as you can see you're gonna get this This this this book on how to attain fluency in 15 month game plan. You're gonna get it digitally So if you stay until the end of the webinar You're gonna get the The the basically the the the digital format of these Which is basically a game plan literally like 50 fluency in 15 month game plan game plan. I'm sorry guys. I'm tired Where are you basically gonna get all the steps? simplified on How to attain fluency the three twice as fast as anyone else is How many students that join our program and they they said that they they were studying Arabic for it for five years The max average ten years and still cannot Speak Arabic understand the Quran and understand the hadith the average khutba in Arabic You know, it's really it's really a blessing. I think it's a life Lifetime goal that any Muslim should have so So we literally change in the game right here you know and trying to to get this this To get this dream accomplished by the those who really want to to accomplish it so When you guys do to attend the webinar you probably will find a link below this video and and as I say guys You know, I just wanted to share this with you guys and at the same time I wanted to put some pressure on my students because they see me dropping a video about tomorrow Talking about the the pressure that I'm gonna put on them in the come in the contest and the and how the questions How hard they were going to be because they think they will be as the The revisions that we had this last week We had a few zoom revisions with all the students that are supposed to to be part of this contest And I was asked and asking them on purpose easy questions. So now they think that always it's gonna be an easy contest But but definitely I got ready some some crazy tricky Questions that you can see all in here that inshallah. I'm not gonna I'm not gonna show to myself So no one screenshots the the the screen and then checks the questions, but But yeah guys these all I wanted to to share with you and I hope you guys benefit from this and I will try and do videos of benefit of different things because I'm You know and the students in and there's an issue that come they know how how You know, what will be the word Obsessed I will say I am about discipline and and and things that will that are outside of the the fact of learning Arabic But they and directly, you know Determined the the amount of Or the the quality of performance you have into these mainly studying memorizing Arabic language in this case and obviously memorize in the Quran and different and different fields in the in the studies of the of In the Islamic studies, basically, so so that's what I would like to to start sharing with you guys In the next few videos and obviously if you guys comment me below and tell me what you guys would like to see and a lot of people would like to to see Mauritania and in the mahalid in the desert, etc. but But and that's definitely my mind But I would like to see other other suggestions as well and these all I would say And I hope you guys liked it and benefit from it. Asalaamu alaikum warahmatullahi wabarakatuh


Task, obstacle, accomplishment, is that the same thing? Task, objective, goal, list. I need the source, but what I was getting at is everything, every good day starts out with caffeine.  We're a little bit of a rush here. I got a hair appointment at two o'clock. My mom's is busy. She lives probably what, half an hour from us. She's busy. She's a professional taster. So she's doing like honey and olive oil. She's a professional pallet and the dogs are at home. So I got to get large. The biggest coffee that Starbucks could build for me. I got to let the dogs out and then we're on a mission. A mission from God. And the mission from God is to teach you guys, look, I'm experienced. I'm not that good looking. You guys can only imagine how successful this channel would be if I was really good looking, but I'm experienced. I feel like I'm an OG to the game, although I'm still fairly young. I've been on the internet in some capacity for like seven years content. My face has had new content on the internet almost every day for seven years, or probably every day if you take podcasts, YouTube, Twitch and Instagram into account. I've been on the internet in a new form, new content every single day for seven years. That's experience. So what we're gonna do is create content. You and I today walk you step by step to make the perfect Instagram photo. Now we have a theme in mind.   We're gonna unlayer you like that. What's it called? Blossom. Blossom? Blumen onion. Blumen onion. Blossoming onion. Blooming. The blooming onion. We're gonna unveil it like the orchid flower of fried goodness. And at the end in the middle will be me standing proud and tall with the best Instagram picture and hopefully you guys can take some tips from this. Boom, let's go. They have an actual one, you know? Like they sell his, they sell his. That's not bad. The green hat. What do we do on the beer? I think it's like a go team. There we go.  It's just a, no. The mustache and the bottom? Yeah. No, I'm gonna go tomorrow morning. Get some Tinder pictures for us. Oh, please, you're taking too many photos. You kind of do look like them. Look at that. You look so weird. Preparation, IP. I just made that up. That's not bad, huh? Integration and preparation. We need full integration almost like you're becoming that character, right? So that's the preparation and the integration comes from preparation. Proper preparation leads to full integration, right? Unique New York, unique New York, unique New York, unique New York, unique New York. Say that, say that little sucker. So I did a little research. I looked up the looks I wanted to get out of the day. I did Googling. I watched a little bit of the character I wanted to become. And, you know, right now we're 70% there, you know? I got the attitude going. I got the look going. Yeah, yeah, yeah, Connor's been playing Red Dead. You think this will fit my hand? I found a kid's glove for nine bucks. This fits my hand. Oh yeah, game on bro. Good enough for a picture, right? Can you see me here? You guys like that? So outfit isn't perfect. He rocks a lot of black suits, you know? But I'm working with what I can. I'm also a little skinnier in him. I'm still kind of chubby, but a little bit better.  So next we've got the baseball look. And then part of being a content creator or a creator at all is that one thing leads to another. So Connor had the great idea and we're going to dress up as the one and only Omar Isoff as long as I have this Gotigo. So I got this look, we got a baseball look and we're going to get multiple looks, multiple contents just because of this Gotigo. It was a genius idea.


Yeah, you know, the World Cup rule is pretty, uh, um, yeah, I don't, uh, it's, what, what's going on with the new stuff, it's hard to explain to you, just check it on the website mate, you have everything there.


Page Display Information Although it's very easy to upload your course materials such as word process documents to Moodle, it's sometimes better to add them directly into Moodle in, for instance, a book or a page. This is better for your learners too because it means they don't need to have the same software programs that you're using. They don't need to download anything. They can read it straight on Moodle. It's better for Moodle app users too. To do this, we enable edit mode, top right and then in the section where we'd like to add our information, we click add an activity or resource. This brings up the activity chooser and there are two resources which are helpful to us here. The book resource allows us to add a series of pages into which we can type the basic information we want to display and we look at that in another video. In this video we'll choose page. Click once to go straight to the setup screen or click the information icon for more details and then the add button bottom right. Name is where we type the title the learners will see on the course page and then the description and if we want to show it on the page, check the box. We scroll down and it is in the content box where we type or add our page information. If you only have simple text to add to your course, this is much quicker and better than typing it into a word processing program and uploading it and you can also add images, video and sound files onto a page. There are various other settings you might like to explore in your own time. For instance, appearance. Do we want to show when the page was added or modified or not? In activity completion, if we want to track that students have accessed the page, do we want them to manually click to confirm they've read it or do we want it automatically marked complete when they view the page? To alert course participants that a page has been added or updated, click send content change notification and then if we click save and return to course, we can see that we've added a course rules page which any learner on any device with any software can open and access and note that you can quickly update the page by clicking its name and then settings.


Ryan, do you see what's happening here? What's happening is I am slowly morphing into Bicycle Man. Yeah! Good morning, my friends. We are at the bottom of Mineral Bottom Road right outside of Canyonlands, and we are going to ride the White Rim Trail today. This is my good friend Matt. I met him about 15 or so years ago at a St. Patrick's Day parade. He was leading the lawn chair drill team, Petty O furniture. And he turned 50 this year. I turned 40 this year. We thought we should do something big. Big day for us today. Are you excited? Yeah. I can't wait. I can't wait to start pedaling. Man, it's so beautiful. This is one of my favorite places on the planet. You've been here before, right? You've done this. Yeah. Many years ago. But over three days, not one day. Yeah. Most people do this in about three to four days. We're doing it in one day. It's a hundred miles. It's going to be a hundred miles of smiles. Sounds cheesy, but it's true. One of the tricky things about this route is there are zero services. So you have to bring in all your own food and water for the next 100 miles. Before getting here today, we stopped by 7-Eleven. Got myself a bean burrito because you can't have an adventure without some free ho-lays. Climbing time. A couple last minute fig newmans, and you're probably thinking you're only bringing one water bottle for a 100-mile ride. Not really. Ta-da! We stashed some water up at the top so we don't have to hike it all the way up. We're just trying to be smart, you know? All right. Trek 1120. Let's go have a good day. So we're going to start out pretty hard. We're going to go straight up this mineral canyon road, which is a steep one. High five. Here we go. Here we go. Let's do it, White Rim. Woohoo! What do you got? Here's the uphill ride. It's one of those rides where your neck hurts by the end because you're just looking up to the side and around. There's just so much to look at. It's pretty awe-inspiring. The desert is definitely my happy place. I come here just to feel alive. It's a healing place. It's a good place to think. It's a good place to push your body. And it's a great place to hang out with friends. Yeah! Yeah! You probably can't hear that, but the echoes here are insane. I love screaming at canyon walls. So this will give you an idea of what we just rode up. That's the road that we just took. All right, Matt. We're five miles in. 95 to go. This is going to be a challenging day. This is 100 miles. It's 100 pretty difficult miles. We just go little by little, keep on pedaling, and we'll make it. I'm guessing it's going to take us about 10 hours or something. Well, I think this is where our treasure is hidden. Da-da-da-da! Hello! And more sunscreen, because you just can never have too much sunscreen when you're out under the sun all day long. Oh, this is a lot heavier now. All right, so this road here is the most boring part of the white rim experience. So we'll see you at the top of Schaefer Road. It is beautiful. Da-da-da-da! We are on Schaefer Trail now, and this is when the white rim trail gets real. This is the fun part. So Matt, why do you want to do this for your 50th year? You know, I remember years ago doing this over three days, and when we were down there, I think we were camping. There was this dude that whizzed by us. And I remember saying, wow, what's he doing? And somebody in our camp saying, yeah, man, he's riding that in a day. Riding in a day. And that kind of blew my mind. And actually, since then, I really wanted to do this in one day. So Ryan threw it out there randomly, I think back in November. And I thought about it for a while, and I'm like, Ryan's turn 40, I'm turn 50. If ever there's a time to do this, it's now. Look at that! It's just, it's unbelievable. You don't see this very often. There aren't many places on the planet that have views like this, and it just takes your breath away. It just kind of makes you dream about things like, wow, if that's possible on planet Earth, what else is possible? Yes! Woo! I love you, planet Earth! Woo! Well done. Well done, Mother Nature, I love you! What's funny is I've been here three times. I've been all over Moab in Canyonlands multiple times, and it's still just so awesome! Like, it's so psyched! It's a big drop, we go all the way down that, and just like that, we're down on the White Rim Trail. Ooh, that's quite the downhill, my hands are numb. Never seen these plateaus look this green, and I think that's due to a fairly wet winter and spring here in Moab area. This is a lid! So I just looked down as I was pedaling, and this water bottle cage pulled all the way through. It like, created a hole. I'm going to move this up and use one of these holes that is not all stripped out. Okay, I think we're back in business. You stay this time. Locked and loaded, ready to ride bikes. Boom! Boom! Look at that! Whoa! Let out a little air here. This road is pretty darn bouncy. I'll give myself a little bit more of a cushion.  Look at this! It's a portal to a new view! One of the best parts about this trail is lunchtime is very exciting because you know you're going to have a sweet place to sit down and enjoy Mother Nature while enjoying some food. This is a good one right here. What do you think? Good place for lunch? Yeah, this will do. Cheers buddy! Cheers! Boom! This is actually pretty good. I don't think the cheese is real, but the beans are real for sure. Alright Matt, so how are we doing on time and distance? How are we looking? Well, I kind of wanted to be over halfway done at lunch, five hours in. But we're only at 40, so I'm feeling like we've got to get some miles behind us. Yeah. So we're just going to keep rolling. That's all we can do. Let's keep moving forward. Maybe I should not film as much. Here's a place where you don't want to turn left too hard. Zazz check. We're halfway. We're halfway. We've gone 50 miles. It is about 2.30 p.m. and the only way out is now forward.  Alright, let's dig. Another thing I really love about this day is that cell phones don't work, so you're completely disconnected from the outside world. I'm not tempted to check Instagram or anything and that's nice to be free of that and just be right here. Of course, I'm talking to this camera, so there is some technology involved, but for the most part, being out here is just being in nature. And for me, that's why I do adventures. I love just getting outside, doing whatever, running, biking, hiking, sitting under a tree. Feel, Matt. Feeling good, feeling tired, back to the sore. How's your butt?  Is anything not sore? My earlobes are not sore. Okay, that's good. Fair enough. It's not good. Down the water bottle. I'm having a hard day with water bottles. Stay. Slow ride. Take it easy. Is this all you could have imagined for your 50th birthday blowout? Whoa-ho-ho, where's another one? Mother nature. We've been on a show today. One of the unfortunate realities of trying to do this in one day is you can't really stop for too long and enjoy things because you've got to go. And right now, we're under the gun. We're going much slower than we had anticipated. So now we are racing the sunlight. We're going to be okay, but we've got to keep moving. It's a little bit freaky, but worth it. Because that is the view. 4.15pm. So we have 35 miles to go. And the beauty of that is that number doesn't start with a 7. It doesn't start with a 9. It starts with just a little 3. Yeah, yeah. 35. That's like an afternoon ride. And you go a lot faster if you make motorcycle sounds. Yeah, buddy. Motorcycle sounds. I promise. But that's not even close to the hard hill. That was just a wee bump.  Ruh-hi! I was just talking to Matt about how the older I get, how I realized that doing these types of things is such a luxury. I'm so fortunate to be able to do this. You know, I've traveled the world and I've seen that a lot of this planet could never imagine taking a weekend day to go ride their bikes a hundred miles. Their day-to-day lives are hard enough, whether it's, you know, caring for five kids, working three jobs or picking food out of a landfill just to survive. And you know, I have the luxury of time and I have expensive equipment and this bike and I can go do this. And so when it gets hard on these adventures, which it always does, I try to keep in perspective that I am a lucky boy to be able to be able to do this. And it kind of keeps me going. You got to fill your heart with some compassion and love for those who can't do this. And that's my deep thought of the day as we're getting ready for a giant hill. Go for it, buddy. Close enough. You can tell by my breathing that this is a tough one. Come on, buddy. Come on, man. Nice view. Oh, boy. You got this. Yes. That kind of gives you an idea of how steep it is. It comes from way down there, right here. My legs are jiggly. Woohoo. Whoa, look at this. Oh, Shadow, how are you doing today? Steep hills at the end of the day are kind of hard, but whatever goes up must go down. So beautiful, so peaceful. Those are fun. I love hills. Yeah. I don't think it could be more beautiful than it is now. This is the perfect time of day to see these rocks. They're lit up, dark, burnt, orange, and red, the setting sun. Let's look for that to fall on your head. 730, 10 miles to go. Oh, my God, there it is. We did it. We feel good. It was a challenge. I'm proud of you. Matt's first 100 miler in like 10 years, and it was a hard one. If you're still watching this video, you deserve an award, too. This is a long one. And yeah. Whew, thank you, Mother Nature, for a beautiful day. Thank you, Planet Earth, and let's eat some food. I'm starving.