WEBVTT

1
00:00:05.440 --> 00:00:09.919
<v Speaker 1>Hey, welcome back to another episode of JavaScript Jabber. This week,

2
00:00:10.439 --> 00:00:13.119
<v Speaker 1>I'm your panel Charles Maxwood, and we've got a special

3
00:00:13.160 --> 00:00:14.080
<v Speaker 1>guest this week.

4
00:00:14.480 --> 00:00:18.800
<v Speaker 2>We have Kelvin. I don't even have it in front

5
00:00:18.800 --> 00:00:22.839
<v Speaker 2>of me anymore. Where to go? Oh, Marashione. I hope

6
00:00:22.839 --> 00:00:23.719
<v Speaker 2>I got close.

7
00:00:25.079 --> 00:00:25.760
<v Speaker 3>Close enough?

8
00:00:26.879 --> 00:00:29.320
<v Speaker 1>So do you want to introduce yourself? Let people know

9
00:00:29.359 --> 00:00:32.600
<v Speaker 1>who you are and why you're famous and all that

10
00:00:32.640 --> 00:00:33.560
<v Speaker 1>good stuff.

11
00:00:34.719 --> 00:00:37.280
<v Speaker 3>Famous? Not yet? Thank you, Chiles.

12
00:00:38.799 --> 00:00:41.520
<v Speaker 4>Hey everyone, my name is Calvin. I am a Fusta

13
00:00:41.679 --> 00:00:46.399
<v Speaker 4>Javascar developer. I'm also the lead maintainer for an NBC

14
00:00:46.520 --> 00:00:50.719
<v Speaker 4>framework for cat sales. I do a couple of teaching,

15
00:00:51.000 --> 00:00:54.560
<v Speaker 4>anus work, built the bone stack.

16
00:00:54.640 --> 00:00:55.840
<v Speaker 3>And some more that things.

17
00:00:55.880 --> 00:00:58.640
<v Speaker 4>So yeah, I love JavaScript. I like to beat everything

18
00:00:58.719 --> 00:01:00.640
<v Speaker 4>JavaScript because that's here.

19
00:01:02.079 --> 00:01:02.560
<v Speaker 2>Awesome.

20
00:01:02.719 --> 00:01:05.400
<v Speaker 1>We should have you back definitely to talk about sales.

21
00:01:06.719 --> 00:01:10.280
<v Speaker 1>But we brought you to talk about inertia jas two

22
00:01:10.400 --> 00:01:13.719
<v Speaker 1>or two point zero. So do you want to just

23
00:01:13.719 --> 00:01:15.719
<v Speaker 1>give us kind of a quick overview of what inertia

24
00:01:15.760 --> 00:01:18.359
<v Speaker 1>jas is for those that are familiar with it or

25
00:01:18.400 --> 00:01:19.040
<v Speaker 1>haven't used it.

26
00:01:20.640 --> 00:01:29.079
<v Speaker 3>Yeah, for sure. So it's at the basic level, it's.

27
00:01:29.120 --> 00:01:33.519
<v Speaker 4>A paradigm sort of like a concept of building food

28
00:01:33.560 --> 00:01:39.840
<v Speaker 4>stack applications, single page applications that don't necessarily need you

29
00:01:39.959 --> 00:01:45.040
<v Speaker 4>to do the separate APIs like back end, and then

30
00:01:45.200 --> 00:01:49.359
<v Speaker 4>your your UI can be in React views belt. So

31
00:01:49.400 --> 00:01:52.480
<v Speaker 4>it gives you this ability to have both your back

32
00:01:52.560 --> 00:01:54.959
<v Speaker 4>end and your front and in one code base and

33
00:01:55.280 --> 00:01:57.959
<v Speaker 4>just take out that layer of having to do vetch

34
00:01:58.079 --> 00:02:03.120
<v Speaker 4>core because your back end can return your UIs component

35
00:02:03.200 --> 00:02:05.200
<v Speaker 4>as pages and also saying that the props that they

36
00:02:05.239 --> 00:02:09.280
<v Speaker 4>need when it sends down the page. So it came

37
00:02:09.280 --> 00:02:13.400
<v Speaker 4>out from the Lava world. It's what love Cloud is

38
00:02:13.439 --> 00:02:16.680
<v Speaker 4>being built on now, which is the new rithing cloud things.

39
00:02:16.800 --> 00:02:19.560
<v Speaker 4>I don't know if you've done that. So a bunch

40
00:02:19.560 --> 00:02:23.719
<v Speaker 4>of people use it, Phantom analytics use it. I also

41
00:02:24.120 --> 00:02:27.080
<v Speaker 4>use it for salescast dot Com and hackfish. So it

42
00:02:27.400 --> 00:02:30.639
<v Speaker 4>just simplified. If you like MVC stuff and you want

43
00:02:30.680 --> 00:02:33.639
<v Speaker 4>to keep your SPA, but you don't want to maintain

44
00:02:33.719 --> 00:02:37.120
<v Speaker 4>two different projects and have like a back end separate

45
00:02:37.159 --> 00:02:39.800
<v Speaker 4>and a frontag separate, and so it's a nottnity to

46
00:02:39.879 --> 00:02:43.680
<v Speaker 4>things like next years. If you like traditional server sight

47
00:02:43.759 --> 00:02:45.560
<v Speaker 4>applications but you still want an SPA.

48
00:02:48.080 --> 00:02:48.520
<v Speaker 2>Gotcha.

49
00:02:49.319 --> 00:02:54.280
<v Speaker 1>So I'm curious because you know, I saw the information

50
00:02:54.319 --> 00:03:00.039
<v Speaker 1>about the Nursia JAS two dot zero. I'll admit I

51
00:03:00.120 --> 00:03:01.599
<v Speaker 1>kind of looked at it. I haven't done a whole

52
00:03:01.639 --> 00:03:06.280
<v Speaker 1>lot with it. What's new in too that? What and

53
00:03:06.520 --> 00:03:07.919
<v Speaker 1>why did we need it to that?

54
00:03:09.520 --> 00:03:12.199
<v Speaker 4>Yeah, it's a couple of things new. First of all,

55
00:03:12.400 --> 00:03:20.560
<v Speaker 4>the first version was kind of making synchronous style of

56
00:03:22.479 --> 00:03:27.840
<v Speaker 4>so if you make a like a page request and

57
00:03:27.879 --> 00:03:29.919
<v Speaker 4>you want to make another one, it's going to cancel

58
00:03:29.960 --> 00:03:30.599
<v Speaker 4>like the old one.

59
00:03:30.639 --> 00:03:33.199
<v Speaker 3>So it wasn't a synchronous at all.

60
00:03:33.280 --> 00:03:36.319
<v Speaker 4>It was really synchrolar, just like the way the pages

61
00:03:36.400 --> 00:03:39.719
<v Speaker 4>work in a browser, right, like anytime you make a

62
00:03:39.759 --> 00:03:43.599
<v Speaker 4>new request, GET is going to cancel out the old one.

63
00:03:44.039 --> 00:03:47.280
<v Speaker 4>So but with two point zero from the ground up

64
00:03:47.400 --> 00:03:50.800
<v Speaker 4>is built to be a synchronous which opened the door

65
00:03:50.840 --> 00:03:54.960
<v Speaker 4>to like more goodies to come into the tech, meaning

66
00:03:55.000 --> 00:03:58.479
<v Speaker 4>that we could do things like partial reload and make

67
00:03:58.520 --> 00:04:00.879
<v Speaker 4>that to be a synchronous. We could do things like

68
00:04:02.360 --> 00:04:07.159
<v Speaker 4>deferred props and a bunch of other things like prefetching

69
00:04:07.719 --> 00:04:12.400
<v Speaker 4>pulling for example. So two point zero the biggest changes

70
00:04:12.840 --> 00:04:16.319
<v Speaker 4>is a synple notes now, so that means all requests

71
00:04:16.600 --> 00:04:19.000
<v Speaker 4>a simple just like what you get in something like

72
00:04:19.120 --> 00:04:20.639
<v Speaker 4>next years or any other thing.

73
00:04:21.079 --> 00:04:26.279
<v Speaker 3>But now you have more things that you could use

74
00:04:26.319 --> 00:04:26.680
<v Speaker 3>it for.

75
00:04:26.800 --> 00:04:30.759
<v Speaker 4>Because so let's use my app for example that I'm

76
00:04:30.759 --> 00:04:34.959
<v Speaker 4>doing hackfish with, and an invoice app. It has an

77
00:04:35.079 --> 00:04:38.360
<v Speaker 4>editor that lets you edit your invoice like and give

78
00:04:38.399 --> 00:04:40.439
<v Speaker 4>you this notion like faiel to edit.

79
00:04:40.879 --> 00:04:43.279
<v Speaker 3>Right. So in one point, soo inertia.

80
00:04:43.319 --> 00:04:45.160
<v Speaker 4>If I make a change and I want to partially

81
00:04:45.519 --> 00:04:50.319
<v Speaker 4>submit those like saving drafts, right, it's going to make

82
00:04:50.720 --> 00:04:53.759
<v Speaker 4>a request like a Synchlen request.

83
00:04:53.800 --> 00:04:56.000
<v Speaker 3>So if I make a new change to cancel out

84
00:04:56.000 --> 00:04:58.560
<v Speaker 3>the old change, I was supposed to go to.

85
00:04:58.480 --> 00:05:01.680
<v Speaker 4>The server and make that update. But with two part

86
00:05:01.879 --> 00:05:04.680
<v Speaker 4>now everything's going to be a sync, so it could

87
00:05:04.720 --> 00:05:08.360
<v Speaker 4>do that. Partial updates is synchronously.

88
00:05:10.040 --> 00:05:12.800
<v Speaker 1>So when you're saying a partial update, you're talking about

89
00:05:12.800 --> 00:05:14.959
<v Speaker 1>where you only update part of the page.

90
00:05:17.000 --> 00:05:19.480
<v Speaker 3>Yes, so yes, exactly.

91
00:05:19.600 --> 00:05:22.759
<v Speaker 4>So when you like, so if you have let's say

92
00:05:22.759 --> 00:05:26.079
<v Speaker 4>you have on a page, you have users, and then

93
00:05:26.160 --> 00:05:30.160
<v Speaker 4>you have let's say companies, let's just use that. Right,

94
00:05:30.360 --> 00:05:32.839
<v Speaker 4>So if I want to update or like want to

95
00:05:32.920 --> 00:05:36.519
<v Speaker 4>change the UI or filtered by users, but I don't

96
00:05:36.560 --> 00:05:41.000
<v Speaker 4>need to touch the companies, right, I could say, when

97
00:05:41.040 --> 00:05:44.680
<v Speaker 4>I make this updates, I want you to send back

98
00:05:44.800 --> 00:05:47.240
<v Speaker 4>only the user. I don't send back the users and

99
00:05:47.279 --> 00:05:53.120
<v Speaker 4>the companies. So that is partial updates right in inertia.

100
00:05:53.199 --> 00:05:55.839
<v Speaker 4>So before it was all going to be synchronous. So

101
00:05:55.920 --> 00:06:01.040
<v Speaker 4>anything that if you make, if you tie a new thing,

102
00:06:01.560 --> 00:06:06.600
<v Speaker 4>and I was already finding an older synchronous request, it's

103
00:06:06.600 --> 00:06:08.199
<v Speaker 4>going to concern out the old one to send a

104
00:06:08.279 --> 00:06:10.279
<v Speaker 4>new one. But now it's all these things, so they

105
00:06:10.319 --> 00:06:13.519
<v Speaker 4>could all have multiple requests. It's a big deal because

106
00:06:13.560 --> 00:06:16.800
<v Speaker 4>it changes how it works, and I could talk about

107
00:06:16.879 --> 00:06:21.399
<v Speaker 4>things like the like the defect props and every other

108
00:06:21.439 --> 00:06:24.000
<v Speaker 4>thing that this new system brings to.

109
00:06:24.079 --> 00:06:27.439
<v Speaker 1>Two po right, I'm just trying to get my head

110
00:06:27.480 --> 00:06:31.680
<v Speaker 1>around when you so when you're saying partial updates, you're

111
00:06:31.720 --> 00:06:32.560
<v Speaker 1>talking about data.

112
00:06:32.600 --> 00:06:33.839
<v Speaker 2>You're not talking about UI.

113
00:06:33.879 --> 00:06:37.720
<v Speaker 4>Then, yeah, so the because the page will come with

114
00:06:37.920 --> 00:06:42.040
<v Speaker 4>the data. So if you partially update the data, of

115
00:06:42.079 --> 00:06:44.519
<v Speaker 4>course it's going to like change what page you're going

116
00:06:44.600 --> 00:06:47.839
<v Speaker 4>to see, right or the you yeah, like what is

117
00:06:47.879 --> 00:06:48.519
<v Speaker 4>on the UI?

118
00:06:48.680 --> 00:06:51.160
<v Speaker 3>Yeah, because every page comes with the data as prop.

119
00:06:52.560 --> 00:06:55.439
<v Speaker 1>Okay, I guess the other question I have then is

120
00:06:56.680 --> 00:06:58.639
<v Speaker 1>let's say that you and I are both looking at

121
00:06:58.680 --> 00:07:02.959
<v Speaker 1>the same data on machines. That does it then give

122
00:07:02.959 --> 00:07:06.439
<v Speaker 1>you a way to push those updates like from my

123
00:07:06.639 --> 00:07:08.680
<v Speaker 1>machine to your machine or.

124
00:07:09.560 --> 00:07:12.519
<v Speaker 3>No, that's more real time. I don't think so.

125
00:07:12.920 --> 00:07:15.680
<v Speaker 4>It's mostly because you're just going to be for just

126
00:07:15.759 --> 00:07:17.759
<v Speaker 4>my copy of it, all.

127
00:07:17.439 --> 00:07:21.399
<v Speaker 1>Right, okay, yeah, but but it does do call to

128
00:07:21.439 --> 00:07:23.439
<v Speaker 1>the back end and tells the back end, Hey, there's

129
00:07:23.519 --> 00:07:24.279
<v Speaker 1>new data here.

130
00:07:25.839 --> 00:07:29.240
<v Speaker 3>Yeah. So that's when you make like a classic like.

131
00:07:31.480 --> 00:07:33.720
<v Speaker 4>Create an update, it's going to change and of course

132
00:07:33.759 --> 00:07:36.160
<v Speaker 4>if you're looking at the page that was changed, the

133
00:07:36.199 --> 00:07:38.639
<v Speaker 4>next time you visit the page, of course you're going

134
00:07:38.639 --> 00:07:40.800
<v Speaker 4>to see the new data, even if you're not like

135
00:07:40.959 --> 00:07:42.040
<v Speaker 4>so it's just classic.

136
00:07:43.079 --> 00:07:48.839
<v Speaker 2>Yeah, I gotcha. So does this change the way you

137
00:07:48.879 --> 00:07:50.120
<v Speaker 2>build things with inertia?

138
00:07:51.959 --> 00:07:53.439
<v Speaker 3>Oh yes, it does. It doesn't.

139
00:07:53.600 --> 00:07:56.560
<v Speaker 4>It just gives you more good is because the way

140
00:07:57.240 --> 00:08:01.160
<v Speaker 4>INITIAL work, it's adapted based for both the back end

