All Episodes

April 14, 2025 60 mins
In this episode, we dive into an engaging conversation with Kelvin, where we explore his approach to full-stack JavaScript development and the power of using simple, stable technologies to speed up app development.

Kelvin shares his exciting project, "Project 50," where he’s challenging himself to build 50 apps in 50 days, highlighting the importance of leveraging "boring" stacks to streamline the development process. We also touch on his journey in teaching web development through free resources and screencasts, aiming to make it easier for developers to build real-world apps quickly. 

Along the way, we discuss the value of strategy games like chess and Go, and how they help foster critical thinking and continuous learning. It’s a great mix of tech, strategy, and entertainment, making this episode a must-listen for developers and anyone looking to level up their skills. Tune in for a fun and insightful discussion!

Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Speaker 1 (00:05):
Hey, welcome back to another episode of JavaScript Jabber. This week,
I'm your panel Charles Maxwood, and we've got a special
guest this week.

Speaker 2 (00:14):
We have Kelvin. I don't even have it in front
of me anymore. Where to go? Oh, Marashione. I hope
I got close.

Speaker 3 (00:25):
Close enough?

Speaker 1 (00:26):
So do you want to introduce yourself? Let people know
who you are and why you're famous and all that
good stuff.

Speaker 3 (00:34):
Famous? Not yet? Thank you, Chiles.

Speaker 4 (00:38):
Hey everyone, my name is Calvin. I am a Fusta
Javascar developer. I'm also the lead maintainer for an NBC
framework for cat sales. I do a couple of teaching,
anus work, built the bone stack.

Speaker 3 (00:54):
And some more that things.

Speaker 4 (00:55):
So yeah, I love JavaScript. I like to beat everything
JavaScript because that's here.

Speaker 2 (01:02):
Awesome.

Speaker 1 (01:02):
We should have you back definitely to talk about sales.
But we brought you to talk about inertia jas two
or two point zero. So do you want to just
give us kind of a quick overview of what inertia
jas is for those that are familiar with it or
haven't used it.

Speaker 3 (01:20):
Yeah, for sure. So it's at the basic level, it's.

Speaker 4 (01:29):
A paradigm sort of like a concept of building food
stack applications, single page applications that don't necessarily need you
to do the separate APIs like back end, and then
your your UI can be in React views belt. So

(01:49):
it gives you this ability to have both your back
end and your front and in one code base and
just take out that layer of having to do vetch
core because your back end can return your UIs component
as pages and also saying that the props that they
need when it sends down the page. So it came
out from the Lava world. It's what love Cloud is

(02:13):
being built on now, which is the new rithing cloud things.
I don't know if you've done that. So a bunch
of people use it, Phantom analytics use it. I also
use it for salescast dot Com and hackfish. So it
just simplified. If you like MVC stuff and you want
to keep your SPA, but you don't want to maintain

(02:33):
two different projects and have like a back end separate
and a frontag separate, and so it's a nottnity to
things like next years. If you like traditional server sight
applications but you still want an SPA.

Speaker 2 (02:48):
Gotcha.

Speaker 1 (02:49):
So I'm curious because you know, I saw the information
about the Nursia JAS two dot zero. I'll admit I
kind of looked at it. I haven't done a whole
lot with it. What's new in too that? What and
why did we need it to that?

Speaker 4 (03:09):
Yeah, it's a couple of things new. First of all,
the first version was kind of making synchronous style of
so if you make a like a page request and
you want to make another one, it's going to cancel

(03:29):
like the old one.

Speaker 3 (03:30):
So it wasn't a synchronous at all.

Speaker 4 (03:33):
It was really synchrolar, just like the way the pages
work in a browser, right, like anytime you make a
new request, GET is going to cancel out the old one.
So but with two point zero from the ground up
is built to be a synchronous which opened the door
to like more goodies to come into the tech, meaning

(03:55):
that we could do things like partial reload and make
that to be a synchronous. We could do things like
deferred props and a bunch of other things like prefetching
pulling for example. So two point zero the biggest changes
is a synple notes now, so that means all requests

(04:16):
a simple just like what you get in something like
next years or any other thing.

Speaker 3 (04:21):
But now you have more things that you could use
it for.

Speaker 4 (04:26):
Because so let's use my app for example that I'm
doing hackfish with, and an invoice app. It has an
editor that lets you edit your invoice like and give
you this notion like faiel to edit.

Speaker 3 (04:40):
Right. So in one point, soo inertia.

Speaker 4 (04:43):
If I make a change and I want to partially
submit those like saving drafts, right, it's going to make
a request like a Synchlen request.

Speaker 3 (04:53):
So if I make a new change to cancel out
the old change, I was supposed to go to.

Speaker 4 (04:58):
The server and make that update. But with two part
now everything's going to be a sync, so it could
do that. Partial updates is synchronously.

Speaker 1 (05:10):
So when you're saying a partial update, you're talking about
where you only update part of the page.

Speaker 3 (05:17):
Yes, so yes, exactly.

Speaker 4 (05:19):
So when you like, so if you have let's say
you have on a page, you have users, and then
you have let's say companies, let's just use that. Right,
So if I want to update or like want to
change the UI or filtered by users, but I don't
need to touch the companies, right, I could say, when

(05:41):
I make this updates, I want you to send back
only the user. I don't send back the users and
the companies. So that is partial updates right in inertia.
So before it was all going to be synchronous. So
anything that if you make, if you tie a new thing,

(06:01):
and I was already finding an older synchronous request, it's
going to concern out the old one to send a
new one. But now it's all these things, so they
could all have multiple requests. It's a big deal because
it changes how it works, and I could talk about
things like the like the defect props and every other
thing that this new system brings to.

Speaker 1 (06:24):
Two po right, I'm just trying to get my head
around when you so when you're saying partial updates, you're
talking about data.

Speaker 2 (06:32):
You're not talking about UI.

Speaker 4 (06:33):
Then, yeah, so the because the page will come with
the data. So if you partially update the data, of
course it's going to like change what page you're going
to see, right or the you yeah, like what is
on the UI?

Speaker 3 (06:48):
Yeah, because every page comes with the data as prop.

Speaker 1 (06:52):
Okay, I guess the other question I have then is
let's say that you and I are both looking at
the same data on machines. That does it then give
you a way to push those updates like from my
machine to your machine or.

Speaker 3 (07:09):
No, that's more real time. I don't think so.

Speaker 4 (07:12):
It's mostly because you're just going to be for just
my copy of it, all.

Speaker 1 (07:17):
Right, okay, yeah, but but it does do call to
the back end and tells the back end, Hey, there's
new data here.

Speaker 3 (07:25):
Yeah. So that's when you make like a classic like.

