This week on the PHP Podcast, Eric and John talk about PhpStorm Plugins, Open-source IntelliJ IDEA, JetBrains AMA, PHP Foundation looking for a Executive Direstor, watch John NOT mention Eric in his latest podcast interview, and more…
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/
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
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
[07:32]You are listening to the official podcast of PHP Architect. This is episode 2025.12.04, and I am your host, Eric Van Johnson. And with me, like a bad habit, as always, John Congdon. We’re back. If you’re listening to the audio podcast, it doesn’t matter. But we’re back live.
[07:54]But earlier. But again, if you’re listening to the audio podcast, it doesn’t really matter.
[08:00]Let’s see. Each week we talk about PHP and web development, what’s happening in the ecosystem, what’s new in the tools, and what we’d like to live. What’s it like to live and work as a developer. Come on, you wrote this. I know. Well, yeah, I wrote it. We also keep you updated on all things PHP Architect, our magazine, book, conference, and everything else we’ve got going on, including swag. I gotta add swag back into that. We record every Thursday, like I said, typically around 3 p.m. Pacific time, and we’re happy to see you. Whoa. Whoa, whoa, whoa, whoa! Where’s the rest of my stuff? What happened?
[08:45]I made changes, John. I made changes, and I’m not liking them anymore. Okay. Okay. I’m not done. This podcast is made better thanks to our partners over at PHP Score. Every project carries technical debt, and too much of it can cost you, cost your company. What is going on with me? Call your company. Wake up. It’s early. It’s early. You need to just wake up a little bit and shake it off. Check debt today for free at phpscore.com. More on PHP score a little later. If you’re listening to the audio version of this podcast, we’d love to have you join us live sometime.
[09:28]See, again, that’s, that’s messed up. Yeah. Just head over to our YouTube channel at youtube.com slash phparch. Yeah. And hit subscribe. hit subscribe and uh and and all the notifications and stuff yeah and uh why do you want to do that i’ve given up on reading man i i gotta rewrite this i i redid it and i i just i’m not feeling this flow anymore uh why do you want to why do you want to slide because you can be part of our discord channel at discord.phbarch.com be part of the uh show watch me crash and burn in real time and make fun of me and uh yeah i think that’s it that works i’m frustrated with restring it used to be you had one folder and everything changed now each little section you have to change the folder of what you want to have i mean pros and cons to it but yeah i didn’t notice that yeah,
[10:31]Oh, John, Eric, I’ve come to a realization that you shouldn’t be eating a candy while we’re recording. Don’t tell me what to do. You’re not my real dad.
[10:46]We did a, we did company evaluations this week and obviously I’m not going to get into details. Except for that one person. Can we talk about that one person? Everybody was entirely too happy with the evaluations. We’re too nice to people. We just got, we got to start busting ass a little bit more. I mean, just, I, I, we are just too goddamn nice. People shouldn’t be this happy to work with us.
[11:14]It was, it was really good. You did an amazing job on all the reviews. The one I wrote, I got crap about and I shouldn’t have read it. There’s a lot more to that story. We won’t go into, but.
[11:31]Thank you for uh sparing me that one it’s it’s so hard to to do those like we need to do them annually and we’re terrible at it i think this is like the third or fourth time we’ve done annual reviews in our you know how many years of 13 years of existence yeah but it’s hard because, everybody just does a great job it’s like what okay i’m just gonna start copying and pasting like that’s what i’ll do like next year i’ll just like shuffle everybody’s reviews around a little bit because it’s always the same thing you know everybody does a great job we do have a good team why why are we here at 243 now so i had the realization that my son is competing in his first chess tournament tonight. What? He’s on his… It’s an after-school chess program where they just, every Tuesday, they sit around and play chess, and they usually get two or three games in. This is the first year that another school has challenged us to a tournament.
[12:43]Oh, a throw down. I like it. And luckily he got in because we got the email from his chess master and it was basically first come first serve, but he didn’t really say that in the email. And I wait to talk to him and say, hey, do you want to do this? And then by the time we replied we were too far off the list because there’s only so many spots for it he was bummed but understood and then like two days later we got another email saying hey a few more spots open up and then nolan made that last spot so oh so so it’s the uh it’s the younger of the two yeah yeah they didn’t so my older did chess club while he was in school but there was never a tournament between the school so it’s just something new they’re trying and he is super excited about he came home from school today and jumped right on his uh his tablet and was playing chess against some bots he’s like i gotta practice for my tournament
[13:42]tonight just make sure like give him a razor blade to hide in the inside of his mouth so in case things get like too crazy he’s uh He’s armed. You don’t know how the school chess tournaments can turn out. I’ve got to stop drinking Red Bull before the show.
[14:02]Tell my kid to put a razor blade in his mouth. Prison rules, baby. Prison rules. So anyway, he has a chess tournament. I need to be there at four o’clock our time to help set up volunteering to help. However I can. I put tables out. What’s there to set up? Exactly tables and chairs but there’s going to be 30 or 40 kids there so just got to make sure it’s all set up so yeah, We record until about 3.30. Shortly after that, I will be heading out with my kid to go do that. Excellent. Well, all the best of luck. Excited for him. And it worked out perfect because when I first saw it was on a Thursday night, I was upset because I bowl on Thursday nights. Except we happen to have this Thursday night off because the bowling center is closed. Notice he didn’t say he was upset because he podcast Thursday night. No, no, it’s bad.
[15:05]We can we can move this we shifted it just 30 minutes it works shift a little bit yeah, how was uh how was your thanksgiving it was pretty good we had my wife’s family over and great time uh drink a little bit but it was good cool thanks yeah how about yours, that was good we never do thanksgiving on thanksgiving the the wife and now the kid works typically every thanksgiving so really um and and the the kid has a new partner and their family does a big thing as well so if they’re not working they’re going to that because you know that typically works but long story short it was great we had it on uh sunday and uh had a great time it was a good time awesome enjoyed it it was fun i mean not fun okay fun was the wrong word it was interesting because i worked yeah i always work i’m terrible, I feel like such a hypocrite doing the evaluation because there’s a few people who I express concern about, um, you know, work life balance.
[16:26]But, uh, but yes, I actually worked, uh, on Thursday and it was kind of cool, I guess, because, uh, you know, our UK people worked because, It’s just Thursday for them.
[16:40]It was nice to be able to talk to them without a lot of distractions of things going on. It’s funny because I told them, one of them, I think I knew who it was, but I won’t call him out on the show. Our UK guys, if you’re not aware, are Mike and Chris the two individuals who do PHP Alive and Kicking? So they’re there but I asked I said hey I’m like yeah you know tomorrow’s Black Friday here I assume you guys do you guys have Black Friday and Chris is like yeah yeah we have Black Friday it’s like it’s just like a special day sale day but you know we have it I’m like oh interesting do you know why they call it Black Friday he’s like I’m afraid to know laughter.
[17:37]I’m like it’s not bad so if you if you’re not in the u.s or you don’t know what black friday is and you are here in the u.s black friday is the day after thanksgiving and it’s when a lot of retail stores like they do like 20 to 30 percent of their yearly business on that one day or historically that’s how it used to be i’m sure it’s changed now that we have cyber monday and everything but anyways it’s called black friday because that was when a lot of these stores would be able to go from in red which is in debt like running you know negative for the year to in black which means they’re making money so it’s called black friday because that’s when companies would start to make money it’s black ink in the books here yeah hopefully you’re you’re profitable for the year that’s the the goal right that’s chris called himself out it was chris so yeah,
[18:34]there was oh crap there was something i was just thinking about when it came oh, as we said we talk about business and this goes to anybody out there that wants to start consulting or running your own small business something eric and i realized because we’re not very good business people this year in doing our reviews, when you give raises, that money’s coming out of your pocket. So ideally your contracts increase as well.
[19:05]We’re lucky enough that one of our clients gives us an annual pay raise, usually around the cost of living, which is inflation. And then all our other contracts we’ve written as here’s your monthly amount. And we’ve, we never put in there any sort of annual increase. So that’s something for you to think about as potentially starting your own small business in your contract, have something in there where you’re, you have that increase going on.
[19:46]It’s like, we got to be making more money. We’re paying people more job. No, no, that’s not how it works. Unfortunately not this year. Yeah. Yeah. It’s, it’s, yeah, that’s what it is. And even that it’s a risk, right? Cause we never, that, that bump from that one contract is never a guarantee. So, you know, we do ours based on, you know, what we would want to do. And we actually, Eric and I had a spreadsheet going where we said, here’s what people are making. Here’s the cost of living, which currently is around 2.8% here in the US. And then a couple other columns of, you know, 3%, 4%. And then we actually put nice guy, 5%. We’re like we would like to be here if we can if we can if we can stretch ourselves a little bit yeah yeah so so yeah uh so i i feel like we’ve had this conversation before but of course not everybody listens to all our shows all the time and since you know php is our business model like how we make money i feel like i just want to ask i ask
[21:05]you again i think i know the answer already If you had to do all over again, as far as starting your own company, as opposed to just being a sole consultant, would you?
[21:19]As I’ve said in the past, I don’t think so.
[21:24]I mean, I don’t know if I’ve changed position. I love the business that we have working with you and the team, but at the same time, talking with other people in my, like my, my kids, friends, parents and stuff, could I’ve gone to another company, potentially been able to move up a ladder, making more money than I do now, potentially. So there’s that trade-off money versus money, building something and i love the fact that we get to help provide uh income for so many people on our team love that part selfishly i feel i could have made more money elsewhere.
[22:14]Yeah i i don’t think i could have made more money elsewhere but i i think i would have tried uh but you know had it not been for you i don’t think i would have been successful.
[22:26]Because of the two of us, I’m typically the more aggressive person who wants to try things, who wants to spend money, who wants to kind of take a risk. And so many times those don’t pan out. So I will say the one thing that would make me think that I wouldn’t do it, And knowing then what I know now is kind of the same thing you said, where you love the fact that other people are able to make a living off of, you know, working with us, right? I love that too. But I never anticipated the anxiety it would bring. Like I, I would rather not get paid than have to lay somebody off, you know, it’s just so like, especially, especially when we start getting near the end of the year, it’s like, oh man, you know, it’s like, we got to do this for another year. And yeah, I think that’s the biggest thing I have. And a lot of that’s just like, you know, we’re just really good friends with everybody we work with.
[23:39]You don’t ever want to have those hard conversations. and we’ve had those hard conversations in the past. I mean, there had actually been moments in our existence where I’ve told John. Look, just stop. I’ll not get paid for a few months. Let’s keep this person on, and let’s see if we can turn it around. And John’s just been like, absolutely not. We’re not doing that. So, yeah, it’s always been. Yeah, I’m so proud of it. It’s probably the thing I have the most pride in, but it also just weighs on me all the time. And I feel, I don’t know how to get over that. Yeah. But the one thing I was told prior to starting my own thing, uh, my previous CEO at a company I worked at back in, you know, prior to moving out here, big thing he always says was there’s a big difference between, um, needing, uh, the anxiety of an employee who needs to make, receive a paycheck versus an employer who needs to make payroll,
[24:52]needs to have the money to pay those people. And you’re right. That part is stressful. Yeah. But Nizzle, we’re up to 11 counting down the night. Yep. And that’s not even the most we’ve had. I think the most we’ve had was 12 or 13. Right. Before COVID. Pre-COVID. Yeah.
[25:18]So yeah we’re slowly growing we we like to bring on you know we brought on two new people this past year uh chris and joe right because brooke’s been with us just over a year i think we brought him on about this time last year yep and uh yeah so yeah we’re still still plugging along.
[25:41]Any coding? You do any coding the past week? My big thing the past couple of days has been fighting with Docker,
[25:50]trying to get a free switch phone system running locally because I’m so used to doing all of that coding on a remote EC2 server. And we’ve been talking about it for years. How can we bring it local and make it work? And i’m trying i’m really trying hard there there are so many gotchas uh the way i have it working in production currently in docker is with host networking which you would think would be fine except guess what you can’t just do that in mac it doesn’t work like it just really so when you do host networking on Mac because of Docker Desktop, you’re getting the IP address of the Linux VM, not your Mac system, which the whole point is I’m trying to avoid any sort of network address translation from the host.
[26:52]So I do some research and it’s like, oh, instead of using Docker Desktop, use Orb Stack. Orb Stack? I have no idea what o-r-b-s-t-a-c-k orb stack and i installed it it migrated everything from docker desktop over now that’s running all my containers it’s supposed to be lighter weight faster blah blah blah, um but it’s still not giving me what i need at least as of this point and i just tried this today.
[27:26]So instead of going the host networking route now i am researching trying to make it work with Nat which it should it’s just,
[27:37]not as simple. So hopefully, you know, tomorrow I get that up and running. It would be awesome if we could make phone calls, you know, from our local machine, just for development purposes, make it easier. Yeah. Uh, duck nizzle so far, I’ve been happy with orb stack, but I mean, I’ve been literally using it for an hour. Uh, I don’t see, it’s not like there’s any difference to me between docker desktop and orb stack i wouldn’t know the difference i’m running my, docker builds and compose just like i did with uh docker desktop so yeah yeah it looks like there’s a free tier and then some paid tiers i’m sure you get things out we don’t need oh i didn’t even look at i didn’t even know you had to pay for it i just downloaded it and off i went,
[28:34]now that we’re going through sock two compliance i’m happy to hear that like you just don’t care you just download shit and run it we’re good sock two compliance what a pain in the, oh good god yeah that’s yeah yeah yeah uh we could talk for days on sock two let’s not.
[28:55]I mean i’ll give it give it uh this much it’s saving us money not as much as we spent to get sock to compliant but it’s making us aware of oh crap we’ve had this we’ve had a client, that hasn’t paid us in probably a year we just wrote them off you know they weren’t they’re paying us very little to host their stuff and they stopped paying i stopped even thinking about them turns out we’re still running their database and a web server. So we’re paying out, we probably paid out more than they’ve paid us at this point.
[29:32]Not, not really, but in the, it’s just crazy to think that, you know, we’ve got things running that we don’t need. And we, we’ve both done it. You and I have machines that we’ve spun up and they’re just kind of just going. And we look at them like, this is a database server with literally nothing on it. Why is it running? Yeah. Well, that’s like just yesterday. uh frank was having an issue with vpn and so i i go to uh digital ocean and i’m like okay here’s the vpn server because uh joe or sysop guy did a bunch of stuff like vpn was always like really kind of dicey and then joe whatever joe came in and did it like must have cleared it up for everybody because i heard no more complaints after that like everybody was just running just fine.
[30:25]But, you know, Frank was like, oh, yeah, I can’t access VPN. Oh, this is even funnier than I thought. I forgot about why. But I go to DigitalOcean and we have two machines labeled DDVPN.
[30:41]I’m like, what the hell and so yeah i’m trying to figure i think one of them is like again not being used because uh the ip address i had and the ip address um frank had was to the other one i’m like i bet you i bet you i started to spin up another vpn server because everybody was having problems we figured it out and got it running a little bit and then i forgot to kill it you know i don’t think I migrated anybody over to it. But do you know why Frank couldn’t access the VPN server? Because I killed the firewall? Yeah.
[31:22]I told you that. I looked at it. I’m like, why the hell is port 80 and 443 open? This is not a web server. Why is that open? And where the hell is open VPN? Am I running open VPN in port 80? What? what inside check it out and make no i wasn’t we just had closed the uh udp port for vpn, um yeah because we can’t have it wide open for sock 2 compliance the only wide open ports you can have are 80 and 443 right so that’s why i was pushing for using tailscale instead of wide open ssh access, Um, it was just asking why we care about stock to compliance. Uh, we have a couple of clients that have suck to compliance, something we’ve been thinking about for a long time. We don’t probably really need it. It’s more going through the process for now, learning more about it. Nice to have. If we had a client that said they would only work with us if they’re a stock to compliant and our biggest client we think should be SOC 2 compliant
[32:32]because they do a lot of contracts and I think it would help them win contracts. So if we go through it and get SOC 2 certified and then talk to them about the process and get them to go through it, think it will be a good thing. Yeah. I totally agree with you. I totally agree with you. I mean, that’s typically when they do, I forget what they call it, but it’s like a pitch, but like companies say, Hey, this is what we want. And other companies submit like pitches to them. An RFP. What is it? RFP. RFP. Yeah. When they do that, that’s typically one of the questions that they’re asking, are you SOC 2 compliant? Yeah, always asking about different,
[33:23]security questions, and that is one of them.
[33:29]Yep, it’s always fun. And then Joe being a smartass, because we can’t have port 80 open, just move SSH to port 80. Problem solved. Unless it’s on a web server and then you’re screwed. I don’t want to hype it too much because obviously we’ve been trying to get them to, you know, sponsor tech for a while and be partners, but goddamn tail scale, man. It’s, uh, it’s, yeah, I really like it. Like, like you said earlier today, like we might end up having to pay for this and see, but yeah, because, uh, did you catch what Joe said earlier? We have that asset server up now. And he was like, yeah, we can shut that down 100% from the outside world and just run it over TLCL IPs.
[34:20]So, because that’s how I was doing that. Even port 80, right? Yeah, even port 80. Yeah, that’s how I was running my little internal stuff. So, yeah. All right. Speaking of sponsors, let’s hear from our partner today, PHP Score.
[34:43]Thank you to our partners at phpscore.com. Every app builds up technical debt over time. It’s the price we pay for shipping new features and moving fast. When we build up too much of it, though, it can start to impact how we work. Team velocity suffers, bugs become more frequent and take longer to fix, and everyone starts to get a little frustrated. The key to managing debt is to measure it. A credit score can help you understand how well you’re managing your financial debt. And now there’s a credit score for your technical debt. Go to phpscore.com to get a free technical debt score and monitoring for all of your PHP applications today.
[35:25]Thank you, PHP Score. There you go. Hey, guess what? What’s up? I’m the proud new owner of a Kindle. Hey. And you want to know why I’m a proud new owner of a Kindle? Because you don’t work hard enough and you have time to read? No, because we suck at EPUBs for the magazine.
[35:48]Yeah. Actually, we don’t. I had somebody reach out to us saying that the EPUB wasn’t working and he was getting errors.
[35:58]He’s not using a Kindle. He’s using a Google reader of some sort. But I thought he said, I’m not talking to you. He said he was having the issue on Google and Kindle, So I downloaded it and it seems to be working fine, but by looking at it again, because I don’t usually use the EPUB version myself, I realized how we build the EPUB is not the same way we build the PDF. And we’ve run into issues in the past. If we’ve decided to pull an article from the magazine, so it’s not in the PDF, it’s not in a print issue. If it’s in the directory, it still gets into the EPUB. so we’ve released articles early accidentally in the past uh found out none of our ads have been going into the e-pub probably shouldn’t say that really loud but damn because they get added into in design which is for all of our layout but e-pub doesn’t do layout it just takes the markdown and just does it so anything we change directly in in design never makes it back.
[37:11]So i’ve got i’ve got things noodling in my head to fix that um no clue how like my assumption is even prior to us taking over it was the same way because everything i do i learned from oscar and that’s how it was done so yeah and in kindle specifically so php architect before before we started running it php architect used to have a kindle specific version that moby right that was the moby one yeah and um amazon you know basically squashed it and just started doing the epub on kindle but it’s the same thing it was built i think the moby was built from the epub so same issue it just yeah yeah interesting so now i have more work to do figuring out how to get all that in there. But I wasn’t having the same issues he was having. So. It doesn’t matter. Speaking of the magazine, this month we start a new column called PHP Enterprise or Enterprise PHP. Enterprise PHP, yeah. Yeah. I’m really excited about this one. So Wendell in our Discord is the author of that one.
[38:33]And he feels like he has enough to do a regular column every month. And I’m excited. I really like that idea because it’s, you know, it’s, I think it’s something we’ve been missing as far as like a certain group of professional developers who have unique things that they have to deal with because they work in an enterprise environment. So I think I’m really happy that we had somebody come on board to do that. And uh staying on the magazine uh ed bernard started a new column llm patterns and oh yeah. It’s a deep subject and he’s he’s building up to it so the he started in november and there’s a lot of backstory so you got to stick with it uh i’m still going through it because he’s asked specifically for feedback, and I want to give them the best feedback I can. So far, it’s very fascinating. He starts off with how IBM had, what was it called? Basically a board where if there was any idea, they posted it so they could
[39:54]say, this is a posted idea that we have, so you can’t patent it. And he says in there that he went to them with an idea, but he was only a contractor. But I guess because of his contract, he was obligated to inform them. And then they put it onto this board so he couldn’t patent it.
[40:17]It’s like very, very honest guy. It’s awesome.
[40:28]LLMs, right. That’s what we, that’s what you said. uh tj my friend tj who’s big in ai right now right doing some crazy stuff crazy stuff and he’s been making these blog posts i’m going to put them in the show notes uh i i’ve been debating whether or not i wanted to do that because i’m like why don’t you submit these to the magazine god damn it yeah he’s doing some great stuff uh with what he’s been doing with ai and i’m not even going to get into it because like 90 of it is over my head but i get the principle of what he’s talking about which is basically um and i i didn’t know this i actually just learned it recently that i guess your ai agents or clients or whatever like cloud code right you fire up cloud code and you have it help you with your code and then you know you close your terminal or whatever well the next time you fire up cloud code cloud code doesn’t remember the conversations that
[41:40]you had previously had or the work previously do so i guess that’s what tj’s been working on is just being able to have the AI remember the. Your history, the context that you had prior to shutting down. Yeah. So this is, I mean, there was something, I thought there was some sort of built in way to kind of save your context, at least with Claude Code. I don’t know. So I asked CloudCode this last night, actually. As a matter of fact, you were talking about Docker. Yeah, that was my coding thing. But yeah, I asked CloudCode. I’m like, hey, because when I saw, you know, TJ’s been sharing this with me. And I haven’t been reposting it because I’m always kind of like, okay, that’s, you know, I don’t know, like, what I have permission to post or not. I shared this because it’s just out there on the Internet. So I assume he’s okay with people seeing it, but I asked cloud code. I’m like, Hey, when I end the session and start a new session,
[42:51]do you remember this conversation? And he’s like, no, he’s like, like, it’s a heat, but it’s like, no. And I’m like, well, how do I fix that? And cloud response, I’ll write a file to go of what we’re talking about. And then the next time you start up, I’ll go look for that file. And if that file is there, I’ll read it real fast. I’m like, okay, do that. Do that all the time. Why aren’t you doing that? Yeah. So Chris says, you know, Cloud Code is the only one that does. And then Joe says, just use Cloud Export to save it out. Yeah. So, yeah, I did not, I did not realize that. And it’s, it’s, yeah, that’s game changing for me to know that I, yeah. So speaking of Docker, oh my goodness. And speaking of Joe, I’m going to, I’m going to, I’m going to turn to some people and Joe here real quick. I, I, I, I intentionally try not to be on the hook for deliverables that have a hard deadline. Because I never know day after day how much time I’m going to have to develop.
[44:10]And I’ve been doing a pretty good job of it like over the past year, but I’m, A POC requirement came up, a proof of concept, with a hard deadline of the end of this month. This happened the beginning of November. I’m like, I got two months. I’ll definitely have time to do it. Because it’s not even something I feel like we need to do a POC for. It’s just an API endpoint for another system to talk to. I’m like, it’s just an API endpoint. We can do it. Like, yes, if you want this contract. Get it we can do this this is not this is not rocket science it’s pretty easy but i haven’t been able to do it like i haven’t had the time and in uh this week i’m like okay this week i’m 100 making the time but then i came to the reality of i haven’t fired up this docker environment in probably six to seven months now and so i have to download the database which is massive and import the database. And then I’m trying to fire up the Docker container and I’m having all sorts
[45:17]of issues. And Frank actually helped me through all that. And then I remembered, I’m like, God damn, I can’t run Docker because I run herd. I’m like, I wonder if I can configure herd to run this code base. Because, you know, herd has this capability. You don’t, I’m told in theory, It doesn’t have to be a Laravel app. Heard has these drivers that you can create to run anything. And I’m like, man, this would be so nice. And it would only be nice because all the other stuff that I will jump into and do like quick coding on like the conference website or PSV Tech TV or, you know, any of these like little side projects that I do is all in Heard. And instead of shutting that down, spinning up this Docker container. And don’t tell me you can run the Docker container in other ports. I already know I can’t. I mean, I can, but this app breaks. And that actually came up today as we’re talking through this.
[46:23]So I’d really like to not have to shut down Herd just to spin this thing up to work on it. And so I, I made the mistake of asking Joe, seeing how he is our sys ops person. I’m like, Hey, Joe, I’m like, can you look at custom drivers for herd and see if you can figure out one for this project?
[46:52]Joe does not like herd even a little bit. Now to his defense, Joe is the maintainer of, was it Homestead? Is that what you’re called? Yeah. Joe’s the maintainer of Homestead, which was the de facto solution for Laravel and everybody else for the longest time. And so I think he’s a little bitter about that. Joe continues to remind me he does not like herd. Yeah.
[47:20]So why did you need the custom driver? I’m still confused on that. Uh, because, well, well, you know, the project I’m talking about, it’s the one with the Laravel app living in side of legacy code. Okay. So that, you actually had to fire up the, that legacy code base. Yeah. Yeah. Okay. I didn’t realize that. Yeah. Yeah. So yes. Oh, FFS Lando. 100%. I, I am, And I thought I would never not use Lando. And then John’s like, hey, I’m getting a license for H.E.R.D. Do you want one? I’m like, no, man, I got my license. Yeah, sure, whatever.
[48:02]But this is the cool thing. If you guys aren’t familiar with Lando and H.E.R.D., no, not sale. Sales is not good. uh lando and herd the biggest thing that they have is that they allow you to serve up all your websites through port 80 and port 443 so all the projects you work here now they do it differently um herd it watches certain directories like you tell it what directories to watch and it will anytime you create a project in there it will just assume it’s a it’s a herd site and you know allow you to access it where lando your directories can be anywhere you just have to spin up docker containers for each project which gets annoying after a while as well so but they each that’s the coolest thing about this is you can have all your projects and you have a uh a naming convention that allows you to access it through a browser and everything serves up on 80 and 443 so nice So nice to have.
[49:07]It basically acts like a proxy to the proper port in Lando, right? So Lando manages your ports versus… Having a bunch of port collisions on port 80 right right so yeah yeah that’s the other thing with lando you can actually address the lando directly uh if you know the you can find the port by saying lando info i mean it doesn’t make it difficult to find the port but yeah yeah to your point yeah every docker container has a bunch of random ports assigned to it and then it does a magic proxy or whatever it’s called the proxy uh all of them through through so it’s really nice i i think lando is hands down one of the coolest things and in the benefit to lando herd works for us because we’re on mac now if i was still on my linux machine, it wouldn’t i don’t know if herd is on windows herd might be on windows actually i i don’t know one way or the other but lando can run on anything because it’s
[50:09]just docker it’s docker everywhere. So Lando’s fantastic solution, um, for free. I mean, I don’t know. That’s one of those things that cows is free sort of thing.
[50:22]Yep. So did he get given running is a question. Yeah. You said he, you said he doesn’t. Okay. You said he doesn’t. Oh no, no, no. I didn’t get the herd one. I’m still doing the doctor. Yeah. Yeah. I’m pretty sure I’m not going to ever see herd running all right uh i’m gonna make i’m gonna call you out i’m gonna make you feel bad awesome because i like i like feeling bad it’s what i do uh we’re gonna promote another another podcast here john john was on another podcast called um teach the geek teach the geek yeah which is uh basically yeah just uh. How to do presentations and stuff and john was talking about you know the conference and submitting papers and stuff like that um interesting neil’s an interesting character man i’m not sure he was with you the whole podcast by the way he looked like he’s like his own in and out a few times but yeah that’s because i was rambling i just kept talking i don’t i don’t
[51:30]know how to do podcasts that’s what you’re supposed to do like when you’re if when you’re the you’re the host and you’re doing the interview podcast. You’re just hoping that the interviewee is a rambler because otherwise you’re having to fill all the space. To a point. You don’t want rambling just on and on. You want them to answer questions fully, but not to go too long.
[51:59]So for those of you who don’t get enough of John in this podcast, Go check out Teach the Geek And watch John not mention me Cause Ben Ramsey by name Before he even mentions my name Just the first part of the name I don’t even get a whole name I don’t get Ben Ramsey I don’t get Eric Van Johnson I just get Eric Like, it was a very disappointing Eric too But, yeah I did not I’m gonna use that one for a very long time, I don’t see you going on a podcast trying to promote PHP tech bastard. I actually, I will be on the podcast soon. Scott just reached out to me and says, Hey, uh, are you free to do a podcast? Talk about tech. I’m like, yeah, let’s, let’s shoot. So you’re going to do another podcast on our.
[52:52]For the same reason we started the company. The only person who would pay me to code is me. So the only person who’s going to have me on the podcast is me.
[53:05]100% Funny Hey, if you’re looking for a job, PHP Foundation is hiring What? They are seeking a new executive director.
[53:21]Executive director? What does an executive director for a non-profit PHP foundation do? I’m curious I don’t know exactly other than the executive director of any nonprofit is to make sure the nonprofit is going in the right direction, spearheads any efforts that need to be accomplished, make sure the proper people are working on their respective roles.
[53:51]Within the php foundation specifically they now they have employees so then make sure the employees are getting the stuff that needs to get done done have some sort of roadmap and goal for the people that are working on internals that are being paid to work on internals um,
[54:11]And also help grow the foundation, you know, spearhead fundraising efforts, make sure there’s money coming in. Are we going to have a PHP car wash soon? Is that what’s going to happen? That’s how we raised money when I was in Little League.
[54:27]Yeah, I’m looking at what they’re looking for. I was thinking at a bake sale. Strong leadership, deep knowledge of PHP, excellent project management, strategic thinking, experience working with diverse stockholder. Yeah, I got none of this. but yeah you’re screwed you’re not good yeah i’m not i probably shouldn’t apply yep me either.
[54:49]Well this is cool it’s so weird to see uh so again this is not officially php.net right i mean this is a foundation that helps that but it’s still basically php right it’s the internals of php it’s so crazy to see that i mean it’s a good thing i think this is something awesome yeah i i i feel like this is something that needs to be put in more marketing material for php in general like all these companies that don’t do open source or you know especially something like php that doesn’t have direction that doesn’t have somebody guiding like where it goes this this sort of thing needs to be a regular yeah this is cool good work the hp foundation exciting yeah i think what they said in here is roman pronsky who kind of got it started he works at jet brains he’s been yeah he started on jet brains they’re just they want to bring in somebody that i don’t know if he has executive director experience i don’t know why his tenure isn’t concluding or
[56:04]maybe it’s in their bylaws where an executive director is only around for so many years i don’t know um.
[56:12]Yeah, I guess he’s stepping down sometime next year, and they’re looking to replace him.
[56:20]Cool. Oh, it says right there. As his role at JetBrains grows, he’s decided to focus his effort there. So he’s got plenty going on in his life.
[56:31]I’m confused about it because I thought he had stepped away from JetBrains, but I guess not.
[56:38]All right. I am going to talk about JetBrains Because I’m going to give them a hard time Not because, They say we’re too small to sponsor I’m not going to bring that up, John That’s just going to be between you and me That’s just like a conversation we had But let’s start with this one.
[56:58]Oh, PHP plugins you might not know You know what? I’ll put this in the show notes AI must have generated this one I don’t understand half half of these and why they think they’re important and none of them are like there’s so many good plugins that the the fact that they settled on these is like all right that’s a weird one to read tempest php what like that’s that’s the plugin you want to talk about an upcoming new framework yeah no so uh i didn’t mean to bring this one the one i meant to uh talk about which is something I did not actually know. I was actually excited about that one, the plugins. I thought it was going to be awesome, and it wasn’t. Yeah, so that’s why you ended up on the board, and then I actually read it. I’m like, this is, okay, why did I put this on the board? Open source IntelliJ IDEA, right? Did you know IntelliJ IDE had an open source version?
[58:04]No, no, you didn’t. I didn’t know that either. And I, I assume like you can download it and build it and yeah, build your own ID. And this is crazy. Like this is if, you know, we always say if you make money off PHP, invest in PHP storm, it’s worth it. If you don’t make money off PHP and you’ve been grinding away with VS code or, you know, if you’re using Vim, you’re fine. Don’t worry about it. But if you do want to kind of tip your toes into what a powerful IDE is like, this might be your direction. You might want to try this. I haven’t done that. Obviously, we have licenses for all JetBrains products, actually. But yeah, I’m going to put this in the show notes for those people out there who might not have it and find this useful.
[59:02]You’re going to be missing a lot of the PHP sugar that PHP Storm has, I assume, within the IDE. Right.
[59:10]But maybe that’s intentional, John. Here’s where I’m going to start giving JetBrains some shit. But ask us anything during JetBrains AMA week on Reddit. So… JetBrains are going to host a bunch of AMAs around all their different products, invite people to come in and ask questions. I’m like, that is pretty cool. I’m not sharing the right screen. That is pretty cool. I might actually pop on to the PHP Storm room and ask a few questions. And so if you scroll down, you see the dates for all the different – Well, yeah, all the different, there’s no PHP Storm.
[59:57]What the hell, JetBrains? There is one for their open source one, though, IntelliJ IDEA. Yeah. Pop in there. What the hell, JetBrains? I’m going to hop into all of them and say, why is there a PHP Storm, AMA? I’m just going to have a bot do it, like, every 15 minutes.
[01:00:17]Like, RubyMine? Really? Really? You know what your question’s going to be? Who uses RubyMine? That’s going to be the question in your AMA, chat brains.
[01:00:29]It’s going to be who uses Ruby anymore. Exactly.
[01:00:33]That’s what we should do. We should have everybody just decide to join one of the AMAs and just start asking a bunch of PHP Storm questions.
[01:00:44]Oh, I’m a dick. Or when they say, here’s how you do this. How do you do it in PHP Storm, please?
[01:00:51]Yeah oh oh oh oh oh you know what what, um oh i’ll share this real fast i mean my beanie,
[01:01:04]oh this is not like a beanie like look how tall that thing is like for me a beanie is like almost a skull cap but yeah uh that’s there uh let’s let’s check this out php tech that i owe because i think okay so let’s talk about php tech for a minute how are we on time oh we’re way over right 2.30.
[01:01:24]I can stick it up for another 5.10. PHP Tech, John, we have speakers up, right? We’re talking about speakers we’re having. Does that mean we’re going to we still have Early Bird. Are we going to wrap that up at some point? We will be wrapping that up sometime.
[01:01:45]You and I need to discuss when. We need to work on the schedules what we really need to start doing. Yeah, we do need to work on schedules. Oh, Carlos finally confirmed. That means we’re down to, I think, one that hasn’t confirmed.
[01:01:57]Or Carlos only confirmed one of two, maybe. And we have another keynote conversation this week or next week?
[01:02:09]Potential keynote speaker. We have another one. Did we miss that? Oh, God, don’t tell me we missed it. I feel like we did, too. I feel like it might have been earlier. Oh, it’s next week. Next Tuesday. Oh, next Tuesday. Okay. Yeah. I missed a meeting this morning. Did you? Yeah, 100%. And I’m so frustrated with myself because my…
[01:02:34]Notifications kept going off that you know i had something on my calendar and i had so there there was a time in todoist to if you synced it with your calendar it would just create entries in your calendar and so i had a recurring entry to do things like look at zendesk you know uh there’s like three things i had that obviously stopped working well no no it didn’t oh yeah that was a dig huh okay here i get you i asked what you did there i’ll talk about that after this, and and uh you know but at one point i decided okay i’m gonna take all these off because i don’t need them anymore. I have them on my calendar. And Todoist does calendar integration a little differently. I don’t know if I like it or not, but it does.
[01:03:34]So I took them all off my Todoist. And then when my Todoist started firing this morning, it started firing at 9 a.m. Or approaching 9 a.m. And that’s typically when I would send myself reminders to do stuff. So I kept clearing and kept clearing. I’m like, and I even told Beck, my wife, I’m like, damn, calendar won’t stop chiming. And I just kept turning it off. And then I come to sit down, you know, in my office and I’m seeing all these Slack messages. I’m like, oh, damn it. What’s going on here? I look and I missed a meeting with her client who was talking to a customer. But it ended up being, we had somebody there, Kalen, who also joined, who’s probably going to be doing the work anyway. so it’s you know better him than me anyways but um yeah caitlin joined and it turns out he was like, because I tried to get on like 15 minutes late and Caitlin’s like, yeah, it was like a 10 minute meeting.
[01:04:33]Excellent. That sucks. Yeah. It’s giving me a hard time around about Zendesk because I let it go for two weeks. Thanksgiving threw me off by a lot. And then I came back in this week and I’m like, Holy crap. There’s like tons of messages in here. Usually I try to get in there and clean up. Cause there’s a lot of spam and crap in there too.
[01:04:59]But started getting two really weird types of messages one was hey i tried ordering, the magazine and that’s yeah i ordered the magazine and i don’t see it hey i ordered a book and i don’t see it hey i ordered a magazine i don’t see it i’m like oh my god i i kept going through i thought it was a one-off i think last week where i fixed somebody’s account, And I started seeing all these come through,
[01:05:29]And it was driving me nuts because I could go in, I could easily fix the account, but I was like, why is this happening? So of course I go and I make a purchase and I don’t get the magazine in my account.
[01:05:42]And I started digging through the code because it’s code we inherited. So I don’t fully understand how everything works. And it was frustrating me because it goes through a WordPress plugin and then talks to another backend service. And I get to the point where the Stripe checkout is completed and I see it make a call over to the other service to say, hey, is the status of this completed? And then I go look over in the service and it literally is just looking to see if it’s completed. And I’m like, this isn’t doing anything. Why? What is happening? And it turned out to be in Stripe, there is a webhook that goes to that other service to say, hey, this is complete, that I disabled.
[01:06:32]Because I have a webhook, because we move subscriptions to Stripe, this webhook goes to another API, another server, another… And I guess at some point, I assumed that one was no longer being used because we’ve moved all of swag to fourth wall. So we’re not selling that subscriptions all being handled by the other API. I forgot about the one-off magazine purchases and the books.
[01:07:06]That was a pain in the butt. Fixed. It’s working now. Happy to say. The other weird one that we got probably four or five different people, if not more, saying, hey, I can’t access my account. It’s been disabled. My account’s disabled. Can I enable it? And I’m like, we don’t have that feature. So I kept writing. So I’m like, are you contacting the right company? We don’t have a disabled state i don’t know what you’re talking about.
[01:07:42]And finally one two different people replied one said it was hunger something and the other one was some kitchen both canadian websites i go to the one that they actually gave me a website for i’m like i don’t see our ad email address in here anywhere i tried filling out their form like is Is there a form going to us somehow? Like, what’s, I still don’t know why. I have no clue. All I know is I’m getting emailed about disabled accounts and I’m sorry. I don’t know how to enable your account. You’re contacting the wrong company. Oh, so it wasn’t us. It wasn’t us at all. It’s not us. I don’t know where, I don’t know how they’re getting our information. Part of me was like, is there some, are they using Zendesk and Zendesk has something broken where email is supposed to be going into their account. It’s coming to us i still have no answers that’s crazy i mean we have in the past we have gotten um like people emailing saying their
[01:08:48]php application broke or their wordpress isn’t installing i’m like yeah yeah it’s not we don’t that’s not us right yeah you just point them to the right place, but yeah, that’s weird. I don’t think we’ve ever had that where it’s another company all together.
[01:09:08]Yeah. Very interesting. The, I started thinking we did have one custom, one of our clients that did something with food that we recently disabled.
[01:09:22]But that’s right. I forgot. But I don’t know if I don’t see how they would be related at all. And even if it were how they would get our email address.
[01:09:34]So, all righty. All right. We should wrap this up speaking of clients i just got one frank and frank if you’re if you’re listening to the podcast get back to work and check out uh developer ops in the client’s slack channel please i’m gonna i’m gonna ping you right now with it um cool man all right uh yeah that’s it uh we’ll be back dude the year is almost over what the hell, what is going on with this world right now yeah, that’s it we have maybe one or two more episodes this month then we’re going to take a little bit of a break, and yeah that’s it,
[01:10:21]you have anything else you want to say if you want to rewind there’s still a discount code that can be used on the magazine get it for $2 a month for new subscribers,
[01:10:32]early bird is going to be ending for PHP Tech get your tickets now um yep that’s all I have cool alright everybody thanks for hanging out with us been fun bye.
[01:10:48]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.