10 Requests a Minute
Andy Hinkle (00:09)
Hey folks, welcome to another episode of the Midwest Artisan. I'm your host, Andy Hinkle
Dalton McCleery (00:14)
And I'm your cohost Dalton McCleary.
Andy Hinkle (00:17)
Dalton, how's it going? It's been a minute.
Dalton McCleery (00:20)
It's been a hot minute, but I'm doing great. I'm enjoying the weather. How about yourself?
Andy Hinkle (00:25)
Yeah man, it's going really good. ⁓ have some really exciting things coming up I'm pumped about. So I'm actually visiting for the first time, know, since I made the transition at the beginning of the year to ⁓ join Wilbur Group, which is over with Jake Bennett. Next week is actually my first week there. So, well, first week, I've been working and it sounds like I just saw it
Dalton McCleery (00:33)
Nice.
Nice.
Andy Hinkle (00:51)
And my first week going to the office, so I'm in southern, Indiana, Indiana. They are in middle of Illinois So going to make the trek I'm driving out there. It's about five hour drive and enjoy some podcasts so on the way there some tunes and Yeah, just gonna tear it up in Illinois for a few days, so that'll be really good ⁓ Then I have Metallica Coming up. ⁓ Yeah, dude gonna head out to Denver
Dalton McCleery (01:15)
I'm jealous.
Andy Hinkle (01:19)
then Lercon so it's just like boom boom boom it's gonna be really good so it's gonna be a quick summer feel like it's gonna fly by yeah just something you know look forward to yeah you have anything fun going on?
Dalton McCleery (01:26)
got something every month. For like the next three months.
⁓ Well, nothing as crazy as like Metallica and Laracon but I did buy tickets to a band that is notoriously really, really hard to buy tickets for. It was Sleep Token. I actually got tickets to their upcoming tour this time around. Last time I actually had to buy tickets from a scalper. I think tickets were like hundred bucks last time and I bought two tickets for, think $600 for their last tour. This tour, bought them at face value. They sold out like an hour.
Andy Hinkle (01:44)
⁓ good, yeah.
Mm-hmm. Yeah.
Dalton McCleery (02:03)
I was literally just like refreshing Ticketmaster 15 minutes before they started just to get tickets. And I got tickets in the nosebleeds. But I'm just happy to be there, you know what I mean? I'm excited to see it.
Andy Hinkle (02:03)
Nice.
Yeah, yeah,
that's awesome, man. Yeah. One of my coworkers, his name is Chris, shout out Chris. He's like really big into Sleep Token. talks about them all the time. Their new album recently, I believe. he's like, you guys gotta get familiar with Sleep Token. I know you had told me about Sleep Token before. So then I went to my family, they're all from Oklahoma. I went to go visit them over the weekend. And my brother, he's...
Dalton McCleery (02:31)
Mm-hmm.
Andy Hinkle (02:41)
21 years old, asked me, he was like, do you know who Sleep Token is? I'm like, actually I do. so, and then, yeah, we saw, my dad was asking him out too, so I was like, hey, I feel cultured, I feel good. yeah, it's, so it's a good band, you know, listening to some of the music, so good stuff.
Dalton McCleery (02:46)
You
Yes, you are ahead of the curve.
Yeah, all right, well, what's your co-worker's name again? Chris? Chris, hit me up. I have opinions on the new album. Good opinions, not bad opinions. I have good opinions. I want to hear yours. Hit me up.
Andy Hinkle (03:04)
Chris, yeah, yeah.
Let's get out there asking about it. sweet. And last episode we talked about hockey. ⁓ What happened at Dalton?
Dalton McCleery (03:14)
Yeah, yeah.
Yes.
the Evansville Thunderbolts won the president's cup, two to zero, the whole thing. It was the most exciting thing I think I've ever seen in my life because they, they went into overtime, both games, right? So they did an away game. They went into overtime. It lasted like an hour or so, like overtime lasted an hour. The they're like official. won. They won that game. They're official.
Andy Hinkle (03:25)
whole thing yeah
Dalton McCleery (03:47)
poster or whatever said that they left that place at like 3 a.m. and got back to Evansville at like 7 a.m. They took a nap and then they played them again that night and that was the night that I went to the home game. Again went into overtime. It was just the craziest thing I've ever seen in my life. But they won. Evansville Thunderbolts, they won.
Andy Hinkle (04:07)
That's amazing.
Yeah. Well, we were just talking because we just went to their game and they're like what seventh place and we're like, yeah, they're just playing hockey for fun Yeah, and they go out and win the entire championship and we're like what what the heck just happened. So it's amazing Yeah
Dalton McCleery (04:15)
Yeah, at eight.
Yeah, yeah, they lost the game that we, that we went and
saw they lost that game, but yeah, they, won. They won everything. We stayed that whole night. They w they had like this great presentation ceremony or whatever. You'd probably find it on Twitter. It was really fun. Had a really great time. ⁓ my wife and I are looking at buying season tickets that way we can just not have to buy all the one-offs.
Andy Hinkle (04:37)
Awesome. Yeah.
Yep. I have to go,
I have to go with you next year. I'm to go to some more games. So it was so much fun when we all got together. So, and speaking of sports, I know people, some people hate talking about sports, but real quick, ⁓ you know, being from Oklahoma, big Oklahoma City Thunder fans, they made it to the NBA finals. So they're either going to play the Knicks or the Pacers about the ref getting ready to find out. But so big year for sports goes as Dalton would tell me sometimes go sports ball, right?
Dalton McCleery (04:48)
Yeah, yeah. Yeah, they're going to be defended champs.
All right.
Go sports.
Andy Hinkle (05:11)
Yeah, anyway, stuff, yeah. ⁓
Dalton McCleery (05:15)
God, I've never felt
more 30 in my life. Talk about sports.
Andy Hinkle (05:17)
haha
Somebody once told me like the only way to keep up with your friends in your thirties is to either go watch sports with them, go golfing, or play video games. So we gotta figure this out, right? So I think we're at least getting somewhere, right? We don't play video games, but we do talk about a little sports and we're both terrible. I don't know about you, but I'm terrible at golfing. So we got something going on. And I live on a golf course. I should be better. So yeah.
Dalton McCleery (05:41)
⁓ garbage yeah
Practice,
go practice. It's nice outside.
Andy Hinkle (05:48)
Yeah, need to.
All right, well, now with this smooth transition onto Alpine. We're onto the technical jargon, right? Since we are mostly technical, I feel like sometimes we are only technical. So. ⁓
Dalton McCleery (05:54)
Yeah, yeah, yeah. Let's get into some good stuff.
Shout out.
Andy Hinkle (06:09)
So yeah, last time we talked about Alpine and we had some opinions and I feel like we're on the same page, which it's not really great content for both on the same page. like, yeah, I agree. Yeah, but whatever. But anyway, I started back in the day with you, kind of my JavaScript journey. I just started back in the day with you. Then I was voluntold. Well, I mean, it was just a project requirement that needed to react. No one wanted to do it. So I was kind of like.
Hey, know, you need to go learn React and go start that journey. So, but then I learned it, was like, you know, kind of like React. And then Alpine came along, I was like, I like sprinkles and bits of pieces in Alpine when it matters. It's like, I feel like people cling on Alpine way too hard and like they put like these crazy stores in Alpine. And I feel
Dalton McCleery (06:50)
Yes.
Andy Hinkle (06:59)
I'd love to put this in React. And AI today puts everything just in React anyway. And so I'm just like, so that's the prompt I'm like, by the way, put this in Alpine, you know? But Alpine is really good for just those sprinkles like close and hide, right? But these days I really prefer React. And so it seems like even the Laravel team is kind of going with a transition from Vue to React.
Don't hear a ton of them using Alpine, the actual Laravel team. But see, Reacts is just such a big player. But I'm curious of your thoughts of like when you reach for Alpine and when you're like, yeah, maybe we should go bigger.
Dalton McCleery (07:42)
Sorry, police drove by. ⁓ Yeah, I reach for Alpine as much as I reach for Livewire. I was a big Livewire fan as well, shout out Caleb, still am, but I think it and Alpine both need to be used in sprinkles. And I only use it pretty much for like events like that. hey, just need, whenever this DOM is visible, I need to do an X in it.
Andy Hinkle (07:45)
Yeah, you're good.
Dalton McCleery (08:11)
call a method and that's it. Or do a dispatch event or show and hide some text based on whatever. The best example I have is this app that I've been building is it's got lat and long and then I need to geocode that into an actual address but I don't want to do that on the server. I want to show the lat and long and then with JavaScript call the API and do the reverse geocode in the background and when that's done
have Alpine just switch out the text to the new address so it's not like it doesn't chunk the server or whatever. Sprinkles like that is what I would reach for and what I tend to only use Alpine for and I think it's great for that.
Andy Hinkle (08:46)
Mm-hmm.
Yeah. I mean, it just gets really messy. I've seen some of these blade components of you'll see, ⁓ you'll see like the div and the open bracket Alpine. It's just this giant blob of JavaScript inside there. And it's like, so I'll refactor and put it into the Alpine store. But even that I'm like,
Dalton McCleery (09:04)
Mm-hmm.
Andy Hinkle (09:13)
could have been React, know? And these are things that are not using LiveWire, to be clear. Yeah, to be using LiveWire, can use that Entangle stuff to just be able to, for the front end, talk back in, et cetera. Yeah, absolutely, but.
Dalton McCleery (09:15)
could be ⁓
Andy Hinkle (09:27)
Yeah, I see that more and more and it's so hard to introduce multiple flavors of JavaScript, having a React and LiveWire or React or Vue and LiveWire, vice versa. If you have Vue and React, that's, I'll be, something's weird going on there, but yeah.
Dalton McCleery (09:42)
We don't want to talk to you.
We don't want to talk to you.
Andy Hinkle (09:47)
Yeah, it's so I mean I love an alpine in pieces, but just like Sometimes I just really want to reach for react. It's like just wish I had that you know that state here and yeah, ⁓
Dalton McCleery (09:52)
Yes.
Yeah, it's
like opening a box of Oreos. Oreos are great. ⁓ forget it.
Andy Hinkle (10:10)
No, no,
I'm here for this guy.
Dalton McCleery (10:13)
I was gonna say eating one Oreo is great, but you never eat just one Oreo. It's like potato chips. So nevermind, that analogy doesn't make sense. I agree. Alpine.js is primo perfect in very specific use cases. You start getting those open brackets, X data, and you've got all kinds of methods, and I have to scroll and scroll and scroll. That's too much. That's way too much. Put it in an actual JavaScript thing or put it in...
react and view and just call that component. That's what those things are great at. think Alpine JS is great for the little sprinkles, just like Livewire. Great with little sprinkles.
Andy Hinkle (10:50)
Yeah,
yeah, yeah, definitely. Yeah, stuff we agree on, great content, right? no, just so. ⁓ But I'm curious, because you might know more on this than I am, because I'm trying to keep up. But we were talking about AI with AI generation and like with React and stuff like that. And there's this big thing going on with MCP. Please tell me you've heard of this. Because I'm trying to,
You know, but I at least understand the basic concept. just don't, I don't understand like deep level of it of like, here's what you need to do to get there. But the idea is, and it's like a, it's like a REST API for your application, but for AI. And so Taylor's even talked about having in your routes folder about one that's like, you know, web.php, API.php, he's talking about having one AI.php.
Dalton McCleery (11:35)
⁓
Andy Hinkle (11:45)
What that is is like, ⁓ I'm correct, I might be wrong in some of these details, but it's something with MCP and what that will do is it gives its model context. It's not like Laravel models. It's like your AI models context of your application. it can actually work with your AI, can work with your application and work with your databases and stuff like that. So it can really go deeply throughout your application. Now how that's actually like what you
do in there? I don't know. Like what are doing at AI.PHP? But it's like, it's everywhere right now. Like bunch of people like, I've actually had to get off Twitter for a few days just because people, just like it's nonstop. Just like, been trying to keep up with it, but it's just like, I don't know, I'm feeling like very boomerish. like, I don't know. There's a lot going on, you know, just information overload. So.
Dalton McCleery (12:17)
Yeah, yeah.
I prefer the term elder millennial instead of boomer. Cause I have, I have not heard of this at all. And this, and this is, this sounds way complex. Like, yeah. So if people work with this, what do you, what do you put in that AI route folder? Like how does this work? Are you just building your own agent? Is that what it is? Are you like your own knowledge base?
Andy Hinkle (12:41)
Elder millennium. Yeah.
Okay.
Yeah,
it's kind of, it's helpful for, it's like an AI for, ⁓ or it's kind of like an interface to tell agents, here's the site map, if you will, for my, yeah, it's in order to tell an agent, here's the site map to my application, is my understanding of that. ⁓ And so that allows, ⁓
Dalton McCleery (13:12)
your data. Okay.
Hmm.
Andy Hinkle (13:24)
I think that allows for two parts. One, to make improvements in your application. would guess the, talked to this on the show a while back, but my idea of being a good AI is like something like this lives like, know, an AI will live on your application and then it will, it'll be paired up with your database and understand production data. Some of it gets a little scary, right? Cause you don't want it reading your production data, but I wanted to be able to tell me like, Hey, Hey Andy, you might need an index on this table
Dalton McCleery (13:49)
Yeah.
Andy Hinkle (13:52)
I would love that. So I that would be useful. And so I'm curious what it'll actually will do. It's very early. ⁓ Fireship has a great video. It's fireship.io on YouTube. It a great video on this, MCP. And so I recommend checking that out. It's like a four minute little video. But if you haven't seen it yet, but.
Dalton McCleery (13:53)
Mm-hmm. I like that.
All right.
I'm gonna.
Andy Hinkle (14:12)
Yeah,
just making its rounds right now. Maybe it's just a little buzzword. Everyone's kind of clinging on to it. But it's getting a lot of people talking, especially developers. Developers are just like, MCP! ⁓
Dalton McCleery (14:25)
Hmm. Hmm.
Okay. I mean, I can, I guess I could see the use case for it, but.
it sounds like Juni, like these sort of AI agents that are in your IDEs trying to help you build stuff. But it sounds like you're the one building the AI to help your application after the fact or while you're building it. Do know what I mean?
Andy Hinkle (14:47)
Yeah. I think
it's after the fact, right? So.
Dalton McCleery (14:51)
So like stuff like Juni
is helping you build it and then you install this AI on like the live site and it helps like Identify like this page is slow. You probably should put an index on Whatever table is something like that
Andy Hinkle (15:03)
Sure. Somewhat, right? I think it's
like to, like if you wanted to query your application, like ⁓ if you have like a booking application, right? some AI plugged in there and say, hey, how many bookings?
in California have had in the past week and it just boop boop boop instead of typing in SQL. I think it might be something like that, but it's just like you give it an interface and then you would plug it in somewhere like chatgpd or plug in somewhere over there and it just gives you that information instead of having like here's my data here's you know like can you tell me yeah so
Dalton McCleery (15:26)
That would be pretty cool.
Yeah.
I mean, all right. I could, I could see that. I mean, one of the things I hate the most about building dashboards and user reporting is the reports. Those reports, those queries are nasty. They suck. That's the thing I hate the most about building dashboards is those reports. So if I could just put this in MCP and just say, generate me a report for the last 30 days of bookings. And it does that. And I don't have to build that. All right. I could behind that.
Andy Hinkle (16:05)
That'd be very sweet.
Yeah. I think that's why. That's probably why developers like it so much. So I think it just eliminates a lot of work like that, like craft work. Yeah.
Dalton McCleery (16:07)
I could keep on in that.
I will wait.
Hmm,
okay. Well then, at that point, why wouldn't you just use something like Juni to just build the report in the first place? And then now it looks like you built the report, even though technically Juni did it.
Andy Hinkle (16:24)
Yeah, I mean, yeah.
I guess it's this the having it being dynamic or something. But because AI is just, you know, it can be whatever you want and prompt. It's interesting though.
Dalton McCleery (16:35)
Well, here's...
Well, here's my only thing
thinking about this this MCP now is that if it's if it's available to users users suck, right? So who like if I see an MCP like reporting tool on a website, I'm gonna try to break it I'm gonna I'm gonna try to ⁓ Bobby drop tables like let me see what this thing could do right? How secure is this thing and I feel like some of the users
Andy Hinkle (16:57)
Mm-hmm.
Dalton McCleery (17:08)
are not gonna be very nice with this thing. And that's what would scare me about that.
Andy Hinkle (17:10)
So yeah, well, we're developers,
but yeah, I think.
People would tend to do that too. I went to the car dealership website when I was buying my truck back in late last year and they have like an AI little chat bot in the corner and it was like, it was like, I'm Chevy AI or whatever. And so I typed in, I like, I'll take 10,000 Chevy Silverados, where can I find those? And it was like, 10,000 Chevy Silverados, what is your location? And I typed in and says, no, the results found. ⁓
or just trying to break. yeah, some of those things you can really mess around with. and just tell you what, know, go to there. was one with Taco Bell that I was seeing and it was like, want, you know, 40,000 tacos, 40,000 tacos. So yeah. Yeah. Yeah.
Dalton McCleery (17:59)
That'll be $40,000. Yeah, I mean,
people will break that, right? One of the things that I've seen people do is they'll query for promo codes. If your AI's reading your database, hey, me all your active promo codes. Let me use one of those promo codes on my next order, even though it's technically not for me and you didn't tell me about it. People will do weird stuff like that, so yeah.
Like anything with AI, it's always that double-edged sword and I just don't trust users enough to like do a dynamic reporting. Maybe that's not what the use case is, but that's the one that came to my brain. If it's after the fact.
Andy Hinkle (18:32)
Mm-hmm.
Could be, yeah.
slightly off topic, but I think people that are scared of AI just won't be able to keep up. like, understand it's acceptable to be nervous, but to be scared in a way of like, oh, I don't want to use that. Like it's coming. Like it's going to happen. It's not going away. And so people that are like, read this blog article yesterday, like just code, just stop using AI stuff and just code using your natural abilities. like, that's just not how 2025 is anymore.
Dalton McCleery (18:49)
Mm-hmm.
Yup.
Andy Hinkle (19:07)
like if I'm writing you know a ⁓
just like a thing that I know exactly what I need to do. I'm just going to try to type it into a prompt to get as close as I can get and then I can get me to where I need to go. I know the basic concept. I don't need to sit here and type out like all these divs and all these nonsense. And it just helps out tremendously. So but just to be like that, turn everything off. It just it's just not going to be valuable with your time these days. So me could it's going to take a lot longer.
Dalton McCleery (19:18)
Mm-hmm.
No, no. Yeah. I've, I've,
I've found myself like the, the number one page that I hit on the Larval docs is always that collections page. I want to know what the methods on collections are. Cause I always forget what they are lately. I have not opened that page hardly at all. I'll just open up copilot chat and say, Hey, what's, what's the Larval collection method that does this? And it will just tell me just saves me so much time to go into the website and I got to make sure I'm on.
Andy Hinkle (19:59)
Mm-hmm. Yeah.
Dalton McCleery (20:03)
the correct larval version that's on my project and I gotta go to available methods then I've gotta go oh maybe it's reversed let me click on that and read the description now it's not reversed etc etc it's gonna it's it's happening it's like it's like those iot devices like everybody's got an alexa or a seary now those things are connected to internet you can unplug those not the same but you know what I mean
Andy Hinkle (20:14)
Yeah.
Yeah, those are scary too. Those
yeah, and those are scary too when they came out there are all these like news reports like be careful They're listening. I'm like Well, all right Yeah They're listening. Yeah understanding your thoughts
Dalton McCleery (20:30)
Well, yeah, that's what they do. So that's what AI is doing. They're not listening, they're reading. They're reading everything on the internet.
Is anybody else
feeling just like doomed now?
Andy Hinkle (20:43)
I do feel a doom as. I feel like I was thinking well, ⁓
Just going around my neighborhood and you know, just doing some yard work and stuff I was thinking about like as developers we are in a time You know in our period of life where there's not gonna be development like this again like in a sense that there will always be developers But I can see like 50 years from now. They will be really really specialized prompt engineers more than writing code They might rarely let write code and that might be scary for us to think about but they're for the future generation
Dalton McCleery (21:01)
Mm-hmm.
Andy Hinkle (21:15)
that might just be the norm for them. So it's kind of a scary thought, but it might just be one day the reality of it.
Dalton McCleery (21:23)
Oof. Oof. You pulled back the curtain ⁓ just a little too much there. All right, yeah.
Andy Hinkle (21:24)
Deep thoughts, right? Yeah.
I want to ask you about Juni because I heard that's
for PHP Storm. I've been watching some of Nuno Maduro's streams lately and he's all about it. I don't even know what it is. you want to give it a little run down.
Dalton McCleery (21:44)
a little rundown.
like, how else do you explain it's like copilot, but it has access. I assume, I assume. So the use case that I've used it for in the last couple of weeks was, Hey, just like analyze my project. Tell me if there's anything I'm overlooking. No, is there, is there optimization stuff that I could be doing?
Andy Hinkle (21:48)
Is it, is it like cursor?
Dalton McCleery (22:06)
to fix this and it spit out this nice little like task markdown file of all of these things that it said I should do. Like one of the things was it analyzed that I have routes in my web route file, right, with my normal like interactable routes. It said I'm only using those in an API context. So they're only getting called asynchronously via JavaScript. They're like, you should put these in the API routes file.
and put them behind the API stuff. I was like, that is a great point. I didn't know that. So let me just do that real quick. So mean, things like that, was quite helpful with in doing. There were other things where it was like, yeah, make sure you add indexes to these common tables. And it's like, I already did that. You can read my migration files and see that there are indexes in there. So I don't, it's kind of like Copilot, but I guess a little different.
Andy Hinkle (22:38)
Mm.
Dalton McCleery (23:03)
I've only used it for those few scenarios of like, analyze this, this sort of like workflow and tell me if there's anything wrong with it. There was another one, I used it for like invites. Like I want somebody to send an invite and be able to accept it either in the UI or via the email that's sent to them. And I was like, how can I make this as dry as possible? Cause I don't want to write two different accept and decline paths. So now I've got four different paths I've got to maintain, right? How do I make this dry?
Andy Hinkle (23:29)
Mm-hmm.
Dalton McCleery (23:33)
I did that and it was like, just send the link to the UI. I was like, yeah, okay, good point. I guess I was over-complicating it.
Andy Hinkle (23:40)
the link over. Yeah, sometimes
it's like you think too deeply on the one side or yeah, that's really interesting.
Dalton McCleery (23:46)
I was like, I want an accept and a decline in
the email. I want it to, you know, just do that, do the thing and then send them to wherever that invite is supposed to go. And Junie was like, yeah, don't do that. Just send them to the UI and write it once. I was like, okay, yeah, you got me. You got me. You got me.
Andy Hinkle (23:57)
being honest, yeah.
Love that. it's called the Smart Coding Agent in your IDE. So, reminds me a lot of cursor, kind of cursor and clod or something. Cause I do that with a lot with, cause I'm a VS code person, man. I do that a lot with clod, yeah, that's what. we have some chat, it has a chat feature now. You can chat to it, just like cursor. But anything like that of like,
Dalton McCleery (24:15)
That's where we disagree.
That's where we disagree. Okay, okay.
Andy Hinkle (24:26)
just concepts of how I'm going to get there. I've pulled into cloud and it's usually pretty good. Sometimes I'm just like, yeah, yeah, here's what I was thinking instead.
And it will provide me, you better results based on my further context. But overall, it's this Junie thing sounded pretty cool. And he was like all about it. He was talking to Taylor. He interviewed Taylor the other day, Taylor Outwell. And it's a good interview. Well, I watched the live version of it. don't know if he ended up like it's on YouTube, but I know if there's an edited version. it was really good. They talked about Junie and AI. Apparently everyone on the Laravel team uses AI every
Dalton McCleery (24:48)
saw that. I saw that.
Andy Hinkle (25:03)
day between cursor, Juni, like they're all subscribers to this. ⁓ it's, I just have co-pilot. It's like, maybe I should pick it up a bit and look at some of the, explore some of these other tools and see if it improves my workflow. yeah. And I saw Juni and I was like, it's only a PHP storm thing. but it's a, it's really, man. Jake's trying to get, boss Jake is trying to get me to, he kind of pokes at me every so often about my VS code. And, yeah, I think he, he would like me to switch to, I actually had a
Dalton McCleery (25:22)
You should switch.
Andy Hinkle (25:33)
He got me a PHP Storm license and I said, no, I don't need that thing. So yeah, I know it.
Dalton McCleery (25:39)
Are you the,
but like, are you the only one who uses VS code on your team? Or do everybody else use PHP still?
Andy Hinkle (25:44)
No, no, we got some well, maybe I
think everyone well they use like some people use cursor a lot of people actually use cursor now But mostly PHP storm. Yeah, but I think it's kind of a mix between cursor and PHP storm and then on the guy over on VS code So, you know, it's like the dude on sublime text, know, hey, you know still he's just just hold on to it I don't know. I just I got my theme. I know exactly all my shortcuts exactly where I need to go Yeah
Dalton McCleery (26:08)
I get it. I get it.
I get it. get it. I would not switch again. Like PHP storm has to die a fiery explosion for me to switch to the, to a different ID. I've got all the plugins that I like. I've even got that little Nyan cat.
⁓ rainbow progress bar. just makes me happy every time I'm like uploading stuff. I can't live without it. Okay. I can't, I can't do it.
Andy Hinkle (26:30)
That's great.
Yeah,
that's amazing. ⁓ I just, I don't know. I like, I like how I can fly through VS code. I think if I were to switch, hear me out, I might switch to Vim. ⁓ because I'm, I love keyboard shortcuts. I love keyboard shortcuts. It's just like I fly through it. It just makes it so easy.
Dalton McCleery (26:44)
Alright, well it's time for me to leave. Nope, I'm out.
You've been watching too much Primogen.
Andy Hinkle (26:54)
Jess Archer, I'm only like two or three episodes in. She has a course on Laircast on Vim about how she does her Vim setup. And it's really, it's phenomenal. It's really good. And it's it's slightly outdated. I think it was back in...
Dalton McCleery (27:06)
Hmm. All right, well, if Jess is using it.
Andy Hinkle (27:11)
2000, 2001 maybe, or 2020, or 2021. Back in 2000, back when Vim was invented. No, yeah, it's like five years old. Yeah, so I think, I might be wrong on that, but there's like little parts of it I can tell are slightly outdated, but it's really good. Yeah, so highly recommend checking out Lyricas, Jess Archer
Dalton McCleery (27:17)
The 2000s was pretty far back. Yeah, they were writing stuff by hand.
Well, I guess if Jess is using it, I might as well have.
Andy Hinkle (27:38)
It's it's quite the switch though just like the the idea of not being able to use your mouse some people like They shudder about it. I'm just like be kind of cool. You know how just like you're everything's in your terminal
Dalton McCleery (27:39)
She's great enough as it is.
Yeah, I've been trying, I've been trying
to lose, lose the mouse thing. Cause I am like that a hundred percent. I think I told you last time I installed that plugin and PHP storm that like promotes me to do stuff. So if I'm clicking around doing stuff, it's like, yeah, this is a shortcut. Just do this next time. Like I'm, I'm fine with that, but I don't know. Vim, Vim scares me. I've been a nano boy forever since college. I just, I can't, I can't, I've done it for like a decade. I've got a nano stuff. Fight me.
Andy Hinkle (28:04)
Mm-hmm.
You know, yeah. Ugh. Yeah. Painful.
Dalton McCleery (28:20)
or at me. Don't at me, I don't want to fight about them because I know you're wrong.
Andy Hinkle (28:21)
at
Hey, last show we talked about HTTP testing and ⁓ you mentioned you found something, right? So just to do a quick follow up, we talked about how it would be really cool when you're writing your test because you have to write the whole thing out. It'd be really cool just to kind of ⁓ either record that or like have something to save the result of that, like a fixture for your HTTP client result. And you said you found something like that, right?
Dalton McCleery (28:28)
Yeah.
it.
I found this package that essentially does that, right? It creates a fixture and replaces sensitive data with like, with faker, right? Just like, it says, you know, this name is a string. Let me change that to like fake company or, something like that. I was like, this is kind of what we were talking about and having a package that essentially reads your, you know, reads a real API response and then just changes it into fake data that you can use.
for your tests, because that's one of the hard things about faking a big HTTP response. Now you literally have to write all that. Or you just use Juni and AI and just say, hey, do this for me. haven't used this so keep, say what I say with a grain of salt.
Andy Hinkle (29:36)
Right.
this is really interesting so the name of the package is called girl gromatics that's the name of the guy who wrote it and HTTP fixtures so gromatics gromatics and like that yeah but it looks really neat so record your your ⁓
Dalton McCleery (29:41)
what I do.
I think.
Andy Hinkle (30:00)
Result of that and I apologize for the background noise It is bombshell of a storm going through here. So I don't know what's happened up, but it's I hear hail hitting the window So it's wild. Yeah, it's like little it's like little pea-sized hail. Yeah We live about an hour away from each other. So that's southern Indiana weather for you but
Dalton McCleery (30:07)
really?
Really? Okay, I mean it's bright here.
I was gonna say, it's weird
that it's hit you and it hasn't hit me. Like, it's been sunshine all day, so normally it hits me and then moves to you.
Andy Hinkle (30:27)
This is like our third storm today. It's weird. Yeah. So yeah, this is really fascinating. ⁓ I'll have to check this out, see how well it works.
Dalton McCleery (30:34)
Yeah. ⁓
Yeah, I thought it was really interesting. If I'm testing an API, you know, I'll, I'll typically DD out a response, copy that, put it in my test, comment that out. And then co-pilot was, is usually pretty great. Like, you, you're wanting to mock this. So they'll write out a whole response for me I can just change what I want to a fake, or I could just tell it to say, change all this stuff to fakers.
And it does that for me. So I don't know how great the package is, but I saw that we were talking about making a package that does this. And this is the one that I had found that does do it. There's always a package. It looked nice. It looked really nice. So shout out, shout out Gromath.
Andy Hinkle (31:01)
Mm-hmm.
It's always a package out there. Yeah, that's really cool.
The only thing,
yeah, it looks really cool. The only thing I wish it would do is you punch in an artisan command and it just listens. Like this one, looks like you still have to do the work. Like you have to write, you have to, it looks like you have to write some code and then once you run the code the first time, it'll make a fixture.
Dalton McCleery (31:27)
Yeah, I think so.
And I assume that's what normal, like when I was writing symphony stuff, that's what you had to do is you had to essentially create a fixture first and then seed it with the data. So, I don't know. It's cool. but, but AI is going to take that over. So don't get too attached. Man, this podcast is all about doing this today.
Andy Hinkle (31:41)
Mm, yeah.
Yeah, cool. Yeah, looks really good.
So, I don't know,
just doom AI, the AI's taking our jobs, et cetera, et cetera.
Dalton McCleery (32:00)
Doom the Dark Ages. Not the video game, the fact that it's taking over the programming industry.
Andy Hinkle (32:06)
And it's really, mean, like I was saying earlier, in our lifetime, that's what makes me kind of take a, just kind of take a step back. We'll be fine. I feel like it won't be ready in our lifetime, but the next generation, it's going to be a whole different software. is going to be completely different. So.
Dalton McCleery (32:20)
Sorry, sorry guys. We ruined it. Well, we didn't ruin it.
Andy Hinkle (32:25)
We pretty much, our generation came up with all this stuff, right? Yeah, yeah.
Dalton McCleery (32:28)
Hey, ⁓ wait, are we the baddies now? That's
that meme. Okay, yeah, I guess that boomer comment makes more sense instead of elder millennial. right,
Andy Hinkle (32:40)
Yeah, so
I've been working on this application and the setup is ⁓ we have users. Users can have one or many warranties they can register on their products that they receive. can register on this application then register the warranty for said product. So they can have a limited warranty. Well, I mean, with Inktrait we will validate each serial number, right? So, but we have in this production database about three million or so records of like between ⁓ users warranties.
And
so they switch providers about who, like, just sending the contacts up to a third party. And what that third party will does, it'll send them like promotions, like up sales on their product warranty. So when they sign up, it'll like this checkbox, like, do you want to sign up? Notifications for months, whatever. So check it, and then goes to them. So we migrated over...
on the existing platform, we migrated some of them over. So I would say at this point, three million records, sending that we need to send off to this API, that of like, here's these customers, and here's their warranties they're signed up for. We wanna send them information about said product, ⁓ and give them upsells, like accessories, stuff like that.
currently, want to kind of get your take of how you would go about this, but we switched providers and the idea is when they register a warranty, we want to notify the provider. They have a REST API, so we sent it over. Here's the catch, they only allow 10 requests a minute. Yeah, you heard that right, 10.
It's such a random it's the load that I've emailed support about there's like it's a technical limitation It is very like support level. I was like tid like so anyway, we're stuck at 10 and so
Dalton McCleery (34:23)
What?
Yeah. Upgrade your server, guys. For real.
Andy Hinkle (34:40)
Yeah, it's super frustrating because you do the math here. We're going to be doing this for next two months just trying to get them in sync. So if we are sending, there's people actually in this application real time updating. So we need to send that off as well. So not only will we already backed up, we're continuing to add to it. So luckily we don't get more than that a minute. We know that many registries. So how would you do that?
So I came up with the solution, it gets worse. but I did can't. I know. So first, if you had to deal with this terrible thing, how would you start with it?
Dalton McCleery (35:07)
okay.
How does the game work?
Okay, okay.
Quit. Just quit.
Andy Hinkle (35:27)
Well, to be fair, this is actually for my old employer. I'm helping them out because they don't know what to do. So to be clear.
Dalton McCleery (35:36)
so
you already did that step. You're asking for the next step. Mmm. Shit. Okay.
Andy Hinkle (35:39)
Yeah, I already quit. I I quit moving on. ⁓ No, I didn't. Yeah,
they came to me after the fact that they had this come up and say, hey, can you help with this? And I've been helping them just, you know, my free time. So, yeah.
Dalton McCleery (35:48)
Hmm.
Is okay. So I've got a couple other questions. I assume you might've asked them or you might not have. Have you asked is the 10 per minute limited based on the API key that you have? Like, like is your account is, is, is the 10 per minute locked to the account or like an API key? Cause at that point I would make multiple API keys, essentially one API key for whatever, however many clients you have.
Andy Hinkle (36:05)
⁓ I did not.
That's a really good point.
Dalton McCleery (36:20)
because we do something similar at the gig that I work. We use a service called RDN. It's like a recovery database. And each organization has their own API key.
Andy Hinkle (36:21)
Yeah.
that I have not gone through that. That's a really good idea. I'll to check that out. think it, unfortunately I'm I think I would presume like thinking about it would be by account, but you might be right. It might be pair API keys. So I'll have to check that out. That's a really smart idea. That'll relieve a lot. Create like 40 API keys.
Dalton McCleery (36:43)
That might be nice.
At that point, you only need as much to catch up. And then once you've caught up, you don't really need all those API keys anymore.
Andy Hinkle (36:50)
That's the other thing, like...
If you had 40 API keys, for example, how would even Laravel keep up with that? I guess you would use some crazy caching logic to like, all right, we're on this key for, all right, we've used the 10.
Dalton McCleery (37:07)
It just...
Yeah, I mean, yeah, you could do some like jobs and locking and sort of, guess, cash lock those API keys. ⁓ is that, is that where it gets worse? no.
Andy Hinkle (37:13)
Well, that's the next thing that's got into a nightmare. Yeah.
Yeah, it gets worse.
yeah, all right.
I ended up talking to a Laravel guy and he was actually I can't remember his name so apologize, but he had mentioned like he would do the job batching thing like genius idea and Just do like basically what that would be is it's a batch job, but inside each job you would set the start time
Dalton McCleery (37:33)
Mm-hmm.
Andy Hinkle (37:42)
To be within the constraints of the API limits and so and also be kind of Kind of be loose about it because you still want to allow some You want to allow some love the real-time API and so but the the way that it's done is You set a specific Q name
Dalton McCleery (37:50)
Okay.
Hmm.
Andy Hinkle (38:02)
and you would count how many are on that queue and then you would add 10 seconds or a minute to it or something. If it's already at like 600, you would add like, schedule to send the ad, add it after so much time. So it's like, this is genius. I love the code. It was easy to test. It was all great. Go to push it to
Dalton McCleery (38:08)
Hmm.
Interesting. Yeah.
Andy Hinkle (38:21)
It's on AWS, which is on Laravel Vapor. So if you know where I'm going here. ⁓ Okay, hot take. Laravel Vapor on queues, it could be improved. ⁓ It's it's hard. I understand that they're in the constraints of AWS. They can't really escape that.
Dalton McCleery (38:24)
⁓ that's.
Now I
Andy Hinkle (38:44)
But the problem is you cannot schedule a job any further than 15 minutes later from now. Mia mentioned this a little bit about this on the show before about some issues with queues on Vapor. But you can't schedule ⁓ anything further than now. there's a lot of, there's some other thing too that was kind of tricky to it. anyway, you can't, it was the size.
the queue size itself, like the serialization. You can't have massive objects going to be serialized. So even if you significantly improve the space, there are some little gotchas in there you have to be careful about. But anyway, the main thing is I need to schedule this job to run tomorrow. It's a pretty basic thing in Laravel. ⁓ You would run your scheduler to do it. And so you would just...
Dalton McCleery (39:12)
⁓ right, right, right.
Andy Hinkle (39:39)
You could run it that way too, set your schedule and do it tomorrow. But I'm talking like you, you're an observer, like you have all these jobs stacking up that said, oh, I got a lot about to send off to this platform. Instead of sending it right now, I want to send it to the next hour or something. Give it a little bit of time for grace period for the API token, whatever. So, not, can't do that. So, I ended up doing this super hacky thing. just, it broke my heart in some ways because I was like, I was super excited about this code. It felt good. It was, everything was about it.
Now I'm doing this super hacky thing in this artisan command. I have a cache key in this artisan command and basically I chunk so many per minute. And so I'll do five a minute and it'll chunk and then it'll save the key of where it's currently in position. And it's in the schedule of a run every minute. And it's like, ugh, just painful. But that's how I end up doing it. it's probably gonna be running for three months.
Dalton McCleery (40:33)
Hmm.
Andy Hinkle (40:36)
And then the other thing at Vapor, it's impossible to, you can't go in an artist and console and go look up a cache key. I have to go into AWS, go look up the, whatever the cache thing is over in AWS. I got to think about this more, because it was just like, a whole, I had a holiday weekend, so I didn't touch a computer for all weekends. I had a long time to just kind of stew on it. I was like, want to do this differently, whatever. And I kind of wonder if I switched it to the database driver, if it would have been any different.
Dalton McCleery (40:45)
Yeah. Yeah.
Andy Hinkle (41:05)
Even though I don't get the goodness of AWS, I wonder if I switch it to the, temporarily to the database driver to use queues. It's like, I wonder if they would even, I don't even know if that works. I don't even know if that's possible with AWS, but anyway, that was my fun with that. So it's probably gonna run for another three months. And I check on the cache key occasionally.
Dalton McCleery (41:06)
Hmm.
Yeah, just for that, like just that channel maybe.
Yeah, I don't know.
Andy Hinkle (41:34)
10 a minute man, it's rough.
Dalton McCleery (41:38)
Yeah, just don't do it. Just comment off the code and say you can't do it. It's impossible. You're kind of screwed from both angles here. AWS is not very happy with you and this service doesn't sound like it's very happy with you. Does it matter how many, well you said that there might be a size constraint on the queue. Does it, like if you spin up, I don't know, three extra queue channels.
Andy Hinkle (41:41)
This is...
Mm-hmm, yeah.
Dalton McCleery (42:01)
Right? And then you just say you have an API key for each of those Q channels and this, this Q gets to run for 10 minutes. This Q runs for 10 minutes and this Q runs for 10 minutes. Once that's done, get the next batch. Is that possible? Now, now can you do that like 10 times? Right? Cause if you're going to be running a million records, you're probably going to want like 10, 10 different like Qs or 10 different API keys at least.
Andy Hinkle (42:16)
Theoretically, yeah, you could do yeah, you could do that. I'm gonna look into that now. You got me really thinking on
I
Yeah.
I probably
in that case I would still run it. I would probably just increase the amount and just do like 10 pair key per minute, you know. Or I'd do 100 pair key. So if 10 keys I would just do like 100 or probably do less than that because you also have the ones that are live going into it. So it's a mess.
Dalton McCleery (42:49)
Right. Hmm.
Does this service, does it have an API endpoint to get a new API key? I've seen some services do that. Because what you could do is you do 10, you say, hey, give me new API key, do 10, release the key, and then just do that in batches.
Andy Hinkle (42:57)
Oh, I have to look into that one. For every key. Just roll again.
Totally not getting around the constraints, right? About why you would even want, yeah. I wouldn't doubt it though, mean, if they would have something like that, I wouldn't put it past them just because of the limitation of 10. Like that's so low.
Dalton McCleery (43:12)
They're gonna call you up.
That'd be pretty sweet.
Yeah that's stupid.
Upgrade your server bro. For real. Like if that's a server limitation you need a bigger server.
Andy Hinkle (43:28)
Yeah, it's tricky. hopefully I'll check on it in a couple months. Well, I mean, I check on just every week or so. Just like, it's only at, yeah, I forgot what I was looking at. I think it was just barely over like 30,000 or something. It wasn't that much, but it was just the other day. So it's like, it's just gonna take months, but it's all right. We'll get there.
Dalton McCleery (43:31)
Like 10 a second, sure.
Yeah, alright, so by the end of the year we want a status update of where you're at percentage wise. Are you at 90 % done through your queue or have you actually finished? That's wild.
Andy Hinkle (44:02)
Gotta love cues. ⁓
Dalton McCleery (44:04)
They're great except
for when ⁓ both ends just try to screw you over. Cues are great though. Yeah, fight me on that. symphony dubs. No hate, sorry.
Andy Hinkle (44:15)
So have you seen Native
PHP?
Dalton McCleery (44:19)
Yeah, I have. I've seen it. I've seen it. Listen, it looks, it looks great. Like from an outside standpoint, the fact that I could build. Yeah. Yeah. It's awesome. Like kudos. That's great. I don't know if I have ever found a use case for it. Like I just, can't, there might be some, some instances where like, I want to build.
Andy Hinkle (44:22)
That was a yeah, yeah, okay.
It's impressive, right?
Dalton McCleery (44:46)
my own home automation app that only runs on my phone. I can't do everything with Apple HomeKit and Govi. I want to build my own app that does specific things. I would do that and only release it to my phone. But I don't know how you do that globally. How do you get actual users on a Larvel ⁓ native PHP app and have it be scalable?
Andy Hinkle (45:04)
What about, yeah.
Dalton McCleery (45:15)
That's my main concern. were you going to say?
Andy Hinkle (45:16)
Right. I can kind of
see the need for it, but so the need could be of the exact same application I was just talking about. There's an iOS app that pairs with it. You can just go on your phone and set up on website, go on an app and to do your warranty. it's frustrating from a developer standpoint, because it's powered through an API. And we also have the same front end, which doesn't even use the API because it's using like inertia you know, so.
I end up having to duplicate this logic. And the way that me and you have paired on that quite a bit, the way that we do it, it'll come in and it'll decide at which, if it's an API or not, and then it'll handle it accordingly. So it's really hacky kind of, you know, parts, but we, was like an API after the fact kind of deal.
Dalton McCleery (45:51)
Yeah. Yeah. Yeah.
Mm-hmm.
Andy Hinkle (45:59)
Even
then it's like, just know from Apple, they're really picky about what they want. They don't want your website in our store. I feel like a lot of Laravel developers, that's where they're getting it wrong because they're like, we can just make our application onto the thing. And you just gotta be really careful with that because Apple is like, I've dealt with, personally I've dealt with Apple, like shooting something back for being super nitpicky about something.
Dalton McCleery (46:04)
fairy.
Andy Hinkle (46:23)
My case it was like they they just don't like Google. They don't want references about like Android or something like they're they're really specific about ⁓ How they want their stuff and they make it very clear and their rules out of a rhythm after I dealt that But they don't want your website home there so anyway ⁓ they yeah, so
Dalton McCleery (46:29)
Wow.
Andy Hinkle (46:43)
If you want to kind of reuse components, I can kind of see that, but you have to be kind of tasteful with like how it looks. You don't want it to look like your website, your mobile version of people just go to the website. So, but there is some need. I can see some need to it. In my case, like I had to write an API or, you know, we had to write an API together. It would be, that would have been nice not having to do that and just using your typical controllers and not having to deal with the the API response. ⁓ So, but the flip side is of that.
And I just, I, you know, I don't want to be like distasteful because it is a very impressive project, but expo, if you know, react, you'll pick up on expo and react native so fast. It's super easy instead of div it's, ⁓ instead of the, you know, open tag div it's open tag view everything in, in, and there's a flex box. It's super easy. Like once you get that down and some basic, ⁓ some basic rules you'll fly through.
Dalton McCleery (47:18)
very.
Andy Hinkle (47:41)
creating that and honestly just use AI. I that's the other thing too. I didn't use AI for this back then but if I did it again I would probably lean on it a bit more. But expo and React Native is just so darn good. It's like even in expo now they have this thing called EAS which is like basically once you tag a version on GitHub it will automatically take your changelog and format it and make it look really good and send that up to the app store for review.
Dalton McCleery (47:48)
Well yeah, yeah,
Andy Hinkle (48:10)
Right now it's it's a manual process for me. have to like build the entire application, export it, upload it like to Android. And for Apple, they have their own Xcode interface, which is atrocious by the way. And so instead of doing that, instead of doing the Xcode interface, you just tag a release on GitHub and they take the wheel. And it's like, you don't have to even think about it. So, but that's all that. So Expo has the, I forget who owns Expo.
but that's how they make money is using this EAS stuff. think it's actually just explicitly Expo. Who owns Expo? Expo is owned by Expo. I think they're own... ⁓ Expo... Indus? Yeah, yeah, yeah. They're their own company, so that's cool. But yeah, their Expo app services, that EAS, ⁓ it's really cool. ⁓ Like that just sounds...
Dalton McCleery (48:50)
Good for them.
Okay, good for them.
Andy Hinkle (49:07)
Like, that would be so relieving, because each time, each release takes me a good 30 minutes after I write up a changelog. That's the other thing. Apple, if you don't write a good changelog, or if you just leave it basic, they'll like, you need to provide some notes. I've never been rejected of that, but I was reading some people got some really careful about, I try to not find reasons to get rejected, because you have to go through the whole process to get in it. And sometimes it takes a good two days for them to review and approve your app. So instead of just going live with your update, you have to wait two days.
Dalton McCleery (49:14)
all i've heard of this
heard of this.
Andy Hinkle (49:37)
⁓ Man ⁓ the other thing about last thing on ⁓ well, I mean, I should get something but last thing on Native PHP one thing I love about react native and specifically expo is if you have a small Bug fix or something small changing need to change with the JavaScript bundle You can push updates through their expo EAS program ⁓ and that will go basically when somebody ⁓
somebody downloads your app, it'll try to look, it'll ping their EAS service and say, hey, is there a new bundle available for this? And it'll bring in that new JavaScript update. So that way you don't have to go through the whole app store process if you're making a minor change, like maybe a typo or like a little thing. Obviously, if you're including new features, ⁓ Apple will get really fussy ⁓ with that. But for like little stuff, you can make minor change. So that way you don't have to go through a whole approval process. So native PHP, they may have to...
Dalton McCleery (50:18)
good. Yeah.
Andy Hinkle (50:33)
infant thrown me a little bit because I know from a developer standpoint, that was a watching React Native like ⁓ when they introduced that, the scene, the developer reaction were like, this is, mean, I've experienced myself, but this is game changing, you know, so, ⁓ and there's, it's just a big community, React Native, big community, GasBuddy on there. I mean, there's just like, that's just the first application because,
Dalton McCleery (50:48)
Yeah, yeah.
Andy Hinkle (50:57)
Infinite Red, React Native Radio is their podcast. Great show if you're getting into mobile development. Yeah, great, yeah, good. Infinite Red. So they actually were the ones who kind of helped with the Gas Buddy app and it's all in React Native, but I learned, like that's where I was a bit in my app, I was like listening to all their shows, just getting a little like things that bug them or things that they like, so yeah, it was cool. Man, just, that totally transformed from.
Dalton McCleery (50:58)
infinite rip.
That's a cool name. I like that.
Okay, okay. Yeah, I just.
Andy Hinkle (51:25)
native PHP to like how much I love React Native, but.
Dalton McCleery (51:28)
think that's the great takeaways that, and I think one of the reasons why I added this topic is like, native PHP is awesome. Like the fact that this is a thing that you can do is unreal. Like there's no way in hell that I would have been able to do this. I'd have pulled my hair out years ago and not finished something like this. So it's awesome. I just, don't, cause they have their own like, they have their own licensing too, right? Like you have to buy.
Andy Hinkle (51:32)
It's just so good.
for the development of it? Yeah.
Dalton McCleery (51:59)
Yeah, you have to, yeah,
you have to buy a license to, to like have them release production apps. And like, it's cool if you only want to be a Larva developer and make mobile apps or desktop apps, cause they do both. I just, it just, seems, seems weird. It's awesome. No, no, no shade. It's awesome. Like very impressive. I just don't know why you wouldn't do everything that everybody else does. It's like.
Andy Hinkle (52:03)
Yeah.
Maybe, yeah.
There's definitely a...
Dalton McCleery (52:27)
Let me build a mobile app in Svelte instead of React because I like Svelte more. I could get it. Nope. More power to you. Like if you could do that, awesome. But if all of the support and all of the other apps are built this way, that's probably a sign that it works really well that way. But I don't know. I haven't built a mobile app with native PHP. I've messed around with their desktop stuff a year or so ago and it was cool.
Andy Hinkle (52:34)
Yeah.
Yeah.
Dalton McCleery (52:57)
It's awesome. don't know what I would do if I put that into production and had real users using it. You know what mean? I think it would be great for myself. I would buy this for myself as a developer building my own stuff. That's what I would use.
Andy Hinkle (53:04)
Mm-hmm. Yeah, it's.
I will say, yeah,
I will say that there is definitely a market for it. There definitely is like for native PHP. I, and, and if they can, I feel like if they can do it right, I feel like in three years from now, this might be a different conversation. ⁓ but I feel like if they can win, if they can get this right, it'll be really good. But, ⁓ that they, they're just like, they have a lot of room to go to.
Dalton McCleery (53:20)
yeah, clearly. They making money too.
Agreed. Agreed.
Andy Hinkle (53:40)
It's not catch up with the big dogs. You could definitely be your own thing, ⁓ but it just has to be has to be robust enough I mean when I first saw it and like there's no way Apple's gonna prove this and they did I was shocked I was like, it's like what they so I was like they shipped a PHP binary and they're good with it. All right. Yeah
Dalton McCleery (53:49)
No, me too. Yeah, very.
Yeah, that's
the other thing is that with this type of development, Apple could just like change one line in its policy and then you'd be screwed. 100 % screwed. So, I don't know. It's great. We will watch with great interest. I think that's the Star Wars meme, right? We will watch your career with great interest. Let's see, we'll pick it back up later.
Andy Hinkle (54:04)
It's been known, they've been known to do that. Yeah. We'll see. We'll see what comes out. Yeah.
I we'll
definitely hear about it at Lyricon and more in the future. It's not going away and I am excited about it. I feel like for it to be production ready, feel like it still has a bit of room to actually get there.
Dalton McCleery (54:35)
I have the same feelings about Laravel Cloud as I do native PHP. They are the exact same feeling. It's great. You did.
Andy Hinkle (54:40)
Yeah, got some feedback on there about cloud.
Yeah, Jason Megs reached out and he said to put the, speaking of like database drivers in Qt, but he said that you could put the Q driver, sorry, the cache driver as database. And he's like, it's not practical, but it'll work. He's like, even Taylor does that sometimes. like, oh, that's a good idea. So if you wanted to save some money and run on a $10 budget or something.
or I guess $20 budget, low end, not having a cash server, could put your on-line cloud, because their cash starts at like what, six bucks a month or something like that, you could change that over to database driver, so easy peasy. I don't know, so there's a ways to go.
Dalton McCleery (55:21)
Just
get Forge. I know we're getting close, like Larval or Larricon, I heard the big Forge announcement. That has got me wicked excited. That's probably the thing that I'm most excited. I'm probably more excited about that than I am Nightwatch.
Andy Hinkle (55:30)
I'm really excited about it.
Hmm, hot take. I'm really excited. Yeah, but all the great stuff moving from Laravel. Cool. You want to talk to close this up?
Dalton McCleery (55:41)
I'm excited.
Yeah, yeah, yeah. So again, thank you all very much. If you've listened this far, we love you. appreciate you reach out. Say, say what's up. Chris from Andy's team. Hit me up. I want to talk about sleep token. Um, yeah, you know where to find us. There's probably show notes and links. You can hit us up, follow us around and we will talk to you in about another month.
Andy Hinkle (56:07)
See you guys.