Speaker 4 (07:31):
Create an update, it's going to change and of course
if you're looking at the page that was changed, the
next time you visit the page, of course you're going
to see the new data, even if you're not like
so it's just classic.

Speaker 2 (07:43):
Yeah, I gotcha. So does this change the way you
build things with inertia?

Speaker 3 (07:51):
Oh yes, it does. It doesn't.

Speaker 4 (07:53):
It just gives you more good is because the way
INITIAL work, it's adapted based for both the back end
and the front end. So they are they are adapters
for Love for Whales, Phoenix. I also built the one
for sales, which is what the boys that uses. So

(08:14):
these changes need you and the for your So so
now you have to conform to the new things that
is in the core of Initial. So you add some
new method there like change house, some setting back end work.

Speaker 3 (08:29):
But for the.

Speaker 4 (08:31):
View and the other fronted them from a adapters, you
don't have to touch anything, so it's just me I
myself as a as a maintainer, they have to change
all that stuff.

Speaker 3 (08:43):
But with the two point zero you could do things.

Speaker 4 (08:46):
So so now that it's all a synchronous you could
do things like if you finish scrolling really easily. In fact,
they are components that are baked into two point two
that lets you do so, like the when visible component.
So if you're scrolling, I want to load new data,
so it's just gonna make sure that you don't just

(09:08):
load every data wants the page mount for example, so
you could do things like one scrolling joins the classic
infinite scrowthing, and because it comes in the core of inertia,
it's pretty easy to do that. So you could do
things like that and deferred prop. So let's say you

(09:28):
have like an admin dashboard and you show the starts
at the top.

Speaker 2 (09:35):
Mm hmm.

Speaker 4 (09:36):
So instead of you showing the starts at the top
and also fetched the maybe recent users that will only
be seeing when user scroll, you could defer like those
props like okay, send all of the stats and then
incrementally send down everything else.

Speaker 1 (09:54):
So this would be used, like you said, for like
an admin dashboard or or something else where it's it's
essentially you don't want it to do all of the
work and take forever to load the page, and so
you can you can say, hey, look, I've got this
page with this structure, and then the deferred props are

(10:15):
essentially the data, so it can go back and i
can say, okay, the page is loaded, and now I'm
ready to populate this section of the page. So I've
deferred getting those props and filling in the blanks essentially.

Speaker 3 (10:28):
Exactly exactly, so it's now more.

Speaker 4 (10:31):
I think these features really make it like a good
contender for things like next years for example, right like,
because I've seen folks like in one Point Tho, I've
seen folks preferred the boy stack because of how stimpoint
is and how because the cool thing about this old
thing that it brings for you that you get the
old truce of an MBC framework to handle your back end,

(10:55):
your authorization and your ROM. And then then the bridge
which is initia, so we just got a better bridge.
The back end that keep getting better, the front that
keep getting better than the bridge now gives you this
amazing experience in DX prefetching, deferred props and infinite screwl

(11:16):
pulling as well. Like it's easy to like pull for
new data if you want to. So if you don't
want to do website get stuff and you want to pull,
like it's it is possible. It's come big teams, so
you could do things like trouttling or don't pull when that.

Speaker 3 (11:31):
That type is is inactive and all that stuff.

Speaker 4 (11:36):
It comes backed into the frame of the the.

Speaker 3 (11:39):
Tech right now. So it's really really good.

Speaker 4 (11:41):
It's just going to make it easier to build really
nice experiences with the tech.

Speaker 2 (11:50):
That makes sense.

Speaker 1 (11:51):
Is it sending the data back as fully formed HTML
or is it just Jason and you're relying on whatever
you're doing on the front end to populate the data
or how does that work?

Speaker 4 (12:03):
Yeah, so it's it's leverage the fact that you could
swap out components in real time for every.

Speaker 3 (12:17):
Like view, veiled and the rest.

Speaker 4 (12:20):
Right, So what happens is that today's like you have
like an app door jas that you would do a
like a create initial app for views vert or react
and then you'll be like, okay, look for the pages
and maybe jazz slash pages right, So you give it

(12:42):
the page name and you would know that.

Speaker 3 (12:44):
Okay. So once the back end.

Speaker 4 (12:47):
Say look for a page that there is user for example,
it's to use that to find the user the jas
and then swap the page okay, and also send the
props into datum page page. So it has a DSL

(13:08):
that would be like the name of the page, the props,
the you are well, and every other.

Speaker 3 (13:15):
Data that you would need.

Speaker 4 (13:17):
So it's swap it as you click, it's gonna intercept
does click, then it will make an SHL to get
the page.

Speaker 3 (13:27):
So you say all spo like right.

Speaker 1 (13:31):
So most of the work I do is server rendered,
and so I'm I'm pretty accustomed to making the call
to the back end and getting HTML back and saying
drop this in where I tell you to. But what
you're saying is, since you're using a front end library
like React or view or celt or something, it already knows, hey,

(13:52):
I've got a component, and this component has these behaviors
and this data behind it. And so effectively what you
do is when you click, it says okay, take this component.
You're gonna put it here, or maybe it's a collection
of components or something like that, and you're going to
go get the data, and the data is the props,
and you're going to load those and you're gonna you're

(14:12):
basically going to hydrate your your components with the data
so that then it knows, Okay, now I've got fully
formed functional things that I can put onto my page.

Speaker 3 (14:24):
Yeah, exactly, so do the cool thing.

Speaker 4 (14:27):
It's so if you're doing something like a classic SPA,
like when you want to see let's see cost this
for example, right, if you visit the page, the pitche
would load, right, but now you have to make another
call with the spiner right to see like to get

(14:48):
to the data. But in this way, everything is sevi
aside centric, so the page will always.

Speaker 3 (14:55):
Load with the data.

Speaker 4 (14:56):
So there's no need for like a spinner so it
costs with the Yeah, but it's an SPA, so there's
no need for the spin out. There's no need to
have states in like what redogs or all those other stuff,
because your state is in the database, so everything always
come I know like that.

Speaker 2 (15:15):
Yeah, that's cool.

Speaker 1 (15:18):
So let's say because I can kind of see two
scenarios here. So one scenario is, hey, I've got my
React app or my next JS app or you know
view or whatever. Right, and I've been using inertia JS
one dot zero for a while.

Speaker 2 (15:36):
This sounds great, let's upgrade it. What do I have
to do upgrade it?

Speaker 4 (15:42):
So it depends on what you're using already, So if
you use it, so IF for the most part, is
very popular in the Lava ecosystem. So all you have
to do is update both the back end adapter, which
we go be inertial level, and then the front end
re I is View or React.

Speaker 3 (16:01):
I think that's all you need to do.

