Episode

Mostly Technical · Jan 11, 2024

It's Content, Baby!

Show notes

Ian & Aaron are back(!) to discuss whatever happened with Ian's DB woes, what it's like to parent two sets of twins, the brand new PlanetScale Studios, & more.

Sponsored by LaraJobs & Screencasting.com.

Sent questions or feedback to mostlytechnicalpodcast@gmail.com.

Transcript
00:01

Ian

Welcome back.

00:03

Aaron

We are back. Whoo. Finally. It's been a few it's been a few

00:07

Ian

weeks. Exciting. Yeah. Longer than I thought, actually. We're back.

00:12

Well, what's going on? We both had a lot going on. But I think you a lot more than me. So

00:18

Aaron

Yeah. So many so many directions to take this. So I'm back at work. PTO Oh. PTO is over for now.

00:27

Ian

Oh, I didn't realize it.

00:28

Aaron

So, yeah, we have, we have 12 weeks of PTO and I'm splitting mine 7 5. So we just have to take it all within 1 year of the baby or in our case, babies

00:39

Ian

being born. That's awesome. Yeah.

00:41

Aaron

It was. It was really good. So, I got us through, you know, the break where the kids had the big kids had no school and the holidays and all of that. And the big kids went back to school this week, and so I decided, alright. Let's, you know, go back to work this week.

01:00

And then later on, I'll take I'll take the next 5, and that'll be that'll be good. So we made it through you know, we made it over the first hump, which is kids are little kids are I think they're sleeping, like, 4 to 5 hours a stretch right now. So no longer up. It's it's better. No longer up every, you know, every 3 hours for an hour, which is just a beating.

01:25

Ian

How old are they now? How many weeks here?

01:28

Aaron

So November 22nd is when they were born. So Okay. December 22nd. So not yet 2 months. So just maybe, like, 6

01:36

Ian

weeks 7 weeks. Yeah.

01:37

Aaron

Something like that. Yeah.

01:41

Ian

So That's huge, though. From 0 to

01:43

Aaron

6 weeks,

01:44

Ian

they're total they're totally different at 6 weeks than 0. Like, they're much more real. Like, they're solidifying.

01:52

Aaron

Yeah. So we still have we still have the night nurse coming maybe, like, 3 or 4 nights a week, and so we do get that kind of break every now and then. But when, you know, the night nurse isn't here, yeah, god. Just twins are so different than having a singleton, I would imagine. I've never had a single baby.

02:09

But but twin twins are so different in that both parents are required every every time the babies need to eat. And so there is no, like, there's no like, I'll feed them at 3 and you feed them at 6 We're both feeding at 12, 3 and 6. So having those hours get stretched out has been super duper helpful. Still brutal, you know, still a kick in the face, but getting a lot better. So that much is good.

02:35

Everybody's healthy, which is, you know, that's the number one thing.

02:38

Ian

Most important. Yep.

02:39

Aaron

Yes. Just a close second after that is is Aaron tired, and it's like, yeah, I'm sleepy. So what's what's the deal there? We've been

02:47

Ian

loving these photos, though. You, like, sleeping around in places. Yeah. Yeah. Those have been keeping everyone quite entertained.

02:54

Aaron

Yeah. That accidentally became a thing, because I guess I've just fallen asleep a lot. Yeah. My wife I think my wife finds it funny to take pictures of me, you know, asleep at random places. And then the funniest one by far was when I fell asleep at the gym.

03:09

And my sister-in-law was there, and she took the picture and texted it to Jennifer and said, I think your husband's having a hard time.

03:19

Ian

Yeah. Well, she, like, come and do, like, just check you to see if you're alive. She's like, oh, man.

03:24

Aaron

But scared the bejesus out of me because she woke me up. And I was you know, I had kind of, like I took my computer because I was like, I'm gonna, like, freaking do some stuff, like, free time, baby, and then I fell asleep. And so it was kinda accidental, and then I got woken up, and it just I did the jump scare thing where I, like, woke up with a start.

03:42

Ian

I don't know if,

03:43

Aaron

like, first

03:44

Ian

6 weeks of the I don't know if 1st 6 weeks of the new babies is peak. Go go back to the gym time, I think.

03:51

Aaron

Oh, no. I only went to the gym because they had childcare. So I wasn't plan I wasn't planning on working out. I was like, oh, maybe I'll work on my computer finally.

04:00

Ian

Like, I've got a free moment. There we go. No.

04:03

Aaron

Are you kidding me?

04:03

Ian

Just activity for the little kids.

04:05

Aaron

No. I haven't worked out in years. Why start now?

04:08

Ian

Well, we talked about this, I think, like, on one of those last podcasts, so I was wondering about that. But okay. It was it was

04:14

Aaron

just a nice quiet. It was purely YMCA offers an hour and a half of of childcare. So I took the big kids to the childcare there.

04:22

Ian

Right.

04:24

Aaron

Yeah. And then, you know, I fell asleep off eating and fell asleep next to a crib and just all sorts of good, you know, when you don't sleep anywhere is

04:32

Ian

a good

04:32

Aaron

place to sleep. Yeah. So, yeah, kids are good. Family's good. Life is good.

04:39

Holidays were great. Yeah. We're making it.

04:43

Ian

Alright. There we go. 4 kids. No biggie.

04:47

Aaron

4 kids. A lot of kids. Lot of lot of kids under a lot of kids under 3, turns out.

04:52

Ian

I'm excited. Hopefully, the podcast is still going when you get to 6. When you get the next twin twins, it's gonna be very exciting. No way. Car you acquire then, the freak everybody.

05:03

It's gonna be awesome.

05:04

Aaron

One of the things having having like, being a parent of multiples is people will stop you while you're out and about and be like, oh, I know somebody that and so we've heard a couple of stories, and one of them is, somebody stopped us at a restaurant the other day and was like, are they are they all twins? I'm like, yeah. They're all twins. She said, I have friends that had twins and then got pregnant with, quadruplets. Wow.

05:28

So they they had a set of 2 and a set of 4, and somebody stopped Jennifer, I think, at the hair salon or no because she didn't have the kids there. Maybe it was the grocery store and, said that they knew a family that had 2 sets of twins and then a singleton and then 2 more sets of twins. They ended up with 9 kids.

05:49

Ian

I don't know. I I get the a lot of kids thing in the old days. It's like, whatever. A couple are gonna die right off the bat. You have them off the farm or whatever.

05:57

Yeah. Like, alright. Yeah. Whatever. The older ones are raising the younger ones.

06:00

But in modern society, it's like, oh, man. Having, like, 6, 7 kids, all the expectations on you as a parent, all the whole stages of the kid, all the lack of expectations on the kids helping each other. Like, there's just a whole different world that is just not set up for, like, you have 6, 7, 8 kids. I don't know. No.

06:17

And and just doing the same thing in the world, obviously, impossible.

06:19

Aaron

I'm already nervous about, like, having enough quality time with 4 children. And I imagine there are 9 of them. It's like, I don't know how you get to know them each individually. So

06:30

Ian

I don't think yeah. That's why it's a whole different thing. Right? Like, I don't know if you do. I feel like

06:34

Aaron

you did.

06:35

Ian

Yeah. I don't feel like I get enough time in my 3. I'm like, how I don't even know them. How do

06:39

Aaron

I do? Like I haven't I haven't gone to the doctor yet, but we're done at 4. That's for sure.

06:43

Ian

Yeah. Lock locking it up.

06:45

Aaron

Yeah.

06:45

Ian

For sure. Yeah. Yeah. Well, it oh, when you go out with all the kids, now you have a quad, like, stroller, or is it No. 2 double strollers, or what's the play there?

06:59

Aaron

I think in technical terms, we would call that sharding. So each each parent each parent gets 2 2 kids, so we have 2 double strollers.

07:07

Ian

Okay. Now importantly,

07:10

Aaron

importantly, they're all interoperable. We have, like, a set of adapters that take, that, like so we have a jogger and it was just, like, a more normal walking stroller, and we've bought adapters for the jogger that allow the big kids' seats to go on either stroller and the little kids' car seats, you can take directly out of the car and put on either stroller.

07:33

Ian

Papa, man.

07:34

Aaron

Because you just can't afford you just can't afford to have individual strollers for every set of twins. Everything everything has to be multipurpose.

07:41

Ian

You gotta be able to hot swap. Right? Yes. You don't wanna have to move the special stroller

07:45

Aaron

around between cars. So the mini like, and in the same way, car seats all have to be uniform. So in the minivan, we've got 2 big kids and 2 little kids. In the au pair's car, we've got the 2 big kids. And in my 4 runner, we've got the 2 little kids.

07:59

Right. So no matter who's going who's going where, it's like, alright.

08:03

Ian

What car are

08:04

Aaron

you taking? Yeah. Like, mom can take either set. Dad can only take the youngest. Jasmine can only take the oldest.

08:11

Good lord.

08:12

Ian

Man, when you get to switching out the car seats too, like, when they expire and stuff like that. Oh, man. That's a whole scam there. The expiring car seats. Some bullshit.

08:22

Aaron

My I think I I got my hand slapped a little bit when my mother-in-law was like, you know, the car seats expire. And I was like, car seats don't expire. She was like, Eren, yes, they do. And I was like, oh, oh, oh, oops. Sure.

08:35

Definitely, they do. But wait. What do you freaking mean car seats expire?

08:39

Ian

I don't buy them.

08:40

Aaron

I'm not buying them. It's not a can of beans. It's gonna it's plastic.

08:44

Ian

It's not like it's getting thrown from the car and rolling on the ground. Like, it should still be within the safety cage of the car. Like, I mean

08:53

Aaron

I'm fine expiring a car seat once per catastrophic crash.

08:57

Ian

Sure. I'm fine with that. Yeah. Crash, you should get rid of it. Yes.

09:00

Aaron

Get a new one. I'm fine with that.

09:02

Ian

