Building 50 Apps in 50 Days: The Power of Boring Stacks with Kelvin - JsJ_673 - podcast episode cover

Building 50 Apps in 50 Days: The Power of Boring Stacks with Kelvin - JsJ_673

Apr 14, 20251 hr 1 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

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.

Transcript

Speaker 1

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

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

Close enough?

Speaker 1

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

Famous? Not yet? Thank you, Chiles.

Speaker 4

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

And some more that things.

Speaker 4

So yeah, I love JavaScript. I like to beat everything JavaScript because that's here.

Speaker 2

Awesome.

Speaker 1

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

Yeah, for sure. So it's at the basic level, it's.

Speaker 4

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 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 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 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

Gotcha.

Speaker 1

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

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 like the old one.

Speaker 3

So it wasn't a synchronous at all.

Speaker 4

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 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 a simple just like what you get in something like next years or any other thing.

Speaker 3

But now you have more things that you could use it for.

Speaker 4

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

Right. So in one point, soo inertia.

Speaker 4

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

So if I make a new change to cancel out the old change, I was supposed to go to.

Speaker 4

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

So when you're saying a partial update, you're talking about where you only update part of the page.

Speaker 3

Yes, so yes, exactly.

Speaker 4

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 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, 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

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

You're not talking about UI.

Speaker 4

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

Yeah, because every page comes with the data as prop.

Speaker 1

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

No, that's more real time. I don't think so.

Speaker 4

It's mostly because you're just going to be for just my copy of it, all.

Speaker 1

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

Yeah. So that's when you make like a classic like.

Speaker 4

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

Yeah, I gotcha. So does this change the way you build things with inertia?

Speaker 3

Oh yes, it does. It doesn't.

Speaker 4

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 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

But for the.

Speaker 4

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

But with the two point zero you could do things.

Speaker 4

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 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 have like an admin dashboard and you show the starts at the top.

Speaker 2

Mm hmm.

Speaker 4

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

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 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

Exactly exactly, so it's now more.

Speaker 4

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, 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 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

That type is is inactive and all that stuff.

Speaker 4

It comes backed into the frame of the the.

Speaker 3

Tech right now. So it's really really good.

Speaker 4

It's just going to make it easier to build really nice experiences with the tech.

Speaker 2

That makes sense.

Speaker 1

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

Yeah, so it's it's leverage the fact that you could swap out components in real time for every.

Speaker 3

Like view, veiled and the rest.

Speaker 4

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 the page name and you would know that.

Speaker 3

Okay. So once the back end.

Speaker 4

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 that would be like the name of the page, the props, the you are well, and every other.

Speaker 3

Data that you would need.

Speaker 4

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

So you say all spo like right.

Speaker 1

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, 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 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

Yeah, exactly, so do the cool thing.

Speaker 4

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 to the data. But in this way, everything is sevi aside centric, so the page will always.

Speaker 3

Load with the data.

Speaker 4

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

Yeah, that's cool.

Speaker 1

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

This sounds great, let's upgrade it. What do I have to do upgrade it?

Speaker 4

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

I think that's all you need to do.

Speaker 4

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

So this one, like I think next year is already have it.

Speaker 4

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

So it now comes.

Speaker 4

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

Updates, users just have it for free because it would just walk.

Speaker 4

They just have to use the new things the way in visible components pulling if you have to pull for data.

Speaker 3

I know this stuff.

Speaker 2

Yeah, right, So.

Speaker 1

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

Or things like that.

Speaker 1

It just opens the door so I can use some of these other features.

Speaker 4

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

And they're like this is like this is the dream. It's just so easy to update.

Speaker 1

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 find some way of like running both versions or you know, jumping through a bunch of goops.

Speaker 2

And so this is this is pretty refreshing, right.

Speaker 4

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

You would have.

Speaker 4

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

Right, So I want to kind of back into some of these other features.

Speaker 2

You know, we've talked a bit about async.

Speaker 1

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

Yeah, I think so, Like it's why you have to update the adapters.

Speaker 3

Already, like take it.

Speaker 4

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 how we have to update those adapters. Okay, so what with the cod versions.

Speaker 1

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

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 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

It's no need for you to finish data, right, So you could also trottle it for that. Yeah.

Speaker 2

Right, So.

Speaker 1

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

Yeah, so this comes on, Now do the work.

Speaker 1

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

Didn't even know if you're gonna look.

Speaker 3

At it exactly.

Speaker 4

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. 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

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 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

Yeah, for sure. So the.