Speaker 4 (16:03):
It doesn't have a lot of breaking changes for like
a major like this doesn't have a lot I said,
you're using a couple of things that you do so
but as soon as you do those change, your app
is a sync now. So everything is a sync by Deffault,
so it will just work. But you could now tap
into using things like the prefetching, which is really cool.

Speaker 3 (16:26):
So this one, like I think next year is already
have it.

Speaker 4 (16:29):
And I think like like if you've a building on
the web for like a while, you know how to
prefetch the but does not come with the stuff, So
you could be like, okay, if you over on something,
prefetch that page or if it mounts load these other
pages of domestically that I think that you're going to visit.

Speaker 3 (16:48):
So it now comes.

Speaker 4 (16:49):
So it's more giving you more add ons, so you
don't really have to change much of your apps. So
for me, I have to do a lot because I
have to. I'm not updated my own adapter yet. But
after that.

Speaker 3 (16:59):
Updates, users just have it for free because it would
just walk.

Speaker 4 (17:04):
They just have to use the new things the way
in visible components pulling if you have to pull for data.

Speaker 3 (17:10):
I know this stuff.

Speaker 2 (17:11):
Yeah, right, So.

Speaker 1 (17:14):
What you're saying is is if I update Inertia on
the front end, right, they just say, okay, now I'm
using Inertia too. That's that's all I have to do
on the front end, and on the back end I
update my adapter and then everything that I was doing
with Inertia still works, right, some of it might be.

Speaker 2 (17:32):
Or things like that.

Speaker 1 (17:34):
It just opens the door so I can use some
of these other features.

Speaker 4 (17:38):
Yeah, and it's like the best like major update ever
with no breaking changes at all except like just a
few things.

Speaker 3 (17:48):
And they're like this is like this is the dream.
It's just so easy to update.

Speaker 1 (17:53):
Right, Yeah, I mean I've worked on some systems and yeah,
you get that major verse version update and it's like, okay,
it was all this stuff that depends on all of
these features out of version last version, right, and so
now when I do the upgrade, I either have to

(18:13):
find some way of like running both versions or you know,
jumping through a bunch of goops.

Speaker 2 (18:18):
And so this is this is pretty refreshing, right.

Speaker 4 (18:21):
Yes, it is like it's a it's a joy. It's
a joy like everything this just work, and you just
have to know that you're not usaying like.

Speaker 3 (18:30):
You would have.

Speaker 4 (18:30):
You probably would notice the change as much because it's
just you just work and just think. So it's more
like it's more like an architectural change down actual like
things you would take notice off.

Speaker 1 (18:45):
Right, So I want to kind of back into some
of these other features.

Speaker 2 (18:50):
You know, we've talked a bit about async.

Speaker 1 (18:54):
Is there any concern about because because you can have
multiple requests and now, is there any learned about those
coming in in the wrong order or anything like that
where maybe you get a race condition or something like
that where you can get unexpected results, or does the
nur shol handle all that for you.

Speaker 4 (19:11):
Yeah, I think so, Like it's why you have to
update the adapters.

Speaker 3 (19:17):
Already, like take it.

Speaker 4 (19:21):
So it's more like you most likely would't have to
run into any of those issues. But the adapters have
have also made sure that all the race conditions, which
I don't think it's even possible because things it's all
a sync, right, so if I'm loading this part of
the page and the parties, so it doesn't really matter,
but I'm pretty sure it's all taking care of. That's

(19:43):
how we have to update those adapters. Okay, so what
with the cod versions.

Speaker 1 (19:50):
And then you mentioned the pulling, So do I just
tell it how frequently the check or how how long
I wanted to pull for.

Speaker 4 (20:02):
Or yeah, so it comes with the front end comes
with them. So for view we have the composable. For React,
there's also the hook, the useful hook, so you could
just drop it in there and be like useful then

(20:23):
pull every twenty second, and you could put like some
callbacks like on start unfinished, like to just you know,
and you could also stop it if you want to,
so like it's not like forever, and you could you
could throttle it, you know, like so that yeah, so
that you don't just so if I'm not on the page.

Speaker 3 (20:43):
It's no need for you to finish data, right, So
you could also trottle it for that. Yeah.

Speaker 2 (20:47):
Right, So.

Speaker 1 (20:52):
And then you mentioned I'm looking at this article. I
I guess I could post it to the comments, but
they mentioned and the when visible and that was where
you were talking about things like infinite scrolling.

Speaker 2 (21:03):
Yeah, so this comes on, Now do the work.

Speaker 1 (21:07):
But I could also see this as kind of a
performance hack where you know, I have a dashboard, but
some of the graphs or something are below the fold,
and so it's like, Okay, you scrolled up far enough
to where you might want to see this, and so
now I'm gonna load that in. But before I didn't
do that work because I.

Speaker 2 (21:26):
Didn't even know if you're gonna look.

Speaker 3 (21:28):
At it exactly.

Speaker 4 (21:30):
So yeah, it's more good for you actually, and you know,
like all your it's just gonna be good for web vitals.
They're gonna love you for it, and of course you'll
your users are gonna love it too, because not every
part of the page it gets seen or have equal attention.

(21:50):
So you could just be like when visible, do stuff.
If not visible, then that work's never done. And that
page was loaded and us gets what it wanted to
do done really quick.

Speaker 1 (22:01):
Right, Yeah, yeah, I think I think you covered everything
that I was able to find on this. So I
guess the next questions are, you know, kind of more
in general with just building web applications and best practices.
So one of the things that I like to do

(22:22):
with a lot of my applications is make sure that
it's fully tested. And so how do I go about
making sure that I have good tests on these kinds
of requests?

Speaker 3 (22:34):
Yeah, for sure. So the.

Speaker 4 (22:37):
So the cool thing about intia is it's based on
really stable texts. So for every of these platforms for
l for reals, they weighs you test your app so
the same test up right here. So yeah, so you
could test okay, is the pitch sending back the data
you need and every other thing. It just like makes

(23:00):
in a classic endpoint tests right like to see if
you're getting the Jason but because it sends down Jason down.

Speaker 3 (23:07):
The wire, so you could do that. And also you
could test.

Speaker 4 (23:09):
Your components the same way you could test with anything
like jests or whatever I use for tests.

Speaker 3 (23:15):
And now you could also do it to eat test.

Speaker 4 (23:16):
I like it to eat test and these days they
are faster, so you could test like the entire flow
of everything from like the click from everything. So it's
it doesn't change much from how you beat software. It
just makes it a little bit more simple and make
it more tight and cohesive.

