22: My Mind Vise

Intro:

You're listening to Mostly Technical, which is brought to you by Lara Jobs, the official Laravel job board, and screencasting.com, where you can learn how to create high quality screencasts Faster than others. Now, Ian and Aaron.

Ian:

Hello.

Aaron:

Hello, sir. How we doing?

Ian:

Good. Hanging in. Busy busy.

Aaron:

Hell no. Hanging in. Oh,

Ian:

no. Oh, man.

Aaron:

I forgot.

Ian:

I said, I does this count? I don't know. I feel like Podcast, different different environment. But

Aaron:

Yeah. I guess. Well, I'm gonna I'm gonna hit you with I'm gonna hit you with a man Hanging in.

Ian:

Okay. Give me Oh. Oh, man. Alright. Oh.

Aaron:

So, give it to us.

Ian:

Yeah. Give it to us. Sit down.

Aaron:

I got a diagnosis, or I got a confirmation of a diagnosis I already had, and that is rheumatoid arthritis. Right.

Ian:

What? Crazy. So Why? Like That is it. Mostly in older people, mostly in women, like, barely.

Aaron:

So here's the deal. Couple of things. 1 Yeah. 1 is I already have type 1 diabetes. I was lucky enough to get that at age 20.

Aaron:

Oh. So Wow. This is not

Ian:

that. Okay.

Aaron:

Yeah. This is not my first, autoimmune surprise. So it is possible like, apparently, they say once you have one, you're more likely to get another, which is just like, That doesn't seem fair. Right? Why don't we spread the love just a little bit?

Aaron:

We don't

Ian:

like that. Yeah. No.

Aaron:

I already know what it's like. Give somebody else a chance. So that that's a thing. And then the the weird part is, like, there's this blood test for rheumatoid arthritis, and mine has continued to come back negative. Right?

Ian:

Weird. Maybe just because you're not that or along with

Aaron:

it or No. So I have no idea what I'm like. This is why I went to the second I went and got a second opinion because the first one was just like, yeah. It's not all of this stuff, so it's rheumatoid arthritis. I was like, Right.

Aaron:

That seems a little fishy to me, doesn't it? Right. And checking on that. Yeah. Yeah.

Aaron:

So I went to the second one, and she was like,

Ian:

yeah.

Aaron:

It's definitely rheumatoid arthritis. Like, what the heck?

Ian:

Okay.

Aaron:

So, apparently, in, like, 20% of the cases, this marker doesn't show up. And so that's like a thing, but I'm gonna I'm gonna hit you with some woo. So brace yourself for some woo woo here. Oh, boy. Yeah.

Aaron:

We'll see if I'm in denial or if I'm, like, a genius.

Ian:

I like it.

Aaron:

And if I'm in denial, tell me I'm a genius. So here's here's the deal. The timing the timing seems a little suspect to me. I'm gonna be honest. Okay.

Aaron:

Right. So the first time we had twins, about this time into into the twins being alive, I got a herniated disc and was in bed for a couple weeks until I had surgery. Right? Couldn't walk.

Ian:

Okay. It was terrible. That seems really good one, though. Like, they they operated on you, so that seemed like it was a real thing. Yes.

Ian:

Okay.

Aaron:

It was a real it was a real thing. This time, Same same time, you know, a couple couple months in, I think we're, let's see, you know, we're just past 2 or maybe at two and a half months, something like that. I get this freaking I get this rheumatoid arthritis out of the blue. So here's the woo. Here's the woo.

Aaron:

The woo is it's all made up. It's all in my head. Okay. Yeah. So here here here's yeah.

Aaron:

Here's here's the best. So I'm currently

Ian:

Okay.

Aaron:

I'm currently, everyone listening is like this poor guy is so far up denial. It's crazy. So no, no, no, no, no. Yeah. There's some pseudo science to back it up.

Aaron:

Okay? Mhmm. So I'm currently trying to crush the arthritis in my mind vice. I don't know. Do you have you ever watched 30 Rock?

Ian:

I mean, I did forever ago, but I can't say I watch all of them.

Aaron:

Even though I can't do all of them. Man.

Ian:

30 Rock is

Aaron:

so good. 30 Rock is my fall asleep show. So I'd love all of them. You know, I'll put it in in in a headphone and fall asleep. There is a there is a bit in 30 Rock where Alec Baldwin, who plays this, like, Over the top conservative, you know, American male, executive.

Aaron:

This is hysterical. Hysterical. And Liz Lemon, who is Tina Fey, Liz Lemon, plays like this liberal writer of basically SNL. So freaking funny. And Liz is talking about having to go to therapy.

Aaron:

And Jack Donaghy says, give me your burdens, Liz, and I will Crush them with my mind vice

Ian:

because he, like, he,

Aaron:

like, doesn't believe in therapy, and he just crushes everything in his mind. That's what I'm doing. That's what I'm doing with rheumatoid arthritis. I'm pushing it in my mind vice. Yeah.

Aaron:

So foolproof plan so far. So

Ian:

Right.

Aaron:

You know, I tweeted about this and was like, hey, this sucks. I'm super bummed out. I have rheumatoid arthritis. Bunch of people, super nice, reached out and were like, You know, try being a vegan. Try eating steak only.

Aaron:

Try not eating anything. And I'm like, oh, wow. That's really the gamut of things, isn't it? It does like,

Ian:

it go down that road. It's hard. I've been down that road. It's a hard road. Like, there's a lot of, like, conflicting evidence and whatever.

Ian:

The whole another path of Stress.

Aaron:

And the hard part is the hard part is in most cases, everyone has, like, either a first or second party, experience to support it. So they're like, I went vegan and it cured all my stuff. And someone else is like, I ate only steak for a year and it cured all my stuff. And you're like, shit. That sucks.

Aaron:

Right? So I'm receiving all of this feedback, and I'm like, oh, this is all, you know, a helpful helpful to understand the universe of possibilities. Yeah. Filo Hermans, you know Filo, the guy with good hair? LiveWire.

Aaron:

Yeah. LiveWire guy. Yeah. Filo, tweeted at me and said, like, hey. This all seems a little suspect.

Aaron:

Like, I remember the first time you had twins, you had the back thing, and now, You know, you're working all the time. You're in your max effort era, and now out of nowhere, you get this diagnosis. And I'm like

Ian:

That's been my thinking too. We haven't actually talked about it Really? But I also agree. It's it's suspicious a little bit.

Aaron:

It's suspicious. Right. Right. The other thing.

Ian:

But even Right? Even just in this thing, it's suspicious because I know you're under, like, Tremendous stress. Tremendous stress.

Aaron:

Tremendous stress.

Ian:

Come off as not being

Aaron:

Yeah.

Ian:

Necessarily looking stressed. Right? But, like Yeah. It's all of a sudden. I know it's all of a sudden.

Aaron:

Side. Because you have You

Ian:

have twins, and you have 2 more twins coming, and you're in maxed up forever.

Aaron:

Everything costs $1,000,000. Yeah. Yes. Right. I'm under I'm under tremendous amounts of stress.

Aaron:

One time, I think a few weeks ago, I said out loud to myself, there was no one else in the room, I said out loud, I think I'm at about peak stress right now. I said, I think I was in I was in the in the apartment by myself, and I said, I think this is about as much stress as I can handle.

Ian:

Right. Right.

Aaron:

So everything's fine. I'm doing great. Everything's awesome.

Ian:

Sure. Uh-huh.

Aaron:

So so Filo says, it seems suspect to me if you're open to something, like, a little more, you know, out there, a little more woo woo, I would recommend you look at, doctor John Sarno And his book Healing Back Pain. And I was like Mhmm. You know what?

Ian:

About the second.

Aaron:

This came up this came up when I had back pain. You know, I I actually have the book. I just never read it and went and got surgery instead. You know, classic American. And Right.

Aaron:

So the the theory The theory that that Phil and then Philo and I talked on the phone for, like, an hour. Super super helpful. Great guy. Talked on the phone for, like, an hour. And The basic theory behind it is, your brain is trying to protect you from difficult emotions, particularly anger.

Aaron:

And so it's like it basically creates this Pain in your body, this physical manifestation of pain so that you don't address these anger emotions. Right. I was like, man, that is really interesting. Mhmm. And he told me his story.