141
00:08:01.639 --> 00:08:04.800
<v Speaker 4>and the front end. So they are they are adapters

142
00:08:04.839 --> 00:08:10.079
<v Speaker 4>for Love for Whales, Phoenix. I also built the one

143
00:08:10.120 --> 00:08:13.480
<v Speaker 4>for sales, which is what the boys that uses. So

144
00:08:14.639 --> 00:08:19.079
<v Speaker 4>these changes need you and the for your So so

145
00:08:19.120 --> 00:08:21.279
<v Speaker 4>now you have to conform to the new things that

146
00:08:21.439 --> 00:08:24.160
<v Speaker 4>is in the core of Initial. So you add some

147
00:08:24.199 --> 00:08:29.160
<v Speaker 4>new method there like change house, some setting back end work.

148
00:08:29.519 --> 00:08:31.879
<v Speaker 3>But for the.

149
00:08:31.000 --> 00:08:36.759
<v Speaker 4>View and the other fronted them from a adapters, you

150
00:08:36.759 --> 00:08:39.120
<v Speaker 4>don't have to touch anything, so it's just me I

151
00:08:39.360 --> 00:08:43.000
<v Speaker 4>myself as a as a maintainer, they have to change

152
00:08:43.000 --> 00:08:43.679
<v Speaker 4>all that stuff.

153
00:08:43.799 --> 00:08:46.759
<v Speaker 3>But with the two point zero you could do things.

154
00:08:46.840 --> 00:08:51.360
<v Speaker 4>So so now that it's all a synchronous you could

155
00:08:51.360 --> 00:08:55.039
<v Speaker 4>do things like if you finish scrolling really easily. In fact,

156
00:08:55.559 --> 00:08:59.039
<v Speaker 4>they are components that are baked into two point two

157
00:08:59.120 --> 00:09:02.799
<v Speaker 4>that lets you do so, like the when visible component.

158
00:09:03.240 --> 00:09:06.120
<v Speaker 4>So if you're scrolling, I want to load new data,

159
00:09:06.240 --> 00:09:08.559
<v Speaker 4>so it's just gonna make sure that you don't just

160
00:09:08.639 --> 00:09:13.240
<v Speaker 4>load every data wants the page mount for example, so

161
00:09:13.240 --> 00:09:15.399
<v Speaker 4>you could do things like one scrolling joins the classic

162
00:09:16.960 --> 00:09:23.519
<v Speaker 4>infinite scrowthing, and because it comes in the core of inertia,

163
00:09:23.519 --> 00:09:25.519
<v Speaker 4>it's pretty easy to do that. So you could do

164
00:09:25.559 --> 00:09:28.879
<v Speaker 4>things like that and deferred prop. So let's say you

165
00:09:28.960 --> 00:09:34.559
<v Speaker 4>have like an admin dashboard and you show the starts

166
00:09:34.600 --> 00:09:35.159
<v Speaker 4>at the top.

167
00:09:35.799 --> 00:09:36.200
<v Speaker 2>Mm hmm.

168
00:09:36.559 --> 00:09:38.480
<v Speaker 4>So instead of you showing the starts at the top

169
00:09:38.480 --> 00:09:42.480
<v Speaker 4>and also fetched the maybe recent users that will only

170
00:09:42.480 --> 00:09:46.600
<v Speaker 4>be seeing when user scroll, you could defer like those

171
00:09:46.639 --> 00:09:49.519
<v Speaker 4>props like okay, send all of the stats and then

172
00:09:50.720 --> 00:09:52.559
<v Speaker 4>incrementally send down everything else.

173
00:09:54.039 --> 00:09:58.200
<v Speaker 1>So this would be used, like you said, for like

174
00:09:58.480 --> 00:10:02.639
<v Speaker 1>an admin dashboard or or something else where it's it's

175
00:10:02.879 --> 00:10:05.320
<v Speaker 1>essentially you don't want it to do all of the

176
00:10:05.440 --> 00:10:09.399
<v Speaker 1>work and take forever to load the page, and so

177
00:10:09.519 --> 00:10:11.840
<v Speaker 1>you can you can say, hey, look, I've got this

178
00:10:11.960 --> 00:10:15.240
<v Speaker 1>page with this structure, and then the deferred props are

179
00:10:15.320 --> 00:10:17.399
<v Speaker 1>essentially the data, so it can go back and i

180
00:10:17.399 --> 00:10:20.639
<v Speaker 1>can say, okay, the page is loaded, and now I'm

181
00:10:20.679 --> 00:10:24.159
<v Speaker 1>ready to populate this section of the page. So I've

182
00:10:24.200 --> 00:10:28.759
<v Speaker 1>deferred getting those props and filling in the blanks essentially.

183
00:10:28.960 --> 00:10:31.480
<v Speaker 3>Exactly exactly, so it's now more.

184
00:10:31.960 --> 00:10:35.039
<v Speaker 4>I think these features really make it like a good

185
00:10:35.559 --> 00:10:38.559
<v Speaker 4>contender for things like next years for example, right like,

186
00:10:38.600 --> 00:10:41.080
<v Speaker 4>because I've seen folks like in one Point Tho, I've

187
00:10:41.120 --> 00:10:44.919
<v Speaker 4>seen folks preferred the boy stack because of how stimpoint

188
00:10:45.080 --> 00:10:47.919
<v Speaker 4>is and how because the cool thing about this old

189
00:10:47.919 --> 00:10:50.440
<v Speaker 4>thing that it brings for you that you get the

190
00:10:50.480 --> 00:10:55.039
<v Speaker 4>old truce of an MBC framework to handle your back end,

191
00:10:55.120 --> 00:10:59.440
<v Speaker 4>your authorization and your ROM. And then then the bridge

192
00:10:59.440 --> 00:11:03.360
<v Speaker 4>which is initia, so we just got a better bridge.

193
00:11:03.559 --> 00:11:07.720
<v Speaker 4>The back end that keep getting better, the front that

194
00:11:07.799 --> 00:11:09.559
<v Speaker 4>keep getting better than the bridge now gives you this

195
00:11:09.840 --> 00:11:16.120
<v Speaker 4>amazing experience in DX prefetching, deferred props and infinite screwl

196
00:11:16.320 --> 00:11:18.799
<v Speaker 4>pulling as well. Like it's easy to like pull for

197
00:11:18.919 --> 00:11:20.360
<v Speaker 4>new data if you want to. So if you don't

198
00:11:20.360 --> 00:11:22.840
<v Speaker 4>want to do website get stuff and you want to pull,

199
00:11:23.159 --> 00:11:27.279
<v Speaker 4>like it's it is possible. It's come big teams, so

200
00:11:27.279 --> 00:11:33.279
<v Speaker 4>you could do things like trouttling or don't pull when that.

201
00:11:31.840 --> 00:11:36.000
<v Speaker 3>That type is is inactive and all that stuff.

202
00:11:36.000 --> 00:11:40.159
<v Speaker 4>It comes backed into the frame of the the.

203
00:11:39.440 --> 00:11:41.320
<v Speaker 3>Tech right now. So it's really really good.

204
00:11:41.360 --> 00:11:45.720
<v Speaker 4>It's just going to make it easier to build really

205
00:11:45.840 --> 00:11:49.200
<v Speaker 4>nice experiences with the tech.

206
00:11:50.200 --> 00:11:50.919
<v Speaker 2>That makes sense.

207
00:11:51.080 --> 00:11:55.360
<v Speaker 1>Is it sending the data back as fully formed HTML

208
00:11:55.480 --> 00:11:58.519
<v Speaker 1>or is it just Jason and you're relying on whatever

209
00:11:58.519 --> 00:12:01.159
<v Speaker 1>you're doing on the front end to populate the data

210
00:12:01.279 --> 00:12:02.039
<v Speaker 1>or how does that work?

211
00:12:03.440 --> 00:12:09.399
<v Speaker 4>Yeah, so it's it's leverage the fact that you could

212
00:12:09.559 --> 00:12:15.840
<v Speaker 4>swap out components in real time for every.

213
00:12:17.639 --> 00:12:19.960
<v Speaker 3>Like view, veiled and the rest.

214
00:12:20.039 --> 00:12:23.360
<v Speaker 4>Right, So what happens is that today's like you have

215
00:12:23.440 --> 00:12:26.480
<v Speaker 4>like an app door jas that you would do a

216
00:12:27.240 --> 00:12:32.600
<v Speaker 4>like a create initial app for views vert or react

217
00:12:32.720 --> 00:12:36.600
<v Speaker 4>and then you'll be like, okay, look for the pages

218
00:12:36.919 --> 00:12:42.639
<v Speaker 4>and maybe jazz slash pages right, So you give it

219
00:12:42.639 --> 00:12:44.080
<v Speaker 4>the page name and you would know that.

220
00:12:44.159 --> 00:12:47.399
<v Speaker 3>Okay. So once the back end.

221
00:12:47.440 --> 00:12:51.240
<v Speaker 4>Say look for a page that there is user for example,

222
00:12:51.799 --> 00:12:56.240
<v Speaker 4>it's to use that to find the user the jas

223
00:12:56.440 --> 00:13:01.200
<v Speaker 4>and then swap the page okay, and also send the

224
00:13:01.240 --> 00:13:07.879
<v Speaker 4>props into datum page page. So it has a DSL

225
00:13:08.039 --> 00:13:12.000
<v Speaker 4>that would be like the name of the page, the props,

226
00:13:12.240 --> 00:13:14.559
<v Speaker 4>the you are well, and every other.

227
00:13:15.879 --> 00:13:16.840
<v Speaker 3>Data that you would need.

228
00:13:17.120 --> 00:13:22.120
<v Speaker 4>So it's swap it as you click, it's gonna intercept

229
00:13:22.360 --> 00:13:27.120
<v Speaker 4>does click, then it will make an SHL to get

230
00:13:27.120 --> 00:13:27.480
<v Speaker 4>the page.

231
00:13:27.600 --> 00:13:30.840
<v Speaker 3>So you say all spo like right.

232
00:13:31.159 --> 00:13:35.440
<v Speaker 1>So most of the work I do is server rendered,

233
00:13:35.679 --> 00:13:38.879
<v Speaker 1>and so I'm I'm pretty accustomed to making the call

234
00:13:38.960 --> 00:13:41.200
<v Speaker 1>to the back end and getting HTML back and saying

235
00:13:41.320 --> 00:13:44.320
<v Speaker 1>drop this in where I tell you to. But what

236
00:13:44.360 --> 00:13:47.559
<v Speaker 1>you're saying is, since you're using a front end library

237
00:13:47.679 --> 00:13:52.159
<v Speaker 1>like React or view or celt or something, it already knows, hey,

238
00:13:52.200 --> 00:13:55.519
<v Speaker 1>I've got a component, and this component has these behaviors

239
00:13:55.559 --> 00:13:59.120
<v Speaker 1>and this data behind it. And so effectively what you

240
00:13:59.159 --> 00:14:03.039
<v Speaker 1>do is when you click, it says okay, take this component.

241
00:14:03.080 --> 00:14:05.639
<v Speaker 1>You're gonna put it here, or maybe it's a collection

242
00:14:05.679 --> 00:14:07.879
<v Speaker 1>of components or something like that, and you're going to

243
00:14:07.960 --> 00:14:10.159
<v Speaker 1>go get the data, and the data is the props,

244
00:14:10.480 --> 00:14:12.799
<v Speaker 1>and you're going to load those and you're gonna you're

245
00:14:12.840 --> 00:14:17.159
<v Speaker 1>basically going to hydrate your your components with the data

246
00:14:17.559 --> 00:14:20.240
<v Speaker 1>so that then it knows, Okay, now I've got fully

247
00:14:20.320 --> 00:14:23.639
<v Speaker 1>formed functional things that I can put onto my page.

248
00:14:24.799 --> 00:14:27.600
<v Speaker 3>Yeah, exactly, so do the cool thing.

249
00:14:27.679 --> 00:14:32.639
<v Speaker 4>It's so if you're doing something like a classic SPA,

250
00:14:32.799 --> 00:14:38.600
<v Speaker 4>like when you want to see let's see cost this

251
00:14:38.679 --> 00:14:41.559
<v Speaker 4>for example, right, if you visit the page, the pitche

252
00:14:41.600 --> 00:14:44.919
<v Speaker 4>would load, right, but now you have to make another

253
00:14:45.120 --> 00:14:48.120
<v Speaker 4>call with the spiner right to see like to get

254
00:14:48.159 --> 00:14:51.080
<v Speaker 4>to the data. But in this way, everything is sevi

255
00:14:51.080 --> 00:14:56.480
<v Speaker 4>aside centric, so the page will always.

256
00:14:55.559 --> 00:14:56.559
<v Speaker 3>Load with the data.

257
00:14:56.600 --> 00:14:59.279
<v Speaker 4>So there's no need for like a spinner so it

258
00:14:59.360 --> 00:15:03.279
<v Speaker 4>costs with the Yeah, but it's an SPA, so there's

259
00:15:03.279 --> 00:15:04.759
<v Speaker 4>no need for the spin out. There's no need to

260
00:15:04.799 --> 00:15:10.360
<v Speaker 4>have states in like what redogs or all those other stuff,

261
00:15:10.399 --> 00:15:13.360
<v Speaker 4>because your state is in the database, so everything always

262
00:15:13.360 --> 00:15:15.000
<v Speaker 4>come I know like that.

263
00:15:15.360 --> 00:15:18.480
<v Speaker 2>Yeah, that's cool.

264
00:15:18.840 --> 00:15:22.360
<v Speaker 1>So let's say because I can kind of see two

265
00:15:22.399 --> 00:15:26.519
<v Speaker 1>scenarios here. So one scenario is, hey, I've got my

266
00:15:26.679 --> 00:15:29.480
<v Speaker 1>React app or my next JS app or you know

267
00:15:29.639 --> 00:15:34.200
<v Speaker 1>view or whatever. Right, and I've been using inertia JS

268
00:15:34.720 --> 00:15:36.000
<v Speaker 1>one dot zero for a while.

269
00:15:36.600 --> 00:15:39.000
<v Speaker 2>This sounds great, let's upgrade it. What do I have

270
00:15:39.039 --> 00:15:39.759
<v Speaker 2>to do upgrade it?

271
00:15:42.080 --> 00:15:44.360
<v Speaker 4>So it depends on what you're using already, So if

272
00:15:44.399 --> 00:15:47.960
<v Speaker 4>you use it, so IF for the most part, is

273
00:15:48.120 --> 00:15:51.200
<v Speaker 4>very popular in the Lava ecosystem. So all you have

274
00:15:51.240 --> 00:15:55.279
<v Speaker 4>to do is update both the back end adapter, which

275
00:15:55.320 --> 00:15:58.960
<v Speaker 4>we go be inertial level, and then the front end

276
00:15:58.960 --> 00:16:00.759
<v Speaker 4>re I is View or React.

277
00:16:01.600 --> 00:16:03.559
<v Speaker 3>I think that's all you need to do.

278
00:16:03.600 --> 00:16:05.840
<v Speaker 4>It doesn't have a lot of breaking changes for like

279
00:16:06.200 --> 00:16:09.360
<v Speaker 4>a major like this doesn't have a lot I said,

280
00:16:09.399 --> 00:16:11.639
<v Speaker 4>you're using a couple of things that you do so