Speaker 1 (23:34):
Yeah, yeah, that makes sense. That's another thing that I
was going to ask about. Is it sounds like you
mentioned that and then you mentioned it too, right that
it makes your code more concise, maybe a little easier
to read, a little easier to understand. If you've been
writing code for long enough, you realize that you're writing

(23:54):
code for other programmers, right, so that they can maintain it.
You're not writing it necessary early for the computer.

Speaker 2 (24:01):
Right.

Speaker 1 (24:01):
The computer gets whatever it gets from whatever JavaScript, virtual machine,
or whatever else you're running. So yeah, I mean, in
what ways have you found this cleans up your code?

Speaker 3 (24:15):
A lot of ways?

Speaker 4 (24:15):
So I did this series of talk which is like
shipless JavaScript, because I feel like the best way to
not have bugs is to write less code. So in
a like in a classic style of SPA and API,
you are maintaining two codebase, especially when you're doing JavaScript everywhere.

Speaker 3 (24:36):
So what's the point of the JavaScript everywhere where you've
gotta have.

Speaker 4 (24:39):
To ctiment into different code bases, and these apps they
don't really talk to each other, but it's still all JavaScript.

Speaker 3 (24:45):
Why so when you take out first of all, you take.

Speaker 4 (24:49):
That because the routing is done in the back end.
You have one wrapting system like one route file. So
classically you have both your PI routes, your pr end
points and then your your SPA routes which would be
like react raptor or just anyhow you're routed, right, and

(25:11):
then you got to do state management, which is state
my code.

Speaker 3 (25:16):
I still like, I was so grateful for.

Speaker 4 (25:21):
Not having to write them anymore for like two three
years now because it's just a nightmare, like the different patterns,
and like you just more code, more box right, So
that just makes it simple because you know your page
come with the data and you don't always have to
fetch all the data. You could be like send me
this page again if I click, now, give me just

(25:42):
this portion of the data. So you see, you have
this fine grade control and you get it for free.
And then don't get me started with the flash of
authenticated content that happens when you have these two separate apps,
because like now the page makes so if I click
on a page to view and I'm logging, I get

(26:04):
to see the flash of signing sign up, then I
see my alvata. Why because because it's going to take
a while to talk to the back end, but now
the back end is sending the entire state, so we know.

Speaker 3 (26:14):
You're logging, so you never see that flash.

Speaker 4 (26:17):
So there's lots of benefit for both the UX and
the DX, and you get to understand your app flow
because most times, especially when you're a smart team, I
don't only see the need like they need to have
two separate apps if you're a small team, and even
if you're a big team, because the back end guys

(26:37):
who just do some Jason and throw it over the wire,
then the front of the guys you just have to martional it.
But now everybody's working on the same code base, we
understand how the application work from so and when dev's
know the like from top to like, everything they know
about the app is holistic, they get to build more apps.
That makes more sense because I've seen apps that I

(26:59):
build really weird because the teams that don't talk to
you show because someone is just send it. I'm just
I don't care whether you need those Jason at all.
But in instead of you could be like, okay, I
just need the email of the user, and I myself,
as a fronted person, can go put, Okay, just select
the email. That's all I need for this page and

(27:21):
I can get it instead of like the the API
person to send down all the all the things of
the of the user. Then you just get to speak
the email. And even if you're just picking that I'm
showing to the user, you're still sending that down the wire.
And so that's the extra cost. But this is no

(27:42):
longer the issue because you can just find going to
be like, this are the data I need. So it's
good for data and it's good for like DX and
everything else. So I love it.

Speaker 1 (27:53):
Yeah, it sounds a little bit like when you're talking
about just getting the data you need. It sounds like
the way that a lot of people talk about graph QL.

Speaker 3 (28:01):
So yeah, sounds like that, but it's not like that.
But it's not like that at all.

Speaker 4 (28:07):
It's it's not it's back end driven sp Yeah, unlike
graph KI. You gotta do like okay, like as this said,
then the the for the guy cannot make the all
the queries, but you make everything in the back end

(28:28):
and then send.

Speaker 3 (28:29):
Out what you need to the users in the back end. Yeah.

Speaker 2 (28:36):
Yeah, I'm just trying to think of how that how
that would work. So mm hm.

Speaker 1 (28:41):
So you constructure query and you say give me this
data back and with inertia it sounds like more you're
saying I need this u I, and then your back
end is intelligent enough to say this u I only
needs this data and so that's why it sends it up.

Speaker 3 (28:57):
Mmm. Kind of.

Speaker 4 (29:00):
But you're still thinking separately, right, But you own the
entire app is full stack now, so you know what
that page need. You could make the the query to
get just the data you need for that page, send
it down yourself. So it's one app. It's one app, right, Yeah,

(29:22):
I could. I don't know if you could share. I
could definitely show you a couple of code if you
want to see.

Speaker 1 (29:28):
Yeah, we tend to not do that on this show,
just because a lot of people listen audio only. Okay,
yeah cool, But yeah, I think I'm kind of getting
the idea and maybe I just need to.

Speaker 2 (29:41):
Go play with it some more.

Speaker 3 (29:44):
Yeah you should.

Speaker 1 (29:45):
Yeah, So one other question, Yeah, I mean you keep
mentioning that other back ends use it too, so it's
not just you know, no JS or JavaScript back ends.
People who listen to the show know that I primarily
work with Ruby on rails. Steve Edwards, who's also a
host on the show, primarily does view and Laravel and

(30:09):
so yeah, so it's it sounds like, yeah, there's kind
of a cohesive approach to this where yeah, you're blurring
the line a bit more between your front end and
your back end.

Speaker 3 (30:23):
Yeah.

Speaker 4 (30:25):
Yes, it's exactly like that's it just makes it is.
It's a bet SPS, but you don't have to do
like an apler. It's all just wondering and you get
to live with your back end things, your your off
your data access, it's all donated back end.

Speaker 1 (30:43):
Yeah, so in that case, and this also reminds me
a little bit of graph QL in the sense that
on the front end, right, you basically just build the
queries and then on the back end you have what
are they called they have uh, the classes essentially that
go and fetch the data and deliver it to whatever

(31:07):
orchestrates your graphic q A query. Yeah, so it sounds
like this is a little bit more involved where maybe
I'm writing code on my back end specifically designed to
work with inertia. Right, So I put the adaptor in
and then I'm I'm working in kind of an inertia
way from my view layer as far as the back

(31:29):
end goes is is that accurate at all?

Speaker 2 (31:32):
Or yeah?

Speaker 3 (31:34):
It is. So it's not restricting you.

Speaker 4 (31:37):
So you could send down inertial pages, You could send
out classic set aside pages in the same map. You
could also do fetch calls from your front end in
the same app.

Speaker 3 (31:48):
So there's no restriction.