Aaron:

Filo has a story about how he, like, was in this random physical pain and went to hospitals and had, You know, injections and all this stuff, and then Yep. Went through this this doctor John Sarno thing, and, like, he's pain free now. Like, Wow. Isn't that something? Well, okay.

Aaron:

So I'll stop there, and then I'll tell you how I'm crushing it in my mind vice. But you tell me, like, it's out there. It's it's wild. Yeah.

Ian:

Oh, okay. Okay. So have you so well, I guess, are you gonna read the book and try the techniques, or what do you think in there? Or you have a different plan based on general

Aaron:

So I have I have, like, the the beginner's guide to, doctor John Sarno from Filo. So I got the download from him. The book actually may I just saw Amazon notification. The book may have been delivered. I bought it the first time around, and then I got surgery.

Aaron:

And I was like, I healed my back pain, so I'm throwing this book away. Right. So oops. Messed up there. So the book is coming, and then I will read that and and by the techniques there.

Ian:

Yeah. I mean, I'm not, I mean, I think your mind is very powerful, right? Like people don't, especially in the modern era where we have all these distractions and like Technology and everything. Like, you don't think about that stuff, and we have medicine and all that. So I definitely believe her in that your mind can cause all sorts of weird and wonderful things.

Ian:

So yeah, I mean, it seems reasonable. I think definitely like dealing with stress, like this is where, I mean, Def You know, I kinda had my max effort era, if you will, kind of a little younger than you, but, like, in that general ballpark and had a lot of weird stuff and some of, most of it ended up having ultimately some causes, but it was a combination of like things I was doing to myself Effectively, like, whether it's, like, eating bad or too much caffeine or things like that where it's, like, causing issues in other ways that seem unrelated until you, like, figure it out, which always takes forever.

Aaron:

But that's just coming outside with that.

Ian:

Right? Like, you're the stress feeds into all that because, like, you're stressed.

Aaron:

So you're

Ian:

like, well, I gotta stay up late, so I'm drinking more coffee. Or, like, I'm stressed, so I'm doing this shortcut. I'm not taking care of myself. I'm eating, like, McDonald's every day or whatever. Right?

Ian:

Like, all those things McDonald's. That you end up doing to yourself because you're stressed and then have adverse effects on you, which don't aren't easily determined so directly because they're kind of you know, You wouldn't think they're connected. So, yeah, I think, like, whether it's, like, therapy. I mean, I was in a therapist in that range, and that was super helpful even if it's just to, like, Help get through it even just actually for that. Forget if it even like cures you, but like doing things like that is just useful to help get you through.

Ian:

Another thing that me and my wife did and did heavily back then and even now still do, we actually just did it last night, is, Transcendental meditation, which sounds

Aaron:

like a little bit

Ian:

funky, but it's really just it's

Aaron:

Is that like seen out of your 3rd eye? What is transcendental Meditations? No.

Ian:

It's all you do. All it is is, so I know you might have heard of like, oh, what do they call it? There's like a more popular one kind of around the Internet of Patients where, like, you focus on your breathing. I forget the word for it right now, but I don't like that type myself. The TM meditation is just you have a mantra and you just say it to yourself over and over and you just clear your mind.

Ian:

So like, wow, thoughts come into your mind. You keep saying the meditation thoughts come in your mind. You keep saying meditation. You have like 20 minutes. And it's, like, unbelievable how powerful it is.

Ian:

Like, it's crazy. Like, you feel so much better after you do it. So yeah. So there's even things like that that, Well, you know, whether they cure things or they just help you get through are actually super useful. But, yeah, I don't I think that this is seems like a reasonable approach for you to be trying cause like there's no downside and

Aaron:

there's no downside,

Ian:

you know, it chills you out. That's great. Or if it fixes it, that's even better. Right. So, So so far, it sounds good.

Ian:

So what's with your mind, vice, end of this?

Aaron:

Yeah. So I I told Jennifer, man, I've transcendental meditation. Am I gonna become a woo guy? That sounds interesting. I'll have to throw Let

Ian:

me tell you. It's It's it's pretty life changing. Like I, so I just did it literally yesterday, so I don't do it. We used to

Aaron:

do it like every day

Ian:

and that was awesome. And I, we should

Aaron:

do it every day still. We don't do it every day.

Ian:

But like just yesterday, I woke up early. I was exhausted. I didn't sleep all night before I took my son skiing. We went skiing. So we've talked about that Before I drag all shit, whatever, blah,

Aaron:

blah, blah, blah, blah,

Ian:

blah, blah, ski down the mountain all day, tired, drive home an hour and 40 minutes, whatever. Fine. Get home. It's, like, 7 o'clock. I'm just, like, delirious.

Ian:

And so I'm like, I don't wanna go to bed at 7 o'clock, like, and whatever. It's I'm not even gonna be able to sleep very seriously. Too much commotion in the house. Yeah. And it's embarrassing.

Ian:

So we just did a nice little TM, 20 minutes. I mean, I was

Aaron:

totally restored. Like, I stayed at the

Ian:

same night. I was like, I'm fucked. What? Is is great.

Aaron:

Is your, is your mantra a secret?

Ian:

They kind of when you get the lesson, like, we did a class in it. It's like a couple nights or whatever. You go take a class, and they give it to you, and it's like, this is your secret mantra or whatever. We thought, like,

Aaron:

the whole thing is, like,

Ian:

20 of them. Yeah. They give you the mantra, which is kinda cool because it takes

Aaron:

it off of you.

Ian:

Yeah. Yeah. Like they give you the mantra and, I mean, whatever. I'm sure you, this, that's it. I'm not in the like, I think you could do anything with this.

Ian:

Right. And it would probably work fine. But I do think the class was useful just in that there's just like some reinforcement of like that. Listen, these thoughts are gonna come in your brain as you're doing this and like not to get upset about it and not to be feel like you're failing at it. Like, that's the whole point.

Ian:

So they kinda just walk you through The basic. I mean, it's super simple. There's nothing to do. You just sit there with your eyes closed, say the mantra, and thoughts come into your head all the time, and you push them back out with the mantra. And that's just how it goes, but There's, like, crazy stuff.

Ian:

So this kind of along the lines with your pain.

Aaron:

Yeah.

Ian:

So you're sitting there. You're doing the mantra. Right? Whatever.

Aaron:

Yeah.

Ian:

Like, after 20 minutes, like, you will start hearing, like, your back Creek and stuff, like, as your muscles loosen, like your body is, like, shifting and creaking because of, like, all the stress that's just, like, released by you doing this and not thinking. It's crazy. Like, there's and that actually will be distracting because I'm, like, sitting there and it's, like, crack, crack. Like, I'm literally just sitting still, but it's just, like, as your muscles loosen, like, that's what happens.

Aaron:

And so Oh, man. This is the wildest thing.

Ian:

Yeah. It's cool. It's, like, free and easy and whatever. I mean, I would take the class. I would recommend the class, but I'm sure there's 8,000,000,000 videos on it.

Aaron:

Yeah. So, like, an online class or Or what? Yeah.

Ian:

I think the the place we did it was we did it in person. Like, this is like 10 or 15 years ago now, but, but I'm sure there's online classes, whatever. I think the place we went to, it does online classes, like, so we can I can send that over? But, and, again, I'm sure there's other 1,000,000,000 class. This is not like, This is a pretty widely known thing.

Aaron:

Yeah.

Ian:

So it's out there, and there's there's definitely classes. But you could totally do it online. It's not like being in person didn't really add anything. Like, It's walking through it online would be fine. Interesting.

Ian:

Yeah. It's it was really good.

Aaron:

Oh, man. I'm gonna become such a woo guy. You guys y'all are gonna have to be all kinds of all kinds

Ian:

of special Oh,

Aaron:

man. Yeah. Stuff like that. Yeah.

Ian:

The salt energy. I'll I'll Chris Stone. Be awesome. Yeah. I'll be glad we're doing this.

Aaron:

Sage, and I'm gonna Smudging the room before I start working to remove the bad energy. Wow. Okay. So Alright. Good to know.

Aaron:

We'll look that up.

Ian:

Yep.

Aaron:

The mind vice. I told Jennifer Yes. I'm I'm crushing my pain in the mind vice, and she was like, Are you sure?