Speaker 4

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 in a classic endpoint tests right like to see if you're getting the Jason but because it sends down Jason down.

Speaker 3

The wire, so you could do that. And also you could test.

Speaker 4

Your components the same way you could test with anything like jests or whatever I use for tests.

Speaker 3

And now you could also do it to eat test.

Speaker 4

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

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 code for other programmers, right, so that they can maintain it. You're not writing it necessary early for the computer.

Speaker 2

Right.

Speaker 1

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

A lot of ways?

Speaker 4

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

So what's the point of the JavaScript everywhere where you've gotta have.

Speaker 4

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

Why so when you take out first of all, you take.

Speaker 4

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 then you got to do state management, which is state my code.

Speaker 3

I still like, I was so grateful for.

Speaker 4

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 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 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

You're logging, so you never see that flash.

Speaker 4

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 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 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 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 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

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

So yeah, sounds like that, but it's not like that. But it's not like that at all.

Speaker 4

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 and then send.

Speaker 3

Out what you need to the users in the back end. Yeah.

Speaker 2

Yeah, I'm just trying to think of how that how that would work. So mm hm.

Speaker 1

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

Mmm. Kind of.

Speaker 4

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, 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

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

Go play with it some more.

Speaker 3

Yeah you should.

Speaker 1

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 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

Yeah.

Speaker 4

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

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 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 end goes is is that accurate at all?

Speaker 2

Or yeah?

Speaker 3

It is. So it's not restricting you.

Speaker 4

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

So there's no restriction.

Speaker 4

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

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

I was.

Speaker 1

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

Where yeah, yeah, this.

Speaker 1

Is designed specifically to work with inertia, and so it feels like one cohesive application.

Speaker 3

Yes, it does, it does, it really does.

Speaker 4

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

The dashboard also uses inertia. Use that should be their website. Yeah, was using.

Speaker 4

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

And then it knows how to render dose.

Speaker 2

Yeah, oh very cool. Yeah we'll have I'll have to check those out as well.

Speaker 1

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

And like app?

Speaker 1

Yeah performance, Yeah, you mentioned core web vitals for example, but you know, just in general.

Speaker 4

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 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 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

There is it's it's.

Speaker 4

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

So that's the only way. So if you if you if you build the mpc AUP.

Speaker 4

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

Okay.

Speaker 1

Yeah, so if somebody wanted to get started with inertia, how would they do that?

Speaker 3

Yeah?

Speaker 4

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 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

Yeah?

Speaker 1

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

Yeah, I think, yeah, for sure.

Speaker 4

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

Could very cool.

Speaker 1

Is there anything else that folks ought to know about inertia or inertia two have thirty using interertia.

Speaker 4

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

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 build the next year's SPA or something.

Speaker 3

Yeah, but or because of the whole hassle.

Speaker 4

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

So you could do.

Speaker 4

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

Gxs and stuff.

Speaker 4

So if you want that, what you want to robot again, you could just check out building apps with inertia.

Speaker 3

It's really simple to get started.

Speaker 1

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

Yes, I do.

Speaker 4

I live in Nigeria. I have been I've been here all my life physically.

Speaker 2

Yeah, that's that's super cool. I've never been.

Speaker 3

There, but oh you should, Yeah, you should. You should try come over.

Speaker 4

It's really it's really like a cool place to you know, to vacation at or just like have a toll.

Speaker 3

Yeah. So we'll be doing the sales cone for this year June.

Speaker 4

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

So its be fun cool and you're doing that Nigeria.

Speaker 3

Yeah, Nigeria.

Speaker 1

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

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

So they have a lot of.

Speaker 4

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

Tastfully, it's really cool, very cool.

Speaker 1

Yeah, I ran into Shakra you I can't can't remember. Somebody recommended it for something I remember checking it out.

Speaker 3

Yeah, that's cool, awesome.

Speaker 1

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

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

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 built fifty of them, like from top to like.

Speaker 3

Everything you need for like an app, the billing.

Speaker 4

Teams, everything for different apps are going to be two for each chapter of the course of building a new.

Speaker 3

Stuff. With the borrowing stack, it's gonna be fun.

Speaker 2

So yeah, very cool. Only that's fifty apps in fifty days.

Speaker 4

Yes, I so I could like so I call it code name Project fifty because why.

Speaker 2

Not, that's awesome. I might borrow them.

Speaker 1

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

One of them is, so are you using a lot of the same stuff over and over?

Speaker 1

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

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 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 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

Yeah, yeah, that's cool.