Speaker 4 (31:50):
It's like, if you call it, it sends down like
the pages. If not, you could do your your IGIs
if a node or your yeah be for reels and
it's to work.

Speaker 1 (32:03):
Yeah, right, that makes sense. So yeah, so where inertia
is gonna call it? I'm working in the inertial world.
But yeah, obviously it wouldn't keep me from just doing
things the other way.

Speaker 2 (32:15):
I was.

Speaker 1 (32:16):
I was also going to ask about how it compares
to something like HTMX, but it sounds like you've kind
of answered that because HTMX it it just sends back HTML.

Speaker 2 (32:27):
Where yeah, yeah, this.

Speaker 1 (32:29):
Is designed specifically to work with inertia, and so it
feels like one cohesive application.

Speaker 3 (32:39):
Yes, it does, it does, it really does.

Speaker 4 (32:41):
And you could visit a couple of apps that use
a walk like that and just like how the feel
at how it works. So one is lack cast dot com.
They use inertia. Oh okay, yeah, come use phantom.

Speaker 3 (32:55):
The dashboard also uses inertia. Use that should be their website. Yeah,
was using.

Speaker 4 (33:03):
If you just click around you can see how it
be is like an SPA, but so if you check,
if you check what's being sent back, it's more like name.
We should be like the component name than props all
in Jason form.

Speaker 3 (33:16):
And then it knows how to render dose.

Speaker 2 (33:20):
Yeah, oh very cool. Yeah we'll have I'll have to
check those out as well.

Speaker 1 (33:27):
So I guess the other question, and this is always
the biggie when I talk to people about using some
of the library, is how does it affect performance?

Speaker 3 (33:38):
And like app?

Speaker 1 (33:41):
Yeah performance, Yeah, you mentioned core web vitals for example,
but you know, just in general.

Speaker 4 (33:50):
I don't think it does, because you wouldn't even so
in terms of like I said, it's an alternative to
using things like noxts next the kids, Uh huh, there's no,
there's no downside on that. I fact, I think you
even get more bang for your back, like if you

(34:10):
use it because on like the other stuff that I'm
more concerned with building like an SPA and then you
get to talk to the A P I and then
those artificial way time with the with the spinners and all.
With this, you don't get all that, so it's more
direct and you get because what makes up really slow

(34:33):
most time is the data access. Right, so there's like
since you have fine grain control on what you need.
I don't think I think it's like an up, like
a one up for it in terms of like the
other alternatives out there, So there's no really much hit
and performance at all. Like I've been using it for
two plus years now and I used next before.

Speaker 3 (34:57):
There is it's it's.

Speaker 4 (34:58):
More better for my DX and also all better of
my UX because everything is really snappy and all I
have to do is like of course I'm not saying
that every role in my database to the user.

Speaker 3 (35:11):
So that's the only way. So if you if you
if you build the mpc AUP.

Speaker 4 (35:16):
You already know how to work like make good queries already,
so it's not like it's just it's just not like
I said, non issue on that one, so it's all
pretty snappy.

Speaker 2 (35:28):
Okay.

Speaker 1 (35:30):
Yeah, so if somebody wanted to get started with inertia,
how would they do that?

Speaker 3 (35:39):
Yeah?

Speaker 4 (35:40):
So if you do full start JavaScript, I think the
best way you could just do MPX create sales, which
will like scaffle like a full stag appeture with the
sales on the back end, and then you could pick
view reactors velt. If you do any order languages on

(36:01):
the back end, you have to use the adapter and
the guide wish. The dogs also have a lot onto
lavel rails and the rights it also like have dogs
on that or how to set it up?

Speaker 3 (36:11):
Yeah?

Speaker 1 (36:12):
Right, what if I'm doing no JS on the back end,
but I'm not using sales, so maybe I have it
built on something?

Speaker 3 (36:18):
Yeah, I think, yeah, for sure.

Speaker 4 (36:20):
The Adonis also have an adapter to, so most of
those framework they have adapters, so you could just use
but if you use it even I think sports also
has an adapter to as well, so you could. It's
all it's yeah, it's all adaptive. Is that you could
really buildle on really quickly if you want, so, if
you really need the benefit, you.

Speaker 2 (36:39):
Could very cool.

Speaker 1 (36:44):
Is there anything else that folks ought to know about
inertia or inertia two have thirty using interertia.

Speaker 4 (36:51):
Yeah, so I think it's it speaks to how good
the tech is when major apps like they want to mention,
like like like an analytics platform like use Phantom uses inertia.
And also the new the Other Cloud is built with

(37:12):
Inertia and React. So I think you could give it
a try because if you if you if you don't
like the startup school of things losing things like next
I just like, and you prefer NBC, and you want
like a robust, stable back end thing for your stuff,
because I've seen people they build lovelpi and then they

(37:33):
build the next year's SPA or something.

Speaker 3 (37:36):
Yeah, but or because of the whole hassle.

Speaker 4 (37:40):
Of okay, they don't really like don't want something stable
for the back end, but it's okay to just bridge
it right and just have everything one and just work
with it.

Speaker 3 (37:50):
So you could do.

Speaker 4 (37:51):
Because what you really want in X most times I
find is React. Yeah, like that's what you really want,
like the.

Speaker 3 (38:01):
Gxs and stuff.

Speaker 4 (38:02):
So if you want that, what you want to robot again,
you could just check out building apps with inertia.

Speaker 3 (38:11):
It's really simple to get started.

Speaker 1 (38:15):
Mm hmm, that's cool. So tell us a little bit
about you. I'm kind of curious. So you said you
have a Nigerian last name. Do you live in Nigeria
or you from somewhere else or.

Speaker 3 (38:29):
Yes, I do.

Speaker 4 (38:29):
I live in Nigeria. I have been I've been here
all my life physically.

Speaker 2 (38:35):
Yeah, that's that's super cool. I've never been.

Speaker 3 (38:40):
There, but oh you should, Yeah, you should. You should
try come over.

Speaker 4 (38:47):
It's really it's really like a cool place to you know,
to vacation at or just like have a toll.

Speaker 3 (38:55):
Yeah. So we'll be doing the sales cone for this
year June.

Speaker 4 (39:01):
So I'm gonn't have like a couple of people come
out out the like from from other places in Africa
and elsewhere to just come and have like a web
death conference.

Speaker 2 (39:13):
So its be fun cool and you're doing that Nigeria.

Speaker 3 (39:18):
Yeah, Nigeria.

Speaker 1 (39:20):
Oh, very cool. I'd love to figure out how to
get out there anyway. So what's the death community like
out there?