Ian:

It seems like a bad idea, maybe.

Aaron:

Like, are you addressing the things, or are you just crushing them? And I was like, oh, no, no, no, no. I'm, you know, I'm I'm addressing all of the things. It's just like, you know, it's a shorthand. I'm crushing it in my mind.

Aaron:

So the first thing I did was I, like, went to coffee shop and Mhmm. Sat outside with my notepad. I have, like, I really like these Amazon Basics 8a half by maybe 14, maybe they're legal size pads, yellow yellow lined notepads, and I just write everything.

Ian:

I love a yellow notepads.

Aaron:

It's great. Oh, man. It's so great. You you fold them over the top. You don't tear them off.

Aaron:

You fold them over, and then you Right down, you fold the next page over. It just looks so professional. So I went to I went to the coffee shop and I just wrote down everything that I could possibly even think that I was, like, Angry about. And angry is like a weird word because I'm like, I don't feel angry, but, like, maybe the word frustrated is more accurate. So I just wrote down everything I I felt like I was about.

Aaron:

And I just kept going and going and going. And, like, there was some sort of, like, you know, unburdening of that, and that was nice. And then since then, I've done that again. I went to Barnes and Noble, like a bookstore. It's like Amazon, but in person.

Aaron:

And I just I got a coffee and sat down there. Heard of this. Yeah. It's crazy. Got a coffee, sat down there, you know, wrote everything down again, and, like, that felt really good.

Aaron:

And then I'll lay in bed at night before like, as I'm falling asleep, and I'll put on, in my headphones, explosions in the sky. Have you ever listened to them?

Ian:

No. I don't know that.

Aaron:

It's, it's a it's like a instrumental only band for the most part. Mhmm. It's real, like, Ethereal and, you know, kind of like, it kind of builds and kind of intense. Yeah. It's like, this is, oh, it's making me feel things.

Aaron:

And so I listen to explosions in the sky and, like, run through, okay, these are all the things that I'm trying not to address. Let me, like, Bring them up and acknowledge them and, like, try to try to not keep them buried. So It's not really crushing in my mind, Viess. It's like healthy, you know, it's work. Yeah.

Aaron:

But it's way cooler to say I'm crushing it. So, yeah, that's where I'm at so far. I do have a a counselor that I've seen over, you know, many, many years for many various things, And I'll probably schedule a few sessions with him just to, like, talk and see if there's anything that comes out. Yeah. See if there's anything that comes out through that.

Aaron:

But That's the plan right now. So I don't know if I'm in in denial or if I'm optimistic or something like mix of both, but I'm gonna try to I'm gonna try to see if there's a mental aspect to this. Yeah.

Ian:

I think that's great. Is there, like, a course of Treatment that you're supposed to be starting that then you're gonna wait on, or is that not a thing? Like, I have no idea what type of treatment

Aaron:

Yeah. I'm I'm Before I got the final before I got the second, second opinion, I had started a course of treatment. It's, It's just terrifying drug, methotrexate, I think, which is just, like, casually a chemotherapy. Names. Yeah.

Aaron:

Yeah. Chemotherapy drug as well. So it's like, Right. Oh, it's you know, you're just on a low dose of the chemo drug. You know, like, that doesn't make me feel any better.

Aaron:

So, yeah. We'll see. But yeah. I'm I'm I'm still on that, and hopefully hopefully, everything will start to die down, and I can cut back on some of the drugs eventually, but we'll see.

Ian:

Yeah. Well, I liked that plan. Definitely. I think, I mean, worst case scenario is you just mentally feel better. Right.

Ian:

So that's right. That's Great. And Yeah. If it actually helps, then that's even better. And yeah.

Ian:

And it would be nice to get, like, a more yeah. It's unfortunate they don't it's not That robust diagnosis of like, yes, here's the test. You have it Right. Done. Like, so now you have to live with that, like, Little tickle in your mind of, like, well, maybe it's all BS, and, like Yep.

Ian:

I don't

Aaron:

have to. Exactly.

Ian:

Actually know. Yeah. But, yeah, I definitely think it is suspicious. I mean, like, I totally agree. Like, just, obviously, you're in a tremendous amount of stress.

Ian:

It's probably some of the most stress you'll ever be in in your whole life is happening

Aaron:

right now. So stress ever is right now.

Ian:

Right. Yeah. Which is then that that creates some stress. Right? Like, I'm sure many people can relate to this, but it's like, If you just objectively look at your life, like, if you are outside yourself looking at it, you're like, oh, you have, like, a good job and a beautiful wife and Healthy kids and the house and the thing, and, like, it's all, like yeah.

Ian:

That's not that that's not stressful, like, in that way. Right? You're like, then you feel bad. You feel stressed about it because, like, obviously, This is people who have nothing and they're homeless, and then you drag yourself and you're like, oh, that's terrible. Right?

Ian:

And but but that's not how the human brain works. Right? It's like, no. It's all relative. Feel Dress and Yes.

Ian:

Yeah. And you just make it's whatever you're in is stressful to you, and that's just the way it is. Exactly. Alright. Well, I like this plan.

Ian:

I'm a I'm thumbs up on the woo woo.

Aaron:

Yeah. I'll keep you posted on the woo.

Ian:

Giving it a shot. Yeah. I like it. Alright. Well, thanks for the update here.

Aaron:

I think,

Ian:

it's, you know, nice to share. I think it's everybody's going through stuff, you know, and I think the Internet a lot of times and Twitter makes it feel like, Oh, everybody's perfect, and they make a lot of money, and they're beautiful, and they're whatever. They're the smartest dev in the world and this and that. And, but it's I've really got stuff going on. So, Yeah.

Aaron:

And I do I do wanna reiterate that a huge number of people reached out You both publicly and privately and offered support and advice and their own, like, experiences, and it was It was incredibly, encouraging. So if you're one of those people who reached out, that was, that actually was helpful. So thank you.

Ian:

Yeah. That was an awesome, like, Thread there on Twitter of everybody chimed in. And a lot of other people who have room arthritis who I had no idea, like, people we know in the community and everything. So, really, really interesting there, which is just great to have those connections. If it turns out, yep, that's it, nothing you do helps, and that's Then you now you know people you know in the community who have it and what they're doing and all that stuff.

Ian:

So that's

Aaron:

Nice to not feel alone. So thank you to everyone.

Ian:

Yep. Okay. So

Aaron:

Alright. Where are we going next?

Ian:

We got a couple things. We got a follow-up. We got a a little topic I wanna touch on quick, and then we got a bunch of Laravel 11 because we're recording this, like, an hour after Taylor gave his keynote at our county, so we can touch on a bunch of that stuff there.

Aaron:

So I don't know. I I don't have this mailbag, and so I wanna read out what's on the card because it's hysterical.

Ian:

You do have access. You just have a guidebook.

Aaron:

You know, access and looking are different things. So on on the Trello card, it says, Todd, wiping follow-up, double wipe Technique. So I'm just I'm I'm already I'm already in. So what is what is Todd saying?

Ian:

All in on this. Yeah. So Todd emailed us. Won't read the whole email, but it was a nice email. Thank you, Todd.

Ian:

Basically, he hasn't tried your technique. We're talking about the diaper wiping, Mhmm. Issues, Which generated a lot. People were quite interested in this whole your your your

Aaron:

Yeah. Not not a lot of people on my side, but, yeah, I go on. Not a

Ian:

lot, but that's alright. So Todd's, he he has moved to using 2 wipes so that Okay. He has more surface area protection, Last chance of anything, you know, getting through the his barriers. Right. So which, you know, I've I've done in the Past, I think, when there was, like, a real situation, you know, when you got you need more protection, and have a glove handy, for instance.

Ian:

But I wonder what your thoughts are on that. Would you ever move to a double wipe, or are you you're still comfortable?

Aaron:

What what would I would I ever? Always. I am I'm unlimited. Okay. There's there are no restrictions on wipes.

Ian:

Many wipes.

Aaron:

A glove plus unlimited wipes. Yes.

Ian:

Okay. Well, I think there's a difference. Not it's not about Multiple wipes to clean the situation up, which I think everybody's on board with. This is to have 2 wipes, per swipe, let's say, Doubling the layers of the wipes. Oh.

Ian:

So you're a double layer in addition to a glove, or are you No. I don't know. No. No. Need multiple wipes Just

Aaron:

the finish up of the deal. I'm I'm not a yeah. Okay. A double layer. I don't I don't I don't do 2 wipes at once, but I'm also not a wipe Right.

Aaron:

Conservationist. I'll I'll just, like Right. Just give me more wipes, man. So yeah. Okay.

Aaron:

I see.

Ian:

Okay.

Aaron:

Yeah. Sing single wipe at a time. Unlimited wipes sequentially, for sure.

Ian:

Yes. Okay. Okay. Yeah. I the double wipe, I think, is fine.

Ian:

Like, I I've used it when I needed it, but I think it's not quite the same as a glove either. It doesn't put off use that level of protection. Oh, yeah.

Aaron:

Now, the the other follow-up on my side is, Yes. Ben Ben Homan sent me A box of gloves and a wall mount so that I can I can have that

Ian:

part? Yeah.

Aaron:

That's what the guns

Ian:

are in place. With the wall mount

Aaron:

is so easy. Thing ever. So I could, like, you know, run my own my own hospital box off the wall there. And that's just hysterical, So freaking funny. So I I got it, and I opened it up and was like, there's no note.

Aaron:

There's no note. And it's just a a wall mount and a box to clubs. And I'm just like, what in the world, man? So good job, Ben.

Ian:

Thank you

Aaron:

very much. So good.

Ian:

Yes. Nice community out there. They're just right on it these times.

Aaron:

Hysterical. So good.

Ian:

Alright. Super Bowl predictions. We gotta do it. We're not gonna record again before the Super Bowl. I don't recall you a sportsball guy or not a

Aaron:

sportsball guy. Literally all I know about the Super Bowl is that, Okay. Travis Kelce is in it.

Ian:

Okay. That's because he literally with angle.

Aaron:

That's coming from a Taylor angle. That's literally all I know. Don't know who the other team is. I know he plays for the Chiefs. I do know that.

Ian:

Yes. He does.

Aaron:

But beyond that, I couldn't tell you. So I'm gonna go I think I think the here's my prediction. Travis Kelce wins. That's my prediction. And the reason

Ian:

I was called to

Aaron:

reason is

Ian:

For the w. It's

Aaron:

it's the it's the Lionel Messi story all over again. Like, the setup is too So a

Ian:

lot of setup.

Aaron:

There there is

Ian:

a good setup.

Aaron:

It is cheaper. She's gonna fly back from Japan. He's gonna win Japan. He's gonna win the Super Bowl. They're gonna come down.

Aaron:

And listen, he's gonna come down on the field. They're gonna kiss high school cheerleader, quarterback. America is finally back. Yeah. They're gonna get married soon.

Aaron:

They're gonna get married soon. She's gonna have a baby. Everybody's gonna be like, we should have babies, and it's gonna be another baby boom and America store. America is going to be back Because Travis Kelce wins the Super Bowl. Yes.

Aaron:

Oh, wow. That's my prediction.

Ian:

That is a Yeah. That is

Aaron:

a hell

Ian:

of a prediction.

Aaron:

So sorry to the other team, whoever it whoever it may be.

Ian:

Yeah. Yeah. That's the the San Francisco 40 Niners is the other team. Mhmm. Yeah.

Ian:

They don't have Taylor Swift on their side. They don't have Thomas Kelsey on Died.

Aaron:

They don't have god on their side.

Ian:

Bleak for them. Right. Yeah. Everybody's against them. Yeah.

Ian:

Wow. Okay.

Aaron:

That I So mine's mine's a Technical analysis. Give me a fundamentals analysis. Give me, like, an actual earnings per share analysis, not just like a chart read.

Ian:

If I may sidetrack us for a moment, did you see last night Taylor Swift announced a new album

Aaron:

She did. Which is unbelievable. The, something Poets Society or Poets Department.

Ian:

Yes. The, oh,

Aaron:

geez. Disaffected, Outcast, something poets department.

Ian:

Oh, man. Something poets department.

Aaron:

Jennifer's screaming at the at the podcast that I can't come up with. Oh, there we go. The Homepage. Poets. Poets.

Ian:

Tortured poets department. Tortured. The name is a little bit it's a mouthful there, but I

Aaron:

also like it.

Ian:

I like the cover. Yeah. I was on On virtual line for 45 minutes last night, buying the vinyl album for my daughter. So Good for you. Yeah.

Ian:

I didn't know Shopify has this whole, like, cute thing to not wreck their own servers, I guess, for these Oh, no. I didn't know that either. These things.

Aaron:

Good for them. Where do you go rails?

Ian:

Virtual line. Yeah. Rails doing it.

Aaron:

So are you calling Chiefs too?

Ian:

I'm calling Chiefs. I'm all about Chiefs. I think it's yeah. I think it's They're gonna crush them. I think San Francisco, I'm not feeling it.

Ian:

Don't have the experience. I don't think they've been pretty shaky the last, you know, End of the year and playoffs here and there. So I'm all in

Aaron:

just go so

Ian:

and my auto and the whole thing. I mean, And Taylor Swift, obviously.

Aaron:

And Taylor Swift. The the story is too good. It's just it's

Ian:

just it's just

Aaron:

it's yeah. It's It's impossible.

Ian:

That's why we gotta go full conspiracy theory about how the NFL, you know, is orchestrating all this so that the best outcome,

Aaron:

I mean, I don't tellers for funny. You just have to think that there's some sort they're not nobody has talked about it in, you know, in the referee room, But there's some, like, there's some sense of, like, this is the best thing for everyone involved except for the 40 niners if the Chiefs win. Everyone. Everyone. The NFL, everyone involved.

Ian:

It's all plausible deniability. Like, nobody talks about it. We all just know that this is what we have to do. Yeah.

Aaron:

Yes. Exactly. There's a there's a nose scratch. There's an elbow nudge, but nobody's saying nobody's saying a thing. But everyone knows it's better if they win.

Ian:

I just think Mahomes is too good in these big spots. He's too good. Kelsey's too good. There's gonna, they're not gonna make the mistakes. It's gonna be a big w for Casey.

Aaron:

All

Ian:

right. Alright. Let's do Laravel 11 then. We'll go maybe kind of smaller to bigger and maybe organize a little bit. Oh, this first one's kind of big.

Ian:

Like, where are you on the config debate? Are you a config man? Are you a no config man? I guess to give a quick summary for people don't know Laravel Levin is gonna remove the config folder, so there will be no configs, which I have some questions on in General, and then you can restore them with the artisan command. And, otherwise, you can use, like, more environmental variables now for Some of the things that comp gigs used to do.

Ian:

So what do you think, sir?

Aaron:

I'm of I'm of 2 minds about this. 1st first setting the stage is, this is opt in for well, rather, this is for new applications only. If you have a Laravel 10 and you upgrade, Nothing breaks. Don't whine about it. It's totally fine.

Aaron:

Just live your life. Right? So Yeah. That that being said, I'm of 2 minds about this. I think this Will make it a lot easier.

Aaron:

I hesitate. It'll make it a lot less intimidating for a newcomer to pick up The framework because I yeah. There are a lot of files. You do, you know, composer new Laravel Laravel or Laravel new or whatever you do, And there are there are a lot of files. As Right.

Aaron:

As somebody who's used Laravel for a long time, don't even notice them. I just I'm like, yeah. That's the Config folder. There's a lot

Ian:

of configs there. Yeah.

Aaron:

Don't even see it. Right. So I think that's a good thing. I think, personally, I like I like the config files. Yeah.

Aaron:

I think you you can get into a situation where you have a lot of packages that each want to publish their own config file where it gets a little bit it gets a little bit overwhelming. And for that, I've always liked the Services dot PHP, which is basically historically like the catchall. Right? So you, like Right. You put your postmark token there.

Aaron:

You put your, You know, mandrill or whatever, this algolia, you put all your random Yeah. Crazy stuff in this services dot PHP.

Ian:

Or whatever.

Aaron:

Yeah. And so you don't end up with a, You know, postmark.php, which is just one, you know, array with one item in it. So Yeah. I've liked that historically. So the new style, I think, is this fluent application builder, where you basically you know, it's like You chain off of app, and then you do with middleware, with routes, with Right.

