PHP Architect logo

Want to check out an issue? Sign up to receive a special offer.

The PHP Podcast 2025.12.11

 

This week on the PHP Podcast, Eric, Sara, and John talk about Clamp, Preloading, NativePHP v2, the end of Fleet, Waymo Cars DDOS, and more…

Links from the show:

The PHP Podcast streams the recording of this podcast live, typically every Thursday at 3 PM PT. Come join us and subscribe to our YouTube channel.

X: https://x.com/phparch
Mastodon: https://phparch.social/@phparch
Bluesky: https://bsky.app/profile/phparch.com
Discord: https://discord.phparch.com

Subscribe to our magazine: https://www.phparch.com/subscribe/

Host:

Eric Van Johnson

John Congdon

Streams:

Partner

This podcast is made a little better thanks to our partners

Displace

 

Infrastructure Management, Simplified
Automate Kubernetes deployments across any cloud provider or bare metal with a single command. Deploy, manage, and scale your infrastructure with ease.
https://displace.tech/

 

 

PHPScore

 

Put Your Technical Debt on Autopay with PHPScore

Honeybadger.io

Honeybadger helps you deploy with confidence and be your team’s DevOps hero by combining error, uptime, and performance monitoring in one simple platform. Check it out at honeybadger.io

 

Music Provided by Epidemic Sound

https://www.epidemicsound.com/er helps you deploy with confidence and be your team’s DevOps hero by combining error, uptime, and performance monitoring in one simple platform. Check it out at honeybadger.io

 

Epidemic Sound

https://www.epidemicsound.com/

 

Listen

Transcript

The PHP Podcast – Episode 2025.12.11