When it crosses over the little stamped on date, I don't know. Yeah.

09:05

Aaron

I'm

09:06

Ian

so glad we're out of car seats, man. Wait till you're out of car seats. You got a long way to go, but it's nice to

09:10

Aaron

be forced to the whole, like, who's allowed to buckle the toddlers in? Not not just, like, based on the toddler's preference alone. Like Right. Which parent is she going to say Yeah. No.

09:22

You have to buckle me in. And it's like, well, you know, that person's not here right now. Right. That person's inside feeding other babies, so you get dad. That's all you get.

09:31

Ian

Yeah. When they're So anyway They get that opinionated age. It gets

09:36

Aaron

Joy, don't they? Yeah. Yeah.

09:38

Ian

Alright. Well, that all sounds good. Yeah. Yeah. So that's, I mean, I don't really have any news other than I was, fixed my database issue, which we can talk about.

09:48

Aaron

Thank you. About that for sure.

09:49

Ian

And then I just had a little round of COVID, so I'm just coming over that, but, just about we're covered. So yeah. So it actually kinda worked out our little hiatus here anyway. Yeah. But, yeah, nothing too exciting.

10:04

So let's jump into some stuff. We got I will apologize. I'm gonna apologize right at the top that there was, like, 5 or 6 people who emailed us, which we didn't get back to. And a lot of it's getting into old stuff. So we're clean slate in the email, but I did read them all.

10:17

No. I didn't. Appreciate them.

10:19

Aaron

Yeah. Thanks for your emails, Ian. It's the reason you didn't get one back. I just I'm just finding out about it. So this is all I need.

10:26

Yeah. Thanks for your emails. Yeah.

10:27

Ian

Totally my fault. So, but thank you very much. So alright. What should we start with? What do you wanna do?

10:35

Aaron

Let's start with, we could either start with the new shed quarters or, model should be strict. I think, I'm I'm primed on both of those.

10:47

Ian

Let's go let's go model should be strict, and then we'll be

10:51

Aaron

short quarters. Love model should be strict. So hit us with your tweet. Technical. Yeah.

10:55

Yeah.

10:57

Ian

So model should be strict, for those who don't know, is a Laravel, configuration option that you can put in your app service provider, that basically forces models. A few different things on the models forces them to not ever lazy load. And if you try to lazy load, it'll throw an error and it also prevents you from accessing attributes that don't exist and setting attributes that don't exist, on the models. And it'll throw an error, I believe in those cases. Mhmm.

11:27

And yeah. So to me, when starting a new project, I throw that in there, because I am not a lazy loading believer. I am very much anti the a the lazy loading. And so if you just have it in there from the start, I think that's perfect because you can just never do it. You're just gonna get errors,

11:45

Aaron

and

11:45

Ian

then you

11:45

Aaron

can

11:46

Ian

fix those errors. Obviously, if you're going to existing application, that's a little different, and you might not be able to just throw that in, on full strictness. But for a new app, I feel like strict is the way to go. And you've I know you said you had some nuanced thoughts here, so I will be excited about these.

12:03

Aaron

Have the nuance. Alright. Okay. So you you tweeted a picture of your app service provider, which was interesting. I do I I liked that.

12:09

I wanna see more people's service

12:10

Ian

providers. Not many people put come on, people. Get out there, find my tweet, and post your app service provider. There's all kinds of fun stuff at the app service provider.

12:17

Aaron

There really is. So you posted model should be strict as enabled. Model should be strict, does accept an argument, and you can set that to, like, basically, is the app running locally? And so you can say, when when I'm local, let it be strict or make it strict, and when I'm in production, we'll let it be looser. So model should be strict, wraps up 3 different static flags, I guess, static pieces of configuration.

12:47

Model prevent lazy loading, and then prevent silently discarding attributes and prevent accessing missing attributes. And so my nuance is I think some of those should be enabled in production and some of them shouldn't. So I don't

13:03

Ian

think You can individually do them too.

13:05

Aaron

You can individually do it. Yeah. And so I don't think model should be strict. I don't think it should be used, frankly. So here's here's my, here's here's my opinion.

13:16

Ian

Hot take.

13:17

Aaron

Hot take. So I think the difference is, preventing lazy loading is primarily an application performance issue. Right? So if, you know, basically prevent lazy loading is, like, protecting you from an n plus one thing. And if you have an n plus one in production, it's like, that's not great, but it's not technically wrong.

13:43

You should fix it, but your application still works. Your users don't get errors. Everything is still, like, technically correct. Right?

13:51

Ian

Potentially. Yes.

13:53

Aaron

No. Definitely. Why potentially?

13:55

Ian

Well, because I mean, it can be so slow that it doesn't work, or it takes Oh, okay. Sure. To load or whatever. Like, you know, they're But, yes, in your most Within Yes. General use case, that's

14:04

Aaron

Within the bounds of normal distribution, it's still gonna work. It's just gonna be slow. Right?

14:09

Ian

Yeah.

14:10

Aaron

So that's primarily an application performance concern. However, prevent silently discarding attributes and prevent accessing missing attributes are totally application correctness concerns.

14:23

Ian

Right.

14:23

Aaron

So Those are both

14:25

Ian

Yes. Those are missing issues.

14:26

Aaron

Those are behavior will go wrong potentially in a catastrophic way. And so I think the one that's easiest to, the one that's easiest to illustrate is to prevent accessing missing attributes. And this is I I feel like Taylor regrets putting this one in because it's been removed from the docs, and it's kinda hard to find anything about. Mhmm. And it caused a lot of problems with, like, first party packages, because they were doing some accessing of this.

14:53

Ian

Assume it's there. Right?

14:55

Aaron

Yeah. Exactly. And so what this method does is, like, if you partially hydrate your model so let's say your database table's, like, a 150 columns wide, which can happen. You know, if you've been running an app for 20 years, it can happen. And you're like, actually, I only need these 4 columns from my users table.

15:15

And you pull those 4 columns back, and, like, those 4 columns are first name, last name, email, and is admin or whatever. And then in your application, you try to go access, like, a a column that you didn't pull back from the database. Laravel is not gonna tell you, hey. You didn't pull it back. It's just gonna say, oh, that that value is null.

15:36

Ian

Right.

15:37

Aaron

And so to turn like, to prevent that behavior, you turn this, you know, you turn this method on. And if you accidentally don't pull back the column that it says, like, is blocked or something, and then you go check to see is this user blocked. And it says, well, I don't know. It it, you know, it's null, so they must not be blocked. That's a total application correctness problem, and that's, like, that's a big, big deal.

16:03

And I think people are like, ah, you know, I don't wanna throw an error in production if I access a missing attribute. And I'm like, yeah. You absolutely do because that's a catastrophic failure if your if statement is checking for something that you didn't even pull out of the database.

16:18

Ian

Right. Right.

16:19

Aaron

So I think those 2 prevent silently discarding, and that's where you're like, hey. I'm gonna set is admin, but I'm accidentally gonna typo it, and Laravel's just gonna say, oh, that column doesn't exist. I'll just silently discard that. It's like, no. No.

16:32

No. You don't wanna do that either.

16:34

Ian

Right. So I

16:34

Aaron

think prevent silently discarding and prevent accessing missing attributes are application correctness and can totally hose you. So those need to be on in production, and then prevent lazy loading is, like, a performance thing, and that should be off in production. Because if one sneaks through, it's not a bad thing. And you can also log if you turn it off, you can log missed lazy loads or, like, when a lazy load violation occurs, you can log it. And so you still get the benefit of, like, it showing up in the logs in production in this weird dark corner that you didn't test locally.

17:10

So you're not you're not missing the information. You're just not blowing up your application without without need. So Yeah. That's my nuance. What do you think?

17:18

Ian

It is a it is a weird grouping probably to some degree. Like, this this flag handling all 3 of those is maybe a little bit weird because

17:27

Aaron

Yeah.

17:27

Ian

They're not related, really. So, yeah, that is true. I I don't know. I think I I mean, I don't really have a hard disagree with you there. Definitely existing projects, you have to you can't do the strict lazy loading thing.

17:43

I think that's too. But that that's for sure. But I just feel like from a new project, I just feel like it's very un I'd rather just have it on in the beginning. How am I gonna miss a corner? It's gonna be very hard for me to miss a corner if I have it on from the beginning.

17:56

That is And

17:56

Aaron

also, I

17:56

Ian

just write some code that's, like, buried in a bunch of ifs and somehow I never get down to it or whatever. Like run

18:01

Aaron

it locally.

18:01

Ian

Yeah. Somehow I never run it even when I'm building the feature. Like, it somehow gets gets through. But, so I don't know. I feel like you're starting fresh.

18:10

Aaron

It's like dynamic loading of relations that could happen.

18:13

Ian

Yeah. Yeah. Potentially. And then

18:15

Aaron

Yep.

18:19

Ian

You know, I guess there is some nuances here of, like, is this a worthwhile thing to be worried about? Right? Mhmm. For most people, probably not necessarily if you're just building like a side project thing and like, oh, or even an internal app where the load and such is not significant. I think in my case where I'm doing this kind of next generation help spot, I know a lot about the load characteristics.

18:48

I know a lot about how many customers we have and how much it's gonna have to deal with. And so I'm being quite, persnickety about performance. Yeah. And so I definitely don't want any lazy loading, but, This is out. So here's a thought a little side quest based on what you've brought up, which I think is quite interesting.

19:08

What's your thoughts on? Defining the select and what you return versus just letting Eloquent star all always, and I don't know. What what do you think about that?

19:22

Aaron

I think in 98% of use cases, you should just run user where get and not muck around with the select at all. Honestly, like and this is this is where I straddle, like actually, this is where I'm an application developer and not a DBA because which is weird because I work at a database company and teach for the database company, but I'm not a DBA. And I think that gives me a superpower that most people in the world aren't DBAs, and I don't, like, I don't get lost in the weeds. All DBAs will say, don't ever use select star. Only select what you need.