Aaron:

You know, exception handling. I don't know if it's lack of familiarity. Like, So I wanna say this one's worse because I'm not used to it. But I I I like I like being able to open, You know, a a folder or I'm sorry, a file and see all the middlewares stacked up and know, like, I'm gonna put mine in in this part. Right.

Aaron:

I think I think the argument is that most people don't ever touch the middlewares at all, which is, like, that's probably true. So I don't know. I'm I'm I'm a little I'm a little bit torn. I don't know if it's, like, hanging on to legacy or if the old thing is objectively better. I don't think that's Probably true.

Aaron:

It's probably me feeling comfortable with the old thing. But Right. I think once once I see it, once I play with it, once I use, like, the fluent chaining methods, I'll be like, oh, this is totally fine. So I don't know. I I'm not totally sold, but I understand the the use case.

Aaron:

What what are your thoughts?

Ian:

Yeah. The fluent app builder thing. I guess my only thing is like in like a big app that seems like it's gonna be potentially like massive, which could be a little bit Harder, unwieldy, like, compared to just everything's in different files, and it's a little more you're focused on just that piece when you're in there. But on the flip side, That one, I'd like better than the config removal, I'd say, mostly because it's also, like then also my app is all in one spot. Like, the bootstrapping of the app is, like, all here.

Ian:

And so, like, when I know I have to deal with something bootstrapping the app, like, now I can go there. And that's

Aaron:

That's fair.

Ian:

The central Spot sort of, which I haven't used this. I haven't that's my understanding of, like, seeing some screenshots and stuff. That's what I'm taking from it. So, so I think I'm okay with that. And then the other, you know, in general, like to, to go against Taylor on any of these type of architectural decisions, like, I don't wanna be that guy because he's always, you know, he's really good with these Right?

Aaron:

Yep.

Ian:

So we we trust in Taylor and his, taste. So, in general, that I feel okay about that. I guess the config thing to me is, Like, it's kind of like read the docs. Like, I feel like the config is, like, infinite number of times I've gone to a config and figure out what's going on. And so I guess then my only concern is, like, are the Where do you do that now?

Ian:

And so is it, like, presumably the Laravel based like, Laravel's own configs, the documentation will be updated to, like, Every potential configuration item will now be actually documented because I think that's not really true now down to the granular level of like literally everything. And Also, I think you would need some kind of new kind of pages, basically, too, where, like, here's a list of all the things you can put in the environment. Right? So that there's a way to look that stuff up without Trying to find it in the doc somewhere and things like that. So there's a little, like, questions like that I have around, like, the documentation and finding things and Understanding what's even possible, just making sure you can still do that because now you can't just go look in the config and kinda see that.

Ian:

I think so I'm not worried about that with Laravel because, obviously, like, gonna just be on top of it, and it'll all be documented well, however that shakes out. I do think with packages, maybe it's a little bit More iffy, like sometimes like the package, like the D the docs are in the config file. It's like, here's what you, what it was. Right. And like, now, like, if that's not there or obviously, it could be published there.

Ian:

Right? I I guess I feel like in the end, everybody's gonna have a config folder. I don't know if there's really gonna be a lot of apps with no config folder because I think as soon as you use a couple packages, you're probably gonna have a config folder. So I don't know, but I guess it's like that first run experience is just that tiny bit cleaner, which I guess is fine, but I'm I'm a big config man, so I do like the configs.

Aaron:

But I think the timing is probably right.

Ian:

Like configs.

Aaron:

The timing is right because people I think people are starting to explore Laravel more. Like, people outside the community are because they're overwhelmed. So

Ian:

Right.

Aaron:

You know, we we trust in Taylor.

Ian:

Trust in Taylor. That's kinda the shorthand version of that. Oh, okay. So we have the moving of, like, your console stuff to the routes file, which I really like this. Don't know

Aaron:

how you feel about that, but I don't

Ian:

like having to go up into the kernel. It just feels, like, weird to have to go up there. It's like, I don't ever go in that folder, but now I have to go in there and change something, and I don't even know where it is.

Aaron:

Love the kernel.

Ian:

So give me a oh, you love the colonel, so you're not a console routes department now.

Aaron:

Okay. Nope. Love the colonel.

Ian:

Oh, Interesting.

Aaron:

Love that it's called the kernel. Makes me feel like a real makes me feel like a real developer.

Ian:

Yeah. We're really programming here. We're firing rockets.

Aaron:

Yeah. That's in the console kernel. Not no. No. Not the HTTP kernel.

Aaron:

The console kernel.

Ian:

Yeah. No. That's a little bit of a problem there too.

Aaron:

Yeah. That's a problem. I love it. I love it. I like I like that it's over there.

Aaron:

I like that it's a discreet place. I don't think of the CLI entry point as a form of a route. I just don't think of it that way. The the word in my mind, the word route is strictly bound to web. And so whenever I'm on the command line, I don't think of it as a route.

Aaron:

And so having it in the routes What what is it now? Routes console? Is that where it goes?

Ian:

Yes. Routes console.

Aaron:

Don't like it. Don't like it one bit. Anti.

Ian:

It's a no it's a no on that. Okay. I'm a no. I don't know if you're I don't think there's a way out. I don't know if there's a way out on that one either.

Ian:

Oh, I mean, it must be backwards compatible, I guess. I'm not sure.

Aaron:

Surely surely it is. Yeah. I bet That might not be true. Bet you have to look at 2 spots.

Ian:

I don't know. I kinda think Not backwards compatible.

Aaron:

My guess my guess is that the new, console kernel looks for the routes console dot PHP and loads them from there. Well, just That's my guess.

Ian:

The little magic internally.

Aaron:

A little bit of indirection, But I bet because you have to imagine if you upgrade from 10 to 11, you're not you're not killing the console kernel. You're probably just not publishing. You're You're probably just not publishing the user land file. I don't

Ian:

name this file over over there.

Aaron:

No way. No. I bet the base I bet the base console kernel just looks for the console routes the the routes slash console. That's my guess.

Ian:

Alright. Well, we will see. That'll be interesting. We'll see. We're about we're going through here.

Ian:

Eager loading limits. You're a database man. What do you think about eager loading limits?

Aaron:

Is this a Stoudemire? Is that who did that?

Ian:

I don't know. I don't even know who that is. So I don't know.

Aaron:

The guy that that's the guy that does all the wacky, eloquent relationships.

Ian:

He's down

Aaron:

in there. Okay. Yeah. He's like the eloquent the the the wacky eloquent genius. I don't even know his real name, but it's Soudemeyer.

Aaron:

So I think all the package names. It's great. Haven't Super had a need for that very often.

Ian:

Yeah.

Aaron:

But I love that I love that you're able to do that. So if you wanna load, You know, a post with 5 comments and not potentially, you know, 250 comments. Great. I think that's awesome. And the fact that The fact that somebody is willing to muck around with Eloquent and improve it, that that terror terrifying, you know, thousands and thousands of lines of code and still make it work.

Aaron:

I'm like, hell, yeah. That's awesome. So I don't know. Have is is make it work? I'm like, hell, yeah.

Aaron:

That's awesome. So I don't know. Is that something you need very often?

Ian:

I don't Think so in general. But this I kinda wanna ask about this too because it's like so I being, you know, Having been around for a while,

Aaron:

I still think in years is what you're

Ian:

looking for. Years here. I still tend to I'm very SQL oriented in my thing Yep. About the databases, about queries. Like, it's hard for me to be I'm just I'm not all the way onto active record.

Ian:

Like, I like active record and I use it Everywhere. Right? But at the same time, like Okay. If I have something more complicated to do, I have a hard time thinking about, like, Okay. I gotta get this relationship and I gotta do this thing with it.

Ian:

I'm gonna have to look up how to do the thing to make the relationship do the other thing I need

Aaron:

to do. Dropping down.

Ian:

Whereas, like, I know if I get I could just do it in SQL and, like, I I mean, I don't you know, I'll use, like, the DB whatever, you know, the base. Whatever. But, like, Yeah. I'll go through there and like, not always, it depends exact, you know, this is very particular on the situation, but almost always my first thought will be, this is how I would do it with a regular SQL query. And then depending on what I'm doing, I might backwards, bring that into eloquent and be like, okay, well, how would I do this in eloquent?