Speaker 1

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, 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

Yeah, no, big deal exactly. I love it. I love it well people.

Speaker 1

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

Dive into that. But in the meantime, we do picks at the end of the show.

Speaker 1

I'm not sure how familiar you are with with that, so I'll go ahead and go first.

Speaker 2

Okay, so picks.

Speaker 1

Or just shout outs about whatever, and I usually do a board game pick.

Speaker 2

I'm trying to remember.

Speaker 1

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 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

That you know.

Speaker 1

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

That's usually text.

Speaker 1

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, 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

Right.

Speaker 1

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 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

In front of them, and they're pretty comfortable with what they have.

Speaker 1

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 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, I have the best hand because my three of a kind beats your pair of ases, right, But.

Speaker 2

I don't know what everybody else has.

Speaker 1

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 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

It was really really fun. Like sometimes it was hard.

Speaker 1

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 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 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

It's Big Board Game Convention.

Speaker 1

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 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

But anyway, it was fun. I really enjoyed it, So I'm gonna pick that. Yeah, So then other picks.

Speaker 1

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

Incidentally, if you do Ruby, I'm doing Ruby Geniuses too, and it's the same format.

Speaker 1

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 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 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

And then I may get back to you and say have you tried this, this, and this.

Speaker 1

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

Right, similar with the Ruby.

Speaker 1

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. 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

It was good. I liked it.

Speaker 1

The book's still better, sorry, but I enjoyed it. So anyway, Calvin, what are your picks?

Speaker 3

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

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

We go, it's more like having control of territories.

Speaker 4

Yeah, so it's to be fun like yeah, so the first time I saw it, it was just all white and.

Speaker 3

Black pebbles and it was just confusing.

Speaker 4

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

Yeah, then you just go are definitely fun.

Speaker 1

And the mechanics are reasonably simple, but the strategy.

Speaker 3

Is just.

Speaker 2

That.

Speaker 1

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

Right? How can I do that? I just love it.

Speaker 4

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 it's the one advantage we're not really leveraging a lot rightan dowgive was like a.

Speaker 3

Great gift of geoscript everywhere.

Speaker 4

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

Mm hmmm.

Speaker 4

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 Marco Polo was good.

Speaker 2

Yes, my wife I started watching. We have trouble getting into it.

Speaker 1

I'm just wondering if the first season is a little bit harder to get into it.

Speaker 4

It was good for me, like all true, like every season. Yeah, I guess it's preference.

Speaker 2

Yeah.

Speaker 1

Then the the series that we're watching on Netflix right now is The Night Agent.

Speaker 3

And oh, Yeah, didn't work for me. Yeah, yeah, that one did work for me.

Speaker 4

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

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 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 a twist or an angle on every episode, and.

Speaker 2

That made it fun to watch.

Speaker 1

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

But then there was always that thing.

Speaker 1

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

Yeah?

Speaker 4

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

To The Diplomat, if you said it, yeah, we've watched The Diplomat.

Speaker 3

I think it's good.

Speaker 2

Yeah, that one's been really good. How do I how do I put this one?

Speaker 1

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

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

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

And so, yeah, it was good.

Speaker 3

It's it was fun and like you always have these.

Speaker 4

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

Well, and and some of that too. Is so typically when.

Speaker 1

You see the spy thrillers and stuff like this, the motivations are usually more or less the same.

Speaker 2

And with her, she's not right.

Speaker 1

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

Right.

Speaker 1

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 like that that you know anyway, that that's the fun part of that.

Speaker 2

What are you saying?

Speaker 4

Have you seen all the all the episodes? I don't want to spoil it for you in anyway.

Speaker 1

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

I can't you all go say it's nice, it's a nice watch.

Speaker 2

Yeah, it gets it gets deeper and deeper.

Speaker 3

Into this mess anyway. Your husband he's crazy, Yeah, he.

Speaker 1

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

His decisions are completely different from her.

Speaker 1

And so yeah, so you're like, he does stuff and you're like that was really sneaky, and.

Speaker 2

Oh that hurt because you're rooting for her anyway.

Speaker 3

Yeah, it's good stuff.

Speaker 1

Yeah anyway, all right, Well, if people want to connect with you, where's the best place to do that?

Speaker 4

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

Actually, all right, good deal. We'll go ahead and wrap it up here. Thanks for coming.

Speaker 3

Thank you so much. I love that.

Speaker 1

Yeah, all right, folks, we're gonna wrap it up here until next time.

Speaker 2

Max out

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android