19:56

Ian

Right.

19:56

Aaron

And it's like, yeah. I mean, yeah. Like, don't we have more don't we have more important stuff to worry about? Like, I don't super care about that. I think the difference is in the case where you do end up with a really wide table that does have a lot of blobby columns, so you've got, like, a bio and a, you know, last whatever that's 50,000 characters and all of this stuff or a JSON column that's a megabyte.

20:23

Ian

Right. The JSON columns are big. Now that everybody use JSON columns, that's a lot of

20:27

Aaron

really bad.

20:27

Ian

More data, you know Yes. Than people accept.

20:30

Aaron

The problem the problem is not even or rather it's not only pulling the data back over the wire. It's also the database, at least MySQL, puts those really big blobby columns in a different spot logically.

20:42

Ian

Right.

20:43

Aaron

And so, like, the row can only be so big in my SQL. And so if the column gets too big, that column is, like, reduced to a pointer, and the big blobby stuff is stored elsewhere. And so my my point of view is if you're doing just like a CRUD app with normal stuff, just don't even think about changing the select because you do end up getting host potentially. But if you have a long running app with huge tables and blobby columns, and you're like, man, I only need the first name and the email here. What am I doing?

21:13

Definitely definitely change it. And then you must, turn on prevent silent Accessing. Yeah. Accessing missing for

21:23

Ian

sure. Yeah.

21:24

Aaron

So, yeah, I'm not a purist on select star at all by any means.

21:29

Ian

Yeah. I'm sort of, like, on small things where you know it's a minor difference, like, yeah, you're returning the created at timestamp. You're not gonna use it. Whatever. Whatever.

21:39

I'm not gonna worry about it too much. But like for the main tables that are getting tons of action, I do return it. And, this is really only for HubSpot. Like in other smaller things I've built, I don't worry about it. And I just, whatever, star all who cares.

21:57

But, for something where I know there's just gonna be tremendous performance implications, like it actually does add up when you're running 100 of millions of queries, like

22:06

Aaron

Oh, yeah.

22:07

Ian

Because you know, the network latency is always the worst part of the database lookup. Yep. And like you said, the discs, and then if you're on cloud infrastructure where the disk isn't your nice, fast, super on the server SSD, but it's, you know, a network's hop of its own away from the server. So now you're going to the disk, and then you gotta go to the special spot to get the blob

22:27

Aaron

and the

22:27

Ian

whole thing. Like

22:28

Aaron

And if your database is data set up. You know, if your database is, you know, 10 milliseconds away from your app server and now Right. So all

22:35

Ian

of a sudden you're at 30 milliseconds, 40 milliseconds for the one query, and now you've got more queries and like

22:40

Aaron

thrown this huge amount of data across a longer wire because it's not on the same box. It's like, yeah. There's you know, you gotta decide, is it worth it for you?

22:49

Ian

Yeah. So there is, I think, some use cases where it's important to think about, and I think people don't ever think of it now. It doesn't ever come up right.

22:57

Aaron

No.

22:57

Ian

It's like nothing ever talks about that anywhere. Yeah. And, obviously, for, like, 95% of the time, it's yeah. You probably don't need to worry about it. But I think it is important to be aware of and think about at least that key key queries in your application where they're gonna get run a ton where they're already maybe heavier, and things like that.

23:16

Like, do you actually need to return those 4 JSON columns every time that you're not even using and things like that?

23:22

Aaron

Another factor is numb like, how large is the result set? If you're returning 2 rows every time, it's like, ah, who cares? If you're returning, you know, 35100 rows Right. Because you have

23:33

Ian

to do some

23:33

Aaron

sort of post, you know, result aggregation on the app side or something. And you're just gonna ditch, you know, 35100. You're just gonna ditch, like, 30 meg of JSON once you get it back. It's like, what are you doing?

23:46

Ian

Right. Yeah. So Those things add up. So, yeah, I think we're mostly on the same page there.

23:51

Aaron

I think while we're here while we're here talking about your app service provider Yes. You have a morph map set up.

23:58

Ian

Yes. Yes.

23:59

Aaron

Love a morph map.

24:00

Ian

You have to have a morph map. See, this is where I can get more of a map. Without the morph map, it's chaos without the morph map.

24:08

Aaron

I will say if we're if we're persnicketing, I would love to see you use enforce morph map.

24:15

Ian

Yeah. I I wanted I don't know why I didn't do that. I think I had a reason, but now I don't know what it is. So I should

24:20

Aaron

switch it

24:20

Ian

to enforced morph map, I think. I do

24:22

Aaron

want it So we're

24:22

Ian

I want it enforced. I think there was a

24:24

Aaron

I wanted we need it. We need it enforced.

24:26

Ian

I wanna say I always feel like there was some kind of bug I hit or something weird like that, but maybe I have to go back and look at it. But I do want So Yes. I don't wanna ever want to accidentally shove in a whole class

24:37

Aaron

pack. And then have to undo that somehow. So for the edification of the listener, the the the the morph map is when you have, like, a polymorphic relationship, and by default, Laravel will put the fully qualified namespace in the database. So you'll look in your database and be like, what does this image belong to? And it'll say, like, app models comment, app models blog post, and you're like, man, I guess I can't refactor those class names anymore because it's now, you know, it's now hard coded in my database.

25:05

And so the morph map will say, hey. Instead of putting the fully qualified class name in there, why don't you just put the word image? Class name in there, why don't you just put the word image or the word comment? And then you're free. You've now broken that association.

25:17

You're free to, like, change it. Enforce more map says, hey. If I don't have a map for this model, I'm not gonna just fall back to putting the fully qualified class name in. I'm actually gonna throw an exception, and you're host. And that's what you want for sure.

25:31

That is a 100% what you want. Yeah.

25:34

Ian

And And then there is another element since we're on our performance kick. If you use the morph map, then you can potentially

25:44

Aaron

Oh, yeah.

25:44

Ian

Store that in a character, a defined length character column Mhmm. Like maybe 8 characters or something as opposed to just a bar car. And then again, you it'll stay on the on the page in the database. Yeah. So it doesn't have to make a separate call out over to the blobby area where it just shoves random strings.

26:03

And so that then will increase your performance on those queries too. And again, if it's, like, in a high performance location Yep. Where you're gonna have a 1,000,000,000 rows or whatever, like having only 8 characters there instead of undefined long characters that always has to go grab actually adds up. So

26:19

Aaron

Okay. While we're volleying, while we're just batting back and forth, let's volle away. I enforce morph maps with tiny integers, unsigned tiny ins.

26:28

Ian

That I I like your style, sir. I like your style.

26:31

Aaron

I map I map, you know, app models comments

26:33

Ian

to the number 1. App models blog post

26:36

Aaron

to the number 2. Then what that also so everything you said is correct. Also, additionally, you get smaller indexes. Because the whole point is the whole point is Laravel is gonna put an index over the type and the ID, and you want your indexes to be as small as possible so you get more and more and more into memory as possible. And so if you have a tiny integer that ranges from 0 to 255, which means you can have 255 models, which you will never have, You can fit all of that in a in an even more compact index.

27:06

So enforced morph map with an integer instead, and you may see potentially microseconds of improvement, and you're gonna Well,

27:15

Ian

but I so think about this, though. People don't realize that, a tiny integer is a single byte. Yeah, okay, and even a 8 character long Car column is 8 times 4. It's a 32 bites and then usually an extra for this, for something overhead or something. So like 34, 35 bytes verse 1.

27:37

Aaron

Versus 1. Yes.

27:38

Ian

35 times bigger to have that

27:40

Aaron

strength. Yes.

27:41

Ian

And that's 35 times more data in your indexes and everywhere else.

27:44

Aaron

So should be in memory where where

27:46

Ian

With which you want them in buffer pool, if you're in my Excel lane.

27:50

Aaron

Does matter. Yes. So I'm not talking about saving disk. Yeah. I'm talking about memory.

27:54

Ian

Very, very important type of everything. All the indexes at least fit in the buffer pool. Yes. Yeah. And then so this is a I've go back and forth on this.

28:05

Let's I'm gonna I'm gonna throw one back over the Yeah. That's

28:08

Aaron

Volleyed. Ping pong. Let's go.

28:10

Ian

So right along these lines. So I'm a huge fan of the Nooms. I love the new Pete Nooms stuff. Like, it's so good. I have Nooms everywhere.

28:19

And it's like, do I want though they're all back because they all have to go to the base.

28:23

Aaron

Gotta be backed. Yep.

28:24

Ian

But are they back to a number or are they back to a string? The numbers say, I mean, just tons of bytes saved, especially in like our main, the main table has like a whole bunch of things that are in nooms.

28:35

Aaron

Yep.

28:35

Ian

And, it could be a tiny in and it would be one little bite.

28:39

Aaron

Yep.

28:40

Ian

Or it's gonna be, you know, but obviously it hurts the readability in some places, sometimes to have it that way. I don't know. What do you think of that? Right now, I have them as string backed, but I'm I'm teetering. I'm probably gonna move it to into JERBAQ because it's so much more efficient.

28:54

Aaron

I think my my first my first thought is I've never in my life heard it called an Inoom. Oh, really? I don't know that I've I've ever said that

29:03

Ian

out loud. I don't know if I've ever said that.

29:04

Aaron

In my head, I'm just now realizing

29:07

Ian

What's in your head?

29:08

Aaron

Know that I've Enum.

29:10

Ian

An enum?

29:11

Aaron

Enum.

29:12

Ian

Is it a enum?

29:12

Aaron

So I

29:12

Ian

put it on

29:13

Aaron

the e, and you put it on the num. Mhmm. So I'm enum, and you're enum.

29:17

Ian

Alright. People will have to tell us. Comment down below. Subscribe and comment.

29:22

Aaron

And when you

29:22

Ian

do, let us know.

29:23

Aaron

Boost boost that engagement. Tell me what it is. Okay. So I just I