Speaker 4 (39:29):
Yeah, it's pretty vibrant, like we have, like we have
an open source community here, like a lot of people
are big on open source, a lot of developers like
you know, so it's been really really good for like
for years now.

Speaker 3 (39:44):
So they have a lot of.

Speaker 4 (39:46):
Death roils too here. So I don't know if you
know shak a Ui mh you know it? Yeah, so
like that's made by a Nigerian as well, and yeah,
and a couple of other ops that I know.

Speaker 3 (40:04):
Tastfully, it's really cool, very cool.

Speaker 1 (40:09):
Yeah, I ran into Shakra you I can't can't remember.
Somebody recommended it for something I remember checking it out.

Speaker 3 (40:17):
Yeah, that's cool, awesome.

Speaker 1 (40:23):
Well, if people want to check out sales or sales comp,
where do they find that then? Also yeah, any content
you have on inertia, Yeah.

Speaker 4 (40:34):
So sales comp dot com slash Africa would would take
you to the page. I'm gonna be open up the
CFP and sales for ticket like next week and my
work on it on inertia, I have free articles posts
and also videos, so I teach full Starck web there

(40:57):
on salescass dot com. So we also have like screen
cast and I'm working like on a course which I'm
going to rese like the first chapter this this week
on next week, which is the build fifty products in
fifty days, because I like how easy the stack is
to be stuff so I want to show up to
be like real sass app looking like most like just

(41:21):
built fifty of them, like from top to like.

Speaker 3 (41:23):
Everything you need for like an app, the billing.

Speaker 4 (41:26):
Teams, everything for different apps are going to be two
for each chapter of the course of building a new.

Speaker 3 (41:36):
Stuff. With the borrowing stack, it's gonna be fun.

Speaker 2 (41:39):
So yeah, very cool. Only that's fifty apps in fifty days.

Speaker 4 (41:44):
Yes, I so I could like so I call it
code name Project fifty because why.

Speaker 2 (41:51):
Not, that's awesome. I might borrow them.

Speaker 1 (41:58):
I love the idea of doing fifty apps the days.
So yeah, I have a couple of questions on that,
just just to dive in.

Speaker 2 (42:09):
One of them is, so are you using a lot
of the same stuff over and over?

Speaker 1 (42:14):
Right, So a lot of your authentication will look the
same and a lot of the other kind you call
the boring stack. So I'm assuming you're a lot of
stable boring you know, Hey, look we use the same
tail and components or however you put it together.

Speaker 4 (42:28):
And exactly so I feel it's just so, it's it's
what things like like the diver templates I've enjoyed over
the years. Where so so I joke that if you
do like a new Java script, full stack stuff you
get like a counter where you get to click, but

(42:50):
in some order from what you get like authentication and everything.
So those part of your apps, they are most generally stable.
So if you have something that could just take Q
sixty percent the way they you focus on your business logic,
I think you're gonna move faster. So I just want
to show this with real world because it shure, don't tell,
So you see for yourself how productivity is to like

(43:13):
use something that is boring because I just focus on
the core of your app and ship to your users
really quickly. And if it's boring, it's less headache when
you have to debox stuff because it's predictable.

Speaker 2 (43:25):
Yeah, yeah, that's cool.

Speaker 1 (43:29):
I kind of want to do see if I can
do that for Rails, and I've wanting to do for
a while, put together effectively that same kind of thing
where it's like I need authentication, so I run the
authentication generator, I need payments, I run the payments generator.
Right like that, there are a dozen things that I
just do the same way every time, and so yeah,

(43:52):
then it's okay, now I want something something podcast right
because I'm very much in the podcast community, right something
something podcast utility that does this thing right, and so
then I can I can throw that together in a day.

Speaker 2 (44:04):
Yeah, no, big deal exactly. I love it. I love
it well people.

Speaker 1 (44:12):
Yeah, all right, Well, if you don't have anything else
to throw out there for us, we'll have you come
back and talk about sales, because I'd love to.

Speaker 2 (44:22):
Dive into that. But in the meantime, we do picks
at the end of the show.

Speaker 1 (44:28):
I'm not sure how familiar you are with with that,
so I'll go ahead and go first.

Speaker 2 (44:34):
Okay, so picks.

Speaker 1 (44:36):
Or just shout outs about whatever, and I usually do
a board game pick.

Speaker 2 (44:43):
I'm trying to remember.

Speaker 1 (44:46):
The name I always the board game is actually a
card game that I'm gonna pick is called The Gang.
And yeah, so if you've played I've mentioned the game before,
which is is you have numbered cards and you're trying
to put them out in order with certain rules right

(45:06):
as far as what you can place on the piles.
The Gang is like Cooperative and Texas Hold Them. So
if you've played Texas Hold Them before, it's it's a
form of poker for those.

Speaker 2 (45:20):
That you know.

Speaker 1 (45:21):
I don't want to assume anybody knows anything. But if
you've played poker before, you've played Texas, hold them, right.
You get two cards. This is typically the game that
you see people playing in the movies, right, if they're
playing poker.

Speaker 3 (45:36):
That's usually text.

Speaker 1 (45:36):
Hold them and they flip three cards for the river, right,
and then they and then they flip another card in
another card right. And so what you do is you
you get your two cards and you look at them,
and then there are tokens out. There's one token per player,
and so that you know there's one with one star,

(45:57):
one with two stars. We were playing three players, so
one with three stars, right. If you have four players,
then there's gonna be another one four stars.

Speaker 2 (46:02):
Right.

Speaker 1 (46:03):
So the person, if you think you have got the
best hand at that moment, then you grab the three star, right.
And so typically if you have a face card, right,
you're gonna grab that. Or if you have a pair,
if you start with a pair, then you may grab
that three right. And then maybe somebody else is going
I have an ace, and so they may take the

(46:25):
three from you, right, and you just take it back,
and you can continue to steal the tokens from other
players until everybody has a token.

Speaker 2 (46:34):
In front of them, and they're pretty comfortable with what
they have.

Speaker 1 (46:37):
And then what you do is you flip the river, right,
so you flip those three cards and you do it again, right.
So maybe the pair I started with that I was
fighting over the three star token. I had a pair
of threes, right, And when we flip the cards, now
somebody is more aggressively trying to take the three because

(46:59):
there's an ace and a out there, and so I'm
going to assume that they have a pair of ases
or a pair of kings, and so their hand now
beats my hand, if that makes sense, and so I
may go for the two or the one, right, and
then you flip another card and it's a three. Now
I have a three of a kind, and so I'm
going to be taking that three and trying to say, no,

(47:19):
I have the best hand because my three of a
kind beats your pair of ases, right, But.

Speaker 2 (47:24):
I don't know what everybody else has.