281
00:16:11.720 --> 00:16:14.120
<v Speaker 4>but as soon as you do those change, your app

282
00:16:14.200 --> 00:16:17.799
<v Speaker 4>is a sync now. So everything is a sync by Deffault,

283
00:16:17.919 --> 00:16:21.519
<v Speaker 4>so it will just work. But you could now tap

284
00:16:21.600 --> 00:16:25.120
<v Speaker 4>into using things like the prefetching, which is really cool.

285
00:16:26.480 --> 00:16:29.639
<v Speaker 3>So this one, like I think next year is already

286
00:16:29.639 --> 00:16:29.759
<v Speaker 3>have it.

287
00:16:29.799 --> 00:16:31.879
<v Speaker 4>And I think like like if you've a building on

288
00:16:31.919 --> 00:16:34.399
<v Speaker 4>the web for like a while, you know how to

289
00:16:34.720 --> 00:16:36.919
<v Speaker 4>prefetch the but does not come with the stuff, So

290
00:16:36.960 --> 00:16:39.279
<v Speaker 4>you could be like, okay, if you over on something,

291
00:16:39.480 --> 00:16:44.879
<v Speaker 4>prefetch that page or if it mounts load these other

292
00:16:45.039 --> 00:16:47.879
<v Speaker 4>pages of domestically that I think that you're going to visit.

293
00:16:48.279 --> 00:16:49.080
<v Speaker 3>So it now comes.

294
00:16:49.200 --> 00:16:51.200
<v Speaker 4>So it's more giving you more add ons, so you

295
00:16:51.200 --> 00:16:53.519
<v Speaker 4>don't really have to change much of your apps. So

296
00:16:53.559 --> 00:16:55.000
<v Speaker 4>for me, I have to do a lot because I

297
00:16:55.039 --> 00:16:58.840
<v Speaker 4>have to. I'm not updated my own adapter yet. But

298
00:16:58.919 --> 00:16:59.480
<v Speaker 4>after that.

299
00:16:59.480 --> 00:17:03.799
<v Speaker 3>Updates, users just have it for free because it would

300
00:17:03.799 --> 00:17:04.160
<v Speaker 3>just walk.

301
00:17:04.200 --> 00:17:06.519
<v Speaker 4>They just have to use the new things the way

302
00:17:06.519 --> 00:17:10.160
<v Speaker 4>in visible components pulling if you have to pull for data.

303
00:17:10.279 --> 00:17:11.119
<v Speaker 3>I know this stuff.

304
00:17:11.680 --> 00:17:13.319
<v Speaker 2>Yeah, right, So.

305
00:17:14.799 --> 00:17:17.599
<v Speaker 1>What you're saying is is if I update Inertia on

306
00:17:17.680 --> 00:17:19.480
<v Speaker 1>the front end, right, they just say, okay, now I'm

307
00:17:19.519 --> 00:17:22.759
<v Speaker 1>using Inertia too. That's that's all I have to do

308
00:17:22.799 --> 00:17:24.480
<v Speaker 1>on the front end, and on the back end I

309
00:17:24.599 --> 00:17:28.079
<v Speaker 1>update my adapter and then everything that I was doing

310
00:17:28.119 --> 00:17:31.599
<v Speaker 1>with Inertia still works, right, some of it might be.

311
00:17:32.920 --> 00:17:33.920
<v Speaker 2>Or things like that.

312
00:17:34.279 --> 00:17:36.799
<v Speaker 1>It just opens the door so I can use some

313
00:17:36.799 --> 00:17:38.079
<v Speaker 1>of these other features.

314
00:17:38.799 --> 00:17:45.200
<v Speaker 4>Yeah, and it's like the best like major update ever

315
00:17:45.359 --> 00:17:47.839
<v Speaker 4>with no breaking changes at all except like just a

316
00:17:47.839 --> 00:17:48.279
<v Speaker 4>few things.

317
00:17:48.359 --> 00:17:50.759
<v Speaker 3>And they're like this is like this is the dream.

318
00:17:50.839 --> 00:17:52.720
<v Speaker 3>It's just so easy to update.

319
00:17:53.000 --> 00:17:57.799
<v Speaker 1>Right, Yeah, I mean I've worked on some systems and yeah,

320
00:17:57.880 --> 00:18:02.079
<v Speaker 1>you get that major verse version update and it's like, okay,

321
00:18:02.359 --> 00:18:05.519
<v Speaker 1>it was all this stuff that depends on all of

322
00:18:05.519 --> 00:18:09.839
<v Speaker 1>these features out of version last version, right, and so

323
00:18:10.680 --> 00:18:12.880
<v Speaker 1>now when I do the upgrade, I either have to

324
00:18:13.039 --> 00:18:17.000
<v Speaker 1>find some way of like running both versions or you know,

325
00:18:17.079 --> 00:18:18.319
<v Speaker 1>jumping through a bunch of goops.

326
00:18:18.319 --> 00:18:21.200
<v Speaker 2>And so this is this is pretty refreshing, right.

327
00:18:21.559 --> 00:18:23.599
<v Speaker 4>Yes, it is like it's a it's a joy. It's

328
00:18:23.640 --> 00:18:27.440
<v Speaker 4>a joy like everything this just work, and you just

329
00:18:27.480 --> 00:18:30.200
<v Speaker 4>have to know that you're not usaying like.

330
00:18:30.160 --> 00:18:30.559
<v Speaker 3>You would have.

331
00:18:30.640 --> 00:18:33.839
<v Speaker 4>You probably would notice the change as much because it's

332
00:18:33.960 --> 00:18:38.039
<v Speaker 4>just you just work and just think. So it's more

333
00:18:38.079 --> 00:18:42.279
<v Speaker 4>like it's more like an architectural change down actual like

334
00:18:42.359 --> 00:18:43.799
<v Speaker 4>things you would take notice off.

335
00:18:45.240 --> 00:18:49.079
<v Speaker 1>Right, So I want to kind of back into some

336
00:18:49.160 --> 00:18:50.079
<v Speaker 1>of these other features.

337
00:18:50.200 --> 00:18:51.799
<v Speaker 2>You know, we've talked a bit about async.

338
00:18:54.039 --> 00:18:57.359
<v Speaker 1>Is there any concern about because because you can have

339
00:18:57.440 --> 00:19:00.640
<v Speaker 1>multiple requests and now, is there any learned about those

340
00:19:00.720 --> 00:19:03.200
<v Speaker 1>coming in in the wrong order or anything like that

341
00:19:03.240 --> 00:19:05.119
<v Speaker 1>where maybe you get a race condition or something like

342
00:19:05.119 --> 00:19:08.440
<v Speaker 1>that where you can get unexpected results, or does the

343
00:19:08.480 --> 00:19:09.680
<v Speaker 1>nur shol handle all that for you.

344
00:19:11.160 --> 00:19:14.640
<v Speaker 4>Yeah, I think so, Like it's why you have to

345
00:19:14.720 --> 00:19:16.279
<v Speaker 4>update the adapters.

346
00:19:17.880 --> 00:19:20.920
<v Speaker 3>Already, like take it.

347
00:19:21.640 --> 00:19:24.319
<v Speaker 4>So it's more like you most likely would't have to

348
00:19:24.400 --> 00:19:27.240
<v Speaker 4>run into any of those issues. But the adapters have

349
00:19:28.119 --> 00:19:32.480
<v Speaker 4>have also made sure that all the race conditions, which

350
00:19:32.480 --> 00:19:35.759
<v Speaker 4>I don't think it's even possible because things it's all

351
00:19:35.799 --> 00:19:37.720
<v Speaker 4>a sync, right, so if I'm loading this part of

352
00:19:37.759 --> 00:19:39.960
<v Speaker 4>the page and the parties, so it doesn't really matter,

353
00:19:40.039 --> 00:19:43.640
<v Speaker 4>but I'm pretty sure it's all taking care of. That's

354
00:19:43.640 --> 00:19:47.200
<v Speaker 4>how we have to update those adapters. Okay, so what

355
00:19:47.319 --> 00:19:51.160
<v Speaker 4>with the cod versions.

356
00:19:50.640 --> 00:19:55.400
<v Speaker 1>And then you mentioned the pulling, So do I just

357
00:19:55.480 --> 00:20:00.680
<v Speaker 1>tell it how frequently the check or how how long

358
00:20:00.759 --> 00:20:01.880
<v Speaker 1>I wanted to pull for.

359
00:20:02.279 --> 00:20:11.400
<v Speaker 4>Or yeah, so it comes with the front end comes

360
00:20:11.400 --> 00:20:17.920
<v Speaker 4>with them. So for view we have the composable. For React,

361
00:20:18.000 --> 00:20:21.200
<v Speaker 4>there's also the hook, the useful hook, so you could

362
00:20:21.240 --> 00:20:23.839
<v Speaker 4>just drop it in there and be like useful then

363
00:20:23.920 --> 00:20:27.799
<v Speaker 4>pull every twenty second, and you could put like some

364
00:20:27.880 --> 00:20:30.799
<v Speaker 4>callbacks like on start unfinished, like to just you know,

365
00:20:31.000 --> 00:20:32.880
<v Speaker 4>and you could also stop it if you want to,

366
00:20:33.319 --> 00:20:36.160
<v Speaker 4>so like it's not like forever, and you could you

367
00:20:36.200 --> 00:20:40.559
<v Speaker 4>could throttle it, you know, like so that yeah, so

368
00:20:40.599 --> 00:20:43.559
<v Speaker 4>that you don't just so if I'm not on the page.

369
00:20:43.279 --> 00:20:45.359
<v Speaker 3>It's no need for you to finish data, right, So

370
00:20:45.400 --> 00:20:47.680
<v Speaker 3>you could also trottle it for that. Yeah.

371
00:20:47.720 --> 00:20:50.880
<v Speaker 2>Right, So.

372
00:20:52.559 --> 00:20:55.119
<v Speaker 1>And then you mentioned I'm looking at this article. I

373
00:20:55.119 --> 00:20:59.039
<v Speaker 1>I guess I could post it to the comments, but

374
00:20:59.319 --> 00:21:01.519
<v Speaker 1>they mentioned and the when visible and that was where

375
00:21:01.559 --> 00:21:03.799
<v Speaker 1>you were talking about things like infinite scrolling.

376
00:21:03.920 --> 00:21:06.839
<v Speaker 2>Yeah, so this comes on, Now do the work.

377
00:21:07.119 --> 00:21:10.000
<v Speaker 1>But I could also see this as kind of a

378
00:21:10.039 --> 00:21:13.759
<v Speaker 1>performance hack where you know, I have a dashboard, but

379
00:21:14.000 --> 00:21:17.319
<v Speaker 1>some of the graphs or something are below the fold,

380
00:21:17.880 --> 00:21:20.519
<v Speaker 1>and so it's like, Okay, you scrolled up far enough

381
00:21:20.559 --> 00:21:22.960
<v Speaker 1>to where you might want to see this, and so

382
00:21:23.119 --> 00:21:25.440
<v Speaker 1>now I'm gonna load that in. But before I didn't

383
00:21:25.480 --> 00:21:27.039
<v Speaker 1>do that work because I.

384
00:21:26.960 --> 00:21:28.200
<v Speaker 2>Didn't even know if you're gonna look.

385
00:21:28.079 --> 00:21:30.000
<v Speaker 3>At it exactly.

386
00:21:30.240 --> 00:21:34.119
<v Speaker 4>So yeah, it's more good for you actually, and you know,

387
00:21:34.279 --> 00:21:39.039
<v Speaker 4>like all your it's just gonna be good for web vitals.

388
00:21:39.119 --> 00:21:41.839
<v Speaker 4>They're gonna love you for it, and of course you'll

389
00:21:42.559 --> 00:21:45.400
<v Speaker 4>your users are gonna love it too, because not every

390
00:21:45.440 --> 00:21:50.039
<v Speaker 4>part of the page it gets seen or have equal attention.

391
00:21:50.640 --> 00:21:53.160
<v Speaker 4>So you could just be like when visible, do stuff.

392
00:21:53.480 --> 00:21:56.279
<v Speaker 4>If not visible, then that work's never done. And that

393
00:21:56.359 --> 00:21:59.279
<v Speaker 4>page was loaded and us gets what it wanted to

394
00:21:59.279 --> 00:22:00.119
<v Speaker 4>do done really quick.

395
00:22:01.240 --> 00:22:06.759
<v Speaker 1>Right, Yeah, yeah, I think I think you covered everything

396
00:22:06.759 --> 00:22:11.160
<v Speaker 1>that I was able to find on this. So I

397
00:22:11.200 --> 00:22:14.880
<v Speaker 1>guess the next questions are, you know, kind of more

398
00:22:14.920 --> 00:22:19.000
<v Speaker 1>in general with just building web applications and best practices.

399
00:22:19.480 --> 00:22:21.920
<v Speaker 1>So one of the things that I like to do

400
00:22:22.039 --> 00:22:23.920
<v Speaker 1>with a lot of my applications is make sure that

401
00:22:23.960 --> 00:22:28.160
<v Speaker 1>it's fully tested. And so how do I go about

402
00:22:28.200 --> 00:22:31.759
<v Speaker 1>making sure that I have good tests on these kinds

403
00:22:31.759 --> 00:22:32.519
<v Speaker 1>of requests?

404
00:22:34.279 --> 00:22:35.960
<v Speaker 3>Yeah, for sure. So the.

405
00:22:37.519 --> 00:22:41.160
<v Speaker 4>So the cool thing about intia is it's based on

406
00:22:42.039 --> 00:22:46.880
<v Speaker 4>really stable texts. So for every of these platforms for

407
00:22:46.440 --> 00:22:49.279
<v Speaker 4>l for reals, they weighs you test your app so

408
00:22:49.480 --> 00:22:52.160
<v Speaker 4>the same test up right here. So yeah, so you

409
00:22:52.160 --> 00:22:57.160
<v Speaker 4>could test okay, is the pitch sending back the data

410
00:22:57.240 --> 00:22:59.960
<v Speaker 4>you need and every other thing. It just like makes

411
00:23:00.079 --> 00:23:04.599
<v Speaker 4>in a classic endpoint tests right like to see if

412
00:23:04.640 --> 00:23:07.200
<v Speaker 4>you're getting the Jason but because it sends down Jason down.

413
00:23:07.079 --> 00:23:08.559
<v Speaker 3>The wire, so you could do that. And also you

414
00:23:08.559 --> 00:23:09.160
<v Speaker 3>could test.

415
00:23:09.039 --> 00:23:12.200
<v Speaker 4>Your components the same way you could test with anything

416
00:23:12.279 --> 00:23:15.200
<v Speaker 4>like jests or whatever I use for tests.

417
00:23:15.200 --> 00:23:16.640
<v Speaker 3>And now you could also do it to eat test.

418
00:23:16.759 --> 00:23:18.680
<v Speaker 4>I like it to eat test and these days they

419
00:23:18.680 --> 00:23:22.039
<v Speaker 4>are faster, so you could test like the entire flow

420
00:23:22.480 --> 00:23:26.599
<v Speaker 4>of everything from like the click from everything. So it's

421
00:23:26.960 --> 00:23:29.279
<v Speaker 4>it doesn't change much from how you beat software. It