29:29

Ian

know you're distracted now. You have no idea what I even said. Yeah.

29:32

Aaron

I don't know. It's great. Enums are awesome. Next topic. Okay.

29:34

So, I think, yeah, it's a trade off. So for the, for the user who is listening, we're only talking about PHP enums. I don't use database enums because I find them annoying.

29:47

Ian

Not a believer.

29:48

Aaron

Not a believer. They actually the database enums solve this problem in that you get the readability of the string, but the underlying storage is actually an integer, but the huge drawback is you have to alter the table, to add

30:03

Ian

a new option, which

30:04

Aaron

is, like, one free waste. Yeah. So I I think I personally prefer, shoving it all in there as an integer and dealing with the readability thing. But that's just so personal because I'm not like, if I'm, you know, I don't code at PlanetScale, so I don't have to I I'm not on a team. Anytime I'm doing stuff like this, I'm just doing it myself.

30:26

And I don't have a huge habit of, like, doing, a lot of reporting or an anal analytics analysis. That's the word. Analysis, just like from table plus. Right? And so if I were, you know, if I were doing a ton of raw SQL analysis, and I'm always like, well, f.

30:47

Like, what does one mean here, and what does 2 mean there? I would get probably frustrated, but most of the time, it's the application that's talking to it, and so I don't super care.

30:57

Ian

Yeah. I mean, we're not in the database that much. You know? Sometimes you're in there to help a customer with something or whatever. But most of the time and even that, oftentimes, there's, like, some admin panel or whatever you're interacting with.

31:08

Right. So it doesn't, it still doesn't

31:10

Aaron

matter.

31:11

Ian

And it's just so huge. Because it's like, if you have 5 of those columns, and each one's taking 40 bites when they could take 5 bites or 200 bites instead of 5, that's a lot of memory and must be expensive. That's what you're paying for. That's the big dollars just to get the memory.

31:26

Aaron

Yep. I mean, there are I don't know. I I don't know if at this point it's worth it, but you could do a strict 4 character column with 8 care set or char set or car set that is Right. That is, less expensive than u t f 8 multibyte because those are 4 bytes per character. But there are some that are 3.

31:46

Ian

think I think with single store, it's all UTF 8. Uh-huh. Maybe in my sequel, it's not. I don't recall. Correct.

31:52

Yeah. I guess I guess you change the car set, but can you change the car set on just a column? I guess you can.

31:56

Aaron

You can. Mhmm. Okay. Because you can have a binary you can have a binary car set on a column, and that's just raw raw bias.

32:02

Ian

You could also get into, like, yeah, flip flipping flags on bit

32:07

Aaron

Hell yeah.

32:08

Ian

Columns or whatever. I don't know how that stuff works. I don't know stuff that's all. It's just I got a

32:11

Aaron

bit I got a video on that. So to a plain scale channel, I got a video on storing storing flags in a single integer column using bit masks. Totally unhinged, completely unreadable. You wanna talk about unreadable?

32:25

Ian

Yeah. I mean, that's what I mean.

32:26

Aaron

Column and you look at it and it says 17, and the row below it says 16, and the row below that says, like, what's another one? 9. And you're like, what do any of these numbers mean?

32:36

Ian

Please double.

32:37

Aaron

That's really interesting. So, yeah, the plan and skill channel has a a video on that that I find very interesting and probably a a bad idea was

32:45

Ian

my decision on it. I might be a step too far in the maximum efficiency I think it is. Direction.

32:51

Aaron

If you're doing that, you better have a good reason.

32:54

Ian

Right.

32:55

Aaron

And at that point, I'm just trusting that, like, you know exactly what you're doing because you're reaching for a really esoteric solution. Yeah.

33:01

Ian

You're at some very crazy scale where you you're you're trying to eat out every little minutia ounce of performance. So I'm not all the way to that. Alright. Shedquarters. If we don't have another database column back and forth here.

33:16

Shedquarters. Alright. Shedquarters. Let's do it.

33:20

Aaron

Ian. Mhmm. Four kids.

33:23

Ian

Yes. It's a lot

33:23

Aaron

of kids.

33:24

Ian

Yes.

33:25

Aaron

Too many. It's a

33:25

Ian

lot of kids.

33:26

Aaron

Too many. It's just enough. It's just enough, but it's too many.

33:29

Ian

It's good enough. Yeah.

33:30

Aaron

So, you know, when we found out we were having another set of twins, we moved out of the house, sold the house, to which the shed quarters had become fundamentally attached. Right? There's a world in which I move it, but I think we got more value from selling it than we did. Right. I would ever get from moving it.

33:49

So we moved into the rental where we currently live right now, and, I am in a 9 by 9 room that directly through these glass doors

34:01

Ian

is I made that mistake too. Glass doors. Terrible idea.

34:04

Aaron

So it's, like, our our single we don't have, like, a formal dining and a normal dining. It's what what are we not the the Vanderpiel. Modern. Dining. Right.

34:15

So the kids sit right there, you know, when they're eating and they're, you know, screaming at the toys and stuff like that.

34:20

Ian

Not It's

34:21

Aaron

like

34:21

Ian

Not optimal.

34:22

Aaron

Not optimal. And now there's 2 more of them that, you know, she's out here in the living room feeding, and I don't wanna be like, hey. You gotta go in the backwards, you know, darks because I'm I'm working out here. It's like, no. That's fucking horrible life.

34:33

Ian

Let me interject here for one second. So when we Okay. Started HelpSpa and the company, we had a condo. And we had no kids. And it was 2 level, nice little condo.

34:44

And my office was, like, in what the dining room. So it was like a desk in the dining room and then the little four like dining room table thing. And we had our first kid and Jamie be in the living room, which is right next to all this, like playing with the kid, doing whatever. And then if I had a phone call, because I was just doing support too, and I was answering the phone and we'd have this thing where we I don't know how we got calling it this, but we started calling it illegitimate family. And so I'd be like, illegitimate family.

35:11

And she'd be like, okay. She'd scoop up the kid and, like, run upstairs to, like, the farthest away bedroom so that, like, he's crying and yelling or whatever. And I'm like, I'm on the phone. And this is all, like, a 1000000 years before COVID and everybody works from home, and you just expect people having people in the background. Like, you know, it's like a business.

35:26

I'm being formal and business y. Right? And it's like, no. We gotta, like, run away with the child because there's, like, not enough room in this place to have separate Yeah.

35:33

Aaron

Illegitimate family history.

35:35

Ian

Family. Yeah. It was

35:37

Aaron

very funny.

35:38

Ian

Anyway, continue on. So you got, glass doors?

35:41

Aaron

Yeah. Glass doors. I've done the best I can with the treatment, people yelling, people screaming. Also, like, it's very, very nice to be able to walk out and, like, say hi to the kids and play and laugh. But they're also getting the big ones are getting to the age where it's like, oh, dad's out.

35:58

Come jump on the bed with us. And I'm like, I really I can't do that right now.

36:02

Ian

Yeah. And that's its own issue. Yeah.

36:04

Aaron

Yeah. And that, like yeah. So, we Jennifer and I started talking, and I was like, I don't think I can work in the in the house anymore. And she was like, I think it would probably be better for you to not because part of the problem is if I'm gonna record videos, my windows are so small, like, while they're napping, if they nap and then at night. And a lot of it, frankly, has become record at night.

36:29

And that's just I don't have the same energy to do that now that I have these other 2 that I'm feeding at night. Right? So I gotta get my work done during the day, like a normal person. And so I started thinking, like, why what what could I do here? Like, what what are the what are what are the common solutions?

36:50

Like, what is common to man? I would go get an office. Right? That is very normal. I I would be so boring if I did that.

36:57

Right? So I went and looked at, a few offices and emailed some people. Office space is expensive. Yeah. It's very We

37:05

Ian

have, like, coworking nearby or, like, some office space? Coworking.

37:09

Aaron

Yeah. There's coworking, and there are offices and coworking. The problem is, the problem is I need a lot of space. Right? Because I've got I've gotta set up cameras, and I've gotta set up lights, and I've got, a bunch of very expensive equipment that I need to keep in this place, and so that's an issue on its own.

37:29

And so I'm, you know, I'm emailing, like, like, Regis is the big, like, rent your own office kinda conglomerate, And they're like, you need an office for 1 person? Great. We have a, you know, an 8 by 10 office. I'm like, no. That's what what I'm in now, and I'm barely, like, I'm barely making it.

37:46

Tell me, like, tell me what a 10 by 20 is. And they're like, oh, so you want 6 desks in there. I'm like, what? No. And, of course, you know, they price it out for a company that's trying to house 6 people.

37:57

It's like, this is stupid. I don't need to do this. I'm a I'm a very I'm a very creative person. So I started looking at apartments.

38:07

Ian

Oh, wow. I would have thought that. Look at that.

38:10

Aaron

At apartments near Okay. Nearby our house. So the closest office was, like, 15 to 20, 25 minutes away. Very expensive. The closest apartments, Ian, are 3 minutes from our house.

38:24

Literally. 3 minutes. Dallas is blessed or cursed with an abundance of apartments. We got apartments everywhere.

38:31

Ian

It's Like a little

38:32

Aaron

what do they call this?

38:33

Ian

It's like Pierre de Tet or whatever. It's like when you have your house in the city and your house I

38:37

Aaron

don't know what that means, but I think that is actually exactly what it's called. And so I started I went and toured a bunch of apartments, and I was like, hey, apartment guy. Here's the deal. I want a studio apartment because I'm not gonna I'm not gonna live here, man. And he was like, what do you mean you're not gonna live here?

38:52

I'm like, I

38:54

Ian

I make a lot of neighbor ever.

38:56

Aaron

Yeah. Exactly. I'm gonna be here from 9 to 5 when everyone is gone, and then when everyone's home, I'm gone. Gone. So I told him, like, hey.

39:03

