We Didn't Have JSON In My Day

November 30, 2023

Ian & Aaron return after a mini break to talk about Aaron's new twin babies, Ian's MySQL 8 upgrade woes, the origin story of Eloquent, and a lot more. Sponsored by LaraJobs & Screencasting.com. Sent questions or feedback to mostlytechnicalpodcast@gmail.com

Transcript

Ian
00:00:01 – 00:00:02
Welcome back.
Aaron
00:00:03 – 00:00:04
How do I look? Well rested?
Ian
00:00:05 – 00:00:13
You actually look pretty good. I mean, this whole thing is crazy. You just had babies. It's 10 o'clock at night where I am. We normally record at 9 AM.
Ian
00:00:13 – 00:00:15
We're we're all messed up here. But,
Ian
00:00:15 – 00:00:15
Yeah.
Aaron
00:00:15 – 00:00:19
This is gonna be a wild ride, so y'all buckle up.
Ian
00:00:19 – 00:00:24
Definitely. Oh, man. Alright. Well, I mean, we gotta hear about these babies.
Aaron
00:00:24 – 00:00:24
Yeah.
Ian
00:00:24 – 00:00:25
Give us the scoop.
Aaron
00:00:26 – 00:00:27
Great. They're freaking awesome.
Ian
00:00:28 – 00:00:28
Awesome.
Aaron
00:00:28 – 00:00:29
Yeah. So we,
Ian
00:00:29 – 00:00:30
love to hear.
Aaron
00:00:30 – 00:00:43
We had them 1 week ago today, so we have 27 day old babies in the house, if you can believe that. That is just not that's not very many days. So they're great. They're healthy. Everybody's happy.
Aaron
00:00:44 – 00:01:06
Their names are Isaac in Virginia, so boy and a girl. And Isaac was, like, £5 something, which for the non parents is pretty small, but he's already gaining weight, so that's great. He's healthy and happy. Virginia was huge. She was, like, £7, 10 ounces, like, a full £2 bigger than that.
Ian
00:01:06 – 00:01:07
So that's really unusual
Aaron
00:01:07 – 00:01:12
with this food. It really is. She actually said
Ian
00:01:12 – 00:01:13
out of the way.
Aaron
00:01:13 – 00:01:25
I yeah. She ate all his food. She spent, weirdly, she spent one night in the NICU, and he was just, like he was fine. He was just chilling. But she had, like, a bunch of fluid in her lungs.
Aaron
00:01:25 – 00:01:36
And so they they she'd spent a night on a CPAP machine, and then that was it. It was like, I was freaking out, man, because they're like, oh, we gotta take her down to the NICU. And I was like, what does this mean? And they just put a CPAP on her,
Ian
00:01:36 – 00:01:37
and the next
Aaron
00:01:37 – 00:01:50
the next morning, they brought her up, and we're like, she's fine now. Like, well, that was brutal. But, yeah, beyond that, you know, it's great. We came home on Saturday, and so we've been home for Sunday, Monday, Tuesday, Wednesday. This is our 4th day home.
Ian
00:01:51 – 00:01:51
Wow.
Aaron
00:01:52 – 00:01:58
It's crazy, man. It's just it's crazy. It's a lot of
Ian
00:01:58 – 00:02:02
kids. It's it's a lot of have you ventured out into the world yet?
Aaron
00:02:02 – 00:02:08
Yeah. So I've ventured out I've ventured out a couple so we haven't ventured out
Ian
00:02:08 – 00:02:11
all 4 Yeah. That's what I mean. All the kids.
Aaron
00:02:12 – 00:02:23
We've only we've only yesterday, we went on a walk, all 4 and and our au pair, Jasmine, and it felt like it felt like my in law we took a picture
Ian
00:02:23 – 00:02:23
of my
Aaron
00:02:23 – 00:02:29
in laws, and it looks like a parade, and I said I would have accepted a circus as well because that's what it that's what it feels like around here.
Ian
00:02:29 – 00:02:31
7 people. That's what I'm talking about there.
Aaron
00:02:32 – 00:02:36
People. Yes. A lot of people. So many people. Yeah.
Aaron
00:02:37 – 00:02:55
So it's been great. I mean, the the newborns are, like, I told Jennifer, I told my wife, like, what were we having such a hard time with the first time around? Because when the kids go to school Yeah. When the kids go to, like, the big kids go to school, they're 2 and a half. They're not very big.
Aaron
00:02:55 – 00:03:08
When the big kids go to school, air quotes, we just, like we feed some babies, and then we put them back on their little their little boppy things, their little beds, you know, all snugged up in their little wraps.
Ian
00:03:08 – 00:03:09
Swaddle them and
Aaron
00:03:09 – 00:03:28
Yeah. And they fully sleep for, like, 2, 2 and a half hours until it's until it's time to eat again. And so, literally, I'm, like, I'm watching grand designs. I'm tinkering on, you know, my website, writing blog posts, and, like, Jennifer's napping. It's like, what was so hard about this?
Aaron
00:03:28 – 00:03:28
But
Ian
00:03:28 – 00:03:40
I do yeah. Just knowing I I think the second kid and beyond is so much easier just at least in the sense of, like, you just know everything. Like, you know what you're supposed to do. So there's, like, no overhead of, like, how do we do this thing? Or we're scared about this.
Ian
00:03:40 – 00:03:47
Like, whatever. You know the steps. And even if you're tired or whatever else, like, there's not all the those questions at this point.
Aaron
00:03:47 – 00:03:51
Yes. There's very there's so much less, like, are they dying right now?
Ian
00:03:51 – 00:03:53
Right. Is that way less?
Aaron
00:03:53 – 00:03:55
That's what I said before. They just kinda lay there.
Ian
00:03:55 – 00:03:59
They're super tough. They're falling, like tough. Yeah.
Aaron
00:04:00 – 00:04:19
And these 2 so our first set, boy, girl, Simon and Amelia, came out of the womb. Amelia was like, I'm in charge, and Simon was like, that's fine. You do that. I don't care. With these 2, they're both super chill so far, and we'll see, you know, we'll see if it holds.
Aaron
00:04:19 – 00:04:31
Like, they haven't even reached their, you know, full, like, 40 weeks yet because I think they came out at, like, 38 weeks or something. So they're still kinda just, like, you know, incubating. They're still sleepy. Right. Right.
Aaron
00:04:31 – 00:04:39
But out of the womb, Amelia was like, I run the house, and these 2 are just totally different. So, hopefully, we got 2 chill babies. We'll see.
Ian
00:04:39 – 00:04:40
Wow. Yeah. That'd be great.
Aaron
00:04:41 – 00:04:44
That'd be great. Could use a couple chill babies, man.
Ian
00:04:44 – 00:04:53
Nothing better than a chill baby. I never had a full chill baby. I had, like, a half a a chill baby out of the 3, but no full chill babies. So we we have one for you.
Aaron
00:04:53 – 00:05:00
You know, we just we didn't get to savor it because he came out with a non chill baby next to him. So yeah.
Ian
00:05:01 – 00:05:06
How's the the all the assistants and au pairs and my nurses and
Aaron
00:05:06 – 00:05:06
We got a
Ian
00:05:06 – 00:05:07
we got
Aaron
00:05:07 – 00:05:19
a full Downton Abbey staff over here. It's crazy. Yeah. It's great. I mean, we like I said before, we lucked out with our au pair in that she's just, like, the best au pair that has ever existed.
Ian
00:05:19 – 00:05:20
That's awesome. Yeah.
Aaron
00:05:21 – 00:05:48
It has continued to be. You know, when we were in the hospital, the big kids went to my in law's house for, like, 5 or 6 days, and Theo pair, stayed here, like, slept at our house still, but went over there every day, to do her hours over there. And our in laws were afterwards were like, hey. So, can we just keep Jasmine full time? Like, can can we hire her?
Aaron
00:05:48 – 00:06:02
And I was like, I know. That's what I'm talking about. Yeah. So that was that was great, and she just, you know, she's very, very good with the kids and flexible now that we have new kids. She's like, she's just the best.
Aaron
00:06:02 – 00:06:07
And then, you know, the night nurse. So we have a night nurse every night for 2 weeks straight.
Ian
00:06:08 – 00:06:08
So smart.
Aaron
00:06:08 – 00:06:23
And so I am I am sleeping through the night, like, fully, which I know is crazy. And Jennifer is sleeping through the night save for, you know, the 30 or 45 minutes when she's feeding 1 of the twins.
Ian
00:06:23 – 00:06:23
Mhmm.
Aaron
00:06:23 – 00:06:46
So the night nurse comes in, brings 1 of the twins, Jennifer feeds that twin, and the night nurse feeds the other twin. And then 3 hours later, she brings in, you know, they alternate. So it's great. Feel, you know, super rested. I'm, you know, I'm glad I'm on paternity leave because I'm doing a lot more with the big kids.
Aaron
00:06:46 – 00:06:59
Like, I'm I'm getting them up out of bed, ready for breakfast, off to school, you know, ready for dinner, baths, put them to bed, and Jennifer's popping in to say hello. But, you know
Ian
00:06:59 – 00:07:01
Yeah. It's a full full team effort though.
Aaron
00:07:01 – 00:07:13
Change, yeah, it'll change when the night nurse goes down to, like, every other night, and that's gonna be a lot more tiring. But for now, it's it's really great. The hard part is the bigger kids.
Ian
00:07:14 – 00:07:21
Yeah. Oh, for sure. I think so in some ways. Because they they're just always need stuff and, like, the little ones are little whatever. They're still little.
Ian
00:07:21 – 00:07:26
The the the bigger ones are running around and doing things, and they gotta be places and, like, and all that stuff.
Aaron
00:07:26 – 00:07:28
A lot of feelings about, you know.
Ian
00:07:28 – 00:07:29
Right. Oh, yeah. I thought that was.
Aaron
00:07:29 – 00:07:44
Easy slash mom being in the back with the little babies. It's okay. I think it's going okay. I think the headstrong girl, Emilia, is having she's having a little bit harder time and is acting out a little bit.
Ian
00:07:45 – 00:07:45
Yeah.
Aaron
00:07:45 – 00:08:14
And that's been real that's been really hard for me because our little son is just so, like, sweet and shy and, you know, kind, and she kinda, like, pushes him around. And so there's been a little bit of acting out, and I'm like, oh, gosh. Like, this is really difficult. So that that part has been, you know, and the brunt of that is falling on me solo right now. Well, I guess me and Jasmine, but, you know, Jennifer's primarily caring for the little ones, and I'm primarily caring for the big ones.
Aaron
00:08:14 – 00:08:15
And so
Ian
00:08:15 – 00:08:16
Yeah.
Aaron
00:08:16 – 00:08:18
Yeah. I mean, that whole dynamic of, like,
Ian
00:08:19 – 00:08:19
yeah,
Aaron
00:08:19 – 00:08:25
there are new babies, and I'm not the baby anymore. Fortunately, they were never the solo baby. You know, they were always a twin.
Ian
00:08:25 – 00:08:29
Right. So it's like, I always had to compete for some intentions. Yeah. Yeah. Right.
Ian
00:08:29 – 00:08:30
Yeah.
Aaron
00:08:31 – 00:08:39
But it's good. I think, you know, one of the I did take the big kids to Barnes and Noble the other day, which is like a staple because they've got a little kid's
Ian
00:08:40 – 00:08:40
corner. Yeah.
Aaron
00:08:40 – 00:09:03
And I drove the minivan, and the minivan is now set up to hold all 4 children. And I took a picture, and it's, like, 2 car seats in the middle, 2 car seats in the very back with the big kids in the very back. And now my 4 runners got car seats for the little ones, and Jasmine's VW has car seats for the big ones. And it's just like, what are we doing? What is
Ian
00:09:03 – 00:09:04
going on
Aaron
00:09:04 – 00:09:05
here? This is insane.
Ian
00:09:06 – 00:09:08
Yeah. That's that's pretty insane. That's what you're right at
Aaron
00:09:08 – 00:09:09
the moment. You
Ian
00:09:10 – 00:09:22
I mean, we were always at the capacity for the real world. We always feel like as 5 kit, like, nothing, you know, you can't get a booth at a restaurant. You can't, like, whatever. You're trying to, like, be on an airplane, but, like, it's only got 4 across. And then what do you do with a 5th person?
Ian
00:09:22 – 00:09:32
Like, you know, whatever. There's all spots where 5 is too many. But you're now at the point where, like, you're like, even cars are gonna stop fitting. Like, you're just gonna be way you have Yes. Yeah.
Ian
00:09:32 – 00:09:37
If you go more than this, forget it. Like, it's gonna be insane. You're gonna have to have a compound and just never leave.
Aaron
00:09:37 – 00:09:37
No way.
Ian
00:09:38 – 00:09:39
Go anymore. That's it.
Aaron
00:09:39 – 00:09:40
No way. We're not
Ian
00:09:40 – 00:09:41
we're not
Aaron
00:09:41 – 00:09:45
we we blew we blew past the reasonable line, and we're just Right. We're just at the
Ian
00:09:45 – 00:09:45
top of the line.
Aaron
00:09:45 – 00:09:49
There. Trust trust me. We're not we're not doing good. For 6?
Ian
00:09:49 – 00:09:50
Are we gonna go for 6?
Aaron
00:09:50 – 00:10:03
No. I would there's, like, a let's see. There's Jennifer would kill me, but there's, like, a if I could guarantee it would be another set of twins, I'm, like, 30% on board.
Ian
00:10:04 – 00:10:05
Just for the
Aaron
00:10:05 – 00:10:15
But if it was a sing if it was a singleton, just for the story, man. The story is great. 10, 0%. 0%. Because I don't want any more kids.
Aaron
00:10:15 – 00:10:21
I love a good story. I don't want any more kids. Right. I definitely don't want, like, a 5th one to be left out. You know?
Ian
00:10:21 – 00:10:25
What if you get triplets or something? Oh, gosh. I could be no scenario there.
Aaron
00:10:25 – 00:10:30
No way. So, yeah, we're done. I'll see you guys that that we're done.
Ian
00:10:30 – 00:10:32
You're gonna be busy for a while anyway. So Yeah.
Ian
00:10:32 – 00:10:32
I think
Ian
00:10:32 – 00:10:33
you're covered.
Aaron
00:10:33 – 00:10:34
So I think I
Ian
00:10:34 – 00:10:39
know you get all this rest at night. You're this night nurse for a couple weeks. So genius. I wish
Aaron
00:10:39 – 00:10:39
I had
Ian
00:10:39 – 00:10:47
known you and thought of this because I just feel like that's always we always just got so behind at the beginning. It's like we're just wrecked the first, like, totally.
Aaron
00:10:47 – 00:10:48
Poned. Yeah.
Ian
00:10:48 – 00:11:07
And then we're just behind the 8 ball, like, for the next 3 years because we're just, like, wrecked right from day 1 and we never catch up and we're just exhausted the whole time, and it's just a mess. So, like, coming out the gate strong, like, you're rested and your mind's around it. You're, like, you got your processes in place and your people and everything. It's like yeah. It's like, okay.
Ian
00:11:07 – 00:11:12
So once she goes away, obviously, you're gonna be more tired or whatever, but it's like, you're ready. Things are moving. You got some
Aaron
00:11:13 – 00:11:17
And we're doing it phase out. I mean, we're doing, like, 6 weeks of every other
Ian
00:11:17 – 00:11:21
night or something. Other night, you got some good sleep at least, which is fine.
Aaron
00:11:21 – 00:11:38
And it helps with, like, sleep training the kit, like, the babies because it puts them on this super regular schedule where someone like an adult who is awake and cognizant is, like, running the show versus, you know, me and Jennifer. Yes. Oh, gosh. What time is it? I gotta,
Ian
00:11:38 – 00:11:39
oh, we're
Aaron
00:11:39 – 00:11:49
30 minutes late. Yeah. So, like, having, you know, this, you know, registered nurse who's, you know, whatever age, but has been doing this for 20 or 30 years who just
Ian
00:11:50 – 00:11:50
Right.
Aaron
00:11:50 – 00:11:55
Is crushing it. It's like, oh, thank thank you for, like, managing us, the adults, as well.
Ian
00:11:55 – 00:11:56
Right. Yeah.
Aaron
00:11:56 – 00:11:57
Yeah.
Ian
00:11:58 – 00:12:04
Wow. Well, it sounds great. Everything's going well. Kitchen's good. Stuff's happening.
Ian
00:12:04 – 00:12:07
You're rested. Yeah. You're thriving.
Aaron
00:12:07 – 00:12:09
Best days of my life. Yeah.
Ian
00:12:09 – 00:12:10
Yes. Exactly.
Aaron
00:12:10 – 00:12:11
It's crazy.
Ian
00:12:11 – 00:12:16
And you're still on the your grind years too. We're we're recording a podcast. It's the first. You're gonna.
Aaron
00:12:16 – 00:12:18
It's such a must go on. Yeah.
Ian
00:12:19 – 00:12:20
Listen, you go to you
Aaron
00:12:20 – 00:12:28
go to Vegas, and suddenly we can't we can't record a podcast. I have a 1000000 children. It's like, let's go. We gotta record the pod.
Ian
00:12:29 – 00:12:34
Yeah. You're you're, you're on top of it. What can I say? I'm still catching up on my sleep. That's why.
Ian
00:12:34 – 00:12:36
I'm like, I'm I'm so far behind.
Aaron
00:12:36 – 00:12:37
I know. I wanna hear I wanna
Ian
00:12:37 – 00:12:40
hear you all. To me. Well,
Aaron
00:12:40 – 00:12:52
we're doing it we're doing it at 9 PM because the night nurse got here at 9 PM, which means, like, I'm fully right now, I would, traditionally be in bed, but it's like, alright. I'm free. You're clear. Yeah. Exactly.
Aaron
00:12:53 – 00:12:54
Like, I'm not needed out there.
Ian
00:12:56 – 00:13:08
Yeah. So, yeah, I'm at the office, which is in town. So I'm in town, which is fine. I actually came in to work at, like, noon. I was like, oh, I'm just gonna, like, work through till, the pod.
Ian
00:13:08 – 00:13:08
So
Aaron
00:13:08 – 00:13:11
And you got yourself you got yourself a nighttime drink over there?
Ian
00:13:11 – 00:13:13
Some we got some the Belvane.
Aaron
00:13:14 – 00:13:15
Look at that.
Ian
00:13:16 – 00:13:17
There we go. It's a
Aaron
00:13:17 – 00:13:18
little bit too.
Ian
00:13:19 – 00:13:27
This stuff is very good. Highly recommended. The Belvane, 14 rum casks. Very good stuff. Very good stuff.
Aaron
00:13:27 – 00:13:28
I'm ready.
Ian
00:13:28 – 00:13:28
I like
Ian
00:13:28 – 00:13:29
the drinks to the kids.
Aaron
00:13:30 – 00:13:31
Yes. To the kids. I'm ready
Ian
00:13:31 – 00:13:31
for the Yes.
Aaron
00:13:32 – 00:13:35
For the takes to increase in hotness as the drinks go on.
Ian
00:13:35 – 00:13:41
I know. I should have been drinking this whole time leading up to this, then I could Yes. Not be I was too worried. I'd be like, oh, I'm gonna be
Aaron
00:13:41 – 00:13:51
too exhausted. So I just started drinking. Do a holiday when we do, like, a holiday episode, like, a crossover with somebody, we need to we need to have some nighttime drinks and just go for, like, 3 hours and see see what comes out.
Ian
00:13:52 – 00:13:57
Idea. Oh, I like that. Fun. Right? Even maybe even that one's streamed or something.
Ian
00:13:57 – 00:13:58
It's like, hey. Come join us.
Aaron
00:13:58 – 00:13:59
Streaming that would be
Ian
00:13:59 – 00:14:00
a lot
Ian
00:14:00 – 00:14:10
of fun. Yeah. That one could just be, like, a live episode where, yeah, some other cruise with us and people we can be on Twitter chatting with them or whatever. Figure it out.
Aaron
00:14:10 – 00:14:21
Yeah. We should do that. So, like, one of those days in, like, dead week. So, like, December 22nd or something where nobody's doing anything. Everybody's, like, I'm basically checked out from work.
Aaron
00:14:22 – 00:14:25
Everybody's fine enough. Hang on the pod. Yeah. That'd be fun. Alright.
Ian
00:14:26 – 00:14:30
We'll do that. I like that. That's a good idea. Oh, man. So alright.
Ian
00:14:30 – 00:14:33
I don't know. Should we do should we do some actual stuff then?
Aaron
00:14:33 – 00:14:38
Or we Yeah. Just some content. Why are we here? We gotta we gotta do the content. Content for the
Ian
00:14:38 – 00:14:38
content gods.
Aaron
00:14:39 – 00:14:39
Let's go.
Ian
00:14:40 – 00:14:57
So that's so this is also so I went to Vegas. Whatever. We don't need to cover that too much, but, while just before I left and while I was there, our database had this big implosion. And so this is also part of why we couldn't pod that day. I've been dealing with this stupid database stuff.
Ian
00:14:58 – 00:14:58
So I
Ian
00:14:58 – 00:15:03
don't know. You're you're the database man. Maybe you have some insights for me, but I can lay out my tails of woah.
Aaron
00:15:04 – 00:15:14
Yeah. I wanna hear. From from what I saw on Twitter, you upgraded from 57 my SQL 57 to 8, and 57 is officially end of life. Right?
Ian
00:15:14 – 00:15:20
Or short very shortly or is. Yeah. Yeah. Like, within the next week or something, that kind of thing.
Aaron
00:15:20 – 00:15:27
So you upgraded 57 to 8 and then just got totally hosed. I mean, the Don't don't do this.
Ian
00:15:27 – 00:15:28
Nobody should do this. Just stay on 5 7.
Aaron
00:15:28 – 00:15:34
The tweet the tweet got some some numbers, so maybe, you know, maybe it was worth it in the end. Yeah. It's right
Ian
00:15:34 – 00:15:35
up for the podcast.
Aaron
00:15:35 – 00:15:36
I don't know. My
Ian
00:15:36 – 00:15:39
my sleep is suffering, but the podcast is driving from it.
Aaron
00:15:39 – 00:15:44
I saw the chart. Explain the chart and explain, like, what actually happened in the app. Was it was it trouble?
Ian
00:15:45 – 00:15:56
Yeah. So it's like well alright. So we upgraded. We figured that we fought even upgrading was a bit of a nightmare because we're on RDS Mhmm. AWS RDS, and which is a very good service.
Ian
00:15:56 – 00:16:04
We've been very, very happy with it. But they're not the best support wise. Right? So, like, you know, we're not managing for a managed service. Well, it is managed.
Ian
00:16:04 – 00:16:10
It's managed. But then if you need anything, it's not managed. They're not gonna help you with that. Right? So, like, okay.
Ian
00:16:10 – 00:16:28
So we had the the our database has been running forever. Like, I don't even 8 years or something like that. So, whatever. There was something we were trying to use their new blue green, deployment scheme, which lets you, like, kinda instantly flip over to a new server on a new version and stuff like that. It's all magical.
Ian
00:16:28 – 00:16:44
Great. So but we couldn't. It was failing when we tried to flip over because there's some table that had some stuff in it, it, whatever that is. And it was a table we couldn't access. So it was like some kind of system table that we couldn't even do what needed to be done.
Ian
00:16:44 – 00:16:58
So, oh, so we had to go through like the many layers of AWS support to get to the team that could actually touch your server that could actually do the thing. So they did the thing. Great. Fine. Did the blue green deployment.
Ian
00:16:58 – 00:17:09
Fine. Everything's great. And then, like, a day or 2 later, it starts acting funky, blah blah. We go in there. Like so I never think about the server because it's been so perfectly reliable.
Ian
00:17:09 – 00:17:17
Right. Like it just absorbs. We have 100 and 100 of customers over a terabyte of data. It's fine. So I haven't even looked at it in forever.
Ian
00:17:17 – 00:17:30
So it's, it's acting weird. I go in and look, whatever the CPU's all crazy. I post that chart that I tweeted out. But, really, it wasn't actually the CPU. That was sort of a fake a head fake.
Ian
00:17:30 – 00:17:56
Really what's happening is that it's loose, it's running out of memory and then it's swapping and then everything goes crazy once you start swapping. So, yeah. Yeah. So we've we've come up with a few tricks to keep it from swapping, which is basically to the best one. Do we have flush tables on, like, a script to run every hour, which is fine, but doesn't do that much?
Ian
00:17:57 – 00:18:15
The best one is to change the value of the InnoDB buffer pool. Mhmm. Just change it at all. So I go back and forth between 2 different numbers, and then that causes some internal flushing, more significant flushing of the buffer pool and memory. Not just change it.
Aaron
00:18:15 – 00:18:17
You're you're, like, toggling it back and forth.
Ian
00:18:17 – 00:18:39
I mean, I'm just toggling it back and forth so that it kicks off this internal process that clears a bunch of memory. So that happens like once a day. So once a day I do that. Obviously this is not sustainable, but this is just to keep everything like kosher. There is some there has been some improvements because we had to we reran, analyze table on all the tables.
Ian
00:18:39 – 00:18:59
Mhmm. And so I think there was some, like, query execution stuff between 5.78, stats were wrong and stuff like that. So it was making bad execution plans. So that has helped, but over 24 hours, it will still start to tend down. You know, the freeable memory just trends down.
Ian
00:19:00 – 00:19:09
So to, Yeah. So I've given up on AWS support. I've just hired Percona, but, you know, it's gotta get on their schedule and blah,
Ian
00:19:09 – 00:19:09
blah, blah.
Ian
00:19:10 – 00:19:22
Those guys are really good. We used them once before, and they and other stuff. They were like, this is all we've done all summer. They're like, we've just done a 1,000,000, 5.7 to 8 upgrades because it's not too good in so many words.
Aaron
00:19:22 – 00:19:22
Yeah.
Ian
00:19:23 – 00:19:31
So yeah. So that's where I'm at. So I don't know. If people have ideas, I'd be happy to hear them before I totally pay many 1,000 of dollars. But at the same time, I would
Ian
00:19:31 – 00:19:31
pay Yeah.
Ian
00:19:32 – 00:19:36
I would pay $20,000 right now to just have this fixed. So, like, I'm fine paying
Aaron
00:19:36 – 00:19:44
them to it. But This is this is I'm off the clock. This you should pay way, way less and just move to planet scale. I
Ian
00:19:44 – 00:19:45
don't understand
Aaron
00:19:45 – 00:19:48
why you want to continue to manage this yourself. Sure.
Ian
00:19:48 – 00:19:54
Well, there's 2 different things there. One is that I I don't know what the actual cost is gonna be. I'm assuming it's actually quite a bit less than $20,000, but
Aaron
00:19:55 – 00:19:56
let's see.
Ian
00:19:59 – 00:20:23
Moving services in the middle of everything. So there's a couple reasons why I don't love that idea. Because just one, you're in the middle of stuff going wrong, and then, like, you're throwing a new service migration in there, which just feels like not maybe the safest route to go. And then, you know, and then we're sort of in this phase where I'm like working on the new help spot and stuff like that. It's gonna be all different, which we haven't talked about too much on here.
Ian
00:20:23 – 00:20:47
But so I don't really want to get into like a whole bunch of like re architecting of how things work and things like that Obviously plant scale in general, presumably I could just flop over yeah, I don't know how it works with, like, we have a whole bunch of like security groups and all that stuff. We could just plant scale go inside of a private security group, or I it doesn't I don't think it's that kind of thing. It doesn't deploy into your, private network on AWS. How much you
Aaron
00:20:47 – 00:20:48
pay us.
Ian
00:20:48 – 00:20:51
Oh, okay. Yeah. Yeah. See, we're back up to 20,000. It's only
Aaron
00:20:51 – 00:20:54
20,000. Don't worry about that. Don't don't worry about that. No. No.
Aaron
00:20:54 – 00:20:59
No. You can just flop over. That's actually that's our that's our tagline. You can flop over.
Ian
00:20:59 – 00:21:00
Just flop over. Yeah.
Aaron
00:21:00 – 00:21:13
I mean, you can do zero downtime migrations. We'll hook up to your RDS and, like, ingest bin logs and stuff, and so you can, like, do 0 downtime. And I think it works both ways. Like, you could flip over to us, and we'll write back to RDS in case
Ian
00:21:13 – 00:21:13
you need
Aaron
00:21:13 – 00:21:20
to fail back to RDS. Right. We can and do put it inside of people's AWS accounts.
Ian
00:21:21 – 00:21:21
Mhmm.
Aaron
00:21:21 – 00:21:26
Then, of course, that costs a lot more. But you still get to use the PlanetScale platform, but maintain
Ian
00:21:27 – 00:21:30
the infrastructure. Yeah. I did see a
Aaron
00:21:30 – 00:21:37
But, yeah, like, the the 5 7 to 8 thing, you know, we just kinda handled that for everybody.
Ian
00:21:38 – 00:21:45
That is nice. Yeah. I don't know. So here's, like, what are your thoughts on so to me, it doesn't seem like it's queries. Okay?
Ian
00:21:45 – 00:21:46
Because here's the thing.
Aaron
00:21:47 – 00:21:47
Yeah.
Ian
00:21:47 – 00:21:58
Before this all happened, like, the memory was, like, literally a straight line. Like, there was the freeable memory was just a straight line, no variation. Yeah. And the CPU's always at like 10 to 15%.
Aaron
00:21:59 – 00:21:59
Right.
Ian
00:21:59 – 00:22:24
And since this has happened, the CPU is always at, you know, still at, like, 10 to 15%. The connections are, like, a straight line. Like, we always have, like, 600 connections. We do have a weird schema, which I was wondering if that's part of it because we have, like, we have database per tenant. So there's a bunch of databases, and so it's a bunch of tables.
Ian
00:22:24 – 00:22:31
So So you wouldn't even work 1,000 scale at all then. Tables. Yeah. Oh, really? Oh, it doesn't it doesn't handle multi, database?
Aaron
00:22:32 – 00:22:33
Our pricing doesn't.
Ian
00:22:34 – 00:22:37
Okay. There you go. So we're planning scale not even option.
Aaron
00:22:37 – 00:22:41
Yeah. We price per I don't remember what it's called, but it's schema or database.
Ian
00:22:41 – 00:22:44
Per schema. Okay. Yeah. Alright. So yeah.
Ian
00:22:44 – 00:23:01
Yeah. So with that, that's not gonna work because we have 100 and 100 of those. So so I don't know. It's weird. So I would feel like if it's like, well, I have the slow query log down to 10 seconds I mean, there's the occasional 12 second 15 second, but it's almost always like a full text search on a full text index, right?
Ian
00:23:02 – 00:23:08
So, you know, I don't know. Like, I don't feel like a 22nd query once in a while should, like, cause the memory to run out.
Ian
00:23:08 – 00:23:08
Like, you
Ian
00:23:08 – 00:23:13
know what I mean? It's, like, very weird. So I don't know if it's some setting. That's kind of mind creation.
Ian
00:23:13 – 00:23:14
But
Aaron
00:23:14 – 00:23:17
This is a little bit below the level of my expertise.
Ian
00:23:17 – 00:23:19
Right. We're down in the guts now here.
Aaron
00:23:19 – 00:23:31
Yeah. Which is why I work so well at, like, a managed services company because, like, I can teach people how to do better queries and not teach them, like, here's how you manage the database, because, like, I actually it turns out I don't know.
Ian
00:23:31 – 00:23:34
Yeah. The real DBA stuff.
Aaron
00:23:34 – 00:23:40
Yeah. Exactly. Yeah. Heather, I'm just like, you know, if a application developer knew something about databases, that's me.
Ian
00:23:41 – 00:23:41
Right.
Aaron
00:23:41 – 00:23:56
The MySQL 8 has not been without its bumps. I will say there have been there have been some bad point releases that have really, like, kinda host kinda host some people on performance.
Ian
00:23:57 – 00:24:10
Are you guys at, like, 8 dotzero.whatever? Or because I think, like, the 8.12 or whatever. There's other point releases that full point releases out now. I didn't know if, what do you you know what you guys are doing by your fault? I thought there was.
Ian
00:24:10 – 00:24:13
I thought, like, 8.1 at least was out. Maybe I'm wrong.
Aaron
00:24:13 – 00:24:16
I think we're at, like, 8.35 or something.
Ian
00:24:16 – 00:24:20
Yeah. Okay. Oh, that's alright. So that's what that's what I was wondering. So oh, there is yeah.
Ian
00:24:20 – 00:24:25
There's there is an 8.1, but it might not be Yeah. I haven't seen any talk
Ian
00:24:25 – 00:24:26
about that.
Ian
00:24:26 – 00:24:28
People. Okay. Yeah.
Aaron
00:24:28 – 00:24:42
But yeah. So we run we run, like, point point upgrades. This is this is all shaky, so nobody quote me on this. And don't send this to my boss, Holly, because it is kinda shaky. We run point upgrades on, on all the databases.
Aaron
00:24:42 – 00:24:54
Like we keep you up to date, basically. Right. And so there are stats somewhere, and I'll see them fly through some channels of, like, how many databases have rolled to point 34 to 0.35, that sort of thing.
Ian
00:24:54 – 00:24:54
Right.
Aaron
00:24:54 – 00:25:21
And, of course, you know, Vitesse is managing most all of that, like, that orchestration kind of stuff. Mhmm. But, yeah, we we keep we keep people up to date on on the point releases, and that's how we see regressions so quickly because we'll see you know, we'll bump, you know, a 1000 or 10000 databases from, you know, 30 to 31 and be like, oh, some stuff got noisy here. Right. So Yeah.
Ian
00:25:21 – 00:25:22
I don't know. We'll see. I
Aaron
00:25:22 – 00:25:23
mean not great.
Ian
00:25:23 – 00:25:34
Maybe it is a weird I mean, there are tons of queries, and there are tons of weird queries. So it's possible there's, like I know some people said, like, group buys are not as good now.
Aaron
00:25:34 – 00:25:40
Group buys got worse. Something like yeah. Big sorting of JSON documents, I think, also got worse.
Ian
00:25:40 – 00:25:52
Yeah. We don't even use JSON, so it's not or not much anyway. Definitely no queries. It would just be, like, returning it if we use it at all. We have serialized PHP in text.
Aaron
00:25:52 – 00:25:54
Oh, yeah. Yeah. That's because it's
Ian
00:25:54 – 00:25:55
old school. It's old school. You know, it's not
Aaron
00:25:55 – 00:25:58
a lot of documentation about that. Yeah.
Ian
00:25:58 – 00:26:01
Pre JSON, but that wouldn't hurt the database because that's all stuff that comes back
Ian
00:26:01 – 00:26:02
to the
Ian
00:26:02 – 00:26:05
app layer. So, like Yeah. I don't know. So could there be,
Aaron
00:26:05 – 00:26:06
like, a PHP.
Ian
00:26:07 – 00:26:14
That, like, causes a huge memory, like, usage?
Aaron
00:26:14 – 00:26:15
Yes. Doesn't
Ian
00:26:15 – 00:26:23
take CPU and time. Like, I don't know. It's so weird to be like yeah. Like, a huge sort that uses 5 gigabytes of memory
Aaron
00:26:23 – 00:26:24
that shoves it all into memory.
Ian
00:26:24 – 00:26:41
Doesn't use CPU though. And doesn't cause connections to pile and then doesn't release when it's done. So then I was like, well, maybe there's like, something dying at a weird point where, like, the memory is not released or whatever. Like bad. Very weird.
Ian
00:26:41 – 00:26:43
I don't know. It's very, very weird. So
Aaron
00:26:43 – 00:26:43
Yeah.
Ian
00:26:44 – 00:26:51
We're gonna see. Hopefully, the, DBA guys can they seem quite confident in fixing it, so we'll see how it goes. But,
Aaron
00:26:52 – 00:26:55
That's how they sell you $20,000 worth of consulting. They gotta seem quite confident.
Ian
00:26:55 – 00:26:56
Desperate. You're like, oh, no.
Aaron
00:26:56 – 00:26:59
Buying 20,000 for me. I told you I don't know what's going on.
Ian
00:27:00 – 00:27:13
Exactly. So I don't know. So then I had next I just wanted to cover this too because I always, at this point, whenever he gets to database stuff, I hate I I love databases. Like database is one of my things I'm quite interested in.
Ian
00:27:13 – 00:27:13
I know.
Ian
00:27:13 – 00:27:26
I really enjoy databases, but when there's database problems, it's like the kind of thing that's like, maybe I should go get a bodega. Maybe I should just do something else. Right? Because, like, the database, the old customers, the stress, you understand this.
Aaron
00:27:26 – 00:27:26
If your
Ian
00:27:26 – 00:27:43
plan scale gets this right, they get it. So then I get into, like, Dynamo DB mode. That that's where I go. I go Dynamo DB, and I'm like, if I just shove everything Dynamo DB, it's infinitely scalable. It's literally, you couldn't possibly shove and you could never hurt this thing.
Ian
00:27:43 – 00:28:00
It's it's infinite. It's actually infinite. And then I go down that path, but there's all the then I have, like, 40 systems of, like, this all this stuff that has to hang off of it. So you can, like, run a report or, like, all that ever. Like, now you have these 20 systems that are all connected to it to actually make an application, which that's the part that's terrible.
Ian
00:28:00 – 00:28:06
But the data part, I'm like, oh, man. It's even, like, old school. Like, screw all those tables and shit.
Ian
00:28:06 – 00:28:06
Yeah.
Ian
00:28:06 – 00:28:07
Just shove everything in one table.
Aaron
00:28:07 – 00:28:08
Exactly.
Ian
00:28:08 – 00:28:11
Everything. Like, that's me. I love that. I love that stuff. Yeah.
Ian
00:28:11 – 00:28:14
Let's normalize it. Know. Let's put let's shove it all the weird stuff.
Aaron
00:28:14 – 00:28:39
I love that. Alex debris is has gotten to you. Don't let his don't let his smiley and happy persona trick you into going NoSQL with the tiny caveat. I don't know anything about NoSQL, but the tiny caveat that all you have to do is figure out your access patterns up front before you do anything else. I mean, now that your system, you you could probably you'd be fine.
Aaron
00:28:39 – 00:28:49
You would be fine. But every everyone else is like, oh, no. You don't yeah. You can you you just need to know what queries you're gonna run. And I'm like, when when does anyone ever know what queries they're gonna run at the beginning?
Aaron
00:28:50 – 00:28:50
Nobody knows.
Ian
00:28:50 – 00:28:57
So funny. So I've been reading I didn't know anything about this guy, but I found him recently on Twitter. Yeah. He seems like a great guy. I bought his book.
Aaron
00:28:57 – 00:28:58
He's a genius. Yeah.
Ian
00:28:58 – 00:29:13
It's like 400 pages of, like, DynamoDB. I I tweeted at him. I'm like, listen. This is, like, the only resource I've ever seen about DynamoDB that has, like, front to back soup to nuts. This is the whole picture, because it's always like, here's an article or here's a thing.
Ian
00:29:13 – 00:29:16
Obviously, AW, docs are useless. Like there's no place to
Ian
00:29:16 – 00:29:16
just see
Ian
00:29:16 – 00:29:25
like the whole picture. Right? So great book. If you're just even interested in it, highly recommended. Well, Dave, you could link his book in the show notes.
Aaron
00:29:25 – 00:29:26
Yes. And follow him
Ian
00:29:26 – 00:29:27
on Twitter
Aaron
00:29:27 – 00:29:29
too because he's he's extremely smart.
Ian
00:29:29 – 00:29:37
I did start following him. Yeah. But so very, very interesting book, and I feel like it lays out really well. But yeah. So I'm like the whole time I'm reading it.
Ian
00:29:37 – 00:29:53
I'm like, well, on the one hand, this is perfect for me because I know our data patterns, like, super well. Right? And then on the flip side, I'm like, how does anybody else use this thing? Because unless you have been building this app for, like, 20 years, like, oh, how how how the hell do you know your data access patterns? No.
Ian
00:29:53 – 00:30:04
What? Idea. Yeah. I mean, maybe if I'm just, like, an Internet of things and I have a light bulb and, like, the light bulb only ever sends me, like, you know, data logs or, like, you know, whatever. It was on.
Ian
00:30:04 – 00:30:19
It was off. Like, it's very straightforward. But, like, a real application that's, like, a b to b SaaS type app with, like, you know, what you would normally have, like, 90 tables or whatever to build, and, like, I don't know. How do I know my data access patterns efficiently?
Aaron
00:30:19 – 00:30:19
No idea.
Ian
00:30:19 – 00:30:20
Have to do.
Aaron
00:30:21 – 00:30:29
And and I just I need to read his book because I truly don't understand Yeah. You should be. Sequel.
Ian
00:30:29 – 00:30:30
And while this coming
Aaron
00:30:30 – 00:30:38
I just I just don't like I just don't understand no tables, no joins, no I'm like, what?
Ian
00:30:38 – 00:30:39
Sounds glorious, honestly.
Aaron
00:30:40 – 00:30:47
What is it then? Truly, what is it? And I just I haven't, you know, I haven't come up with an answer. Yeah. So I mean,
Ian
00:30:47 – 00:30:53
it's just an infinitely scalable place to dump piles of data, which is kinda awesome. Like, I just love that idea.
Aaron
00:30:53 – 00:31:03
You don't wanna if you don't wanna migrate to another provider that is, like, a hosted MySQL provider, you do not wanna migrate to DynamoDB.
Ian
00:31:03 – 00:31:06
I could never migrate to it per se. It would it definitely couldn't
Aaron
00:31:06 – 00:31:07
be yeah.
Ian
00:31:07 – 00:31:17
No. No. This wouldn't be a migration. This would be more of, like, the, you know, future super version of help spot, which is, like Yeah. Re architected could possibly use that.
Ian
00:31:17 – 00:31:37
Right? But it is still, like it's so far away. It's like and it's also, like, it's it just requires a bigger team than we have, I think, too. Because it's just like, you just need these other systems, and then those other so now we've gone from, like, yeah. We gotta make sure, like, this one key system's up to, like, now there's 5 key systems and, like, making sure that all works.
Ian
00:31:37 – 00:31:43
And you're depending on AWS phone systems and the support's terrible AWS, all that stuff.
Aaron
00:31:43 – 00:32:05
If you had a multi tenancy in a single schema, you would be perfect for PlanetScale because we could shard I mean, we run we we can do a 1,000,000 queries a second. Like, we don't have any problem with that. We've done that. But the multiple schemas, we just don't have a we don't have a pricing solution for that, which is a real pity because we price, like, per database. You know?
Ian
00:32:05 – 00:32:07
Alright. That's not gonna work for sure. Not gonna work. Yeah.
Aaron
00:32:07 – 00:32:09
Can't pay can't pay 39 times 600
Ian
00:32:10 – 00:32:10
Right. Just to be
Ian
00:32:10 – 00:32:24
entry level. This is old school because it's like, you know, we, it was an on premise app that became a cloud app. So, like, you could re architect the whole thing to have tenant IDs and whatever, or you could build individual databases. So that's what we did. Man.
Ian
00:32:24 – 00:32:43
I actually really like the individual database. There are a lot of upsides to the individual database. Like, I feel like people just auto don't do that, and they're just like, yeah, you know, tenant IDs and and tables. But it's but it is super nice, to have that at times where it's, like, somebody wants to export. It's like, yeah, that that's nothing.
Ian
00:32:43 – 00:32:45
It's easy. Boom. Just want to do everything.
Aaron
00:32:45 – 00:32:47
We're done. The whole database, you're,
Ian
00:32:47 – 00:32:48
you know, you're the
Aaron
00:32:48 – 00:32:51
super app. You could look at it. Like, you can see the whole thing.
Ian
00:32:51 – 00:33:01
Let them do things like that. We don't actually let them go that far with it, but we could. Or if we wanted to run one customer who got, like, a crazy heavy setup on a separate server, like, we could do that. And
Aaron
00:33:01 – 00:33:02
Yeah.
Ian
00:33:02 – 00:33:06
So there is some cool stuff with it. And just also So mentally never
Aaron
00:33:07 – 00:33:09
yeah. You'll never have a query error. Yeah.
Ian
00:33:09 – 00:33:14
Right. Like, there's no query I could write that will expose another customer's data. Just literally
Aaron
00:33:14 – 00:33:14
impossible.
Ian
00:33:15 – 00:33:17
So that's super nice.
Aaron
00:33:18 – 00:33:32
But you traded for you traded for op, like, DevOps complexity. Like, you gotta run a migration across 600 databases and make sure everybody got it before or during the code release for 600. Yeah. It's a whole process.
Ian
00:33:32 – 00:33:51
Yeah. Yeah. So, and for us, it wasn't too bad because again, when it's coming from on premise, like, well, each of our customers actually gets their own server. So they they each have their own front server, like a very tiny AWS, like t 3, whatever. But, so they're already, like it's like we can already roll out releases per customer and which is also kinda nice about our current architecture.
Aaron
00:33:51 – 00:33:51
That's kinda nice.
Ian
00:33:52 – 00:34:09
Versus pure SaaS where it's like, well, we're just rolling out and everybody gets it. And if there's a problem, everybody gets it and all that kind of stuff and, yeah, having to make sure you hot migrate, whatever all those things. Yeah. So, yeah, we have databases in different states and things, which is kinda cool at times. But, man, it's great.
Ian
00:34:09 – 00:34:10
Is annoying.
Aaron
00:34:11 – 00:34:25
I love hearing about this because you're, like, running a you're running a a real business. Like, capital r, real real business. It's not it's not just like it's not just like, hey. Why don't we switch from, you know, Netlify to Vercel today? You're like Right.
Aaron
00:34:25 – 00:34:33
F that. I got 600 databases and, you know, 600 t 3 servers sitting in front of them. Like, I'm running a real business here, man. I can I just Serialize
Ian
00:34:33 – 00:34:37
PHP in a freaking column? Alright? I would I would
Ian
00:34:38 – 00:34:38
chill out. With that.
Aaron
00:34:38 – 00:34:44
But, yeah, we know that is the mark of, like, I've seen some things. I've been running this business for a long time.
Ian
00:34:44 – 00:34:51
This is how we had to do it back in the day. We didn't have your nice little JSON. It was like, well, I could put it in XML, which is super annoying. It has its own weird
Ian
00:34:51 – 00:34:52
And
Ian
00:34:52 – 00:35:01
Also, no good XML parser. I could put it in XML theoretically, but, like, not actually a nice way to get it there or a nice way to get it out. Or I could just say last week be.
Aaron
00:35:01 – 00:35:06
Thought I never thought I'd get hit with the we didn't have JSON in my day.
Ian
00:35:08 – 00:35:10
We did not have JSON in my day.
Aaron
00:35:10 – 00:35:11
Didn't have JSON in my
Ian
00:35:12 – 00:35:16
day. Crazy, man. I know. It's so crazy. Oh, god.
Ian
00:35:16 – 00:35:25
And that stuff's still in there. It's not like I mean, lot you know, whatever. There's tons of parts we've updated in different ways, but there are still some parts that have some stuff like that. And it's like, yeah. Whatever.
Ian
00:35:25 – 00:35:25
It works.
Aaron
00:35:26 – 00:35:36
The first time I felt super old in web development was when somebody said, where do you host your front end? I was like, where do I host my front end? My front end lives in the browser.
Ian
00:35:36 – 00:35:37
The client lives my
Aaron
00:35:37 – 00:35:39
front end. What do you mean where do I host my front end?
Ian
00:35:39 – 00:35:42
With my back end altogether on the same server.
Aaron
00:35:42 – 00:35:45
I send the front end to
Ian
00:35:45 – 00:35:45
the client.
Aaron
00:35:45 – 00:35:52
I don't understand the question. That's funny. Didn't have JSON back in the day. That's a different, yeah, different era.
Ian
00:35:53 – 00:36:02
Whole different world back then. So That is wild. Playing with this newer stuff I've been messing with and being like, yeah, we got JSON. We got we can query the JSON. We can do all kinds of stuff.
Ian
00:36:02 – 00:36:10
I I don't know why the databases don't make it nice to query the JSON. There's still, like, a little disconnect between, like, everybody's got these JSON columns, but then they don't.
Aaron
00:36:10 – 00:36:11
Wonky syntaxes and stuff.
Ian
00:36:12 – 00:36:20
Yeah. And then or even just doing it at scale. It's like, yeah, you can query into the JSON, but they're always like, you really shouldn't query into the like,
Aaron
00:36:20 – 00:36:21
no, that's a, or you gotta
Ian
00:36:21 – 00:36:23
build a computed column or whatever. Yeah.
Aaron
00:36:23 – 00:36:24
You do have to do that.
Ian
00:36:24 – 00:36:32
Yeah. I'm saying like, it's a whole thing. The computer column is kind of a BS because, like, then you're because here's the thing. This is all one of these,
Aaron
00:36:32 – 00:36:36
like computed columns. That's my that's my favorite.
Ian
00:36:36 – 00:36:40
I mean, I love it. I'd love a computed column. Right? It's fine. But here's the thing.
Ian
00:36:40 – 00:36:45
It's also, like, fake because for a real use cases, it's useless. Because, like, we
Aaron
00:36:45 – 00:36:46
real use cases, it's useless.
Ian
00:36:47 – 00:36:50
Because here's the so here's our use case, right, where it's totally useless.
Aaron
00:36:50 – 00:36:51
So what
Ian
00:36:51 – 00:36:52
are the problems we have?
Aaron
00:36:52 – 00:36:54
Just for the record, this is one use case. But This
Ian
00:36:54 – 00:37:06
is a very common use case in real business applications that you won't find with these people building their little JavaScripty things, but real real businesses have this problem, which is that
Aaron
00:37:06 – 00:37:06
Okay.
Ian
00:37:07 – 00:37:08
We have big customers
Ian
00:37:09 – 00:37:09
Yeah.
Ian
00:37:09 – 00:37:11
Who want a lot of custom fields.
Aaron
00:37:11 – 00:37:12
Yeah. They do.
Ian
00:37:12 – 00:37:18
And MySQL has a limit on how many columns you can have in a table, and it's based on,
Aaron
00:37:18 – 00:37:19
like, the
Ian
00:37:19 – 00:37:28
width of the thing, whatever. Yeah. So it ends up being in practice, like, 250 or something like that, generally speaking. Depends on the width of the column. Right.
Aaron
00:37:28 – 00:37:30
Row size, I think. But yeah.
Ian
00:37:30 – 00:37:35
Yeah. So right. The rows can only be so wide. So like, right. Depending on how wide you make the columns, whatever.
Ian
00:37:35 – 00:37:50
So, so, okay. So, oh yeah, I'll use Jason and I'll use computed columns, But you can't because a computed column is just a real column. So you have the same exact limit with a computed column as a real column. Same exact limit.
Ian
00:37:50 – 00:37:51
Poop. Poop.
Aaron
00:37:51 – 00:37:52
Poop. Back up. Back up. Back up. Yes.
Aaron
00:37:52 – 00:38:01
You just you you explained some problem, and then you were like, JSON, and you said it doesn't work. So what what what
Ian
00:38:01 – 00:38:03
what is the middle There's different trade offs.
Ian
00:38:03 – 00:38:03
So what
Aaron
00:38:03 – 00:38:10
is the middle so you put all of these custom fields into a JSON column Right. So you can just blow up a big blob. And then what are you
Ian
00:38:10 – 00:38:12
doing gonna do at some point?
Aaron
00:38:12 – 00:38:18
What are you doing with the computed columns? You're trying to then parse it back out into into computed columns?
Ian
00:38:18 – 00:38:28
Well, that's what you would have to do. Right? Oh. That's not what you have to do, but that is a alright. So if you want to efficiently search with an index inside JSON, what's the solution?
Aaron
00:38:29 – 00:38:31
You put a computed column on
Ian
00:38:31 – 00:38:37
it. Yes. Exactly. So we have 200 separate fields. Why are you 500?
Aaron
00:38:37 – 00:38:38
No. No. No. No. No.
Aaron
00:38:38 – 00:38:39
This isn't Oh, give me
Ian
00:38:39 – 00:38:42
the structure. Give me the structure, baby. No. We're learning. No.
Aaron
00:38:42 – 00:38:44
I'm excited. This is nonsense.
Ian
00:38:44 – 00:38:45
Drop some knowledge on me.
Aaron
00:38:45 – 00:38:50
You you drop a big blob into JSON. Right? So you got your Okay. Whatever. You got your 50.
Aaron
00:38:50 – 00:39:01
Is it 200? Maybe it's 200 fields. You drop it to JSON. Right? Presumably, you've got a few hot columns or hot fields that people search on.
Aaron
00:39:01 – 00:39:05
Right? So we'll say, like, category, I don't know what you do, but category
Ian
00:39:05 – 00:39:06
Sure. Whatever.
Aaron
00:39:06 – 00:39:12
Right? It doesn't matter. You're you're ecom now. So Right. Category, size, you know, price, whatever.
Aaron
00:39:13 – 00:39:41
If those are the 80, 90% use case, those become first of all, those maybe become top level columns. But, like, you know, manufacturer and material and all those other things that nobody ever searches on, you don't need to search on. You can still you can still search on the JSON blob without breaking it out into an index column. That's fine. Also, you don't have to create the column.
Aaron
00:39:41 – 00:39:48
You can just put a functional index on it. So you could, like, you you don't need to have the column.
Ian
00:39:48 – 00:39:48
You need
Ian
00:39:48 – 00:39:48
to be the area.
Ian
00:39:49 – 00:39:51
Limit. Indexes are 64. There's less, though. Smaller
Aaron
00:39:52 – 00:40:06
Yeah. That does have its own limits, but you don't have to, like, break them out, and you could put one on, you know, size and category and whatever as a community did. So there there are ways around it. But if you're shoving it all in JSON and then recreating columns out of it
Ian
00:40:07 – 00:40:07
Okay.
Aaron
00:40:07 – 00:40:08
I think that's all
Ian
00:40:08 – 00:40:08
for you.
Ian
00:40:08 – 00:40:14
Here's what I'm gonna tell you. So here so here so here's you're here I'm gonna I'm gonna bust out the real audio. This is the real
Aaron
00:40:14 – 00:40:16
deal. Tell me. Tell me.
Ian
00:40:16 – 00:40:18
Here's where here's where you are incorrect.
Aaron
00:40:19 – 00:40:21
Wow. Well, here's where I don't have all the information. Let's
Ian
00:40:21 – 00:40:26
start there. So here here is the here is the thing. So HubSpot. Right?
Aaron
00:40:27 – 00:40:27
Heard of it.
Ian
00:40:27 – 00:40:33
H o HR department's using it. K. We have ecommerce retailers using it. We have software companies
Aaron
00:40:33 – 00:40:34
using it. Right?
Ian
00:40:34 – 00:40:35
We have manufacturers using it.
Aaron
00:40:35 – 00:40:36
Yep. Yep. Yep.
Ian
00:40:36 – 00:40:39
They are adding custom fields for their own uses.
Aaron
00:40:39 – 00:40:39
Of course.
Ian
00:40:39 – 00:40:47
I have no idea what they're doing. Right? They're just like custom field to store an address, custom field to store, plan type or whatever. Right? Okay.
Ian
00:40:47 – 00:41:08
Fine. So the only way to then do this is I have to then ask them in some form or another, will this be a column that you're using a lot and need to search? Right. It starts to get complicated in terms of like, yes. If I have a predefined use case, I can define those indexes or maybe there's I make things into real columns.
Ian
00:41:08 – 00:41:15
Right. Whatever. But when the customers and the users are just out there doing it on their own, they don't know that a filter
Aaron
00:41:15 – 00:41:16
means that they're
Ian
00:41:16 – 00:41:28
going to have to query an index and blah, blah, blah. So, yes. Could we then architect some type of, like, we're tracking what fields are getting filtered on and things like that? Potentially. But now okay.
Ian
00:41:28 – 00:41:29
So that here's the second.
Aaron
00:41:29 – 00:41:30
No. Definitely.
Ian
00:41:30 – 00:41:38
But so here's the thing. In our current architecture, that could work. So our current architecture builds columns. That's what it does.
Aaron
00:41:38 – 00:41:39
Great.
Ian
00:41:39 – 00:41:48
Real columns, which has tons of awesome benefits because you have, like, the data type. It's got indexes. Better. It is can sort. And all those things.
Ian
00:41:48 – 00:41:49
It's just better. Yes.
Ian
00:41:49 – 00:41:49
Like, fine.
Ian
00:41:50 – 00:42:04
So if you're building a pure SaaS app though, with a multi tenant in a single database, you're again, back to a situation where like people are building custom fields, all different uses. I mean, now I would need thousands of index. Right? I can't it's impossible. I can't index that many things.
Ian
00:42:04 – 00:42:15
So then you have, like, do you do, like, the EAV type situation? Do you just do, you know, my current thinking on it is more like I'm gonna find other things to sort of use as indexes, like
Aaron
00:42:16 – 00:42:16
Right.
Ian
00:42:16 – 00:42:19
Date ranges and then, like, let the database churn through
Ian
00:42:19 – 00:42:20
Yeah.
Ian
00:42:20 – 00:42:25
The JSON in the smaller dataset. Right? Or whatever. Mhmm. But it's very messy.
Ian
00:42:25 – 00:42:36
Like, custom fields are one of these things that are just a disaster kind of when you hit real people doing real stuff with it, and there's sort of, like, a lot of different use cases. Like, if you have a a
Ian
00:42:36 – 00:42:36
more defined use case,
Ian
00:42:36 – 00:42:36
it's easier. But, like, if you have
Ian
00:42:36 – 00:42:36
this people
Ian
00:42:36 – 00:42:47
all over the place doing all different things, it's hard to narrow down how to how to do that. So I don't know. I don't know if you have other other ideas there.
Aaron
00:42:47 – 00:42:48
But So this is good.
Ian
00:42:48 – 00:42:50
This is good. This is good content.
Ian
00:42:50 – 00:42:51
Deep in database data.
Aaron
00:42:51 – 00:43:01
This is good content. So I I think, okay, this so that is actually that is a good, I don't know what the word rejoinder is. I don't know what that word means.
Ian
00:43:01 – 00:43:05
I like this one. I hope I hope we're making up words here now. I love it. A rejoinder.
Aaron
00:43:05 – 00:43:07
I need A rejoinder. Define
Ian
00:43:08 – 00:43:08
A rebuttal.
Aaron
00:43:08 – 00:43:10
Rejoinder. Rebuttal's what I was looking for.
Ian
00:43:10 – 00:43:12
I hope we just invented a word here.
Aaron
00:43:12 – 00:43:19
A rejoinder is a reply, especially a sharper or witty one. Holy cow. That was a rejoinder. That was a rejoinder.
Ian
00:43:20 – 00:43:25
Ladies and gentlemen, this is a man who just had twins And I just 70 days ago.
Aaron
00:43:26 – 00:43:29
Derived rejoinder. That's amazing.
Ian
00:43:30 – 00:43:34
Oh. That was incredible. Trinket. I thought you'd be Yeah. You're just pulling this out.
Aaron
00:43:34 – 00:43:37
Well, that's crazy. The show, ladies and gentlemen. Listen. There we go.
Ian
00:43:37 – 00:43:37
We should
Ian
00:43:37 – 00:43:39
just we should just end right there.
Aaron
00:43:39 – 00:44:00
Amazing. Well Good rejoinder, I must say, on the, on the custom schemas thing. So I think the interesting part is when you'd say, like, you know, one row let's say one row is, you know, storing something about, ecomm, and the next row is a different tenant. So it's storing, like, HR data. And so the JSON BLOBs are totally different.
Aaron
00:44:00 – 00:44:10
So how do you define Right. How do you define what the hot attributes that you're gonna index are? That is interesting, and I don't have a good solution to that. However
Ian
00:44:11 – 00:44:11
Mhmm.
Aaron
00:44:11 – 00:44:58
I wonder if you could get away with like, you would still have to know that for tenant 1, you know, the the hot attribute is, like, plan type, and for tenant 2, it's, like, t shirt size or whatever. You would still need to know that, and you'd have to either ask that or infer it based on their usage, which I think would be interesting. But I wonder if you could store the attribute name alongside the JSON and create basically like a, kinda like a obscured or abstract column that's basically like search value 1. And for some people, that pulls one key out of the JSON, and for other people, it pulls a sec or, like, a third key out of the JSON. I would have to look into that because if that's possible, that would make very a very interesting video for PlanetScale.
Ian
00:45:00 – 00:45:02
Wow. There we go. We better. Okay.
Aaron
00:45:02 – 00:45:03
Yeah. Thank you. Appreciate that.
Ian
00:45:03 – 00:45:24
There are, like, a bunch of different I mean, obviously, there's, like, I mean, I've you know, this is an area I've gone pretty deep on. So it's, like, the EAV tables, which are very interesting because you get a lot of the sorting and different benefits, but are actually pretty complicated. The query is a lot of weird querying that has to go on. Yeah. And then there's, like, dump dump everything in JSON.
Ian
00:45:25 – 00:45:39
And then there's, you know, building columns. Then there's, like, obviously in a multi tenant single database, you can't really build dynamic columns like we do Right. Currently, but you could do the, like, hey. There's there's 50 custom fields. That's what you get.
Ian
00:45:39 – 00:45:51
And Right. These are 50 field 50 actual columns in the database or whatever. I think in modern apps, you don't I you see that all the time back in the day. You don't really see that anymore. I think things are fast enough.
Ian
00:45:51 – 00:46:06
My inclination is that things are fast enough now that as long as you have a reasonable something you can index on, even if it's a date range that gets you within some kind of ballpark that for all but the maybe mega huge customers that
Aaron
00:46:06 – 00:46:07
I think that's probably gonna
Ian
00:46:07 – 00:46:19
be fine. That's sort of and, yeah, with some decent caching of queries and things like that, that you can get pretty far. But that's the way I've been approaching it. I mean, the JSON is great because it's so flexible. It's like, yes.
Ian
00:46:19 – 00:46:31
Any Right. Kind of infinite custom fields, and you can they can be whatever you want. They can be all kinds of weird shapes. They could store JSON themselves maybe if you wanna have, like, an address that understands the different lines of the address or something. Like, whatever.
Ian
00:46:31 – 00:46:45
You got all the different cool things, which is awesome. So I think there's some good trade offs there, which is why for the new stuff, I'm needing, most likely doing just the JSON blob, but it is, does have its own conundrums.
Aaron
00:46:45 – 00:46:45
It it is.
Ian
00:46:45 – 00:46:52
It gets me into, like, dump everything in in DynamoDB, baby. Just dump it in there. It's a big empty bucket. I hate to say
Aaron
00:46:52 – 00:46:56
it, but Postgres has a better index type for JSON
Ian
00:46:56 – 00:46:58
than MySQL. JSON b, like, a thing?
Aaron
00:46:58 – 00:47:21
Yeah. So we have similar columns. So they have JSON b, we have JSON. But we only have indexes via generated columns, or you can put an index over a JSON array, which I understand ceases to be valuable at some point, but Postgres has a a gin, g I n, general inverted something.
Ian
00:47:21 – 00:47:22
Oh, I think I've
Aaron
00:47:22 – 00:47:30
seen it before. You put an index on the blob, and it kind of figures out, like so it's not a b tree. It's not a full text. It's some other,
Ian
00:47:30 – 00:47:31
like, structure.
Aaron
00:47:32 – 00:47:36
And they kinda figure out, like, yeah. We'll, you know, we'll speed up your queries with this gin index.
Ian
00:47:36 – 00:47:38
We just What's your thought on Postgres?
Aaron
00:47:39 – 00:48:04
Man, I don't have a lot of thoughts, and this is, like, this is one of the things I've been kinda struggling with, and I put it on the list at the very bottom. We can get there or not, but, like, I don't I just don't have a lot of thoughts on things I don't use a whole lot, and I don't use a lot of things. And it's kinda hard because people are like you know, I'll make a video on my personal channel, and people are like, hey. Can you cover symphony? I'm like, no.
Aaron
00:48:04 – 00:48:18
I can't. I like, what's your opinion on Laravel versus Next JS? I'm like, don't know, man. Laravel is probably better, but I don't use it. And on planet scale, they're like, make a video about MySQL versus Postgres.
Aaron
00:48:18 – 00:48:19
I'm like, I've never used Postgres.
Ian
00:48:19 – 00:48:19
I don't
Aaron
00:48:19 – 00:48:34
know anything about it. Right. So I don't know. I think from what I understand, Postgres is much harder to operate in scale at, like, the operational level, but that doesn't matter to to a lot of people. Right.
Aaron
00:48:34 – 00:49:02
And so I think a lot of, like, DBAs and DevOps and sysadmins and those kind of people prefer the scalability and, like, I don't know if it's reliability or, like, simplicity of MySQL versus Postgres. And there's something like, there's some weird thing about the the internals of the way that Postgres works that makes it difficult for it to either scale or shard or be horizontal or something, and I just don't know. So
Ian
00:49:03 – 00:49:05
No hot takes there then.
Aaron
00:49:05 – 00:49:09
No. No hot takes. I'm like, I don't know. If you use it, it's fine.
Ian
00:49:09 – 00:49:15
Yeah. I always feel like on paper, it's better. Like, you're like, oh, it does the like, it has this fancy gin index. Right? And that looks cool.
Ian
00:49:15 – 00:49:29
Like, there's all this paper benefits, I feel like, but then, yeah, I don't know. I used it once for a production system, which was a gigantic mistake because I was like, oh, this is the new hotness. Let's use this thing. Yep. This is like 10 years ago, whatever, on a on a thing Taylor built, actually.
Ian
00:49:29 – 00:49:31
Taylor of Laravel. And
Aaron
00:49:31 – 00:49:32
Heard of him.
Ian
00:49:32 – 00:49:44
What whatever. It was like, we use Postgres, blah blah blah. So first of all, the query language is a little bit different, which I don't care for. I'm a MySQL SQL Server query language guy. I'm not a Oracle postgres guy.
Ian
00:49:44 – 00:49:55
So that's a little weird to me, but whatever. Fine. But yeah. And you know, and it went down and I'd had this guy, like, on contract who's, like, a postgres guy ostensibly.
Aaron
00:49:55 – 00:49:55
Yep.
Ian
00:49:56 – 00:50:04
And he was like, he he said he had all set up. So if there's ever any issue, we could restore blah blah. So I was like, okay. Well, we need to restore because shit's down. It's all broken.
Ian
00:50:04 – 00:50:12
And customers are mad, blah blah. And he's like, oh, man. And it took him, like, 12 hours or something. You know, it was like a whole production. And I was like, you know what?
Ian
00:50:12 – 00:50:19
Like, this is just I can't be using these tools. This this No. Kind of DynamoDB thing too. Like, I know my SQL. I know SQL Server.
Ian
00:50:20 – 00:50:36
If something goes wrong, I could get in there, and I could do some shit if I have to myself. And which is sort of a bad attitude. There's the whole bootstrapper thing. That's a whole other thing we could talk about someday. But, like, ultimately, I feel comfortable that I could get in there and at least hack around and half ass fix something if I absolutely had to.
Ian
00:50:36 – 00:50:47
Whereas, like, this whole post post, I have no idea anything about it. I'm just gonna be googling random shit and have no idea where to even start, if there's a problem. So that's what's always kinda kinda how I feel.
Aaron
00:50:47 – 00:50:58
And I'm just saying I grew up I grew up on my SQL, like, literally since I was, like, you know, 10, 11, 12. That's what I've been using. It's like, I I know it. I Yeah. Like it.
Aaron
00:50:58 – 00:51:05
It's been around for a 1000 years. It's kinda how I feel about PHP. It's like, yeah, it's good. I like it. It works.
Aaron
00:51:06 – 00:51:12
I know it. I like it. It works. It's been around, which means it'll be around, and it does the job that I want it to do.
Ian
00:51:13 – 00:51:15
So, yeah. There you go.
Aaron
00:51:15 – 00:51:21
I like it. I'm I'm glad to believe that there are great things about it, but, it works. Yeah.
Ian
00:51:21 – 00:51:41
Right. The who has the time and energy and effort to, like, go and that that is one thing that, like, customers and things like that clarify for you to some degree because it's like, yeah, there's just no time. Like, to go over there and, like, the risk and time and everything, and, like, that's something you might do. Like, I'm sort of getting started on it now for, like, the first time in 20 years. Right?
Ian
00:51:41 – 00:51:50
It's, like, the kind of thing, like, you can't just be doing that every year. It's like, well, I'm gonna go try Postgres now. Like, you know, no. Like, you have 8,000 other things to do. Like, you're not gonna try Postgres now.
Ian
00:51:50 – 00:51:55
You're just gonna do what you need to do to ship the next batch of features or whatever you're doing. So
Aaron
00:51:55 – 00:51:55
Yes. Yeah.
Ian
00:51:55 – 00:51:58
I think we should talk about the thing you put at the bottom because that's interesting.
Aaron
00:51:59 – 00:51:59
Yeah. That
Ian
00:51:59 – 00:52:00
leads that leads right in
Aaron
00:52:00 – 00:52:36
right into this. I've just been having this thought recently and realizing that, like, I think it's always been true, but, like, crystallizing and realizing that my, like, goal, the thing that I'm aiming towards is not to be a great engineer, and it's not to be a great software developer. And what you said there at the very end is, like, a 100% how I feel, like, you don't have time to do it because you're working, like, you're working towards some other goal in your case, like Right. Serving customers. And I think my goal is to just, like, make stuff, and it always has been.
Aaron
00:52:36 – 00:53:00
Ever since I was ever since I was very young, I've just loved making things, and software just happens to be, like, the the mechanism by which I make stuff. And it's weird because I see, like, I see on Twitter and, we'll just say Twitter. I see on Twitter all these people arguing about, like, the most technically pure way to do something. Right. And I look at it.
Aaron
00:53:00 – 00:53:16
I'm like, y'all. I don't care about that at all. And then, you know, I'll make a video either on either channel, and people will be arguing in the comments about whether something is, like, a capital g good idea. And I'm like, I don't know. It works.
Aaron
00:53:17 – 00:53:40
Like, what's the problem? It works. And, you know, people like spending hours and hours and hours customizing their text editor, and I'm like, I just I opened PHPStorm, and, like, I get to work. And I don't know. I feel a little I feel a little, I don't know, like, silly or embarrassed sometimes where I'm like, yeah.
Aaron
00:53:40 – 00:53:51
Whatever. I just you know, sometimes I hide stuff in PHP Storm because it's annoying. But literally, that's the extent of, like, my customization of my, you know, VIM or whatever. I've never used VIM in my life. I used Oh,
Ian
00:53:51 – 00:53:53
VIM is ridiculous. Forget that.
Aaron
00:53:53 – 00:53:57
And I use I I use a I use a Git GUI, and I don't feel bad about it at all.
Ian
00:53:57 – 00:53:58
Git GUI. No.
Aaron
00:53:58 – 00:54:00
I don't care. And so Give
Ian
00:54:00 – 00:54:01
me the gooey.
Aaron
00:54:01 – 00:54:21
That that's the thing that's crystallized, and I feel like there's a good tweet in there somewhere, that'll that'll get that'll get, like, that message, like, really sharp. But, like, my goal is just I'm my goal is not to be a soft like, a great software engineer. My goal is to make cool things. So Yeah. That that's been I've been ruminating on that.
Ian
00:54:22 – 00:54:38
There's only so much time. Like, that's the thing. There's only so much time. And, like, you have to figure out what you wanna spend your time on. And you can't be helping customers achieve their goals and be the greatest Laravel PHP developer in the world.
Ian
00:54:38 – 00:55:02
Like, these are just conflicting goals. You can't do them both. There are, you know, very ultra rare exceptions to some degree of people who are just, mostly people who just absorb the programming side really quickly and well. So it's like, oh, I read this thing once and they forever remember it. And they're like, super excellent pro like, they just sponge in the information, But still, you only have so much time and you have to pick what you wanna do with it.
Ian
00:55:02 – 00:55:15
And, like, yeah. And and that's where, like, people working in huge companies, like, that's great for them. Right? It's like, I'm responsible for this class or this little section, and I'm the world's foremost expert in this thing. Yes.
Ian
00:55:15 – 00:55:31
I don't have to worry about anything else. Like, nobody's calling me. Nobody wants a new feature. Like I just keep this little thing running or even, you know, moderate sized thing, but I'm the expert in it and that's it. But, yeah, if you're more entrepreneurial, that's not always a trade off you can make there.
Ian
00:55:31 – 00:55:36
It's like, yeah, I can't be the best at lots of thing. I can't be the best at anything. Like, I'm not the best at anything.
Aaron
00:55:37 – 00:55:48
I'm not the best I'm not the best video editor. I'm not the best database person. I'm not the best Laravel person. I'm not the best open source person. I but I do a lot of those things pretty well.
Aaron
00:55:48 – 00:56:17
And, like, that's what I like, that's what I want to be doing. That amalgamation of, you know, 6 different things is what I want to be doing. And I think I just feel self conscious sometimes when I see people talking about, like see people embedded, let's say, in, like, a, you know, a Facebook or a Netflix or something talking about, you know, all of the things they go through to be the best software engineer that they can be, and I'm like, oh, that ain't me. Right. That's just that is just not me.
Aaron
00:56:17 – 00:56:20
I've got too much other stuff I wanna be doing. Well, you
Ian
00:56:20 – 00:56:27
know, it's funny too because there was, I was listening to this morning, the Caleb and Daniel, well, they said no plans to merge
Aaron
00:56:27 – 00:56:29
episode. Yeah.
Ian
00:56:29 – 00:56:37
Right. So I was listening to that today, and, they talked about us and this show a little bit. And one of the things they talked about was that they were surprised how much I code. And
Aaron
00:56:37 – 00:56:38
I know.
Ian
00:56:39 – 00:57:03
I feel like this is one of these things where it's like, you know what? I I'm not an excellent programmer, but I do know a lot about the problem space of my particular little area. And, and I've seen a lot of things when it comes to, like, what users actually do with software and things like that. And so, yeah, I'm like building the software because like, that's what got me into this to begin with. It's like, I like building software because I enjoy it.
Ian
00:57:03 – 00:57:19
I enjoy the artistic elements to it. I enjoy like connecting what users want to do with what the technology allows. And I'm not always doing that in yeah, the the what the Twitter sphere would, you know, give their huge thumbs up to. Right? Right.
Ian
00:57:19 – 00:57:40
But also, it's sort of awesome because now that's less important than ever in a lot of ways because, like, Laravel is gonna keep me from doing anything, not anything super stupid, but there's a lot of guardrails in place already. Right? Around like what I can do and how I should do it. And so there is a lot of help there that I didn't have 20 years ago when I first did it that it was just wild west. It's like, oh, yeah.
Ian
00:57:40 – 00:57:41
Now there's, like, all
Aaron
00:57:41 – 00:57:42
the PHP classes ended up
Ian
00:57:42 – 00:57:43
in the
Aaron
00:57:43 – 00:57:45
database. Yeah. Exactly.
Ian
00:57:45 – 00:58:13
So, there's all this good stuff now, and it's like, oh, yeah. It's, like, fun to be in there and doing it. And so, like, I can make that decision of, like, yeah. You know what? Like, I could hire somebody to, like, do this, but there's an element at the foundational level of an application that embedding the other things I know that are not programming related, but that if they're not in at the foundation impact, all the rest of the whole application that me doing right now is, is very useful for.
Ian
00:58:13 – 00:58:28
And at some point I don't need to be the person who dots every eye and crosses every t, but at a certain point early on here that it does make a lot of sense for me to be doing it since I know how to do it. And mostly, I just like doing it. So, it's fun. It's so fun. Yeah.
Ian
00:58:28 – 00:58:29
It's fun.
Aaron
00:58:29 – 00:58:58
Yeah. I I think there is, like I think there is a big, like, the ethos of Laravel feels more aligned to how I feel, and the ethos of, let's say, like, Next JS feels very, like, not focused on how fast can we ship something of value, but how technically interesting can we do a certain task. Right? Larabell feels like, hey. We these things, they're kind of facades.
Aaron
00:58:58 – 00:59:07
They're kind of static accessors. Like, doesn't really matter. It's gonna make it fast, easy, and testable. And I don't care what you call it. Like, it doesn't who who cares?
Aaron
00:59:07 – 00:59:13
Just, like, keep going. And, like, oh, the user the user model can save itself. Yeah. Yeah. It doesn't matter.
Aaron
00:59:13 – 00:59:27
It's just like, just keep going. It doesn't matter. Just go faster. And I feel like with, you know, other frameworks, I don't wanna pick specifically on next, but other frameworks, it's like, well, technically, you have to do it this way. It's like, I don't I just don't care.
Ian
00:59:27 – 00:59:27
Yeah. I
Ian
00:59:27 – 00:59:30
know we we're always kicking the JavaScript people on here,
Aaron
00:59:30 – 00:59:32
but I just feel like I I got you.
Ian
00:59:32 – 00:59:41
It's like Vercel. Like, Vercel is the poster child for this to me. It's like, they're just I mean, they're ostensive. I mean, for literally, like, a year and a half, I didn't even know what they did. Like, I The
Aaron
00:59:41 – 00:59:43
problem are you solving? Yes.
Ian
00:59:43 – 00:59:49
I didn't know what the company did. They're just always, like, shipping design stuff and JavaScript things. I'm like, I don't know
Ian
00:59:49 – 00:59:49
what to
Ian
00:59:49 – 00:59:55
actually do. So okay. There are some kind of hosting thing for next, I guess, or whatever. Fine. Like, that's as far as I've gotten.
Ian
00:59:55 – 01:00:00
They host front end stuff. Great. And they still already shipping all
Ian
01:00:00 – 01:00:00
this stuff.
Ian
01:00:00 – 01:00:04
End. So there's, like, all this money in that world. They're back
Aaron
01:00:04 – 01:00:06
to where they put in. Money. So
Ian
01:00:06 – 01:00:14
much money. So much money. I just feel like there's so many people that, like, have all this time to, like, ultra optimize on, like, this weird shit. And it's like Yeah.
Ian
01:00:15 – 01:00:15
In the
Ian
01:00:15 – 01:00:17
end, you know, when all the money runs out
Ian
01:00:17 – 01:00:17
Yes.
Ian
01:00:18 – 01:00:48
It's just gonna be back to, like, what did you do for the customers? What did you ship that people found valuable and were willing to pay money for? And then all this stuff will go away just like it always does, like, every cycle where, like, whatever the hot thing is, Ruby at one point or whatever. Like, this whatever hot thing, all the money's in there, and everybody's arguing about what the best way to do whatever is. And then it all goes away eventually, and only the people outstanding are people who, you know, did something that people found actually valuable and not just
Aaron
01:00:48 – 01:00:53
sort of Like, Shopify. Did you see their Black Friday numbers on Ruby?
Ian
01:00:53 – 01:00:54
That's crazy.
Aaron
01:00:54 – 01:00:56
They're on rails in my sequel, and they
Ian
01:00:56 – 01:00:56
did Right.
Aaron
01:00:56 – 01:01:03
Like, unbelievable numbers. It's like, y'all, this all this boring stuff still works.
Ian
01:01:04 – 01:01:13
Right. Well, that's good. That was super interesting. They have, like, a mix of 5.78 Yeah. Different MySQL clusters and, like, all kinds of stuff going on.
Ian
01:01:13 – 01:01:30
It's, like, amazing how far you can push this stuff. If, you know, when if you ship something valuable enough, then it's like, yeah, whatever we can just solve this problem with money. Like we just hire all the good engineers and like, they just somehow make MySQL scale to 8 gazillion transactions a second. Well, HubSpot and all that.
Aaron
01:01:30 – 01:01:37
HubSpot's also on MySQL, and they're using Vitesse. They host it. You know, they they run their own stuff. They don't have any affiliation with us, but they're
Ian
01:01:37 – 01:01:37
Mhmm.
Aaron
01:01:38 – 01:01:59
They're running I think I just did an interview with them before I left, for for PlanetScale. And they've got, I think, a team of 5 engineers, and they're running, you know, 100 and 100 and 100 of databases. And it's like, well, that's pretty awesome. I feel like there's Yeah. Like, the image I have in my head is, like, what is the, like, what is the thing on the horizon?
Aaron
01:01:59 – 01:02:15
Because I feel like the thing that I am, like, headed towards is building something cool, and along the way, I'm, like, becoming a better developer. Right? But the thing that I am not heading towards, I'm not heading towards, like
Ian
01:02:16 – 01:02:16
Right.
Aaron
01:02:16 – 01:02:31
Become a 10 x engineer or whatever. If that happens along the way, fantastic. Bully for me. Yeah. But, like, I am my my focus on the horizon is build things and along the way, pick up skills.
Ian
01:02:31 – 01:02:36
Yeah. Yeah. I I'm the same way. Definitely. It's like yeah.
Ian
01:02:36 – 01:02:39
The the programming skills are in service of
Aaron
01:02:39 – 01:02:40
Yes. Exactly.
Ian
01:02:40 – 01:02:47
The other goal. Right? Like, whatever the the main goal is. Yeah. And I think it's sort of interesting because we're in this weird time.
Ian
01:02:47 – 01:03:05
Like, on the one hand, it's like there's all these guardrails and things are easier because you have these frameworks that makes them easier. But then on the other hand, like everything's also way more complicated. Like in the old days, there was a database and a web server and that's it. Like, there was there wasn't even anything else you could do. And now there's like, well, should I put my, you know, search engine on?
Ian
01:03:06 – 01:03:17
Do I use the built in right SQL 1 or should I have Elasticsearch or should I go to a Milli search or should I do this thing? And the other thing, like, every every single component is like a this whole decision tree.
Aaron
01:03:17 – 01:03:17
Right.
Ian
01:03:17 – 01:03:26
Like, do I wanna outsource this or host it myself or build it myself or, like, whatever? There's all this stuff, customer expectations of how fast things are and all that.
Aaron
01:03:26 – 01:03:28
Yeah. It's all it's all got more complicated.
Ian
01:03:28 – 01:03:37
Yeah. It's so much more complicated too, but oh, man. So I don't know. But you're it's, yeah. It's I don't know.
Ian
01:03:37 – 01:03:37
There's a
Aaron
01:03:37 – 01:03:38
lot there. We can go
Ian
01:03:38 – 01:03:40
out a long time with just that.
Aaron
01:03:40 – 01:03:40
But Yeah.
Ian
01:03:41 – 01:03:43
What else we have? What else we got going on here?
Aaron
01:03:43 – 01:03:50
Alright. You wanna go to my static site? You wanna go to Laravel Pulse? Where you wanna go?
Ian
01:03:50 – 01:03:54
I haven't looked at Pulse too much, but I'm excited about it.
Aaron
01:03:54 – 01:03:57
I think Pulse is gonna be cool. Alright. You wanna go to static site first?
Ian
01:03:57 – 01:03:58
We should go to your static site.
Aaron
01:03:58 – 01:04:02
Okay. So I have a bone to pick with you know, sometimes you put these
Ian
01:04:02 – 01:04:03
cards for this.
Aaron
01:04:03 – 01:04:18
You put these cards in, and I'm like, hey, man. So so the card says, what's up with Aaron's crazy? What's up with Aaron's crazy? It's a little crazy. Static static site setup.
Ian
01:04:18 – 01:04:19
So It's not static.
Aaron
01:04:19 – 01:04:32
We well, if we can go to the tape, I'm gonna I'm gonna rewind. We're gonna go to the tape where we talked about static site generators, and we were both like, ridiculous. Nobody needs them. Just use Laravel.
Ian
01:04:32 – 01:04:32
Totally.
Aaron
01:04:32 – 01:04:46
And then I I come out with this great video about how I'm just using Laravel, and this card pops up that says Aaron has a crazy that excites me. So what what do you mean it's crazy? It's just Laravel.
Ian
01:04:46 – 01:04:51
Do you but see, it's not. Right? Because, I mean, now maybe I'm just misunderstanding what you're doing.
Aaron
01:04:51 – 01:04:52
Okay. Let me give the rundown. Fair.
Ian
01:04:52 – 01:04:56
You give the rundown of what your setup is, and it also lies crazy.
Aaron
01:04:56 – 01:05:04
Okay. So my site, is a Laravel site. Full, like, not Jigsaw. Not it's just Right. Laravel.
Ian
01:05:04 – 01:05:04
Pure.
Aaron
01:05:04 – 01:05:24
Just a Laravel. It's just pure Laravel. The way that I keep track of the content. So on my side, I've got a bunch of, like, articles that I've written on my site and elsewhere and videos that I've published on my channel and Planet Scale channel. And, basically, the the crux of the site is a big list of things that I have done.
Aaron
01:05:24 – 01:05:49
You can click out and read them, watch them, whatever. Mhmm. All of that is stored in a SQLite database. The reason it's in a SQLite database is because I can just ship the entire site wherever I want. Where I want right now happens to be Laravel Vapor, but if I wanted to ship that to fly dot I o later or Digital Ocean Box, you know, I could do that because it's all just, you know, self contained.
Aaron
01:05:49 – 01:05:59
Yep. So to get static site speeds, I have Cloudflare, which you love, active investor.
Ian
01:06:00 – 01:06:03
Oh, man. It's up 5% today. Let's go. Oh. Let's go.
Aaron
01:06:03 – 01:06:05
I get every freaking day.
Ian
01:06:05 – 01:06:06
Cloudflare, baby.
Aaron
01:06:06 – 01:06:14
Gosh. So to get the static site speeds, I have this rule in Cloudflare that's just brute force cache
Ian
01:06:14 – 01:06:16
I'm with you. Everything. I'm with you all the way. Around.
Ian
01:06:17 – 01:06:17
Cash
Aaron
01:06:17 – 01:06:25
and everything. And then and then okay. So we're we're on the straight and narrow so far. SQLite, boring as could be. Laravel Perfect alignment.
Aaron
01:06:25 – 01:06:27
CloudFlare active investor.
Ian
01:06:27 – 01:06:27
I love it.
Aaron
01:06:27 – 01:06:35
So not crazy yet. Nope. And so when I deploy, I make a API call to CloudFlare that says, blow everything up. I'm coming, baby. Right.
Ian
01:06:35 – 01:06:36
And so
Aaron
01:06:36 – 01:06:43
it just it just kills the cache. Yep. And then the next time somebody requests it, it'll hit vapor. It'll run through Cloudflare. It'll cache.
Ian
01:06:43 – 01:06:43
Yep.
Aaron
01:06:44 – 01:06:46
What is crazy about that?
Ian
01:06:46 – 01:06:47
All not crazy.
Aaron
01:06:47 – 01:06:49
That that's all it is.
Ian
01:06:49 – 01:06:58
No. But you're leaving out a step. In the video, you had this whole other step where you do some local stuff, and then you push the local stuff to the server. But you don't need to do that step.
Aaron
01:06:58 – 01:06:59
What are you talking about?
Ian
01:06:59 – 01:07:02
Am I just am I just wrong on this? I thought you were doing some
Aaron
01:07:02 – 01:07:09
vocal stuff. Down like, I I call the YouTube API and see, like, what are the new videos? How many views do they have? Yeah.
Ian
01:07:09 – 01:07:18
But cases crazy. Stuff on the website. Like, why do you have to pull everything down and republish it up, and you could just do that on the live website? But could that just be on there?
Aaron
01:07:19 – 01:07:25
So you can't write to sequel I in vapor because the vapor file system is ephemeral
Ian
01:07:26 – 01:07:26
and just
Aaron
01:07:26 – 01:07:29
gonna get blown away. Yeah. And so what I do locally
Ian
01:07:29 – 01:07:30
is the problem here.
Aaron
01:07:30 – 01:07:32
Vapor's not a problem. How dare you?
Ian
01:07:32 – 01:07:34
Problem. Vapor is not
Aaron
01:07:34 – 01:07:37
a problem. It's it's not a problem in GitHub.
Ian
01:07:37 – 01:07:42
I actually like this whole step that you you have a whole series of local steps, which to me is against the
Aaron
01:07:42 – 01:07:43
speed of what
Ian
01:07:43 – 01:07:43
we're talking about.
Aaron
01:07:44 – 01:07:55
Even have to they don't even have to be local. I run them in GitHub actions. So when I when I push when I push to GitHub when I push to GitHub, it runs this action. It's like, hey. Mhmm.
Aaron
01:07:55 – 01:08:04
Has Aaron published any new videos? Let's put those on the website. So part of this is, like, gathering digital detritus from all across the Internet and putting it somewhere But
Ian
01:08:04 – 01:08:07
couldn't you just do that at all? But, again, see, I think this is like a vapor.
Aaron
01:08:07 – 01:08:08
It's because
Ian
01:08:08 – 01:08:12
you're insisting on being on vapor that you you can't just have a cron job and a command that does this.
Aaron
01:08:13 – 01:08:23
Okay. Okay. Well, if I'm on if I'm on fly dot io and then I blow the box away and rebuild it, then the SQLite database is gone. It's SQLite. It's not vapor.
Ian
01:08:23 – 01:08:37
I'm I'm just saying, I think that I think this is you've overcomplicated it to me. Just put it undercomplicated it. Just though, just put it on DigitalOcean. Just put it on a server, and then you wouldn't have to do all the steps. You just eliminate 10 steps if you just have it on a server.
Ian
01:08:37 – 01:08:38
No. But Yes. Yes.
Aaron
01:08:38 – 01:08:40
Then I have to manage a server, and I have to manage a
Ian
01:08:41 – 01:08:49
What manual? A server stays up right. No. You can still use SQLite. Then then you can actually use SQLite because you can write to it on that server.
Ian
01:08:50 – 01:08:54
You can just do everything you're talking about doing on the server. Yes. Yes. Yes.
Aaron
01:08:54 – 01:09:00
No. You can. It's crazy. This is my system is less complicated than what you're describing.
Ian
01:09:01 – 01:09:01
More complicated.
Aaron
01:09:02 – 01:09:03
Why is it more complicated?
Ian
01:09:03 – 01:09:07
Because you shouldn't have to have to push. Why would you have to push
Aaron
01:09:07 – 01:09:07
a little push?
Ian
01:09:07 – 01:09:18
Unless you were changing the website. If you're, like, changing the design or whatever, fine. But like otherwise you shouldn't, if you just put it on a droplet. Yeah. You could have a command that sucks in your new YouTube videos, whatever.
Ian
01:09:18 – 01:09:25
Right? But whatever it does when it finds something new, it clears the the cache. Mhmm. And that's it. And you don't ever have to push anything from local ever.
Ian
01:09:25 – 01:09:31
You're pushing a bunch of stuff from local, but you don't ever have to do that. If it was just on a regular server, you wouldn't have to do that. You'll have
Aaron
01:09:31 – 01:09:36
to by your avatar. Hoist it by your avatar. I don't have to do that. I don't have to.
Ian
01:09:36 – 01:09:37
You want
Aaron
01:09:37 – 01:09:39
them now? No. I don't. Get get hub action videos. Get get
Ian
01:09:39 – 01:09:40
hub action
Ian
01:09:40 – 01:09:43
for me. Only on the push?
Aaron
01:09:43 – 01:09:44
No. It's on a schedule.
Ian
01:09:45 – 01:09:48
Okay. It's on a schedule. Well, you said every time it pushes. You said
Aaron
01:09:48 – 01:09:51
when it pushes, you know It happens then too. Alright.
Ian
01:09:52 – 01:09:53
I don't know. It's been very complicated.
Aaron
01:09:54 – 01:09:56
It runs at midnight. You can't tell
Ian
01:09:56 – 01:10:07
me this story is less complicated than a pure Laravel app with a SQL like database and a command. No. It's not it's not less complicated than that. It's just that it can't be. It can't
Aaron
01:10:07 – 01:10:18
be. It's so much less complicated than that. It is. It's a SQLite database, and I just put stuff in it, and then I can just ship it wherever I want. That's so much less complicated.
Ian
01:10:18 – 01:10:26
No. But you can still use SQLite. It's just on the server. You don't need this whole local step. You could write, you could publish on the server, right?
Ian
01:10:26 – 01:10:30
You could just have it be all on the server. You don't need a local anything.
Aaron
01:10:30 – 01:10:32
What is the problem with the local something, though?
Ian
01:10:32 – 01:10:41
To say. It's like an extra thing that I don't think you need. It's like a whole extra series of steps that are unnecessary just so it could be on a serverless platform. But what do you care for?
Aaron
01:10:41 – 01:10:47
Which I don't which makes me serverless. I don't I don't have I don't have any complaints. I don't have to do anything. It's serverless.
Ian
01:10:47 – 01:10:51
I'm good with vapor for and for, like, an actual application, there's a great use case
Aaron
01:10:51 – 01:10:56
for Pejorative. Actual. I'm gonna call I'm gonna say actual was pejorative there.
Ian
01:10:56 – 01:11:02
I don't I don't love that. Dot com. Like, I don't know if it's It's a great it's a great domain. 9999 percent uptime. Like It
Aaron
01:11:02 – 01:11:02
costs me, like,
Ian
01:11:02 – 01:11:07
once every 4 years. You go down for 3 hours. Like, it's not a big deal.
Aaron
01:11:07 – 01:11:08
No. No.
Ian
01:11:08 – 01:11:10
You're not buying it?
Aaron
01:11:10 – 01:11:12
This is new. This is a generational thing.
Ian
01:11:12 – 01:11:18
We've been we've been so on the same page. We've been so on the same page this whole time.
Aaron
01:11:18 – 01:11:27
Yeah. I don't know, man. I find it so easy. And here's the thing. I don't ever think about syncing content locally.
Aaron
01:11:27 – 01:11:44
Like, I don't ever think about pulling the YouTube and the transistors. Like, I have our podcast feed. I've got both YouTube channels. I don't ever think about, like, pulling that down locally. I just am, like, writing my little articles, make my little CSS tweaks, commit, push, and then the GitHub action's like, oh, wow.
Aaron
01:11:44 – 01:11:51
I'm here. Might as well pull down all the new content, update the view counts on YouTube, and then then we'll push it out.
Ian
01:11:52 – 01:12:15
It's great. I just think in the purest form of the Laravel as as static site with Cloudflare. The purest form of that is a truly pure Laravel app. If you have something that needs to happen on the schedule, it has a command and a cron, and that's what gets pushed up one time unless you're, like, making structural changes, and then that's it. And then Cloudflare does its thing.
Ian
01:12:15 – 01:12:31
You can have whatever. You can refresh the cache if something changes and there's no other steps necessary. There's like the the the minimalist version is just pure Laravel on a server and Cloudflow. That's all you actually need to do. I guess that's what I'm saying.
Aaron
01:12:32 – 01:12:39
I could I could see that. I could see that. As long as we're on the same page about SQLite being a nice, like
Ian
01:12:40 – 01:12:44
Yeah. I'm fine with SQLite. But SQLite works on the server just fine. You can write to it on
Aaron
01:12:44 – 01:12:53
the server. It does, but you can't you can't, like, like, getting SQLite You can't you can't
Ian
01:12:53 – 01:12:58
do it on vapor because it's ephemeral. But on a server, you could do it.
Aaron
01:12:59 – 01:13:08
You right. On a server, you could go in and get all the content and dump it down and bring it home if you needed to, like, back it up or, you know, switch providers or whatever.
Ian
01:13:08 – 01:13:11
You just turn on the backups for a dollar a month or whatever.
Aaron
01:13:11 – 01:13:24
I do like I like the site being self contained both, like, presentation and data. I like that all being in a single like, in the Git repo. Okay.
Ian
01:13:24 – 01:13:41
So you're on the GitHub repo app. Because even with I'm just thinking with even with vapor, you can connect the EFS file system stuff, and you could put your SQLite database on that. And then you would have your vapor true. I mean, that would be more complicated. I think this is getting away from this embassy, which I Yeah.
Aaron
01:13:41 – 01:13:42
It's crazy. For an actual
Ian
01:13:42 – 01:13:42
for an
Aaron
01:13:42 – 01:13:45
actual website, maybe. Yeah. Right.
Ian
01:13:45 – 01:13:51
Yeah. Yeah. But, so, yeah, I do I think I get aspects sort of interesting there. Self contained
Aaron
01:13:51 – 01:13:59
unit is is, is aesthetically pleasing to me. It's like, this is my this is my bundle of my website, content included.
Ian
01:14:00 – 01:14:07
You could have Git running on the server, and you could have your push it back into the repo. I don't want I'm saying if you wanna push it back into the repo
Aaron
01:14:07 – 01:14:10
I don't wanna do all that. If you wanted to. That's a lot. So complicated.
Ian
01:14:10 – 01:14:12
That important to you. I'm just saying.
Aaron
01:14:12 – 01:14:17
It's not. I just like I just like having it all as, like, a bundled unit.
Ian
01:14:17 – 01:14:18
This is like a
Ian
01:14:18 – 01:14:18
more more of your psychosy sort of situation.
Ian
01:14:18 – 01:14:18
Who's that first situation?
Aaron
01:14:19 – 01:14:21
Of your psychosomatic sort
Ian
01:14:21 – 01:14:23
of situation. Who's on first
Aaron
01:14:23 – 01:14:29
situation is what this is. Mhmm. It makes perfect sense. This is the first time I ever used the light. It's great.
Aaron
01:14:29 – 01:14:30
I have.
Ian
01:14:30 – 01:14:30
I
Ian
01:14:30 – 01:14:34
I've never really used it. I wanna I wanna try to use it for something.
Aaron
01:14:34 – 01:14:34
Well, I've got
Ian
01:14:34 – 01:14:35
a great
Aaron
01:14:35 – 01:14:38
video on how I don't know how to run
Ian
01:14:38 – 01:14:44
your site. Oh, I mean, you could even get into that. You don't even need SQLite. You could just have, like, files. And what's it?
Ian
01:14:44 – 01:14:47
What do you need the database for? Like, you know what I mean? Sushi.
Aaron
01:14:47 – 01:14:50
I tried sushi, which is Caleb's thing.
Ian
01:14:50 – 01:14:50
Mhmm.
Aaron
01:14:50 – 01:15:11
And it's great. It's great for a single, like, a single model. But then once you start, it broke down for me a little bit when I started, like, pulling stuff down from APIs, like the transistor API, the YouTube, and all that. Like, it started to break down a little bit in terms of, like, this isn't actually you can do it. It's just not super built for that.
Ian
01:15:11 – 01:15:12
Right.
Aaron
01:15:12 – 01:15:20
So that's when the, like, the crazy synchronized commands came in where I would just pull it down and write it to a SQLite database because that's what sushi does anyway.
Ian
01:15:21 – 01:15:28
Mhmm. You could put it into JSON files or XML file. You could leave it as RSX feed. I mean, there are there are options out there if you wanna go totally
Aaron
01:15:29 – 01:15:31
chosen the best one. Yeah.
Ian
01:15:31 – 01:15:33
I don't know. The best option seems like
Ian
01:15:33 – 01:15:33
a little
Ian
01:15:33 – 01:15:36
bit of extra complexity, but it's not terrible. I do love it.
Aaron
01:15:36 – 01:15:38
And I get to use eloquent. Then I get to use.
Ian
01:15:38 – 01:15:39
That is nice. Yeah.
Aaron
01:15:39 – 01:15:49
Yeah. So I can just say, like, oh, you clicked the videos tab. You know, content, where type people equals videos. Like, ah, I'm just using plain old eloquent, which is nice.
Ian
01:15:49 – 01:15:54
You'll appreciate this since you are a man who's built an advanced eloquent tool
Aaron
01:15:54 – 01:15:55
at one point. Me.
Ian
01:15:55 – 01:16:00
But just eloquent, doesn't it just, like, blow your fucking mind? Like, there's just times where, like
Aaron
01:16:00 – 01:16:01
just that I can have
Ian
01:16:01 – 01:16:18
things where, like, I could just return the query builder, and then somewhere totally else can do something with that query and add to it. And then something else is, like, runs the query. And, like, this sounds complicated, but actually makes total sense in this an actual use case here. And it's just, like, passwords
Aaron
01:16:19 – 01:16:21
into query builders for subqueries.
Ian
01:16:21 – 01:16:21
And Yes.
Aaron
01:16:21 – 01:16:22
It is That's all crazy. Unbelievably good.
Ian
01:16:22 – 01:16:23
I'm I'm maybe,
Aaron
01:16:29 – 01:16:35
just based on time spent with Eloquent, I'm I've gotta be up there in terms of
Ian
01:16:35 – 01:16:36
Right.
Aaron
01:16:36 – 01:16:49
Top few percentage of people that have really gone super deep into Eloquent because of the filter builder. And at every level, at every layer, it is very good. It is very good.
Ian
01:16:50 – 01:17:13
The I'm gonna go into the archive here for the for the fans of the podcast here. So Taylor, when he worked at UserScape very, very early, Eloquent was totally different. It was all built different. I guess this was Laravel 3 and whatever we were hitting stuff with it, whatever. I I'd let it's so long ago now that I don't even really remember the details, but he was like, this is all shit.
Ian
01:17:13 – 01:17:31
It's terrible. Right? He literally went off and he went off and we were watching breaking bad at the time. He went off and, like, into this, like, he was just in this, like, fugue state or something where he's just, like, big brain. His his brain expanded, and he came back out, Like, a day later, maybe it was 2 days later.
Aaron
01:17:31 – 01:17:33
I'm picturing Moses coming down with the tablets.
Ian
01:17:34 – 01:17:42
That's what it was like. That's literally what it was like. And he was like, I cracked it. He's like and it was just, like, all built and done. It was like the eloquent you have today.
Ian
01:17:42 – 01:17:54
Like, the core, obviously, is a million other functions now. But, like, the core is was is what it is now, and he just, like, had totally reinvented it. And we were all just like, woah. Like, this is crazy. Like, it was it was the most insane.
Ian
01:17:54 – 01:18:04
I don't even think he he I think he he was like I don't even know how I did it. I don't remember anything. Like, it just, like, flowed out of him. But, Yeah. God God wrote
Aaron
01:18:04 – 01:18:05
it with his own finger into the snow.
Ian
01:18:05 – 01:18:06
It's how
Ian
01:18:06 – 01:18:06
it happened.
Ian
01:18:07 – 01:18:11
Along that line. God's got his hand on his brain type of thing. Yeah.
Aaron
01:18:11 – 01:18:21
Yeah. It's good. It's really good. And that's why I like that's another one of those, like, gaps I have in my knowledge when people are, like, complaining about ORMs. I'm like, y'all.
Aaron
01:18:22 – 01:18:26
Maybe your ORM just sucks. Like, ours is really, really good.
Ian
01:18:27 – 01:18:32
And it's still and then even it makes it very easy when you do have to drop down into a raw statement or something.
Aaron
01:18:32 – 01:18:33
If you need to time.
Ian
01:18:34 – 01:18:46
Get in and do something super special because you have a weird scenario, like, fine. You can do that, and it'll still do all the niceties around the raw element you need or whatever. Oh, and you can just use a straight DB builder, which works just like Eloqua.
Aaron
01:18:46 – 01:18:47
Base builder.
Ian
01:18:47 – 01:18:54
So The base builder's great. Base builder. Like, you could just I do that a lot. Just writing straight queries. So there's, like yeah.
Ian
01:18:54 – 01:18:57
All that that whole subsystem there is so good.
Aaron
01:18:57 – 01:19:19
I remember spoiled. So when, yeah, when Colleen and I were working on the Ruby version of refine, which is that filter builder, I remember I remember, like, working with her. We would pair a lot, and we would work together, and I would try to explain, like, how something worked on the Laravel side so she could reinvent it on the Ruby
Ian
01:19:19 – 01:19:19
or the
Aaron
01:19:19 – 01:19:42
Rails active record side, and it was just worse. And she would even comment, like, oh, that is that's really, like, easy for y'all. Yeah. Like, I gotta do all these I gotta jump through all these hoops and, like, add these extra nodes that I'm then later gonna have to remove because I don't really have that affordance here. And I remember thinking, yeah, ours is ours is pretty slick.
Aaron
01:19:42 – 01:19:50
Is it? Okay. Yeah. Really? So I've seen I've seen a lot of rails as active record, and it's good, but it's did it's it's not it's not as good.
Ian
01:19:50 – 01:20:00
Eloquent is so good. I feel like there's so much other stuff in the ecosystem now that, like, now like, Eloquent used to be, like, the big thing, and now it's sort of like I feel like people don't talk about it as much because it's,
Aaron
01:20:00 – 01:20:01
like, a table of Yeah.
Ian
01:20:01 – 01:20:05
This pulse, and there's all this other stuff. Right? There's all this huge ecosystem. Horizon. Right.
Ian
01:20:05 – 01:20:18
Yeah. And there's all kinds of stuff. But eloquent just itself, it's just so when you just work with it, it's just so nice. It's just, like, even stuff like syncing, you know, with when you have, like, many to many table or whatever. Like, just stuff like that.
Ian
01:20:18 – 01:20:31
Like, the pivots and, like, accessing another column on a pivot. Like, all this stuff is, like, there and thought out and, like, just so clean to work with. And when you just look at the code, it makes sense. Somebody else can follow it. Like, it's Yes.
Ian
01:20:31 – 01:20:32
So good. Just love it.
Aaron
01:20:32 – 01:20:50
Go if you haven't drilled down, dear listener, go, like, go go around good. Down there. It's, yeah, it's very good. And the traits for the relationships are wild. Like, how all of that how all the, you know, one to 1, one to many, all that stuff
Ian
01:20:50 – 01:20:50
is like
Aaron
01:20:51 – 01:20:52
works. I don't know how
Ian
01:20:52 – 01:20:53
it works inside. I I don't
Ian
01:20:53 – 01:20:54
know how to
Ian
01:20:54 – 01:20:58
go in there. I just enjoy it on the surface. I'm like, this is good. I don't want to know how it works. I just love that it works.
Ian
01:20:58 – 01:20:59
It's so good.
Aaron
01:21:00 – 01:21:07
You'll you'll be happy. There's no disappointment down there. If you go down there and look, you'll be like, ah, I am glad I met my heroes. This is wonderful down here.
Ian
01:21:10 – 01:21:17
Oh, man. Alright. What else should we hit? We're we're out hour 20 here. Are we going are we going deeper?
Aaron
01:21:17 – 01:21:20
Just let me hit Laravel Pulse here for a second.
Ian
01:21:20 – 01:21:22
Yeah. Let's do it. Have you gone in the office?
Aaron
01:21:23 – 01:21:33
A little bit. I talked with Mhmm. Jess and Tim a little bit on, how they're doing some of the query stuff. And I think also Jess went into what what did you call it? A fugue state?
Ian
01:21:34 – 01:21:35
Yeah. Fugue state.
Aaron
01:21:35 – 01:22:04
That's a new one. Also, we have rejoined her in fugue. I think Jess, after we talked, went into a fugue state and, like, reworked a bunch of the stuff because they're storing a lot of data, a lot of, like, time series data, which, you know, relational databases can struggle with sometimes. But Laravelpulse is, you know, this dashboard, high level overview card based system for, like, keeping track of stats and stuff on your on your application. And I reached out to Jess and Tim and was like, hey.
Aaron
01:22:04 – 01:23:06
I wanna write one, you know, for MySQL in a DB rose red because it's like it approximates, you know, planet scale insights, but it's worse. And so, like, I want people to know that, like, this is a way you can look at, like, how your database or, actually, how your queries are either missing indexes or, you know, running too much or whatever, with the idea that that will then lead to, like, oh, we should get the better version, which is planned skill insights. And so Jess helped me write a card for my SQL, you know, DB status, and it's just like it's another it feels to me like another, like another Nova where they provided this unbelievable scaffolding and infrastructure, and you can now come in and be like, ah, I wanna write a little card for this thing. And it's like, I'll hit it here, and I'll listen to this, and I'll put out this, and now it's beautiful. And it's gonna be, I think, even easier than Nova because it's all LiveWire, and so you don't have to, like, have your Vue assets get bundled and packaged and shipped.
Aaron
01:23:06 – 01:23:06
And
Ian
01:23:07 – 01:23:07
Right.
Aaron
01:23:07 – 01:23:33
I've done a ton of Nova as well, and it's like, that's that's a little bit difficult to to customize because of the front end asset story. Mhmm. So I don't know when Pulse is coming out. You know, I think they have been furiously reworking some of the roll ups to get, like, the the stats working correctly, but it's gonna be really good. And I've got I think I have some secret ideas on things to do, and I don't wanna I don't
Ian
01:23:33 – 01:23:36
this did you build this card already? Have you built with it or no?
Aaron
01:23:36 – 01:23:41
Jess just built it. And then we had a call to go over how how it was all built. So I have.
Ian
01:23:41 – 01:23:42
Okay.
Aaron
01:23:42 – 01:24:01
I didn't build it, but she used it as the first like, how would a third party card be built? And I think it, you know, just revealed a few rough edges. Mhmm. But then after that, we spent, like, 2 hours talking about queries and stuff, and they're just everyone at Laravel is just so smart. Yeah.
Aaron
01:24:01 – 01:24:07
I know. They're just so smart. Like, I was talking to Jess, and I was like, have you thought about this? Like, yeah. I thought about this, but what about this, this, and this?
Aaron
01:24:07 – 01:24:22
I was like, oh, that's a really good point. So, no, I haven't built it yet, but I have beyond the my sequel, you know, res red, whatever. I think I have some ideas for things that could be cool for Pulse, and I don't want to get scooped, so I'm not going to say them yet.
Ian
01:24:22 – 01:24:25
But are these commercial commercial ideas? Open source ideas?
Aaron
01:24:25 – 01:24:37
So I don't think so. I think it's going to be primarily open source, primarily like content, but could be. I don't know. I just don't want to get screwed. But, yeah, stay tuned.
Aaron
01:24:37 – 01:24:48
I think it'll be I think it'll be really interesting. And I think I think it's, it's a good meta framework for certain, like, time series data stuff. So
Ian
01:24:48 – 01:25:09
Is it gonna be, like you I I assume it's gonna be usable for just all kinds of dashboard ish type things. Is that seem accurate? Not just sort of server statistics even though that is what it's gonna come out of the box with. Yeah. So I I always want a good dashboard type thing, but it's just never, like I don't know.
Ian
01:25:09 – 01:25:16
I use was there grasshopper or some I don't know. There's one there's a couple of them out there that are, like, these dashboard type things, but they never really stuck. And
Aaron
01:25:16 – 01:25:17
Right. Right.
Ian
01:25:17 – 01:25:31
I don't know, but if it was just like part of the app and then Right. You can do other stuff in there, like, that seems pretty cool. Like it's all in one spot and, all the trickiest stuff to wire up in some sense is like already there. Cause like the it's on the server
Aaron
01:25:31 – 01:25:32
exactly server
Ian
01:25:32 – 01:25:41
stuff and then, okay. Now I can just call APIs for like whatever, Stripe or whatever other other stuff I wanna just pull in for other cards on that card.
Aaron
01:25:41 – 01:25:48
Timing functions are handled for you and, like, the, you know, the display is all handled for you and, like, you're not building out It's
Ian
01:25:48 – 01:25:53
not storing individual row entries, I assume. It's like it's like incrementing.
Aaron
01:25:54 – 01:26:09
That is some of the wizardry that I think Jess has been working on the past Yeah. Week or 2 is, like, how do you store enough unaggregated data to be interesting, but not too much that it is a bottleneck and, like
Ian
01:26:09 – 01:26:13
Right. That's your server because you're storing every every query
Aaron
01:26:13 – 01:26:31
or whatever it is. We went super into, like, window functions and rolling up and stuff, and I think I think she has found a novel approach that I have yet to see. But from what I understand, it's incredibly smart, which surprises nobody. So Well, that means I I'm excited. I think it's a I think it's a big one for for
Ian
01:26:31 – 01:26:32
Laravel Inc.
Ian
01:26:32 – 01:26:59
This is one of the things I'll I'll definitely be digging around in that code because I think this is one of the things for HubSpot in the future here that, like, we've always just queried the database for reports just like pure. And Yeah. But the databases can be huge. And so like, then those queries are obviously terrible because it's like database doesn't really like to do that in in the traditional relational database. So, it's like, yeah.
Ian
01:26:59 – 01:27:18
Do you, like, have reporting tables that do some type of aggregation or something like that, so you can report. Because I'm I am a fan of the real time report. I do that's another downside of DynamoDB. Because, like, you're pretty much stuck. There are some real time solutions, but you're kind of mostly stuck with, like, things that are not really real time.
Ian
01:27:18 – 01:27:30
And I do prefer to have real time reporting. Yeah. So, yeah, I'll be able to see what they come up with. If they have something cool in there I can crib from, that would be Yep. Pretty awesome.
Ian
01:27:30 – 01:27:36
Or maybe things make their way back into Eloquent and Laravel that help with these sort of things. Who knows? Or Yeah.
Aaron
01:27:36 – 01:28:06
I forget I forget that we have non Laravel listeners whom we love dearly. So, pulse dotlarvel.com, shows you the the overview. It's a dashboard. It says vital signs in real time, and it's gonna be a free open source package. And the cards that they highlight are, like, CPU percentage, and it's a little spark chart and memory and storage and, like, how heavy like, how backed up are your queues and how many cash hits have you had and misses and stuff like that.
Aaron
01:28:06 – 01:28:13
And so they're pitching it as, like, a lightweight APM, application performance monitor, something like that.
Ian
01:28:13 – 01:28:15
That. Something like that. Yeah.
Aaron
01:28:15 – 01:28:22
God. What did Taylor say on the Laravel podcast? He's like, I think of it as a family doctor. He's like, I think of it as a family doctor.
Ian
01:28:23 – 01:28:23
And
Aaron
01:28:23 – 01:28:25
if you see a problem.
Ian
01:28:25 – 01:28:26
With the metaphor.
Aaron
01:28:26 – 01:28:35
Oh, he's. Yeah, I know. It's like, if you see a problem, you need to go to your specialist. So he's like, we don't have all the stuff that, for example, a century would have. Right.
Ian
01:28:35 – 01:28:36
Yeah.
Aaron
01:28:36 – 01:28:37
This is it's all aggregating.
Ian
01:28:37 – 01:28:38
New Relic
Aaron
01:28:38 – 01:28:43
or whatever. Go dig in somewhere else. So yeah. Yeah.
Ian
01:28:44 – 01:28:59
I thought it was kinda interesting too. Did you see, DHH, for the show? You know, they're doing the once whatever, some kind of software or whatever. We don't have to go back into all that. But he he released he tweeted Yes.
Ian
01:29:00 – 01:29:16
Authentication concern. Yes. An authentication concern that's gonna ship with this one thing they're shipping. Yeah. And I was like, you know, this is like they're getting they realize that Laravel is, like, so far ahead of them in some of these ways where, like, Laravel just ships, like, 5 different types of authentication.
Ian
01:29:16 – 01:29:33
You want, like, it's totally done for you. You want it's kinda done for you. You want it's not really done for you. You want it's, like, almost kind of all done for you, but just a little bit, like, it's got everything. And it's like, oh, and a lot of other stuff you announced at Rails World comp too, I think, was along these lines of, like, flushing out the ecosystem where So that's interesting.
Ian
01:29:33 – 01:29:34
Out there.
Aaron
01:29:34 – 01:29:54
I read those tea leaves differently. When he tweeted that authentication concern, I read that as a dig to the, authentication startups, not to Laravel, but to, like, the clerk dot devs of the world. It's like outsource your authentication to us for only, you know, $24 a user.
Ian
01:29:54 – 01:29:54
And you're
Aaron
01:29:54 – 01:29:59
like, wait. Hang on. Back up. So that is interesting.
Ian
01:29:59 – 01:30:03
Maybe that's true. Maybe my Laravel bias blinded me. I took that.
Aaron
01:30:03 – 01:30:06
Maybe my entire JavaScript bias blinded me.
Ian
01:30:06 – 01:30:25
It does it does also come I think it'll depend on what it actually is. Like, if you could only get this authentication concern when you buy the product, well, then, obviously, that's not like a a Laravel type thing. Laravel ships you all this stuff for free. So, but if it is, no. Like, this is a thing that you get for free separate from the product part, that anybody can just use now.
Aaron
01:30:25 – 01:30:31
Yeah. I think it's more of like a a secondary or tertiary benefit of buying whatever
Ian
01:30:31 – 01:30:43
may presume their sales is like. Much more like what you're saying, which that's a whole other thing we haven't talked about. I I went very deep, not just me. I actually hired Christopher Dow to go deep on these authentication
Aaron
01:30:44 – 01:30:46
startups. As a service. Yeah.
Ian
01:30:46 – 01:30:53
As a service. Because I'm like, you know what? It's always a pain in the ass to build. I mean, Laravel gives you a lot, but we need, like, SAML. We need active directory.
Ian
01:30:53 – 01:30:54
We need more
Aaron
01:30:54 – 01:30:55
than less. Okay.
Ian
01:30:55 – 01:31:07
So there's more than that. So like, it's always a pain in the ass to build these things. It's a security thing. This is like, you know, people are trying to hack me and all this stuff. It's like, well, a company that just does this is sort of interesting.
Ian
01:31:08 – 01:31:16
If it's not an insane amount of money, that you know, whatever. It's like less dev time. It's gonna be more secure potentially and whatever. Let let me see. This is all the hotness.
Ian
01:31:16 – 01:31:17
Right? Everybody's doing this.
Ian
01:31:17 – 01:31:18
Mhmm.
Ian
01:31:19 – 01:31:21
Oh, man. I went to Auth0. I was like, I'm Auth0.
Aaron
01:31:22 – 01:31:22
Tell me I'm so
Ian
01:31:22 – 01:31:27
excited. Like, this should be like these are they're owned by the Okta or whatever.
Aaron
01:31:27 – 01:31:29
Like Yeah. Okta.
Ian
01:31:30 – 01:31:46
First of all, I like, their business is insane. The whole business is totally insane. Let's just start there. None of these peep none of these services even dealt with multi tenancy until like very recently. Like all of them are like, we just released our multi tenant thing and I'm like, who's even using this except for multi tenant.
Ian
01:31:46 – 01:31:49
Oh my god. Internal applications with just one group of authenticated users.
Ian
01:31:49 – 01:31:49
Like, is that really
Ian
01:31:49 – 01:31:52
who's using? I don't know. So the whole thing is bizarre to be able to. Their pricing
Aaron
01:31:56 – 01:31:56
Tell me.
Ian
01:31:56 – 01:32:06
Is completely insane. It was like so so so they have this multi tenant, authentic. Uh-huh. I'm like, okay. I need the SAML.
Ian
01:32:06 – 01:32:23
That's like, basically why I want this is for like the SAM authentication. Okay. Well, how many are you gonna have? I was like, well, just in the customers we have now, we're probably gonna have like 60, 70, 80, a 100, like a good size number of customers who need this. Yeah.
Ian
01:32:23 – 01:32:28
Oh, well, that that's right there. You have to go on our maximum tier. I was like, how can my little company
Aaron
01:32:28 – 01:32:30
You're already on the maximum tier.
Ian
01:32:30 – 01:32:35
1,000,000,000 in revenue. We're on the maximum tier. I'm like, wait a minute. So okay. Well, the maximum
Aaron
01:32:35 – 01:32:39
There goes your couple million, by the way. They're about to take all of that.
Ian
01:32:39 – 01:32:43
So okay. So they're they're they're, like, that is per user on top of.
Ian
01:32:43 – 01:32:43
Sure. Yeah.
Ian
01:32:43 – 01:32:56
Be like the base price for a 1,000 active users was, like, $40,000 a year. And I was like, are you guys insane? I I was like, nobody's paying this. I refuse to believe it. Like, no.
Ian
01:32:56 – 01:33:02
You know? Blah blah blah blah. And I'm like, listen. That's just nuts. It doesn't make any sense.
Ian
01:33:03 – 01:33:21
Like, who's paying $40,000 a year for, like, a 1000 users? Like, that's the whole thing is insane. So then I looked at some of these other ones, but, like, you know, whatever. There's, like, the clerk one has reasonable pricing, but, like, you know, the whole thing they're in the Vercel circle of like,
Aaron
01:33:21 – 01:33:22
oh, big time.
Ian
01:33:22 – 01:33:31
All the logos are this just the other Vercel companies. I'm like, I don't know. Like, this company's gonna go out of business, and then my authentication's gonna go away. And that's the cute
Aaron
01:33:31 – 01:33:32
They're gonna go users' table.
Ian
01:33:32 – 01:33:39
See you. Yeah. So that's a bummer. So then I'm like, I forget it. We're just gonna have to just build it ourselves.
Ian
01:33:39 – 01:33:48
Like, we always do, and everybody else does, but it's like, I love the idea of it. I do love the idea of it, but it's I I don't understand who's buying it. I don't I don't know if you have any insights here, but I I don't understand.
Aaron
01:33:48 – 01:33:51
No. I I don't have any any insights
Ian
01:33:52 – 01:33:53
success. It seems like it was, like,
Aaron
01:33:53 – 01:33:54
woah. Yeah.
Ian
01:33:54 – 01:33:58
Yeah. It's crazy. And then Amazon has a thing too.
Aaron
01:33:58 – 01:34:03
Than I could have even imagined. Yeah. Don't Amazon does have a solution. Cognito or.
Ian
01:34:03 – 01:34:07
Yeah, Cognito, and it's much more reasonably priced. The pricing is fine.
Aaron
01:34:07 – 01:34:09
I'm sure. Yeah. Probably very barebones too.
Ian
01:34:09 – 01:34:22
Insane. When that does everything you know, it's like every Amazon thing. It does everything. Right. But, like, to get it to do everything, you know, is, like, a big, gigantic project that's way bigger than, like, building it yourself and whatnot.
Ian
01:34:22 – 01:34:46
So yeah. And it had some weird edge cases. We did he Fedalper went very deep on incognito, most of all of them, because it was like, the pricing is fine. But it has these weird limits in different spots that were gonna be a problem where you might have to have multiple accounts to get around some of these limits because there's, like, some actual hard limits in certain spots, and I'm just like, whatever. This is a Not at all.
Ian
01:34:46 – 01:35:00
It's already getting so complicated that, obviously, we're just gonna do it ourselves. Yeah. Yeah. So my guess, that was my little adventure down the path of $5,000. I literally couldn't believe it.
Ian
01:35:00 – 01:35:06
Like, I was like, I cannot believe that that is accurate. I was like, you should double check this. He's like, no. That's the price. Blah blah blah blah.
Ian
01:35:06 – 01:35:07
I'm like.
Aaron
01:35:07 – 01:35:09
I mean, OpenAI is using
Ian
01:35:09 – 01:35:09
Crazy.
Aaron
01:35:10 – 01:35:12
Auth0. Right? So, like, I think
Ian
01:35:12 – 01:35:12
They did
Ian
01:35:12 – 01:35:14
get a $1,000,000,000. So you know?
Aaron
01:35:14 – 01:35:19
Yeah. I think a lot of these big companies are using it, but I just yeah. It just continues
Ian
01:35:19 – 01:35:43
to leave me. So I guess it's right. It's one of those things where, like, if you're a huge company and you have lots of money, well, okay, it's, like, $40,000 base, and then you're gonna pay probably too much per user, but it's still only a few cents per active user a month. So whatever. If your bill is half a $1,000,000 a year or a $1,000,000 a year, $4,000,000 a year, but you don't ever have to think about authentication and you know it's done really well, fine.
Ian
01:35:43 – 01:35:52
Like, you know, so this is a little bit of that kind of case. Like, for OpenAI, maybe it makes sense for UserScape and HelpSpot. Like, it probably doesn't make any sense.
Aaron
01:35:52 – 01:35:53
Not too much. Yeah.
Ian
01:35:53 – 01:36:01
Yeah. So whatever. But it's at the same time, like, it's very weird. Like, why even sell? Like, just go the full, like, we don't sell to you.
Ian
01:36:01 – 01:36:06
Like, we're not for you. We don't sell to you. Don't waste our time. I mean, so it's weird.
Aaron
01:36:06 – 01:36:08
Got is the soft, we don't sell to you.
Ian
01:36:08 – 01:36:10
I mean, essentially, yes.
Ian
01:36:10 – 01:36:10
You got
Aaron
01:36:10 – 01:36:10
a price.
Ian
01:36:10 – 01:36:11
Guys talk
Aaron
01:36:11 – 01:36:12
for an hour. You know?
Ian
01:36:12 – 01:36:15
Like, I don't know. It's like, this Well, he's he's filtering
Aaron
01:36:15 – 01:36:19
number up on his board. That's like, I did a initial discovery call this
Ian
01:36:19 – 01:36:20
week. Demo.
Aaron
01:36:20 – 01:36:24
Don't fire me. I'm making my quota. Whatever. Yeah.
Ian
01:36:25 – 01:36:28
Yeah. It's bizarre. A whole world better than
Aaron
01:36:29 – 01:36:33
Yeah. So DHH is gonna ship authentication concern. There you go.
Ian
01:36:33 – 01:36:35
Yeah. I guess we'll see if that's
Aaron
01:36:35 – 01:36:35
We'll see.
Ian
01:36:35 – 01:36:37
I'll be curious to see what this one's been
Aaron
01:36:37 – 01:36:41
product or just a view source benefit of it.
Ian
01:36:41 – 01:36:44
Yeah. I'll be curious to see what they actually ship, so we'll see. I
Ian
01:36:44 – 01:36:45
Yeah.
Ian
01:36:45 – 01:36:51
Don't really know. I don't know. We got a couple other things here. We're we're already this far. I feel like we should knock a few of these out.
Aaron
01:36:51 – 01:36:53
We're this far. What do you got? I I picked the last shoe.
Ian
01:36:53 – 01:36:54
What do
Aaron
01:36:54 – 01:36:54
you got?
Ian
01:36:56 – 01:37:00
We we talked about shoes inside the house. Is that that's just old on here. Right? I don't really I don't
Aaron
01:37:00 – 01:37:03
know if we did talk about shoes inside the house. I think
Ian
01:37:03 – 01:37:06
we were talking about it on Twitter. Like yeah. Maybe that's it.
Aaron
01:37:06 – 01:37:07
Shoes inside the house.
Ian
01:37:07 – 01:37:14
Shoes inside the house is insane. Insane. Like, you can't wear shoes in the house. Your shoes are stepping on your dog poop and all those things. Now you got all kids running around.
Ian
01:37:14 – 01:37:15
This on Twitter.
Aaron
01:37:15 – 01:37:18
I simply do not step on dog poop. I think that's my strategy.
Ian
01:37:18 – 01:37:19
Stuff. You don't ever walk in grass?
Ian
01:37:19 – 01:37:20
Is that
Ian
01:37:20 – 01:37:26
what you're telling me? You don't ever walk in grass? Are you microanalyzing the grass in front of you as you walk? You're stepping a dog shit. I guarantee you.
Aaron
01:37:26 – 01:37:33
No. Let's walk the siren. I don't live in New York City. There's not human fecal matter on in my sidewalk. Okay.
Ian
01:37:34 – 01:37:38
I hope laracon's in Dallas because I'm gonna be looking with a eagle eye. Let me tell you.
Aaron
01:37:40 – 01:37:43
I actually really hope it's in Dallas too.
Ian
01:37:43 – 01:37:45
Yeah. That'll be fun. You'll have to show us all around.
Aaron
01:37:45 – 01:37:47
Be very helpful if it were in Dallas.
Ian
01:37:49 – 01:37:56
But I don't know. She was inside the house. I feel like you take your shoes off. I mean, we have a party with people over. We're not like everybody think their shoes off.
Ian
01:37:56 – 01:38:01
We're not fine. We're not those who are all the way to that. But, like, day in, day out, I take my shoes off. I got my slippers right there. Boom.
Ian
01:38:01 – 01:38:05
I'm getting slippers. So you gotta have the slippers. I'm not That's that's maybe that's
Aaron
01:38:05 – 01:38:09
maybe the problem. Maybe I don't have the right maybe I don't have the right equipment, but I wear shoes.
Ian
01:38:09 – 01:38:10
I'm at the house all
Aaron
01:38:10 – 01:38:13
day, every day. I have my shoes on.
Ian
01:38:13 – 01:38:15
Your feet, baby. Release your feet.
Aaron
01:38:15 – 01:38:22
I feel so secure when I have a pair of old Nikes on inside the house.
Ian
01:38:23 – 01:38:27
L. L. Bean slippers, baby. Just spend the money. It's, like, gonna be $75 or whatever.
Aaron
01:38:27 – 01:38:43
I think I I think I had them at one point, but it just felt you know, it felt I'm not getting dressed up, but it felt a little slovenly to, like, walk around with slippers on all day. It felt a little it felt a little, like, I'd given up a little bit.
Ian
01:38:45 – 01:38:50
Slippers, man. Just give in. Just save. It's so warm and fuzzy in the winter. It's so good.
Aaron
01:38:51 – 01:38:54
You wear slippers, like, with shorts around the house?
Ian
01:38:54 – 01:38:56
You're damn right. I do. So I
Aaron
01:38:57 – 01:38:57
Man. Yeah.
Ian
01:38:57 – 01:39:04
Come into my mudroom from the garage. I take my sneakers off. My slippers are right there. Boom. My feet are in the slippers.
Ian
01:39:04 – 01:39:08
My feet do not leave the slippers to bed. I take the slippers off. I go to bed.
Aaron
01:39:09 – 01:39:11
And that's what I mean.
Ian
01:39:11 – 01:39:14
Yeah. So it's like I'm wearing shoes in a sense, but they're not covering both.
Aaron
01:39:14 – 01:39:15
Yeah. But you kept
Ian
01:39:15 – 01:39:20
the feekes. There are. It's just it's just a nice supper.
Aaron
01:39:21 – 01:39:24
The problem with you, the dog population in your area, but
Ian
01:39:24 – 01:39:26
I've and then wait till your kids.
Ian
01:39:26 – 01:39:26
You have 4 kids. Do you realize what a
Ian
01:39:26 – 01:39:34
mess your house is gonna be? All these kids running around with their muddy, filthy shoes. Some take those shoes off. Beautiful.
Aaron
01:39:35 – 01:39:41
Yeah. Different rules for adults, though. I can do whatever I want because I don't know. The kid the kids might have to take their shoes off.
Ian
01:39:42 – 01:39:44
That's not gonna work. I'll tell you that right now.
Aaron
01:39:45 – 01:39:50
I know the kids are there's not gonna be, you know, there's not gonna be 8 pairs of slippers at the back door. I know
Ian
01:39:50 – 01:39:57
that's Now the kids tend to go without slippers. Although, my middle kid's now into the slippers. So he's got some slippers. The other ones generally don't wear slippers. But
Aaron
01:39:57 – 01:39:58
this shocks me.
Ian
01:39:58 – 01:40:01
They got the same feet. They don't need slippers. You know, they're all
Aaron
01:40:01 – 01:40:02
They don't need slippers.
Ian
01:40:02 – 01:40:07
Yeah. They don't need that reinforcement. I need the reinforcement. And I need the one since it's
Aaron
01:40:07 – 01:40:19
happening. This is crazy. I feel like I feel like I'm on the I'm on the I'm in the minority here. I think a lot of people are like, don't wear shoes in the house. I just like wearing shoes.
Ian
01:40:19 – 01:40:33
I mean, I grew up always wearing shoes in the house. I have to say I always wear shoes in the house, but I don't know. Once I got my own house, I was like, nah. My wife's just, like, very cleanly, and she's, like, super into organization. She doesn't wear shoes in the house, and I was like, oh, I won't wear shoes in the house either.
Ian
01:40:33 – 01:40:33
And
Aaron
01:40:34 – 01:40:46
Here here is here's a hot a hot take I have on on shoe related, conversation. A a man's toes should never be seen in the workplace.
Ian
01:40:48 – 01:40:49
Oh, in the workplace? Alright.
Aaron
01:40:50 – 01:41:01
And and unless unless a man is about to fall into a body of water, his toes should never be seen, especially not in the workplace.
Ian
01:41:01 – 01:41:05
I'm with you on that. I'm with you on that. Okay. Male toes are disgusting. That's why.
Ian
01:41:05 – 01:41:08
Disgusting. Are usually very nice. Male toes
Aaron
01:41:08 – 01:41:11
are disgusting. Yes. A man's toes
Ian
01:41:12 – 01:41:15
You've not discussed. Very few man toes are are worth it.
Aaron
01:41:15 – 01:41:23
Wearing flip flops into an office, no respect. No respect. I don't wanna see your toes.
Ian
01:41:23 – 01:41:24
This is a
Aaron
01:41:24 – 01:41:27
this is a Like This is a 4th July pool party.
Ian
01:41:27 – 01:41:41
Yeah. Men should be covered up in general. Even if you're buff, I almost feel like you're men like, the male body is just not aesthetically pleasing. Whereas, like, the female body is aesthetically pleasing. Just like I'm not talking about sexuality here even.
Ian
01:41:41 – 01:41:43
I'm just saying, like, the shapes and the curves.
Aaron
01:41:43 – 01:41:44
Saying that we're grotesque?
Ian
01:41:45 – 01:41:54
I'm saying men are grotesque. Like, just there's no the shape makes no sense. Like, it's we're just utilitarian. Like, let's just face it. Right?
Ian
01:41:54 – 01:41:58
We're just there to to deliver.
Aaron
01:41:58 – 01:42:00
Just there to lift heavy things.
Ian
01:42:00 – 01:42:06
Yeah. But, like, but the female body is, like, all sculpted and nice and nice. That's sad. So
Aaron
01:42:06 – 01:42:09
Yeah. We're gonna log off, man.
Ian
01:42:10 – 01:42:11
So it's It's
Aaron
01:42:11 – 01:42:12
too late. Here, man.
Ian
01:42:12 – 01:42:13
It's been
Aaron
01:42:13 – 01:42:14
Yeah. It's too late.
Ian
01:42:15 – 01:42:18
Alright. Well, guess what's been on the list for a while? We're just gonna
Aaron
01:42:18 – 01:42:18
get back
Ian
01:42:18 – 01:42:18
to another one.
Aaron
01:42:18 – 01:42:19
Tell me. Tell me.
Ian
01:42:19 – 01:42:21
Workout routine. What's your workout routine?
Aaron
01:42:21 – 01:42:21
Oh, yeah.
Ian
01:42:21 – 01:42:25
Related related to your disgusting body. Do you have a workout?
Aaron
01:42:25 – 01:42:28
No. My grotesque body has no workout routine.
Ian
01:42:28 – 01:42:29
Nothing? You're not you don't do anything?
Aaron
01:42:29 – 01:42:35
I got nothing. I got nothing right now. Yeah. There are just yeah. It's bad.
Aaron
01:42:35 – 01:42:39
It's not great. I I need something, but I don't have I'm not doing
Ian
01:42:39 – 01:42:42
anything gym? I never ever been a gym guy? Never a gym guy?
Aaron
01:42:42 – 01:42:58
Never been a gym rat. I think based on family, like, physical structure, I could get really big, like, really buff because I have a, you know, a few brothers, and my dad have all at one point been, like, big gym guys.
Ian
01:42:58 – 01:42:59
Solid. Okay.
Aaron
01:42:59 – 01:43:19
So my time is coming at some point, but, you know, the the the stars haven't lined up yet. I actually my brother is a a trainer, and I he lives in Galveston. And I told him, if you ever have, like, a month off like, I don't know what you do. If you ever have a month off, come up to Dallas, and we'll do 2 days, and I'll get really buff, and it'll make great content. It's like Yeah.
Aaron
01:43:19 – 01:43:20
That sounds great.
Ian
01:43:20 – 01:43:22
This is the time. Your your aunt's about
Aaron
01:43:22 – 01:43:29
I know. That work. I I pitched it, like, 6 weeks ago, and he was like, yeah. That sounds fun. And Dude, if you come
Ian
01:43:29 – 01:43:34
out of this having 2 a second set of twins, more well rested and buff. And
Aaron
01:43:34 – 01:43:36
buff like Arnold. Yeah. I know.
Ian
01:43:36 – 01:43:37
That'll be insane.
Aaron
01:43:37 – 01:43:46
I know. I wanna do it just for the story of, like, oh, wow. That guy, he got strong on paternity leave. I'd be like, oh, that's so great. But I don't know.
Aaron
01:43:46 – 01:43:47
Sounds like a lot
Ian
01:43:47 – 01:43:47
of work.
Aaron
01:43:47 – 01:43:48
Did you work out?
Ian
01:43:48 – 01:43:55
She's always she's she's always tweeting about how buff she is. She lifted heavy things and, like, she do all kind of stuff.
Aaron
01:43:55 – 01:43:58
Me. Yeah. Yeah. She That's how my wife is.
Ian
01:43:58 – 01:44:00
My wife There's a lot of people working out.
Aaron
01:44:00 – 01:44:01
Scale that lifts. I don't get it.
Ian
01:44:01 – 01:44:09
Yeah. I'm not really lifting. We had I used to go to the gym on and off. I've been back and forth. I've never been, like, buff buff, but I mean, I don't know.
Ian
01:44:09 – 01:44:25
Now we have, like, a gym in our basement because we realized we could never actually get to the gym. Yep. So we have like the Peloton tread and the Peloton bike and weights and whatever. We don't have like the rack and everything, but, and my wife used it religiously every day, 6 days a week and Sundays off. That sort of thing.
Ian
01:44:26 – 01:44:44
I I will go That is religious. Sundays off. That's very religious. Lately, I've been using it fairly often again, but I my problem is, like, I'll use it, and I'll have results, and it's all good. And then, like, I'll go on a trip or I'll get sick or what if something happens that interrupts it, and then I'm off it for, like, 3 months.
Aaron
01:44:44 – 01:44:46
You're either on or off the wagon, whichever one is bad.
Ian
01:44:46 – 01:44:53
Right. Whichever one I am, it's like it goes 3 to 6 months. I just don't do it. Like, I just fall out of the habit instantly, and that's it. Because I don't really love it to begin with.
Ian
01:44:53 – 01:45:10
So it's, like, easy to, like once I break the every morning going down there, it just stops. So I've been good lately about being back on it, but we'll see. Hopefully, it sticks. I'm trying to get I'm trying to keep it in shape here, but I don't care about being, like, buff. I'm trying to just keep the heart rate up, you know, sitting all day.
Ian
01:45:10 – 01:45:11
Yeah. It's not ideal.
Aaron
01:45:11 – 01:45:19
Yeah. I think I think I need some I need some exercise for, like, you know, longevity, but I kinda wanna be buff at some point in my life.
Ian
01:45:19 – 01:45:19
I mean,
Ian
01:45:19 – 01:45:27
I I wouldn't mind me a buff with the amount of time. I don't see it happening unless I, like, sold the business or something. I'm like, where would I get the crown to be buff?
Aaron
01:45:27 – 01:45:30
That's that's how I feel, and I can't sell to kids. Like, I'm I've had those
Ian
01:45:30 – 01:45:31
for a long time.
Aaron
01:45:31 – 01:45:31
Time to
Ian
01:45:31 – 01:45:35
be buff for a while. Right? Yeah. Buff. Like, of all
Aaron
01:45:35 – 01:45:39
the things that have gone by the wayside, I feel like being buff is probably one of them.
Ian
01:45:40 – 01:46:10
Well, because one of the things you realize when you work out consistently for a long time, it's, like, the, the level from like you you're in good shape, but like, you don't necessarily look aesthetically amazing, but like you're, you know, you can lift a good amount of weight. The difference between that and being buff is like a giant freaking chasm. Like, cause like you just have to do so much more to get the buff than just to like, sort of lift a reasonable amount of weight. Like you'll be lifted a reasonable weight and your muscle looks exactly the same. And you're like, what the hell?
Ian
01:46:10 – 01:46:12
Why don't I look like all beef test lump. But
Ian
01:46:13 – 01:46:13
yeah, I'm
Ian
01:46:13 – 01:46:19
still a grotesque lump. What the hell? No, because you have to lift an insane amount to get
Ian
01:46:19 – 01:46:20
to actually
Ian
01:46:20 – 01:46:29
looking beefy. And you have to lose a bunch of fat. You feel, like, really super watching you eat. Like, there's that whole aspect to it too. So there's a lot to it.
Ian
01:46:29 – 01:46:29
But
Aaron
01:46:29 – 01:46:32
Yeah. Well, I'll just keep on this path then. Maybe
Ian
01:46:32 – 01:46:33
there should go.
Aaron
01:46:33 – 01:46:41
We'll we'll reassess. Yeah. Yeah. Exactly. We're getting all this we're getting all this meal train food.
Aaron
01:46:41 – 01:46:43
Is meal train a thing in the north? Oh. It's like Oh, why
Ian
01:46:43 – 01:46:44
is this?
Aaron
01:46:44 – 01:46:47
Baby, a friend sets up a meal train and they all sign up for it.
Ian
01:46:47 – 01:46:49
I don't think we call it that. But yeah.
Aaron
01:46:49 – 01:46:53
So everybody's like, you know, everybody's bringing us these meals.
Ian
01:46:53 – 01:46:53
Oh, that's cool.
Aaron
01:46:53 – 01:47:10
Oh, we also, you know, we baked a bunch of cookies and, oh, here's some, you know, here's some energy balls. It's just like, you know, peanut butter and chocolate chips. And it's like, I'll just have a couple of those. Like, what what am I doing? I'm not doing any work, but I'm just sitting around eating energy balls all day.
Aaron
01:47:10 – 01:47:10
So
Ian
01:47:10 – 01:47:12
That's the opposite of getting buff on
Ian
01:47:12 – 01:47:13
the 20.
Aaron
01:47:13 – 01:47:17
I know. I can't come back I can't come back, big.
Ian
01:47:17 – 01:47:18
Up £20? Yeah.
Aaron
01:47:19 – 01:47:20
It's not great.
Ian
01:47:21 – 01:47:25
Yeah. Oh, man. Alright. Let's wrap it. It's almost midnight.
Ian
01:47:25 – 01:47:26
I think we've we've given the people
Aaron
01:47:27 – 01:47:27
Yeah. We
Ian
01:47:28 – 01:47:28
Well
Aaron
01:47:29 – 01:47:33
We we skirted the line there. We should probably and and while we're still ahead.
Ian
01:47:34 – 01:47:39
Yeah. For sure. Alright. Well, thank you all for listening. Mostly technical.com.
Ian
01:47:40 – 01:47:45
Mostly technical pod. Nobody emailed us. I checked. Nobody emailed us. Mostly technical podcast atgmail.com.
Ian
01:47:46 – 01:48:03
So any feedback on the 15 topics we talked about this week? Send that over. Otherwise, good to be back on the air. We will try to get back at some point next week, I assume. Assuming everything's chill with the babies, and then, we'll just be playing it by ear a little bit here.
Ian
01:48:03 – 01:48:12
But, yeah, we'll should be semi regular at least, going forward. So and and hopefully, a holiday stream on the horizon. Yes. We can get that organized.
Aaron
01:48:12 – 01:48:15
So Yes. If y'all want to hear that, let us know because that would be fun.
Ian
01:48:15 – 01:48:18
Yeah. That'll let us know you got to the end of this 2 hour podcast too,
Aaron
01:48:18 – 01:48:19
which will be Yeah.
Ian
01:48:19 – 01:48:24
Exactly. Awesome. Alright. Have a good one. Alright.
Ian
01:48:24 – 01:48:24
See you.
Me

Thanks for reading! My name is Aaron and I write, make videos , and generally try really hard .

If you ever have any questions or want to chat, I'm always on Twitter.

You can find me on YouTube on my personal channel or the Try Hard Studios channel.

If you love podcasts, I got you covered. You can listen to me on Mostly Technical .