Speaker 1 (47:26):
And so what you're trying to do is you're trying
to win three hands as a team, right, with everybody
having the right token at the end of the round,
before you lose three hands, right, And so if you're
wrong if somebody has a better hand than you and
you have a higher token than them, right, then you

(47:48):
lost anyway, So anyway, it was really fun. We got
to the point where we were playing around in like
ten minutes, right, We would get through a game in
twenty minutes, half hour.

Speaker 2 (48:02):
It was really really fun. Like sometimes it was hard.

Speaker 1 (48:05):
Right, So I had have like an eight and a six,
and somebody else that I was playing with they had
a ten and a six, and the six came out
in the river, right, So we both have a pair
of sixes, which means that the other card that we
have is the one that determines whether or not we win, right,
and so then it's down to okay, yeah, you know

(48:26):
we picked it wrong because we had two cards that
were close to each other. But anyway, it was really
really fun, really enjoyed it. Board game geek waits it
at one point sixty four. I would also imagine that
if we had more than three players playing, it would
be harder because now you're trying to figure out where

(48:47):
you fit in among more hands. My buddy who bought
the game, he's learning it so he can teach it
at SaltCON here in Utah.

Speaker 2 (48:59):
It's Big Board Game Convention.

Speaker 1 (49:01):
He's helping them teach the popular games or the hot games.
He said that the guy that he learned it from,
he and his wife play at two player, and they
each play with three hands, and so that I would
imagine might get a little more complicated as well, because
now you have to keep track of which of my

(49:21):
hands is winning at the time, along with trying to
keep track of what the three hands of the other
person is right. So with six hands, I would guess
that's gonna get tricky.

Speaker 2 (49:32):
But anyway, it was fun. I really enjoyed it, So
I'm gonna pick that. Yeah, So then other picks.

Speaker 1 (49:40):
I am launching JavaScript Geniuses right now. If you sign
up before Valentine's Day, which is this we have one
hundred and eight people watching. If you go to JavaScript
geniuses dot com and you sign up. If you sign
up before Valentine's Day, then you get the meetups and
the videos and everything else for JavaScript developers.

Speaker 2 (50:01):
Incidentally, if you do Ruby, I'm doing Ruby Geniuses too,
and it's the same format.

Speaker 1 (50:05):
We're going to have a meetup every week, you'll get
to come to the book club, you'll get videos from
me every week. Right at least one, probably two right,
where it's hey, here's how you do a thing in JavaScript,
kind of like rails casts used to do, or it
sounds like Kelvin does it with sales casts. Right, Mine's

(50:28):
more generally JavaScript. It'll probably have if there any frameworks
in is probably going to be mostly React. But yeah,
so I'm putting that together. But if you sign up
before Valentine's Day, I'm also doing a one hour coaching session,
which I usually charge two hundred and fifty dollars four
and I'm also throwing in six months of text of

(50:50):
voice coaching, which is essentially if you've used you can
use like WhatsApp. That's probably what I'm gonna use WhatsApp.
But you can send me a voice message on WhatsApp
and I'll respond to you on the voice message. So it's, hey,
I'm stuck trying to figure out this performance problem on
my app, and this is what I've tried.

Speaker 2 (51:10):
And then I may get back to you and say
have you tried this, this, and this.

Speaker 1 (51:14):
You may get an answer for me off the top
of my head, or you may get an answer for
me because I bugged Dan Shapir and said, what would
you do here, right, because I know people who can
help me answer the questions if I can't.

Speaker 2 (51:26):
Right, similar with the Ruby.

Speaker 1 (51:28):
So anyway, if you want to sign up JavaScript Geniuses
dot com, I have monthly, yearly in lifetime and you
can go sign up over there, and like I said,
you get the coaching for six months and you get
the one coaching session. So if you're trying to find
a job or you feel like you're stuck in your career,
that this is a really good opportunity for something like that.

(51:49):
So anyway, those those are my picks. I also, I'm
gonna throw out a movie pic. So I finally got
around to watching Dune Part two.

Speaker 2 (51:59):
It was good. I liked it.

Speaker 1 (52:02):
The book's still better, sorry, but I enjoyed it. So anyway, Calvin,
what are your picks?

Speaker 3 (52:09):
Yeah, it was like, you have some nice pick and
I like the name Drivascal Geniuses. So my pick just
a game I.

Speaker 4 (52:18):
Want to learn. I've been putting it off a while
to learn it. So the only board in my coinity
plays chess, but I want to let go because I
was told it to the next harder strategy game and
it's kind of different from the mindset of playing chess,
we get to like capture pieces and stuff.

Speaker 3 (52:38):
We go, it's more like having control of territories.

Speaker 4 (52:44):
Yeah, so it's to be fun like yeah, so the
first time I saw it, it was just all white and.

Speaker 3 (52:48):
Black pebbles and it was just confusing.

Speaker 4 (52:50):
But I'm going to get a board and I'm going
to try to learn it because I like those sort
of games. So those just like like the other games
I will be playing.

Speaker 2 (52:58):
Yeah, then you just go are definitely fun.

Speaker 1 (53:05):
And the mechanics are reasonably simple, but the strategy.

Speaker 3 (53:09):
Is just.

Speaker 2 (53:11):
That.

Speaker 1 (53:12):
That's why I love them, right, Yes, it's like okay,
and there's always somebody better than me that you know,
after they soundly trounce me, then it's okay, what what
did I do wrong?

Speaker 2 (53:23):
Right? How can I do that? I just love it.

Speaker 4 (53:27):
Yeah, it's really good. It's just good for the strategy,
like that's why I love it, and it's it's fun
and into for my pick. It's let's see. So mostly
just so scarce to come like take the free videos
because I want more people to do pull that Java script.
It's like the old vision that one, because I think

(53:49):
it's the one advantage we're not really leveraging a lot
rightan dowgive was like a.

Speaker 3 (53:53):
Great gift of geoscript everywhere.

Speaker 4 (53:56):
But still people still want to go to rails or
love of to do back and why what are we
getting wrong or what is it education? So I'm solving
the educational part, also doing open source parts to make
it easy to viud full stack apps which are watched great,
because I think it's an unfair advantage that we should
level so more.

Speaker 3 (54:15):
Mm hmmm.

Speaker 4 (54:16):
So yeah, movie pick. I saw Marco Polo so on Netflix.
I've I've always kipped it because I thought I might
not like it, but it was really good. I liked
the series Marco Polo so even though I think there's
one more season that has to come, like maybe like
season three or so, it's really good. But my my
favorite series of all time has always been Suits, but

(54:39):
Marco Polo was good.

Speaker 2 (54:41):
Yes, my wife I started watching. We have trouble getting
into it.