I make a lot of I'll make a lot of YouTube videos. I have, you know, a full time job. It's not like I'm gonna be bringing you know, I'm not gonna be holding meetings here. It's literally just me, but I need a big space, a safe space. I need, like, a place where I can set everything up and leave it.

39:18

And so I toured I toured maybe 6 different apartment complexes

39:23

Ian

Interesting.

39:24

Aaron

And I signed a lease for an apartment. I've got an apartment now.

39:29

Ian

You know, I love that you the a huge upside, though, is, like, you've got your own kitchen. You got your own bathroom. Like Dude. It's very nice.

39:37

Aaron

Yes. Yes. Versus the coworker. Apartment, and I, I'm I'm gonna tweet this today. And so by the time people are hearing this, hopefully, they've seen it on Twitter.

39:47

The apartment is going to be called the PlanetScale Studios. So

39:51

Ian

Oh, there we go.

39:52

Aaron

It's gonna be a it's gonna be a permanent video setup in so it's this is actually a 1 bedroom, because at this complex, it was cheaper to do a 1 bedroom than the studio at the other complex, and I was like, what do I care? I just want the cheaper one. Yeah. So it is a one bedroom, and so I'm gonna set up every all the lights, and I got a new camera. I got some different lights.

40:15

Oh, what camera? Upping upping the production quality. I got I got a, I got a Canon r 6.

40:21

Ian

No. Sony? You didn't go Sony.

40:23

Aaron

I'm staying Canon family. So new camera, bigger lights, better lights, better lights, better desk, better backdrop. So I'm upping

40:30

Ian

up the whole bed? You gotta set up the bed.

40:32

Aaron

There's no bed. I'm not gonna have a bed.

40:33

Ian

You gotta have a bed.

40:35

Aaron

No. There's no bed.

40:36

Ian

You've got a bedroom. The bedroom is for the bed.

40:38

Aaron

No. You guys are

40:39

Ian

gonna need it. Studio. This way, either one of you could go bail and crash at at

40:43

Aaron

this place and get

40:44

Ian

a little rest time.

40:45

Aaron

That's actually one of the rules is, she was like, I think this is a great idea. You can't leave me alone and go nap. And I was like, yeah.

40:51

Ian

That's She can know. She can be the one who who goes with bees alone.

40:54

Aaron

Okay. We'll we'll talk about yeah. We'll talk about potentially a bed couch. There's there's a roofer bed. The whole What's in the

41:01

Ian

living room?

41:02

Aaron

I don't know. 2nd set or something. I don't know. We'll see. We'll see.

41:05

Ian

We'll Set? Oh, man. Alright.

41:07

Aaron

Yeah. Yeah. Yeah. We're we're doing the whole thing. So Alright.

41:10

At the PlanetScale Studios, I'm gonna Is

41:11

Ian

this corporate sponsored here? Is this is this, like, official, or is this semi

41:15

Aaron

official? This is this is official. This is the official PlanetScale

41:18

Ian

Studios. I like it. Yeah. I like it.

41:20

Aaron

And so I'm building out a new set, and I'm gonna set, you know, set I'm going to, like, try to hang the lights from the ceiling. It's going to be kind of fun because, like, you can't really do a lot in an apartment. Like, you're not allowed to, like, totally screw stuff to the wall. Right. So it's gonna be a fun a fun project.

41:38

But so benefits are it's gonna be so quiet. It's gonna be so quiet. You know, everybody everybody's at work during the day. I'm gonna be at the apartment during the day. The good news is I was completely forthright with the leasing agent, and he was like, yeah.

41:51

I don't that's fine. I don't care. Like, you're gonna be you're gonna be a good tenant. That's fine. In the lease, it says you can, like, perform business out of there provided it is like a work from home business, and you're not having people come.

42:05

And I imagine they added that once, you know, COVID hit that was like Right. Yeah. You all work from home. Right. So I'm I'm well within my lease rights.

42:12

It's gonna be very quiet. And then, yeah, I've got my own bathroom. I've got my own kitchen. And so this is gonna unlock this is gonna unlock, a new, like, a new vector for healthy living for me because, you know, I've tweeted about it, but I've been in a lot of physical pain recently, which we can talk about later. But this is gonna be like, okay.

42:34

Instead of leaving the house every day because you want to get out of the freaking house and going to pick up, you know, Chipotle, Chick Fil A, McDonald's just because you need an excuse to get out. Alright. You can, like, you can, like, make lunches in in the quiet kitchen where you're not feeling like I've got to get out of this house. Yeah. And so, for for a future show, I'm I'm gonna be a smoothie guy.

42:57

I'm becoming a smoothie guy.

42:59

Ian

I've done some rounds on the smoothie.

43:01

Aaron

Yeah. I I I eat kinda like, you know, if you have a 12 year old nephew, that's basically how I eat. Like, I I kinda just wanna hamburger some chicken. Yes. Chicken nuggets, like, maybe some pizza.

43:13

That's basically what I wanna eat all the time.

43:15

Ian

Probably not all the time.

43:16

Aaron

Like, you you give me an avocado, and I'm like, I'm not touching that. Can you send it back? I think I got some avocado on my on my quesadilla. Can you send it back? And so, you know, I've started doing these smoothies over the break as a way to, like, hopefully change my diet a little bit to decrease Mhmm.

43:30

Maybe pain and inflammation a little bit. Yeah. And you can put anything in the stomach.

43:34

Ian

In there. Yeah.

43:35

Aaron

You can put anything in there.

43:36

Ian

Spinach. Always put spinach is just baseline.

43:38

Aaron

Spinach. Spinach. Avocado.

43:40

Ian

All kinds of stuff.

43:40

Aaron

All kinds of random crap. You can just, like, put it in there, and you put a glob of peanut butter, and you're like, peanut butter smoothie. You can. I will say it goes

43:49

Ian

away. You do have to be a little bit careful if if you have a weight loss goal. I don't know if you have weight loss goal, but if you have weight loss goal, you can make a smoothie that's, like, 15 or

43:56

Aaron

count count and you're

43:57

Ian

still hungry at the end. You're like, oh, I'm gonna have the smoothie. Because, yeah, like, once you put a bunch of peanut butter and avocado and this and that, like

44:03

Aaron

Yeah. Totally. It's, like,

44:04

Ian

super calorie filled. But yeah, yeah, I love smoothies. They're awesome. Get some good protein powder. I like the naked protein powder.

44:10

Naked.

44:11

Aaron

Yeah, I think we actually got that. Yeah, I got some flavor protein powder for it. Yeah. Yeah. My wife has been running the show on that.

44:17

She's the boss, and she just, like, hands me a smoothie, and I'm like, what's in here? And just drink it. And it's great. I love it.

44:25

Ian

Yeah. I love smoothies a lot.

44:26

Aaron

That's gonna that's gonna open up because I'm gonna have a refrigerator there. What what am I gonna what am I gonna put in? I'm just gonna put, you know, bags of frozen fruits and veggies in the in the freezer.

44:36

Ian

That's perfect. So it can just sit there. It doesn't go bad and all that stuff. You just need, like, some milk or almond milk or whatever you're gonna put as a liquid, and that's it. Or water even.

44:45

So And

44:45

Aaron

then this is this is just I I'm I'm blowing my own mind here. Apartments have gyms.

44:52

Ian

Oh, free gym membership. Apartments have gyms. Genius.

44:56

Aaron

I'm gonna I'm just gonna be able to walk downstairs, So I'm gonna take, you know, 10 minutes to make a smoothie at lunch. What if I take another 20 to walk downstairs, do a little bit of workout, come back, crush some videos?

45:11

Ian

I think you should. That sound? You should you should absolutely try to take lunch. I think taking lunch is underrated. Take lunch because you're gonna work, you know, I know at least that you have been doing this and I assume you're gonna continued somewhat like you're working at night.

45:23

Aaron

Yeah.

45:24

Ian

Working after the kids go to bed. Right. So like when you work straight through and you don't even take lunch and then like, yeah, you get your couple hours at home and the kids, and then you go back to work after they're really sleeping. Yeah. Like that lunch break is kind of huge.

45:34

So like, yeah, if you've

45:35

Aaron

been pretty bad about

45:37

Ian

it. Yeah. Like even just a walk, like the, the apartment complex will still be it'd be a good place just to even walk. Like, just literally take your smoothie and, like, go walk around the complex, like Yeah. For 30 minutes, listen to an audiobook or whatever podcast.

45:50

Aaron

Point.

45:51

Ian

Yeah. Yeah. So I would try to put some of that stuff in. But, Yeah. That's I mean, it sounds I love this plan.

45:58

Aaron

And it's cheaper than the office quotes that I got. It's cheaper. The all of these amenities, and it's cheaper than getting an office in some boring soul sucking building.

46:10

Ian

Yeah. Yeah. I don't think you'd wanna be on office on your own. I like my setup here is nice because I have my cousin and my brother, so it's like some human interaction, but just to, like, be just to get an office office where you're just straight by yourself, I think is pointless. The, you know, in a co working space is at least adds a little human interaction, which is probably good.

46:28

But at the same time, you're at a point where like your time for human interaction right now is limited, in terms of like making new friends and stuff like that.

46:36

Aaron

So I've I've no It's been years

46:39

Ian

since I've made a new friend.

46:40

Aaron

What do I need a new friend for?

46:42

Ian

So Yeah. It's probably not a huge concern right now. So no. What's your plan gonna be? Are you trying to go there all day?

46:48

Are you gonna do half days?

46:50

Aaron

No. Just all day.

46:52

Ian

Okay. All day.

46:53

Aaron

Yeah. This is, like, I I leave the house to go to work like it's the 19 fifties. Yeah.

46:58

Ian

What, I guess you still have the au pair at home, right, during the day?

47:03

Aaron

We do. Correct.

47:04

Ian

Okay. So that's good. Yeah. So you have there's there's some help there, and you're only 3 minutes away if you needed to.

47:08

