PHP Architect logo

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

The PHP Podcast 2025.11.13

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

Show: The PHP Podcast

Transcript

[05:13] Eric: I’m your host, Eric Van Johnson, and with me, as always, is John Congdon.
[05:20] John: he seemed shocked that the show was starting.
[05:23] Eric: Each week we talk about php and web development, what’s happening in the ecosystem, what’s new in the tools, and what it’s like to live and work as a php developer today. We also keep you updated on all things php Architect, our magazine, books, conferences, and everything else we have going on. We record live every Thursday around 3 p.m. Pacific time, and we’re glad you’re here. This podcast has made a little better thanks to the support from our partners over at honeybadger.io. Honeybadger helps you deploy with confidence and be your team’s DevOps hero by combining era, uptime and performance monitoring in one simple platform. It’s free to get started and set up only takes a few minutes. Be the hero your team needs. Suit up over at honeybadger.io today. More on honeybadger.io. Little later if you listen to the audio podcast and many of you are what we hope we’d love you we’d love to have you join us live sometime just head over to our YouTube channel at youtube.com forward slash php arch hit the subscribe button and turn on notifications so you know when we go live now you might be thinking to yourself Eric why would I bother watching live when I’ve got crisp, clear, edited, auto, audio, audio right here.
[06:51] John: You start breaking up as you said, crisp, clear.
[06:53] Unidentified Speaker: Fair question.
[06:58] Eric: By joining us live means you get to participate in the actual show, be part of the conversation and help shape the show itself. How do you do that? You might be asking yourself. We can do that by jumping into our discord channel at Share your thoughts in real time and help shape the show as it happens. It’s a great way to connect with other php developers, get your questions answered, and occasionally watch us scramble to Google something good show. And the Discord’s there all week. It’s our little community of some very knowledgeable people, great people hanging out in there. So head over there and join us.
[07:36] John: For sure.
[07:37] John: And don’t try to troll us like Mr. Jeffrey Davidson did.
[07:41] Eric: Well, what did he do?
[07:43] John: He said he said he was looking forward to listening to some other show.
[07:48] Eric: That’s good enough reason.
[07:51] John: I wasn’t talking to you.
[07:52] Speaker 4: What’s that?
[07:53] John: That was Syria. I wasn’t talking to it, though. Oh, John. Devices are always listening to us. What a pain in the butt.
[08:02] Eric: All right. I mean, yeah. I can’t even, I can’t even count how many mics and cameras I have pointing at me right now. And I’m only using one of them, you know, voluntarily.
[08:14] John: So John man, this week has been a nightmare on a handful of levels, but let me, but let me share some fun stuff first.
[08:32] Eric: Because I’ll finish up a little bit.
[08:34] John: Yeah, like I, I am impressed with my kids in the sense that my older kid a couple of years ago wanted to start scratch coding. And I think it’s hard when you sit down with a parent to do something like that, because, you know, he wanted to parent is you. Especially when the parent is me. Like he wanted to do it. He did. He created a small little game. I helped him with that and he got to show it off in some sort of school fair type of thing where everyone brought something and his was the scratch game. But he was more drawn to the games that were already there. So every time we would take some time to sit down and look at it, we would spend like five minutes literally going over his game and me trying to teach him something new. And then he like sidetracked. Oh, I want to go look at this preexisting game and I want to play it. It’s like, no, that’s not what I want. So my younger son started computer science club this year in fourth grade. They didn’t have it when my older son was going. And not only are they making games, but he told me yesterday that they are starting on flat And I make the offhanded comment, I’m like, that’s really interesting. You’re going to have to learn some physics for that. And he said, we talked about physics today, like talking about gravity and stuff like that. I’m like, that is mind blowing to me. And he’s really taken to it. He’s created a few different games and seems to really understand a lot of the concepts. He’s nine, so he’s still getting stuck on things. And so I’ll sit down, and I’ll show him how to fix the scoring, because the scoring wasn’t working, and how to do a few things. But I think having a dedicated class away from the house kind of forces him to focus whatever they’re building. And it really was just kind of shocking that at nine, they’re building physics so that they can program a game. In scratch, of all things.
[10:53] Eric: I don’t know if you can hear that the garbage man decided to come the last minute.
[10:59] John: You mean that beeping? I don’t hear that at all.
[11:01] Eric: No, no, no, no. That’s, that’s really encouraging to hear john, because I’ll be honest with you. I was worried about like, the generations that were coming up, because I feel like we almost lost an entire generation of people who who were accustomed to using computers as a utility, like a phone or something, you know? And the drive or the curiosity about how it works, it didn’t seem like anybody was interested in it. So it’s cool to hear that. I always kind of think back on my kids trying to convince me how some app was completely secure. Nobody could see anything. I’m like, kid, if you only understood what it’s like to be a developer, like, we can see anything we want to see, you know, we’ll tell you whatever you whatever you need to hear to use our app. We can see anything. So yeah, that’s cool.
[12:10] John: And kids are just so naive, too, right? Kids know everything, they know better than you. It’s like, nah. Not yet anyway.
[12:20] Eric: Do either of your kids, I mean, obviously one is in computer club, but do they actually show an interest in wanting to do this or is it just something like to fill some time?
[12:34] John: Fill some time, I think. My older one seemed to really take an interest to it when I was trying to show him, but if I can’t carve out time to sit down with him, he doesn’t show interest in doing it on his own. And when it comes to the scratch side, because it is so visually focused, it’s very game heavy, and that’s kind of where they’re gonna gravitate to. And then their minds are just so like, oh, game, let me play. Versus really trying to understand how it works. Now, my younger son to be going that far of, Oh, I know why this doesn’t work. And then watching him go move the blocks around and change the variables and stuff in there. It was like, that’s what it takes. It takes that, you know, curiosity of how it works and then being okay. Changing things to see if that fixes it. So that’s what I’m trying to instill instill in them for better or worse.
[13:35] Eric: Good luck with that.
[13:37] Eric: Where do you want to start on the, on the negative stuff?
[13:41] Eric: Oh, we still have negative stuff to talk about.
[13:44] John: You know about half of the negative stuff.
[13:48] Eric: Do I? Lay it on us.
[13:51] John: No, the, the thing I found this morning, which just broke my heart. Cause I was like, why I’ve been trying to optimize some database queries for And I think I’ve talked about it before. We were using EAV tables and I switched it to using a single table. And finally, I’m like, okay, now that I’ve backfilled all of the data, over 600 records, now that I’ve backfilled all the data from years worth of information, let me change the query instead of using these 15 different tables to using a single table. Did not get the results I expected. The query kept timing out. I’m like, how did I go from assuming it had to be faster than what was there to it not working at all? Like getting the wrong data and not just the wrong data, but the query actually timing out. And I’m like, something’s wrong here. So I put it away last night, I’m like, flabbergasted Came in this morning. I’m like, all right. Let me just take like a sample from both queries and figure out what’s happening I’m like, why does this one contact you should have one? Residential property Why why does this contact have? 500 plus thousand records Like it wasn’t making any sense to me Until I went and looked at my backfilling script where I flipped my user ID and my contact ID So, so I backfilled 600 million records incorrectly.
[15:38] Eric: Oh my God.
[15:40] John: These scripts that ran for days trying to fill it all in.
[15:45] Eric: That’s production.
[15:49] John: And I just filled in the wrong data.
[15:51] Eric: Oh my God.
[15:53] John: So this morning I got to run delete 600 million records and like, let me start again.
[16:02] Eric: 600 million records. I can’t even imagine. I mean, I guess I can kind of imagine. I have to do, I have to do some coding for a client. I’m going to make an API endpoint. Uh, I mean, right now I just need to make a proof of concept, which we know how that goes, but in order to do it, I have to import the largest database in our environment. And I’ve just been dragging my feet. I just don’t feel like doing it. I just don’t feel like doing it, but I need, need to do it at some point.
[16:40] John: We never trimmed that down for development.
[16:42] Eric: Like having a smaller, we keep talking, keep talking about it, man. And again, you know, I, I had this conversation with the, the owner today. Because, you know, he was really upset that something hadn’t gotten done. And I’m like, yeah, you guys, you guys are prioritizing, you know, what we focus on. So yeah. So like the, the whole thing of trimming down the database, such a great idea. And I think would solve so many problems we have in the environment around performance. That we’ve, you know, kind of worked our way through to, you know, get it as optimized as possible. But yeah, it’s just like end of day. The business has to keep moving forward and, you know, they don’t want to pivot. And I kind of, I mean, I kind of understand, but also at the same time, it’s frustrating because you know it’s it’s not like we’re not working on anything it’s not like we’re not working on anything that isn’t important like everything we’re working on you know either has or either fixes to something that’s broken or has the potential to take their product to another level right and so everything is is vitally important it’s just we just can’t, it’s a whole technical debt issue. It’s like, okay, yeah, this sucks, but it’s what we have right now. So we’re just going to keep pushing through and it’s going to take something. I feel like catastrophic to finally kind of do that. You know, I don’t know. We’ll see how it goes. We’ve, we’ve approached them about it a few times.
[18:43] John: It’s hard. Like you said, you’re constantly working. It’s not like, it’s like we’re choosing not to do it. It’s other stuff is taking priority. We can grow the team. That’s always an option.
[18:54] Eric: But it’s true.
[18:57] John: I mean, I don’t know. I still don’t think we’re back to pre COVID levels with them.
[19:03] Eric: No, I think we’re too short. Even with the addition of the other position that Joe filled. I think we’re still too short. And we were working on some fun projects back then. Um, actually to this day, one of the projects I’m most proud of and it never saw the light of day. And I have no idea why, like we were literally doing everything they asked us to do, even the stuff that, you know, nobody disagreed with. Even the stuff I disagreed with. So, so yeah, it’s like, I was so proud of that damn And I was so proud of how much work the team put into it. And it was a lot of code. It was a Greenfield app. It was a lot of code, a lot of code.
[19:51] John: And it was fun because that’s back when we had an office and the whole team would come together and like sit around and talk about it.
[19:57] Eric: And yeah, it was good. It was good.
[20:01] John: It was a bunch of standing desks that people worked at.
[20:08] Eric: Those are the good old days. So yeah, you know, that that’s been happening. We have the, the, the other big project we’ve been working on that I’ve been, you know, thinking like next week, next week’s the week it’s going to get launched. You know, we just can’t seem to pull that trigger yet. And now it’s just like, it doesn’t seem like anything we do gives a fast enough performance where everybody’s happy with it. So it’s need help optimizing a query.
[20:43] John: I mean, I’m here for you.
[20:46] Eric: I wish it was that simple. I really do. I mean, so it’s, it’s has a lot of components. It’s the one that has a mobile, mobile, basically a mobile front end, a mobile app, and it has a administrative backend, which is web based. You know, the biggest thing we decided we wanted, or we didn’t decide, we talked through with the client, the biggest thing we wanted to address is people in the field being able to use the app offline, because of the business they’re in, the situation they’re in, a lot of times they go into garages and stuff, and they don’t have a signal anymore. So we spent a working on that. But that data still has to get into the backend, an existing workflow and data structure that’s on the big database, right? So we started, you know, this is where we’re using CouchDB and on the mobile devices, PouchDB. And so like the mobile device had all the data it needed if it went offline. And then if it came back online, it would sync back up. But with that, Frank on our team had to code basically an import script from the couch environment into the existing relational database so that all the workflows around the data could kick off. And it’s just like, we can’t get that piece happening faster. Enough, uh, you know, they want it like sub 30 from mobile device to administrative backend. And it’s just, I think, unfortunately, I think I’m getting to the realization that the only way we’re going to be able to make, be sure that that can happen is creating like a hybrid app that will first try to hit an API, because that’s what the current app does. The current app hits an API. And talks directly to that database. But obviously, when that handheld’s offline, it’s broken. It can’t be used. There’s nothing to do. So I think we’re going to have to do a hybrid thing where it first tries to talk to the API directly, and if it gets a response, it does its data and moves on. If it doesn’t get a response, it writes to its local couch, which will eventually get up to the primary couch, because in that in that situation, they’re offline. So it’s not no matter what you do, it’s not going to be five minutes, right? I mean, 30 seconds, right?
[23:35] John: So how does that work? Long term? So if the device hits the API directly, does it still put it in the couch? And will that cause duplicated data or?
[23:46] Eric: No, well, so if the device hits the API directly, it just pushes to the API. Now, the data in the database does get pushed back to Couch because, again, the handhelds always have all the data that they need to do their job, right? So there’s an import script from Couch, and then there’s an export script to Couch. That’s always keeping, like, the data in sync so that the device is already always know, you know, the most current information I can know.
[24:23] John: But how’s the local couch going to get its data? Is, are you going to do both hit the API and put in the database? Or is it going to API and then come back?
[24:34] Eric: I mean, the only other, the other thing, yeah. I don’t, the other thing I thought about is hitting the API, getting a response and that response would have a record number associated with it that it would then add to Couch. Because records can get updated in Couch and on the system, right? So the fact that it has the record and that record has been updated, it should have the logic to handle it. So I don’t know yet. I’m not entirely sure if I, part of me feels like it’s not, But then again, it might be I don’t know, we need to kind of, we haven’t really talked through that use case yet. Because there are there are some conditions where like, you know, if, if a person is cited, it could trigger off a workflow on the device. So hey, you know, this, this person shouldn’t be here right now. So I don’t know, we need to work through the workflows on that. The problem is, is we’ve been just so close to releasing this thing for so long. And I just can’t, I can’t bear the thought.
[25:57] John: Is it slower than the current app that’s we’re trying to replace?
[26:01] Eric: So, so technically, yeah, because the current app uses the API. So the current app can’t work offline, but it has real time data.
[26:12] John: I don’t know why I didn’t know that.
[26:13] John: I thought the current app did work offline.
[26:15] Eric: Well, yeah, remember that we have multiple mobile apps so that we are talking about another one, right?
[26:23] John: Right, gotcha.
[26:23] Eric: No, no, I’m talking about this one that we’re rebuilding. The the the one that’s out in the field now talks to APIs directly. So you you might be thinking we have another one that’s in production that uses couch that kind of has the same architecture of what we’re trying to do here, except that one doesn’t require such real time exchanges. So yeah, it’s a pain. It’s a pain.
[26:56] John: That’s why we get paid to do what we do solve problems. We’ll figure it out.
[26:59] Eric: Yeah, that’s, that’s exactly right. That’s what I, I stress to people a lot with the team in general. It’s like, yeah, you know, of course it’s not if it was, it was the It was fun. Somebody else would be doing it. So, all right, uh, let’s take a moment and, uh, think our honey, our honeys, our partners over at honey badger.
[27:29] John: When your app breaks in production, you want to quickly understand and fix it, not sit through logs for the next hour. That’s where honey badger comes in. HoneyBadger notifies you of errors, outages, and performance issues as they occur and helps you respond instantly when your systems go down. When you need to dig deeper, HoneyBadger’s advanced query engine 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, HoneyBadger is the best tool to gain real-time insights into your application’s health and performance. Best of all, free to get started and set up takes less than five minutes. Be sure to bookmark honey badger.io. That’s www.honeybadger.io. Thank you honey badger. And you’re welcome, Sarah.
[28:26] Eric: Oh, is Sarah on? What country are you in Sarah? I need to know these things.
[28:33] John: You were thanking your honey, so. So while we were playing the ad, I’m like, why am I missing everything? Because when we first started the show, all of my lower thirds were just wrong. They weren’t in the normal spot. And I’m like, where did my little ticker go that I created? Realized it was changed to the Alive and Kicking podcast. Oh, yeah, yeah. I didn’t change the folder back.
[29:00] Eric: Yeah, yeah. Yeah, we had now, john. God damn it.
[29:06] John: And somebody better fess up to changing the name when I logged in, because that just doesn’t make sense. I think it’s hysterical.
[29:13] Eric: You can’t figure out how to fix your avatar.
[29:15] John: So I did. I did fix it.
[29:17] Eric: Oh, did you fix it today? Hey, look at you.
[29:22] John: I did figure it out. So we use restream to stream the podcast. And for some reason, it doesn’t use local storage to remember your name when you enter the studio. So it just uses whoever entered last. And I think one of the guys on the other podcast thought they were being funny and change the name to something different.
[29:45] Eric: Which is not a legal name of anybody in the company right now. So that’s funny. When I worked for a big company and then a couple of small companies that I worked for, business cards were everywhere, right? You always carried business cards with you. You always exchanged business cards. I worked for a Japanese company and it was a very deliberate action you did. You didn’t just hand somebody your business card. Was, you took it, you thank them. Um, and I swore to myself, I’m like, I’m never getting a business card ever again. I’m never going to do it. And so many times lately I, I like, God damn it. If I just had a business card, I could take it. I was going to go to a meetup yesterday to a JavaScript meetup. Um, you throw up a little bit in your mouth. To help, uh, well to promote, um, JS tech a little bit and more importantly to promote, um, call for papers are still open. Oh, we need to talk about call for papers. My goodness. Uh, so I, you know, I wanted, and what we’ve been doing when we’ve gone to conferences is we print up business cards for like different things, like call for papers, right. For us, you know, all these like things, like we don’t want a big flyer. Just hand out the little business cards. We think that people have a tendency to hold on to those longer. They put them in their bags, they put them in their pocket. Whereas a flyer, you either don’t take it or you throw it away immediately because it’s a big piece of paper. And I tried to get that done for yesterday and I didn’t get the order into Staples because I have a real job that I had to do first. And I was literally like 45 minutes it’s late to getting the job into Staples where I could pick it up same day. And I could have still printed it out, I could have done a flyer. And I was just so frustrated. And it’s not, you know, it’s a long drive for me. And I was just like, because my next thought was, if I just had a business card, I could give them all and then they could get back in touch with me anybody who was interested. And I just got frustrated with myself. Nothing seemed to be working. And I ended up not going and I’m kind of, I’m kind of regretting not going. But at the same time, I’m like, uh, you know, it’s only San Diego. It’s not like I was going to some big JavaScript meetup or some virtual JavaScript meetup of people all over the world. So it was just San Diego. Um, so yeah, I, I haven’t looked at what the submissions have been for, for this one.
[32:49] John: Uh, but yeah, it’s been all right. Nothing staggering yet, but we’re also just getting the word out there.
[32:59] Eric: So as far as php tech goes now, now php tech, baby, that’s a, that’s another, another completely different animal. Not completely different because you know, the, the, the site kind of looks the same in the favicon might be the same as well, because I haven’t changed that yet. But yeah, we we push through doing the the rating of talks. Thanks, everybody who who helped out with that. It was no no small task for sharing. Every year, like once we start doing it, like john, I think john was carrying a lot of guilt. I was like, Oh, we need to make this easier next year. You’re right. We do.
[33:46] John: Well, so there’s, there’s a few things there that we could have done differently. And I tried. So because we have php tech TV, we’re not going to have the same exact talk, especially back to back years. Um, kind of seems silly to have the same one, have a stream again, when people can go watch last year’s right. Unless the Speaker says, Hey, no, is a completely different talk or we it’s got a lot more information that may be a different story. But for the most part, speakers give the same talk back to back. So after we started the evaluations, I remembered like, Oh, yeah, I should go decline them, even though it’s not decline, necessarily, we could always bring them back. But just to take them out of consideration, to make the number of submissions a little smaller so people weren’t taking as long to go through all the talks. I went through and I did that. Turns out once you start the evaluation, whatever’s in there is locked. No matter what you do, we have some in there where the Speaker withdrew the talk, said, I’m not interested in giving this anymore. They still got rated. It’s like, why? That doesn’t make sense, Session Eyes. If I pull it out of there, It’s because I don’t want to continue rating.
[35:11] Eric: Like what if you found a completely inappropriate talk, like somebody was trolling us and put some BS and then we’re like, oh, we don’t want to bother everybody with that. That’s offensive. Let’s take this one out. You know, we would have to stop the entire evaluation process, take it out and then start another one.
[35:29] John: And people are spending two to five hours on this. And if I was an hour in and then I’m the five hour. What’s that?
[35:38] Eric: I’m the five hour guy. Actually, you were not.
[35:41] John: But if if I was an hour in and the organizers came to me and said, hey, by the way, we have to close this and start over. I would have been so pissed.
[35:48] Eric: Yeah, I would. I would have stabbed you in the neck. I’m pretty sure I started.
[35:52] John: I started to to say. Because they have different ways of doing the evaluations on session eyes, I actually opened a second one where you would just go through all the talks and give it a thumbs up, thumbs down.
[36:05] Eric: I thought I was crazy when I saw that. I’m like, what is this?
[36:08] John: I opened it and that was my original thought was let me do this and then I can go like take the Ones that everyone said no to for example and just take them out But then I realized it doesn’t change the other evaluation anyway, so I would have had people do more work and still not benefit of it benefit it in the other evaluation so I just feel like that’s something sessionized needs to change.
[36:34] Unidentified Speaker: Yeah, I agree.
[36:36] John: And I didn’t even think about the offensive ones. Like, so next year, what I want to do is you and I go through the talks one time real quick, obviously looking for offensive ones, because now that you brought that up, I’m concerned.
[36:53] Eric: You can’t stop thinking about it.
[36:56] John: All the, you know, reentries of ones that, we’ve already had at php tech that I’m not going to accept again. So why bother doing that? And then we have other criteria that we know, even if it was rated high, we may or may not probably wouldn’t accept them. So those we can just take out of the mix right away and try to get, I love having the number of submissions we have. Don’t get me wrong. I don’t take that for granted. Bounce back.
[37:24] Eric: Really, really good on that. Like John and I, a couple maybe a month or two ago, we’re looking at the numbers and we’re like, Oh, this doesn’t feel right. Like we’re, you know, we were, we felt we were way behind what we normally got. And then man, those last, last couple of months, Holy smokes, man.
[37:44] John: It’s that way every year, people, people in general wait till the last minute. And this year was no different. All of a sudden the last week or so of the call for papers, we get a flood of submissions. So I appreciate everyone that submitted my, with me saying we would go through and, you know, automatically decline some of them, you know, there are. We add them to a queue. There, there are, there are things that we’re, we are looking for and there are things we definitely aren’t looking for. And if we know that ahead of time, we can save people that are doing the reviews a little, a little time.
[38:22] Eric: And the one that first, ones that frustrate me because this, this is really a community conference. I mean, obviously we’re a business behind it and we’ve even been told that, you know, people don’t want to be sponsors because, uh, we’re a for-profit business sort of model. This is really a community conference. And so I, I, I’m, I kind of am protective over the fact that like, I wish I just wish there was a way we can say, Hey, if you’re a professional Speaker, don’t, don’t submit to this, this conference. We don’t, we don’t want any, if you don’t understand what you’re submitting to the technology you’re submitting to don’t submit. And I get why they do it. Cause this is how they make a living, but one, we’re not paying you.
[39:16] John: We ain’t going to pay you.
[39:17] Eric: Maybe that’s what we need to do. Maybe if we make it clear, that’s. Do not get compensated cash wise.
[39:26] John: Outside of the flight, hotel and conference ticket.
[39:32] Eric: Maybe we need to make that clear. Maybe some of the, some of these people stop.
[39:35] John: I thought we did, but we can try that next year for sure.
[39:39] Eric: I don’t, I don’t remember, but yeah, I, I, and I have to say, all right, so first off, um, so once we wrapped it up, we’re able to see I see all the names of all the top talks and everything. And I was actually very happy with the fact, first, with how many people at our company submitted talks. Now, to be fair, two of the people at the company have been doing talks for a while. Joe Ferguson, for one, and Chris Miller, who’s actually speaking at a talk at a place tomorrow, I believe. Um, so they, they’ve done talks before they were in there and they were in the, I don’t know if they were both in the top 10, I know one of them was for sure. Then we had a couple of people who have never submitted talks before, or who have never spoken at a conference before submit. And to see one of them crack the top 10, like, Oh, Shit, here we go. So I was, cause we, we constantly let the team know like how good they are at what they’re doing. And we, we are, we are fortunate enough where we’re all, we all like are passionate about this. Like we don’t have any nine to fivers and everybody, everybody’s just trying to, to level up their game constantly. In the company from coding and You know, I think they have so much to bring to the table that they don’t give themselves credit for And it was just good to see Such engagement, you know, it’s hard because they work it they do work the conference. I mean they There’s a lot they do the conference wouldn’t happen without them So it’s it was nice to see so many of them. I don’t think they all made the cut, but a few of them did, so that was good to see. But I was gonna go somewhere with that. Shit, I forget now. Let’s get off the converse.
[41:58] John: No, I mean, I wanna wrap that up in that if you submitted and you’re waiting for a response, Eric and I have been going through, we’re creating the, we’re choosing the actual talks now. The community effort of kind of rating them brings the top ones that the community likes, and then we can use that to guide us in actually choosing. We’ve talked about it plenty of times. There is a lot that goes into choosing who speaks, what the topics are. You know, financially, we have to pay for flights and hotel rooms and everything, so we have have to take that into consideration. So we took the first crack at it. Was that yesterday? Day before?
[42:48] Eric: Day before I wanna say. Cause it was late. It was late.
[42:52] John: So we have a rough draft of who we’re selecting. We’re hoping to wrap that up probably. Don’t know if we’ll get to it tomorrow. Hopefully tomorrow, if not next week, and then start letting people know, because I know everyone that has submitted wants that answer. Whether they were accepted or not, it’s you want that closure of that part.
[43:13] Eric: Because I mean, they might be wanting to take a family vacation and not knowing if they have to speak or not.
[43:19] John: Wait, bring your family to Chicago. Just saying.
[43:25] Eric: It’s great. It’s, it’s a, it’s a fun town, man.
[43:29] John: Jeff, you don’t have to wait until 2030. You can speak.
[43:33] Eric: I regret. I, I, Now, I greatly regret the fact that I didn’t take advantage of Chicago when I wasn’t running the conference. I mean, you and I did that one time with our friend from San Diego, where we went out to dinner and we went to that Sears Tower. But yeah, every year, the wife and I kind of think of new things to do, and it’s just a lot of fun. Um, yeah. Oh shit. I should have stopped talking cause I remember what I wanted to say and I forgot it.
[44:12] John: I hate when that happens.
[44:17] Eric: I know I’m getting old man. I’m too old for this.
[44:20] John: So we need to wrap that up. Bottom line.
[44:25] Eric: It’ll be fun. And, and again, everybody who, if, if you didn’t get selected, please don’t be discouraged. You know, submit to other conferences. It’s always the Willis Tower. Yes, Sarah, you’re absolutely right. I realized when I was saying Sears, I was saying the wrong thing. Thanks for calling me out. Yeah, don’t get discouraged. You know, just submit to other conferences. If conference is your goal, submit to local user groups. User groups are always, always looking for speakers.
[45:00] John: the, if you submitted anything JavaScripty to php tech, please resubmit it to JS tech.
[45:10] Eric: Those things, those words. Oh, that’s what I was going to say. So not only did we get a lot of people from our company submitting, dude, the amount of talks that came out of Southern California, I’ve never I’ve never seen so many people from San Diego and LA in Anaheim area submit to tech, you know, in the years we’ve been running it. It was, it was insane. So it was, uh, that was, I, I’m excited about that because being in Southern California, it’s like, Oh, maybe, you know, maybe this community is picking up because when John and I first started doing, uh, SDPHP, years and years and years ago before we had the company, LA’s php user group was massive. I mean, they were saying, Oh yeah, we get like 50 people, 75 people to meet up. It’s like, what? You know, we had like 10 at the time. And, and that was better than we’re doing now. But, uh, and then we tried reaching out to them, uh, when we did wave php, um, or tried to reach out and say, Hey, you know, we’re going to have this, uh, php conference here in San Diego, maybe you can talk to your, to your user group. And like, it was dead. Like we couldn’t find anybody who was actively doing the meetups and there were no meetups scheduled or anything. So, uh, I hope, uh, hope it’s kind of kicking off again. You know, it’s always exciting. Speaking of people stepping up, and, um, talking at local user groups. We actually, Jen and I actually don’t have to do a talk this month. Uh, we have, we have somebody doing a talk and I’m excited about it. I think it’s the first talk. I don’t know. I could be miles. I remember correctly, right? I love that name. Miles, uh, doing a talk on extensions, uh, with go and Frank and php. That’s like all the rage. Now we saw, I saw a couple of talks a I’m like, wow, why is it, why is everybody writing php extensions and go using franking php? Like what, what am I missing?
[47:30] John: I guess we’ll find out next week. Won’t we?
[47:34] Eric: I’m excited. It’s next week, dude. That was a mistake.
[47:38] John: Did you, uh, you got that cleared with the hosting place, right?
[47:44] Eric: I got it cleared with the hosting place. Uh, yeah. You see, you see how many we have RSVP’d. Miles is the presenter, and Marcus, you know, he may, I mean, he didn’t come this week to see, or last month to see you talk.
[47:59] John: I don’t blame him. After my previous one, I don’t blame him.
[48:06] Eric: I mean, nobody likes to see a grown man cry.
[48:09] John: Like Eric said, we’ve been doing, he and I have been bouncing back and forth on who’s given a presentation and the one I did previously, which was a better talk than the one I did last month. I may have drank a little too much before giving it.
[48:27] Eric: And to be fair, Marcus did do a talk in this. Bucky did a talk for us and it’s Bucky in our discord channel, uh, did a talk for us. So, I mean, we, we have had other people step up, but I think those are the two only other ones besides that.
[48:43] John: like three or four in a row and then take a month or two off for whatever reason, you know, running a conference might be one of them or holidays. December’s always tricky. Uh, so, but we’ve been pretty consistent lately.
[49:00] Eric: Look, look at this. See this, just seeing this, this is, look at this. Vancouver php needs an organizer if you don’t get one. Uh, I, I haven’t looked on php X to see if maybe, uh, maybe they’re on php X now X world is a dot world. I think it’s dot world X dot world. If you don’t know about php X, uh, it’s the new naming convention for P user groups.
[49:28] Eric: John does not like it, but uh, I like our SDP.
[49:31] John: Well, you know, get over it.
[49:40] Eric: Yeah, I don’t even see any PHPX in Canada, which is surprising.
[49:45] John: It’s North America, so.
[49:47] Eric: Oh yeah, that’s true. Montreal, there we go.
[49:54] John: Guess that’s it.
[49:54] Eric: Oh, Toronto. Greater Toronto, yeah. Okay, no Vancouver though.
[50:03] John: That’s because their organizer stepped down and doesn’t want to deal with renaming it PHPX Vancouver.
[50:11] Eric: It’s not X Vancouver X, whatever the, is that what the airport is?
[50:16] John: I have no clue. I’m saying it is. So sure. Until you prove me wrong. That’s what it is.
[50:23] Eric: So this court stay out of it. Is, uh, is I, as far as I know, no, I don’t know. Uh, I know the people who started this. We’re big Laravel people. So I was about to say, as far as I know, this is generic php, not Laravel specific. Uh, but I don’t know that to be a fact that there might be, I’m sure there’s some Laravel ones in here somewhere. Chattanooga, Laravel, yeah.
[50:52] John: So, uh, it’s funny you chose Chattanooga. Because there was actually a talk specifically with Chattanooga in the title submitted to php tech.
[51:06] Eric: I don’t remember seeing that one. I believe yeah, I just don’t remember it. Yeah No, that’s I don’t see here. I don’t see Austin. No, Austin It’s kind of have a user it’s cuz now maybe they’re just because you keep saying everyone’s going to php everybody everybody on board with the new php world Well, Joe’s I don’t see Joe running Joe gets a raise. So I’m saying I know Laravel started I don’t I don’t know what the URL is. I’m taking a look at Oh, yeah. No, no, I didn’t. Yes, I did. I didn’t nail it. Look at that. Look at that nailed it. If you’re looking for Laravel specific meetups, Laravel is actually hosting their own version of php x I guess they don’t have where world come on yeah yeah so yeah check it out get to your user if you have a in-person meetups come out presents and if you don’t merge php actually follows our show and they’re always looking for speakers as well merge php being the virtual conference I actually got to attend a technically we are organized we are one of the organizers of Merge php, although John has literally never been to any of the meetings or participated in any way, but I actually got to join. I don’t typically get to go to the meetings because it’s either like we’re wrapping up this show or something, but I do know starting January, I think they said, cause Chris might be presenting for Merge soon. Anyways, Merge, Merge is going to move the time slot an hour later, which personally I’m happy for because then maybe I’ll catch a few more meetups than I have been. I can’t get enough of this stuff.
[53:12] John: They often started while we were still talking.
[53:14] Eric: Yeah, exactly.
[53:16] John: Speaking of speaking at Merge, I will be giving a talk at Merge.
[53:24] Eric: No, you. Oh, that’s right. I didn’t have you. I forgot about that.
[53:30] John: Like you told me to.
[53:31] Eric: That’s right.
[53:33] Eric: I also meant to. I also meant to say something. I think I said something to Joe, too, and he just ignored me.
[53:38] John: He’s like, no, he’s like, I don’t respond. You think he. Sorry, it just went into the ether somewhere. Yeah, exactly. Never saw it.
[53:49] Eric: Before Joe. Yeah, Joe, Joe, Joe. Did this just did this emoji never responded like you can’t delete it Joe it’s there now let me think about it for a minute yeah I just love being part of the community I can’t get enough of it I just love interacting with people I love helping people you know get better and find jobs and make make a living so it’s just a fun thing to do feel very fortunate and that’s You know what I don’t feel so fortunate about? What’s that? Can we talk about socks?
[54:27] John: Yes, we can. That, that was the other, that was my other thing. I said, you knew about making it a shitty week.
[54:34] Eric: Oh, that was getting chalked up to shitty.
[54:37] John: I guess it was.
[54:40] Eric: So, so, so, so historically I have been the risk taker in the business where I want to try something way out of our comfort zone and try to do something new. Of late, that has been John with his JS tech, which is going to cost us money. I mean, hopefully not in the long run, but up front. And then he hits me last week with, I think we need to be SOC 2 compliant. I’m like, what are you talking about? Why the hell? Want to be SOC 2 compliant. I just feel like it’s a it’s important. And he’s not wrong.
[55:22] John: I mean, now I think I’m now I think I’m wrong after starting the process.
[55:30] Eric: And again, getting SOC 2 compliant is not cheap. Is SOC 2 a thing? Global thing? Is that just us?
[55:39] John: I don’t know. It’s probably US because GDPR is another one.
[55:42] Eric: So yeah, maybe SOC 2 is. Yeah, it is not It is not easy. And I don’t know what you were thinking.
[55:53] John: So we got started, we have an onboarding or some company that’s helping us get through the process. And there’s a whole list of tasks. And I go in there, and there’s like, 60 plus tasks. And a lot of it’s like, does this even apply to us? We don’t have a board of directors. There’s so many, so many things in there. And I’m second guessing, like, is this worth it? My goal is, I hope it is to show companies that want to work with us, you know, we take security seriously, but man, I went through the, I went through the process a little bit with one of our clients cause they went through it, but I wasn’t front lines. I, I heard about it from them. About everything that had to be done. And they’re constantly on the employees. Hey, you need to make sure you get this piece done. Sign in, make sure you take your trainings, do this. And it’s like, now I’m seeing from the administrative side.
[56:57] Eric: Yeah, it’s rough, dude. It is so rough. And fortunately, so the company we’re working with is that’s all they do is help companies get SOC 2 compliant. So we do have, kind of somebody holding our hands, walking us through it. They already have like a bunch of the policies prepared for us to look at. And so that’s, you know, a good thing. And, you know, John’s absolutely right. Like, I’m surprised we haven’t been asked more of, you know, if we have a SOC 2 certification. And it’s, but also we’ve never been asked. We’ve never lost work over it. So, uh, if we, if we can lay in one gig, because we are SOC two compliant, it will all be worth it. But it’s, it’s, yeah, it’s, it’s security, man. It’s like, it’s, it’s easy to talk about, but it’s definitely not convenient to implement.
[57:58] John: Well, I think it’d be good for us to go through this so we can get one of our bigger clients to go through it as well. Like, cause I feel like it’s something they should do.
[58:07] Eric: Yeah, I agree with you there as well, my friend. So, all right. Uh, well the board was pretty light this week. It was light this week. I agree.
[58:23] John: You have a couple of, you haven’t talked about, but that’s fine.
[58:26] Eric: I don’t know. Let’s talk about this one real fast. Cause we did talk about the other thing. Um, let me pull it up here real fast. Uh, if you’re, if you listen to the show regularly, um, you might’ve remembered when we talked, I came across the Simpsons API, which is a super simple API to query for Simpsons characters and facts about the Simpsons. And I’m like, man, I need to make a Batman. One of those. Yeah, no, I don’t. There is a Batman API out there. If you’re in our discord, you already know this cause I’ve already shared I shared it in Discord. I think I shared it on X as well. Very much the same thing. Their website isn’t quite as nice, but very much the same thing as far as all the characters in the Batman world, locations, storylines, and all that. So yeah, if you ever need to do a talk at your local user group on how to consume APIs, Batman APIs because it’s a fantastic, fun API and easy to consume in public, which is great.
[59:40] John: Consume in public, consume in public. Yeah, that’s funny.
[59:46] Speaker 4: Oh crap.
[59:48] John: I had one more thing I was going to talk about and then I lost it. Dang it.
[59:54] Eric: I have a question for you. If we have, we have a little time to kill. You got me thinking about it since you kind of touched on it earlier. I kind of want to follow through so talking about your kids Getting interested in coding And I think I think I’m not sure Mike and Chris asked this question I don’t know if is this week with the native php people which by the way, if you haven’t seen haven’t seen this week’s alive and kicking Check them out. They talked to two of my favorite people Shane and Simon from native php, uh, mobile. Uh, it was great, great conversation. But if you were to sit down with somebody wanting to get started as, as a, as a php developer today, or maybe they, they think they have gotten started, what would be your like number one and number two things of advice to them?
[01:00:52] John: Join a community.
[01:00:54] Eric: Good one.
[01:00:55] John: I mean, I think that is a no brainer that applies to anything that you’re doing. I feel like if you’re a professional joining, finding people that do similar things that you can bounce ideas off of, but especially in development, say it all the time, joining the community by going to php Tech changed my life for the better. And I’m sure it has with lots of other people too. Second piece of advice, don’t start your own business. I mean, it’s great for the most part. I love it, but there are stresses that you don’t know going in. Cause when we started, it was like, you like coding. I like coding. Let’s find, we can come together with. And so we started a small business and it was great, but there’s so much that goes into running a business and I never got my MBA. I don’t know anything about running a business.
[01:02:01] Eric: I never got to play in the NBA either.
[01:02:04] John: I wish I would’ve played in the NBA. I wish I was a little bit taller. I wish I was a baller.
[01:02:09] Eric: I wish it was smaller.
[01:02:14] John: But yeah, I think find people, get a job, learning things. Don’t be the smartest person in the room. Don’t be a sole developer. That was my downfall for many years where I was by myself. And because I hadn’t really worked on a team, I didn’t know. I probably could have hired additional people at my last job. But I didn’t know how to divvy up tasks. I wasn’t a manager. And I was, you know, frankly afraid that they’re going to be smarter than me and then I’m going to be out of a job. Had I known then what I know now, I know that’s not how it works, right? You’re you bring somebody else in, you level up together. You know, they’re going to help you. You help them.
[01:03:06] Eric: And don’t be afraid to ask for help, too.
[01:03:12] John: That’s a good one.
[01:03:13] Eric: Sarah and discord basically said is saying don’t be cocky. Don’t ever think that your code is unapproachable by anybody. Like it’s, yeah, that’s solid. There’s always people out there that can make code better. And, uh, Jeffrey Davis, uh, says don’t get in tutorial health. You’re like, there’s a story there, but don’t get into tutorial hell. Uh, watch the tutorial.
[01:03:40] John: alongside it. Don’t just watch tutorial after tutorial after tutorial thinking you’re picking it up. He’s saying actually, actually practice what you’re watching before moving on and watching more.
[01:03:51] Eric: It’s interesting you say that because now that you say that, I realize, you know, when I was learning to program, we didn’t have tutorials, we didn’t have YouTube, we didn’t have any of that stuff. So I was like getting magazines and putting manually type the code in my computer because it would have these code blocks and if something’s broke I had to understand how to debug it figure out where it was and all that so yeah I can see where he’s coming from like you can sit here and consume YouTube and twitch channels of people coding all the time and walk away not knowing a goddamn thing but thinking you do because you’ve seen you think you’ve seen it all so yeah I mean And that’s what I did when I learned BASIC.
[01:04:37] John: I had a BASIC reference manual and I would flip pages and find a new command to test. And I would Read it and I’d be like, oh, well, let me go try that. And that’s, you know, how does input work? Oh, now I can ask questions and get responses. But it was page by page learning something different to the point where I was able to make some stupid little graphic thing that I thought was the coolest thing ever, except I didn’t understand variables. So when my little guy ran across the ground and then tried to go up a ladder, the ladder erased behind them.
[01:05:19] Eric: I kind of had a similar problem like recently. Uh, I don’t know if we’ve ever said her name, so I’ll say John’s wife, John’s current wife had suggested to us putting up the transcripts from the podcast. And I’m like, Oh, yeah, we can do that, I guess. So I decided I’m like, Okay, if I’m going to do this, I need to put some styling around it, which I did. So if you if you look at a recent Alive and Kicking, actually, I don’t know if I did it there last year or not, I might have, or one of our recent shows, you’ll see that there’s transcripts in there. It’s not great, because it doesn’t show you who’s talking. So it’s just like, if you if you find a keyword, you can kind of search it and see what was being discussed around that time. And it gets a lot of things wrong, especially when we’re talking php, like it doesn’t, it can never seem to figure out what that is. But I worked with chat jbt. I’m like, Hey, can you make timestamps link to that video Timestamp so people can just jump to it. I thought I was being clever and I was being clever and it kind of works, but it was wasn’t taking people to the right place I’m like, what the hell so I started looking at the code I started looking at the math like am I calculating this wrongly? Why is it off so much and I realized after as I was putting the show together today, why that was happening, because I was transcribing the final audio version that the podcast people listen to. The problem is, is the transcript timestamps are based on the live stream. So everything was off. So hopefully I will have that corrected for today’s show. I kind of have thought of a way to take care of that. But yeah, I’m like, it was driving me crazy for a couple weeks. I’m like, I’m just like, nobody complains about it. I’m nobody’s like, nobody’s gonna know. And no, kept bugging me, man. And I realized they I’m like, I’m, I’m, yeah, I’m an idiot. Yeah, that’s the problem.
[01:07:46] John: You also have the intro that you pull out of there too, right?
[01:07:50] Eric: That was it. Like, the audio podcast, I pull out the intro, I shorten a lot of the spots where there’s silence. So that whole thing compresses, you know, our hour long podcast actually ends up being like 45 minute to 50 minute audio podcast because we trim all that stuff up.
[01:08:11] John: So I will- Are you trying to convince people to listen to the audio and not watch this on YouTube?
[01:08:18] Eric: They have to listen. Is that what you’re saying? Um, yeah. So, uh, I, I need to, it’s really bugging me that, uh, the restream transcript doesn’t show you who’s talking, like, you know, who it is. They signed. Matter of fact, I can download our individual, um, audio files. Like it knows it says, Hey, John’s audio, Eric’s audio. Like, you know who it is. Put it in the damn transcript. Like why are you not? Why are you not doing that? So Maybe maybe they keep yelling. They’ll they’ll listen to me. Maybe I actually hope they don’t because that’s that’s not the transcript I’m using Because I have to run it through this app to get it styled correctly.
[01:09:07] John: I don’t want to have to recode All right I did have somebody reach out asking about, uh, the room block at the Sheridan for php tech. They were looking to book their room. They’ve already got their tickets. You should have yours. If, if you don’t have yours and I’m not talking to you, but early bird is ending soon.
[01:09:32] Eric: You know the rules.
[01:09:34] Unidentified Speaker: Once we start selecting talks and announcing them early bird comes to an end.
[01:09:38] Unidentified Speaker: So, right.
[01:09:40] Unidentified Speaker: So anyway, I got the email saying, Hey, is there going to be a discounted price for your room block.
[01:09:46] Unidentified Speaker: And if so, how do I get it?
[01:09:48] Unidentified Speaker: I literally typed into Zen desk, just go to the site, the links on the site.
[01:09:54] Unidentified Speaker: And before I sent it, I went and looked.
[01:09:57] Unidentified Speaker: No, it’s not there.
[01:10:00] Unidentified Speaker: Actually, we have a room block.
[01:10:03] Unidentified Speaker: Oh, we do.
[01:10:04] Unidentified Speaker: I don’t have the, I don’t have the link for it yet because we signed prior to the last.
[01:10:10] Unidentified Speaker: Oh yeah.
[01:10:10] Unidentified Speaker: That’s what I meant.
[01:10:11] Unidentified Speaker: Do you, do we have the link for that?
[01:10:13] Unidentified Speaker: I emailed her, she’s out of office right now.
[01:10:15] Unidentified Speaker: She should be back either tomorrow or next week.
[01:10:17] Unidentified Speaker: So hopefully we can get the website updated.
[01:10:19] Unidentified Speaker: But the view venue link that’s there just takes you back to the top of the site.
[01:10:24] Unidentified Speaker: I’m like, don’t, that’s not good.
[01:10:29] Unidentified Speaker: We need to fix that up.
[01:10:33] Unidentified Speaker: I’m assuming that’s you in YouTube calling me Erky again.
[01:10:37] Unidentified Speaker: I actually spent some time on with a, what do they call him?
[01:10:44] Unidentified Speaker: A Big Jack, Big Jack’s podcast.
[01:10:48] Unidentified Speaker: And Doug was on it.
[01:10:50] Unidentified Speaker: And Doug and I caught up after the podcast and brought you up.
[01:10:54] Unidentified Speaker: I’m like, I knew it was somebody from my past cause he called me Erky.
[01:10:58] Unidentified Speaker: So I knew he was the guy who gave me that name because I always had a bad habit of, you know, I grew up, you grow up in the same neighborhood And when you’re children, people’s names are whatever E, Hanky, Dougy.
[01:11:15] Unidentified Speaker: And so I would keep calling Doug in high school, Dougy.
[01:11:22] Unidentified Speaker: And so he, I guess, got frustrated and started calling me Erky.
[01:11:26] Unidentified Speaker: And I’m like, okay, that’s fine.
[01:11:30] Unidentified Speaker: So yes, you happen to speak.
[01:11:32] Unidentified Speaker: And yes, I make appearances in other podcasts every now and then, not Cody ones either.
[01:11:37] Unidentified Speaker: So we had a good one recently.
[01:11:40] Unidentified Speaker: I’m not a regular.
[01:11:41] Unidentified Speaker: He just pulls me in every now and then.
[01:11:44] Unidentified Speaker: All right.
[01:11:44] Unidentified Speaker: Um, is that it?
[01:11:46] Unidentified Speaker: We good?
[01:11:48] Unidentified Speaker: All right.
[01:11:49] Unidentified Speaker: Thanks everybody for hanging out with us.
[01:11:52] Unidentified Speaker: Uh, next week, do we have a show?
[01:11:54] Unidentified Speaker: Uh, no.
[01:11:56] Unidentified Speaker: Next week.
[01:11:57] Unidentified Speaker: the following week.
[01:11:57] Unidentified Speaker: All right.
[01:11:59] Unidentified Speaker: the following week now, the following two weeks now.
[01:12:02] Unidentified Speaker: Wasn’t there an issue with, uh, yeah.
[01:12:05] Unidentified Speaker: Oh, Oh.
[01:12:06] Unidentified Speaker: Yeah, that the next, yeah, that Thanksgiving week that week.
[01:12:10] Unidentified Speaker: So that’s why we didn’t do the meetup then.
[01:12:14] Unidentified Speaker: That’s it’s just the 27th.
[01:12:16] Unidentified Speaker: So, so next week, the 20th, we are good to go.
[01:12:24] Unidentified Speaker: Here’s the plan.
[01:12:25] Unidentified Speaker: All right.
[01:12:26] Unidentified Speaker: Uh, hope to see everybody there next week.
[01:12:29] Unidentified Speaker: Talk to you later.
[01:12:33] Unidentified Speaker: 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.
[01:12:44] Unidentified Speaker: Subscribe today at phparch.com to see what the leaders in the community and industry are talking about.
Air date November 13, 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