422
00:23:29.400 --> 00:23:31.599
<v Speaker 4>just makes it a little bit more simple and make

423
00:23:31.680 --> 00:23:33.519
<v Speaker 4>it more tight and cohesive.

424
00:23:34.200 --> 00:23:39.359
<v Speaker 1>Yeah, yeah, that makes sense. That's another thing that I

425
00:23:39.440 --> 00:23:42.559
<v Speaker 1>was going to ask about. Is it sounds like you

426
00:23:42.680 --> 00:23:44.920
<v Speaker 1>mentioned that and then you mentioned it too, right that

427
00:23:45.279 --> 00:23:48.119
<v Speaker 1>it makes your code more concise, maybe a little easier

428
00:23:48.160 --> 00:23:51.799
<v Speaker 1>to read, a little easier to understand. If you've been

429
00:23:51.839 --> 00:23:54.359
<v Speaker 1>writing code for long enough, you realize that you're writing

430
00:23:54.400 --> 00:23:58.240
<v Speaker 1>code for other programmers, right, so that they can maintain it.

431
00:23:58.279 --> 00:24:00.960
<v Speaker 1>You're not writing it necessary early for the computer.

432
00:24:01.599 --> 00:24:01.799
<v Speaker 2>Right.

433
00:24:01.839 --> 00:24:06.680
<v Speaker 1>The computer gets whatever it gets from whatever JavaScript, virtual machine,

434
00:24:06.759 --> 00:24:10.200
<v Speaker 1>or whatever else you're running. So yeah, I mean, in

435
00:24:10.240 --> 00:24:13.359
<v Speaker 1>what ways have you found this cleans up your code?

436
00:24:15.079 --> 00:24:15.839
<v Speaker 3>A lot of ways?

437
00:24:15.880 --> 00:24:19.559
<v Speaker 4>So I did this series of talk which is like

438
00:24:19.720 --> 00:24:24.759
<v Speaker 4>shipless JavaScript, because I feel like the best way to

439
00:24:24.799 --> 00:24:28.759
<v Speaker 4>not have bugs is to write less code. So in

440
00:24:29.480 --> 00:24:32.400
<v Speaker 4>a like in a classic style of SPA and API,

441
00:24:32.440 --> 00:24:36.599
<v Speaker 4>you are maintaining two codebase, especially when you're doing JavaScript everywhere.

442
00:24:36.759 --> 00:24:38.599
<v Speaker 3>So what's the point of the JavaScript everywhere where you've

443
00:24:38.599 --> 00:24:39.079
<v Speaker 3>gotta have.

444
00:24:39.079 --> 00:24:42.519
<v Speaker 4>To ctiment into different code bases, and these apps they

445
00:24:42.519 --> 00:24:45.759
<v Speaker 4>don't really talk to each other, but it's still all JavaScript.

446
00:24:45.799 --> 00:24:49.799
<v Speaker 3>Why so when you take out first of all, you take.

447
00:24:49.640 --> 00:24:53.960
<v Speaker 4>That because the routing is done in the back end.

448
00:24:54.480 --> 00:24:57.799
<v Speaker 4>You have one wrapting system like one route file. So

449
00:24:58.480 --> 00:25:01.240
<v Speaker 4>classically you have both your PI routes, your pr end

450
00:25:01.279 --> 00:25:04.960
<v Speaker 4>points and then your your SPA routes which would be

451
00:25:05.039 --> 00:25:11.559
<v Speaker 4>like react raptor or just anyhow you're routed, right, and

452
00:25:11.599 --> 00:25:15.720
<v Speaker 4>then you got to do state management, which is state

453
00:25:15.759 --> 00:25:16.400
<v Speaker 4>my code.

454
00:25:16.680 --> 00:25:19.200
<v Speaker 3>I still like, I was so grateful for.

455
00:25:21.519 --> 00:25:24.599
<v Speaker 4>Not having to write them anymore for like two three

456
00:25:24.680 --> 00:25:28.039
<v Speaker 4>years now because it's just a nightmare, like the different patterns,

457
00:25:28.079 --> 00:25:32.079
<v Speaker 4>and like you just more code, more box right, So

458
00:25:32.319 --> 00:25:34.880
<v Speaker 4>that just makes it simple because you know your page

459
00:25:34.880 --> 00:25:37.039
<v Speaker 4>come with the data and you don't always have to

460
00:25:37.039 --> 00:25:39.480
<v Speaker 4>fetch all the data. You could be like send me

461
00:25:39.559 --> 00:25:42.039
<v Speaker 4>this page again if I click, now, give me just

462
00:25:42.160 --> 00:25:45.119
<v Speaker 4>this portion of the data. So you see, you have

463
00:25:45.200 --> 00:25:49.799
<v Speaker 4>this fine grade control and you get it for free.

464
00:25:50.480 --> 00:25:53.799
<v Speaker 4>And then don't get me started with the flash of

465
00:25:54.039 --> 00:25:57.759
<v Speaker 4>authenticated content that happens when you have these two separate apps,

466
00:25:57.799 --> 00:26:00.799
<v Speaker 4>because like now the page makes so if I click

467
00:26:02.119 --> 00:26:04.279
<v Speaker 4>on a page to view and I'm logging, I get

468
00:26:04.279 --> 00:26:07.279
<v Speaker 4>to see the flash of signing sign up, then I

469
00:26:07.319 --> 00:26:10.119
<v Speaker 4>see my alvata. Why because because it's going to take

470
00:26:10.119 --> 00:26:11.880
<v Speaker 4>a while to talk to the back end, but now

471
00:26:11.920 --> 00:26:14.440
<v Speaker 4>the back end is sending the entire state, so we know.

472
00:26:14.440 --> 00:26:16.720
<v Speaker 3>You're logging, so you never see that flash.

473
00:26:17.680 --> 00:26:21.480
<v Speaker 4>So there's lots of benefit for both the UX and

474
00:26:21.519 --> 00:26:27.200
<v Speaker 4>the DX, and you get to understand your app flow

475
00:26:27.480 --> 00:26:29.759
<v Speaker 4>because most times, especially when you're a smart team, I

476
00:26:29.759 --> 00:26:32.440
<v Speaker 4>don't only see the need like they need to have

477
00:26:32.519 --> 00:26:34.759
<v Speaker 4>two separate apps if you're a small team, and even

478
00:26:34.759 --> 00:26:37.720
<v Speaker 4>if you're a big team, because the back end guys

479
00:26:37.759 --> 00:26:40.759
<v Speaker 4>who just do some Jason and throw it over the wire,

480
00:26:40.839 --> 00:26:42.400
<v Speaker 4>then the front of the guys you just have to martional it.

481
00:26:42.440 --> 00:26:44.880
<v Speaker 4>But now everybody's working on the same code base, we

482
00:26:45.039 --> 00:26:49.640
<v Speaker 4>understand how the application work from so and when dev's

483
00:26:49.680 --> 00:26:53.839
<v Speaker 4>know the like from top to like, everything they know

484
00:26:53.920 --> 00:26:57.279
<v Speaker 4>about the app is holistic, they get to build more apps.

485
00:26:57.319 --> 00:26:59.279
<v Speaker 4>That makes more sense because I've seen apps that I

486
00:26:59.319 --> 00:27:03.119
<v Speaker 4>build really weird because the teams that don't talk to

487
00:27:03.160 --> 00:27:06.440
<v Speaker 4>you show because someone is just send it. I'm just

488
00:27:06.880 --> 00:27:09.440
<v Speaker 4>I don't care whether you need those Jason at all.

489
00:27:09.799 --> 00:27:12.200
<v Speaker 4>But in instead of you could be like, okay, I

490
00:27:12.279 --> 00:27:15.359
<v Speaker 4>just need the email of the user, and I myself,

491
00:27:15.400 --> 00:27:18.319
<v Speaker 4>as a fronted person, can go put, Okay, just select

492
00:27:18.319 --> 00:27:21.279
<v Speaker 4>the email. That's all I need for this page and

493
00:27:21.319 --> 00:27:26.039
<v Speaker 4>I can get it instead of like the the API

494
00:27:26.119 --> 00:27:29.519
<v Speaker 4>person to send down all the all the things of

495
00:27:29.640 --> 00:27:33.000
<v Speaker 4>the of the user. Then you just get to speak

496
00:27:34.440 --> 00:27:37.440
<v Speaker 4>the email. And even if you're just picking that I'm

497
00:27:37.440 --> 00:27:39.759
<v Speaker 4>showing to the user, you're still sending that down the wire.

498
00:27:39.799 --> 00:27:42.200
<v Speaker 4>And so that's the extra cost. But this is no

499
00:27:42.240 --> 00:27:43.880
<v Speaker 4>longer the issue because you can just find going to

500
00:27:43.880 --> 00:27:45.559
<v Speaker 4>be like, this are the data I need. So it's

501
00:27:45.720 --> 00:27:50.359
<v Speaker 4>good for data and it's good for like DX and

502
00:27:50.480 --> 00:27:52.200
<v Speaker 4>everything else. So I love it.

503
00:27:53.160 --> 00:27:55.160
<v Speaker 1>Yeah, it sounds a little bit like when you're talking

504
00:27:55.240 --> 00:27:57.519
<v Speaker 1>about just getting the data you need. It sounds like

505
00:27:57.599 --> 00:27:59.920
<v Speaker 1>the way that a lot of people talk about graph QL.

506
00:28:01.160 --> 00:28:05.039
<v Speaker 3>So yeah, sounds like that, but it's not like that.

507
00:28:06.480 --> 00:28:07.599
<v Speaker 3>But it's not like that at all.

508
00:28:07.799 --> 00:28:15.319
<v Speaker 4>It's it's not it's back end driven sp Yeah, unlike

509
00:28:15.880 --> 00:28:20.160
<v Speaker 4>graph KI. You gotta do like okay, like as this said,

510
00:28:20.319 --> 00:28:24.640
<v Speaker 4>then the the for the guy cannot make the all

511
00:28:24.759 --> 00:28:28.559
<v Speaker 4>the queries, but you make everything in the back end

512
00:28:28.599 --> 00:28:29.400
<v Speaker 4>and then send.

513
00:28:29.160 --> 00:28:35.440
<v Speaker 3>Out what you need to the users in the back end. Yeah.

514
00:28:36.240 --> 00:28:38.160
<v Speaker 2>Yeah, I'm just trying to think of how that how

515
00:28:38.200 --> 00:28:40.480
<v Speaker 2>that would work. So mm hm.

516
00:28:41.000 --> 00:28:44.400
<v Speaker 1>So you constructure query and you say give me this

517
00:28:44.519 --> 00:28:47.799
<v Speaker 1>data back and with inertia it sounds like more you're

518
00:28:47.839 --> 00:28:50.440
<v Speaker 1>saying I need this u I, and then your back

519
00:28:50.559 --> 00:28:53.200
<v Speaker 1>end is intelligent enough to say this u I only

520
00:28:53.240 --> 00:28:55.839
<v Speaker 1>needs this data and so that's why it sends it up.

521
00:28:57.319 --> 00:28:59.799
<v Speaker 3>Mmm. Kind of.

522
00:29:00.079 --> 00:29:04.640
<v Speaker 4>But you're still thinking separately, right, But you own the

523
00:29:04.759 --> 00:29:08.440
<v Speaker 4>entire app is full stack now, so you know what

524
00:29:08.519 --> 00:29:14.480
<v Speaker 4>that page need. You could make the the query to

525
00:29:14.599 --> 00:29:17.200
<v Speaker 4>get just the data you need for that page, send

526
00:29:17.240 --> 00:29:22.480
<v Speaker 4>it down yourself. So it's one app. It's one app, right, Yeah,

527
00:29:22.640 --> 00:29:24.319
<v Speaker 4>I could. I don't know if you could share. I

528
00:29:24.359 --> 00:29:27.359
<v Speaker 4>could definitely show you a couple of code if you

529
00:29:27.400 --> 00:29:28.079
<v Speaker 4>want to see.

530
00:29:28.720 --> 00:29:31.359
<v Speaker 1>Yeah, we tend to not do that on this show,

531
00:29:31.519 --> 00:29:36.039
<v Speaker 1>just because a lot of people listen audio only. Okay,

532
00:29:36.119 --> 00:29:40.640
<v Speaker 1>yeah cool, But yeah, I think I'm kind of getting

533
00:29:40.640 --> 00:29:42.000
<v Speaker 1>the idea and maybe I just need to.

534
00:29:41.960 --> 00:29:43.000
<v Speaker 2>Go play with it some more.

535
00:29:44.359 --> 00:29:45.160
<v Speaker 3>Yeah you should.

536
00:29:45.960 --> 00:29:49.519
<v Speaker 1>Yeah, So one other question, Yeah, I mean you keep

537
00:29:49.559 --> 00:29:51.920
<v Speaker 1>mentioning that other back ends use it too, so it's

538
00:29:51.960 --> 00:29:56.279
<v Speaker 1>not just you know, no JS or JavaScript back ends.

539
00:29:57.079 --> 00:29:59.720
<v Speaker 1>People who listen to the show know that I primarily

540
00:29:59.799 --> 00:30:04.599
<v Speaker 1>work with Ruby on rails. Steve Edwards, who's also a

541
00:30:04.599 --> 00:30:09.039
<v Speaker 1>host on the show, primarily does view and Laravel and

542
00:30:09.160 --> 00:30:13.839
<v Speaker 1>so yeah, so it's it sounds like, yeah, there's kind

543
00:30:13.880 --> 00:30:19.240
<v Speaker 1>of a cohesive approach to this where yeah, you're blurring

544
00:30:19.279 --> 00:30:21.240
<v Speaker 1>the line a bit more between your front end and

545
00:30:21.279 --> 00:30:21.920
<v Speaker 1>your back end.

546
00:30:23.200 --> 00:30:24.720
<v Speaker 3>Yeah.

547
00:30:25.160 --> 00:30:28.920
<v Speaker 4>Yes, it's exactly like that's it just makes it is.

548
00:30:28.960 --> 00:30:31.160
<v Speaker 4>It's a bet SPS, but you don't have to do

549
00:30:31.240 --> 00:30:34.359
<v Speaker 4>like an apler. It's all just wondering and you get

550
00:30:34.359 --> 00:30:38.640
<v Speaker 4>to live with your back end things, your your off

551
00:30:39.680 --> 00:30:42.839
<v Speaker 4>your data access, it's all donated back end.

552
00:30:43.279 --> 00:30:48.200
<v Speaker 1>Yeah, so in that case, and this also reminds me

553
00:30:48.240 --> 00:30:51.640
<v Speaker 1>a little bit of graph QL in the sense that

554
00:30:52.759 --> 00:30:55.440
<v Speaker 1>on the front end, right, you basically just build the

555
00:30:55.480 --> 00:30:58.480
<v Speaker 1>queries and then on the back end you have what

556
00:30:58.519 --> 00:31:02.480
<v Speaker 1>are they called they have uh, the classes essentially that

557
00:31:02.640 --> 00:31:07.640
<v Speaker 1>go and fetch the data and deliver it to whatever

558
00:31:07.759 --> 00:31:12.640
<v Speaker 1>orchestrates your graphic q A query. Yeah, so it sounds

559
00:31:12.680 --> 00:31:14.559
<v Speaker 1>like this is a little bit more involved where maybe