Aaron

I'm only 3 minutes away, provided everything else down. Yes.

47:11

Ian

So or whatever. Yeah. Come back for lunch.

47:12

Aaron

And you'll be able to do that for lunch. Yeah.

47:15

Ian

Right. Yeah. That's a good trick too. Like, eating at home is always better. But so tell I'm a big eat out guy too, but, you're always better when you're eating at home.

47:26

Yes. Always just Better in every way. Yeah. Well, I like this plan. I think people are gonna be surprised.

47:33

So I

47:34

Aaron

think so. I'm so excited. It's it is just like it just is it's just got my name all over it. It's just, like, weird enough that people are like, what are you? You're doing what, man?

47:47

But it's just, like, it's it's gigabrain. It's like, oh, dude. And we didn't even cover the last amenity. Apartments have pools.

47:55

Ian

Oh, yes. That's true. You could bring your crew there and boom.

47:58

Aaron

I could bring your crew there in the summer.

48:01

Ian

I love this idea.

48:02

Aaron

Basically, I basically just got a country club member.

48:06

Ian

I'm just gonna say it's a country club. Yeah. I like this stuff.

48:09

Aaron

If I were if I were a wealthy man, I would have an office and be a member of a country club. Instead, I have an apartment.

48:18

Ian

But it's just as good. It's better.

48:20

Aaron

It's just as good.

48:21

Ian

At a country club, you don't have a private area all to yourself anywhere.

48:24

Aaron

I know.

48:24

Ian

You know, in the locker room or whatever. Like,

48:27

Aaron

this is

48:27

Ian

like, you got your own space here. So, I'm very excited to deal

48:31

Aaron

with this. I kinda freaked out and was like, I gotta get out of here. I'm gonna go look at offices. Was disappointed by the price and the the benefits and then was driving actually, was driving home and thought, oh, there's 6 apartment complexes right there. I wonder what I can pull off there.

48:46

And it was cheaper. So

48:48

Ian

So do you have it? Are you in, or are you not

48:50

Aaron

in yet? Lisa started. After we get off this call, I'm going to get the keys.

48:54

Ian

Oh, man. Wow.

48:55

Aaron

Today is literally the day. Yeah.

48:57

Ian

We're gonna have update images inbound. Updates.

49:01

Aaron

There's gonna be so many pictures. It's gonna be great.

49:04

Ian

I wasn't It's gonna

49:05

Aaron

be so awesome.

49:06

Ian

Aaron Francis Band Club for the original shed quarters build out. So excited, for it to to get to experience this now.

49:13

Aaron

Baby, it's so good content.

49:16

Ian

I really love the Home Office. People love the Home Office story.

49:19

Aaron

Yes. And it's gonna be great. It's gonna be great for planet scale because it's literally gonna be, you know, when I announce it on Twitter, this is the new planet scale studios.

49:27

Ian

It's like, how

49:28

Aaron

cool is that?

49:28

Ian

Like, you know what you need to get if since you have corporate sponsorship, you need to get one of those custom, like, led neon light things, like the studio or something. Okay. Yeah. Yeah. You gotta have that.

49:40

Yeah. I love it. It's gonna

49:42

Aaron

be awesome. Doing it, and that's gonna be a ever present fixture in the backdrop is the custom a custom planet scale LED. It's so cool.

49:52

Ian

It's gonna be sweet.

49:53

Aaron

I'm so freaking pumped.

49:54

Ian

I like this.

49:55

Aaron

This is

49:56

Ian

this is great news.

49:57

Aaron

Isn't this wild? What did you expect? Did you expect apartment?

50:02

Ian

No. I I figured I I wasn't sure. It seemed you seemed tricky about the talking about it. Right? So I was like, well, it can't just be like, I know you're renting, so you're not gonna build something.

50:13

Like, maybe it's like a RV that you're gonna park back there or something. That's not really great stare the cool. Video unless you really got Yeah. I mean, some probably would work,

50:21

Aaron

but I don't know. Expensive, but that would be hysterical.

50:24

Ian

Some kinda, like, trailer that you can, like, move

50:27

Aaron

more Oh, yeah. Totally.

50:28

Ian

With the idea that you're gonna move it or, but, yeah, apartment. I like this. This is way better. I think this is I think you nailed it. This seems

50:36

Aaron

Yep.

50:36

Ian

Optimal. Hopefully, you have a good neighbor and not some some crazy neighbor. I know. Hopefully, I

50:40

Aaron

don't have a neighbor that's also home from 9 to 5.

50:42

Ian

Yeah. Because they're loud or something. They're doing that. Yeah. Something or they have they have 6 kids and the walls are thin.

50:49

Exactly. There are a few risks here.

50:51

Aaron

There are there are definitely a few risks.

50:53

Ian

But I think it should be fine.

50:54

Aaron

When I when I told my, few of my friends I was doing this, they were like, dude, have you ever been to an apartment? It's so loud. And I was like, okay. So hang on. First of all, this is a good like, it's a good apartment complex.

51:06

Like, it's not Yeah. It's not the cheapest one in Dallas for sure. Right. Also, I think I think I'm I'm basically working the reverse schedule as everyone else. So my my understanding or my my guess is that the frustration with apartments being loud is at night when people are watching TV and screaming at the TV or on the weekends when they're at the pool dorking around and listening to muse music of the youths.

51:31

Right? And so I'm I just don't think I'll be there during those times. So that's my hope. Yeah. I could be proven hysterically wrong, and that would make

51:38

Ian

it a good attempt. Be a huge one too, but you're definitely most of the year, we'll have kids will should hopefully be in school and so that shouldn't be too much of an issue other than maybe summertime or whatever. So Yes. Totally. Yeah.

51:50

I think the risks are are low. Yeah. So Alright. I like it.

51:55

Aaron

So exciting. So, yeah, look forward, you, Ian, look forward to a tweet. Everyone else, hopefully, you saw my tweet, by the time you hear this.

52:04

Ian

Alright. So then during our hiatus here, you also said you're doing a static site package. Like, what the hell is going on? Are you doing more static?

52:11

Aaron

Bring me don't bring those curse words at me. I mean, you're so frustrated. What the hell? So here's the deal. I was on,

52:17

Ian

how much stuff did you do?

52:19

Aaron

No. Not it's not too much. Not not enough. I was on, what's it called? Overengineered with boss man Chris.

52:27

Ian

I didn't listen to that. I should listen to it.

52:29

Aaron

How did you know that I was doing this then?

52:32

Ian

Well, I think I saw it on Twitter. Yep.

52:34

Aaron

Oh, man. That's crazy. Yeah. It's not it's it's really not, One is it hasn't even been started besides, like, coming up with a dope name for it that I can't share now.

52:46

Ian

Oh, boy.

52:47

Aaron

So a dope name and some branding. And the the idea here is that, like, I think I can offer a way to build static sites with vanilla native full on Laravel and then have, like, really strong first party integrations to the static site hosts such that, you're like, alright. I built my site. Now I wanna run it on Netlify, and you can just say deploy Netlify, and it'll handle, like, setting up, you know, redirects based on how the Netlify platform works. Maybe that's middleware.

53:19

Maybe that's a configuration file. Maybe that's edge middleware. Setting up, like, OG images and syntax highlighting and getting it all deployed, that kind of stuff, and, like, having it as a GitHub action as well. And so it's really not it's not something like next or next where it's this huge framework on its own. It's kind of this package that's like, hey.

53:39

Build out everything you want with, you know, route model binding, and then we will figure out all of the final URLs, and we'll construct a package, that is conforming to any of these, you know, 10 different first party, static site hosts from get pages to Cloudflare pages to Netlify to Vercel, and then we'll just push it out there, and here's a GitHub action to do it. So it's not huge. I think it is pretty cool, and we'll see when it gets done.

54:10

Ian

Could be something that goes back burner. I could foresee.

54:13

Aaron

Oh, yeah. For sure. Yeah. And could be could be something that's, like, basically, I build it and use it myself, and then that's how anything ever gets pushed on it. It's like, oh, I need this now, and I'll I'll build that out myself too.

54:26

I know you have you have so many problems with my static site that you're like, I don't I don't think this is a good idea, but I think it's a great idea.

54:32

Ian

No. I I don't think that I think I don't know if it's a good idea from your time perspective. Like, I don't know if this, like, pushes screen casting forward. Does it push

54:41

Aaron

the YouTube

54:41

Ian

channel forward? Like, whatever

54:43

Aaron

those things are going on. That's one of the things I'm discovering about, making YouTube videos is I need to personally, I feel like I need to have real projects from which to pull interesting tidbits.

54:54

Ian

Gives you something to do.

54:57

Aaron

Yeah. And so this is like a this is like a content muse, kind of. So we'll see. But Like I said, I think you need to pick up

55:04

Ian

a database project then. You need some kind of heavy database thing.

55:09

Aaron

Well, yeah, for for the plain and scale side, yes. But for the personal side, I need some Laravel stuff.

55:14

Ian

As much. Yeah.

55:15

Aaron

So yeah. So like I said, I haven't actually started on it, but it's cool, and I've got a great name for it. It's kicking around.

55:24

Ian

Great name is important. You got the good domain.

55:25

Aaron

You got

55:25

Ian

the good name.

55:26

Aaron

Yep. Yep.

55:27

Ian

You're halfway there.

55:28

Aaron

I'm halfway there, so look for it in 2025.

55:32

Ian

Alright. So the other item we had on the list was my database woes of MySQL and out of control memory and all that stuff. Yeah. It sounds like

55:42

Aaron

it cracked it.

55:43

Ian

8 weeks of that or 7 weeks of that or whatever, freaking sandy. This is the the sad part of SaaS where you think it's all happy and fun. It's not happy to babysit a database server for

55:52

Aaron

2 Yeah.

55:54

Ian

But we are over it. We figured it out. Yeah. I was basically we're gonna get super esoteric, but there's this thing called table table open cash.