Speaker 1 (54:47):
I'm just wondering if the first season is a little
bit harder to get into it.

Speaker 4 (54:51):
It was good for me, like all true, like every season. Yeah,
I guess it's preference.

Speaker 2 (54:59):
Yeah.

Speaker 1 (54:59):
Then the the series that we're watching on Netflix right
now is The Night Agent.

Speaker 3 (55:05):
And oh, Yeah, didn't work for me. Yeah, yeah, that
one did work for me.

Speaker 4 (55:11):
I don't know why, Like I felt it was too
I like espionage and spy movies, but I couldn't get
on that one. It just felt too the script was
too too predictable, and I wanted a little bit of
a mystery like with Blacklists. Yeah, I guess I was
compa I wanted too much.

Speaker 1 (55:28):
Yeah, no, I I can definitely see where you're So
the first season I felt like had enough, uh you know,
it had enough novelty to it, you know, because yeah,
they was somewhat formulae, but I thought it had some
novelty to it. The second season, I mean, we've only

(55:51):
watched two or three episodes, and yeah, I'm I'm worried
that they're because they have they've leaned a lot into
a lot of things that generally have and then most
of the other spy thrillers. So we'll see, we'll see
how it goes. But yeah, the first season we enjoyed
for just how Yeah, there were some parts that we
were different. Blacklist was definitely there was a there was

(56:13):
a twist or an angle on every episode, and.

Speaker 2 (56:17):
That made it fun to watch.

Speaker 1 (56:18):
It's like yeah, well, and some of it, you know it,
some of it followed some of the same, you know,
predictable patterns.

Speaker 2 (56:27):
But then there was always that thing.

Speaker 1 (56:29):
At the end where it was like, and you just
made Readington crapped on more money or gave more power
or right, right, so you did this good thing and
took this criminal off the street, but it turned out
that there was this other angle on it, and so
you're watching it every time it went Okay, what's the
angle here?

Speaker 3 (56:48):
Yeah?

Speaker 4 (56:49):
Yeah, the speaking of that one movie that was really
good too, I think you might like it if you
like political thrillers.

Speaker 1 (56:57):
To The Diplomat, if you said it, yeah, we've watched
The Diplomat.

Speaker 3 (57:03):
I think it's good.

Speaker 2 (57:04):
Yeah, that one's been really good. How do I how
do I put this one?

Speaker 1 (57:10):
So a lot of the things that happen in it, right,
you talked about things being somewhat formulaic, A lot of
that stuff, right, as far as like the spy and
cloak and dagger stuff, right, Yeah, you kind of follow
along with that and go, yeah, this is this is
kind of a spy thriller.

Speaker 2 (57:27):
But the difference is is that she's the ambassador and
her husband's this wild card and and you know, you
you keep going.

Speaker 1 (57:38):
He's totally on her side, and then in the next
breath he's like, he's totally destructive to this, right, And
so it's the characters that make the difference there, because
the circumstances just are you know, it really keeps you guessing.

Speaker 2 (57:52):
And so, yeah, it was good.

Speaker 3 (57:55):
It's it was fun and like you always have these.

Speaker 4 (58:01):
Comic on that tune to it, so it's like, see
us of what you could laugh at, like some of
the things she's doing, yeah.

Speaker 2 (58:09):
Well, and and some of that too. Is so typically when.

Speaker 1 (58:16):
You see the spy thrillers and stuff like this, the
motivations are usually more or less the same.

Speaker 2 (58:23):
And with her, she's not right.

Speaker 1 (58:26):
It's like I yeah, yeah, they come out from in
the diplomat with I don't want to give it too
much away, but they come out pretty early in the
diplomat that she's essentially up to become the vice president.

Speaker 2 (58:39):
Right.

Speaker 1 (58:39):
They're looking to push the vice president out and they're
thinking about pulling her in as the VP, and and
she doesn't why, she doesn't know if she wants it,
and so so she doesn't because she just wants to
be herself and do things the way she's always done them,
and so and then there's some there character development things

(59:01):
like that that you know anyway, that that's the fun
part of that.

Speaker 2 (59:05):
What are you saying?

Speaker 4 (59:06):
Have you seen all the all the episodes? I don't
want to spoil it for you in anyway.

Speaker 1 (59:11):
Yeah, I've seen them all, but I don't want to
spoil I don't want to spoil it for anybody else.

Speaker 3 (59:16):
I can't you all go say it's nice, it's a
nice watch.

Speaker 2 (59:19):
Yeah, it gets it gets deeper and deeper.

Speaker 3 (59:24):
Into this mess anyway. Your husband he's crazy, Yeah, he.

Speaker 1 (59:30):
Is, he's he's But the thing is is he's doing
what he thinks is best for her. There are times
where you're thinking he's also doing what's best for him.
But yeah, but it makes it really interesting because the
themes that motivate him and the reasons he makes.

Speaker 2 (59:47):
His decisions are completely different from her.

Speaker 1 (59:49):
And so yeah, so you're like, he does stuff and
you're like that was really sneaky, and.

Speaker 2 (59:54):
Oh that hurt because you're rooting for her anyway.

Speaker 3 (01:00:01):
Yeah, it's good stuff.

Speaker 1 (01:00:03):
Yeah anyway, all right, Well, if people want to connect
with you, where's the best place to do that?

Speaker 4 (01:00:12):
Yeah, X I think where I'm at most of the time. Yeah,
Dominos Calvin, Dominos on Calvin. Yeah, thank you, that's why
we do it. Yeah, So could mention me on anything
and I'll answer when I'm online.

Speaker 2 (01:00:30):
Actually, all right, good deal. We'll go ahead and wrap
it up here. Thanks for coming.

Speaker 3 (01:00:37):
Thank you so much. I love that.

Speaker 1 (01:00:39):
Yeah, all right, folks, we're gonna wrap it up here
until next time.

Speaker 2 (01:00:44):
Max out
Advertise With Us

Popular Podcasts

Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

Stuff You Should Know

Stuff You Should Know

If you've ever wanted to know about champagne, satanism, the Stonewall Uprising, chaos theory, LSD, El Nino, true crime and Rosa Parks, then look no further. Josh and Chuck have you covered.

Law & Order: Criminal Justice System - Season 1 & Season 2

Law & Order: Criminal Justice System - Season 1 & Season 2

Season Two Out Now! Law & Order: Criminal Justice System tells the real stories behind the landmark cases that have shaped how the most dangerous and influential criminals in America are prosecuted. In its second season, the series tackles the threat of terrorism in the United States. From the rise of extremist political groups in the 60s to domestic lone wolves in the modern day, we explore how organizations like the FBI and Joint Terrorism Take Force have evolved to fight back against a multitude of terrorist threats.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.