560
00:31:14.559 --> 00:31:19.119
<v Speaker 1>I'm writing code on my back end specifically designed to

561
00:31:19.160 --> 00:31:22.480
<v Speaker 1>work with inertia. Right, So I put the adaptor in

562
00:31:22.559 --> 00:31:25.480
<v Speaker 1>and then I'm I'm working in kind of an inertia

563
00:31:26.359 --> 00:31:29.440
<v Speaker 1>way from my view layer as far as the back

564
00:31:29.519 --> 00:31:32.720
<v Speaker 1>end goes is is that accurate at all?

565
00:31:32.839 --> 00:31:34.319
<v Speaker 2>Or yeah?

566
00:31:34.319 --> 00:31:37.039
<v Speaker 3>It is. So it's not restricting you.

567
00:31:37.200 --> 00:31:40.559
<v Speaker 4>So you could send down inertial pages, You could send

568
00:31:40.599 --> 00:31:43.960
<v Speaker 4>out classic set aside pages in the same map. You

569
00:31:43.960 --> 00:31:47.400
<v Speaker 4>could also do fetch calls from your front end in

570
00:31:47.400 --> 00:31:48.000
<v Speaker 4>the same app.

571
00:31:48.279 --> 00:31:50.240
<v Speaker 3>So there's no restriction.

572
00:31:50.920 --> 00:31:53.319
<v Speaker 4>It's like, if you call it, it sends down like

573
00:31:53.359 --> 00:31:57.079
<v Speaker 4>the pages. If not, you could do your your IGIs

574
00:31:58.279 --> 00:32:01.519
<v Speaker 4>if a node or your yeah be for reels and

575
00:32:01.599 --> 00:32:02.359
<v Speaker 4>it's to work.

576
00:32:03.279 --> 00:32:06.920
<v Speaker 1>Yeah, right, that makes sense. So yeah, so where inertia

577
00:32:06.960 --> 00:32:09.839
<v Speaker 1>is gonna call it? I'm working in the inertial world.

578
00:32:10.079 --> 00:32:13.960
<v Speaker 1>But yeah, obviously it wouldn't keep me from just doing

579
00:32:14.000 --> 00:32:14.839
<v Speaker 1>things the other way.

580
00:32:15.559 --> 00:32:15.799
<v Speaker 2>I was.

581
00:32:16.000 --> 00:32:18.079
<v Speaker 1>I was also going to ask about how it compares

582
00:32:18.119 --> 00:32:21.279
<v Speaker 1>to something like HTMX, but it sounds like you've kind

583
00:32:21.279 --> 00:32:25.559
<v Speaker 1>of answered that because HTMX it it just sends back HTML.

584
00:32:27.039 --> 00:32:29.799
<v Speaker 2>Where yeah, yeah, this.

585
00:32:29.960 --> 00:32:35.400
<v Speaker 1>Is designed specifically to work with inertia, and so it

586
00:32:36.440 --> 00:32:38.119
<v Speaker 1>feels like one cohesive application.

587
00:32:39.480 --> 00:32:41.720
<v Speaker 3>Yes, it does, it does, it really does.

588
00:32:41.960 --> 00:32:44.400
<v Speaker 4>And you could visit a couple of apps that use

589
00:32:44.599 --> 00:32:47.440
<v Speaker 4>a walk like that and just like how the feel

590
00:32:47.640 --> 00:32:50.240
<v Speaker 4>at how it works. So one is lack cast dot com.

591
00:32:50.279 --> 00:32:55.480
<v Speaker 4>They use inertia. Oh okay, yeah, come use phantom.

592
00:32:55.680 --> 00:33:02.599
<v Speaker 3>The dashboard also uses inertia. Use that should be their website. Yeah,

593
00:33:02.880 --> 00:33:03.200
<v Speaker 3>was using.

594
00:33:03.559 --> 00:33:05.000
<v Speaker 4>If you just click around you can see how it

595
00:33:05.079 --> 00:33:09.480
<v Speaker 4>be is like an SPA, but so if you check,

596
00:33:09.559 --> 00:33:12.240
<v Speaker 4>if you check what's being sent back, it's more like name.

597
00:33:12.359 --> 00:33:15.599
<v Speaker 4>We should be like the component name than props all

598
00:33:15.599 --> 00:33:16.480
<v Speaker 4>in Jason form.

599
00:33:16.680 --> 00:33:19.720
<v Speaker 3>And then it knows how to render dose.

600
00:33:20.799 --> 00:33:26.000
<v Speaker 2>Yeah, oh very cool. Yeah we'll have I'll have to

601
00:33:26.079 --> 00:33:27.039
<v Speaker 2>check those out as well.

602
00:33:27.119 --> 00:33:30.839
<v Speaker 1>So I guess the other question, and this is always

603
00:33:30.839 --> 00:33:32.920
<v Speaker 1>the biggie when I talk to people about using some

604
00:33:33.000 --> 00:33:35.839
<v Speaker 1>of the library, is how does it affect performance?

605
00:33:38.960 --> 00:33:40.599
<v Speaker 3>And like app?

606
00:33:41.480 --> 00:33:46.200
<v Speaker 1>Yeah performance, Yeah, you mentioned core web vitals for example,

607
00:33:46.799 --> 00:33:48.559
<v Speaker 1>but you know, just in general.

608
00:33:50.119 --> 00:33:53.880
<v Speaker 4>I don't think it does, because you wouldn't even so

609
00:33:54.039 --> 00:33:57.000
<v Speaker 4>in terms of like I said, it's an alternative to

610
00:33:57.160 --> 00:34:03.839
<v Speaker 4>using things like noxts next the kids, Uh huh, there's no,

611
00:34:04.720 --> 00:34:07.079
<v Speaker 4>there's no downside on that. I fact, I think you

612
00:34:07.119 --> 00:34:10.400
<v Speaker 4>even get more bang for your back, like if you

613
00:34:10.519 --> 00:34:14.320
<v Speaker 4>use it because on like the other stuff that I'm

614
00:34:14.320 --> 00:34:17.280
<v Speaker 4>more concerned with building like an SPA and then you

615
00:34:17.280 --> 00:34:19.760
<v Speaker 4>get to talk to the A P I and then

616
00:34:20.039 --> 00:34:25.480
<v Speaker 4>those artificial way time with the with the spinners and all.

617
00:34:26.000 --> 00:34:28.320
<v Speaker 4>With this, you don't get all that, so it's more

618
00:34:29.119 --> 00:34:33.880
<v Speaker 4>direct and you get because what makes up really slow

619
00:34:33.920 --> 00:34:38.079
<v Speaker 4>most time is the data access. Right, so there's like

620
00:34:38.159 --> 00:34:42.320
<v Speaker 4>since you have fine grain control on what you need.

621
00:34:42.920 --> 00:34:44.840
<v Speaker 4>I don't think I think it's like an up, like

622
00:34:44.920 --> 00:34:47.039
<v Speaker 4>a one up for it in terms of like the

623
00:34:47.039 --> 00:34:50.280
<v Speaker 4>other alternatives out there, So there's no really much hit

624
00:34:50.360 --> 00:34:52.679
<v Speaker 4>and performance at all. Like I've been using it for

625
00:34:53.400 --> 00:34:56.480
<v Speaker 4>two plus years now and I used next before.

626
00:34:57.280 --> 00:34:58.599
<v Speaker 3>There is it's it's.

627
00:34:58.440 --> 00:35:00.480
<v Speaker 4>More better for my DX and also all better of

628
00:35:00.519 --> 00:35:05.079
<v Speaker 4>my UX because everything is really snappy and all I

629
00:35:05.119 --> 00:35:07.039
<v Speaker 4>have to do is like of course I'm not saying

630
00:35:07.119 --> 00:35:11.239
<v Speaker 4>that every role in my database to the user.

631
00:35:11.719 --> 00:35:14.760
<v Speaker 3>So that's the only way. So if you if you

632
00:35:14.840 --> 00:35:16.239
<v Speaker 3>if you build the mpc AUP.

633
00:35:16.039 --> 00:35:19.639
<v Speaker 4>You already know how to work like make good queries already,

634
00:35:20.039 --> 00:35:23.639
<v Speaker 4>so it's not like it's just it's just not like

635
00:35:23.679 --> 00:35:25.519
<v Speaker 4>I said, non issue on that one, so it's all

636
00:35:25.840 --> 00:35:26.639
<v Speaker 4>pretty snappy.

637
00:35:28.239 --> 00:35:28.599
<v Speaker 2>Okay.

638
00:35:30.000 --> 00:35:36.719
<v Speaker 1>Yeah, so if somebody wanted to get started with inertia,

639
00:35:36.920 --> 00:35:38.039
<v Speaker 1>how would they do that?

640
00:35:39.760 --> 00:35:39.960
<v Speaker 3>Yeah?

641
00:35:40.000 --> 00:35:43.840
<v Speaker 4>So if you do full start JavaScript, I think the

642
00:35:43.840 --> 00:35:48.440
<v Speaker 4>best way you could just do MPX create sales, which

643
00:35:48.519 --> 00:35:51.199
<v Speaker 4>will like scaffle like a full stag appeture with the

644
00:35:51.280 --> 00:35:54.000
<v Speaker 4>sales on the back end, and then you could pick

645
00:35:55.320 --> 00:36:01.039
<v Speaker 4>view reactors velt. If you do any order languages on

646
00:36:01.039 --> 00:36:03.280
<v Speaker 4>the back end, you have to use the adapter and

647
00:36:03.320 --> 00:36:05.920
<v Speaker 4>the guide wish. The dogs also have a lot onto

648
00:36:06.480 --> 00:36:10.320
<v Speaker 4>lavel rails and the rights it also like have dogs

649
00:36:10.320 --> 00:36:11.519
<v Speaker 4>on that or how to set it up?

650
00:36:11.960 --> 00:36:12.199
<v Speaker 3>Yeah?

651
00:36:12.639 --> 00:36:15.639
<v Speaker 1>Right, what if I'm doing no JS on the back end,

652
00:36:15.639 --> 00:36:17.960
<v Speaker 1>but I'm not using sales, so maybe I have it

653
00:36:18.039 --> 00:36:18.639
<v Speaker 1>built on something?

654
00:36:18.719 --> 00:36:20.920
<v Speaker 3>Yeah, I think, yeah, for sure.

655
00:36:20.920 --> 00:36:25.000
<v Speaker 4>The Adonis also have an adapter to, so most of

656
00:36:25.039 --> 00:36:27.480
<v Speaker 4>those framework they have adapters, so you could just use

657
00:36:28.000 --> 00:36:30.119
<v Speaker 4>but if you use it even I think sports also

658
00:36:30.159 --> 00:36:32.880
<v Speaker 4>has an adapter to as well, so you could. It's

659
00:36:32.920 --> 00:36:35.199
<v Speaker 4>all it's yeah, it's all adaptive. Is that you could

660
00:36:35.199 --> 00:36:37.039
<v Speaker 4>really buildle on really quickly if you want, so, if

661
00:36:37.039 --> 00:36:39.199
<v Speaker 4>you really need the benefit, you.

662
00:36:39.239 --> 00:36:42.400
<v Speaker 2>Could very cool.

663
00:36:44.320 --> 00:36:47.159
<v Speaker 1>Is there anything else that folks ought to know about

664
00:36:47.239 --> 00:36:51.159
<v Speaker 1>inertia or inertia two have thirty using interertia.

665
00:36:51.840 --> 00:36:56.519
<v Speaker 4>Yeah, so I think it's it speaks to how good

666
00:36:56.559 --> 00:37:02.639
<v Speaker 4>the tech is when major apps like they want to mention,

667
00:37:02.840 --> 00:37:07.800
<v Speaker 4>like like like an analytics platform like use Phantom uses inertia.

668
00:37:08.000 --> 00:37:12.159
<v Speaker 4>And also the new the Other Cloud is built with

669
00:37:12.280 --> 00:37:17.119
<v Speaker 4>Inertia and React. So I think you could give it

670
00:37:17.119 --> 00:37:19.920
<v Speaker 4>a try because if you if you if you don't

671
00:37:19.920 --> 00:37:22.159
<v Speaker 4>like the startup school of things losing things like next

672
00:37:22.599 --> 00:37:24.920
<v Speaker 4>I just like, and you prefer NBC, and you want

673
00:37:24.960 --> 00:37:28.119
<v Speaker 4>like a robust, stable back end thing for your stuff,

674
00:37:28.280 --> 00:37:33.119
<v Speaker 4>because I've seen people they build lovelpi and then they

675
00:37:33.159 --> 00:37:36.079
<v Speaker 4>build the next year's SPA or something.

676
00:37:36.679 --> 00:37:40.360
<v Speaker 3>Yeah, but or because of the whole hassle.

677
00:37:40.079 --> 00:37:43.280
<v Speaker 4>Of okay, they don't really like don't want something stable

678
00:37:43.320 --> 00:37:46.719
<v Speaker 4>for the back end, but it's okay to just bridge

679
00:37:46.719 --> 00:37:49.840
<v Speaker 4>it right and just have everything one and just work

680
00:37:49.880 --> 00:37:50.199
<v Speaker 4>with it.

681
00:37:50.280 --> 00:37:51.119
<v Speaker 3>So you could do.

682
00:37:51.559 --> 00:37:53.800
<v Speaker 4>Because what you really want in X most times I

683
00:37:53.840 --> 00:37:58.599
<v Speaker 4>find is React. Yeah, like that's what you really want,

684
00:37:58.639 --> 00:38:04.960
<v Speaker 4>like the.

685
00:38:01.960 --> 00:38:02.880
<v Speaker 3>Gxs and stuff.

686
00:38:02.920 --> 00:38:05.840
<v Speaker 4>So if you want that, what you want to robot again,

687
00:38:05.960 --> 00:38:10.800
<v Speaker 4>you could just check out building apps with inertia.

688
00:38:11.039 --> 00:38:13.239
<v Speaker 3>It's really simple to get started.

689
00:38:15.039 --> 00:38:21.079
<v Speaker 1>Mm hmm, that's cool. So tell us a little bit

690
00:38:21.079 --> 00:38:23.800
<v Speaker 1>about you. I'm kind of curious. So you said you

691
00:38:23.840 --> 00:38:26.039
<v Speaker 1>have a Nigerian last name. Do you live in Nigeria

692
00:38:26.159 --> 00:38:27.519
<v Speaker 1>or you from somewhere else or.

693
00:38:29.079 --> 00:38:29.599
<v Speaker 3>Yes, I do.

694
00:38:29.760 --> 00:38:32.840
<v Speaker 4>I live in Nigeria. I have been I've been here

695
00:38:32.840 --> 00:38:35.119
<v Speaker 4>all my life physically.

696
00:38:35.840 --> 00:38:40.519
<v Speaker 2>Yeah, that's that's super cool. I've never been.

697
00:38:40.400 --> 00:38:46.199
<v Speaker 3>There, but oh you should, Yeah, you should. You should

698
00:38:46.199 --> 00:38:47.199
<v Speaker 3>try come over.

699
00:38:47.719 --> 00:38:50.519
<v Speaker 4>It's really it's really like a cool place to you know,

700
00:38:50.760 --> 00:38:54.119
<v Speaker 4>to vacation at or just like have a toll.