56:04

Aaron

I've never heard of this in my life.

56:06

Ian

So there's table open cache, which is how many tables you could put in the cache when like the table definitions, the, the database system stores.

56:14

Aaron

Okay.

56:14

Ian

And then there's, you could have a set number of instances of that cash And the recommended amount in the documentation is 1 per CPU, which is what we had. So we had 10,000 tables set as the cache. We had 16 for the number of instances of that cache. We had tried making the the open table cache lower and higher down to, like, 500 up to 20,000. Like, everything in between didn't impact anything.

56:43

Aaron

K.

56:43

Ian

But the number of instances apparently did because when we dropped it from 16 to 4, everything was perfect. Then it all worked magically and everything's fine. Really? To change that is not dynamic. Open table cache is dynamic.

56:56

Open table cache instances or table open cache instances is not dynamic. So you have to restart the server. We can actually do without downtime now because amazon launched this new thing, which is actually pretty cool called, blue green migration. So you can basically build a clone of your environment and then it'll just DNS switch over when you want and the clone's have different parameters set. So we were able to do it.

57:21

It just costs money, but it doesn't cost downtime. So we're able to do it no downtime. But it was annoying And something I didn't change initially because it was annoying, and the doc said you shouldn't really have to. We were set up appropriately. But my QA docs, whatever, nobody cares.

57:38

So change this and it memory's a flat line. Server's super stable. Everybody's happy. Everything's fast. Everything's wonderful.

57:48

Aaron

So how in the world did you did you find this? Was this Percona? Had they seen this before? Or was this just like

57:56

Ian

No. They hadn't seen it before. So the good the good news is

58:00

Aaron

Wow. Good for them.

58:00

Ian

Was Percona. Kona after paying them lots of money. They did fund it, which is good. And yeah, he just taught us change after like several, I mean, we have been working with them for several weeks because the way they do it is like 4 hour chunks over different days spread out. It's not like the guy just sits there with you for

58:19

Aaron

2

58:19

Ian

weeks straight. Like, it's all spread out, which I guess makes sense because sometimes you're changing something and then you're gonna wait and see 2 days. What happens? Right? So, like, they spread out when the

58:27

Aaron

action works on your project. Method.

58:29

Ian

Right. Yeah. So, so anyway, yeah, just do this. And, we did it over, It was a pretty good time for downtime if we were gonna have any, which we didn't, but it was over Christmas or something like that or

58:41

Aaron

yeah, whatever.

58:42

Ian

Anyway, we, we switched it over and it worked. So, yeah, the guy it wasn't the guy's recommendation. I had seen this. It is the only setting in the entire MySQL configuration documentation that even talks about memory usage and that this setting can impact memory usage. Yeah.

58:58

Aaron

It's a

58:58

Ian

good tool. There.

59:00

Aaron

Yeah.

59:02

Ian

But so, anyway, so it fixed it. Brutal. And we're back back online.

59:07

Aaron

So you're back online and you're migrating to single store? Is this what I'm hearing?

59:11

Ian

No. We're not migrating to single store. So I haven't talked about this on here much yet, but, yeah, next generation help spot, which is gonna be a clean slate, We'll use single store.

59:21

Aaron

Ground up rewrite?

59:23

Ian

Yeah. Ground up rewrites. Oh, gotta cover

59:25

Aaron

that one day.

59:26

Ian

Yeah. We'll be talking more about that. I'm sure over a time. It's gonna take, like, a year. So it's, we got we can it'll be sprinkled in as I hit stuff, and we'll a little bit more.

59:34

But, we are gonna pull we're gonna pull a page out of the d h h playbook, which is Ian. I know it's crazy talk. Existing customers, which are on help slot 5. Uh-huh. They can stay on there forever if they want to.

59:51

So like, we'll keep that stack up. That's that has this existing my SQL issue, like whatever that stack can just stay up. They can stay on there. I think a lot of them will eventually want to move to the new version. And so we'll have a way to do that, of course.

1:00:04

But, but this way, it also frees us up to do some different things. Because it's just like a lot we've learned in 24 years and

1:00:11

Aaron

Different product at that

1:00:12

Ian

point. Yeah. I want stuff to work differently than it did in the current help slot. And so this way there's a little bit less pressure there. It's like, I think it's better this way, but if you don't like it or you don't wanna relearn it and you're very happy with current help spot, then you can just stay on current help spot and you don't have to change at all.

1:00:28

And that's fine. But if you wanna change, then if you like these new ideas, then, you know, we have the new platform that Yeah. And so it was so, yeah. Man, that's crazy that

1:00:39

Aaron

you love d h e DHH so much now. That's wild.

1:00:42

Ian

He has some good ideas.

1:00:43

Aaron

It's not

1:00:44

Ian

always too

1:00:44

Aaron

bad. That's how interesting.

1:00:47

Ian

So we'll see how that goes. That'll be a whole interesting thing.

1:00:50

Aaron

Big that's a big move.

1:00:52

Ian

Not

1:00:52

Aaron

only a ground up rewrite, but a different database technology.

1:00:56

Ian

Yeah. A whole different database structure, too, because current I think we talked about before, but we have a database per tenant now. Right. Yeah. And it'll be, more traditional

1:01:05

Aaron

Centralized.

1:01:05

Ian

IDs. Yeah. Single tables.

1:01:08

Aaron

Great.

1:01:09

Ian

So that'll be a whole thing. I mean, a single store does like shard it and all that stuff for you. So it's a little bit kind of like the current setup in some ways, but it's managed by the database platform instead of by us.

1:01:23

Aaron

And if you, if you use that single store Laravel driver, you'll be using my handiwork, I wrote that.

1:01:28

Ian

I do use it. So you have to use it. It's spectacular. It's excellent work on your part. It's got everything you need in there.

1:01:33

It's so good. I hopefully they, I don't think I think somebody's still maintaining. I don't think it's you, though.

1:01:39

Aaron

Sure. Hey. It's not me. Let's just make sure that's make sure that's on

1:01:42

Ian

the record. You, man.

1:01:43

Aaron

In case Holly is listening, I haven't touched that since I got hired by playing as good.

1:01:47

Ian

That is for sure. Yeah. That's true. I guess we're in a little bit of a conflict of interest zone potentially. I think

1:01:54

Aaron

so. Yeah.

1:01:55

Ian

I don't know. It's not really true, though. It's sort of true. It's alright. I I had this on the on the list of things to talk about.

1:02:01

I took it off, but I put it back on.

1:02:03

Aaron

If we

1:02:04

Ian

cannot talk about it if it's not your right.

1:02:06

Aaron

I don't know what's happening.

1:02:07

Ian

You just have to reserve the right.

1:02:09

Aaron

But Okay.

1:02:10

Ian

The PlanetScale pricing page.

1:02:13

Aaron

K.

1:02:13

Ian

To me Uh-oh.

1:02:15

Aaron

Is

1:02:15

Ian

not is very, very bad. It's a bad price.

1:02:17

Aaron

Okay. Great. Hey, Matt. Tell me, what do you what do you see? Planetscale.com/ because

1:02:21

Ian

when I go because it's like what we're talking about now. Like, oh, you're using a single store. And, like, to me, the plantscale pricing page, it's telling you that it's not for big use cases. Like if you have a 1,000,000,000 road, don't come here. Because like the, the top tier is $39 Right?

1:02:38

And like, you can make it go up to 9.99. And even then, you're only getting 8 CPUs, 30 gigs of RAM. It just feels very focused on the, like, side projects, small projects,

1:02:50

Aaron

really, it's

1:02:51

Ian

interesting. It doesn't speak to me that, like, this is where you want your big heavy enterprise use cases.

1:02:58

Aaron

Because of the pricing.

1:03:00

Ian

I mean, the maximum you can even define is 9.99. It's like, I mean, nobody spends 999 on a database, like an enterprise scale. Right? Like, that's, like, very small amount of money. So And

1:03:10

Aaron

our enterprise customers don't spend that, by the way.

1:03:12

Ian

We have It's like, I know this is the custom pricing. Right?

1:03:15

Aaron

And you can

1:03:15

Ian

go talk to enterprise. And I'm a little bit more in the middle because it's like we have a an enterprise use case in terms of quantity of data to some degree, but we don't we're we're a very tiny company, so it's a little bit on the founder. So I'm looking at it, like, what can I see on this pricing page versus, like, a middle manager or some other company that's like, oh, yeah? Contact them for enterprise support, and I'm sure they'll

1:03:35

Aaron

go into it.

1:03:35

Ian

And I know Plano skill does all this stuff. So I'm not even saying for me, because I know that it's technically capable of a large project.

1:03:43

Aaron

Yeah. Yeah. Totally.

1:03:44

Ian

I feel like this doesn't convey that. Like if you go to the single store pricing page, yeah.

1:03:49

Aaron

Let's see that.

1:03:50

Ian

It's like, I mean, it's not as nice a pricing page as this. So this pricing page

1:03:53

Aaron

is the nicer

1:03:55

Ian

pricing page. Right? But it's like, hey. You want terabytes of memory? Sure.

1:04:00

We can do terabytes of memory, like, whatever you want.

1:04:02

Aaron

Alright. So I'm looking at cloud. You're not doing self managed. You're doing cloud.

1:04:08

Ian

Yeah. We're doing cloud. I mean, this kind I do have a potentially self managed use case, but I'm presuming I'm gonna go cloud. But the top price model here has

1:04:20

Aaron

Well, they've got

1:04:20

Ian

terabytes of RAM. Okay.

1:04:23

Aaron

I see. They have a, see more want more detailed pricing and sizing.

1:04:27

Ian

To go to the detailed pricing to break it all up. Yeah. Yeah. Yeah. Yeah.

1:04:30

Yeah. I'm pretty sure that this is negotiable, so I don't think those should Yes. You know, when you're getting 24 terabytes of RAM Yes. Probably have to be a

1:04:39

Aaron