[03:48] Welcome to the official podcast of PHP Architect. Join us to listen to the latest news and tech talk from our conferences, the magazine, and wider PHP community.
[04:08] You’re listening to the official podcast of PHP Architect, and I am… Oh, well, shit. This is episode 2025, episode 12.
[04:20] 2025.12.11, I’m going to get it. There’s nobody here to give me shit, so it might take a little time. I am your host, Eric Van Johnson, and with me, as always, is my good friend, Sarah Goldfell.
[04:35] Coming to you live and direct from utc land in lisbon portugal tonight what’s up hey we’ll have to talk about that we’ll touch on that a little bit yeah each week we talk about php and web development what’s happening in the ecosystem and what’s new with the tools that we use and the just general day-to-day life of being a full-time developer we also keep you updated on all the Stuffed PHP Architect, the magazine, the books, the swag, the conference, and everything else we got going on. We record every Thursday around 3 p.m. Pacific time. That is 3 p.m. Pacific time, John. And we’re glad that you’re here. The show’s made a little better thanks to our partners over at HoneyBadger. Honey Badger helps you deploy with confidence and be your team’s DevOps hero by combining error, uptime, and performance monitoring in one simple platform. Be the hero your team needs. Suit up at honeybadger.io.
[05:37] We’ll talk about them a little later. If you’re listening to the audio podcast and you’re not joining us live, you should consider it. You can join us live over on our YouTube channel at youtube.com forward slash phparch. And the cool thing about joining us live is you can be part of the show, I mean, like, literally part of the show. Look at this. And if you’re not actively doing the show right now, you might be surprised what the hell happened to John. By joining us in our Discord channel, discord.phbarch.com. Thank you. Thank you.
[06:14] I think that’s it. That’s all I’m doing. That’s all I’m doing today. Sarah, how are you doing? Why are you here, Sarah? What’s going on? Well, apparently John couldn’t bother showing up for work today. I think you need to have a talk with your, let’s just say subordinate, since he’s not here to defend himself. That’s right. He is now here to defend himself. We’re going to just spill all the tea. All the tea today. All the tea. All the tea. No, tea is like a couple of countries up to the north. This is the land. What are you doing in Portugal?
[06:50] Sardines, apparently. What am I doing in Portugal? I’m moving here, man. You know this. What? I know, I know. I’m leading. I’m giving the people something. I’m acting like I don’t know.
[07:02] What had you settle in Portugal? Like, there’s a lot of other countries out there.
[07:09] I know people in Portugal. My retirement fund will go pretty far here. It is in the one true time zone. Oh, there you go. Maybe Johnny’s moved porch call maybe he’ll remember to be here what time is it for you right now uh it’s just about gone 11 which is why i’m soaking wet it was literally naked in the bath when you said jump into restream so i’m like i’m not sure i needed that image in my head but it’s there now thank you very much hey hey we all come into this world absolutely naked and god willing that’s how we go out.
[07:52] I also ripped out my infusion set getting out of that so if i’m messing with medical things that’s what’s going on apologies in advance for any syringes that appear on camera what are you doing with an infusion set what are you doing i’m i’m diabetic you know i’m diabetic i know but i didn’t realize you like walked around with uh stuff stuck in you oh yeah yeah so uh there was over here you can’t see it obviously because it’s ripped out you can watch me put one in if that’s really what you want. Oh, is that the thing that measures your sugar in real time? Yeah, it’s an insulin pump. It puts out just a tiny little bit of insulin constantly throughout the day. Just get out of here. Yeah, it’s good. I’ve been using that stuff for 25 years. And I hope you appreciate that I’m editing my speech. I almost swore there. Well, you don’t have to edit your speech. I don’t know. I’ve already sworn once. No big deal.
[08:50] So, um, what are you like, uh, you, uh, you’re working over there. You, are you working? I think the last time we spoke, you had moved on from, um, Datadog? No. Yeah. I left at the end of February and, uh, I haven’t been working since. I’ve been quite enjoying retirement. This is the second time of retirement. I originally retired in 2016. That didn’t stick. Um, at that point, i had a visa in my hands ready to move to paris and then mongo showed up and said hey can we back a truck full of equity back up to your door so.
[09:34] Paris and now you’re in portugal yeah look at you paris would have been a lot more central a lot better access to trains especially the eurostar but,
[09:44] I know. I’m so envious of transportation in other countries. Oh, yeah. So envious out there in San Diego, just hating the warm weather, even in winter. Dude, it is so crazy. Like, this is the weirdest time of year for us, because you wake up in the morning. Like, I usually get out of the house between 6 and 6.30, because that’s, you know, we go to the dog park. It’s a whole morning routine we have. Oh, I know. I have dogs. It’ll be around 40 degrees, right? I mean, you know, Southern California, December, yeah, that seems reasonable, right? I mean, it’s not going to snow or anything. Four degrees in real units, right?
[10:28] Here we go. Is this going to be the whole show with you? Seriously? I’ve been using Celsius for three years. You do not have to be pretentious want to be European to use Celsius. Talk to the Canadians.
[10:43] I don’t know what the actual conversion is. I know the shortcut. Like the shortcut, Beck showed me this, my wife. The shortcut from Celsius to… The better Johnson. Yeah, the better one. The shortcut from Celsius to Fahrenheit is double. On the Celsius form, you double the number and then you add 32. And that’ll get you in the ballpark of what it is in Fahrenheit. So you go backwards. That’s pretty close. Yeah. Yeah, go backwards, minus 32, then divide it in half. Yeah, or five ninths in that direction. Yeah. But yeah, it’s like 40 degrees in the morning. And then like right now, I just asked Alexa what the temperature was. It’s 80 degrees. We have a 40 degree jump between 6 to noon here in Southern California. That is a hell of a jump, yes. I’m not really complaining about it, but yeah. Yeah, it’s like you put the flannel on in the morning. By 10 o’clock, you’re sweating balls. Honestly, 40 degrees in the morning scares the hell out of me.
[11:52] Like that actually seems proper cold.
[11:56] And I’m going to be in Chicago next week. And it has not been above freezing for three weeks in Chicago. So every since doing tech and taking on tech. I understand how the algorithm works, but I get nothing but reels from Chicago in my Facebook stream. Oh, yes, because tech is in Chicago. Yes. And I don’t mind it. And it took a while for Chicago to grow on me because I just, you know, like I’d only been to it a couple times for PHP Tech before and never went exploring. And i i was always like i don’t understand what the attraction to chicago is it’s it’s fine i mean it’s but it’s nothing like i’m not like taken back from it and then when we started doing tech and i started going there early especially with beck and we started doing some exploring i’m like hey this is a pretty fun place man this is nice so when you be going there like like may kind of time frame chicago’s actually really nice in may like it’s actually a really pleasant place to be as long
[13:08] as the cicadas haven’t started their yearly song um and then you can’t hear anything but no i so like downtown chicago in loop i actually really like the um. Gigantic art deco size scrapers everywhere plus some modern stuff mixed in there the freaking marina towers just look so out of place and yet exactly where they need to be, um it’s the architecture is really cool and if you have a chance to take the architecture tour on the boat i really recommend it like oh um i tell everybody that i’m sure i get tired of it, well it’s true though um we uh had a partial lease on a sailboat on lake michigan so we would go out sailing on the lake several times a year and you get some beautiful views back along the skyline from lake michigan it’s really nice um there are things about chicago i will miss, including tech the best conference in north america you don’t have to miss it i mean we We have flights to Chicago, just so you know.
[14:10] Have you seen your government lately? Yeah, yeah. Yeah, yeah.
[14:18] So what do you do for fun, Sarah? What do I do for fun? Well, I’ve been getting in lots of walks. I’ve lost a crap ton of weight this year. I was probably like 115 kilos when you saw me last. I’m 88 kilos now i mean that in english i don’t know what that is i assume that’s good i don’t know what is that 115 that’d be 230 plus about 250 pounds down to.
[14:52] About 195 that’s great yeah i wish i could get back down to 250 myself jeez, somebody showed me your height or i don’t know where i got your height from the other day somebody’s talking about how tall you are you’re like six and a half feet tall or something like that yeah yeah that gives me a hard time because i always say i’m like six three six four because, i’m like a little not self-conscious about it i just feel like i’ve gone to the doctor’s office and i’ve gotten like that six three six four reading and she’s like you’re like six five 566? Why do you tell people you’re so short? I think it was Vex saying that you were almost 6 1⁄2 feet tall. Yeah.
[15:36] So, yeah, I always think, like, I stand next to people, like Taylor Otwell, for example. Like, I don’t know how tall he is, but he seems like tall, you know? And I’m like, I don’t think I’m really 6’6″, because I feel like I would be towering over this guy, but I don’t. So, I don’t know. I remember specifically, but I feel like Taylor’s at least as tall as I am. And I’m,
[16:03] Like 6’2″, 188 centimeters, whatever the hell that is. Yeah.
[16:09] But, I mean, we’re both large people. Yeah, yeah, yeah.
[16:17] So I got a time suck for you. I think you’re going to appreciate this. This is completely… So for Elemental in chat, not ignoring you, We do talk about PHP on the show. I was actually just going to say we should probably talk some PHP at some point. We haven’t gotten there yet, and we’re not going to get there yet either. I actually didn’t set my scene up here. PHP today. So check this out. You’re going to love this. This is nothing but a time suck. There is this website out there called floor796.com. and all of this is this site you can you can scroll around and it’s filled with like uh a pop culture references like movies and stuff and memes and like it’s so bonkers man like there’s just so much to explore you just keep walking around and oh this is uh what’s this is from um the remake of uh or not the remake the um sylvester salone he was frozen and, Oh, Demolition Man. Yeah, yeah, yeah.
[17:34] So, like, if you click on it, it will actually show you. Judge Dredd. Judge Dredd is what it is. Oh, okay, okay. You said Frozen. That was Demolition Man. That’s the wrong one. It will actually show you what it’s referencing. And I’m like, oh, yeah, yeah. That’s cool. It’s just, oh, Ghost in the Shell. Oh, look at that. Obviously, this is hackers over here. So, yeah. Hack the Gidsons. Hack the planet. I spent way too much time on this Hitchhiker’s Guide. I know that one. Yeah. It’s floor 7-9-something. Yeah. There’s Venom. What’s Earthworm Jim or something? Is that his name? Earthworm Jim? Oh, God. We’re in trouble. We’re not doing what we’re supposed to do. We are definitely not PHP-ing. We’re not PHP-ing, John. What are you doing? We’re not PHP-ing. that’s for sure we’re wasting time that’s what we’re doing we’re filling in for the slacker who couldn’t show up very much so god i’m standing
[18:40] there in costco and realized how late it was, and that was my one restriction i told my wife we got to be back by three and you can’t do that when you go to costco nope what are we looking at, so this is apparently this is this is just uh yeah it’s a website all you do is scroll I don’t know if it’s like obviously there is a border I thought it might have been an infinite scroll but it’s just a bunch of pop culture references and memes and stuff and you can just click on it and see what it’s referencing oh Captain Kirk playing fruit, Jedi. Okay. Yeah, that’s all it is. I was just going to look at this for the next 30 minutes until you showed up and Sarah said they would jump on. I’m like, okay, let’s do that. Sarah, how have you been?
[19:41] Man, ups and downs, man, but mostly ups. I might actually finally come close to getting my visa in a couple weeks. We’ll see how difficult a process is that for you it’s it’s not even that it’s hard dude it’s just it took me four months just to schedule an interview for three months further down that’s the problem so so the funny thing is i just talked to i’m starting up to schedule travel for php tech speakers and one of our speakers asked us if we would cover visa fees and i was like i’m open to the to talking about it but i’ve never been asked that in my life and when she told me how much it, i’m gonna go over to the php tech website you know if it’s working john let me see i didn’t break it You broke it. You broke it. Go ahead. Finish your story, John. Since the site did come up. Thank you, Joe. Yeah. I don’t know if it’s just from their specific country, but they’re talking almost $700 U.S. dollars.
[20:59] Okay, last I looked at ESTA. Granted, I have not looked at ESTA because I have a U.S. passport, obviously, but it was like $35 tops. I agree. That seems crazy high. Yeah. I don’t know the difference. They were talking about an HB1. I don’t even know the difference. That’s an employment visa. No. We’re not hiring them. Yeah. I’m glad I talked to you guys before we did anything here. Yeah, no, HB1 is an employment visa. That’s not what you would need to get for them. Okay. Yeah. Yeah. Yeah. Yeah. Yeah. I mean, we, we, yeah, we do this enough. I mean, we can just ask our UK buddies, uh, yeah. How much there is. Yeah, I did over, they haven’t responded or I’ve been gone and haven’t seen it. Nobody. We’ll find out. GSA. Nobody respects you. Americans who want to go to Europe, they’re going to start enforcing reciprocal visa programs now. And you’re actually going to get, have to get your ETIAS to go to Europe. Really?
[21:58] Yes it’s only like 10 20 bucks but you need to do it in advance is the problem. It was supposed to be implemented somewhere between last year and this year and they’ve just kind of been dropping the ball but it’s kind of like real idea eventually they’re going to start asking for it yeah our our buddies our buddies over here in dc really want to give us a hard time for tech i don’t know if you saw this eric but they’re trying to pass i don’t know if it’s legislation but they’re trying to make it where in order to get your esta is that right esta estas for coming to the u.s yeah right um they will need your last five years of social media accounts yeah your last 10 years of email addresses that you’ve used your last 10 years of phone numbers that you’ve used, It sounds like it’s going to be an absolute nightmare. Mm-hmm.
[23:04] Now, why is it I’m emigrating again? I can’t remember.
[23:10] So speaking of tech, speaking of tech, you know me, I can’t keep a secret. Now, this is not a spoiler. I’m not going to spoil anything. But, you know, every year we do a new elephant for tech. And obviously, I can’t spoil what the new elephant looks like. But aren’t these the most adorable elephants you’ve ever seen? Look at these guys. Look how cute these guys are. I mean, they are cute, but… That’s not the elephant.
[23:41] No, this is not the elephant, actually. I saw this is actually the official Mastodon elephant. Okay, that makes more sense. Yeah, yeah. They had it in orange. How do I not get the orange? and then of course orange needs a friend so you know you get two little elephants,
[24:03] so you got thanks for spoiling your job so that’s got to be our archaeo for mastodon since you know mastodon is like old elephants so it’s archaeology it’s archaeo archie archie i don’t know we do have the elephant uh,
[24:21] decided on we’re still in the process of designing it so well you you can show the stream nobody’s gonna tell it’s fine well nobody watches the stream only only people who watch this on youtube are gonna know so we’re oh that’s right all your audio listeners you didn’t get to see my little plushy elephants yeah so in other words go to youtube.com slash phbr and check it out, we’re still waiting for our prototype audio listeners should take a look at that elephant that just came up as i’m saying we’re still waiting to get our prototype,
[24:58] i mean those drawings of the prototype.
[25:09] So plans are being made things are happening we’re moving forward with tech, i got a question for you sarah,
[25:20] because i yeah i know i know where john is on this where are you with um actually no let’s not talk about that where are you with autonomous vehicles sarah would you ever get into a autonomous vehicle an autonomous vehicle. I have not gotten into one yet uh if the opportunity comes up if i call for one and it shows up and it’s like a way more something I’m going to try. Um, they haven’t killed too many people. Uh, the one who drove into traffic last week straight into a, uh, armed police situation, I’m sure was nothing to worry about. I actually saw, I actually saw a, uh. The numbers on this and of all the autonomous vehicles out on the road today and don’t quote me on this over the last five years uh there have there has been 60 accidents that they’ve been involved in which is crazy down from what like the same amount of people driving would have been in like they didn’t compare it was really i wonder what the percentage works out
[26:29] yeah i forget what it is it was it was there’s not that many of them i was surprised because you think like you like accidents aren’t always like they’re two people involved in the accident so the fact that they’re they’ve maybe maybe the the the number was accidents that they’ve caused or something because i find it hard to believe more people haven’t run into these autonomous vehicles and you know not it not be their fault the the you know autonomous vehicles fault but, because they’re in la i so the the time i i’ve been in them has been in san francisco and for the record i love them being the introvert that i am i don’t want to talk to anybody and the fact nobody’s gonna try to hold a goddamn conversation with you right it’s like. Yeah and i mean i was with family at the time but like the idea of like getting in one and they’re not being anybody else in the vehicle i’m like yeah no i
[27:28] can do this i’m good with this so here’s the secret to not having to have a conversation don’t speak the local language that works really well you want to hear something funny. What’s that? Humans being what humans are. And like I said, the time I got into one was in San Francisco, which is like the tech capital of the U.S. Lots of geeks there. You know, people are going to mess with these things. Oh, yeah. About 50 people one day decided that they’re going to go down a dead end street and order a bunch of Waymos. I’ve heard about this caused this gridlock down to Shannon Street, it was hysterical man I saw this, I’m like, oh this is perfect yeah the batter side of this is when they were recently having in LA, when they were having the ICE issues, a whole story here, if you’re not up with US politics I’ve heard about that, there were some set of, Yeah, they were ordering the Waymoos and setting them on fire.
[28:40] I’m like, what did that car do to you? They’re not ice. Are they driving with you? They probably don’t get ice in the car, you know?
[28:50] So I enjoy this. This is just fantastic. This is people being people. And it’s funny because as a developer, I can sit there and I can totally feel them saying, oh shit we didn’t think about that did we like we didn’t we didn’t code for that did we no no we need to code for that i mean usually i do not endorse such behavior especially the fires but even the the wasting time because you are you are creating traffic that is going to impact other people but. Um it’s funny as hell and that is people being people well the fact that it was a dead end street so it was less impactful on traffic hopefully they got to come into the street they got to get out of the street like there’s gonna be people live there or nearby i’m sure unless it’s industrial i don’t know um but to hop off your stack and to the question of autonomous vehicles getting an access number one my first response is lies damn lies and statistics i wonder how which ones
[29:53] are they counting which was they not counting but i do believe i do believe that autonomous vehicles at least have the potential to be a hell of a lot safer than human drivers because humans are really distractible creatures and ideally in a perfect environment the machine is not right there’s a whole bunch of asterisks over that we’ve all seen what ai uh large language models can do, at this point in time, none of us are impressed. I’m not sure autonomous vehicles are necessarily where they need to be yet, but there’s a lot of potential there. They’re going to start making up roads soon. They’re like, oh, there’s a road right through here. That’s how we’re going to get there. And what happens when they do that, right?
[30:38] Like, I don’t expect the companies behind them to take responsibility. GPS is taking me down, especially when I was in Arizona. I’m like driving down a dirt road I’m like I don’t think this is a road GPS and it wasn’t it wasn’t a road at all and I had to turn around and figure it out so yeah totally see the thing about autonomous vehicles for me. Has always been i think it allows people to stay active longer especially older people who shouldn’t be driving anymore but still have enough with them to you know want to go shopping or wanting to go to the movies or something you know the idea of like my mom being able to go to a movie and her not having to worry about driving is very appealing and and i i hope to get there someday like i don’t you know i enjoy driving but i i know uh my wife doesn’t you know beck doesn’t like driving and you know i i’ll uber her around a lot but you know at some point she’s not going to you know she’s straight up not going to
[31:45] drive anymore and you know maybe by that point we’ll have autonomous vehicles closer to where we live um but you said an important word in there and the word you said was uber because the car doesn’t have to be autonomous to fill that niche. Rideshares are already filling that need. That’s true. I’m not saying autonomous wouldn’t necessarily be a better mode of that. I’m just saying that. That’s always the thing about with autonomous vehicles. Like, I mean, I guess they’re going the way of the dodo bird too. But like, I was in my head when I remember hearing about this years ago and people saying, oh, you know, we’re within 10 years of autonomous vehicles. The first thing i thought is if every mall in the country doesn’t get behind this and like have some sort of system in place where if you want to come shopping at their mall they’ll send you a car to pick you up and bring you you know as long as you spend a hundred bucks you don’t
[32:44] have to pay for that ride and they’ll take you home you pay for the ride and that presents you a coupon for the cost of the ride that you spend in the store.
[32:56] How are people not doing that? I don’t know. I guess it’s a bad business model. I think that’s a great idea. You just got to scale that out. Yeah. Especially in more. What’s that? That’s the tricky part. Especially in the more congested areas. Like San Francisco, Chicago, LA. Where just finding parking is stressful. That’s my biggest thing. When I go to LA. Or even to San Diego now. The thought of like, god damn it. I got to find parking. And San Diego and Ellen is kind of the same way. There’s like nowhere to park for free anymore. Like you have to pay for parking no matter where you go. Even like the big open park in San Diego, Balboa Park has started charging for parking. It’s like, aren’t our tax dollars paying for this already? Like, why are we paying for parking here, for God’s sakes, you know? There’s an entire story about the parking situation in Chicago. I recommend you look this up because this is insane. Chicago doesn’t own its streets.
[34:04] It’s sold. What? It’s. Oh, yes. Look this up. It’s on. It’s all over YouTube about this. Look up like pay parking in Chicago. You’ll find the story. Chicago sold the rights to all of the meters within the city limits until like 2070 or some goddamn thing like that. Holy. Because the city was in a financial crisis and they couldn’t pay their bills. And some bank comes along and says we’ll pay your bills for a price and um yeah, yeah yeah i i actually i i think that’s actually kind of a yeah, Sorry, my doctor, apparently my totally professional, Eric. I get it. Yeah. I mean, if you’d watch the podcast, he would know I can’t answer the phone right now.
[34:53] But I think that actually happens more frequently than we know, where it’s not only like it’s the whole. We want to have meter parking, but we don’t want to pay for the meters, pay to have them installed. And so these companies come in and say, okay, we’ll install the meters for you. We’ll enforce the meters for you. You don’t have to pay anything. And we’ll even give you money. You know, we’ll give you a certain amount of money at the end of the month. And so I think that’s actually, I don’t want to say a common practice, but I think it happens more than we realize. Broadly speaking, deals like what you’re talking about are probably fairly common. But seriously, like go down this Wikipedia hole. Chicago got a really crap deal. Possibly because somebody got a kickback but it’s Chicago so you never know they don’t call it the Windy City because of atmospheric conditions I’m just saying, and in case you ever wonder the best deal is a free deal and you can get started
[36:00] with Honey Badger today for free let’s thank them what what.
[36:08] When your app breaks in production, you want to quickly understand and fix it, not sift through the logs for.
[36:30] Helps you reach into your logs and grab just the information you need. With error tracking, performance and uptime monitoring, log management and support for over 10 languages, Hunting Badger is the best tool to gain real time insights into your application.
[37:01] Thank you, Hunter Badger. Thank you, Hunter Badger. That was a little late getting that one. I apologize, everybody. We need to play it at the beginning of the show or something just so we can get it out of the way and not have to worry about it. I thought that was a perfect segue. I don’t know what you’re talking about. You like the segue? It’s so smooth. It was smooth. So natural. Uh duck nizzle asked in discord about my son’s chess tournament he was in last week or yeah last thursday and out of 32 kids he came in fourth place hey that’s not bad it was run in the the chess master didn’t really like the way they had to do the running they have enough clocks. So there were, um, 16 games going on at the same time. So they did basically a 10 minute game. And if you didn’t checkmate within 10 minutes, you. You were just decided who won by material. So if I captured more of your pieces by points, I won based on that number of points.
[38:11] Pawns are worth one, knights and bishops are worth three, rooks are five or something like that. Yep. Yep. And queen is nine. So my son won two games that way and he checkmated in one game. So he got enough, enough points that he moved on to final four. And then they actually used a clock and, and he came in fourth i was very proud of him watching him play was amazing but the kids who he played against were really good yeah really really i i i am in awe of people who actually like play chess well like i know the rules i can move the pieces but like it’s pure luck if i win game yeah i i i so john and i did it for a brief moment john still plays i i have issues with chess like i just i have issues just in general like i get obsessive about how especially competitive things like when i’m competing or i feel like i’m competing like i feel like i have to learn all the angles and all the strategies and it’s not just like
[39:22] chess like everything I do like I feel like I have to learn all the angles and all the strategies and I struggle with that with chess because there’s so many strategies and my my brain can’t process and John’s John’s just like well don’t worry about just start moving pieces I’m like you don’t understand I can’t just move pieces like it bothers me that I don’t understand the strategies and I will get really heavy where I will learn like three or not even three or four, like one or two like openings of. And I’ll, I’ll, I’ll learn them like pretty deep in. And then, and then if I do that and I get past, even if I get past to where I, you know, I can’t play the opening anymore. By that time I have enough, enough pieces have moved where I can start strategizing, right? I can start. Okay. I understand what we’re supposed to do. You need to try to, you know, take care and like, I can start strategizing at
[40:16] that point, but I just can’t, I get like paralysis trying to start the game. Because I have to understand moves. Someone can knock you out of it just by making an odd move that doesn’t follow your opening? 100%. 100% they could, yeah. Well, what’s worse is if the person I’m playing opens and they’re not playing your strategy, I’m like, yeah, I don’t know what I’m supposed to do here. I don’t know what to move. It’s horrible. You were saying, John says, well, just play, let it flow. But like i have seen people like that i’m playing against reach across and say good game i’m like what are you talking about well like i’m gonna win in 12 moves and i’m like you don’t know what i’m going to play like yeah i do i’m gonna go here you’re gonna go there i’m gonna go here you’re gonna go there and then it’s 12 moves later and then i’ve lost yeah there are times where things are forced and you have no
[41:12] choice i that’s i did that with john because i was the same way, but I was on the other side of it. I’m like, I can’t win this game. Like, no matter what move I make, he’s won. And I even, I think I even said something to John at the time. I’m like, well, the game is pretty much over. I can’t win. And john’s like i don’t understand what you’re saying just keep playing i’m like but but i can’t yeah i i got lucky he made a mistake i was able to capitalize on it but it was just like i’m the same way like i can i can see where if if they play everything correctly i don’t see a move that i can make to continue the game and i would be that person i would be the person okay good game but i’m gonna have that assumption when the board’s in its initial state. There’s no move i can make we’re off.
[42:03] Chris you do not capture the king there is no you put it in a and check and it can’t get out of check then you win.
[42:15] So okay uh should we talk php this is funny because i so we should have said this at the opening of the show because not everybody knows who you are Sarah but for anybody who doesn’t know, Sarah has been a major force of the PHP internals team since, for how long now? Like, since the beginning? No, no, just the past 23 years. Since she was a baby. The funny thing about it, Sarah doesn’t code in PHP. She codes PHP, but she doesn’t code with PHP. I wrote PHP today. I will have you know it. I wrote PHP code today. It was a unit test, but it was PHP. That’s actually something big. Actually, weirdly, today, just randomly, I was bored. And I go to the PHP source repo, and I’m like, what is the oldest issue reported in the bugs tracker? And I’m like, oh, I can just fix that. So I threw up a patch today with a unit test to fix the oldest bug that’s in there. I should probably merge it at some point. So if you’re wondering how to use
[43:32] OpenSSL Seal and OpenSSL Open with GCM as your cipher mode, I’m going to fix it for you. So, you know, the busy Pixel said Sarah used to do the musical intros for this podcast. Not this podcast. And I have that somewhere. You’re lucky I didn’t have more time to know you were coming on because I would have found that. But, yes, that is a deep cut to a previous podcast we had that had a banger of an opener, thanks to John and Harry Mack. And then Sarah did a live version of it at Tech one year, which was fantastic as well, I might add. It was awesome.
[44:22] I’m trying to think if I can remember the first couple of verses. To just jump into it, but I can’t remember how it starts. I just remember I’m loud and passionate. That will be written on my tombstone. He’s never on some average shit. Eric, he’s always loud and passionate.
[44:41] I’ve got more internal questions for you. Pay attention. I’ve got more internal questions for you, Sarah. Because we actually talked about this recently on the show. And I’ve never asked you about it. And I was actually thinking about it again today. But what does it take? So the way we’ve talked about it on the show before is when frameworks come up with these helper functions, Laravel has a bunch, Symfony has some.
[45:16] I’m that person where I find myself using a helper function enough where I’m like, why isn’t this just in core? The ones that were recently adopted from, I don’t know if they were adopted from Laravel, but recently a bunch of array helpers made its way into core. And those were the ones that I would use a lot with Laravel. Laravel has great array. Like array first, array last that just went in a version or two ago. Oh, yeah. Yeah. Same thing if string begins with those types that came out recently. Yeah, exactly. So, like, what’s a page? My answer to you is that all of those functions, even the ones who haven’t been written yet, already are.
[46:00] And they’re in PHP through the preload directive. If you like something enough, throw it in preload, and it’ll be in every request you don’t have to include. And I know that’s not the same thing. What? But it becomes available when you start a PHP. Do you not know the preload directive? Talk slower. Preload? What’s a preload directive? Eric. PHP has an I&I. And when it loves an include file very much, it can load it up on startup automatically. What? Yeah, but that’s not making it part of core. That’s just, that’s like back in the day when we always included it. It is a function that is always available, is it not?
[46:41] Is it written in PHP? It’s written in PHP, yeah. It’s like when you put includes function.php. We used to do that all the time. You can have an INI directive that includes that automatically for you. But what he’s saying is, what’s it take to get these functions into core versus? I know what he’s asking, but my question back is, what is the material difference from saying, I definitely want these functions always available because they’re awesome and I use them all the time so I’m going to bring them into preloading, versus I want all of these functions available,
[47:19] baked into the language so that fixing them needs a new release. That’s the only reason to do it would be performance, right? Performance. Performance is not quite as straightforward as you think it is. Like, yes, you can translate these into C, and for the ones that are very compute-intensive, things like, you know, string manipulation things where you’re making massive strings and adding it in place, yeah, C could probably do those a lot better. For the majority of the things that actually happen in PHP, if you write it in PHP and then it gets jitted, your PHP code that calls that doesn’t have to go through the translation layer between PHP and C and then from C back into PHP because registers have to get saved. There’s a whole bunch of layer-to-cache-breaking nonsense that makes internal functions not as performant as user space functions, in certain circumstances when jitted and there’s a lot of asterisks on that but my
[48:23] point is perf is not a simple question of c better than php period interesting just moving so let me expand on that a little bit because like the one that gets me the most is carbon like i will never not use Carbon. Carbon is like the perfect implementation of time management in PHP for me, for my opinion. It’s just my opinion. I would love for Carbon to be baked into PHP and for PHP internals to say, okay, let’s rethink what we’re doing and let’s look at Carbon’s example, how they did things and let’s add it. I would love that. Realize that would probably never happen. Is carbon something I could preload? Like, can I preload a whole package? Yeah. Yes. What? So the way the preload directive works is the preload directive is the name of a single PHP file that you would like to run on server startup. Not on request startup, on server startup. So that PHP file runs. It has a few restrictions on it. One is you can’t provide any output because
[49:32] there’s nowhere for the output to go. Okay.
[49:39] That might be the only actual significant impact um oh you can’t make persistent connections i think is the other one uh but temporary connections you can make the main thing you’re meant to do from preload is include files so if there is a if there are a hundred php file includes that you want to bring in load them up during your preload and they will just always stay persistently compiled, ready to call for every single request that comes after. And that includes defining classes like Carbon. I’m going to be 100% honest with you. I didn’t know about that. Had I known about it, I might not have ever gone down the path of frameworks. Because I’ve been a ride or die framework user for a very long time. I was KPHP back in the day. And the whole reason why is because I got tired of copying over my functions file and including it everywhere. And I have probably like 50 functions in one file that I would just carry around
[50:43] with me from project to project. I’m like, if I had thought to preload that. I might not have ever gone down the path of a framework. I used that back in the day, back in the early 2000s. I used the preload. I didn’t know it was on server startup. So that performance boost you’re talking about is big. Sorry, early 2000s? Whenever I was not like 2005, 2010. Preload was introduced in 7.4. Oh, was it? So whatever you were doing in the early 2000s was not preloading. There was some sort of auto include auto pre-pin file maybe maybe that’s what it was auto pre-pin file is the sucky not great version of preload okay auto pre-pin file. Loads a file on every single request and has to compile it on every single request it was also an era where we didn’t have opcache we didn’t have uh any kind of uh compile optimizations like compare looking at how auto pre-pin file works for you and comparing that to preload is not even a fair comparison they are
[51:54] in different categories that that probably explains why i didn’t know about it because by php7 you know i i was in frameworks i had my own yeah you know way of doing things it’s good it’s so good to know like i i should really like i said if i could get carbon is always available to me. So, so that means it’s also available for command line stuff as well. Right? Sure. Yeah. Because it’s not as effective for command line stuff because command line stuff is a single request one and done. So, I mean, you could just include your preload.php from your script, and it’s the same difference. But what I’m going to say is, I think the subject of frameworks is kind of orthogonal to preloading, because you can preload a whole framework. You can preload every single class across all of Laravel, and then define your specific app controllers or whatever, however you use Laravel. I don’t know how to use Laravel.
[52:50] That can be your request-specific stuff. Or even just the entry point can be request specific stuff you can have your entire app in preload if you want that’s so why are we not doing that i was i might be oversimplifying this but like why wouldn’t you in in that case that scenario why wouldn’t you preload your app for your production deployments. Wouldn’t that be the same as using opcache? As we load things, so it’s not there on the first few requests, but as you start loading your files, eventually you have them all kind of cached.
[53:34] So there’s a way it’s slightly better and a way it’s slightly worse. The way it’s slightly better is that you don’t have to go and check the disk, see if inodes have changed, or look it up in a hash table to then copy it freshly in. So in that way preloading is a little bit better but there is a little bit of trampolining where, at the beginning of the request whatever is in your preload does actually some small piece of it does have to get copied into request including some pieces you’re not going to use so it is also a little bit worse so I’m not going to try and pretend it’s a panacea but you should at least be aware that it exists and be able to kind of stress test, what works better in your specific situation situation.
[54:19] That is also psr4 works really good to this what’s that psr4 for auto, general general well that was my question when you were talking about preloading i’m like well can i just like auto load the package and preload but i think you kind of answered that for me right, i mean those two things that probably should work together to some degree you you you preload the things that you know are going to be important every single request and then you auto load the things that are a little bit more situational. I just included a link to the preloading manual. It’s part of Opcache, right? Yeah. Yeah, I think it’s opcache.preload. Yeah. But Obcache is built in, so it’s just there. So I don’t want to snipe you here, John, but I feel like since we have Sarah here, I see you have another internal RFC out there. Should we talk about? I haven’t looked at it, so I don’t know what it is. I had two of them on there
[55:24] to talk about. Did you hear about the one that passed recently? The PFA? Yeah. Yeah, that was on my list. I’m really excited PFA passed. Yeah. PFA?
[55:34] It’s the one I just put on there it’s at the bottom of today’s show it’s the partial function application version 2,
[55:43] Larry Garfield’s been trying to get this in for a while so he talked to me at Longhorn because he wanted to do a talk on pipes but he’s like pipes isn’t going to be a full talk but if PFA passes, that’s going to be bringing everything together oh we got the little christmas logo good job okay sorry.
[56:07] It’s great uh but yeah pipes and pfa go together like peat and butter and jelly man, what’s up what’s a pfa so right now right right now with pipes as you’re piping you can only pipe data into the first um parameter of a function, And you have to jump through, and the other parameters can’t be required because you can only pass one thing in with pipes. So you have to jump through some hoops if you want to pipe to functions in other positions in your piping, in the call stack, right? This will allow you to say, I’m going to create a partial function, and this is where the input’s going to go.
[56:59] It’s a partial application of the function so you’re saying here’s a function that takes multiple parameters i want to pre-apply some of those and say for the rest we’re going to save that for later what you get out of that is a callable and that callable just has those,
[57:18] not set parameters yet. And then you pass those at that point. Yeah. And the canonical use case is within pipes where you want to have a function that only takes one parameter so you can make the rest of them fixed.
[57:33] So are other languages doing this?
[57:37] So, I mean… Where do we pick this up from? Was somebody asking for this?
[57:45] Um…
[57:48] So yes, in that I was asking for it and Larry was asking for it.
[57:54] It is something that I originally started trying to bring from hackling when I was still at Facebook because Facebook was asking for it and they got it in the form of hackling implementation. It does exist in some other languages. We had some references in V1 of the RFC. I don’t remember what they are off the top of my head, but I think Elixir has them, a few others. It is at the end of the days, like syntactic sugar for a lambda whose only purpose is to call a different function. So it’s not doing anything incredible.
[58:29] But it can make the code a lot more readable, I will say that. Right. The way to get around it currently is creating an inline function within your pipe that takes that and then puts it in the right place. And then you’re putting those other parameters there. Right at the top is that string replace example, Eric. Yeah. Oh, so this has been approved then. Yeah, yeah. They’re passed unanimously. Okay.
[58:58] Um yeah so that yeah so if you scroll to the right on that string replace oh shoot, i forgot i did that i don’t know how to scroll down i can’t i can’t scroll john because i changed my buttons you got to figure it out all right so the input that you would want to pass into here if you’re piping is the third parameter of string replace. So right now to get around it you’re you’re creating a anonymous function or an inline function that takes the one parameter and puts it into the third parameter of string replace, the pfa allows you to change that and you can use a question mark or a dot dot dot right i think in here you could use either or um i believe that the question mark is for a single parameter and And the dot, dot, dot is for just, it’s a variadic splat. So it’s just any more parameters go here. Gotcha. Huh. Yeah. Yeah. So the one right below that is how it would work. What’s that?
[01:00:07] I was going to say, I want a numbered parameters because I want to be able to reorder things. It’s like if you have a partial function that takes two arguments, you could potentially have the second argument become before the first. I’d say that John calls me crazy for liking that. I agree with you, Sarah. Yes, I’d like to be able to pass the parameters how I want to pass them. Yes why not have a little more power right yeah well you’re fine doing you’re fine doing with name parameters now you just can’t do that with this pfa there are name parameters i guess yeah okay fine right right right that’s oh yeah that’s what i was referring to with the name parameters yeah that was a big conversation we’ve had in the past about them um yeah all right i’ve given up that fight i’m i’m fine with them i don’t use them i just i just don’t i i will never yield that’s my problem i just wear them down parameters in php either i don’t know why.
[01:01:05] Yeah well for me it’s been writing it for so long it’s like this is the order they go in this way plus i’m using php storm and it puts the name of the parameter for me so i know what they are so i don’t need it typed out for me, Yeah, it’s not a PHP Storm thing. It’s just IntelliSense in general, whether it’s Storm, VS Code, Nvim, wherever you have it implemented. Yeah, it is definitely easier to see the parameters that functions are expecting now. Are we talking about this other thing, John? Because I don’t know what it is. Which one? Clamp? Clamp? I’m sure we can talk about it. What, just the numeric clamp? Yeah i don’t know this is passing good yeah it’s all it is is making it easier to to make sure numbers are within a range right yeah some min max type of thing yeah it’s taking a mix min and taking a max and giving you both right rather than having to greater than or less than in it, you kind of know.
[01:02:16] If you’ve used stud clamp in C++, you’ve used this function.
[01:02:24] So if you scroll, scroll, scroll into the examples. Well, I think, I think I gather it from this example right here, but yeah. So it’s more about whatever it earns. It takes, it takes, it just replaces the whole min max thing. Right. But if you pass in like your value is less than the min, you’re going to get them in. And if it’s greater than the max, you’re going to get the max.
[01:02:49] Oh, I see what you’re saying. oh so it will, well what doesn’t that open you up for potential like bugs like why okay why would you use that now now I’m wondering why you would use that well let’s say you ask somebody for a percentage number, and they put in 407, 407 doesn’t make sense in your business as a percentage you don’t understand our politics anymore do you drug prices are down 1500 and sometimes 500 and 400 and a thousand percent we laugh but it’s true it’s so true i can’t believe this world we live in and i know exactly to what you refer, and all I can think is, I’m emigrating get me out of here I’m jealous of you so you can do it with leathers as well huh yeah,
[01:03:58] you can do it with anything comparable so if it.
[01:04:03] Implements some way to be compared against something else, It can be done. And that is true for objects as well. Not for user space objects, because we still haven’t given you operator over-loading, and I don’t know why. But internal classes can do it. Okay, not to challenge you on this. Okay, this is the whole I have problems letting things go conversation. So in your example, right, you’re saying we’re asking for a percentage and somebody does 400%. And we know that’s not what they mean. But what if they fat-fingered something? They meant 400. They accidentally, or they meant 40. They accidentally did 400. And now the application is running off the premise that what they meant was 100% when they really meant 40%. I would say that the application should clamp it. And then it should say, hey, if what I got out of clamp isn’t what they originally put in, that’s probably because somebody made a mistake somewhere.
[01:05:06] Or you do you’re greater than less than you’re going to use clamps to begin with. It’s going to depend on your application logic, how you approach it. The date time actually seems like the best use case for this for me. Like if I want to pay for parking to a baseball game, I can clamp the start of the game, the end of the game, and then people can put in whatever time they say they want to show up for whatever date they say you want to show up. And it’s ramping down to the end of the game. Right. I totally get that because then you go back and when you’re printing out you say, okay, here’s your spot, whether that’s actually what you put in or not. But I don’t know. I’m finding it challenging to think of other use cases that aren’t that, like aren’t time-based. So I’ll say this. C++ has had this function for 20 plus years. I’ve probably used it Three times. Oh, okay. It doesn’t have to be something that changes the world to still come
[01:06:13] into handy once in a while. Yeah.
[01:06:17] All right, cool.
[01:06:21] Well, I could go on all day here, obviously, but we’re running a little long. I do want to talk about a couple of things really quick, just because I want to get it off my board and some of it is already getting a little long in the tooth.
[01:06:39] I’m not sure if you’re familiar, Sarah, but Native PHP allows you to write mobile apps now. Native PHP Mobile allows you to write mobile apps now with PHP. Big fan of it. Been supporting it for a very long time. For those of you who have been sitting on the sidelines with Native PHP, you know, waiting for it to mature, it still has a lot of maturing to do. V2 recently got released. Check it out. Opens up a lot of things that they’ve been working on to make smoother. One of the more interesting things, and now I don’t remember what it’s called. And of course, I don’t have it queued up. But they implemented, oh, Jesus, I don’t have it here now. I apologize. But they recently implemented…
[01:07:29] Mobile OS specific,
[01:07:34] GUIs. So basically, you create your blade templates like you would create a play template. I don’t know why I’m still sharing that. You create your blade templates like you used to create your play templates. And we actually had this conversation with our local mobile developer because he was like, oh, well, I can use this in conjunction with the framework I’m currently using because that has all the mobile UIs that people are used to. Like, when you work with mobile, you learn that the people using your app are very used and comfortable with UI interfaces. Buttons look a certain way, and that’s just how they do things. Now, I think it’s called Edge. Maybe not Edge. I feel like it’s Edge. But now in native PHP, you create your blade template, template and the native PHP figures out the OS, the mobile OS specific version of like a button that you created in makes it available for you. So this targets like iOS or Android or whatever.
[01:08:42] Blackberry. It is edge element definition and generation engine. Oh, it is called edge. Thanks for looking that up, John throw that a link in the trailer board. I should have put that in there as well.
[01:08:55] Um question sir i’ve heard of this i have not touched it yet so i don’t know it’s very cool i mean it’s very dangerous because now mobile development is approachable to me or at least i think it is in all shits i you thought i could break servers wait till i break your phone i will i will write that out of a code did did you ever use php gtk, Yes, I tried. I couldn’t get my head around it. But it’s a similar concept, right? Yeah, very similar concept. A GUI interface, just on desktop instead of mobile. Yeah, and native PHP, that’s how native PHP got started. It was creating PHP electron apps for the desktop. Yeah. And then somebody was like, oh, you know, let’s expand on this. and Simon and Shane. And there’s a third person I never give enough credit to really kind of jumped on board and started packing that problem. Okay, so is this then just like a WebKit interface that PHP paints into,
[01:10:06] or is it like actual native components? Yeah, yes. So it is using the WebKit, I guess, browser. But what they did, if I’m remembering this correctly, is they compiled PHP to run on mobile. So you don’t need a web server. It’s running PHP. It’s just running it on the local device, and it’s serving it up through a web view, essentially, which is like how a lot of apps work now. You know all these um but because they’re compiling they have direct access to the apis and direct access to the hardware that’s the big thing that that that was always the barrier right like you could always kind of do this but like you didn’t have access to the native camera you didn’t have access to you know the the the vibration of the phone and now with native php mobile you do so yes i saw a little demo they posted i think on linkedin where they’re actually hitting an LLM with the live camera and like there’s an 80% chance there’s a person within this or 90% that there’s a couch.
[01:11:22] It was really, I don’t know. I don’t know. You’ve picked my curiosity because now I want to know, like, are they exposing these interfaces inside PHP as you’re rendering the content for the web view? Or are they exposing these interfaces as JavaScript accessors within the web view? It’s within the PHP. That your PHP generates JavaScript for. Or both. Right. Well, I know, I shouldn’t say I know because I haven’t really used it, but you’re using PHP code to access the device. So you’re basically on the back end you do the things and then any output you do goes to the web view so like the camera you you call a native php function to access the camera and that’s all you have to do like you don’t have to do a bunch jump through a bunch of hoops or anything you just call like this native php function to interface with the native whatever mobile you know thing But then the view of that camera shows somewhere.
[01:12:23] Is it within the web kit or is it like layered on top of it? It’s layered on top. So, so it, it, it, it’s the native camera interface that, that, you know, it’s not. Yeah. And you take the picture and then the picture you can, you, you have to understand that it, it, the camera takes the picture and then you have to know how to call for that image in your app. If you, if you need it. So that’s actually you have like a web socket to talk to the javascript that’s in your web view app that can then say produce an image tag to contain the.
[01:12:59] It’s crazy cool stuff i mean it sounds very cool i should check it yeah you should look at it i think you’d appreciate it all right elemental magics card game on twitch join us in discord discord.phbrch.com.
[01:13:14] What was that you just said? They messaged on Twitch asking how they can get into Discord. So I was just… Oh, pay attention to RestreamBuyers.com. I’m horrible at that. It’s in the view. What are you looking at right now? It’s the one right there. Okay. We talked a little bit about PHPStore and JetBrains, modern IDEs. Some of you might remember at one point with the invention of VS Code and a couple of these all-purpose sort of IDEs. I mean, do you still call it? Do you call VS Code an IDE? Yeah, I call it an IDE. JetBrains started to dip its toe into coming up with a solution kind of the same way. kind of the same as VS Code, like a one-size-fits-all solution. They called it Fleet. Well, Fleet was a fleeting moment in history. I don’t know of a lot of people or any people who actually use Fleet, but if you do, stop, because it’s going away at the end of this month. Fleet is not on Fleet.
[01:14:26] So that is going bye-bye for you developers out there who wanted to live on the bleeding edge and try the next big thing that doesn’t become a big thing. It happens. It does. Okay, John. All right. Another two of yours. Yeah, these two things were shared in Discord, so be part of our Discord. Discord.phprs.com. A couple of big security things that came out probably last week. We seem to have missed it last week, were i think a lot of supply chain attacks um.
[01:15:07] I didn’t refresh. I was late, so I did not refresh my memory on these things. So forgive me, but make sure you’re staying on top of these types of things, especially with NPM lately. It’s been crazy. Especially with that JavaScript, that NPM, man, it’s brutal out there. It’s brutal with JavaScript. Yeah. The other one was a critical security vulnerability in React server components. That sounds like a big deal. Yeah. Yeah. There’s an unauthenticated remote code execution vulnerability. It’s remote code. It’s okay. It’s remote. You don’t have to worry about it. Just kidding. It’s probably the worst. It’s not okay.
[01:15:53] Yeah. Sounds really bad. That’s crazy. All right. Okay. Yeah. I’m trying to check this before I say it, but I think Cloudflare actually managed to crash themselves while patching that RCE in… Oh, really? The thing you were just talking about. React server? React, thank you. Yeah. My meds have worn off. It’s not working right. So, this was Cloudflare, when they went down last, was it just last week? Their December 5th outage, yeah. It was a short outage. It wasn’t the big outage. Oh, okay.
[01:16:34] It was only like 20 minutes or so, but while trying to patch themselves against the React RCE, they brought their own service down, which I thought was hilarious. But do fact check that. I have not fully fact checked that, but I think I’m thinking of the same one. All right. We’ve gone very long. This, the show, John, John has a bowling thing. You know, he comes in late. He needs to leave early. He’s got bowling, whatever. Um, so we’re going to wrap it up here. I should, I got to queue up this stuff. So I can remember, um, Sarah, John’s got to get back to Costco.
[01:17:15] I feel bad. We’ve got two huge cartfuls. Cause I went with, went with my wife getting prepared. We’re having a, um some friends over this weekend and i don’t remember that i don’t have little kids chill eric you invite got lost in the mail i have the most kid you are a little kid um so we we went and got two cartfuls and we’re driving home she’s like just go in and do your podcast i’ll unload it all i’m like you’re a you’re a safe so did you really do that did did you make her unload and everything she she only cared about the cold stuff i’m gonna go help with all the dry stuff you are a terrible human being people don’t realize that about you but i do so the funny thing about that is, I specifically reached out because last week we ended up moving the show up an hour because, you know, John had a commitment. And I didn’t know about until the last minute, so you had to go in and make some changes.
[01:18:19] And so today I’m like, John, just making sure we’re 100% good to stream at 3 o’clock today. No problem. I’ll be there. Son of a bitch. It’s true. It’s funny because it’s true. And I am your punishment. It was great having you on right love logging in and seeing you talking with with eric is great, yeah thanks sarah thanks for joining don’t be a stranger stop messaging us on anything but discord what’s wrong with you you know how we roll you’re part of the family come on okay no as i said i was in the bath okay and my phone can only be one thing at a time so i was if i’m gonna watch the stream i have to message you from in youtube if i’m on my phone uh all right all right well thanks for joining us thanks everybody for for putting up with with this craziness today we appreciate it um uh we have a show next week but i think we’re gonna take a pass the following i don’t know i lose yeah next week we should be here the following week no christmas
[01:19:28] yeah the following week is Christmas. So cool. So, uh, see everybody next week and, uh, thanks for hanging out. Bye.
[01:19:37] Say bye, Sarah. Oh, bye. Bye, Sarah.
[01:19:43] This has been PHP podcast, the official podcast of PHP architect, the industry’s leading tech magazine and publisher focused on PHP and web development. Subscribe today at phparch.com to see what the leaders in the community and industry are talking about.
Air date December 11, 2025
Hosted by Eric Van Johnson, John Congdon
Guest(s)

Our Partners

Collaborating with industry leaders to bring you the best PHP resources and expertise