701
00:38:55.119 --> 00:38:59.239
<v Speaker 3>Yeah. So we'll be doing the sales cone for this

702
00:38:59.400 --> 00:39:00.599
<v Speaker 3>year June.

703
00:39:01.039 --> 00:39:03.159
<v Speaker 4>So I'm gonn't have like a couple of people come

704
00:39:03.199 --> 00:39:08.440
<v Speaker 4>out out the like from from other places in Africa

705
00:39:08.559 --> 00:39:12.639
<v Speaker 4>and elsewhere to just come and have like a web

706
00:39:12.679 --> 00:39:13.440
<v Speaker 4>death conference.

707
00:39:13.559 --> 00:39:17.400
<v Speaker 2>So its be fun cool and you're doing that Nigeria.

708
00:39:18.679 --> 00:39:20.000
<v Speaker 3>Yeah, Nigeria.

709
00:39:20.239 --> 00:39:23.960
<v Speaker 1>Oh, very cool. I'd love to figure out how to

710
00:39:24.000 --> 00:39:27.840
<v Speaker 1>get out there anyway. So what's the death community like

711
00:39:27.960 --> 00:39:28.480
<v Speaker 1>out there?

712
00:39:29.960 --> 00:39:33.760
<v Speaker 4>Yeah, it's pretty vibrant, like we have, like we have

713
00:39:33.840 --> 00:39:36.920
<v Speaker 4>an open source community here, like a lot of people

714
00:39:37.199 --> 00:39:39.960
<v Speaker 4>are big on open source, a lot of developers like

715
00:39:40.920 --> 00:39:43.400
<v Speaker 4>you know, so it's been really really good for like

716
00:39:44.159 --> 00:39:44.880
<v Speaker 4>for years now.

717
00:39:44.960 --> 00:39:45.760
<v Speaker 3>So they have a lot of.

718
00:39:46.119 --> 00:39:50.199
<v Speaker 4>Death roils too here. So I don't know if you

719
00:39:50.280 --> 00:39:55.639
<v Speaker 4>know shak a Ui mh you know it? Yeah, so

720
00:39:56.599 --> 00:40:01.760
<v Speaker 4>like that's made by a Nigerian as well, and yeah,

721
00:40:02.000 --> 00:40:04.239
<v Speaker 4>and a couple of other ops that I know.

722
00:40:04.719 --> 00:40:09.079
<v Speaker 3>Tastfully, it's really cool, very cool.

723
00:40:09.320 --> 00:40:12.000
<v Speaker 1>Yeah, I ran into Shakra you I can't can't remember.

724
00:40:12.000 --> 00:40:15.360
<v Speaker 1>Somebody recommended it for something I remember checking it out.

725
00:40:17.840 --> 00:40:22.719
<v Speaker 3>Yeah, that's cool, awesome.

726
00:40:23.719 --> 00:40:27.320
<v Speaker 1>Well, if people want to check out sales or sales comp,

727
00:40:27.800 --> 00:40:31.800
<v Speaker 1>where do they find that then? Also yeah, any content

728
00:40:31.840 --> 00:40:34.880
<v Speaker 1>you have on inertia, Yeah.

729
00:40:34.719 --> 00:40:40.320
<v Speaker 4>So sales comp dot com slash Africa would would take

730
00:40:40.360 --> 00:40:44.480
<v Speaker 4>you to the page. I'm gonna be open up the

731
00:40:44.519 --> 00:40:50.039
<v Speaker 4>CFP and sales for ticket like next week and my

732
00:40:50.119 --> 00:40:54.440
<v Speaker 4>work on it on inertia, I have free articles posts

733
00:40:54.440 --> 00:40:57.639
<v Speaker 4>and also videos, so I teach full Starck web there

734
00:40:57.679 --> 00:41:00.440
<v Speaker 4>on salescass dot com. So we also have like screen

735
00:41:00.480 --> 00:41:03.480
<v Speaker 4>cast and I'm working like on a course which I'm

736
00:41:03.480 --> 00:41:07.800
<v Speaker 4>going to rese like the first chapter this this week

737
00:41:07.800 --> 00:41:12.039
<v Speaker 4>on next week, which is the build fifty products in

738
00:41:12.079 --> 00:41:15.119
<v Speaker 4>fifty days, because I like how easy the stack is

739
00:41:15.199 --> 00:41:17.320
<v Speaker 4>to be stuff so I want to show up to

740
00:41:17.360 --> 00:41:20.960
<v Speaker 4>be like real sass app looking like most like just

741
00:41:21.039 --> 00:41:23.320
<v Speaker 4>built fifty of them, like from top to like.

742
00:41:23.320 --> 00:41:26.239
<v Speaker 3>Everything you need for like an app, the billing.

743
00:41:26.920 --> 00:41:32.639
<v Speaker 4>Teams, everything for different apps are going to be two

744
00:41:32.679 --> 00:41:35.440
<v Speaker 4>for each chapter of the course of building a new.

745
00:41:36.920 --> 00:41:39.599
<v Speaker 3>Stuff. With the borrowing stack, it's gonna be fun.

746
00:41:39.800 --> 00:41:43.480
<v Speaker 2>So yeah, very cool. Only that's fifty apps in fifty days.

747
00:41:44.800 --> 00:41:49.199
<v Speaker 4>Yes, I so I could like so I call it

748
00:41:49.519 --> 00:41:51.519
<v Speaker 4>code name Project fifty because why.

749
00:41:51.360 --> 00:41:54.719
<v Speaker 2>Not, that's awesome. I might borrow them.

750
00:41:58.199 --> 00:42:03.199
<v Speaker 1>I love the idea of doing fifty apps the days.

751
00:42:03.719 --> 00:42:05.719
<v Speaker 1>So yeah, I have a couple of questions on that,

752
00:42:05.960 --> 00:42:07.840
<v Speaker 1>just just to dive in.

753
00:42:09.159 --> 00:42:10.920
<v Speaker 2>One of them is, so are you using a lot

754
00:42:10.920 --> 00:42:14.039
<v Speaker 2>of the same stuff over and over?

755
00:42:14.119 --> 00:42:16.000
<v Speaker 1>Right, So a lot of your authentication will look the

756
00:42:16.039 --> 00:42:18.880
<v Speaker 1>same and a lot of the other kind you call

757
00:42:18.960 --> 00:42:21.880
<v Speaker 1>the boring stack. So I'm assuming you're a lot of

758
00:42:22.039 --> 00:42:25.639
<v Speaker 1>stable boring you know, Hey, look we use the same

759
00:42:25.719 --> 00:42:28.199
<v Speaker 1>tail and components or however you put it together.

760
00:42:28.039 --> 00:42:32.639
<v Speaker 4>And exactly so I feel it's just so, it's it's

761
00:42:32.639 --> 00:42:39.760
<v Speaker 4>what things like like the diver templates I've enjoyed over

762
00:42:39.800 --> 00:42:43.639
<v Speaker 4>the years. Where so so I joke that if you

763
00:42:44.159 --> 00:42:47.480
<v Speaker 4>do like a new Java script, full stack stuff you

764
00:42:47.480 --> 00:42:49.679
<v Speaker 4>get like a counter where you get to click, but

765
00:42:50.159 --> 00:42:53.360
<v Speaker 4>in some order from what you get like authentication and everything.

766
00:42:53.760 --> 00:42:58.440
<v Speaker 4>So those part of your apps, they are most generally stable.

767
00:42:58.559 --> 00:43:00.400
<v Speaker 4>So if you have something that could just take Q

768
00:43:00.719 --> 00:43:04.559
<v Speaker 4>sixty percent the way they you focus on your business logic,

769
00:43:04.639 --> 00:43:07.000
<v Speaker 4>I think you're gonna move faster. So I just want

770
00:43:07.000 --> 00:43:09.960
<v Speaker 4>to show this with real world because it shure, don't tell,

771
00:43:10.039 --> 00:43:13.559
<v Speaker 4>So you see for yourself how productivity is to like

772
00:43:13.880 --> 00:43:16.400
<v Speaker 4>use something that is boring because I just focus on

773
00:43:16.440 --> 00:43:18.880
<v Speaker 4>the core of your app and ship to your users

774
00:43:19.039 --> 00:43:21.880
<v Speaker 4>really quickly. And if it's boring, it's less headache when

775
00:43:21.920 --> 00:43:24.800
<v Speaker 4>you have to debox stuff because it's predictable.

776
00:43:25.239 --> 00:43:29.119
<v Speaker 2>Yeah, yeah, that's cool.

777
00:43:29.719 --> 00:43:31.000
<v Speaker 1>I kind of want to do see if I can

778
00:43:31.039 --> 00:43:34.519
<v Speaker 1>do that for Rails, and I've wanting to do for

779
00:43:34.599 --> 00:43:38.159
<v Speaker 1>a while, put together effectively that same kind of thing

780
00:43:38.199 --> 00:43:41.159
<v Speaker 1>where it's like I need authentication, so I run the

781
00:43:41.159 --> 00:43:46.559
<v Speaker 1>authentication generator, I need payments, I run the payments generator.

782
00:43:46.639 --> 00:43:49.400
<v Speaker 1>Right like that, there are a dozen things that I

783
00:43:49.599 --> 00:43:52.039
<v Speaker 1>just do the same way every time, and so yeah,

784
00:43:52.119 --> 00:43:55.920
<v Speaker 1>then it's okay, now I want something something podcast right

785
00:43:55.960 --> 00:43:59.280
<v Speaker 1>because I'm very much in the podcast community, right something

786
00:43:59.280 --> 00:44:02.239
<v Speaker 1>something podcast utility that does this thing right, and so

787
00:44:02.280 --> 00:44:04.519
<v Speaker 1>then I can I can throw that together in a day.

788
00:44:04.599 --> 00:44:07.719
<v Speaker 2>Yeah, no, big deal exactly. I love it. I love

789
00:44:07.719 --> 00:44:10.039
<v Speaker 2>it well people.

790
00:44:12.519 --> 00:44:17.639
<v Speaker 1>Yeah, all right, Well, if you don't have anything else

791
00:44:17.679 --> 00:44:20.280
<v Speaker 1>to throw out there for us, we'll have you come

792
00:44:20.280 --> 00:44:22.159
<v Speaker 1>back and talk about sales, because I'd love to.

793
00:44:22.079 --> 00:44:26.800
<v Speaker 2>Dive into that. But in the meantime, we do picks

794
00:44:26.840 --> 00:44:27.719
<v Speaker 2>at the end of the show.

795
00:44:28.519 --> 00:44:30.599
<v Speaker 1>I'm not sure how familiar you are with with that,

796
00:44:30.679 --> 00:44:32.599
<v Speaker 1>so I'll go ahead and go first.

797
00:44:34.119 --> 00:44:36.880
<v Speaker 2>Okay, so picks.

798
00:44:36.679 --> 00:44:40.599
<v Speaker 1>Or just shout outs about whatever, and I usually do

799
00:44:40.719 --> 00:44:41.760
<v Speaker 1>a board game pick.

800
00:44:43.159 --> 00:44:44.800
<v Speaker 2>I'm trying to remember.

801
00:44:46.079 --> 00:44:48.599
<v Speaker 1>The name I always the board game is actually a

802
00:44:48.599 --> 00:44:51.320
<v Speaker 1>card game that I'm gonna pick is called The Gang.

803
00:44:52.960 --> 00:44:59.159
<v Speaker 1>And yeah, so if you've played I've mentioned the game before,

804
00:44:59.599 --> 00:45:02.559
<v Speaker 1>which is is you have numbered cards and you're trying

805
00:45:02.559 --> 00:45:06.519
<v Speaker 1>to put them out in order with certain rules right

806
00:45:06.559 --> 00:45:08.679
<v Speaker 1>as far as what you can place on the piles.

807
00:45:09.480 --> 00:45:15.360
<v Speaker 1>The Gang is like Cooperative and Texas Hold Them. So

808
00:45:16.039 --> 00:45:19.159
<v Speaker 1>if you've played Texas Hold Them before, it's it's a

809
00:45:19.199 --> 00:45:20.840
<v Speaker 1>form of poker for those.

810
00:45:20.639 --> 00:45:21.519
<v Speaker 2>That you know.

811
00:45:21.800 --> 00:45:24.800
<v Speaker 1>I don't want to assume anybody knows anything. But if

812
00:45:24.800 --> 00:45:27.880
<v Speaker 1>you've played poker before, you've played Texas, hold them, right.

813
00:45:27.960 --> 00:45:31.199
<v Speaker 1>You get two cards. This is typically the game that

814
00:45:31.239 --> 00:45:35.559
<v Speaker 1>you see people playing in the movies, right, if they're

815
00:45:35.559 --> 00:45:36.440
<v Speaker 1>playing poker.

816
00:45:36.159 --> 00:45:36.880
<v Speaker 3>That's usually text.

817
00:45:36.960 --> 00:45:40.079
<v Speaker 1>Hold them and they flip three cards for the river, right,

818
00:45:40.159 --> 00:45:42.119
<v Speaker 1>and then they and then they flip another card in

819
00:45:42.159 --> 00:45:47.199
<v Speaker 1>another card right. And so what you do is you

820
00:45:47.199 --> 00:45:49.800
<v Speaker 1>you get your two cards and you look at them,

821
00:45:50.239 --> 00:45:53.719
<v Speaker 1>and then there are tokens out. There's one token per player,

822
00:45:54.519 --> 00:45:57.199
<v Speaker 1>and so that you know there's one with one star,

823
00:45:57.280 --> 00:45:59.119
<v Speaker 1>one with two stars. We were playing three players, so

824
00:45:59.159 --> 00:46:01.199
<v Speaker 1>one with three stars, right. If you have four players,

825
00:46:01.199 --> 00:46:02.800
<v Speaker 1>then there's gonna be another one four stars.

826
00:46:02.880 --> 00:46:03.039
<v Speaker 2>Right.

827
00:46:03.440 --> 00:46:05.440
<v Speaker 1>So the person, if you think you have got the

828
00:46:05.480 --> 00:46:10.199
<v Speaker 1>best hand at that moment, then you grab the three star, right.

829
00:46:10.519 --> 00:46:12.719
<v Speaker 1>And so typically if you have a face card, right,

830
00:46:13.039 --> 00:46:16.320
<v Speaker 1>you're gonna grab that. Or if you have a pair,

831
00:46:16.400 --> 00:46:19.119
<v Speaker 1>if you start with a pair, then you may grab

832
00:46:19.159 --> 00:46:22.880
<v Speaker 1>that three right. And then maybe somebody else is going

833
00:46:22.960 --> 00:46:25.360
<v Speaker 1>I have an ace, and so they may take the

834
00:46:25.440 --> 00:46:27.880
<v Speaker 1>three from you, right, and you just take it back,

835
00:46:28.679 --> 00:46:31.920
<v Speaker 1>and you can continue to steal the tokens from other

836
00:46:31.960 --> 00:46:35.079
<v Speaker 1>players until everybody has a token.

837
00:46:34.880 --> 00:46:36.480
<v Speaker 2>In front of them, and they're pretty comfortable with what

838
00:46:36.519 --> 00:46:36.719
<v Speaker 2>they have.

839
00:46:37.360 --> 00:46:39.360
<v Speaker 1>And then what you do is you flip the river, right,