part. Yeah.

1:04:40

Ian

But it does convey a certain amount of, like, hey. Somebody's using this thing with 24 terabytes of memory. Like that's a pretty huge database. Right? So for sure.

1:04:49

Yeah. And, and basically infinite storage and 3,000 CPUs. Right. So that is conveying that, like, you wanna sharded, you know, you need a sharded large scale database. Yes.

1:05:02

This is what we do here.

1:05:04

Aaron

Good lord. They $1200 per hour. It's a

1:05:08

Ian

little pricey at the top.

1:05:09

Aaron

S 384. Well, I have no idea. Like, for this this resources, we may charge something similar. But just seeing $1200 per hour is like good god.

1:05:19

Ian

So it's a little it's a little pricey. I'm hoping that's why I'm gonna watch the size of my columns here. I can't be like

1:05:24

Aaron

Yes. Exactly right. You can't keep your innuums. You gotta keep your in news small.

1:05:28

Ian

Keep my in line. But anyway

1:05:31

Aaron

That's interesting. So what you're saying, if I can repeat it back to you, is that, the way that our pricing page is signaling is that, well, to rephrase, our pricing page signals that we don't have many really, really large workloads because we max out at 8 vCPUs and 32 gigs of RAM in the in the, like, self serve slider scale your own thing.

1:06:03

Ian

Right. Yeah. I don't know. It just feels small. You know?

1:06:05

It just feels like this is for smaller things. Like, I could have a smaller thing that fits in here, and that makes sense. Right? But, like

1:06:11

Aaron

Yep.

1:06:11

Ian

Is it actually for if I need a terabyte of memory? Like, it doesn't it doesn't feel that way. Like, even though I'm sure it can do it because I know you and I know the company more than the average person, but I'm just saying sure. That's what strikes me when you see like 0 29, 39, like that's what you see on the pricing page.

1:06:26

Aaron

Right.

1:06:26

Ian

Right. Right. Again, for some customers, that's what they wanna see. It's like, oh, great. This is like less expensive than Amazon or equivalent.

1:06:34

I don't know. You know, it's a little hard to compare apple apples, but it's like reasonable. And but if I have a bigger project, I don't know.

1:06:43

Aaron

Yeah.

1:06:43

Ian

Kind of feels like maybe it's not set up for that. So that's No.

1:06:47

Aaron

It's great. Yeah. It's great. That's really helpful.

1:06:49

Ian

We're not getting

1:06:50

Aaron

Fortunately, fortunately no. That's fine. Fortunately, pricing is not my, bailiwick, and it's not my area of expertise. And so it's like, great. I love that feedback.

1:07:00

I get to hand it on to somebody who will know what to do with it. That's perfect. Yeah.

1:07:03

Ian

Maybe they test it all. It's like, no. We get twice as far as this one. Right? Who knows?

1:07:07

Like Yeah. Just my off the cuff thing when it came up the other day and I was looking at it. But, yeah, the single story is kind of interesting because, and we'll, we can talk about this more and it'll be cool to get some comparison with what planet skill does. But there is some interesting things that the, single store provides that's a little different than my SQL because it's not my SQL.

1:07:27

Aaron

Because it's not. Yeah. That's what I will be most curious to hear about as you go on is because it is I think it's memSQL is the old name of it because it is. Yeah. Not actually my sequel.

1:07:39

I'll be curious if you run into any, like, any showstoppers or problems or something. Yeah. Because it it not in a, like, a not in a derogatory way. It pretends to be MySQL. And so you like, you're kind of lulled into thinking this is MySQL.

1:07:54

Right? Because it's, like, wire compatible. It's very compatible with MySQL, but it's not actually MySQL. Right. So that'll be Which

1:08:02

Ian

is my which is my hope. Yeah. But I, that'll be some interesting edge things because, like, so my SQL's full text index. Yep. Is not great.

1:08:16

Yeah. Okay. I mean, it's fine, right? For small, but again, when you throw in Yeah. Hundreds of gigabytes, it doesn't really like that too much.

1:08:24

Aaron

No.

1:08:25

Ian

Whereas like the single store full text, which is my sequel compatible in terms of syntax is built on Lucene. So yeah, presumably it will be more performant. I'm sure it will have its own little things, but I'm hoping it's more performance. So this is actually based on Lucene, which is what even the last search is based. Everything's based on the top of Lucene.

1:08:44

So will it be better? I don't know. So far it's fine, but I haven't put 200,000,000 rows in there either. So we will see. So I'm gonna like, that was that's actually in my app service provider.

1:08:55

Nobody even brought up. I had to build a little

1:08:57

Aaron

I saw it.

1:08:58

Ian

Single store search engine.

1:08:59

Aaron

Oh, I definitely saw it. Yeah. Yeah. Yeah. I you know I saw that.

1:09:02

Ian

Yeah. So, like, will we be able to push that really far, which is my hope, or will it be like, no. We have to, like, offload this to a dedicated search service

1:09:12

Aaron

Right. At

1:09:12

Ian

some point or whatever, which Mele Mele, Miley, Miley

1:09:15

Aaron

search, whatever whatever it is.

1:09:16

Ian

No. No. That thing definitely can't handle it. That thing is like

1:09:19

Aaron

I guess that's true. It's a little hobby for

1:09:21

Ian

your scale. It's not built for any real data amounts. Like, as soon as you get to, like, even, like, 10 or 20 gigs of data, like the index is like a hun 200 gigs or something. And like, holy. Yeah.

1:09:31

It's not built for substantial workloads. It's for like,

1:09:34

Aaron

oh, let's see.

1:09:35

Ian

Ecommerce sites and things like that. But, yeah, it's not really built for heavy lifting of terabytes.

1:09:41

Aaron

And Algolia is just prohibitively expensive at that. I like I

1:09:45

Ian

like I like I like I would love to use a great products. Yeah. It's insane. It's like, yeah, a $1,000,000,000 for Yes. Yeah.

1:09:53

I I don't know how anybody uses it. Again, it's like I don't If I have a ecommerce platform, fine. It's like, here's my 1,000 products, and I get that could maybe work. But

1:10:02

Aaron

we used it at Resolute at the property tax firm. I implemented it. And we, you know, we paid handsomely. But at that stage, handsomely is, like, what, $200 a month? Yeah.

1:10:10

I mean, that's for a lot of money. Is like, that's a lot of money, but it's world class, and, like, we don't have that much data. And so I wonder god. Just I don't know. Yeah.

1:10:23

They're they're prohibitively expensive once you once you get

1:10:26

Ian

too far. It's great. I mean, you're $222,000 a month. I'd be like, yeah. Great.

1:10:29

Let's do it. But, like, it's not gonna be anywhere near that. At least last time I looked, which was only a few months back, but You

1:10:37

Aaron

should call them. They do, like, you know

1:10:38

Ian

I guess I could

1:10:39

Aaron

This enterprise pricing is it's just like true. It's totally made up.

1:10:45

Ian

It could be it does actually seem like a little bit it's sort of interesting. They do have a little bit even this pricing looks a little different than last I looked. It's 50¢ per 100,000

1:10:53

Aaron

Goofy looking page.

1:10:55

Ian

That's a little tricky to follow. I should give them another look just in case, but I think it does get to be pretty. Yeah. It's like 40¢ per oh, yeah. There you go.

1:11:04

See, it's like the baseline's fine, but then it's 40¢ per a 1000 records. I mean, we have customers who add a 1000 records a day or more. Like,

1:11:13

Aaron

so but Yeah. And at that point, we're really have to be careful what you're what you're running through Scout, like, what your index Laravel Scout, what you're indexing because you're just gonna end up getting totally hosed on pricing

1:11:25

Ian

if you

1:11:25

Aaron

do that. Yeah. That all With

1:11:26

Ian

that, I'm trying to be careful anyway, not I'm trying to really index just what has to be indexed. It's sort of weird. We get in this weird. There's a whole other thing we can talk about at some point, but like when you have a help desk ticket, like, I'm sort of tempted to just index the initial request and the solving request and not the like 30 emails in that, which are just kind of old with a bunch of BS. And current helps thought it's all indexed.

1:11:51

But how often are people really searching for the 10th email in a thread from 4 years ago? Like, not that often From

1:11:58

Aaron

4 years ago, not that often. But from 6 months ago, maybe.

1:12:02

Ian

Maybe. I know. Then you could get into the game of, like, well, do we have, like, a hot table with, like Yeah. More recent data, but then we drop it off over time. Like so it does it gets complicated.

1:12:15

But, my so default, I would like to just shove everything in there because that's simpler. But yeah, we'll see. It might not be optimal scale wise. Lots to talk about there. Well, a lot of That's a lot.

1:12:27

Yeah.

1:12:27

Aaron

That's good content. I'm excited for that.

1:12:29

Ian

Yeah. Anything else going on we need to cover?

1:12:33

Aaron

I don't think so. Gonna go get the keys and go take a picture and start this whole, you know, playing skill studios era.

1:12:41

Ian

I'm excited. Alright, man. We'll have fun with that. Thanks everybody for listening. Good to be back on the mic.

1:12:49

Check us out at mostlytechnical.com. Mostly tech pod on Twitter. We'll be posting up, I'm sure, video snippets and all that. And then mostly technical podcast at Gmail. You can email us, and we're we're starting fresh.

1:13:00

We're checking new year.

1:13:01

Aaron

This year, this year, we'll read them.

1:13:03

Ian

Well, we've always read them, but we've we've addressed them before, but this last one was too big a gap. Like, everything's from, like I can't get into, like, d h h and once again. We covered that enough. Like, we can't Yeah. That stuff.

1:13:13

So alright. Thanks, man. Have a good one.

1:13:16

Aaron

Alright. See you. Bye.

Details
Show
Mostly Technical
Date
Jan 11, 2024
Role
Host
All podcasts
Podcasts
Newsletter

Every week: the best things I've found and what I've been thinking about.