Ian:

Right. And so I'll do that. But I guess, where are you on that? Are you a eloquent first man? Is that where you go to first and you're like, it's all in there.

Ian:

You can see it all In your brain, or do you go to sequel first in your brain?

Aaron:

I am an eloquent first man. Being being less advanced, being less advanced in years, I think I think purely your

Ian:

career in there.

Aaron:

Yes. Exactly. I think purely from an eloquent first standpoint, and I I think this is like there's the, there's the person like you that see thinks sequel first, and then there's the person that thinks eloquent Only, which I think is a problem, if you think, I don't know what it's generating under the hood. I'm just doing these eloquent calls. That's bad news bears.

Aaron:

I think I think you can be you can be incredibly productive and still performant if you know what is The the sequel underlying sequel is, but still know how to drive Eloquent to make that thing happen. And that's that's where I like to be is I'm like, I don't I don't wanna drop down honestly into the base builder, the the DB facade. I rarely ever want to do that. That that's I'm trying to avoid that unless Yeah. Unless I'm not populating unless I'm not populating models, in which case I feel like, oh, I'll I can drop But if I'm, like, trying to bring models back and pop you or trying to bring rows back to populate models, then I'm like, oh, I don't wanna I don't wanna drop down.

Aaron:

I wanna use pure active record in that case. So

Ian:

That's with all that. Mhmm. Yeah. And there's always, like, the middle ground where you can, like, Obviously do the base kind of DB stuff off the the model and blah, blah. I just saw recently like a Kirsch bomb Kurt Palm, I think, has a library to, like, convert some of it into joins.

Ian:

So you can actually do joins, which is sometimes faster than the way eloquent

Aaron:

Work Power joins.

Ian:

In certain scenarios, which is kinda interesting. Is that what it's called? Power joins? Yeah. Yeah.

Ian:

That's pretty cool. I haven't actually used it, but it looked pretty cool.

Aaron:

Yeah. I think I think it's Might remove the

Ian:

to drop down.

Aaron:

Yeah. They've got one called power joins, and I think Stoudemire has a couple that Do something similar in terms of performance.

Ian:

Mhmm. Yeah. Yeah. Because that's just the thing is we get in these spots where it's like, You know, the efficiency on a large amount of data and things like that. Like, obviously, the active record stuff is totally fine when you're just dealing with small Stuff.

Ian:

It's like, who cares? Whatever. But sometimes it is a problem if you're dealing with millions or 100 of millions of rows or whatever and

Aaron:

Yeah.

Ian:

Gotta have it dialed in a little bit more. But, Yeah. So, okay. So eager loading limits. Good.

Ian:

Nice little addition. I do think it's nice to have, like you said, if you're trying to stay in eloquent land, that that, is something that's definitely gonna kick you out of eloquent land, previously that now you can stay in. Alright. The big ones here, herd pro.

Aaron:

Are you a person? Tell me, I am a herd man. Love herd. Big fan of herd. I'll set the herd stage,

Ian:

and you

Aaron:

hit me you hit me with herd pro. Herd is the Okay. I think HEARD is the first and a half. I think it's it's written by Beyond Code, which is Marcel and crew. Yep.

Aaron:

And it is the all in one Laravel development environment. So it sets up it sets up PHP. So you don't have to have PHP on your system. You can just download HEARD, and it'll handle it. Sets up different versions of PHP, sets up DNS masks.

Aaron:

You can have custom domains, sets up, I think, NGINX as well. And you can do

Ian:

Right.

Aaron:

You can have different versions of PHP for different Different projects, which is super nice. Built on top of valet, but with, like, a gooey and a lot of other A lot of other niceties. So I've been using Heard for a while. Levitt, no complaints, works every time. Heard Pro is what?

Aaron:

What have you seen so far?

Ian:

Heard pro is, looks really good. It's, a nice little addition. I think the main thing is, like, beyond code, who is, like, the most productive. I don't know how Unbelievable. Are this productive.

Ian:

Like, I I have one app. It's taken me 20 years to get this far with it, and, like, I'm trying to work on a new version of it. It's gonna take me, like, 3 years to do that. Like, I don't know. They're just producing apps, like, left and right, but okay.

Ian:

Anyway, Yeah. They also have another app that lets you, like, have one of those, local email testing environments Yes. Where, you know, you can See how the email was sent and what it looked like, blah blah blah. So it seems like they've kind of bundled that engine into herd, which is a super smart move, very smart thing. And then it also has some other features like you can do your dump DD dumps.

Ian:

You

Aaron:

can

Ian:

show them in, like, a native window outside the context of the app, which is cool. Like I've tried using Ray, but I'm totally gotten into it. I mean, I own it. I have it, and I use it where I really need to, but I'm still just to, like, go to the page, break the whole page with my DD dump, and hit the little arrows. But Yep.

Ian:

I'll give it a shot in her pro. Maybe it'll stick better there. It's got some other, like, debugging, little niceties and things. I think all the core stuff, I believe is all still there and unchanged. There's not like your you know, They didn't remove anything or anything like that.

Ian:

Like, you still just use it free and manages your PPP versions and all that, but just adds this nice Some debugging stuff, basically, and the email stuff, and I think oh, and searching through logs, as well, which is actually pretty handy. So

Aaron:

Yeah. That's pretty nice.

Ian:

Yeah. $99. I actually have a little beef with how they've set this up.

Aaron:

Okay. We love beef. Beef is content.

Ian:

Europeans in them. We gotta get these Europeans Americanized because they

Aaron:

just sometimes

Ian:

they just get a little too nice, and I don't like it. So, like, you pay $99 for heard pro or 2.99 per team for pro. And it's not a subscription. It's not auto renewing, but it's also not one time. So like, Like there'll be new versions.

Ian:

And if you don't renew manually, then you won't get the new version. And I assume it's gonna tell you or whatever, but like, I just wanna subscribe and never think about this again and just charge me $99 a year forever. And if I need to cancel it for some reason, whatever, then I'll go cancel it. But like, I don't want to have to go in and buy herd every year. Like just let me buy it forever, you know, on a subscription, not, You know, not a one time price.

Ian:

Just let me pay $99 a year forever. That's what I wanna do. So a little annoying beef there. Like, I see this a lot. I think some of Spoutty stuff is the same way.

Ian:

Like, if you go in every year

Aaron:

and pay,

Ian:

like, just let me subscribe. I wanna subscribe.

Aaron:

So the the on the FAQ, is Heard Pro a subscription? When you buy Hurd Pro, you can use all pro features for 1 year. If you're happy with them, you can manually renew your license to keep advanced features, Or it automatically falls back to the free version. Hurt pro does not renew automatically.

Ian:

I want it. I want automatic renewing. Give it to me. Okay.

Aaron:

I see that. So this is the same as TablePlus. Although I will say this is different, perhaps. This is different Then table plus, which is, my my database GUI of choice. Table plus, you stay on the last version Of your paid version for

Ian:

it. Right. Which that makes sense. Yeah.

Aaron:

Falls back to free, which is a little strange, in That's a

Ian:

little strange.

Aaron:

This is the same pricing as Laravel Nova, which, you know, exerts downward pressure on the whole ecosystem. But So but I think Nova is the same way. You retain the last paid version. Right. If you can continue to use it forever just without updates.

Aaron:

Yeah. So this is a this is a little bit this is a little bit strange. I think Sketch was the last desktop app. Now Sketch, you keep the last free version as well. ScreenFlow as well.

Ian:

And a lot of times if you have this model, it's also that paid. Like, You pay then again for the next major version or, you know what I mean? It's like version 1, you pay $99 and then whenever version 2 comes out, You're gonna pay $99 again or 1.99 or whatever the price is. But this is, like, basically a subscription in that, like, I needed to forever, and I want it to work forever, and I wanna pay you forever, but now I have to go in and manually pay you forever. And I just wanted, like, just not have to do that.

Aaron:

So Yeah. Table table plus table plus is subscription. Sketch is major version and ScreenFlow is major major version. The major version makes sense To me, Nova is major version because you keep you retain access to the paid stuff even after you stop paying, but you don't get updates. So Right.

Aaron:

Yeah. I mean, from, like, a pure pricing perspective, $99 is awesome. Yeah.

Ian:

I mean, that's, like, a no brainer. I'm just gonna go buy it. And, like, I already paid for the other mail So I think it's like it's been kinda getting it for free, essentially. So,

Aaron:

yeah. Yeah. So this is this is so like, this is interesting to me. They've got heard dot laravelle.com. Right.

Aaron:

So it's like, yeah. It's, you know, under the it's kinda like LiveWire in that regard. It's like a A blessed project, but not written by Taylor. It's written by beyond code beyondco.de, so beyond code. What is the name of their mail thing?

Aaron:

I can't even find that. I

Ian:

can't remember it.

Aaron:

They've got expose, which is like, in Grok. They've got invoker. It's actually not listed anymore. I wonder if they just killed it and rolled it.

Ian:

It's called hello, h e l o.

Aaron:

H e l o. Yeah. I don't see that listed on there.

Ian:

It's on software. It's at the bottom, but I don't know if it's like

Aaron:

It's not listed on their bento box on the home page. Mhmm.

Ian:

It still looks like it's for sale. $49.

Aaron:

Yeah. There you go. H e l o. Beautiful way to debug and test your emails. Yeah.

Aaron:

I wonder if they're, If they're downplaying it now to get Laravel Heard. Anyway, they make great better better better than I do

Ian:

it obviously.

Aaron:

Desktop stuff. So I'm excited I'm excited for Heard Pro.

Ian:

Yeah. Definitely gonna buy that. No brainer. And then the, kind of big announcement Taylor had was Laravel reverb. So,

Aaron:

reverb dotlarebell.com.

Ian:

Which is interesting because I've been looking around at this and the new next generation help spot stuff. Like, I We can have a whole conversation about this. I'll be curious to get your thoughts, but, basically, the idea of, obviously, of things we obviously, chat apps would often use something like this you have a WebSocket connection and you wanna be able to have instantaneous chatting. You might have notifications go out over something like this, a WebSocket connected service, which is what this is for anybody who doesn't know that about reverb is like a web pusher.com, but open source, you run it yourself. Yep.

Ian:

Setup. And there's really not that many services that offer this in some way that's kinda surprising. There's, like, pusher.com, and I think Trello kinda has a thing, and there's a couple open source ones. Wasn't like I've just been looking around at this recently. I thought there would be more kinda going on, and there's not really that much going on with it, which I was a little bit Surprised about, so this is coming at a perfect time for me.

Ian:

But, Yeah. I don't know. So in general, I'm I'm looking forward to using it most likely. Although I do have a question for you about that. Before we get to that, What are your reverb kind of thoughts?

Ian:

Have you used this type of tool before?

Aaron:

Yeah, we've made use of pusher extremely heavily. I think we're on like The, you know, back at the property tax company, we're on, like, the $300 a month plan because we're just Right. Blasting it with stuff. And Pusher is The pusher's awesome. And I I think I looked around at the time, and there wasn't there wasn't anything compelling in, like, the open source Self hosted, space.

Aaron:

Since then, Sokedi, I think s o k e t I, has come along, And I feel like that's an open source, I think it's open source node, maybe, but I think it can also run on, like Cloud Player Workers and stuff like that. Soketi WebSocket, let's see what their domain is. Soketi. App. So it's a fast open source WebSocket server.

Aaron:

And I think this has been used somewhat heavily in The Laravel ecosystem, but I've always just opted for pusher because it's not something I wanna manage.

Ian:

Right.

Aaron:

But this is really, reverb reverb is really interesting because, one, I think this is like, this displays Why Laravel wins and continues to win? Because if you look at, like, you know, reverb.laravel.com, there's a box called seamless integration, And it says, develop with Laravel's broadcasting capabilities, which is the link, deploy with Reverb's first party forge integration, Linked to forge, monitor with baked in support for Pulse, linked to Pulse. All of those things. The whole freaking ecosystem. The integration, the deployment, the monitoring, everything.

Aaron:

And so now you're not like running this running this, you know, red headed stepchild of a WebSocket server that you're, like, deploying on Cloudflare workers or something. You're running you're running Laravel. Yeah. You're running Laravel's thing. It's in forge.

Aaron:

They say, you know, it's not released yet, but they say you can, you can scale horizontally using Redis, and it's like, I just don't see why I would use anything else besides this now. So those are those are my initial thoughts. What are having been in the market for this, what are you thinking? Yeah.

Ian:

I think that's kinda what I'm thinking about. It's like, I mean, there still is the appeal pusher in that, you know, ultimately, this is still one more thing that You are responsible for. And in like a production environment with a small team, it's like, whatever. If that goes down, you have to remember what's going on with it and figure it out and fix it and whatever. Like On the flip side, this is like it seems like it's it's a pretty mature area of Internet development at this point, and it's not trying to do a lot here.

Ian:

It's like literally just passing messages around. So it's Presumably fairly safe, type of thing. But so I don't know. Once it comes out, I'll definitely be looking at it a lot more. It's, mean, obviously, being Pusher compatible is super nice because it's like, why don't you just switch over to Pusher or I could switch from Pusher to this and, like Yep.

Ian:

It'll be seamless and magical, which is Super nice.

Aaron:

Or I can run this locally and then use pusher for production grade.

Ian:

Yeah. That's interesting. Yeah. Right. It is tricky because, like, pusher is not expensive, really.

Ian:

You know? It's like, yes. It could be 100 of dollars, but, like, in the big scheme of, like, a business app, it's not a lot of money. So, It's not like you're saving a ton of money and you're inheriting all the responsibilities, so that's the part that's a little bit tricky. But, you know, pusher was sold kinda recently.

Ian:

It's one of these, like Oh. I forgot what you call it. You know, like, You know, consortiums of, like, company that's buying up private equity Private equity. Company that's, buying up a bunch of b to b stuff. So I don't know.

Ian:

I mean, probably

Aaron:

and burn. Yeah.

Ian:

Right. Who knows? Like, so that's a little bit little bit there. That's a little bit, I don't know. But, So in this regard, though, so I've made a final decision on what we're gonna use.

Ian:

This obviously changes it a little bit, but, also, what are your thoughts on I'm sort of tempted.

Aaron:

Oh, love it already.

Ian:

I'm sort of tempted.

Aaron:

This sounds like a scheme, and I love

Ian:

this scheme. This is a scheme. Because, like, this is all fine, but we also have all this, like, scalability. Like if, if, deployment app on vapor or even just really fast servers, right? Like lots of capacity, very fast servers.

Ian:

Like, can you just get away with polling? Because, like, the polling model is very nice because it's like, it's a regular request every time you understand the flow that's happening. Yep. There's no magic. There's no, like, you missed the message and now something's off for somebody and, like, the chat's weird because somebody's missing few messages.

Ian:

It's like, no. I'm just pulling. I'm pulling every time. If I miss if something breaks on the next poll, it'll just be fixed and everything will be there. So I'm sort of playing with the idea of, like, My needs are not such that it's gonna be like, oh, man.

Ian:

There's, you know, a 100000 users, and they're all simultaneously chatting and doing all kinds of stuff and, like, okay. Whatever. That's a little different. And so, yes, a 100,000 polls might require actually, like, dedicated It might get expensive on the polling or whatever. But if it's like whatever.

Ian:

At any one time, there's a 100 people or a 1000 people even at the peak. Like Like that, maybe you could just handle that with polling, and maybe you can make it seamless enough if you're polling fast enough to be okay. I don't know. What do you think there?

Aaron:

I love a scheme. Love a scheme.

Ian:

Don't you love a scheme?

Aaron:

I love a scheme. This is not a crazy scheme. Not crazy. Right? This this eliminates an entire piece of infrastructure, which I'm good with.

Aaron:

I think my only my only Requirement, I think, in this case, would be you'd have to run Laravel Octane in my opinion.

Ian:

Which I would be doing.

Aaron:

Okay. So if you're if you're running Octane and for the uninitiated, Octane keeps your entire Laravel application booted. And so, you know, booting an entire Laravel application, PHP destroys the world and recreates it on every request. Booting Laravel can take anywhere between, I don't know. What do you think?

Aaron:

A 100 to 200 milliseconds? Oh, not it's

Ian:

not it's not a 100 milliseconds.

Aaron:

You don't think so?

Ian:

No. But it's still something. It's still Still something. 20 milliseconds or whatever. Yeah.

Aaron:

20. Wow. So if Octane keeps it all booted and in memory and all you do is run application logic every time, I say pull away, baby. I think that's great.

Ian:

The only other thing I had a concern about well, I think you can get around this with being smart in a few spots is, like, obviously, you don't wanna Destroy the database. Yep. So, like, could there I think it's the kind of thing that maybe there's, like, a the cache is in the middle there, so it's really mostly going against Redis. You know, and maybe like when it ingests it updates the rest cash or it clears red as cash, and then it hits the server. If there's Gonna change whatever.

Ian:

There's some we could, I feel like there's a sky there.

Aaron:

You could get schemey there for sure. Yeah.

Ian:

You could scheme there to keep the database a little bit protected from having a lot of Data there. But, I mean, the database has to be kinda protected either way even if you use pusher because, like, I wanna log all these things regardless, and so there's still gonna be stuff flying around potentially, to some degree. So alright. So I I got the errands of approval to

Aaron:

research further. Here's another here's another thing you could try because I I have also felt I've also felt a little bit of unease relying on the events coming for fear of them dropping 1 or me dropping 1. Who knows who's at fault? I feel the same way about webhooks, honestly. Give me give me an endpoint that I can give me a slash events that I can pull against, and I feel a lot I feel a lot safer.

Aaron:

Yes. One one, I think, strategy you could use is, if you wanted to If you wanted to, like, do a slightly smarter polling that's not quite as, like, brute force, you could use the WebSocket as basically a notification to Pull. Right? So if I don't know exactly what your what your, like, use case is, but if nobody's chatting for 30 seconds or a minute or 2 minutes, You don't have to poll that whole time. Yep.

Aaron:

But you could when somebody chats, you could fire the the WebSocket that says Something happened. I'm not telling you what it is. And, you know, maybe you tell them or don't. But, historically, I've said, like, I'm I'm not telling you what has Happened. You now need to go hit the endpoint.

Aaron:

It is the canonical source of truth Yeah. That says, like, give me all of the events. Because one thing I don't wanna do is duplicate, like, who's in charge of the truth of the events. Yeah. And I don't want the WebSocket to be like, here's an event and me to hit the endpoint and say, here's a different event.

Aaron:

Be like, wait.

Ian:

And try to merge things together. No freaking way. Definitely not doing that. Yeah.

Aaron:

So the WebSocket just serves as a notification. It's like Something has happened. It's been 4 and a half minutes that you weren't pounding the server asking for updates. But now now something has happened and you should ask for an update. I think

Ian:

I like that. Cause I thought about doing something like a back off or something like that. Like something like, right. So we're gonna pull every 2 minutes, 2 seconds, then every 4 seconds or whatever, some, some back off scheme, but, but then you still could have a delay there when someone starts back up. So Yep.

Ian:

I like that. This is interesting.

Aaron:

And you could you could say you could say, like, at max, pull every 30 seconds even if I don't get a notification. Back. Yeah.

Ian:

Yeah. That's no If

Aaron:

if the fear is missing things, then you can say, well, I'm just gonna do it every 30 seconds, but not every 2 seconds.

Ian:

Right. Yep. Alright. I think we're back on it. I like this.

Ian:

This is good.

Aaron:

It's good. Right? It's a good ski. I like that.

Ian:

A little ways from actually implementing this, so Probably be a a little bit before, I double back on how it's going, but I will, do that when I get there. So the other other thing then was, like, there was a Well, little things like, being able to update your encryption. I saw that. Things you've encrypted with the application Key. Yeah.

Ian:

Now you can rotate your application key more easily without you having to write a bunch of code to manage that. I'm not entirely clear how that works.

Aaron:

No Dia, how they implement that. So the the the the

Ian:

yeah.

Aaron:

Yeah. The use case is, like, you can roll your application key, But still receive values that were encrypted with a prior key. And that is Really interesting. Very useful because, right, historically, you'd roll your key, and I think everything gets invalidated. Like, everybody gets logged out.

Aaron:

Everything every Payload that is out there is no longer useful. It's like it really is kind of like a a nuclear option. But now they're saying you can just roll it, and it'll be graceful?

Ian:

I guess. I don't know. I'm unclear a little bit. It'll be interesting to see after this to dig in when they have docs and because it's not clear to me if you just have both keys on there and it's just doing it live. It's like, oh, I can't

Aaron:

think of this.

Ian:

Let me try the old key. I kind of think that's how it It must, to be. Right? Because, like, it doesn't proactively know everywhere I've used the encrypt No. Functionality.

Ian:

Right? So, like, I assume it's doing that, but, yeah, I think that was really cool because that's definitely a thing that comes up. Or if you have some type of incident and you wanna roll your keys to go like, you could just do it instead of it being, like, The whole now we gotta construct a bunch of scripts to update everything that we have encrypted on a file or wherever.

Aaron:

Like, a signed URL that's been sent out in an email. Like, you're never gonna get you're never gonna get access to that. It's in their inbox. Yeah.

Ian:

Yeah. So yeah. That's really cool. Yeah. I don't know whether other stuff you saw that you wanted to touch on here.

Ian:

I mean, there was a lot in there.

Aaron:

No. I don't think so. I think one talk I'll wanna watch, when it comes out is Jess did a deep dive on the pulse database architecture stuff, which I've poked around with, and I just want to hear her talk about it. She's she's so smart, and that's such a good code base that I just want to hear her talk about it. But, Yeah.

Aaron:

Beyond that, not not yet. I'll probably watch all the talks when they come out. I know Daniel did another one on, event sourcing with his new verbs package, which I think the ultimate test for that package is gonna be, does it make me wanna use event sourcing? Because I just don't wanna do it. It just it just seems I just don't wanna do it.

Ian:

I just never have, like, this is the this is the project where I'm gonna, like, take

Aaron:

this out. Same.

Ian:

Like, just doesn't happen. But I do No. In theory, sort of like some of the ideas around the all the different methodologies that you hear about. You're like, oh, that's cool. But then it's like, oh, I could just do it the regular lab all way, and, like, everybody knows how it works.

Ian:

Then, you know, it's fine and work, and it's good. So

Aaron:

He he has good taste, and he's he's set a high bar for this package. So we'll see if I look at it and I'm like, yeah, let's do some event sourcing.

Ian:

I seem like it takes some of the rough edges off and simplifies things like Terminology and stuff around Some of

Aaron:

the more focused. Terminology, aggregate roots and projections. I'm like, no. Right. The No.

Aaron:

There's no there's no chance. Yes. There's no chance I'm doing an aggregate read. I'm sorry.

Ian:

Oh, man. Yeah. I'll be excited to watch these talks. It seems like there were some good ones. And I guess they have one more day tomorrow.

Ian:

Right? So it'll be some more stuff, happening. So alright, man. Well, sounds good. I think we've covered a lot here today.

Aaron:

Yeah. A lot of technical.

Ian:

A lot of technical. We got personal I think it's 5050 episode. We got Yeah.

Aaron:

We have to woo hard at the beginning.

Ian:

We got some meditation in. We got some That's right. Reliable tech Specs in. We got it. We got it all covered all your bases.

Ian:

One stop shop.

Aaron:

What more, what more could you want from us people?

Ian:

That's it. We're giving you everything we got here. Alright. Thanks a lot, Aaron. Thanks a lot, everybody.

Ian:

Follow us, most technical.com, most of tech pod, most of technical podcast at gmail.com. We Do read it or at least I read it. Someday, we'll get Aaron to read it. Sunday. When he's got less going on, he'll get him in there.

Ian:

But thanks a lot, everybody, and, see you probably next week.

Creators and Guests

Aaron Francis
Host
Aaron Francis
Educator at @PlanetScale. Into Laravel, MySQL, and building things. Building https://helloquery.com/
Ian Landsman
Host
Ian Landsman
Founder HelpSpot, LaraJobs, and Laracon Online.
Dave Hicking
Producer
Dave Hicking
@UserScape Product Manager. Previously at @TightenCo, @BeineckeLibrary, & @uconnlibrary. 1/2 of @CRSPodcast (I'm @doc_beats). 1/3 of @cheese_weather.
22: My Mind Vise
Broadcast by