840
00:46:39.400 --> 00:46:43.360
<v Speaker 1>so you flip those three cards and you do it again, right.

841
00:46:43.679 --> 00:46:46.159
<v Speaker 1>So maybe the pair I started with that I was

842
00:46:46.199 --> 00:46:50.320
<v Speaker 1>fighting over the three star token. I had a pair

843
00:46:50.360 --> 00:46:54.599
<v Speaker 1>of threes, right, And when we flip the cards, now

844
00:46:54.679 --> 00:46:58.960
<v Speaker 1>somebody is more aggressively trying to take the three because

845
00:46:59.000 --> 00:47:01.519
<v Speaker 1>there's an ace and a out there, and so I'm

846
00:47:01.519 --> 00:47:03.239
<v Speaker 1>going to assume that they have a pair of ases

847
00:47:03.320 --> 00:47:06.400
<v Speaker 1>or a pair of kings, and so their hand now

848
00:47:06.440 --> 00:47:08.920
<v Speaker 1>beats my hand, if that makes sense, and so I

849
00:47:09.000 --> 00:47:12.559
<v Speaker 1>may go for the two or the one, right, and

850
00:47:12.599 --> 00:47:15.320
<v Speaker 1>then you flip another card and it's a three. Now

851
00:47:15.320 --> 00:47:17.000
<v Speaker 1>I have a three of a kind, and so I'm

852
00:47:17.039 --> 00:47:19.440
<v Speaker 1>going to be taking that three and trying to say, no,

853
00:47:19.559 --> 00:47:21.519
<v Speaker 1>I have the best hand because my three of a

854
00:47:21.599 --> 00:47:24.239
<v Speaker 1>kind beats your pair of ases, right, But.

855
00:47:24.280 --> 00:47:26.079
<v Speaker 2>I don't know what everybody else has.

856
00:47:26.599 --> 00:47:28.679
<v Speaker 1>And so what you're trying to do is you're trying

857
00:47:28.719 --> 00:47:34.079
<v Speaker 1>to win three hands as a team, right, with everybody

858
00:47:34.159 --> 00:47:36.559
<v Speaker 1>having the right token at the end of the round,

859
00:47:38.480 --> 00:47:42.280
<v Speaker 1>before you lose three hands, right, And so if you're

860
00:47:42.320 --> 00:47:45.000
<v Speaker 1>wrong if somebody has a better hand than you and

861
00:47:45.079 --> 00:47:48.039
<v Speaker 1>you have a higher token than them, right, then you

862
00:47:48.159 --> 00:47:52.760
<v Speaker 1>lost anyway, So anyway, it was really fun. We got

863
00:47:52.760 --> 00:47:54.639
<v Speaker 1>to the point where we were playing around in like

864
00:47:54.760 --> 00:47:58.800
<v Speaker 1>ten minutes, right, We would get through a game in

865
00:47:59.119 --> 00:48:00.519
<v Speaker 1>twenty minutes, half hour.

866
00:48:02.000 --> 00:48:05.079
<v Speaker 2>It was really really fun. Like sometimes it was hard.

867
00:48:05.199 --> 00:48:07.039
<v Speaker 1>Right, So I had have like an eight and a six,

868
00:48:07.760 --> 00:48:10.239
<v Speaker 1>and somebody else that I was playing with they had

869
00:48:10.239 --> 00:48:12.679
<v Speaker 1>a ten and a six, and the six came out

870
00:48:12.679 --> 00:48:14.599
<v Speaker 1>in the river, right, So we both have a pair

871
00:48:14.639 --> 00:48:17.199
<v Speaker 1>of sixes, which means that the other card that we

872
00:48:17.320 --> 00:48:21.400
<v Speaker 1>have is the one that determines whether or not we win, right,

873
00:48:21.960 --> 00:48:26.000
<v Speaker 1>and so then it's down to okay, yeah, you know

874
00:48:26.039 --> 00:48:28.480
<v Speaker 1>we picked it wrong because we had two cards that

875
00:48:28.480 --> 00:48:30.920
<v Speaker 1>were close to each other. But anyway, it was really

876
00:48:30.960 --> 00:48:35.760
<v Speaker 1>really fun, really enjoyed it. Board game geek waits it

877
00:48:35.800 --> 00:48:40.320
<v Speaker 1>at one point sixty four. I would also imagine that

878
00:48:40.440 --> 00:48:43.079
<v Speaker 1>if we had more than three players playing, it would

879
00:48:43.119 --> 00:48:47.320
<v Speaker 1>be harder because now you're trying to figure out where

880
00:48:47.360 --> 00:48:52.599
<v Speaker 1>you fit in among more hands. My buddy who bought

881
00:48:52.599 --> 00:48:56.559
<v Speaker 1>the game, he's learning it so he can teach it

882
00:48:56.639 --> 00:48:59.599
<v Speaker 1>at SaltCON here in Utah.

883
00:48:59.719 --> 00:49:01.239
<v Speaker 2>It's Big Board Game Convention.

884
00:49:01.320 --> 00:49:06.039
<v Speaker 1>He's helping them teach the popular games or the hot games.

885
00:49:06.360 --> 00:49:09.760
<v Speaker 1>He said that the guy that he learned it from,

886
00:49:10.360 --> 00:49:12.840
<v Speaker 1>he and his wife play at two player, and they

887
00:49:12.880 --> 00:49:16.639
<v Speaker 1>each play with three hands, and so that I would

888
00:49:16.679 --> 00:49:19.679
<v Speaker 1>imagine might get a little more complicated as well, because

889
00:49:19.719 --> 00:49:21.480
<v Speaker 1>now you have to keep track of which of my

890
00:49:21.559 --> 00:49:24.440
<v Speaker 1>hands is winning at the time, along with trying to

891
00:49:24.519 --> 00:49:27.079
<v Speaker 1>keep track of what the three hands of the other

892
00:49:27.119 --> 00:49:30.480
<v Speaker 1>person is right. So with six hands, I would guess

893
00:49:30.519 --> 00:49:32.199
<v Speaker 1>that's gonna get tricky.

894
00:49:32.400 --> 00:49:34.800
<v Speaker 2>But anyway, it was fun. I really enjoyed it, So

895
00:49:34.800 --> 00:49:39.760
<v Speaker 2>I'm gonna pick that. Yeah, So then other picks.

896
00:49:40.840 --> 00:49:46.760
<v Speaker 1>I am launching JavaScript Geniuses right now. If you sign

897
00:49:46.840 --> 00:49:49.559
<v Speaker 1>up before Valentine's Day, which is this we have one

898
00:49:49.639 --> 00:49:51.599
<v Speaker 1>hundred and eight people watching. If you go to JavaScript

899
00:49:51.679 --> 00:49:54.840
<v Speaker 1>geniuses dot com and you sign up. If you sign

900
00:49:54.920 --> 00:49:58.679
<v Speaker 1>up before Valentine's Day, then you get the meetups and

901
00:49:58.719 --> 00:50:01.639
<v Speaker 1>the videos and everything else for JavaScript developers.

902
00:50:01.800 --> 00:50:04.159
<v Speaker 2>Incidentally, if you do Ruby, I'm doing Ruby Geniuses too,

903
00:50:04.199 --> 00:50:05.360
<v Speaker 2>and it's the same format.

904
00:50:05.679 --> 00:50:09.079
<v Speaker 1>We're going to have a meetup every week, you'll get

905
00:50:09.079 --> 00:50:13.920
<v Speaker 1>to come to the book club, you'll get videos from

906
00:50:13.960 --> 00:50:17.280
<v Speaker 1>me every week. Right at least one, probably two right,

907
00:50:17.320 --> 00:50:19.400
<v Speaker 1>where it's hey, here's how you do a thing in JavaScript,

908
00:50:20.320 --> 00:50:24.199
<v Speaker 1>kind of like rails casts used to do, or it

909
00:50:24.239 --> 00:50:28.000
<v Speaker 1>sounds like Kelvin does it with sales casts. Right, Mine's

910
00:50:28.000 --> 00:50:32.639
<v Speaker 1>more generally JavaScript. It'll probably have if there any frameworks

911
00:50:32.639 --> 00:50:35.920
<v Speaker 1>in is probably going to be mostly React. But yeah,

912
00:50:36.000 --> 00:50:38.159
<v Speaker 1>so I'm putting that together. But if you sign up

913
00:50:38.199 --> 00:50:41.960
<v Speaker 1>before Valentine's Day, I'm also doing a one hour coaching session,

914
00:50:41.960 --> 00:50:44.639
<v Speaker 1>which I usually charge two hundred and fifty dollars four

915
00:50:45.360 --> 00:50:50.480
<v Speaker 1>and I'm also throwing in six months of text of

916
00:50:50.559 --> 00:50:55.079
<v Speaker 1>voice coaching, which is essentially if you've used you can

917
00:50:55.159 --> 00:50:57.519
<v Speaker 1>use like WhatsApp. That's probably what I'm gonna use WhatsApp.

918
00:50:58.440 --> 00:51:01.079
<v Speaker 1>But you can send me a voice message on WhatsApp

919
00:51:01.519 --> 00:51:04.440
<v Speaker 1>and I'll respond to you on the voice message. So it's, hey,

920
00:51:04.519 --> 00:51:07.360
<v Speaker 1>I'm stuck trying to figure out this performance problem on

921
00:51:07.440 --> 00:51:09.480
<v Speaker 1>my app, and this is what I've tried.

922
00:51:10.000 --> 00:51:11.599
<v Speaker 2>And then I may get back to you and say

923
00:51:11.599 --> 00:51:13.119
<v Speaker 2>have you tried this, this, and this.

924
00:51:14.360 --> 00:51:16.559
<v Speaker 1>You may get an answer for me off the top

925
00:51:16.599 --> 00:51:18.599
<v Speaker 1>of my head, or you may get an answer for

926
00:51:18.760 --> 00:51:21.760
<v Speaker 1>me because I bugged Dan Shapir and said, what would

927
00:51:21.800 --> 00:51:24.519
<v Speaker 1>you do here, right, because I know people who can

928
00:51:24.559 --> 00:51:26.079
<v Speaker 1>help me answer the questions if I can't.

929
00:51:26.559 --> 00:51:28.320
<v Speaker 2>Right, similar with the Ruby.

930
00:51:28.760 --> 00:51:31.599
<v Speaker 1>So anyway, if you want to sign up JavaScript Geniuses

931
00:51:31.599 --> 00:51:35.599
<v Speaker 1>dot com, I have monthly, yearly in lifetime and you

932
00:51:35.639 --> 00:51:37.679
<v Speaker 1>can go sign up over there, and like I said,

933
00:51:37.679 --> 00:51:41.480
<v Speaker 1>you get the coaching for six months and you get

934
00:51:41.480 --> 00:51:43.840
<v Speaker 1>the one coaching session. So if you're trying to find

935
00:51:43.840 --> 00:51:46.079
<v Speaker 1>a job or you feel like you're stuck in your career,

936
00:51:46.639 --> 00:51:49.000
<v Speaker 1>that this is a really good opportunity for something like that.

937
00:51:49.159 --> 00:51:54.039
<v Speaker 1>So anyway, those those are my picks. I also, I'm

938
00:51:54.039 --> 00:51:56.599
<v Speaker 1>gonna throw out a movie pic. So I finally got

939
00:51:56.639 --> 00:51:58.239
<v Speaker 1>around to watching Dune Part two.

940
00:51:59.639 --> 00:52:01.079
<v Speaker 2>It was good. I liked it.

941
00:52:02.280 --> 00:52:07.360
<v Speaker 1>The book's still better, sorry, but I enjoyed it. So anyway, Calvin,

942
00:52:07.400 --> 00:52:08.440
<v Speaker 1>what are your picks?

943
00:52:09.519 --> 00:52:12.079
<v Speaker 3>Yeah, it was like, you have some nice pick and

944
00:52:12.159 --> 00:52:18.199
<v Speaker 3>I like the name Drivascal Geniuses. So my pick just

945
00:52:18.239 --> 00:52:18.800
<v Speaker 3>a game I.

946
00:52:18.719 --> 00:52:21.960
<v Speaker 4>Want to learn. I've been putting it off a while

947
00:52:22.039 --> 00:52:25.840
<v Speaker 4>to learn it. So the only board in my coinity

948
00:52:25.920 --> 00:52:29.920
<v Speaker 4>plays chess, but I want to let go because I

949
00:52:30.000 --> 00:52:32.840
<v Speaker 4>was told it to the next harder strategy game and

950
00:52:32.920 --> 00:52:36.000
<v Speaker 4>it's kind of different from the mindset of playing chess,

951
00:52:36.039 --> 00:52:37.800
<v Speaker 4>we get to like capture pieces and stuff.

952
00:52:38.159 --> 00:52:43.039
<v Speaker 3>We go, it's more like having control of territories.

953
00:52:44.159 --> 00:52:46.159
<v Speaker 4>Yeah, so it's to be fun like yeah, so the

954
00:52:46.199 --> 00:52:48.360
<v Speaker 4>first time I saw it, it was just all white and.

955
00:52:48.320 --> 00:52:50.440
<v Speaker 3>Black pebbles and it was just confusing.

956
00:52:50.559 --> 00:52:51.880
<v Speaker 4>But I'm going to get a board and I'm going

957
00:52:51.960 --> 00:52:54.599
<v Speaker 4>to try to learn it because I like those sort

958
00:52:54.639 --> 00:52:57.119
<v Speaker 4>of games. So those just like like the other games

959
00:52:57.119 --> 00:52:58.079
<v Speaker 4>I will be playing.

960
00:52:58.599 --> 00:53:03.119
<v Speaker 2>Yeah, then you just go are definitely fun.

961
00:53:05.880 --> 00:53:10.159
<v Speaker 1>And the mechanics are reasonably simple, but the strategy.

962
00:53:09.639 --> 00:53:10.079
<v Speaker 3>Is just.

963
00:53:11.760 --> 00:53:11.920
<v Speaker 2>That.

964
00:53:12.000 --> 00:53:14.079
<v Speaker 1>That's why I love them, right, Yes, it's like okay,

965
00:53:14.199 --> 00:53:16.800
<v Speaker 1>and there's always somebody better than me that you know,

966
00:53:16.880 --> 00:53:22.480
<v Speaker 1>after they soundly trounce me, then it's okay, what what

967
00:53:22.599 --> 00:53:23.400
<v Speaker 1>did I do wrong?

968
00:53:23.719 --> 00:53:26.199
<v Speaker 2>Right? How can I do that? I just love it.

969
00:53:27.440 --> 00:53:29.760
<v Speaker 4>Yeah, it's really good. It's just good for the strategy,

970
00:53:29.840 --> 00:53:31.639
<v Speaker 4>like that's why I love it, and it's it's fun

971
00:53:32.159 --> 00:53:37.280
<v Speaker 4>and into for my pick. It's let's see. So mostly

972
00:53:37.400 --> 00:53:42.480
<v Speaker 4>just so scarce to come like take the free videos

973
00:53:42.519 --> 00:53:46.079
<v Speaker 4>because I want more people to do pull that Java script.

974
00:53:46.199 --> 00:53:49.239
<v Speaker 4>It's like the old vision that one, because I think

975
00:53:49.440 --> 00:53:51.960
<v Speaker 4>it's the one advantage we're not really leveraging a lot

976
00:53:52.519 --> 00:53:54.079
<v Speaker 4>rightan dowgive was like a.

977
00:53:53.840 --> 00:53:56.280
<v Speaker 3>Great gift of geoscript everywhere.

978
00:53:56.320 --> 00:53:59.679
<v Speaker 4>But still people still want to go to rails or

979
00:53:59.719 --> 00:54:02.320
<v Speaker 4>love of to do back and why what are we

980
00:54:02.360 --> 00:54:05.119
<v Speaker 4>getting wrong or what is it education? So I'm solving

981
00:54:05.159 --> 00:54:07.599
<v Speaker 4>the educational part, also doing open source parts to make

982
00:54:07.639 --> 00:54:11.159
<v Speaker 4>it easy to viud full stack apps which are watched great,

983
00:54:11.199 --> 00:54:14.119
<v Speaker 4>because I think it's an unfair advantage that we should

984
00:54:14.159 --> 00:54:14.960
<v Speaker 4>level so more.

985
00:54:15.840 --> 00:54:16.360
<v Speaker 3>Mm hmmm.

986
00:54:16.679 --> 00:54:21.599
<v Speaker 4>So yeah, movie pick. I saw Marco Polo so on Netflix.

987
00:54:21.920 --> 00:54:24.840
<v Speaker 4>I've I've always kipped it because I thought I might

988
00:54:24.920 --> 00:54:27.320
<v Speaker 4>not like it, but it was really good. I liked

989
00:54:27.400 --> 00:54:30.199
<v Speaker 4>the series Marco Polo so even though I think there's

990
00:54:30.239 --> 00:54:32.519
<v Speaker 4>one more season that has to come, like maybe like

991
00:54:33.320 --> 00:54:36.119
<v Speaker 4>season three or so, it's really good. But my my

992
00:54:36.159 --> 00:54:38.880
<v Speaker 4>favorite series of all time has always been Suits, but

993
00:54:39.199 --> 00:54:40.239
<v Speaker 4>Marco Polo was good.

994
00:54:41.559 --> 00:54:46.840
<v Speaker 2>Yes, my wife I started watching. We have trouble getting

995
00:54:46.880 --> 00:54:47.239
<v Speaker 2>into it.

996
00:54:47.280 --> 00:54:49.239
<v Speaker 1>I'm just wondering if the first season is a little

997
00:54:49.239 --> 00:54:51.920
<v Speaker 1>bit harder to get into it.

998
00:54:51.639 --> 00:54:57.159
<v Speaker 4>It was good for me, like all true, like every season. Yeah,

999
00:54:57.159 --> 00:54:58.119
<v Speaker 4>I guess it's preference.

1000
00:54:59.199 --> 00:54:59.400
<v Speaker 2>Yeah.

1001
00:54:59.480 --> 00:55:02.039
<v Speaker 1>Then the the series that we're watching on Netflix right

1002
00:55:02.079 --> 00:55:04.199
<v Speaker 1>now is The Night Agent.

1003
00:55:05.559 --> 00:55:10.639
<v Speaker 3>And oh, Yeah, didn't work for me. Yeah, yeah, that

1004
00:55:10.719 --> 00:55:11.519
<v Speaker 3>one did work for me.

1005
00:55:11.599 --> 00:55:13.840
<v Speaker 4>I don't know why, Like I felt it was too

1006
00:55:14.519 --> 00:55:17.599
<v Speaker 4>I like espionage and spy movies, but I couldn't get

1007
00:55:17.639 --> 00:55:20.800
<v Speaker 4>on that one. It just felt too the script was

1008
00:55:20.880 --> 00:55:23.440
<v Speaker 4>too too predictable, and I wanted a little bit of

1009
00:55:23.440 --> 00:55:26.320
<v Speaker 4>a mystery like with Blacklists. Yeah, I guess I was

1010
00:55:26.320 --> 00:55:28.639
<v Speaker 4>compa I wanted too much.

1011
00:55:28.960 --> 00:55:32.599
<v Speaker 1>Yeah, no, I I can definitely see where you're So

1012
00:55:33.519 --> 00:55:39.960
<v Speaker 1>the first season I felt like had enough, uh you know,

1013
00:55:40.039 --> 00:55:45.079
<v Speaker 1>it had enough novelty to it, you know, because yeah,

1014
00:55:45.199 --> 00:55:47.559
<v Speaker 1>they was somewhat formulae, but I thought it had some

1015
00:55:47.719 --> 00:55:51.320
<v Speaker 1>novelty to it. The second season, I mean, we've only

1016
00:55:51.360 --> 00:55:54.719
<v Speaker 1>watched two or three episodes, and yeah, I'm I'm worried

1017
00:55:54.760 --> 00:55:57.280
<v Speaker 1>that they're because they have they've leaned a lot into

1018
00:55:57.320 --> 00:56:00.480
<v Speaker 1>a lot of things that generally have and then most

1019
00:56:00.519 --> 00:56:03.639
<v Speaker 1>of the other spy thrillers. So we'll see, we'll see

1020
00:56:03.639 --> 00:56:06.079
<v Speaker 1>how it goes. But yeah, the first season we enjoyed

1021
00:56:06.719 --> 00:56:10.239
<v Speaker 1>for just how Yeah, there were some parts that we

1022
00:56:10.239 --> 00:56:13.599
<v Speaker 1>were different. Blacklist was definitely there was a there was

1023
00:56:13.639 --> 00:56:17.159
<v Speaker 1>a twist or an angle on every episode, and.

1024
00:56:17.119 --> 00:56:18.639
<v Speaker 2>That made it fun to watch.

1025
00:56:18.679 --> 00:56:22.920
<v Speaker 1>It's like yeah, well, and some of it, you know it,

1026
00:56:23.440 --> 00:56:25.920
<v Speaker 1>some of it followed some of the same, you know,

1027
00:56:26.000 --> 00:56:27.079
<v Speaker 1>predictable patterns.

1028
00:56:27.559 --> 00:56:29.480
<v Speaker 2>But then there was always that thing.

1029
00:56:29.360 --> 00:56:32.079
<v Speaker 1>At the end where it was like, and you just

1030
00:56:32.199 --> 00:56:36.400
<v Speaker 1>made Readington crapped on more money or gave more power

1031
00:56:36.559 --> 00:56:39.400
<v Speaker 1>or right, right, so you did this good thing and

1032
00:56:39.440 --> 00:56:41.760
<v Speaker 1>took this criminal off the street, but it turned out

1033
00:56:41.840 --> 00:56:44.480
<v Speaker 1>that there was this other angle on it, and so

1034
00:56:44.559 --> 00:56:46.559
<v Speaker 1>you're watching it every time it went Okay, what's the

1035
00:56:46.599 --> 00:56:47.239
<v Speaker 1>angle here?

1036
00:56:48.599 --> 00:56:49.119
<v Speaker 3>Yeah?

1037
00:56:49.320 --> 00:56:52.920
<v Speaker 4>Yeah, the speaking of that one movie that was really

1038
00:56:52.920 --> 00:56:54.280
<v Speaker 4>good too, I think you might like it if you

1039
00:56:54.480 --> 00:56:57.000
<v Speaker 4>like political thrillers.

1040
00:56:57.000 --> 00:57:00.519
<v Speaker 1>To The Diplomat, if you said it, yeah, we've watched

1041
00:57:00.519 --> 00:57:02.400
<v Speaker 1>The Diplomat.

1042
00:57:03.159 --> 00:57:03.880
<v Speaker 3>I think it's good.

1043
00:57:04.840 --> 00:57:08.920
<v Speaker 2>Yeah, that one's been really good. How do I how

1044
00:57:08.920 --> 00:57:09.760
<v Speaker 2>do I put this one?

1045
00:57:10.159 --> 00:57:14.039
<v Speaker 1>So a lot of the things that happen in it, right,

1046
00:57:14.679 --> 00:57:18.000
<v Speaker 1>you talked about things being somewhat formulaic, A lot of

1047
00:57:18.000 --> 00:57:20.920
<v Speaker 1>that stuff, right, as far as like the spy and

1048
00:57:20.960 --> 00:57:24.199
<v Speaker 1>cloak and dagger stuff, right, Yeah, you kind of follow

1049
00:57:24.239 --> 00:57:26.119
<v Speaker 1>along with that and go, yeah, this is this is

1050
00:57:26.199 --> 00:57:27.280
<v Speaker 1>kind of a spy thriller.

1051
00:57:27.679 --> 00:57:31.880
<v Speaker 2>But the difference is is that she's the ambassador and

1052
00:57:32.079 --> 00:57:37.119
<v Speaker 2>her husband's this wild card and and you know, you

1053
00:57:37.119 --> 00:57:37.960
<v Speaker 2>you keep going.

1054
00:57:38.280 --> 00:57:40.480
<v Speaker 1>He's totally on her side, and then in the next

1055
00:57:40.519 --> 00:57:43.920
<v Speaker 1>breath he's like, he's totally destructive to this, right, And

1056
00:57:44.000 --> 00:57:47.760
<v Speaker 1>so it's the characters that make the difference there, because

1057
00:57:48.239 --> 00:57:52.559
<v Speaker 1>the circumstances just are you know, it really keeps you guessing.

1058
00:57:52.679 --> 00:57:55.800
<v Speaker 2>And so, yeah, it was good.

1059
00:57:55.880 --> 00:57:59.400
<v Speaker 3>It's it was fun and like you always have these.

1060
00:58:01.280 --> 00:58:04.440
<v Speaker 4>Comic on that tune to it, so it's like, see

1061
00:58:04.519 --> 00:58:06.760
<v Speaker 4>us of what you could laugh at, like some of

1062
00:58:06.800 --> 00:58:10.400
<v Speaker 4>the things she's doing, yeah.

1063
00:58:09.760 --> 00:58:16.400
<v Speaker 2>Well, and and some of that too. Is so typically when.

1064
00:58:16.159 --> 00:58:20.000
<v Speaker 1>You see the spy thrillers and stuff like this, the

1065
00:58:20.039 --> 00:58:22.719
<v Speaker 1>motivations are usually more or less the same.

1066
00:58:23.159 --> 00:58:26.559
<v Speaker 2>And with her, she's not right.

1067
00:58:26.719 --> 00:58:31.360
<v Speaker 1>It's like I yeah, yeah, they come out from in

1068
00:58:31.400 --> 00:58:32.960
<v Speaker 1>the diplomat with I don't want to give it too

1069
00:58:33.039 --> 00:58:34.840
<v Speaker 1>much away, but they come out pretty early in the

1070
00:58:34.840 --> 00:58:38.840
<v Speaker 1>diplomat that she's essentially up to become the vice president.

1071
00:58:39.360 --> 00:58:39.559
<v Speaker 2>Right.

1072
00:58:39.599 --> 00:58:42.119
<v Speaker 1>They're looking to push the vice president out and they're

1073
00:58:42.119 --> 00:58:45.559
<v Speaker 1>thinking about pulling her in as the VP, and and

1074
00:58:45.599 --> 00:58:48.760
<v Speaker 1>she doesn't why, she doesn't know if she wants it,

1075
00:58:49.719 --> 00:58:54.679
<v Speaker 1>and so so she doesn't because she just wants to

1076
00:58:54.719 --> 00:58:57.199
<v Speaker 1>be herself and do things the way she's always done them,

1077
00:58:58.000 --> 00:59:01.079
<v Speaker 1>and so and then there's some there character development things

1078
00:59:01.119 --> 00:59:04.159
<v Speaker 1>like that that you know anyway, that that's the fun

1079
00:59:04.159 --> 00:59:04.679
<v Speaker 1>part of that.

1080
00:59:05.599 --> 00:59:06.119
<v Speaker 2>What are you saying?

1081
00:59:06.159 --> 00:59:09.119
<v Speaker 4>Have you seen all the all the episodes? I don't

1082
00:59:09.119 --> 00:59:10.480
<v Speaker 4>want to spoil it for you in anyway.

1083
00:59:11.000 --> 00:59:12.960
<v Speaker 1>Yeah, I've seen them all, but I don't want to

1084
00:59:12.960 --> 00:59:15.000
<v Speaker 1>spoil I don't want to spoil it for anybody else.

1085
00:59:16.199 --> 00:59:18.320
<v Speaker 3>I can't you all go say it's nice, it's a

1086
00:59:18.400 --> 00:59:18.920
<v Speaker 3>nice watch.

1087
00:59:19.519 --> 00:59:23.239
<v Speaker 2>Yeah, it gets it gets deeper and deeper.

1088
00:59:24.480 --> 00:59:30.320
<v Speaker 3>Into this mess anyway. Your husband he's crazy, Yeah, he.

1089
00:59:30.440 --> 00:59:33.880
<v Speaker 1>Is, he's he's But the thing is is he's doing

1090
00:59:33.880 --> 00:59:37.519
<v Speaker 1>what he thinks is best for her. There are times

1091
00:59:37.519 --> 00:59:40.880
<v Speaker 1>where you're thinking he's also doing what's best for him.

1092
00:59:41.440 --> 00:59:44.679
<v Speaker 1>But yeah, but it makes it really interesting because the

1093
00:59:44.679 --> 00:59:47.400
<v Speaker 1>themes that motivate him and the reasons he makes.

1094
00:59:47.239 --> 00:59:49.079
<v Speaker 2>His decisions are completely different from her.

1095
00:59:49.840 --> 00:59:52.599
<v Speaker 1>And so yeah, so you're like, he does stuff and

1096
00:59:52.639 --> 00:59:54.639
<v Speaker 1>you're like that was really sneaky, and.

1097
00:59:54.960 --> 01:00:00.559
<v Speaker 2>Oh that hurt because you're rooting for her anyway.

1098
01:00:01.119 --> 01:00:03.000
<v Speaker 3>Yeah, it's good stuff.

1099
01:00:03.480 --> 01:00:08.800
<v Speaker 1>Yeah anyway, all right, Well, if people want to connect

1100
01:00:08.800 --> 01:00:10.840
<v Speaker 1>with you, where's the best place to do that?

1101
01:00:12.239 --> 01:00:16.079
<v Speaker 4>Yeah, X I think where I'm at most of the time. Yeah,

1102
01:00:16.599 --> 01:00:22.880
<v Speaker 4>Dominos Calvin, Dominos on Calvin. Yeah, thank you, that's why

1103
01:00:22.920 --> 01:00:27.639
<v Speaker 4>we do it. Yeah, So could mention me on anything

1104
01:00:27.679 --> 01:00:30.280
<v Speaker 4>and I'll answer when I'm online.

1105
01:00:30.400 --> 01:00:34.719
<v Speaker 2>Actually, all right, good deal. We'll go ahead and wrap

1106
01:00:34.719 --> 01:00:35.880
<v Speaker 2>it up here. Thanks for coming.

1107
01:00:37.440 --> 01:00:38.840
<v Speaker 3>Thank you so much. I love that.

1108
01:00:39.000 --> 01:00:42.920
<v Speaker 1>Yeah, all right, folks, we're gonna wrap it up here

1109
01:00:43.000 --> 01:00:43.719
<v Speaker 1>until next time.

1110
01:00:44.280 --> 01:00:44.840
<v Speaker 2>Max out
