WEBVTT

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

2
00:00:09.119 --> 00:00:11.039
<v Speaker 1>on our panel, we have Dan Shapier.

3
00:00:11.519 --> 00:00:15.839
<v Speaker 2>Hello from still Cold tel Aviv. Cool.

4
00:00:16.519 --> 00:00:18.920
<v Speaker 1>I just went for a walk in like thirty degree weather.

5
00:00:18.960 --> 00:00:22.079
<v Speaker 2>So it's relatively cold. I mean it's a fifty degrees

6
00:00:22.120 --> 00:00:25.239
<v Speaker 2>fahrenheit or so, so you know that's really cold.

7
00:00:25.600 --> 00:00:30.640
<v Speaker 1>That's like cross what Okay, fine, all the snow hasn't melted.

8
00:00:30.679 --> 00:00:30.839
<v Speaker 2>Here.

9
00:00:30.839 --> 00:00:34.000
<v Speaker 1>I'm Charles Maxwood from Top End Depths and we have

10
00:00:34.039 --> 00:00:36.799
<v Speaker 1>a special guest this week. We have Jack Harrington. Jack,

11
00:00:36.880 --> 00:00:38.000
<v Speaker 1>it's been a while.

12
00:00:37.960 --> 00:00:40.240
<v Speaker 3>Yeah right, wow, you know we used to do a

13
00:00:40.280 --> 00:00:43.759
<v Speaker 3>podcast together and yeah, now've my own podcast and there

14
00:00:43.799 --> 00:00:44.039
<v Speaker 3>you go.

15
00:00:44.079 --> 00:00:46.399
<v Speaker 4>But it's great being here. It's so nice to see

16
00:00:46.399 --> 00:00:49.600
<v Speaker 4>you guys again. And yeah, it's great, great to be here.

17
00:00:49.719 --> 00:00:52.840
<v Speaker 4>And here it's weirdly very sunny. We've had a lot

18
00:00:52.840 --> 00:00:53.960
<v Speaker 4>of rain lately where.

19
00:00:53.840 --> 00:00:57.320
<v Speaker 3>I'm over in Portland and it's like fifty which to

20
00:00:57.399 --> 00:01:03.679
<v Speaker 3>us is shorts weather. Right, yeah, that's like bombing.

21
00:01:05.159 --> 00:01:05.599
<v Speaker 4>Let's go.

22
00:01:06.920 --> 00:01:10.000
<v Speaker 1>Yeah, you can have humidity there too, so.

23
00:01:11.840 --> 00:01:18.200
<v Speaker 3>Like crumbling my fingers and stuff.

24
00:01:18.239 --> 00:01:20.280
<v Speaker 4>I moisturize all day.

25
00:01:21.519 --> 00:01:25.719
<v Speaker 1>Well compared to hear it's humid. Yeah, we live in

26
00:01:25.719 --> 00:01:30.159
<v Speaker 1>this desert anytimes. I don't know.

27
00:01:30.239 --> 00:01:32.719
<v Speaker 4>The skiing is good, Yeah, there you go.

28
00:01:34.000 --> 00:01:37.920
<v Speaker 1>But yeah, Dan Dan said that great react as going away?

29
00:01:38.159 --> 00:01:38.560
<v Speaker 1>Is that right?

30
00:01:38.640 --> 00:01:41.640
<v Speaker 2>Yeah, it's gone away. It's gone officially.

31
00:01:41.959 --> 00:01:43.519
<v Speaker 3>Well we can still use it, but it gets a

32
00:01:43.519 --> 00:01:46.280
<v Speaker 3>big warning about deprecations deprecated.

33
00:01:46.400 --> 00:01:47.760
<v Speaker 1>So to me, that's going away.

34
00:01:47.760 --> 00:01:50.920
<v Speaker 4>But oh no, it's definitely going I mean, yeah eventually.

35
00:01:51.879 --> 00:01:56.120
<v Speaker 2>Well look things well stuff like that. I don't know,

36
00:01:56.159 --> 00:01:58.680
<v Speaker 2>maybe one day it will be officially e weld. But

37
00:02:00.000 --> 00:02:03.120
<v Speaker 2>from my perspective, when it's deprecated, you really shouldn't be

38
00:02:03.239 --> 00:02:04.400
<v Speaker 2>using it for new stuff.

39
00:02:05.599 --> 00:02:06.359
<v Speaker 1>Yeah, I agree.

40
00:02:06.640 --> 00:02:10.800
<v Speaker 3>Yeah, there's been better alternatives for a while. But I

41
00:02:10.800 --> 00:02:15.840
<v Speaker 3>think the big difference is that, like the problem with

42
00:02:15.879 --> 00:02:19.080
<v Speaker 3>that they were we have is that there's a lot

43
00:02:19.080 --> 00:02:21.479
<v Speaker 3>of old tutorials and stuff that use create react app.

44
00:02:21.560 --> 00:02:24.439
<v Speaker 3>There's still as valid as they were back then. Now

45
00:02:24.599 --> 00:02:27.120
<v Speaker 3>you know they're talking about like maybe you stay and

46
00:02:27.240 --> 00:02:30.520
<v Speaker 3>basic hooks and stuff like that, and you know those

47
00:02:30.560 --> 00:02:32.960
<v Speaker 3>are going to last for a while, and just because

48
00:02:32.960 --> 00:02:36.479
<v Speaker 3>they use create react app in the demo doesn't like

49
00:02:36.919 --> 00:02:39.639
<v Speaker 3>distract from that. So you know, that's kind of the

50
00:02:39.680 --> 00:02:42.800
<v Speaker 3>problem that folks are having, which is they deprecated this

51
00:02:42.879 --> 00:02:45.240
<v Speaker 3>thing into now learners, folks who just want to like

52
00:02:45.520 --> 00:02:49.319
<v Speaker 3>try out stuff, you know, they what are their alternatives?

53
00:02:49.319 --> 00:02:51.759
<v Speaker 3>And the alternatives they were given were like the next.

54
00:02:52.520 --> 00:02:56.240
<v Speaker 2>Before we go to alternatives. Maybe it's worthwhile. I'm guessing

55
00:02:56.280 --> 00:02:59.400
<v Speaker 2>everybody knows, probably our entire audience, but I still think

56
00:02:59.400 --> 00:03:03.919
<v Speaker 2>it's worth while to mention what create react app was

57
00:03:04.360 --> 00:03:07.560
<v Speaker 2>or is it still is, why it was actually needed,

58
00:03:07.560 --> 00:03:08.520
<v Speaker 2>what it does for you.

59
00:03:09.560 --> 00:03:12.719
<v Speaker 3>Sure, so create React ap is interesting, it won The

60
00:03:12.759 --> 00:03:16.120
<v Speaker 3>most salient thing to me is that it creates React apps, right,

61
00:03:16.159 --> 00:03:18.000
<v Speaker 3>and those are SPA applications.

62
00:03:18.599 --> 00:03:20.560
<v Speaker 4>This was done in the very early days.

63
00:03:21.199 --> 00:03:24.120
<v Speaker 3>I mean SSR was around, But this is not creating

64
00:03:24.199 --> 00:03:26.159
<v Speaker 3>SSR applications. This is creating the kind of stuff that

65
00:03:26.199 --> 00:03:29.159
<v Speaker 3>you'd build. You create a disc file, you put that

66
00:03:29.240 --> 00:03:31.080
<v Speaker 3>off on S three or some CDN, and you'd have

67
00:03:31.159 --> 00:03:35.639
<v Speaker 3>yourself a site and very simple stuff, you know, SPA

68
00:03:35.840 --> 00:03:37.479
<v Speaker 3>single page application type stuff.

69
00:03:38.080 --> 00:03:38.960
<v Speaker 4>And the other thing that.

70
00:03:39.400 --> 00:03:42.599
<v Speaker 3>Interesting about create React app that I had actually forgotten

71
00:03:43.520 --> 00:03:47.080
<v Speaker 3>was that it remains a dependency in your application. It

72
00:03:47.120 --> 00:03:49.560
<v Speaker 3>doesn't just create the app. It actually like remains a

73
00:03:49.560 --> 00:03:50.599
<v Speaker 3>dependency in your application.

74
00:03:50.800 --> 00:03:53.680
<v Speaker 2>Yeah, gets injected into your package jsone.

75
00:03:53.439 --> 00:03:56.199
<v Speaker 3>Oh yeah, and then it actually maintained like it will

76
00:03:56.439 --> 00:03:59.919
<v Speaker 3>rev your React versions and everything like that going forward.

77
00:04:00.039 --> 00:04:03.120
<v Speaker 3>And that was the original promise of Create React App

78
00:04:03.240 --> 00:04:05.680
<v Speaker 3>was to give you like it was an actual platform,

79
00:04:05.919 --> 00:04:09.479
<v Speaker 3>kind of like next JS. And the idea was you

80
00:04:09.479 --> 00:04:11.280
<v Speaker 3>get on create React app and you can just keep

81
00:04:11.319 --> 00:04:13.960
<v Speaker 3>reving that and you always keep up to date with React.

82
00:04:14.439 --> 00:04:17.480
<v Speaker 3>And that kind of stumbled I don't know, like zero

83
00:04:17.560 --> 00:04:21.040
<v Speaker 3>point or sixteen kind of that and that time.

84
00:04:21.959 --> 00:04:25.959
<v Speaker 2>So it would literally whenever a new React version would

85
00:04:26.040 --> 00:04:31.199
<v Speaker 2>come out, would automatically update your package Jason to use

86
00:04:31.399 --> 00:04:33.959
<v Speaker 2>that you were version without even asking you.

87
00:04:34.439 --> 00:04:37.279
<v Speaker 3>No, no, no, no, I mean it's it's dependencies. It

88
00:04:37.319 --> 00:04:40.319
<v Speaker 3>would handle the React dependency for you, so you'd bump.

89
00:04:40.360 --> 00:04:43.000
<v Speaker 2>Your I don't remember, I just I don't remember that.

90
00:04:45.160 --> 00:04:48.279
<v Speaker 3>Yeah, that's that was what I believe it did. And

91
00:04:48.319 --> 00:04:50.800
<v Speaker 3>that was what that was what folks were complaining about

92
00:04:50.800 --> 00:04:53.079
<v Speaker 3>when we talked about like, oh, we we've got this

93
00:04:53.160 --> 00:04:55.560
<v Speaker 3>drop in replacement, They're like, oh, well, are you actually

94
00:04:55.600 --> 00:04:59.360
<v Speaker 3>replacing that that functionality in create React ap.

95
00:04:59.399 --> 00:05:01.879
<v Speaker 4>Are you going to hand all of that? It's like, no, no, no,

96
00:05:02.079 --> 00:05:04.720
<v Speaker 4>that we don't. They don't do that. We just make

97
00:05:04.759 --> 00:05:05.160
<v Speaker 4>an app.

98
00:05:05.600 --> 00:05:09.759
<v Speaker 2>It seems weird. I mean, NPM exists so that it

99
00:05:09.839 --> 00:05:13.920
<v Speaker 2>does that stuff for you. Why would you need something

100
00:05:13.959 --> 00:05:16.879
<v Speaker 2>else to do that for you on top of NPM.

101
00:05:17.240 --> 00:05:20.399
<v Speaker 3>What's handling all the other things like Webpack and everything else.

102
00:05:20.480 --> 00:05:22.959
<v Speaker 4>Oh yeah, no, I'm talking about consistencies right.

103
00:05:23.279 --> 00:05:26.000
<v Speaker 2>No, No, I'm putting Webpack aside for a minute. I'm

104
00:05:26.040 --> 00:05:28.319
<v Speaker 2>talking just about what you said about keeping you up

105
00:05:28.319 --> 00:05:29.519
<v Speaker 2>to date with reacts.

106
00:05:30.040 --> 00:05:30.240
<v Speaker 4>Yeah.

107
00:05:30.240 --> 00:05:33.639
<v Speaker 1>I would imagine that it, you know, is things get

108
00:05:33.759 --> 00:05:38.560
<v Speaker 1>released that it has some internal, you know, way of

109
00:05:38.600 --> 00:05:41.639
<v Speaker 1>tracking dependencies. So it's not just React, it's all the

110
00:05:41.680 --> 00:05:42.199
<v Speaker 1>other stuff.

111
00:05:42.279 --> 00:05:43.839
<v Speaker 4>It's all theilary extra things.

112
00:05:44.199 --> 00:05:46.920
<v Speaker 1>So when you update it, it's saying, we know this

113
00:05:46.959 --> 00:05:49.439
<v Speaker 1>stuff plays nice together, and so it updates everything.

114
00:05:49.560 --> 00:05:53.240
<v Speaker 2>Oh okay, yeah yeah, Still what seemed to be stuff

115
00:05:53.279 --> 00:05:56.240
<v Speaker 2>that should be handled via the package manager rather than

116
00:05:56.279 --> 00:05:57.639
<v Speaker 2>something ideally Yeah.

117
00:05:57.959 --> 00:06:00.279
<v Speaker 3>Yeah, And I think that that's where it kind of like,

118
00:06:00.319 --> 00:06:02.879
<v Speaker 3>that's I mean, this thing came out like a decade ago,

119
00:06:03.040 --> 00:06:06.040
<v Speaker 3>and I think back then they were trying to compete

120
00:06:06.079 --> 00:06:09.000
<v Speaker 3>against an Angular and Angular was starting to have that

121
00:06:09.079 --> 00:06:11.720
<v Speaker 3>cl I, and the cl I was doing that kind

122
00:06:11.759 --> 00:06:13.480
<v Speaker 3>of thing where it's taking care of all that that

123
00:06:13.519 --> 00:06:14.600
<v Speaker 3>funky business for you.

124
00:06:15.199 --> 00:06:17.519
<v Speaker 1>So it did a lot of other things for you too.

125
00:06:17.560 --> 00:06:20.360
<v Speaker 3>But yeah, yeah, so this is a nice way, you know,

126
00:06:20.399 --> 00:06:23.120
<v Speaker 3>for them to like kind of compete against that. But

127
00:06:23.240 --> 00:06:26.120
<v Speaker 3>in the modern context, nobody, I mean, at least for me.

128
00:06:26.399 --> 00:06:28.839
<v Speaker 3>I mean, nobody wants that. Everybody just wants to maintain

129
00:06:28.839 --> 00:06:31.279
<v Speaker 3>their own package of stuff and do the reving themselves

130
00:06:31.360 --> 00:06:32.839
<v Speaker 3>and have granio control over it.

131
00:06:33.279 --> 00:06:37.240
<v Speaker 2>I always thought that it was primarily about getting the

132
00:06:37.240 --> 00:06:42.759
<v Speaker 2>Webpex stuff right, that, you know, getting properly configuring webpack.

133
00:06:43.199 --> 00:06:43.839
<v Speaker 4>Oh my god.

134
00:06:43.959 --> 00:06:45.959
<v Speaker 2>Yeah, yeah, that's.

135
00:06:45.800 --> 00:06:49.879
<v Speaker 3>Not trivial, right, And when you eject, well, that's the thing, right,

136
00:06:50.319 --> 00:06:53.560
<v Speaker 3>there's this whole thing about ejecting from create react ap

137
00:06:53.720 --> 00:06:55.439
<v Speaker 3>and so why do you need to eject from create

138
00:06:55.480 --> 00:06:58.639
<v Speaker 3>react app unless it's actively maintaining stuff for you. Well,

139
00:06:59.000 --> 00:07:00.839
<v Speaker 3>you know what you do when you eject from create

140
00:07:00.920 --> 00:07:03.639
<v Speaker 3>react ap is it actually gives you access to all

141
00:07:03.680 --> 00:07:06.560
<v Speaker 3>of the stuff that it's maintaining, including like the webpack

142
00:07:06.600 --> 00:07:08.079
<v Speaker 3>and fig and everything else.

143
00:07:08.079 --> 00:07:09.959
<v Speaker 4>And if you look at the whypack and fig, it's

144
00:07:10.720 --> 00:07:15.480
<v Speaker 4>it's shockingly complex. It was, it was huge. It's crazy.

145
00:07:16.639 --> 00:07:19.040
<v Speaker 1>I quit having nightmares about webpath and now you're bringing

146
00:07:19.079 --> 00:07:19.439
<v Speaker 1>it back.

147
00:07:22.959 --> 00:07:28.040
<v Speaker 2>So basically, we had this command line tool that people

148
00:07:28.120 --> 00:07:31.120
<v Speaker 2>who wanted to start playing around with React and maybe

149
00:07:31.319 --> 00:07:34.879
<v Speaker 2>didn't have a lot of experience in single page applications

150
00:07:35.199 --> 00:07:38.519
<v Speaker 2>either way, Yeah, could get up to speed, and as

151
00:07:38.560 --> 00:07:41.279
<v Speaker 2>you said, it would configure the bundling for you, that

152
00:07:41.480 --> 00:07:45.600
<v Speaker 2>is webpack, It would download the necessary stuff. It might

153
00:07:45.720 --> 00:07:47.879
<v Speaker 2>even keep you up to date on some of the things,

154
00:07:48.120 --> 00:07:51.639
<v Speaker 2>and it would create a simple project for you. To

155
00:07:51.680 --> 00:07:54.800
<v Speaker 2>be honest, it's been a very long time since I've

156
00:07:54.879 --> 00:07:57.800
<v Speaker 2>actually used create and React ap myself. Most of the

157
00:07:57.839 --> 00:08:01.480
<v Speaker 2>projects that I've been working on did that a while ago.

158
00:08:01.720 --> 00:08:05.800
<v Speaker 4>Right, yeah, exactly. Yeah, but it was funny.

159
00:08:05.800 --> 00:08:07.360
<v Speaker 3>I saw it again for the first time and I

160
00:08:07.399 --> 00:08:10.600
<v Speaker 3>was like, oh, I remember this, the spinning React logo.

161
00:08:10.480 --> 00:08:13.920
<v Speaker 4>On the homepage. You know, wow, that's what that was.

162
00:08:15.000 --> 00:08:18.240
<v Speaker 3>And yeah, so we did kind of a riff on

163
00:08:18.279 --> 00:08:20.040
<v Speaker 3>that when when we did our thing.

164
00:08:20.439 --> 00:08:22.839
<v Speaker 2>Okay, so talking about your thing, so we said that

165
00:08:22.920 --> 00:08:23.839
<v Speaker 2>it's going away.

166
00:08:24.800 --> 00:08:27.959
<v Speaker 1>I guess here, I'm gonna pop a comment that somebody

167
00:08:27.959 --> 00:08:33.919
<v Speaker 1>threw our way, he says the professor. His professor still

168
00:08:34.000 --> 00:08:37.159
<v Speaker 1>uses create React app for teaching React, and he suggested

169
00:08:37.240 --> 00:08:39.360
<v Speaker 1>vite And it sounds like you've got some other idea

170
00:08:39.480 --> 00:08:40.080
<v Speaker 1>of what to.

171
00:08:40.039 --> 00:08:41.840
<v Speaker 4>Do no, I agree.

172
00:08:41.879 --> 00:08:44.600
<v Speaker 2>Actually, be honest, before we go there, I have to

173
00:08:44.639 --> 00:08:48.000
<v Speaker 2>say that I'm kind of shocked that a professor teaches

174
00:08:48.120 --> 00:08:49.639
<v Speaker 2>react really.

175
00:08:52.399 --> 00:08:54.279
<v Speaker 3>I mean a couple of years ago, I wouldn't I

176
00:08:54.279 --> 00:08:56.799
<v Speaker 3>would be shocked, But nowadays, like I my kid just

177
00:08:56.840 --> 00:09:00.720
<v Speaker 3>went through Oregon State and yeah that the web the

178
00:09:00.840 --> 00:09:05.840
<v Speaker 3>courses were has some you know, kind of recent stuff,

179
00:09:05.879 --> 00:09:08.120
<v Speaker 3>and I think there was an actual course on web

180
00:09:08.279 --> 00:09:09.519
<v Speaker 3>development in particular.

181
00:09:09.559 --> 00:09:15.679
<v Speaker 4>And yeah, sure they react yeah money man, practical skills.

182
00:09:16.399 --> 00:09:19.039
<v Speaker 1>In high school, we're doing web development. But I think

183
00:09:19.039 --> 00:09:22.320
<v Speaker 1>they were teaching him just the general web APIs for JavaScript.

184
00:09:22.799 --> 00:09:23.480
<v Speaker 4>That's a good idea.

185
00:09:24.000 --> 00:09:26.799
<v Speaker 2>It's just the universities tend to be elitist in these

186
00:09:27.120 --> 00:09:30.120
<v Speaker 2>sort of things, Ivory Tower and whatnot. And it's not

187
00:09:30.200 --> 00:09:34.240
<v Speaker 2>about the practical skills. It's about expanding your mind. So

188
00:09:34.320 --> 00:09:39.120
<v Speaker 2>they teach you Java. Yeah, because that expands your mind.

189
00:09:40.679 --> 00:09:41.679
<v Speaker 1>When I went to college.

190
00:09:43.120 --> 00:09:45.039
<v Speaker 2>I won't tell you what they talked when I went

191
00:09:45.080 --> 00:09:54.200
<v Speaker 2>to university. Yeah. Anyway, we digress, Uh, going back to

192
00:09:54.240 --> 00:10:00.879
<v Speaker 2>the topic at hand. So, like that commenter stated, isn't

193
00:10:01.240 --> 00:10:04.720
<v Speaker 2>vat kind of a replacement for create react up these days?

194
00:10:04.759 --> 00:10:06.440
<v Speaker 2>What's missing? Uh?

195
00:10:06.759 --> 00:10:07.120
<v Speaker 4>Okay?

196
00:10:07.200 --> 00:10:11.759
<v Speaker 3>So, as an educator, I think every little bump in

197
00:10:11.799 --> 00:10:15.399
<v Speaker 3>the road from what I'm seeing in my tutorial versus

198
00:10:15.399 --> 00:10:16.679
<v Speaker 3>what I'm actually like.

199
00:10:16.679 --> 00:10:20.480
<v Speaker 4>Getting as as part of the setup is a problem.

200
00:10:20.879 --> 00:10:23.960
<v Speaker 3>And because I'm seeing people people would say, oh, you know,

201
00:10:24.600 --> 00:10:27.440
<v Speaker 3>your tutorial says change this one line and this one

202
00:10:27.440 --> 00:10:30.159
<v Speaker 3>line is different from what I expect because it's now

203
00:10:30.200 --> 00:10:32.639
<v Speaker 3>I do my great React app or whatever, and I

204
00:10:32.639 --> 00:10:36.720
<v Speaker 3>get something else. Right, And so when I'm thinking about

205
00:10:36.720 --> 00:10:38.799
<v Speaker 3>folks who are going to take those tutorials and would

206
00:10:38.840 --> 00:10:42.480
<v Speaker 3>normally be doing, like create React app. If you say them, cool,

207
00:10:42.679 --> 00:10:45.559
<v Speaker 3>just use VAT. Well one, what VAT command do you use?

208
00:10:46.120 --> 00:10:49.960
<v Speaker 3>Because there, if you just run VAT, you'll actually create

209
00:10:50.159 --> 00:10:52.840
<v Speaker 3>vat app or whatever it is you'll get, like I think,

210
00:10:53.039 --> 00:10:54.440
<v Speaker 3>I don't even know if there is a default, but

211
00:10:54.519 --> 00:10:58.559
<v Speaker 3>the defaults probably view and so you need to like

212
00:10:58.600 --> 00:11:02.120
<v Speaker 3>specify a template and the temple would be React or

213
00:11:02.159 --> 00:11:04.759
<v Speaker 3>React tosh ts and that will give you React or

214
00:11:04.799 --> 00:11:07.960
<v Speaker 3>React typescript. And then once you get the app, I'm

215
00:11:08.000 --> 00:11:11.159
<v Speaker 3>pretty sure the files are in different locations. Certainly the

216
00:11:11.200 --> 00:11:14.840
<v Speaker 3>content is entirely different. And now, as a as a

217
00:11:14.879 --> 00:11:18.799
<v Speaker 3>potential learner, right, I've got this huge disparity between where

218
00:11:18.840 --> 00:11:22.600
<v Speaker 3>the tutorial is and where this this VAT app that

219
00:11:22.679 --> 00:11:25.360
<v Speaker 3>I just created is. It looks like an entirely different thing,

220
00:11:25.960 --> 00:11:27.919
<v Speaker 3>you know, And it only gets worse if you look

221
00:11:27.919 --> 00:11:30.120
<v Speaker 3>at next jas because now next jas it's like it's

222
00:11:30.120 --> 00:11:33.840
<v Speaker 3>not even really a SPA anymore. It's now an actual

223
00:11:33.960 --> 00:11:36.840
<v Speaker 3>like SSR app and that's a whole thing.

224
00:11:37.360 --> 00:11:38.320
<v Speaker 2>Yeah, it's a SPA.

225
00:11:38.799 --> 00:11:39.480
<v Speaker 4>It's not though.

226
00:11:39.639 --> 00:11:42.480
<v Speaker 3>I mean, you've got to use used client one and

227
00:11:42.519 --> 00:11:44.200
<v Speaker 3>that's been in an old school tutorial.

228
00:11:44.240 --> 00:11:45.440
<v Speaker 4>It's not going to tell you to do that.

229
00:11:45.799 --> 00:11:47.639
<v Speaker 3>And even if you do use use client, well, it's

230
00:11:47.639 --> 00:11:49.759
<v Speaker 3>going to render on both the server and the client,

231
00:11:49.960 --> 00:11:51.480
<v Speaker 3>and so you're going to need to do stuff like

232
00:11:51.559 --> 00:11:54.240
<v Speaker 3>checking against window and document and all the rest.

233
00:11:54.799 --> 00:11:58.720
<v Speaker 2>It's a yeah, no, I agree, I was just nitpeaking.

234
00:11:59.440 --> 00:12:04.120
<v Speaker 2>It's still a spot, it's not a it's not client rendered,

235
00:12:05.159 --> 00:12:06.000
<v Speaker 2>it's not the side.

236
00:12:06.399 --> 00:12:06.799
<v Speaker 4>Yeah.

237
00:12:07.039 --> 00:12:09.919
<v Speaker 2>So so it's still a single page application because at

238
00:12:09.960 --> 00:12:13.159
<v Speaker 2>the end of the day, even with the with next jays,

239
00:12:14.399 --> 00:12:18.519
<v Speaker 2>you can, I guess, kind of make a multi page

240
00:12:18.519 --> 00:12:21.480
<v Speaker 2>application out of next Gas, but it's not really meant

241
00:12:21.519 --> 00:12:24.200
<v Speaker 2>for that. It's meant for single page applications. But it

242
00:12:24.279 --> 00:12:28.879
<v Speaker 2>definitely involves a server yeah.

243
00:12:27.840 --> 00:12:31.279
<v Speaker 3>By the way, and actually you can build next jas fairly,

244
00:12:31.399 --> 00:12:33.200
<v Speaker 3>and you can build next jays and build it.

245
00:12:33.159 --> 00:12:34.919
<v Speaker 4>To static and all that and that.

246
00:12:35.279 --> 00:12:38.559
<v Speaker 3>In fact, it actually if you don't make any request

247
00:12:38.639 --> 00:12:41.000
<v Speaker 3>to get service side props or in the app rout

248
00:12:41.039 --> 00:12:42.559
<v Speaker 3>or if you don't make any fetches or any of

249
00:12:42.600 --> 00:12:45.440
<v Speaker 3>that or do anything dynamic, it will actually just build

250
00:12:45.480 --> 00:12:46.480
<v Speaker 3>you a static app.

251
00:12:46.720 --> 00:12:50.480
<v Speaker 2>Right. So so yeah, we actually had Rob Lee from

252
00:12:50.679 --> 00:12:53.559
<v Speaker 2>Versaill on Monday, Yeah Gus on the show, and I

253
00:12:53.679 --> 00:12:57.240
<v Speaker 2>literally asked him, like, you know, creat react app is

254
00:12:57.279 --> 00:13:00.840
<v Speaker 2>going away, what's in what's your answer when people don't

255
00:13:00.879 --> 00:13:05.480
<v Speaker 2>want like the full stack experience? And he basically said,

256
00:13:05.519 --> 00:13:11.480
<v Speaker 2>what you said, that you that that server that reacts

257
00:13:11.480 --> 00:13:16.320
<v Speaker 2>server components can actually execute a bill time and then

258
00:13:16.480 --> 00:13:19.080
<v Speaker 2>you can take the output of that build and deploy

259
00:13:19.159 --> 00:13:21.720
<v Speaker 2>it to let's say an S free bucket and have

260
00:13:21.840 --> 00:13:26.080
<v Speaker 2>it sthetically served that way. I'd be really surprised though,

261
00:13:26.120 --> 00:13:31.519
<v Speaker 2>if if people are really using that style of set

262
00:13:31.639 --> 00:13:36.240
<v Speaker 2>up in Anger with with next gs, I'd be I'd

263
00:13:36.240 --> 00:13:39.399
<v Speaker 2>be really surprised. I mean, if you're buying into next JS,

264
00:13:39.960 --> 00:13:46.559
<v Speaker 2>you're going to actually use the next JS way, I guess.

265
00:13:46.559 --> 00:13:49.159
<v Speaker 3>Yeah, you're probably there for SSR to some degree more

266
00:13:49.279 --> 00:13:51.600
<v Speaker 3>or less. I mean the cool thing with with the

267
00:13:51.639 --> 00:13:53.759
<v Speaker 3>app writer, and I'm not dissing the app writer. I

268
00:13:53.759 --> 00:13:55.120
<v Speaker 3>mean the ap riightter is an amazing piece of work.

269
00:13:55.120 --> 00:13:56.639
<v Speaker 3>And I've got course on the app writer and it's

270
00:13:56.720 --> 00:14:01.279
<v Speaker 3>it's incredible, right, But there's all kinds of options around it.

271
00:14:01.440 --> 00:14:04.559
<v Speaker 3>You know, components can be dynamic, can be you know, static,

272
00:14:04.879 --> 00:14:07.759
<v Speaker 3>and it can define route by route what's going to

273
00:14:07.799 --> 00:14:09.600
<v Speaker 3>be static when it's going to be dynamic. And it

274
00:14:09.679 --> 00:14:12.759
<v Speaker 3>is it's an amazing piece of work. But if you

275
00:14:12.840 --> 00:14:15.279
<v Speaker 3>are somebody who's just trying to like learn React or

276
00:14:15.360 --> 00:14:18.759
<v Speaker 3>just put together a SPA, like, it's a lot of

277
00:14:18.799 --> 00:14:22.840
<v Speaker 3>stuff that's entirely different from what you've experienced in the past.

278
00:14:23.240 --> 00:14:24.840
<v Speaker 3>Building out a SPA like it did.

279
00:14:24.960 --> 00:14:28.240
<v Speaker 1>Yeah, it's crazy. I think I think a lot of

280
00:14:28.279 --> 00:14:30.840
<v Speaker 1>this is is kind of where people are looking, right,

281
00:14:30.879 --> 00:14:34.000
<v Speaker 1>because I think in a lot of cases, yeah, people

282
00:14:34.039 --> 00:14:39.080
<v Speaker 1>are so as an experienced developer, right, Yeah, if I'm

283
00:14:39.120 --> 00:14:41.080
<v Speaker 1>going to go and build something mission critical, yeah, I'm

284
00:14:41.120 --> 00:14:43.320
<v Speaker 1>going to go evaluate and am I going to use next?

285
00:14:43.360 --> 00:14:44.639
<v Speaker 1>Am I going to use this? Am I going to

286
00:14:44.759 --> 00:14:47.679
<v Speaker 1>use that? Right? You know? Before just create React app,

287
00:14:47.720 --> 00:14:50.480
<v Speaker 1>get me where I want to go or not. But

288
00:14:51.120 --> 00:14:52.960
<v Speaker 1>for I think a lot of people where they're just

289
00:14:53.120 --> 00:14:55.440
<v Speaker 1>trying to learn React or trying to pick something up,

290
00:14:55.600 --> 00:14:57.360
<v Speaker 1>or you know, hey, I just want to build a

291
00:14:57.399 --> 00:14:59.440
<v Speaker 1>web app. What they do is they go to their

292
00:14:59.480 --> 00:15:01.679
<v Speaker 1>friend who looks like me, and they say what do

293
00:15:01.720 --> 00:15:04.320
<v Speaker 1>I use? And so if I'm the guy that really

294
00:15:04.399 --> 00:15:06.440
<v Speaker 1>likes next Jas, then I'm going to tell him to

295
00:15:06.480 --> 00:15:08.399
<v Speaker 1>go pick that up because it's great and I love

296
00:15:08.440 --> 00:15:12.360
<v Speaker 1>it and it does all the things. And so I

297
00:15:12.360 --> 00:15:15.039
<v Speaker 1>think that's where the conversation is, is what are the

298
00:15:15.039 --> 00:15:18.480
<v Speaker 1>trade offs now between picking next jas or something else.

299
00:15:18.879 --> 00:15:25.000
<v Speaker 2>There's another point, so I'll give I've been talking to

300
00:15:25.120 --> 00:15:30.879
<v Speaker 2>various people who are building organizational applications, and these are

301
00:15:30.919 --> 00:15:36.600
<v Speaker 2>applications that don't get ranked because they are either wholly

302
00:15:36.759 --> 00:15:40.960
<v Speaker 2>internal or maybe they are external, but they're behind some

303
00:15:41.039 --> 00:15:45.720
<v Speaker 2>authentication so they're not scanned by Google. Now, if you're

304
00:15:45.759 --> 00:15:49.320
<v Speaker 2>building a website that needs to rank, that needs to

305
00:15:49.360 --> 00:15:53.799
<v Speaker 2>be indexed, you're going to need SSR. But for a

306
00:15:53.799 --> 00:15:58.120
<v Speaker 2>lot of these internal applications, the guys working on the

307
00:15:58.399 --> 00:16:02.200
<v Speaker 2>React stuff, they don't work, they don't necessarily do anything

308
00:16:02.240 --> 00:16:07.039
<v Speaker 2>on the back end. They're connecting directly to RESTful end

309
00:16:07.080 --> 00:16:12.679
<v Speaker 2>points implemented in Go or Java or whatever, and they're

310
00:16:12.720 --> 00:16:15.600
<v Speaker 2>just building the front end and they don't care about

311
00:16:15.759 --> 00:16:22.039
<v Speaker 2>SSR because it's, like I said, it's not that type

312
00:16:22.039 --> 00:16:27.440
<v Speaker 2>of an application, and for them, next jes seems very

313
00:16:27.559 --> 00:16:28.639
<v Speaker 2>much like overkill.

314
00:16:30.360 --> 00:16:34.559
<v Speaker 3>Yeah, I'm writting down a note to myself because I

315
00:16:34.879 --> 00:16:36.919
<v Speaker 3>just had an interesting ques A question this morning about

316
00:16:37.000 --> 00:16:39.519
<v Speaker 3>using tan Sac start without SSR.

317
00:16:40.600 --> 00:16:45.080
<v Speaker 2>Actually that's the interesting point. So when we had Tanner

318
00:16:45.360 --> 00:16:47.759
<v Speaker 2>on the show and we had him as the first

319
00:16:47.960 --> 00:16:52.399
<v Speaker 2>guest this year back in January, I literally asked him

320
00:16:52.399 --> 00:16:56.039
<v Speaker 2>about that and what he conveyed to me or the

321
00:16:56.080 --> 00:16:59.000
<v Speaker 2>way that I understood it that one of the biggest

322
00:16:59.039 --> 00:17:04.960
<v Speaker 2>selling points of ten stack start versus next JS is

323
00:17:05.039 --> 00:17:10.119
<v Speaker 2>that next JS is back end first. Everything starts on

324
00:17:10.160 --> 00:17:13.480
<v Speaker 2>the back end and then some of the stuff happens

325
00:17:13.480 --> 00:17:18.720
<v Speaker 2>on the front end, and ten stack Start, even though

326
00:17:18.759 --> 00:17:23.880
<v Speaker 2>it supports that full stack configuration, the whole mindset is

327
00:17:24.000 --> 00:17:27.279
<v Speaker 2>front end first, and you can reach out to the

328
00:17:27.319 --> 00:17:31.000
<v Speaker 2>back end to get stuff to do stuff, but the

329
00:17:31.079 --> 00:17:35.519
<v Speaker 2>but the architecture is first and foremost on the front end.

330
00:17:36.440 --> 00:17:40.400
<v Speaker 2>So with a ten stack start, you might start with

331
00:17:40.519 --> 00:17:43.440
<v Speaker 2>a totally front end type of application and then say, hey,

332
00:17:43.839 --> 00:17:45.960
<v Speaker 2>I actually think I need to do some of the

333
00:17:46.000 --> 00:17:48.400
<v Speaker 2>stuff on the back end, and then you can add

334
00:17:48.440 --> 00:17:53.079
<v Speaker 2>that capability into that into the application. Whereas with next gys,

335
00:17:53.480 --> 00:17:57.039
<v Speaker 2>that's where you start pun nothing.

336
00:17:59.160 --> 00:18:03.160
<v Speaker 3>It's worse when you bring like solid starts. They but yeah,

337
00:18:03.160 --> 00:18:06.160
<v Speaker 3>I know you mean. And the interesting thing was, so

338
00:18:06.240 --> 00:18:08.400
<v Speaker 3>this guy was saying exactly that, but he was saying,

339
00:18:08.640 --> 00:18:11.119
<v Speaker 3>I don't even need SSR. All I want from start

340
00:18:11.160 --> 00:18:13.559
<v Speaker 3>is just API routes and server functions because I want

341
00:18:13.559 --> 00:18:16.440
<v Speaker 3>to have my essentially my BFF. Right, you're saying you're

342
00:18:16.480 --> 00:18:20.640
<v Speaker 3>connecting to go, Well, what if those things don't have cores? Right,

343
00:18:20.640 --> 00:18:22.839
<v Speaker 3>You're gonna need some sort of BFF to go between

344
00:18:23.119 --> 00:18:26.319
<v Speaker 3>your your UI and your your GO services on the

345
00:18:26.319 --> 00:18:29.359
<v Speaker 3>back end, or clean up whatever. We've all done that

346
00:18:29.400 --> 00:18:33.920
<v Speaker 3>sort of thing. It's basically middleware, right exactly. And so

347
00:18:34.680 --> 00:18:38.440
<v Speaker 3>he wants the middleware ability but doesn't want SSR, which

348
00:18:38.480 --> 00:18:40.319
<v Speaker 3>I thought was an interesting variant. So I gotta go

349
00:18:40.359 --> 00:18:41.880
<v Speaker 3>check with the guys and see if there's some way.

350
00:18:41.759 --> 00:18:44.799
<v Speaker 4>To like, you know, SSR falls.

351
00:18:45.279 --> 00:18:50.200
<v Speaker 2>According to Tanner, that should be the basic approach. So

352
00:18:50.319 --> 00:18:54.279
<v Speaker 2>for example, talking about and we're kind of digressing off

353
00:18:54.279 --> 00:18:59.640
<v Speaker 2>of the original topic, but interesting so the way that

354
00:19:00.960 --> 00:19:06.079
<v Speaker 2>so their their outlook or view on how to work

355
00:19:06.119 --> 00:19:11.759
<v Speaker 2>with React server components. So for next thing, yes, everything

356
00:19:11.920 --> 00:19:15.920
<v Speaker 2>starts at the React server component and the props flow

357
00:19:16.039 --> 00:19:19.400
<v Speaker 2>down from their server, so the rendering always starts on

358
00:19:19.440 --> 00:19:21.880
<v Speaker 2>the server and then at a certain point in time

359
00:19:21.920 --> 00:19:26.359
<v Speaker 2>switches over to the client. What Tenner explained is that

360
00:19:26.519 --> 00:19:32.799
<v Speaker 2>in his approach, you invoke server functions. The server functions

361
00:19:32.839 --> 00:19:36.519
<v Speaker 2>can respond with some data which you render on the client,

362
00:19:37.000 --> 00:19:42.359
<v Speaker 2>or they can actually respond with virtual dam with JSX

363
00:19:42.400 --> 00:19:47.720
<v Speaker 2>as it were, and then that gets directly rendered.

364
00:19:48.400 --> 00:19:51.799
<v Speaker 3>So as the approach is not I don't think one

365
00:19:51.799 --> 00:19:53.799
<v Speaker 3>that I was going to have that, but it's going

366
00:19:53.839 --> 00:19:55.599
<v Speaker 3>to be a fast hopefully a fast follow up to

367
00:19:55.640 --> 00:19:58.160
<v Speaker 3>like a one point one where you can return our

368
00:19:58.440 --> 00:20:02.039
<v Speaker 3>basically r sse uh and then you've got like something

369
00:20:02.079 --> 00:20:03.880
<v Speaker 3>on the client to basically allows you to say, cool,

370
00:20:04.000 --> 00:20:06.519
<v Speaker 3>I got an RC payload and then convert that into

371
00:20:06.559 --> 00:20:09.000
<v Speaker 3>VIDAM just drop that in and that's really really cool.

372
00:20:09.039 --> 00:20:11.960
<v Speaker 3>And I think that's actually like an interesting alternative to

373
00:20:12.119 --> 00:20:16.519
<v Speaker 3>the next JAS model, and I believe that's what remix

374
00:20:16.680 --> 00:20:19.119
<v Speaker 3>is going to do. At least that's what they demonstrated.

375
00:20:19.200 --> 00:20:26.000
<v Speaker 2>Reactn Tanner indicated that he and the remix guys had

376
00:20:26.119 --> 00:20:30.960
<v Speaker 2>similar a similar, apparently a similar take on how to

377
00:20:31.039 --> 00:20:34.000
<v Speaker 2>do these things. Yeah, yeah, it'll be interesting to say.

378
00:20:34.759 --> 00:20:37.440
<v Speaker 2>But going back to the topic at hand, So we

379
00:20:38.000 --> 00:20:40.559
<v Speaker 2>so we were talking about the fact that you can

380
00:20:40.960 --> 00:20:45.039
<v Speaker 2>use next gs as a replacement for Create React app.

381
00:20:45.200 --> 00:20:49.680
<v Speaker 2>I'm just going to say CRA because yeah, you can't

382
00:20:49.759 --> 00:20:52.359
<v Speaker 2>use next js as a replacement for CRA, but you

383
00:20:52.440 --> 00:20:56.160
<v Speaker 2>probably won't, and that there are a lot of organs

384
00:20:56.160 --> 00:20:59.519
<v Speaker 2>you're going to use next gs as a next GS yeah, uh,

385
00:20:59.559 --> 00:21:03.640
<v Speaker 2>and which is fine, but you know, and that there

386
00:21:03.640 --> 00:21:05.559
<v Speaker 2>are a lot of organizations and so first of all,

387
00:21:05.559 --> 00:21:07.440
<v Speaker 2>and there are a lot of people for whom they

388
00:21:07.519 --> 00:21:09.559
<v Speaker 2>just want to play with React and for them, next

389
00:21:09.599 --> 00:21:12.559
<v Speaker 2>gs is too much, too soon. And there are a

390
00:21:12.559 --> 00:21:15.119
<v Speaker 2>lot of organizations that just want to build a client

391
00:21:15.200 --> 00:21:18.799
<v Speaker 2>rendered application, and for them, a full stack type of

392
00:21:18.799 --> 00:21:24.200
<v Speaker 2>a framework is beyond an overkill. It's it's it's a

393
00:21:24.400 --> 00:21:29.240
<v Speaker 2>it's detrimental to their needs. Yeah, they don't want to

394
00:21:29.359 --> 00:21:32.160
<v Speaker 2>do stuff on the back end. They just want the

395
00:21:32.559 --> 00:21:35.200
<v Speaker 2>JavaScript developers to do stuff on the front end.

396
00:21:35.319 --> 00:21:38.559
<v Speaker 3>Yeah, And because if I'm here's a concrete example, if

397
00:21:38.599 --> 00:21:41.799
<v Speaker 3>I'm building like a dashboard and I find some you know,

398
00:21:41.839 --> 00:21:44.039
<v Speaker 3>I'm getting asked by product to put up some really

399
00:21:44.119 --> 00:21:46.880
<v Speaker 3>cool graph and the only thing that I can find

400
00:21:47.039 --> 00:21:49.519
<v Speaker 3>is this one obscure library that does this graph.

401
00:21:49.559 --> 00:21:51.599
<v Speaker 4>And I'm like, yeah, great, awesome, right.

402
00:21:51.759 --> 00:21:56.200
<v Speaker 3>And I drop it in my app in vat land

403
00:21:56.400 --> 00:21:59.119
<v Speaker 3>or in create React app land. That's probably going to

404
00:21:59.240 --> 00:22:01.880
<v Speaker 3>work hundred percent of the time. It's gonna it's gonna

405
00:22:01.920 --> 00:22:04.079
<v Speaker 3>drop in there just fine. But if you drop that

406
00:22:04.119 --> 00:22:07.880
<v Speaker 3>into a next app, and I've seen this quite a bit, actually,

407
00:22:08.319 --> 00:22:12.000
<v Speaker 3>those kind of libraries might invoke or might hit document

408
00:22:12.119 --> 00:22:16.799
<v Speaker 3>or window unconditionally as part of their setup, and those bang,

409
00:22:16.920 --> 00:22:19.759
<v Speaker 3>those blow up an SSR because there's no document, there's

410
00:22:19.759 --> 00:22:21.240
<v Speaker 3>no window on the server.

411
00:22:21.799 --> 00:22:23.519
<v Speaker 4>And so now I've.

412
00:22:23.359 --> 00:22:26.200
<v Speaker 3>Got this awesome thing that I can use, except that

413
00:22:26.240 --> 00:22:28.160
<v Speaker 3>I can't because I'm a next JAS But I'm not

414
00:22:28.279 --> 00:22:31.559
<v Speaker 3>using any of the features of next jas anyway, right,

415
00:22:31.640 --> 00:22:33.920
<v Speaker 3>and so I any end up doing that lazy imports

416
00:22:34.000 --> 00:22:37.279
<v Speaker 3>or craziness or whatever, or hacking your package.

417
00:22:36.880 --> 00:22:40.359
<v Speaker 2>Or yeah, you can't assume just to say, you can't

418
00:22:40.359 --> 00:22:45.759
<v Speaker 2>assume that the third party React up library supports SSR, right,

419
00:22:45.839 --> 00:22:46.960
<v Speaker 2>you cannot assume.

420
00:22:46.680 --> 00:22:48.160
<v Speaker 4>That even in twenty twenty five.

421
00:22:48.279 --> 00:22:52.079
<v Speaker 1>Yes, true, So so I is, And I'm going to

422
00:22:52.200 --> 00:22:54.720
<v Speaker 1>pull up another comment by our friend Burrott here who's

423
00:22:54.960 --> 00:22:56.039
<v Speaker 1>on the live stream.

424
00:22:55.720 --> 00:22:55.880
<v Speaker 2>But.

425
00:22:57.599 --> 00:23:00.200
<v Speaker 1>He's saying, so, yeah, back end teams create the s

426
00:23:00.279 --> 00:23:04.920
<v Speaker 1>APIs the front end and mobile, you know, so they

427
00:23:04.960 --> 00:23:07.160
<v Speaker 1>don't want to deal with the server stuff, which makes sense.

428
00:23:07.559 --> 00:23:10.400
<v Speaker 1>But is so is that the essential of what we're

429
00:23:10.440 --> 00:23:13.599
<v Speaker 1>talking about here is whether or not people want to

430
00:23:13.640 --> 00:23:16.799
<v Speaker 1>worry about SSR or deal with SSR or deal with

431
00:23:16.839 --> 00:23:20.359
<v Speaker 1>the server on the back end. Is that the flexibility

432
00:23:20.359 --> 00:23:22.839
<v Speaker 1>you lose with next JAS that you might get with

433
00:23:22.880 --> 00:23:23.480
<v Speaker 1>something else.

434
00:23:24.599 --> 00:23:26.799
<v Speaker 4>Well, next Das is going to push you to the

435
00:23:26.839 --> 00:23:30.319
<v Speaker 4>ext to the end end game right away, which is here,

436
00:23:30.920 --> 00:23:33.440
<v Speaker 4>you're going to do SSR, You're gonna have server functions,

437
00:23:33.480 --> 00:23:35.880
<v Speaker 4>You're gonna have API stuff, even if you don't need

438
00:23:36.079 --> 00:23:38.400
<v Speaker 4>or want them, you're going to have them, and you're

439
00:23:38.440 --> 00:23:40.680
<v Speaker 4>going to have to play in a compatible you know,

440
00:23:41.039 --> 00:23:45.839
<v Speaker 4>sandbox because of those decisions that we made. Whereas the

441
00:23:46.680 --> 00:23:48.400
<v Speaker 4>unless a hard shift to.

442
00:23:48.400 --> 00:23:50.680
<v Speaker 3>Tan stack here, So tan stack actually has a much

443
00:23:50.920 --> 00:23:57.160
<v Speaker 3>smoother migration from going a full on just spa app

444
00:23:57.440 --> 00:23:59.119
<v Speaker 3>that has a router in it. So you can have

445
00:23:59.200 --> 00:24:03.440
<v Speaker 3>multiple pages, milk pages or routes whatever to a file

446
00:24:03.440 --> 00:24:06.240
<v Speaker 3>based writer where you define those by file names and

447
00:24:06.599 --> 00:24:10.160
<v Speaker 3>it gets a lot easier. And then into start where

448
00:24:10.160 --> 00:24:14.920
<v Speaker 3>you can start to add API requests and AAPI endpoints

449
00:24:14.920 --> 00:24:18.400
<v Speaker 3>and server functions, so you can actually kind of as

450
00:24:18.440 --> 00:24:21.799
<v Speaker 3>you as your application grows up and starts to need

451
00:24:21.880 --> 00:24:24.279
<v Speaker 3>that stuff, then you can start to bring those things in.

452
00:24:24.640 --> 00:24:27.160
<v Speaker 3>And if and if we can disable SSR, it's even

453
00:24:27.279 --> 00:24:29.440
<v Speaker 3>it's an even smoother ramp because you can still have

454
00:24:29.519 --> 00:24:31.880
<v Speaker 3>those kind of funky libraries and stuff, but now you

455
00:24:31.880 --> 00:24:34.000
<v Speaker 3>can also still have a p I, n points and

456
00:24:34.039 --> 00:24:36.319
<v Speaker 3>server functions if you need to have those.

457
00:24:36.400 --> 00:24:38.559
<v Speaker 4>So yeah, so, and I'll.

458
00:24:38.359 --> 00:24:41.759
<v Speaker 2>Say it again. If you're building an e commerce website,

459
00:24:42.519 --> 00:24:47.440
<v Speaker 2>you you must have SSR, yeah, because otherwise you won't

460
00:24:47.559 --> 00:24:52.359
<v Speaker 2>rank well, you won't perform well, and overall it'll be

461
00:24:52.400 --> 00:24:56.240
<v Speaker 2>a bad experience for everybody all around, your users, yourself

462
00:24:56.240 --> 00:24:59.200
<v Speaker 2>and whatnot. If, on the other hand, you're building a

463
00:24:59.319 --> 00:25:03.920
<v Speaker 2>dashboard in front that that say even requires authentication, and

464
00:25:03.960 --> 00:25:07.279
<v Speaker 2>it's in front of all several back end services, there's

465
00:25:07.319 --> 00:25:10.279
<v Speaker 2>a good chance that you just don't need a CISAR.

466
00:25:10.440 --> 00:25:12.759
<v Speaker 2>You don't want a star a SESAR will just make

467
00:25:12.799 --> 00:25:14.319
<v Speaker 2>your life harder and get in the way.

468
00:25:14.599 --> 00:25:15.680
<v Speaker 4>Yeah, exactly.

469
00:25:15.759 --> 00:25:17.839
<v Speaker 2>So and with next yes, you kind of don't have

470
00:25:17.880 --> 00:25:19.839
<v Speaker 2>a choice. You can't just saw whether you like it

471
00:25:19.920 --> 00:25:20.119
<v Speaker 2>or not.

472
00:25:20.319 --> 00:25:21.000
<v Speaker 4>Yeah, exactly.

473
00:25:21.279 --> 00:25:23.119
<v Speaker 3>And here, like I was working at Nike for a

474
00:25:23.160 --> 00:25:27.160
<v Speaker 3>long time or three years, and yeah, our front end

475
00:25:27.160 --> 00:25:30.240
<v Speaker 3>teams they all use next JAS. It was all SSR,

476
00:25:30.799 --> 00:25:34.000
<v Speaker 3>and then our the teams would manage the CMS stuff,

477
00:25:34.079 --> 00:25:36.559
<v Speaker 3>which we all we drove the whole product catalog as

478
00:25:36.599 --> 00:25:37.799
<v Speaker 3>a content management system.

479
00:25:38.079 --> 00:25:39.200
<v Speaker 1>Right, those are all one.

480
00:25:39.160 --> 00:25:42.799
<v Speaker 3>Hundreds and SPA hundreds and SPA you know, all the authors, SPA,

481
00:25:43.160 --> 00:25:45.960
<v Speaker 3>all the all clients side requests, they went through their

482
00:25:45.960 --> 00:25:46.880
<v Speaker 3>own little BFF.

483
00:25:47.480 --> 00:25:53.119
<v Speaker 1>But yeah, so just to clarify because I'm liking kind

484
00:25:53.119 --> 00:25:55.880
<v Speaker 1>of the incremental Yeah, they we're going to add this feature.

485
00:25:55.880 --> 00:25:57.440
<v Speaker 1>We're going to add that feature, you know, right, And

486
00:25:57.480 --> 00:25:59.720
<v Speaker 1>so yeah, if you would never get to the place

487
00:25:59.759 --> 00:26:02.839
<v Speaker 1>where I have to have SSR, right, it's not public

488
00:26:02.839 --> 00:26:05.440
<v Speaker 1>on the web, it's not going to get indexed by Google,

489
00:26:05.960 --> 00:26:08.440
<v Speaker 1>right then, Yeah, it's nice to have the option, But

490
00:26:08.519 --> 00:26:10.799
<v Speaker 1>it also seems to me that if I'm starting a

491
00:26:10.839 --> 00:26:14.839
<v Speaker 1>new application, a lot of times I don't want all

492
00:26:14.880 --> 00:26:16.680
<v Speaker 1>of the bells and whistles in there. I want to

493
00:26:16.799 --> 00:26:19.119
<v Speaker 1>just kind of explore and figure these things out, and

494
00:26:19.160 --> 00:26:21.680
<v Speaker 1>then what you're saying is, then I can turn around

495
00:26:21.680 --> 00:26:25.319
<v Speaker 1>and say, Okay, I know that this app does need SSR, right,

496
00:26:25.359 --> 00:26:27.839
<v Speaker 1>it is going to be public facing. You know, maybe

497
00:26:27.839 --> 00:26:30.400
<v Speaker 1>it backs up onto Shopify if you're doing e commerce,

498
00:26:30.440 --> 00:26:33.240
<v Speaker 1>or it backs up onto and I've seen people do

499
00:26:33.319 --> 00:26:36.920
<v Speaker 1>this right, or it backs up onto some headless cms, right.

500
00:26:37.000 --> 00:26:39.000
<v Speaker 1>But I'm thinking, you know, I do need some of

501
00:26:39.000 --> 00:26:41.559
<v Speaker 1>these other features. Then I can pull those in once

502
00:26:41.599 --> 00:26:44.200
<v Speaker 1>I've kind of gotten the shape of the app figured out,

503
00:26:44.720 --> 00:26:47.799
<v Speaker 1>and I can approach it from that end without complicating

504
00:26:47.880 --> 00:26:50.039
<v Speaker 1>it with all the other things that, yes, something eventually need,

505
00:26:50.319 --> 00:26:52.559
<v Speaker 1>but right today, I just need to figure out what

506
00:26:52.599 --> 00:26:53.440
<v Speaker 1>this thing even looks like.

507
00:26:53.559 --> 00:26:57.039
<v Speaker 3>Yeah, exactly, Yeah, totally yeah, And that's that's what we're

508
00:26:57.039 --> 00:26:59.519
<v Speaker 3>trying to do with this create ts Router app. So

509
00:27:00.119 --> 00:27:03.799
<v Speaker 3>we were saying to folks, cool, you know cra is

510
00:27:03.839 --> 00:27:07.039
<v Speaker 3>now deprecated, and literally you know, that was on Friday

511
00:27:07.119 --> 00:27:10.039
<v Speaker 3>from the team, and then on Monday we dropped this

512
00:27:10.440 --> 00:27:13.920
<v Speaker 3>create ts rider app. And the idea is it'll give

513
00:27:13.960 --> 00:27:17.799
<v Speaker 3>you exactly the same content in the exact same locations,

514
00:27:18.119 --> 00:27:20.920
<v Speaker 3>except that it's built on top of VAT and tan

515
00:27:21.039 --> 00:27:23.920
<v Speaker 3>sac router, so off out of the shelf you get

516
00:27:23.960 --> 00:27:26.079
<v Speaker 3>a router built in, which is what a lot of

517
00:27:26.079 --> 00:27:29.400
<v Speaker 3>people want to add almost right away to their application.

518
00:27:30.480 --> 00:27:34.759
<v Speaker 2>So basically it's compatible with create React app in the

519
00:27:34.839 --> 00:27:39.319
<v Speaker 2>sense that it's a CLI tool that it doesn't require

520
00:27:39.480 --> 00:27:42.880
<v Speaker 2>anything on the back end. What's just totally front end.

521
00:27:43.400 --> 00:27:46.160
<v Speaker 2>I think even much of the command line options and

522
00:27:46.200 --> 00:27:47.640
<v Speaker 2>switches are the same.

523
00:27:47.400 --> 00:27:48.839
<v Speaker 4>As exactly the same yep.

524
00:27:49.119 --> 00:27:53.200
<v Speaker 2>Yeah, And it creates the essentially the same or very

525
00:27:53.240 --> 00:27:56.960
<v Speaker 2>similar or as close as possible, the same file structure.

526
00:27:57.240 --> 00:28:01.519
<v Speaker 3>Yeah, exactly exactly like the app like app dot jsx

527
00:28:01.519 --> 00:28:04.240
<v Speaker 3>file that they tell you or app dot tsx file

528
00:28:04.720 --> 00:28:08.559
<v Speaker 3>isn't exactly the same location. It has exactly the same contents.

529
00:28:08.880 --> 00:28:11.880
<v Speaker 3>It just happens to be like the main. There's also

530
00:28:11.960 --> 00:28:14.400
<v Speaker 3>like so the source app, which is your your component,

531
00:28:14.880 --> 00:28:17.319
<v Speaker 3>and then there's source main, which in the original CRA

532
00:28:17.599 --> 00:28:19.839
<v Speaker 3>was basically a little thing that did the you know,

533
00:28:19.920 --> 00:28:23.839
<v Speaker 3>the render root and all that stuff. This one just

534
00:28:23.880 --> 00:28:27.799
<v Speaker 3>adds in tansack rider into that and then makes that

535
00:28:27.880 --> 00:28:29.400
<v Speaker 3>the app your home route.

536
00:28:30.240 --> 00:28:30.480
<v Speaker 4>Yeah.

537
00:28:30.519 --> 00:28:35.160
<v Speaker 2>And uh, also, instead of being built on top of

538
00:28:35.200 --> 00:28:38.079
<v Speaker 2>what packet's built on top of VAT because we are

539
00:28:38.079 --> 00:28:39.400
<v Speaker 2>in twenty twenty five.

540
00:28:40.160 --> 00:28:42.480
<v Speaker 4>Right exactly, no more nightmares.

541
00:28:42.599 --> 00:28:45.559
<v Speaker 3>Yeah, and everybody literally like that was a lot of

542
00:28:45.599 --> 00:28:47.720
<v Speaker 3>the reaction to all the stuff that happened with the

543
00:28:47.720 --> 00:28:51.440
<v Speaker 3>deprecation of Cray and then the follow up blog and

544
00:28:51.720 --> 00:28:54.599
<v Speaker 3>the blog, and then also the documentation that basically says,

545
00:28:54.799 --> 00:28:58.000
<v Speaker 3>you know, it kind of alludes to like you can

546
00:28:58.079 --> 00:29:00.960
<v Speaker 3>use VT, but our recommended thing is you use a framework,

547
00:29:01.039 --> 00:29:04.960
<v Speaker 3>and the frameworks include next Day, Yes and Remax.

548
00:29:05.039 --> 00:29:06.000
<v Speaker 4>But I really felt bad.

549
00:29:06.000 --> 00:29:09.440
<v Speaker 3>I knew that, like there would be a massive pain

550
00:29:09.480 --> 00:29:12.400
<v Speaker 3>point here for folks that were trying to learn or

551
00:29:12.480 --> 00:29:15.000
<v Speaker 3>just expecting that, you know, their workflow was, Hey, I'm

552
00:29:15.000 --> 00:29:17.519
<v Speaker 3>going to spin up a SPA. I'm going to use

553
00:29:17.559 --> 00:29:19.559
<v Speaker 3>create React app. I no, it's not the greatest, but

554
00:29:19.640 --> 00:29:22.519
<v Speaker 3>like it works for me. I need a replacement and that.

555
00:29:23.160 --> 00:29:25.079
<v Speaker 3>And there was nobody who is coming out with a

556
00:29:25.119 --> 00:29:27.480
<v Speaker 3>replacement like that, and so I was like, cool, let's

557
00:29:27.480 --> 00:29:28.680
<v Speaker 3>deal it with es Rader because it's.

558
00:29:28.599 --> 00:29:33.200
<v Speaker 2>A good thing. We literally had this exact situation where

559
00:29:33.240 --> 00:29:39.000
<v Speaker 2>I work. We were starting a new relatively small project

560
00:29:39.160 --> 00:29:43.920
<v Speaker 2>React project that had these essential requirements, and I literally

561
00:29:44.000 --> 00:29:46.640
<v Speaker 2>and I kind of told them, hey, you know, these

562
00:29:46.640 --> 00:29:49.519
<v Speaker 2>are the technologies you need to use. You need to use, VT,

563
00:29:49.640 --> 00:29:54.519
<v Speaker 2>you need to use and so forth. And I literally

564
00:29:55.160 --> 00:29:59.240
<v Speaker 2>came to them and said, hey, there's this new tool

565
00:29:59.279 --> 00:30:06.440
<v Speaker 2>that dropped. It's called create ts Router app CTA.

566
00:30:07.279 --> 00:30:08.799
<v Speaker 4>Use that called action.

567
00:30:09.279 --> 00:30:13.200
<v Speaker 2>Yeah, and literally, and you know why messed around because

568
00:30:13.240 --> 00:30:16.440
<v Speaker 2>they were doing VAT directly and they ran into all

569
00:30:16.519 --> 00:30:18.960
<v Speaker 2>sorts of issues. And of course they immediately ran into

570
00:30:19.000 --> 00:30:21.400
<v Speaker 2>the problem of of hey, which router are we going

571
00:30:21.480 --> 00:30:23.200
<v Speaker 2>to use and how are we going to configure it

572
00:30:23.480 --> 00:30:27.599
<v Speaker 2>and whatnot. So I said, hey, you know, just use this.

573
00:30:27.960 --> 00:30:33.079
<v Speaker 3>Yeah, so right away we supported multiple ways you could

574
00:30:33.079 --> 00:30:36.039
<v Speaker 3>do routing. So there with CRA, you have this like

575
00:30:36.640 --> 00:30:38.160
<v Speaker 3>you give it the name of the app that you want,

576
00:30:38.359 --> 00:30:41.359
<v Speaker 3>you know, app, my app, my dash app order, and

577
00:30:41.400 --> 00:30:43.359
<v Speaker 3>then you can optually give it a template and that

578
00:30:43.400 --> 00:30:47.480
<v Speaker 3>temple would be either would generally be typescript that will

579
00:30:47.480 --> 00:30:51.359
<v Speaker 3>give you the typescript flavor of CR And so what

580
00:30:51.400 --> 00:30:53.720
<v Speaker 3>we did with CTA is we have it so a

581
00:30:53.799 --> 00:30:56.240
<v Speaker 3>template you could say typescript and get exactly the same

582
00:30:56.279 --> 00:30:58.680
<v Speaker 3>kind of deal. But you can also do template as

583
00:30:58.759 --> 00:31:02.440
<v Speaker 3>file router, and we would give you a typescript app

584
00:31:03.039 --> 00:31:06.720
<v Speaker 3>same thing, but defined using routes with a file router,

585
00:31:06.880 --> 00:31:09.319
<v Speaker 3>So if you wanted to start moving towards a file

586
00:31:09.400 --> 00:31:13.720
<v Speaker 3>routing setup, this is just a really nice segue into that.

587
00:31:14.559 --> 00:31:18.480
<v Speaker 2>So the file router basically means that the router automatically

588
00:31:18.519 --> 00:31:22.400
<v Speaker 2>matches your directory structure in terms of the pages that

589
00:31:22.400 --> 00:31:23.279
<v Speaker 2>you're using.

590
00:31:23.319 --> 00:31:27.039
<v Speaker 3>Right exactly, you get like a sourcelash slash sorts slash

591
00:31:27.240 --> 00:31:30.559
<v Speaker 3>source slash routes, and then within that all the files

592
00:31:30.599 --> 00:31:34.960
<v Speaker 3>and directories define the structure of your URLs, and different

593
00:31:35.079 --> 00:31:37.960
<v Speaker 3>routers do it different ways. You know, next JS has

594
00:31:38.000 --> 00:31:41.720
<v Speaker 3>their syntax for it. It varies between pages, Rider, nap Writer,

595
00:31:42.160 --> 00:31:44.640
<v Speaker 3>Remax has like, I don't know, like three different ways

596
00:31:44.640 --> 00:31:47.599
<v Speaker 3>you can do it, and TS writer has a couple

597
00:31:47.599 --> 00:31:50.400
<v Speaker 3>of a couple of flavors, but they're they're fairly similar.

598
00:31:51.319 --> 00:31:54.519
<v Speaker 2>So for those of our listeners who don't know, again,

599
00:31:54.599 --> 00:31:57.079
<v Speaker 2>I highly recommend listening to our episode that we did

600
00:31:57.119 --> 00:31:59.319
<v Speaker 2>with Tenor Lindsley at the beginning of the year where

601
00:31:59.359 --> 00:32:01.920
<v Speaker 2>we talked that length about TS router and why it's

602
00:32:01.920 --> 00:32:06.079
<v Speaker 2>so great. The thing that makes it so great is

603
00:32:06.119 --> 00:32:11.559
<v Speaker 2>that it's type safe, yes, which means at the simplest

604
00:32:11.640 --> 00:32:14.759
<v Speaker 2>level means that if you put in a wrong route,

605
00:32:15.720 --> 00:32:19.480
<v Speaker 2>you'll get the reds quickly, yeah, telling you that, and

606
00:32:19.559 --> 00:32:22.960
<v Speaker 2>you'll get automatic completion for routes and it just works

607
00:32:23.279 --> 00:32:27.359
<v Speaker 2>and taking it to the next stage. It also gives

608
00:32:27.400 --> 00:32:32.759
<v Speaker 2>you type safe URL parameters or querry parameters, so you

609
00:32:32.799 --> 00:32:37.200
<v Speaker 2>can actually store states safely in the URL itself, which

610
00:32:37.319 --> 00:32:40.000
<v Speaker 2>is I think awesome because that means you can actually

611
00:32:40.359 --> 00:32:42.920
<v Speaker 2>copy the URL and send it to somebody and they

612
00:32:42.960 --> 00:32:45.880
<v Speaker 2>will be in the same place in the app. That

613
00:32:46.400 --> 00:32:49.279
<v Speaker 2>you don't just share the app, you share your state

614
00:32:49.359 --> 00:32:51.599
<v Speaker 2>in the app, which is super useful.

615
00:32:51.920 --> 00:32:55.480
<v Speaker 3>Yeah, And so one of the really really in kind

616
00:32:55.480 --> 00:32:58.279
<v Speaker 3>of building on that, last week we released a tan

617
00:32:58.359 --> 00:33:03.279
<v Speaker 3>sac rider for Solid that exactly yeah, exactly the same

618
00:33:04.079 --> 00:33:08.720
<v Speaker 3>API surface between the two. Uh you know solidifide I guess,

619
00:33:08.759 --> 00:33:12.799
<v Speaker 3>so I guess. And then this this week we actually

620
00:33:12.799 --> 00:33:17.599
<v Speaker 3>released a CLI update, so create cus Rider app got better.

621
00:33:18.119 --> 00:33:21.200
<v Speaker 3>So now you can actually give it framework Solid as

622
00:33:21.880 --> 00:33:23.640
<v Speaker 3>part of the command line and it it'll actually build

623
00:33:23.640 --> 00:33:26.599
<v Speaker 3>a Solid app with exactly the same contacts, except with

624
00:33:26.680 --> 00:33:29.640
<v Speaker 3>a spinning React logo. It's now a spinning Solid logo,

625
00:33:30.559 --> 00:33:32.480
<v Speaker 3>but pretty much the same thing. And then it also

626
00:33:32.559 --> 00:33:35.200
<v Speaker 3>has two other really cool new features, ones called add

627
00:33:35.240 --> 00:33:38.200
<v Speaker 3>ons that will allow you to add on things like

628
00:33:38.319 --> 00:33:42.720
<v Speaker 3>centry and clerk and tan stack state to our store

629
00:33:42.759 --> 00:33:47.880
<v Speaker 3>to manage the state management tandstack query everybody's favorite, React Query,

630
00:33:49.200 --> 00:33:51.319
<v Speaker 3>a bunch of integrations which is really cool, and then

631
00:33:51.359 --> 00:33:53.519
<v Speaker 3>also some really cool and a cool AI feature.

632
00:33:54.039 --> 00:33:55.759
<v Speaker 2>By the way, I don't know if you do this

633
00:33:56.079 --> 00:33:59.880
<v Speaker 2>or not, but you should when you give the people,

634
00:34:00.160 --> 00:34:03.359
<v Speaker 2>when you give developers the option to install ten Sta

635
00:34:03.480 --> 00:34:07.559
<v Speaker 2>query in parentheses, you should probably say React query because

636
00:34:07.559 --> 00:34:09.440
<v Speaker 2>that's the way a lot of people still know it.

637
00:34:09.760 --> 00:34:10.400
<v Speaker 4>Yeah, I know.

638
00:34:11.079 --> 00:34:13.440
<v Speaker 3>Actually, like as a description when you're when you're going

639
00:34:13.440 --> 00:34:15.960
<v Speaker 3>through the kind of there's you can either go uya

640
00:34:16.039 --> 00:34:17.639
<v Speaker 3>the command line or you can just kind of just

641
00:34:17.800 --> 00:34:19.960
<v Speaker 3>get it like a full on like experience or that

642
00:34:20.039 --> 00:34:22.440
<v Speaker 3>we prompt you for the name and all that, and

643
00:34:22.480 --> 00:34:25.000
<v Speaker 3>when you kind of glide over it in that section,

644
00:34:25.079 --> 00:34:28.519
<v Speaker 3>it actually says, you know, it's reacting, it's rec query,

645
00:34:28.599 --> 00:34:29.559
<v Speaker 3>So I.

646
00:34:29.480 --> 00:34:29.920
<v Speaker 4>Know what you mean.

647
00:34:29.920 --> 00:34:32.320
<v Speaker 3>Though it's weird things like tanzac query, but it makes

648
00:34:32.320 --> 00:34:34.079
<v Speaker 3>more sense as you start to think about what Tanzak

649
00:34:34.199 --> 00:34:36.519
<v Speaker 3>is trying to do, which is to have like a

650
00:34:36.559 --> 00:34:41.599
<v Speaker 3>cross platform set of libraries that work across like react

651
00:34:41.960 --> 00:34:43.599
<v Speaker 3>and solid and view and all that.

652
00:34:43.719 --> 00:34:46.239
<v Speaker 4>It makes more sense to them for sure.

653
00:34:46.760 --> 00:34:49.599
<v Speaker 2>By the way, you should add another option right now,

654
00:34:49.679 --> 00:34:50.920
<v Speaker 2>which is react scan.

655
00:34:51.079 --> 00:34:53.079
<v Speaker 3>I think, I know, I know, I was gonna I

656
00:34:53.119 --> 00:34:56.079
<v Speaker 3>was gonna do a fast follow this morning and that reacts.

657
00:34:56.559 --> 00:34:59.679
<v Speaker 4>It's really cool. Aiden's doing something aid.

658
00:34:59.639 --> 00:35:02.360
<v Speaker 2>On the show recently as well. Yeah, if we're having

659
00:35:02.360 --> 00:35:05.000
<v Speaker 2>all the cool people on the show, and we really

660
00:35:05.199 --> 00:35:07.679
<v Speaker 2>need to get Ryan Carniato on the show again.

661
00:35:07.760 --> 00:35:09.400
<v Speaker 1>Oh yeah, I need to get Ryan back for sure.

662
00:35:10.039 --> 00:35:12.519
<v Speaker 2>I've been speaking with him. He's kind of busy, but

663
00:35:12.599 --> 00:35:13.760
<v Speaker 2>I'm sure we'll find a way.

664
00:35:13.800 --> 00:35:15.199
<v Speaker 3>I gotta say, we're getting a little bit of a

665
00:35:15.239 --> 00:35:19.760
<v Speaker 3>PNW brain trust up here, got Aiden, you know, starting

666
00:35:19.800 --> 00:35:20.159
<v Speaker 3>to get.

667
00:35:20.000 --> 00:35:21.719
<v Speaker 4>Some some cool folks coming up with the PNW.

668
00:35:22.320 --> 00:35:25.639
<v Speaker 1>Yeah right. Ryan's always busy, but he's always such a

669
00:35:25.679 --> 00:35:26.559
<v Speaker 1>delight just to talk to.

670
00:35:26.800 --> 00:35:29.280
<v Speaker 3>Oh my god, he knows everything like here't like gone

671
00:35:29.280 --> 00:35:31.960
<v Speaker 3>into like every single framework, understands like in detail.

672
00:35:32.320 --> 00:35:35.360
<v Speaker 2>Yeah, oh yeah, mister he's the CEO of Signals and

673
00:35:35.400 --> 00:35:36.599
<v Speaker 2>mister Frameworks.

674
00:35:36.920 --> 00:35:41.320
<v Speaker 1>Yeah. I did want to kind of ask about with create,

675
00:35:41.519 --> 00:35:44.880
<v Speaker 1>tan Stack or ts router app man, I'm going to

676
00:35:44.920 --> 00:35:46.000
<v Speaker 1>trip over that every time I.

677
00:35:45.960 --> 00:35:50.360
<v Speaker 4>Say, I know, wish we could get that create tansec app, right.

678
00:35:50.679 --> 00:35:54.280
<v Speaker 1>But so so just kind of walk me through. Okay,

679
00:35:54.639 --> 00:35:57.880
<v Speaker 1>you know, looking at stuff, I decide this is what

680
00:35:57.920 --> 00:36:00.320
<v Speaker 1>I want to use, Like, well, what's the experience it's

681
00:36:00.360 --> 00:36:03.960
<v Speaker 1>like as I build my app? Right, So I just

682
00:36:04.039 --> 00:36:06.360
<v Speaker 1>use the command line to to create the app and

683
00:36:06.400 --> 00:36:10.920
<v Speaker 1>then you know, I advance. What does that look like?

684
00:36:11.320 --> 00:36:13.719
<v Speaker 3>Yeah, so the command line at this point is a

685
00:36:13.760 --> 00:36:16.880
<v Speaker 3>straight just builder, and then it's passive.

686
00:36:16.920 --> 00:36:17.480
<v Speaker 4>It's gone.

687
00:36:17.719 --> 00:36:20.239
<v Speaker 3>You know, you're you're on your own at that point

688
00:36:20.840 --> 00:36:23.400
<v Speaker 3>to add new stuff if you haven't. So that's why

689
00:36:23.440 --> 00:36:25.400
<v Speaker 3>I kind of added that ad on stuff is we

690
00:36:25.519 --> 00:36:27.559
<v Speaker 3>wanted to just make it really easy to just like

691
00:36:27.920 --> 00:36:30.840
<v Speaker 3>set if you're in a new shad CN for example, right,

692
00:36:31.440 --> 00:36:33.440
<v Speaker 3>so many people want to do that. I just wanted

693
00:36:33.440 --> 00:36:35.280
<v Speaker 3>to add an ability to say, hey, I want chatsy

694
00:36:35.400 --> 00:36:38.239
<v Speaker 3>in and an automatically installs tail end automatically installs chatsy

695
00:36:38.400 --> 00:36:40.639
<v Speaker 3>in and gets you up and running.

696
00:36:40.360 --> 00:36:44.079
<v Speaker 2>And which you also need to say which set chatsand

697
00:36:44.159 --> 00:36:45.480
<v Speaker 2>components you want to use?

698
00:36:45.920 --> 00:36:49.119
<v Speaker 3>You do that later, you'd say, you know, and you

699
00:36:49.320 --> 00:36:51.719
<v Speaker 3>use their CLI to add components. But the app that

700
00:36:51.719 --> 00:36:56.599
<v Speaker 3>you create is compatible with their their gotcha, although it

701
00:36:56.679 --> 00:36:59.800
<v Speaker 3>is the Canary build because the appzon Tailwind v four

702
00:37:00.599 --> 00:37:04.199
<v Speaker 3>and only the Canary build of Shatsien is U currently

703
00:37:04.199 --> 00:37:04.800
<v Speaker 3>supporting that.

704
00:37:05.719 --> 00:37:07.519
<v Speaker 1>Yeah, that's another person we need to get on, and

705
00:37:07.559 --> 00:37:11.599
<v Speaker 1>is we need to get what's his name from?

706
00:37:13.239 --> 00:37:13.679
<v Speaker 4>Oh that?

707
00:37:13.800 --> 00:37:17.119
<v Speaker 3>Oh yeah yeah yeah yeah yeah right. I feel bad

708
00:37:17.119 --> 00:37:19.480
<v Speaker 3>I'm forgetting this is real fun. I talk with him

709
00:37:19.480 --> 00:37:21.079
<v Speaker 3>over at rayt Comf's he's a hoot.

710
00:37:21.199 --> 00:37:26.679
<v Speaker 1>Yeah yeah, but uh yeah so so so literally I

711
00:37:26.880 --> 00:37:30.599
<v Speaker 1>it it kind of auto rejects you to use the parlor.

712
00:37:30.760 --> 00:37:34.280
<v Speaker 3>Yeah yeahct A lot of a lot of folks are like, oh,

713
00:37:34.320 --> 00:37:36.519
<v Speaker 3>it's by default ejected.

714
00:37:36.599 --> 00:37:39.719
<v Speaker 4>I'm like yes, yes, so so.

715
00:37:39.719 --> 00:37:41.880
<v Speaker 1>Then I decide I want these other things, right, So

716
00:37:41.880 --> 00:37:44.360
<v Speaker 1>it's like I didn't put in tense dea query now

717
00:37:44.400 --> 00:37:47.119
<v Speaker 1>and so now I want it. It's pretty easy to

718
00:37:47.239 --> 00:37:50.239
<v Speaker 1>just add in and it just is happy.

719
00:37:50.400 --> 00:37:50.599
<v Speaker 4>Yeah.

720
00:37:50.639 --> 00:37:52.559
<v Speaker 3>I mean you could if you wanted to just see

721
00:37:52.679 --> 00:37:55.400
<v Speaker 3>kind of how it's done, Like you can go and

722
00:37:55.440 --> 00:37:58.079
<v Speaker 3>spin up another app and another dripory and add that

723
00:37:58.159 --> 00:38:00.119
<v Speaker 3>in and be like, oh, okay, I see where it's

724
00:38:00.400 --> 00:38:04.320
<v Speaker 3>It's basically two files. And then what we do is

725
00:38:04.360 --> 00:38:07.320
<v Speaker 3>this is actually kind of it was driven my knee really.

726
00:38:07.360 --> 00:38:11.679
<v Speaker 3>But when we install something like React sorry with reactquer

727
00:38:11.800 --> 00:38:14.400
<v Speaker 3>or tanse querier, however we want to say it certainly,

728
00:38:14.400 --> 00:38:16.480
<v Speaker 3>we do the INFRASTARFF, which is to go and build

729
00:38:16.480 --> 00:38:18.880
<v Speaker 3>a provider, build a client, and then put the provider

730
00:38:18.920 --> 00:38:21.079
<v Speaker 3>on it. But we also build a demo page so

731
00:38:21.079 --> 00:38:24.000
<v Speaker 3>you can see how it's used in either you know,

732
00:38:24.039 --> 00:38:27.079
<v Speaker 3>React or Solid. But everything that we do that's a demo.

733
00:38:27.320 --> 00:38:31.159
<v Speaker 3>Anything will go and put demo in the file name

734
00:38:31.440 --> 00:38:33.559
<v Speaker 3>and that way. Later on if you're just like, hey,

735
00:38:33.599 --> 00:38:35.679
<v Speaker 3>I would just want to sweep it out of my

736
00:38:35.760 --> 00:38:38.199
<v Speaker 3>app because I don't need that, then you can just

737
00:38:38.280 --> 00:38:42.480
<v Speaker 3>literally like do a fine demo star x r XRM

738
00:38:42.840 --> 00:38:45.000
<v Speaker 3>and it's gone, and you know you could you have

739
00:38:45.039 --> 00:38:46.920
<v Speaker 3>to like, you know, change it to the routes are

740
00:38:47.119 --> 00:38:49.159
<v Speaker 3>you know, like header just room from a head or two.

741
00:38:49.159 --> 00:38:51.480
<v Speaker 3>But it's very very clean. I want to make sure

742
00:38:51.480 --> 00:38:54.519
<v Speaker 3>that like as we added like boilerplate code in it

743
00:38:54.559 --> 00:38:59.000
<v Speaker 3>was it was identified solidly as like this is boilerplate.

744
00:38:59.639 --> 00:39:01.159
<v Speaker 2>Oh yeah, that's that's awesome.

745
00:39:01.639 --> 00:39:01.880
<v Speaker 4>Yeah.

746
00:39:01.960 --> 00:39:04.320
<v Speaker 3>I hate it when boiler plates are like the kind

747
00:39:04.320 --> 00:39:07.679
<v Speaker 3>of integrated all over the place and it's like the mass.

748
00:39:07.719 --> 00:39:11.000
<v Speaker 2>By the way, one more point about ten stack router.

749
00:39:11.239 --> 00:39:15.920
<v Speaker 2>I believe that in most cases you will want to

750
00:39:16.000 --> 00:39:19.360
<v Speaker 2>use the file bass file based routing. Is that correct?

751
00:39:19.559 --> 00:39:24.760
<v Speaker 3>Yeah, it does auto splitting of bundle splitting, so that's

752
00:39:24.760 --> 00:39:26.360
<v Speaker 3>a nice advantage right there.

753
00:39:27.920 --> 00:39:30.360
<v Speaker 2>So unless you have a good reason, that's the way

754
00:39:30.400 --> 00:39:31.679
<v Speaker 2>that you should probably want to go.

755
00:39:32.000 --> 00:39:33.039
<v Speaker 4>Yeah.

756
00:39:33.400 --> 00:39:36.840
<v Speaker 3>Cool, it's not the default because of the CRA connection,

757
00:39:37.480 --> 00:39:39.599
<v Speaker 3>and that's wanting to like really give you that CRA

758
00:39:39.719 --> 00:39:42.320
<v Speaker 3>experience out of the box. But I would strongly recommend

759
00:39:43.199 --> 00:39:45.199
<v Speaker 3>starting with a fire Runner. But it's not a hard

760
00:39:45.239 --> 00:39:49.119
<v Speaker 3>migration literally it is, you know, it's a couple of

761
00:39:49.159 --> 00:39:51.840
<v Speaker 3>lines that can fig and then just moving some files around.

762
00:39:53.000 --> 00:39:55.840
<v Speaker 2>Yeah, but why not start the right place? Yah?

763
00:39:55.920 --> 00:39:56.440
<v Speaker 4>Yeah, for sure.

764
00:39:56.480 --> 00:39:59.119
<v Speaker 3>But I'm just saying, like, it's not like you're stuck

765
00:39:59.400 --> 00:40:01.400
<v Speaker 3>if you if you create like a code runner app,

766
00:40:01.559 --> 00:40:03.840
<v Speaker 3>you're not stuck at that. You can you can actually

767
00:40:03.920 --> 00:40:07.440
<v Speaker 3>work your way up the chain, which is not going

768
00:40:07.440 --> 00:40:09.320
<v Speaker 3>back to that jazz thying. That is not an option there.

769
00:40:09.320 --> 00:40:11.119
<v Speaker 3>It's like you kind of you start at the end

770
00:40:11.679 --> 00:40:15.079
<v Speaker 3>and to start the most most advanced setup for sure.

771
00:40:15.800 --> 00:40:18.719
<v Speaker 1>So one thing I'm wondering is it seems like you know,

772
00:40:18.760 --> 00:40:22.920
<v Speaker 1>you're talking about it like you're contributing to create a

773
00:40:23.119 --> 00:40:24.840
<v Speaker 1>ct I'm just going to say CTA, and then I

774
00:40:24.920 --> 00:40:28.800
<v Speaker 1>market lost. You know, you're you're contributing to CTA. You're

775
00:40:28.840 --> 00:40:31.920
<v Speaker 1>pretty involved. You know, you've got some courses. So what's

776
00:40:31.920 --> 00:40:35.239
<v Speaker 1>your relationship with with tan Stack? Are you working for

777
00:40:35.280 --> 00:40:38.599
<v Speaker 1>them or you just a fanboy or you know, I

778
00:40:38.639 --> 00:40:41.840
<v Speaker 1>contribute to whatever or yeah, I'm just curious, like where

779
00:40:41.880 --> 00:40:42.679
<v Speaker 1>where do you land here?

780
00:40:42.880 --> 00:40:44.920
<v Speaker 3>It was a new Year's resolution of mind to get

781
00:40:44.960 --> 00:40:48.880
<v Speaker 3>more intimately involved in open source. Like I was noticing

782
00:40:48.920 --> 00:40:50.880
<v Speaker 3>as I was going from a conference conference and you

783
00:40:51.000 --> 00:40:55.119
<v Speaker 3>kind of get like the influencer folks and the talkers,

784
00:40:55.480 --> 00:40:57.719
<v Speaker 3>and then there was the OSS folks, and I'm like,

785
00:40:57.880 --> 00:41:00.719
<v Speaker 3>I kind of groove vibe more with the SS folks

786
00:41:00.719 --> 00:41:03.239
<v Speaker 3>and I want to be part of a project like that.

787
00:41:03.760 --> 00:41:08.079
<v Speaker 3>And the one the project that spoke to me was

788
00:41:08.079 --> 00:41:11.679
<v Speaker 3>was tan Stack. So I started, I guess, yeah, really

789
00:41:11.719 --> 00:41:15.239
<v Speaker 3>just in beginning of the month, it'd be kind of like, hey, Tanner,

790
00:41:15.320 --> 00:41:16.880
<v Speaker 3>you know, can I can I contribute on this? And

791
00:41:16.880 --> 00:41:18.559
<v Speaker 3>He's like cool, yeah, you know, we got some docs.

792
00:41:18.559 --> 00:41:20.400
<v Speaker 3>So I went through the docks and all that, and

793
00:41:20.440 --> 00:41:24.920
<v Speaker 3>then it really picked up when on I Guess Friday

794
00:41:24.920 --> 00:41:27.480
<v Speaker 3>a couple of weeks ago, I was like, Okay, we

795
00:41:27.559 --> 00:41:30.519
<v Speaker 3>need a replacement for a CRA that gives you a

796
00:41:30.559 --> 00:41:32.159
<v Speaker 3>CRA style experience.

797
00:41:32.199 --> 00:41:34.719
<v Speaker 4>And I pitched it to Tanner and I'm like he's like, okay, yeah,

798
00:41:34.840 --> 00:41:35.280
<v Speaker 4>build it.

799
00:41:35.320 --> 00:41:38.280
<v Speaker 3>And so literally I built it in like one dot

800
00:41:38.280 --> 00:41:40.239
<v Speaker 3>O or it was zero dot one in like three

801
00:41:40.280 --> 00:41:45.079
<v Speaker 3>hours and then he's like, that's awesome, let's go and

802
00:41:45.079 --> 00:41:48.079
<v Speaker 3>and that that's it. I mean basically I was working

803
00:41:48.119 --> 00:41:50.119
<v Speaker 3>on it pretty much almost full time last week, which

804
00:41:50.119 --> 00:41:52.119
<v Speaker 3>is probably not great because I don't really get paid

805
00:41:52.159 --> 00:41:56.400
<v Speaker 3>all that much. But yeah, like adding the it was

806
00:41:56.480 --> 00:41:59.920
<v Speaker 3>really fun. Adding in that add on stuff, the AI integration,

807
00:42:00.519 --> 00:42:01.280
<v Speaker 3>that was really fun.

808
00:42:04.719 --> 00:42:06.880
<v Speaker 4>You know, our kids out of school, she's you.

809
00:42:06.920 --> 00:42:09.119
<v Speaker 3>Know, they're off on their own, you know, an apartment

810
00:42:09.239 --> 00:42:12.840
<v Speaker 3>or whatever, and you know, she's got shows to watch

811
00:42:12.840 --> 00:42:15.400
<v Speaker 3>and everything. I can just like hang out code and

812
00:42:15.480 --> 00:42:17.400
<v Speaker 3>I actually I'll code a lot when we're watching TV.

813
00:42:17.480 --> 00:42:19.559
<v Speaker 4>And I was like, wait, a suit are these people again?

814
00:42:19.679 --> 00:42:22.360
<v Speaker 3>Like you have been you have been paying attention, you

815
00:42:22.440 --> 00:42:24.079
<v Speaker 3>have no idea who cares?

816
00:42:24.119 --> 00:42:26.639
<v Speaker 2>Like whatever, Now what does Cita built on?

817
00:42:26.880 --> 00:42:29.159
<v Speaker 4>By the way, what do you mean?

818
00:42:29.199 --> 00:42:32.599
<v Speaker 2>Like like you quoted it. What did you code it in?

819
00:42:32.960 --> 00:42:37.480
<v Speaker 3>Well, it's typescript, it's a node package. It's it uses

820
00:42:37.559 --> 00:42:44.280
<v Speaker 3>Commander for the art processing. It uses uh clark for prompts.

821
00:42:44.360 --> 00:42:46.239
<v Speaker 3>It seems to be the new hotness, and I agree

822
00:42:46.239 --> 00:42:47.000
<v Speaker 3>because it is.

823
00:42:47.360 --> 00:42:51.199
<v Speaker 4>It is really cool. Actually, it's really great. It uses

824
00:42:51.239 --> 00:42:52.800
<v Speaker 4>e j s for a lot of the templating.

825
00:42:53.639 --> 00:42:56.679
<v Speaker 3>So we we have a lot of like templates where

826
00:42:56.719 --> 00:43:00.239
<v Speaker 3>our files like depending on the combinatorics of what you've

827
00:43:00.239 --> 00:43:04.199
<v Speaker 3>asked for code router, file, router, you know this and that,

828
00:43:04.400 --> 00:43:06.440
<v Speaker 3>tailwind versus not versus.

829
00:43:06.199 --> 00:43:07.159
<v Speaker 4>You know, all that kind of stuff.

830
00:43:07.280 --> 00:43:11.159
<v Speaker 3>We need like special like changes in the actual like

831
00:43:11.239 --> 00:43:13.320
<v Speaker 3>code that we write, so we use EJS for that.

832
00:43:14.800 --> 00:43:19.960
<v Speaker 3>And then just recently I added the MCP stuff, so

833
00:43:20.320 --> 00:43:23.360
<v Speaker 3>the MCP server and then also express.

834
00:43:23.719 --> 00:43:27.559
<v Speaker 2>So yeah, so you mentioned MCP, and I think that's

835
00:43:27.639 --> 00:43:30.239
<v Speaker 2>a really cool thing to talk about.

836
00:43:30.400 --> 00:43:31.760
<v Speaker 4>Yeah, I'm really psyched about it.

837
00:43:32.480 --> 00:43:35.679
<v Speaker 2>So I don't think you know what that is chuck.

838
00:43:36.400 --> 00:43:41.159
<v Speaker 3>Nope, Okay, Well remember TRON it's the Master control program,

839
00:43:41.239 --> 00:43:45.440
<v Speaker 3>not just Actually I thought that was one is when

840
00:43:45.440 --> 00:43:48.159
<v Speaker 3>I first heard it, because I remember like way back,

841
00:43:48.679 --> 00:43:52.280
<v Speaker 3>I don't know, like late twenty twenty four Anthropic came

842
00:43:52.360 --> 00:43:55.960
<v Speaker 3>up with this idea of this model context provider. So

843
00:43:56.000 --> 00:43:59.559
<v Speaker 3>it's a standard that you can write to and there's

844
00:43:59.559 --> 00:44:02.679
<v Speaker 3>two different protocols and I'll get to that in a second,

845
00:44:02.760 --> 00:44:06.400
<v Speaker 3>that you can then give claw. At the time, the

846
00:44:06.400 --> 00:44:08.239
<v Speaker 3>Claude desktop was the only thing that supported this.

847
00:44:08.320 --> 00:44:09.239
<v Speaker 4>But you could tell.

848
00:44:09.039 --> 00:44:12.079
<v Speaker 3>Claude Desktop, hey, cool, I've got this MCP server over here,

849
00:44:12.400 --> 00:44:14.239
<v Speaker 3>and that MCP server will give you a set of

850
00:44:14.280 --> 00:44:18.559
<v Speaker 3>tools and then anytime then they're self identifying tools, and

851
00:44:18.599 --> 00:44:22.199
<v Speaker 3>then anytime it wants to do something like you maybe

852
00:44:22.280 --> 00:44:24.519
<v Speaker 3>give it a tool for like change the hue lighting

853
00:44:24.599 --> 00:44:29.440
<v Speaker 3>my house, or you know, make coffee or go through

854
00:44:29.440 --> 00:44:32.599
<v Speaker 3>this file system. Actually, most of it was like database

855
00:44:32.599 --> 00:44:36.079
<v Speaker 3>integrations early on was like kind of okay, here's here's

856
00:44:36.079 --> 00:44:38.880
<v Speaker 3>a bunch of tools for a Postcrest database. Yeah, I

857
00:44:38.880 --> 00:44:41.000
<v Speaker 3>can list tables, I can run a query all that.

858
00:44:41.159 --> 00:44:44.519
<v Speaker 1>Yeah, and playing with building tools. I just didn't know that.

859
00:44:44.800 --> 00:44:45.639
<v Speaker 4>Yeah.

860
00:44:45.679 --> 00:44:49.760
<v Speaker 3>So the packages up those tools as well as resources

861
00:44:49.800 --> 00:44:51.679
<v Speaker 3>and a really nice interface.

862
00:44:52.079 --> 00:44:56.239
<v Speaker 2>So a question about that, So is MCP mostly about

863
00:44:56.519 --> 00:45:06.000
<v Speaker 2>exposing capabilities or is it mostly about expanding the model itself,

864
00:45:06.199 --> 00:45:10.000
<v Speaker 2>like with domain specific knowledge that might not be contained

865
00:45:10.039 --> 00:45:12.400
<v Speaker 2>within the model B.

866
00:45:13.039 --> 00:45:17.519
<v Speaker 3>The latter, I would say, yeah, so expanding the reach

867
00:45:17.559 --> 00:45:22.199
<v Speaker 3>of the model usually into your own Yeah, your own space,

868
00:45:22.239 --> 00:45:25.840
<v Speaker 3>because you're running the server like literally on your own machine,

869
00:45:26.440 --> 00:45:29.679
<v Speaker 3>and so it's actually like it has access to everything

870
00:45:29.719 --> 00:45:32.199
<v Speaker 3>inside of your intrenest So the.

871
00:45:32.239 --> 00:45:35.679
<v Speaker 4>Model, maybe not Claude would have access to obviously.

872
00:45:35.320 --> 00:45:38.880
<v Speaker 2>So the model was original. Sorry Chuck, just one second

873
00:45:39.119 --> 00:45:40.880
<v Speaker 2>because I need to I want to better understand this.

874
00:45:41.000 --> 00:45:45.599
<v Speaker 2>So the model was essentially trained on some global data whatever.

875
00:45:46.519 --> 00:45:50.960
<v Speaker 2>But you want to ask questions that are pertinent to

876
00:45:51.400 --> 00:45:55.960
<v Speaker 2>your data. But obviously your data is not part of

877
00:45:56.000 --> 00:46:04.280
<v Speaker 2>the model. So MCP helps you do that by you

878
00:46:04.360 --> 00:46:10.280
<v Speaker 2>expose your data to the model through this API. Obviously

879
00:46:10.320 --> 00:46:13.599
<v Speaker 2>it's totally private because your data doesn't become part of

880
00:46:13.719 --> 00:46:16.559
<v Speaker 2>the actual model. It's just an extension to that.

881
00:46:16.920 --> 00:46:20.719
<v Speaker 3>Exactly, yes, one hundred percent. And the way that you

882
00:46:20.840 --> 00:46:23.119
<v Speaker 3>do that is you give it tools, which are really

883
00:46:23.159 --> 00:46:27.519
<v Speaker 3>just functions. Those functions can take parameters, right, and so

884
00:46:27.920 --> 00:46:29.960
<v Speaker 3>you had two different ways of doing this in the past.

885
00:46:30.000 --> 00:46:33.079
<v Speaker 3>You had the used to be that you just create

886
00:46:33.119 --> 00:46:35.840
<v Speaker 3>a massive system prompt like hey, I want you to

887
00:46:35.840 --> 00:46:39.840
<v Speaker 3>give product recommendations for our products, like you're an e

888
00:46:39.840 --> 00:46:43.320
<v Speaker 3>commerce company. You take literally all your products and drop

889
00:46:43.360 --> 00:46:45.519
<v Speaker 3>them into the system context and be like, here are

890
00:46:45.599 --> 00:46:47.199
<v Speaker 3>our products when you recommend them.

891
00:46:47.239 --> 00:46:48.119
<v Speaker 4>Here they are.

892
00:46:48.320 --> 00:46:50.920
<v Speaker 3>But let's just say that you've got a massive product catalog,

893
00:46:51.639 --> 00:46:52.920
<v Speaker 3>Like how do you handle that?

894
00:46:53.079 --> 00:46:56.239
<v Speaker 4>Like, so what you're doing. You could give the AI

895
00:46:56.840 --> 00:46:57.679
<v Speaker 4>a search tool.

896
00:46:58.360 --> 00:47:01.239
<v Speaker 3>Hey, given these parameters, you know, uh sneak your size

897
00:47:01.320 --> 00:47:03.920
<v Speaker 3>or whatever, you know, give me back a list of products,

898
00:47:04.360 --> 00:47:08.440
<v Speaker 3>and then it's it's a much better communication with the AI.

899
00:47:08.559 --> 00:47:10.679
<v Speaker 3>The AI can then go, oh, okay, I see if

900
00:47:10.679 --> 00:47:15.000
<v Speaker 3>the person wants like size eleven shoes for running, I'm

901
00:47:15.000 --> 00:47:17.679
<v Speaker 3>going to run your search tool, and you're going to

902
00:47:17.719 --> 00:47:20.079
<v Speaker 3>give me back, Jason with a list of products, and

903
00:47:20.119 --> 00:47:22.360
<v Speaker 3>then I'll be able to get then go and give

904
00:47:22.360 --> 00:47:23.639
<v Speaker 3>them recommendations.

905
00:47:23.880 --> 00:47:26.679
<v Speaker 1>Yeah, it's in the AI parlance, what you're talking about

906
00:47:26.800 --> 00:47:34.079
<v Speaker 1>is retrieval augmented generation, and so essentially, yeah, it's smart

907
00:47:34.159 --> 00:47:36.840
<v Speaker 1>enough to be able to retrieve the data and then

908
00:47:38.199 --> 00:47:43.360
<v Speaker 1>essentially augment its own response with what it got or

909
00:47:43.360 --> 00:47:48.159
<v Speaker 1>what it retrieved from from the other end. But when

910
00:47:48.199 --> 00:47:50.559
<v Speaker 1>you're talking about tools, a lot of times too, it's

911
00:47:50.760 --> 00:47:53.880
<v Speaker 1>here's a function to update my Google calendar, or here's

912
00:47:53.920 --> 00:47:57.440
<v Speaker 1>a function to send an email or and so it's both.

913
00:47:58.840 --> 00:48:01.199
<v Speaker 3>You can make when you're talkings and you can also

914
00:48:01.199 --> 00:48:02.559
<v Speaker 3>do queries right right.

915
00:48:02.760 --> 00:48:05.880
<v Speaker 1>And so yeah, I mean, you know, and there are

916
00:48:05.880 --> 00:48:09.119
<v Speaker 1>other RAG tools, you know, but yeah, this is one

917
00:48:09.119 --> 00:48:12.119
<v Speaker 1>way of doing RAG. But it does both. You can

918
00:48:12.159 --> 00:48:14.639
<v Speaker 1>add capabilities as well. So if it can touch an

919
00:48:14.679 --> 00:48:17.079
<v Speaker 1>API somewhere, it can make things happen. And that's what

920
00:48:17.119 --> 00:48:19.760
<v Speaker 1>you're talking about, like with your hue lights or your

921
00:48:19.920 --> 00:48:23.199
<v Speaker 1>your other home automation stuff or you know, stuff over

922
00:48:23.199 --> 00:48:27.000
<v Speaker 1>the internet where you need to make things happen. It's

923
00:48:27.000 --> 00:48:30.639
<v Speaker 1>not retrieving data necessarily anymore. It's actually causing an effect

924
00:48:30.679 --> 00:48:31.880
<v Speaker 1>somewhere and doing anything.

925
00:48:32.920 --> 00:48:38.000
<v Speaker 2>And MCP is basically a standard way to achieve this functionality.

926
00:48:37.719 --> 00:48:41.480
<v Speaker 3>Right, So there's two different methods that you can use

927
00:48:41.679 --> 00:48:46.840
<v Speaker 3>for building MCP server or communicating the protocol underneath it

928
00:48:46.840 --> 00:48:49.480
<v Speaker 3>would be two different kind of transports.

929
00:48:49.559 --> 00:48:50.239
<v Speaker 4>One is.

930
00:48:52.320 --> 00:48:56.079
<v Speaker 3>Standard io, so basically you run this app and then

931
00:48:56.119 --> 00:48:59.480
<v Speaker 3>you start you know, literally standard in. You give a

932
00:48:59.559 --> 00:49:02.119
<v Speaker 3>Jason Blob saying this is my request for a tool

933
00:49:02.159 --> 00:49:06.480
<v Speaker 3>or whatever, and then standard out it responds with whatever

934
00:49:06.480 --> 00:49:09.599
<v Speaker 3>the data is, which is cool up to the point

935
00:49:09.599 --> 00:49:11.559
<v Speaker 3>where you're like, wait a second, how do I actually,

936
00:49:11.719 --> 00:49:15.119
<v Speaker 3>if I'm writing my MCP server on standard Io, how

937
00:49:15.119 --> 00:49:19.159
<v Speaker 3>do I debug this thing? Like I usually use standard

938
00:49:19.199 --> 00:49:21.400
<v Speaker 3>in Standard out for my debugging. Like so you know,

939
00:49:21.679 --> 00:49:24.000
<v Speaker 3>I guess you you know you're limited to standard or something.

940
00:49:24.039 --> 00:49:26.840
<v Speaker 3>But like, I just find that kind of Jankye I've

941
00:49:26.840 --> 00:49:28.559
<v Speaker 3>never been, like you a huge fan.

942
00:49:29.199 --> 00:49:30.280
<v Speaker 4>Yeah, all right exactly.

943
00:49:31.400 --> 00:49:33.480
<v Speaker 3>And then the other way, what I think is actually

944
00:49:33.480 --> 00:49:36.400
<v Speaker 3>a little bit cleaner is they have an SSE transport

945
00:49:36.760 --> 00:49:41.280
<v Speaker 3>or service service set Events transport, where you're basically running

946
00:49:41.320 --> 00:49:44.679
<v Speaker 3>a server. Now you have a ur L and the

947
00:49:45.039 --> 00:49:48.880
<v Speaker 3>well clawed desktop if that's the MCP agent that you

948
00:49:48.960 --> 00:49:52.840
<v Speaker 3>choose to use, would then connect to that URL and

949
00:49:52.880 --> 00:49:56.960
<v Speaker 3>then you can talk via a continuous connection using service

950
00:49:56.960 --> 00:49:57.599
<v Speaker 3>set events.

951
00:49:59.000 --> 00:49:59.360
<v Speaker 4>Yeah.

952
00:49:59.719 --> 00:50:01.920
<v Speaker 3>I that one a little bit better, but I think

953
00:50:02.039 --> 00:50:05.519
<v Speaker 3>for a lot of folks, the standard Io version it

954
00:50:05.599 --> 00:50:08.760
<v Speaker 3>is nicer because then, like claude to be just it

955
00:50:08.800 --> 00:50:11.440
<v Speaker 3>will just run your app or your little command line

956
00:50:11.440 --> 00:50:14.320
<v Speaker 3>app for you handle all that and then kill it

957
00:50:14.320 --> 00:50:16.880
<v Speaker 3>when it's done, that kind of thing, Whereas if you

958
00:50:17.119 --> 00:50:18.880
<v Speaker 3>use the SEC approach, you actually have to run a

959
00:50:18.920 --> 00:50:20.639
<v Speaker 3>server and then you give it to you r L.

960
00:50:22.119 --> 00:50:25.880
<v Speaker 2>It's basically you're building a note you're using note.

961
00:50:26.079 --> 00:50:27.559
<v Speaker 4>Yeah yeah, yeah yeah.

962
00:50:27.599 --> 00:50:29.840
<v Speaker 3>So in this case, So the the fun thing we

963
00:50:29.880 --> 00:50:32.519
<v Speaker 3>did with create ts writer app was now you can

964
00:50:32.559 --> 00:50:36.000
<v Speaker 3>put dashdash MCP or now even this morning damage dash

965
00:50:36.119 --> 00:50:41.119
<v Speaker 3>MCP Dash SZ and it will run an MCP server

966
00:50:41.280 --> 00:50:45.679
<v Speaker 3>and then the tools that it gives the the MCP

967
00:50:46.199 --> 00:50:49.239
<v Speaker 3>agent the thing using MCP are things like create a

968
00:50:49.239 --> 00:50:53.400
<v Speaker 3>tansec writerer app and list all my ons and all that.

969
00:50:53.800 --> 00:50:57.400
<v Speaker 3>And so if you've got an ID that is integrated,

970
00:50:57.440 --> 00:51:02.719
<v Speaker 3>that has MCP integration, and nowadays wind Surf and z

971
00:51:03.199 --> 00:51:08.239
<v Speaker 3>and Cursor among amongst them, all have MCP integration. Cursor

972
00:51:08.280 --> 00:51:13.239
<v Speaker 3>in particular has integration for both sc and also standard Io.

973
00:51:13.519 --> 00:51:16.559
<v Speaker 3>I think winsurfhone supports standard Io, and I don't even

974
00:51:16.599 --> 00:51:19.440
<v Speaker 3>know what Zed does. I don't mean whatever they get

975
00:51:19.440 --> 00:51:21.800
<v Speaker 3>to like a rust thing for it. I'm like, I

976
00:51:21.840 --> 00:51:23.599
<v Speaker 3>don't need I ain't got time for that.

977
00:51:24.719 --> 00:51:28.320
<v Speaker 4>But it works conceptually, it works, but it's really cool.

978
00:51:28.360 --> 00:51:31.000
<v Speaker 3>So basically what what what you can do now is

979
00:51:31.039 --> 00:51:35.000
<v Speaker 3>you can go into your Cursor, bring up the agent

980
00:51:35.079 --> 00:51:38.159
<v Speaker 3>mode panel and say I want to create a TAN

981
00:51:38.239 --> 00:51:40.679
<v Speaker 3>sac ruder app and it should you know, do tic

982
00:51:40.719 --> 00:51:43.039
<v Speaker 3>tecto or whatever, and you can literally see it, like

983
00:51:43.039 --> 00:51:45.039
<v Speaker 3>it makes the calls to ask for you know, what

984
00:51:45.079 --> 00:51:48.000
<v Speaker 3>are my capabilities, and makes the call to make the app,

985
00:51:48.239 --> 00:51:50.239
<v Speaker 3>and then it starts editing the files in place, and

986
00:51:50.280 --> 00:51:53.320
<v Speaker 3>you're like, dang, this is like v zero but like

987
00:51:53.480 --> 00:51:55.679
<v Speaker 3>in my cursor, like it's just right.

988
00:51:55.719 --> 00:51:57.280
<v Speaker 4>I don't even have to leave. I can just go

989
00:51:57.440 --> 00:51:59.000
<v Speaker 4>make apps right away.

990
00:51:59.480 --> 00:52:02.119
<v Speaker 3>And it's funny because like, yes, it is teaching it

991
00:52:02.239 --> 00:52:05.000
<v Speaker 3>like new tricks, like the old Claud doesn't know about

992
00:52:05.039 --> 00:52:08.559
<v Speaker 3>tan stak, the old Claud doesn't know like mpx A.

993
00:52:08.719 --> 00:52:11.840
<v Speaker 3>Like when you try it up add shad cyn components,

994
00:52:12.320 --> 00:52:14.800
<v Speaker 3>it still tries to use shaddy and dash y because

995
00:52:14.800 --> 00:52:16.679
<v Speaker 3>that's what it is trained on, even though now we

996
00:52:16.760 --> 00:52:17.639
<v Speaker 3>use shaddzy n.

997
00:52:18.400 --> 00:52:23.079
<v Speaker 4>Thank you for that, even though you might say same command,

998
00:52:23.159 --> 00:52:23.599
<v Speaker 4>but whatever.

999
00:52:24.079 --> 00:52:29.920
<v Speaker 2>So within let's say cursor, you might say, give me

1000
00:52:30.239 --> 00:52:36.800
<v Speaker 2>a new React application called such and such that has

1001
00:52:37.039 --> 00:52:46.199
<v Speaker 2>these pages using tailwind using shad c N. I also

1002
00:52:46.440 --> 00:52:50.000
<v Speaker 2>need a single sign on and I want to deploy

1003
00:52:50.039 --> 00:52:53.559
<v Speaker 2>it there. Yeah, and enter and it.

1004
00:52:54.360 --> 00:52:56.440
<v Speaker 4>And start building it out. Yeah, it's really cool.

1005
00:52:56.519 --> 00:52:58.960
<v Speaker 2>And it opens within cursor and you're ready to go.

1006
00:52:59.360 --> 00:53:03.159
<v Speaker 3>Yeah, it might even work. I mean you're already in cursors. So, yeah,

1007
00:53:03.159 --> 00:53:06.840
<v Speaker 3>you created an app within within your exacting with your system. Yeah,

1008
00:53:06.840 --> 00:53:10.800
<v Speaker 3>and it actually it has a decent chance.

1009
00:53:10.599 --> 00:53:11.079
<v Speaker 4>Will work it.

1010
00:53:13.880 --> 00:53:16.280
<v Speaker 1>Yeah, I've just found the AI models. They're getting better,

1011
00:53:16.280 --> 00:53:18.199
<v Speaker 1>but they're still kind of hit, hit or miss sometimes.

1012
00:53:18.199 --> 00:53:20.440
<v Speaker 1>So but it'll get you a waist down the road

1013
00:53:20.440 --> 00:53:21.320
<v Speaker 1>at the very least. Right.

1014
00:53:21.440 --> 00:53:25.119
<v Speaker 2>Yeah, But in this case, well, you can either tell

1015
00:53:25.159 --> 00:53:27.440
<v Speaker 2>it and have the app do this such and such,

1016
00:53:27.480 --> 00:53:29.559
<v Speaker 2>in which case it will start writing the app. Or

1017
00:53:29.639 --> 00:53:32.920
<v Speaker 2>you can just get the basic skeleton and you've avoided

1018
00:53:32.960 --> 00:53:34.920
<v Speaker 2>dealing with command line switches.

1019
00:53:34.679 --> 00:53:35.960
<v Speaker 4>Right, and then you can continue on.

1020
00:53:36.079 --> 00:53:39.599
<v Speaker 3>You can create another session with the agent and say, well,

1021
00:53:39.639 --> 00:53:41.719
<v Speaker 3>now that my apps set up, now go and add

1022
00:53:41.719 --> 00:53:43.639
<v Speaker 3>this and that and the other thing, and it'll it'll

1023
00:53:43.639 --> 00:53:44.239
<v Speaker 3>start doing that.

1024
00:53:45.440 --> 00:53:45.679
<v Speaker 2>Cool.

1025
00:53:45.719 --> 00:53:47.559
<v Speaker 4>Ye, it's really cool.

1026
00:53:48.199 --> 00:53:49.760
<v Speaker 2>It's very cool. Yeah.

1027
00:53:49.840 --> 00:53:51.599
<v Speaker 4>And I was kind of surprised by that one too.

1028
00:53:51.599 --> 00:53:55.360
<v Speaker 3>It's like there's been two things where they've done stuff

1029
00:53:55.360 --> 00:53:57.880
<v Speaker 3>that I was surprised that other people haven't. The one was,

1030
00:53:58.119 --> 00:54:01.840
<v Speaker 3>you know, CRA being deport Like, why didn't VAT come

1031
00:54:01.920 --> 00:54:03.639
<v Speaker 3>up with a template that was a CRA template?

1032
00:54:03.679 --> 00:54:06.000
<v Speaker 2>I don't even know, Like, well, I think I told

1033
00:54:06.079 --> 00:54:08.320
<v Speaker 2>you I think we talked about it. I think the

1034
00:54:08.760 --> 00:54:12.000
<v Speaker 2>main issue that people forget is that VAT was created

1035
00:54:12.199 --> 00:54:18.639
<v Speaker 2>by uh Avenue evenue and avenues about view.

1036
00:54:21.360 --> 00:54:22.800
<v Speaker 4>Yeah, but you.

1037
00:54:22.760 --> 00:54:25.800
<v Speaker 3>Know there's marketing, right. I think that a marketing is

1038
00:54:25.840 --> 00:54:28.840
<v Speaker 3>underplayed in our place. So particularly when folks who are

1039
00:54:29.039 --> 00:54:31.360
<v Speaker 3>building their own libraries and stuff, they kind of think

1040
00:54:31.400 --> 00:54:32.960
<v Speaker 3>that like the tech is everything, Like I'm going to

1041
00:54:33.000 --> 00:54:34.800
<v Speaker 3>make this awesome library and it's going to do some

1042
00:54:34.840 --> 00:54:37.519
<v Speaker 3>amazing stuff, and people are just if you build it,

1043
00:54:37.519 --> 00:54:40.079
<v Speaker 3>they will come kind of thing, and no, you actually

1044
00:54:40.119 --> 00:54:43.519
<v Speaker 3>have to market stuff, and so understanding marketing opportunities is

1045
00:54:43.559 --> 00:54:46.719
<v Speaker 3>really important. And when I saw like that cra deprecation,

1046
00:54:46.760 --> 00:54:49.119
<v Speaker 3>I'm like this and in fact, this is the words

1047
00:54:49.119 --> 00:54:51.480
<v Speaker 3>that I told Tanner. I'm like, this is a moment.

1048
00:54:52.559 --> 00:54:55.440
<v Speaker 3>You you've got to get after it. In that moment.

1049
00:54:55.679 --> 00:54:57.559
<v Speaker 3>And when people are starting to talk about what do

1050
00:54:57.559 --> 00:55:00.239
<v Speaker 3>we do, it's like, Okay, instead of just saying use

1051
00:55:00.239 --> 00:55:03.559
<v Speaker 3>an extras, which is kind of loomy tunes, no.

1052
00:55:03.679 --> 00:55:04.599
<v Speaker 4>Here you go.

1053
00:55:04.159 --> 00:55:07.840
<v Speaker 3>Here's here's a viable solution that has exactly All you

1054
00:55:07.880 --> 00:55:10.840
<v Speaker 3>need to do is change one word. Instead of create

1055
00:55:10.880 --> 00:55:13.000
<v Speaker 3>react app, you just say create tst router app and

1056
00:55:13.039 --> 00:55:14.079
<v Speaker 3>you're good to go.

1057
00:55:14.559 --> 00:55:15.920
<v Speaker 2>And are you seeing adoption?

1058
00:55:16.519 --> 00:55:16.679
<v Speaker 1>Oh?

1059
00:55:16.760 --> 00:55:22.119
<v Speaker 3>Yeah, yeah, we saw. I think the original solid router

1060
00:55:22.320 --> 00:55:28.400
<v Speaker 3>create module is at ten stack slash create router, and

1061
00:55:28.440 --> 00:55:30.800
<v Speaker 3>I think it had when I looked last time, it

1062
00:55:30.800 --> 00:55:33.880
<v Speaker 3>was like fifteen hundred downloads per week was its average.

1063
00:55:34.760 --> 00:55:35.719
<v Speaker 4>And this tool.

1064
00:55:37.159 --> 00:55:40.360
<v Speaker 3>Create test Router app in its first week had about

1065
00:55:40.400 --> 00:55:41.199
<v Speaker 3>eighteen hundred.

1066
00:55:41.800 --> 00:55:46.480
<v Speaker 4>So that's great adoption. That's that's like right off the bat,

1067
00:55:46.599 --> 00:55:47.320
<v Speaker 4>right there.

1068
00:55:48.199 --> 00:55:50.719
<v Speaker 2>So right off the bat you more than doubled it download.

1069
00:55:51.000 --> 00:55:51.280
<v Speaker 4>Yeah.

1070
00:55:51.320 --> 00:55:53.559
<v Speaker 3>And now the cool thing is because we added Solid

1071
00:55:54.119 --> 00:55:56.559
<v Speaker 3>and Ryan Carneado came in and said that now this

1072
00:55:56.639 --> 00:55:59.880
<v Speaker 3>is his like he this is the builder that he's

1073
00:55:59.880 --> 00:56:02.400
<v Speaker 3>been waiting for, Like now we're going to pick up

1074
00:56:02.440 --> 00:56:03.360
<v Speaker 3>the Solid folks too.

1075
00:56:03.559 --> 00:56:06.159
<v Speaker 4>And I'm digging it. I think this is really great.

1076
00:56:06.239 --> 00:56:11.000
<v Speaker 2>Yeah, for sure, that's really awesome. What I wanted to

1077
00:56:11.039 --> 00:56:12.639
<v Speaker 2>ask something some one of the.

1078
00:56:12.559 --> 00:56:15.440
<v Speaker 4>Most popular open source things I've ever been involved in.

1079
00:56:15.559 --> 00:56:16.519
<v Speaker 4>So I'm really.

1080
00:56:16.280 --> 00:56:18.880
<v Speaker 3>Happy that like the first time I went to the plate,

1081
00:56:19.159 --> 00:56:22.199
<v Speaker 3>you know, I swung and got a yeah, maybe a

1082
00:56:22.199 --> 00:56:23.639
<v Speaker 3>double or.

1083
00:56:24.639 --> 00:56:26.679
<v Speaker 2>It's all about it's all about the timing.

1084
00:56:27.440 --> 00:56:28.800
<v Speaker 4>It is, it really is.

1085
00:56:28.920 --> 00:56:31.320
<v Speaker 3>I think the last time I hit something like this

1086
00:56:31.519 --> 00:56:34.960
<v Speaker 3>was the compiler. The React compiler came out. The team

1087
00:56:35.000 --> 00:56:36.920
<v Speaker 3>gave me access about a week before it came out,

1088
00:56:37.320 --> 00:56:40.719
<v Speaker 3>and I spent that week like actually like trying it out,

1089
00:56:40.760 --> 00:56:43.119
<v Speaker 3>building a video around it, and that that video did

1090
00:56:43.159 --> 00:56:45.639
<v Speaker 3>super well because it was kind of like it dropped

1091
00:56:45.639 --> 00:56:49.159
<v Speaker 3>on the day that it was released and folks are like, oh,

1092
00:56:49.199 --> 00:56:51.480
<v Speaker 3>this is my In fact, I think even Prime was like,

1093
00:56:51.480 --> 00:56:53.119
<v Speaker 3>this is the official release React video.

1094
00:56:53.280 --> 00:56:55.320
<v Speaker 4>Like no, it's not, but like whatever.

1095
00:56:57.159 --> 00:57:01.239
<v Speaker 2>Let's also you know, you just make awesome video. Excited

1096
00:57:01.320 --> 00:57:04.440
<v Speaker 2>before I said it again, I really enjoy watching your content.

1097
00:57:06.440 --> 00:57:08.639
<v Speaker 3>I released one about reac scan first thing this morning,

1098
00:57:08.719 --> 00:57:12.400
<v Speaker 3>so go check that out. Because Aidan's doing some amazing stuff.

1099
00:57:12.440 --> 00:57:14.599
<v Speaker 2>Oh yeah, like I said, we actually had him on

1100
00:57:14.639 --> 00:57:15.000
<v Speaker 2>the show.

1101
00:57:15.920 --> 00:57:17.119
<v Speaker 1>Is that on the YouTube channel?

1102
00:57:17.480 --> 00:57:19.519
<v Speaker 3>That's not like, yeah, that's on the Blue Collar car

1103
00:57:19.599 --> 00:57:24.719
<v Speaker 3>or Jack Harrington YouTube channel. And yeah, actually just yesterday

1104
00:57:24.719 --> 00:57:27.559
<v Speaker 3>he released a news zero dot two version that has

1105
00:57:27.599 --> 00:57:28.840
<v Speaker 3>some really cool stuff in it.

1106
00:57:28.840 --> 00:57:29.760
<v Speaker 4>It's got able to.

1107
00:57:29.719 --> 00:57:33.000
<v Speaker 2>Do, like it's funny. So I was speaking with him

1108
00:57:33.000 --> 00:57:34.559
<v Speaker 2>on the show and I was telling him you should

1109
00:57:34.599 --> 00:57:36.159
<v Speaker 2>do this, you should do that, and he was like,

1110
00:57:36.239 --> 00:57:38.679
<v Speaker 2>well let me. I'm taking notes. So I'm wondering if

1111
00:57:38.719 --> 00:57:41.639
<v Speaker 2>some of my suggestions actually made it into this new version.

1112
00:57:41.719 --> 00:57:42.719
<v Speaker 2>I need to go and check it.

1113
00:57:42.920 --> 00:57:45.199
<v Speaker 3>Possibly one of the more intriguing ones, and maybe this

1114
00:57:45.280 --> 00:57:48.360
<v Speaker 3>was a you thing, was that now it will actually

1115
00:57:48.400 --> 00:57:52.119
<v Speaker 3>build a prompt that has all the information that it

1116
00:57:52.239 --> 00:57:55.000
<v Speaker 3>has about like why this is re rendering or whatever,

1117
00:57:55.480 --> 00:57:58.360
<v Speaker 3>and then you can literally take that there's a copy button,

1118
00:57:58.679 --> 00:58:02.119
<v Speaker 3>paste that into a claud or chat GBT and maybe.

1119
00:58:01.920 --> 00:58:04.960
<v Speaker 4>Claude will help you figure it out, like why that's happening.

1120
00:58:05.360 --> 00:58:09.360
<v Speaker 2>I didn't suggest that, I just basically anyway. I basically

1121
00:58:09.400 --> 00:58:13.400
<v Speaker 2>suggested that within the tool you could click on things

1122
00:58:13.400 --> 00:58:14.719
<v Speaker 2>and get additional information.

1123
00:58:15.199 --> 00:58:16.760
<v Speaker 4>Oh yeah, no, you can never do that.

1124
00:58:17.480 --> 00:58:19.000
<v Speaker 2>Yeah, so previously you couldn't.

1125
00:58:19.920 --> 00:58:20.400
<v Speaker 4>Well there you go.

1126
00:58:20.480 --> 00:58:23.159
<v Speaker 3>Yeah, now you can like lock into a component and

1127
00:58:23.280 --> 00:58:28.480
<v Speaker 3>see why is that and then force a whatever whatever

1128
00:58:28.679 --> 00:58:30.760
<v Speaker 3>it is, to force a renderer that you don't want,

1129
00:58:31.119 --> 00:58:34.760
<v Speaker 3>and it'll tell you, oh, the reason that particular component

1130
00:58:34.800 --> 00:58:37.800
<v Speaker 3>is re rendering is because this hook you know in

1131
00:58:37.880 --> 00:58:42.119
<v Speaker 3>there fired and that is just super cuock, super handy.

1132
00:58:42.360 --> 00:58:42.719
<v Speaker 4>Yeah.

1133
00:58:42.800 --> 00:58:47.400
<v Speaker 2>Yeah. Well, to be fair, this information was previously already

1134
00:58:47.440 --> 00:58:53.199
<v Speaker 2>available within the React tool developer tools, so it's not

1135
00:58:54.000 --> 00:58:57.280
<v Speaker 2>like you couldn't get at this information before. It's just

1136
00:58:57.440 --> 00:59:03.840
<v Speaker 2>that Aiden is making this information much much more accessible

1137
00:59:04.320 --> 00:59:06.440
<v Speaker 2>and more actionable as a result.

1138
00:59:06.639 --> 00:59:10.039
<v Speaker 3>Yeah, and now it's also he's into slower components as well,

1139
00:59:10.079 --> 00:59:15.039
<v Speaker 3>so it's not just avoiding excessive rerenders or unnecessary rerenders,

1140
00:59:15.360 --> 00:59:21.159
<v Speaker 3>it's also hey, your FPS dropped, and now we can

1141
00:59:21.159 --> 00:59:23.880
<v Speaker 3>actually tell you why it was this component it was

1142
00:59:23.880 --> 00:59:26.119
<v Speaker 3>taking It was really you know, taking too long.

1143
00:59:26.719 --> 00:59:28.800
<v Speaker 4>And yeah, that's it's just great.

1144
00:59:30.239 --> 00:59:32.360
<v Speaker 2>Very cool. Like I said, we had him on the show.

1145
00:59:32.599 --> 00:59:36.840
<v Speaker 2>I recommend our listeners checking that episode out as well

1146
00:59:36.920 --> 00:59:42.599
<v Speaker 2>and also looking at your video. Yeah, uh, I wanted

1147
00:59:42.760 --> 00:59:45.199
<v Speaker 2>I wanted, Oh I wanted to ask you. I now

1148
00:59:45.239 --> 00:59:47.360
<v Speaker 2>remember what I wanted to ask you. I'm just curious,

1149
00:59:48.280 --> 00:59:52.639
<v Speaker 2>what's your own personal idea of choice these days.

1150
00:59:53.119 --> 00:59:59.320
<v Speaker 3>I've just recently switched back from Windsurf to Curser and

1151
00:59:59.400 --> 01:00:03.559
<v Speaker 3>that was primary around the MCP integration. The MCP integration

1152
01:00:03.639 --> 01:00:07.840
<v Speaker 3>into Windsurf just was a little kind of janky, like

1153
01:00:08.000 --> 01:00:09.920
<v Speaker 3>it is just like literally if you got the config

1154
01:00:10.000 --> 01:00:13.480
<v Speaker 3>file wrong or your server or your MCP server fell over,

1155
01:00:14.000 --> 01:00:18.159
<v Speaker 3>you just get this like blank white panel that was like.

1156
01:00:18.280 --> 01:00:21.079
<v Speaker 4>Boom, couldn't couldn't you couldn't deal, you.

1157
01:00:21.119 --> 01:00:25.840
<v Speaker 3>Know kind of thing, and the MCP integration into a

1158
01:00:25.880 --> 01:00:29.599
<v Speaker 3>cursor is at least marginally more robust. But you know,

1159
01:00:29.639 --> 01:00:31.440
<v Speaker 3>I gotta tell you, like, I've been talking to the

1160
01:00:31.440 --> 01:00:34.280
<v Speaker 3>other folks about this, and it's like I just don't get,

1161
01:00:35.039 --> 01:00:38.880
<v Speaker 3>Like I understand as an investor why these companies.

1162
01:00:38.519 --> 01:00:40.079
<v Speaker 4>Would want their own IDEs.

1163
01:00:40.679 --> 01:00:45.159
<v Speaker 3>But from a technical perspective, these could just be plugins

1164
01:00:45.559 --> 01:00:49.559
<v Speaker 3>and the codium was just a plug in. Everything is there,

1165
01:00:50.159 --> 01:00:52.480
<v Speaker 3>But like, is it just that your investors are like,

1166
01:00:52.559 --> 01:00:54.039
<v Speaker 3>come on, man, I'm going to give you one hundred

1167
01:00:54.079 --> 01:00:55.960
<v Speaker 3>and fifty million dollars if you're not going to build

1168
01:00:55.960 --> 01:00:56.360
<v Speaker 3>an app.

1169
01:00:57.039 --> 01:01:00.440
<v Speaker 4>Well, yeah, do you really need to fort real coe?

1170
01:01:00.880 --> 01:01:04.079
<v Speaker 2>Yeah, that's that's an interesting question. Whether there's anything that

1171
01:01:04.119 --> 01:01:06.400
<v Speaker 2>they do which could not have been done.

1172
01:01:06.760 --> 01:01:08.920
<v Speaker 4>Which I actually think yeah, and I actually think the

1173
01:01:08.920 --> 01:01:09.880
<v Speaker 4>integration is poor.

1174
01:01:10.199 --> 01:01:13.400
<v Speaker 3>Like, as an example, like the whole setting system in

1175
01:01:13.880 --> 01:01:17.000
<v Speaker 3>PS code I believe is extensible, and yet if I

1176
01:01:17.000 --> 01:01:20.639
<v Speaker 3>go in a cursor, they've got their own additional setting

1177
01:01:20.679 --> 01:01:24.679
<v Speaker 3>system which is totally non standard. It doesn't actually show

1178
01:01:24.719 --> 01:01:27.840
<v Speaker 3>up in the command panel. You can't like say bring

1179
01:01:27.920 --> 01:01:29.920
<v Speaker 3>up command shift P and then say like add an

1180
01:01:30.000 --> 01:01:32.360
<v Speaker 3>MTP server they don't integrate at that level. It's just

1181
01:01:32.480 --> 01:01:35.280
<v Speaker 3>kind of like this kind of like not particularly well

1182
01:01:35.280 --> 01:01:39.519
<v Speaker 3>integrated integration, and yet they've forked vs code to add it.

1183
01:01:39.599 --> 01:01:40.800
<v Speaker 4>I'm like, good.

1184
01:01:41.440 --> 01:01:45.679
<v Speaker 2>Well, to be honest, I'm still I'm still using vs

1185
01:01:45.760 --> 01:01:48.159
<v Speaker 2>code and I'm hardly even using co pilot.

1186
01:01:48.719 --> 01:01:53.280
<v Speaker 3>Wow, okay, I'm old school. Yeah, i'd us lately and

1187
01:01:53.280 --> 01:01:55.519
<v Speaker 3>I've been pretty happy with it. Yeah, the tab stuff,

1188
01:01:55.800 --> 01:01:57.679
<v Speaker 3>the tab when then when when Curser came out with

1189
01:01:57.719 --> 01:01:59.159
<v Speaker 3>the tab completion, that was.

1190
01:01:59.119 --> 01:02:01.440
<v Speaker 4>Like, whoa, that's next level. That's what.

1191
01:02:03.039 --> 01:02:06.480
<v Speaker 3>Well, So as you're as you're editing, it's trying to

1192
01:02:06.480 --> 01:02:09.519
<v Speaker 3>figure out what you're doing, and then it just literally says, oh,

1193
01:02:09.519 --> 01:02:09.920
<v Speaker 3>I got.

1194
01:02:09.760 --> 01:02:11.079
<v Speaker 4>A completion for you. Hear it.

1195
01:02:11.280 --> 01:02:13.000
<v Speaker 3>Here's kind of a preview of it. Hit tab and

1196
01:02:13.039 --> 01:02:16.440
<v Speaker 3>you'll get it. And it just seems me like spookly

1197
01:02:16.599 --> 01:02:19.400
<v Speaker 3>good and understanding what I'm trying to do, Like if

1198
01:02:19.440 --> 01:02:22.440
<v Speaker 3>I'm changing I don't know, some like I'm adding some

1199
01:02:22.480 --> 01:02:24.760
<v Speaker 3>demo data or something like that. I'll add like one

1200
01:02:24.840 --> 01:02:27.039
<v Speaker 3>example and it'll be like, oh, here's five more.

1201
01:02:27.559 --> 01:02:30.719
<v Speaker 2>You're like, I wish, I wish, I wish I was

1202
01:02:30.760 --> 01:02:33.519
<v Speaker 2>writing that amount of code right now I'm the current

1203
01:02:33.599 --> 01:02:36.400
<v Speaker 2>I think I told you that the current project that

1204
01:02:36.480 --> 01:02:41.400
<v Speaker 2>I'm struggling with is trying to add Typescript into a

1205
01:02:41.519 --> 01:02:47.400
<v Speaker 2>huge legacy web application and it's really tough going for me.

1206
01:02:47.679 --> 01:02:50.000
<v Speaker 3>Well yeah, but you beave a surprise like if you're

1207
01:02:50.039 --> 01:02:52.280
<v Speaker 3>if you actually, like you mentioned in this and I

1208
01:02:52.480 --> 01:02:54.719
<v Speaker 3>mentioned that, like you probably want to extricate the code

1209
01:02:54.760 --> 01:02:56.920
<v Speaker 3>into its own package and then upgrade it. But like

1210
01:02:56.960 --> 01:02:59.079
<v Speaker 3>if you're doing that, that kind of work of like, oh,

1211
01:02:59.159 --> 01:03:01.960
<v Speaker 3>I've got these fifteen functions. They all take the first

1212
01:03:02.360 --> 01:03:04.960
<v Speaker 3>you know, they all take a parameter which is I

1213
01:03:05.000 --> 01:03:07.840
<v Speaker 3>don't know, whatever options or whatever is their first parameter.

1214
01:03:08.199 --> 01:03:11.039
<v Speaker 3>You fix it on the first one, and it's like, hey,

1215
01:03:11.480 --> 01:03:14.119
<v Speaker 3>if you hit tab, I'll just fix all other furs

1216
01:03:14.199 --> 01:03:14.599
<v Speaker 3>for you.

1217
01:03:15.039 --> 01:03:15.960
<v Speaker 4>Do you want me to do that?

1218
01:03:16.000 --> 01:03:20.000
<v Speaker 3>And you're like hmm, well yeah, I guess, like just

1219
01:03:20.039 --> 01:03:23.519
<v Speaker 3>do for me what you've got.

1220
01:03:23.960 --> 01:03:26.159
<v Speaker 4>Yeah, exactly. Yeah, that's the thing.

1221
01:03:26.360 --> 01:03:28.320
<v Speaker 1>The other the other thing I've seen is like if

1222
01:03:28.320 --> 01:03:30.519
<v Speaker 1>I'm changing the name of a function or a method

1223
01:03:31.199 --> 01:03:34.599
<v Speaker 1>or yeah, change the signature or anything like that, it

1224
01:03:34.639 --> 01:03:36.440
<v Speaker 1>goes in and it says you want me to fix

1225
01:03:36.519 --> 01:03:40.079
<v Speaker 1>like everything that uses this. I mean, it's like hmm.

1226
01:03:40.320 --> 01:03:43.199
<v Speaker 3>Let me think about that second. Yeah, well, yes, yes,

1227
01:03:43.239 --> 01:03:45.280
<v Speaker 3>you could do that for me. And it's just it's

1228
01:03:45.320 --> 01:03:48.719
<v Speaker 3>like it is, it is the co pilot that you wanted. Yeah,

1229
01:03:49.320 --> 01:03:52.960
<v Speaker 3>it's just really good for that, really really good. Yeah,

1230
01:03:52.960 --> 01:03:55.239
<v Speaker 3>and it is fast, like I was actually talking to

1231
01:03:55.519 --> 01:03:58.679
<v Speaker 3>behind this. And so there's the side panel that uses

1232
01:03:58.760 --> 01:04:01.400
<v Speaker 3>like clawed or deep sea or whatever and does my

1233
01:04:01.519 --> 01:04:04.559
<v Speaker 3>almost ever touch that, to be honest, rights, that's when

1234
01:04:04.559 --> 01:04:07.360
<v Speaker 3>you actually like the long sort of things. And then

1235
01:04:07.719 --> 01:04:10.800
<v Speaker 3>then there's a tab integration, which is at least on

1236
01:04:10.880 --> 01:04:13.559
<v Speaker 3>Windsurf it was their own custom l M, and I'm

1237
01:04:13.559 --> 01:04:16.719
<v Speaker 3>guessing that it's probably the same for Cursor and it

1238
01:04:16.840 --> 01:04:18.800
<v Speaker 3>is wild fast.

1239
01:04:19.800 --> 01:04:23.159
<v Speaker 2>Yeah, well there's a reason. And VideA is worth what

1240
01:04:23.280 --> 01:04:23.760
<v Speaker 2>it's worth.

1241
01:04:27.559 --> 01:04:31.840
<v Speaker 4>Yeah. I think it's running locally, I guess hmmm yeah,

1242
01:04:31.960 --> 01:04:32.400
<v Speaker 4>probably not.

1243
01:04:32.760 --> 01:04:34.880
<v Speaker 2>Yeah, but you still got to train the models.

1244
01:04:35.320 --> 01:04:36.760
<v Speaker 4>Yeah, that's true, that's true.

1245
01:04:36.960 --> 01:04:40.119
<v Speaker 3>Yeah, And as we saw deep Seek right on, one

1246
01:04:40.159 --> 01:04:42.719
<v Speaker 3>thing is training and another thing is actually you know,

1247
01:04:42.840 --> 01:04:46.159
<v Speaker 3>running it and being hyperperforming or cacheing and things like that,

1248
01:04:46.239 --> 01:04:48.000
<v Speaker 3>and so there's a lot of a lot of ground

1249
01:04:48.079 --> 01:04:49.400
<v Speaker 3>be made up to run it locally.

1250
01:04:50.360 --> 01:04:52.239
<v Speaker 1>Yeah. Well, and that's the chink in the armor the

1251
01:04:52.360 --> 01:04:55.679
<v Speaker 1>deep Seek exposed. I mean, if if they're what we've

1252
01:04:55.679 --> 01:04:57.920
<v Speaker 1>been told about it is honest, is that they didn't

1253
01:04:57.960 --> 01:05:02.119
<v Speaker 1>need the big fat GPU to do it or the

1254
01:05:02.159 --> 01:05:05.079
<v Speaker 1>set of GPUs. I don't know. But at the same time,

1255
01:05:05.599 --> 01:05:09.599
<v Speaker 1>if we can get away with training models without yeah,

1256
01:05:09.639 --> 01:05:13.480
<v Speaker 1>without that, then you know, maybe in NVIDIA isn't as valuable.

1257
01:05:13.519 --> 01:05:16.039
<v Speaker 1>But still, I mean, the things that we can do

1258
01:05:16.079 --> 01:05:17.239
<v Speaker 1>with AI these days is just.

1259
01:05:17.559 --> 01:05:20.320
<v Speaker 2>No, it's beyond it's beyond that. You know, we are

1260
01:05:21.199 --> 01:05:26.559
<v Speaker 2>Chinese attack away from AI being delayed by a decade.

1261
01:05:28.920 --> 01:05:31.840
<v Speaker 2>What I mean is if if China decides to go

1262
01:05:31.960 --> 01:05:37.000
<v Speaker 2>for Taiwan, oh yeah, there goes AI. Yeah, unless indeed

1263
01:05:37.360 --> 01:05:41.920
<v Speaker 2>something like deep Seek can work around the GPU shortage

1264
01:05:42.000 --> 01:05:43.320
<v Speaker 2>that will arise.

1265
01:05:43.480 --> 01:05:45.480
<v Speaker 3>Yeah, that's why we needed the Chips Act was to

1266
01:05:45.599 --> 01:05:48.679
<v Speaker 3>go in. But the probably, yeah, the fabs are the issue.

1267
01:05:49.119 --> 01:05:52.039
<v Speaker 3>And then a fantastic book that I read last year

1268
01:05:52.079 --> 01:05:55.519
<v Speaker 3>I think called chip Wars, which is all about like

1269
01:05:55.599 --> 01:05:59.719
<v Speaker 3>the evolution of the chip and the fact that we

1270
01:05:59.800 --> 01:06:03.480
<v Speaker 3>now live in this amazingly fragile ecosystem where there's literally

1271
01:06:04.239 --> 01:06:07.159
<v Speaker 3>one country in the world. I think it's like Denmark

1272
01:06:07.440 --> 01:06:11.079
<v Speaker 3>where they build the uh the machines that are capable

1273
01:06:11.079 --> 01:06:15.840
<v Speaker 3>of actually like doing the printing on and the lithography.

1274
01:06:16.320 --> 01:06:19.519
<v Speaker 3>And it's literally that one company like nobody else in

1275
01:06:19.559 --> 01:06:20.880
<v Speaker 3>the when the world mixed up.

1276
01:06:21.440 --> 01:06:28.280
<v Speaker 2>You know, we're totally digressing. But yeah, you know, it's

1277
01:06:28.320 --> 01:06:31.079
<v Speaker 2>shades of the Bronze Age collapse. And you know about

1278
01:06:31.079 --> 01:06:35.960
<v Speaker 2>that what the Bronze Age collapse was. No, so back

1279
01:06:36.079 --> 01:06:40.239
<v Speaker 2>in like the twelfth century BC, the entire they had

1280
01:06:40.280 --> 01:06:44.920
<v Speaker 2>this very sophisticated ancient world. You had Egypt, and you

1281
01:06:45.039 --> 01:06:49.039
<v Speaker 2>had the Assyrian empires and Babylonia and the Hittites and whatnot,

1282
01:06:49.800 --> 01:06:56.199
<v Speaker 2>and then it all collapsed within within uh something like

1283
01:06:56.239 --> 01:06:59.960
<v Speaker 2>a century, the whole world more or less came crumbling down.

1284
01:07:00.719 --> 01:07:05.760
<v Speaker 2>The Minoa, the Mycenean me know, and Mycenian cultures for

1285
01:07:05.800 --> 01:07:10.159
<v Speaker 2>example in Greece they died. It took four hundred years

1286
01:07:10.159 --> 01:07:11.480
<v Speaker 2>for them to get writing again.

1287
01:07:12.159 --> 01:07:12.719
<v Speaker 4>Wow.

1288
01:07:13.159 --> 01:07:15.599
<v Speaker 2>So yeah, it's like the full.

1289
01:07:17.000 --> 01:07:17.360
<v Speaker 4>Copper.

1290
01:07:18.440 --> 01:07:22.039
<v Speaker 2>No, it had to do with the sophisticated network of

1291
01:07:22.119 --> 01:07:26.519
<v Speaker 2>commerce that when when they started to fall, they felt

1292
01:07:26.559 --> 01:07:31.199
<v Speaker 2>like dominoes. So so basically, you know, you think about

1293
01:07:31.199 --> 01:07:35.079
<v Speaker 2>the modern world where everything is interconnected, where like a

1294
01:07:35.159 --> 01:07:38.840
<v Speaker 2>pencil gets made in like parts with five different countries

1295
01:07:38.960 --> 01:07:42.719
<v Speaker 2>or something like that. You're thinking, if you pull one

1296
01:07:43.079 --> 01:07:47.920
<v Speaker 2>country or one domino, one falls. If it's sufficiently large

1297
01:07:47.920 --> 01:07:51.960
<v Speaker 2>domino at least the entire system, can you know, collapse.

1298
01:07:52.280 --> 01:07:52.519
<v Speaker 4>Yeah.

1299
01:07:53.480 --> 01:07:58.000
<v Speaker 2>Anyway, we totally digressed going back to CT are You're

1300
01:07:58.039 --> 01:08:01.519
<v Speaker 2>still You're you're still So we talked about this fantastic

1301
01:08:01.559 --> 01:08:04.480
<v Speaker 2>AI integration that's built in. So now if you're using

1302
01:08:04.559 --> 01:08:08.159
<v Speaker 2>an AI by the way, you can't get this functionality

1303
01:08:08.360 --> 01:08:13.119
<v Speaker 2>within VS code with the Copilot. They don't have support

1304
01:08:13.159 --> 01:08:13.440
<v Speaker 2>for that.

1305
01:08:13.519 --> 01:08:15.079
<v Speaker 4>Yet, I don't think. So.

1306
01:08:15.119 --> 01:08:18.239
<v Speaker 3>I googled around for Copilot and MCP, and I didn't

1307
01:08:18.239 --> 01:08:21.279
<v Speaker 3>find that they had any integration currently. But I wouldn't

1308
01:08:21.279 --> 01:08:23.359
<v Speaker 3>I would expect. I mean, this is like an arms

1309
01:08:23.439 --> 01:08:27.520
<v Speaker 3>race here. You know, you got Microsoft going and they're

1310
01:08:27.640 --> 01:08:30.640
<v Speaker 3>they're constantly adding new stuff on a Copilot and kind

1311
01:08:30.680 --> 01:08:33.960
<v Speaker 3>of compete, so I would I think, Actually, Copilot does

1312
01:08:34.000 --> 01:08:37.479
<v Speaker 3>have now the tab completion and stuff, so I would

1313
01:08:37.479 --> 01:08:39.159
<v Speaker 3>expect that MCP wouldn't be far behind.

1314
01:08:40.119 --> 01:08:40.359
<v Speaker 2>Cool.

1315
01:08:40.439 --> 01:08:43.279
<v Speaker 3>I'm glad that it's actually like there's an awesome MCP

1316
01:08:44.439 --> 01:08:46.520
<v Speaker 3>GitHub as you usually have for this sort of thing,

1317
01:08:46.560 --> 01:08:49.000
<v Speaker 3>like with the list of all the potential servers and

1318
01:08:49.159 --> 01:08:51.600
<v Speaker 3>it's growing fast.

1319
01:08:51.680 --> 01:08:54.319
<v Speaker 1>The MCP environment. I did just quick Google search and

1320
01:08:54.359 --> 01:08:58.159
<v Speaker 1>I did find a vs code MCP server extension.

1321
01:08:58.399 --> 01:08:58.880
<v Speaker 4>Oh there you go.

1322
01:08:59.119 --> 01:09:01.880
<v Speaker 1>Well, so I don't know, I don't know how far

1323
01:09:01.920 --> 01:09:02.960
<v Speaker 1>that gets you down the road, but.

1324
01:09:03.039 --> 01:09:08.079
<v Speaker 3>Right because co pilot itself had extension has extensions, which

1325
01:09:08.119 --> 01:09:11.560
<v Speaker 3>was good, which was Microsoft's original answer pre MCP. So

1326
01:09:11.600 --> 01:09:13.800
<v Speaker 3>I wonder if they're putting this is like a shim

1327
01:09:14.039 --> 01:09:19.680
<v Speaker 3>to basically connect the githubs the co pilot extension mechanism

1328
01:09:19.760 --> 01:09:22.319
<v Speaker 3>to an m CP server could.

1329
01:09:22.159 --> 01:09:24.960
<v Speaker 4>Be Yeah, so good luck a bugging that one.

1330
01:09:25.960 --> 01:09:28.279
<v Speaker 2>What's what's the so, what's the version of ct A

1331
01:09:28.479 --> 01:09:31.920
<v Speaker 2>is it? Is it like it's well obviously or we

1332
01:09:31.920 --> 01:09:35.199
<v Speaker 2>were talking about downloads, so it's officially released, but what's

1333
01:09:35.239 --> 01:09:36.560
<v Speaker 2>the version around it?

1334
01:09:36.560 --> 01:09:40.439
<v Speaker 4>It's currently zero four two so yeah.

1335
01:09:40.800 --> 01:09:42.920
<v Speaker 2>So that counts as alpha beta.

1336
01:09:44.159 --> 01:09:47.359
<v Speaker 3>I would say that the I mean, the main part

1337
01:09:47.359 --> 01:09:50.279
<v Speaker 3>of it, like what just build an app is is

1338
01:09:50.319 --> 01:09:54.720
<v Speaker 3>fully released. That's that's cool. But the add ons and

1339
01:09:54.800 --> 01:09:59.520
<v Speaker 3>the AI stuff, I'm still getting some bugger I'm getting

1340
01:09:59.520 --> 01:10:03.000
<v Speaker 3>bug reports, which is great. Some folks are finding that

1341
01:10:03.000 --> 01:10:05.520
<v Speaker 3>there's issues. I was running into one just this morning

1342
01:10:05.600 --> 01:10:10.359
<v Speaker 3>where folks are one part the chassy En add on

1343
01:10:10.920 --> 01:10:13.760
<v Speaker 3>actually runs the shadzy En in it as part of

1344
01:10:13.800 --> 01:10:17.560
<v Speaker 3>the setup process, and folks are seeing some issues of that,

1345
01:10:17.680 --> 01:10:19.960
<v Speaker 3>and I think it was primarily around like older node

1346
01:10:20.039 --> 01:10:21.359
<v Speaker 3>versions things like that.

1347
01:10:21.520 --> 01:10:24.159
<v Speaker 2>So you know, you know what, you know, what might

1348
01:10:24.199 --> 01:10:28.000
<v Speaker 2>be awesome if maybe it's already in your plans, if

1349
01:10:28.039 --> 01:10:31.920
<v Speaker 2>people could add add ons without having to involve you.

1350
01:10:32.560 --> 01:10:36.399
<v Speaker 3>Yes, yeah, So the long range thing here, there's two

1351
01:10:36.439 --> 01:10:38.079
<v Speaker 3>big things that I want to do that I want

1352
01:10:38.079 --> 01:10:40.039
<v Speaker 3>to go after, and I don't know if it's going

1353
01:10:40.039 --> 01:10:41.520
<v Speaker 3>to fit in to create ts rout or app or

1354
01:10:41.520 --> 01:10:45.560
<v Speaker 3>it's just going to be part of like something that's different.

1355
01:10:46.880 --> 01:10:49.479
<v Speaker 3>But the idea is to kind of work on the

1356
01:10:49.520 --> 01:10:52.479
<v Speaker 3>shadzy En model where shadzy En now has this thing

1357
01:10:52.520 --> 01:10:54.520
<v Speaker 3>called blocks and I've actually talked with the chazy and

1358
01:10:54.600 --> 01:10:57.079
<v Speaker 3>guy and he's totally had more to this. But if

1359
01:10:57.079 --> 01:10:59.600
<v Speaker 3>you go to if you like, take a shadzy En

1360
01:10:59.640 --> 01:11:03.000
<v Speaker 3>app and or an app that has shedsy in it,

1361
01:11:03.039 --> 01:11:07.279
<v Speaker 3>and you say like mpx shedsy En at latest ad.

1362
01:11:07.239 --> 01:11:09.119
<v Speaker 4>And then you give it you could.

1363
01:11:08.880 --> 01:11:11.600
<v Speaker 3>Normally do like button or input or one of those,

1364
01:11:12.119 --> 01:11:15.359
<v Speaker 3>but you could you can give it a URL and

1365
01:11:15.399 --> 01:11:18.239
<v Speaker 3>that URL points to a Jason blob that has like

1366
01:11:18.319 --> 01:11:20.359
<v Speaker 3>all of the information, here's the files that you need

1367
01:11:20.399 --> 01:11:22.600
<v Speaker 3>to put in where they need to go, here's the

1368
01:11:22.600 --> 01:11:25.520
<v Speaker 3>package you need to add all that stuff. And I

1369
01:11:25.560 --> 01:11:27.560
<v Speaker 3>actually built an app that makes it really easy to

1370
01:11:27.560 --> 01:11:31.880
<v Speaker 3>build these these Jason Delta files. But the idea is like,

1371
01:11:31.920 --> 01:11:35.640
<v Speaker 3>if I'm a clerk or whatever, I can just go

1372
01:11:35.720 --> 01:11:39.600
<v Speaker 3>and build like a start setup dot Jason file and

1373
01:11:39.640 --> 01:11:42.159
<v Speaker 3>then you just do MPX Chad cy N, here's my

1374
01:11:42.359 --> 01:11:45.159
<v Speaker 3>UL start set up blah blah blah, and it goes

1375
01:11:45.199 --> 01:11:47.640
<v Speaker 3>and bo drops all those files down. It'll tell you

1376
01:11:47.640 --> 01:11:49.479
<v Speaker 3>if it's going to overwrite files, it'll add all the

1377
01:11:49.479 --> 01:11:52.000
<v Speaker 3>package of Jason stuff, it'll change all the CSS variables

1378
01:11:52.039 --> 01:11:55.600
<v Speaker 3>and everything, and now you've got an integration for I

1379
01:11:55.600 --> 01:11:57.319
<v Speaker 3>don't know, clerk or whatever it is, right, And I

1380
01:11:57.359 --> 01:11:58.479
<v Speaker 3>thought that, man, that's cool.

1381
01:11:58.479 --> 01:11:59.720
<v Speaker 4>That's really cool and.

1382
01:12:00.079 --> 01:12:03.039
<v Speaker 3>Does exactly what Dan was saying, which is basically it

1383
01:12:03.039 --> 01:12:06.760
<v Speaker 3>it opens up the door for anybody to go and

1384
01:12:06.800 --> 01:12:11.159
<v Speaker 3>make these add on templates, and that that was fascinating.

1385
01:12:11.439 --> 01:12:14.039
<v Speaker 2>So scary to an extent, you don't know where your

1386
01:12:14.079 --> 01:12:15.239
<v Speaker 2>template is coming from.

1387
01:12:15.560 --> 01:12:18.079
<v Speaker 3>Yeah, but I mean how many times I maybe you

1388
01:12:18.119 --> 01:12:19.520
<v Speaker 3>don't do this but like, how many times have you

1389
01:12:19.600 --> 01:12:23.479
<v Speaker 3>gotten instructions for installation that are like curl this ur

1390
01:12:23.680 --> 01:12:27.039
<v Speaker 3>l into my in my shell And it's like, ill,

1391
01:12:27.960 --> 01:12:30.800
<v Speaker 3>I don't know, right, right's a pseudo curl And you're like,

1392
01:12:31.319 --> 01:12:34.079
<v Speaker 3>I don't know what you're doing, but I trust you

1393
01:12:35.000 --> 01:12:38.359
<v Speaker 3>and it totally gives me malware. But you know, at

1394
01:12:38.359 --> 01:12:41.600
<v Speaker 3>the end of the day, if you use get just

1395
01:12:41.680 --> 01:12:43.680
<v Speaker 3>you know, if you're going to do that, if you're

1396
01:12:43.680 --> 01:12:45.560
<v Speaker 3>going to say mpx chancy, and just make sure that

1397
01:12:45.560 --> 01:12:49.239
<v Speaker 3>you're on a clean branch right, like you're not, like

1398
01:12:49.279 --> 01:12:51.520
<v Speaker 3>there's no existing work or anything, and then you can

1399
01:12:51.600 --> 01:12:53.720
<v Speaker 3>just be like, well get status, like what.

1400
01:12:53.439 --> 01:12:56.319
<v Speaker 4>What did you change? And you can literally see like

1401
01:12:56.439 --> 01:12:58.000
<v Speaker 4>here I added this file here.

1402
01:12:58.319 --> 01:13:01.119
<v Speaker 2>That sand is a huge topic that's beyond the scope

1403
01:13:01.119 --> 01:13:03.520
<v Speaker 2>certainly of the time we have left, because I do

1404
01:13:03.640 --> 01:13:06.800
<v Speaker 2>have look, I really like the on the one hand,

1405
01:13:06.840 --> 01:13:10.399
<v Speaker 2>I really love the headless approach, oh yeah, But on

1406
01:13:10.439 --> 01:13:14.239
<v Speaker 2>the other hand, I'm really wary about the fact that

1407
01:13:14.439 --> 01:13:18.199
<v Speaker 2>it's literally embedding code in your project rather than taking

1408
01:13:18.239 --> 01:13:22.760
<v Speaker 2>the package approach, because then I keep thinking, what if

1409
01:13:22.800 --> 01:13:24.159
<v Speaker 2>a new version comes out?

1410
01:13:24.520 --> 01:13:26.920
<v Speaker 3>Yeah, have you looked at well one? They do have

1411
01:13:27.000 --> 01:13:29.159
<v Speaker 3>kind of a song for that. But two, have you

1412
01:13:29.199 --> 01:13:30.800
<v Speaker 3>actually looked at the code that it's putting in.

1413
01:13:31.560 --> 01:13:33.199
<v Speaker 2>No, to be honest, I have done.

1414
01:13:33.279 --> 01:13:35.600
<v Speaker 3>I think you'll be a lot better if you look

1415
01:13:35.600 --> 01:13:38.000
<v Speaker 3>at the code, because the code is really like in

1416
01:13:38.000 --> 01:13:41.479
<v Speaker 3>most cases, it is a very light wrapper around a

1417
01:13:41.600 --> 01:13:45.640
<v Speaker 3>rad x component that basically just says, here, use this

1418
01:13:45.680 --> 01:13:47.880
<v Speaker 3>rad ex component which is headless, and here are the

1419
01:13:47.920 --> 01:13:49.279
<v Speaker 3>classes that you want to put on it.

1420
01:13:49.319 --> 01:13:52.600
<v Speaker 2>And so the red x component itself is still an external.

1421
01:13:52.119 --> 01:13:54.920
<v Speaker 3>Component exactly, and it is and it is big, and

1422
01:13:55.000 --> 01:13:57.479
<v Speaker 3>it's doing all the work of all the ITN and

1423
01:13:57.600 --> 01:14:00.159
<v Speaker 3>or the accessibility and all the rest of it it.

1424
01:14:01.119 --> 01:14:04.720
<v Speaker 3>So it really is if you were to go and

1425
01:14:04.800 --> 01:14:07.640
<v Speaker 3>use like a rat X in your app, you'd probably

1426
01:14:07.680 --> 01:14:11.680
<v Speaker 3>be building these files this way. That's how I look

1427
01:14:11.720 --> 01:14:14.840
<v Speaker 3>at it. And you know, again like so cool, like

1428
01:14:14.920 --> 01:14:17.359
<v Speaker 3>that whole infrastructure of blocks is so cool for like

1429
01:14:17.399 --> 01:14:20.439
<v Speaker 3>an infrastructure like I always look at like my past

1430
01:14:20.479 --> 01:14:22.560
<v Speaker 3>experience and like what would I do if I was

1431
01:14:22.640 --> 01:14:25.479
<v Speaker 3>using this at Nike right or at Walmart labs where

1432
01:14:25.479 --> 01:14:27.720
<v Speaker 3>we're working the past, and I've been on in for

1433
01:14:27.880 --> 01:14:31.800
<v Speaker 3>teams at those companies, and it is so cool that

1434
01:14:31.880 --> 01:14:33.760
<v Speaker 3>as in like a Nike can go and create like

1435
01:14:33.760 --> 01:14:37.000
<v Speaker 3>an internal GitHub repo that has those Jason files for

1436
01:14:37.159 --> 01:14:39.600
<v Speaker 3>like our version of a button and our version of

1437
01:14:39.600 --> 01:14:41.960
<v Speaker 3>an input, and then instead of just doing you know,

1438
01:14:42.000 --> 01:14:44.680
<v Speaker 3>shad see in add button, you use shad c in

1439
01:14:44.880 --> 01:14:47.520
<v Speaker 3>add a r L for our button and you get

1440
01:14:47.560 --> 01:14:50.439
<v Speaker 3>all of our styling and all of our stuff as

1441
01:14:50.439 --> 01:14:52.720
<v Speaker 3>opposed to that, which I think is just super cool.

1442
01:14:54.000 --> 01:14:55.880
<v Speaker 4>Yeah, all right, so that's that's one thing we want

1443
01:14:55.920 --> 01:14:56.079
<v Speaker 4>to do.

1444
01:14:56.319 --> 01:14:59.399
<v Speaker 1>Sorry, I was just gonna I have one more question

1445
01:14:59.439 --> 01:15:00.680
<v Speaker 1>than I think when you to get a picks, but

1446
01:15:00.720 --> 01:15:02.840
<v Speaker 1>go ahead and finish with Okay, well.

1447
01:15:04.239 --> 01:15:07.039
<v Speaker 3>That that ability to have external templates and then also

1448
01:15:07.159 --> 01:15:09.560
<v Speaker 3>to do those add ons. That's what we'd be looking

1449
01:15:09.600 --> 01:15:11.439
<v Speaker 3>to do next when it comes to this tis routter stuff.

1450
01:15:11.880 --> 01:15:15.439
<v Speaker 1>So yeah, so you know related to that, and you

1451
01:15:15.439 --> 01:15:18.000
<v Speaker 1>know the things that you would like to do. So

1452
01:15:18.199 --> 01:15:19.760
<v Speaker 1>is version one dot ZHO just going to be a

1453
01:15:19.760 --> 01:15:21.680
<v Speaker 1>stable version of what you have now or is it

1454
01:15:21.720 --> 01:15:23.439
<v Speaker 1>going to include some of this stuff or there are

1455
01:15:23.439 --> 01:15:24.720
<v Speaker 1>other things that you want to see in it.

1456
01:15:25.239 --> 01:15:28.920
<v Speaker 4>I don't know, you know, I think it's stable as is.

1457
01:15:29.079 --> 01:15:30.720
<v Speaker 3>I know that like I guess one we could we

1458
01:15:30.760 --> 01:15:34.399
<v Speaker 3>could bump into one dot oh it's fine, but I

1459
01:15:34.399 --> 01:15:36.680
<v Speaker 3>I'm just enjoying getting feedback from folks.

1460
01:15:36.720 --> 01:15:38.079
<v Speaker 4>I think that's one of the cool things.

1461
01:15:38.079 --> 01:15:41.760
<v Speaker 3>We were kind of like before this happened, we were

1462
01:15:41.800 --> 01:15:44.760
<v Speaker 3>talking about that that Chadsia M block system and just

1463
01:15:44.800 --> 01:15:48.920
<v Speaker 3>kind of hypothesizing about it, and having done this has

1464
01:15:49.039 --> 01:15:52.720
<v Speaker 3>really helped inform what that needs to be, and it

1465
01:15:52.760 --> 01:15:57.760
<v Speaker 3>needs to be, unfortunately a lot more complex because you know,

1466
01:15:57.760 --> 01:16:00.079
<v Speaker 3>there's multiple ways that you can build an app in

1467
01:16:00.119 --> 01:16:04.720
<v Speaker 3>multiple places that code can go, and so it's it's

1468
01:16:04.800 --> 01:16:07.720
<v Speaker 3>really helping, like the existence of great test writer app

1469
01:16:07.800 --> 01:16:11.279
<v Speaker 3>is kind of helping inform the next generation of test

1470
01:16:11.279 --> 01:16:13.279
<v Speaker 3>writer app that will allow this ability to create like

1471
01:16:13.319 --> 01:16:17.840
<v Speaker 3>public integrations or your own custom integrations, your own custom templates.

1472
01:16:18.119 --> 01:16:19.479
<v Speaker 4>I really want for people to be able.

1473
01:16:19.359 --> 01:16:21.960
<v Speaker 3>To say, hey, I've built my app, I've set it

1474
01:16:22.039 --> 01:16:23.720
<v Speaker 3>up the way that I want it. It's got all

1475
01:16:23.760 --> 01:16:25.479
<v Speaker 3>the stuff that I need in it. For any time

1476
01:16:25.800 --> 01:16:28.920
<v Speaker 3>I want to literally go and just like frost this

1477
01:16:29.359 --> 01:16:32.199
<v Speaker 3>as a template, and then next time I want to

1478
01:16:32.199 --> 01:16:34.239
<v Speaker 3>build an app, I just want to use that and

1479
01:16:34.359 --> 01:16:36.960
<v Speaker 3>the but it would be an active template where where

1480
01:16:37.000 --> 01:16:40.920
<v Speaker 3>the versions would change and that sort of stuff. So

1481
01:16:41.000 --> 01:16:42.199
<v Speaker 3>that's where I kind of want to get.

1482
01:16:42.079 --> 01:16:46.840
<v Speaker 2>To have we has Jack frozen for YouTube?

1483
01:16:47.479 --> 01:16:47.720
<v Speaker 1>Yes?

1484
01:16:49.239 --> 01:16:54.039
<v Speaker 2>Sorry, No, I do have one final question on my

1485
01:16:54.239 --> 01:16:58.199
<v Speaker 2>end before we go to picks Picks. By the way,

1486
01:16:58.319 --> 01:17:02.560
<v Speaker 2>just so you know, I remind you, I don't know

1487
01:17:02.640 --> 01:17:05.199
<v Speaker 2>if you had it when you were on on the

1488
01:17:05.439 --> 01:17:10.159
<v Speaker 2>on you know, the react ground up round. It's basically

1489
01:17:10.199 --> 01:17:13.000
<v Speaker 2>shouting out your whatever you want to shout out.

1490
01:17:13.079 --> 01:17:14.239
<v Speaker 4>Okay, cool, all right.

1491
01:17:14.680 --> 01:17:19.000
<v Speaker 2>So my question is about the deployment story. Uh, is

1492
01:17:19.039 --> 01:17:21.680
<v Speaker 2>there a deployment store, Like if if I want to

1493
01:17:21.720 --> 01:17:26.119
<v Speaker 2>employ deploy to Netlify or to versell or to a

1494
01:17:26.359 --> 01:17:31.000
<v Speaker 2>WS is that part of ct A or do I

1495
01:17:31.079 --> 01:17:34.880
<v Speaker 2>need the ten sax start for that? Like? What's the

1496
01:17:34.920 --> 01:17:36.039
<v Speaker 2>story around deployment.

1497
01:17:36.279 --> 01:17:39.119
<v Speaker 3>So Netlifi is a partner with Tansac and we have

1498
01:17:39.239 --> 01:17:45.279
<v Speaker 3>a pretty early days add on for Netlify in the

1499
01:17:45.279 --> 01:17:48.600
<v Speaker 3>package that basically just goes and kind of sets up

1500
01:17:48.880 --> 01:17:51.319
<v Speaker 3>adds a little bit of deployment information to the REMDIA.

1501
01:17:51.319 --> 01:17:53.359
<v Speaker 3>We didn't do all that much, but that's one thing

1502
01:17:53.359 --> 01:17:56.199
<v Speaker 3>I definitely want to do is start working with Netlifhi

1503
01:17:56.279 --> 01:17:59.359
<v Speaker 3>to see if we can strengthen that to the place

1504
01:17:59.399 --> 01:18:03.239
<v Speaker 3>where if you build a straight SPA that can be

1505
01:18:03.359 --> 01:18:06.439
<v Speaker 3>just statically deployed. Then we'll set it up that way.

1506
01:18:06.680 --> 01:18:08.439
<v Speaker 3>And if you build a start app and then we'll

1507
01:18:08.479 --> 01:18:11.199
<v Speaker 3>go and set up your netle file so that it'll

1508
01:18:11.199 --> 01:18:14.680
<v Speaker 3>actually go and run a server and give you all that.

1509
01:18:14.680 --> 01:18:17.239
<v Speaker 2>Start kind of has it built built in, doesn't it?

1510
01:18:17.840 --> 01:18:20.199
<v Speaker 4>I don't think, though maybe it does.

1511
01:18:20.560 --> 01:18:22.800
<v Speaker 2>I think it does. I would check with tenor. I

1512
01:18:22.840 --> 01:18:27.720
<v Speaker 2>think one of the key things about meta frameworks or

1513
01:18:27.840 --> 01:18:31.520
<v Speaker 2>full stack frameworks is the deployment story. Oh for sure,

1514
01:18:31.960 --> 01:18:35.279
<v Speaker 2>you expect like three things from a full stack app,

1515
01:18:35.720 --> 01:18:40.399
<v Speaker 2>or maybe four things, depending how you count. You expect bundling,

1516
01:18:41.159 --> 01:18:45.920
<v Speaker 2>you expect routing, and you expect deployments.

1517
01:18:47.079 --> 01:18:49.279
<v Speaker 4>That's three things.

1518
01:18:48.239 --> 01:18:51.760
<v Speaker 2>Here four well fourth I was hesitant about the fourth.

1519
01:18:54.119 --> 01:18:56.760
<v Speaker 3>Yeah, okay, but I mean there's really two different things,

1520
01:18:56.800 --> 01:18:59.840
<v Speaker 3>right if you if you're building a static app, then

1521
01:19:00.000 --> 01:19:02.479
<v Speaker 3>and that is one type of deployment you can go

1522
01:19:02.520 --> 01:19:05.560
<v Speaker 3>and deploy out to S three or CDNs or whatever,

1523
01:19:05.920 --> 01:19:08.479
<v Speaker 3>and then there's another level of deployment when it comes.

1524
01:19:08.399 --> 01:19:12.439
<v Speaker 2>To That's why about SSR, because SSR is on the

1525
01:19:12.760 --> 01:19:15.239
<v Speaker 2>is like half of it is part of the bundling

1526
01:19:15.319 --> 01:19:18.159
<v Speaker 2>story and half of it is part of the deployment story,

1527
01:19:18.359 --> 01:19:20.199
<v Speaker 2>and half of it is part of the routing story.

1528
01:19:20.279 --> 01:19:23.399
<v Speaker 2>So there are three halves to SSR.

1529
01:19:23.920 --> 01:19:28.199
<v Speaker 3>But you know, I don't want to bag on again.

1530
01:19:28.640 --> 01:19:31.439
<v Speaker 3>I haven't a course for next JS. We would, you know,

1531
01:19:31.680 --> 01:19:34.439
<v Speaker 3>go check it out here into that and and it's great,

1532
01:19:34.680 --> 01:19:36.840
<v Speaker 3>and we do talk about deployments, but I guess say,

1533
01:19:36.880 --> 01:19:39.680
<v Speaker 3>the easiest way to deploy next JS is and probably

1534
01:19:39.760 --> 01:19:44.960
<v Speaker 3>always will be Brissel. And yeah, and if you try

1535
01:19:45.000 --> 01:19:48.159
<v Speaker 3>to deploy it on like a Docker or an s.

1536
01:19:48.000 --> 01:19:51.359
<v Speaker 4>ST, I mean it is, it's it's not easy.

1537
01:19:51.720 --> 01:19:53.600
<v Speaker 3>It's not easy, particularly if you want to really use

1538
01:19:53.640 --> 01:19:56.199
<v Speaker 3>the really like cutting edge features like the ISR stuff

1539
01:19:56.279 --> 01:19:56.880
<v Speaker 3>or any of that.

1540
01:19:57.239 --> 01:19:58.520
<v Speaker 4>It's it's a lot.

1541
01:20:00.119 --> 01:20:04.039
<v Speaker 3>Rom had a really good like video going through it,

1542
01:20:04.079 --> 01:20:06.000
<v Speaker 3>and it's it's not trivial.

1543
01:20:08.640 --> 01:20:12.680
<v Speaker 2>Yeah. Cool, Well I'm done on my end.

1544
01:20:13.359 --> 01:20:16.720
<v Speaker 1>Cool, Well let's do picks. Awesome, Dan, do you want

1545
01:20:16.720 --> 01:20:17.680
<v Speaker 1>to get a start with the picks.

1546
01:20:18.800 --> 01:20:23.319
<v Speaker 2>I'm really hesitant about my pick today. I'll be intentionally brief.

1547
01:20:23.359 --> 01:20:25.399
<v Speaker 2>I thought about talking more at length, but I'll be

1548
01:20:25.479 --> 01:20:29.800
<v Speaker 2>intentionally brief. Today was a really sad day in Israel.

1549
01:20:30.159 --> 01:20:34.880
<v Speaker 2>The country kind of stood still because today the was

1550
01:20:34.880 --> 01:20:37.760
<v Speaker 2>the funeral of the Bebas family. I don't know if

1551
01:20:37.800 --> 01:20:43.920
<v Speaker 2>you've heard about the story. I again, I don't want

1552
01:20:43.920 --> 01:20:47.119
<v Speaker 2>to go into the details because they're there. I don't

1553
01:20:47.119 --> 01:20:50.159
<v Speaker 2>think it's appropriate in this context. I'll just mentioned that

1554
01:20:50.640 --> 01:20:54.279
<v Speaker 2>the mother and the two babies were murdered while in captivity,

1555
01:20:54.920 --> 01:20:59.760
<v Speaker 2>and the bodies were finally returned and today they were buried. Uh,

1556
01:21:00.079 --> 01:21:06.680
<v Speaker 2>and everybody. Basically a lot of people wore orange because

1557
01:21:07.359 --> 01:21:11.840
<v Speaker 2>the two babies wore redheads, and so they kind of

1558
01:21:11.840 --> 01:21:15.920
<v Speaker 2>were known for that, and the whole country just came

1559
01:21:15.960 --> 01:21:22.560
<v Speaker 2>out and you know, paid the respects and so forth. Yeah. Sorry,

1560
01:21:22.800 --> 01:21:24.920
<v Speaker 2>that's that's my unfortunate pick for today.

1561
01:21:27.199 --> 01:21:35.439
<v Speaker 1>All Right. I don't want to follow that, but I'm gonna.

1562
01:21:33.359 --> 01:21:35.039
<v Speaker 2>This is not this is not the first time I've

1563
01:21:35.079 --> 01:21:37.119
<v Speaker 2>been doing it recently. This has not been this is

1564
01:21:37.159 --> 01:21:39.560
<v Speaker 2>not we talked about this, Jack. This has not been

1565
01:21:39.600 --> 01:21:40.079
<v Speaker 2>a good year.

1566
01:21:40.279 --> 01:21:42.119
<v Speaker 4>Yeah no, yeah, I feel.

1567
01:21:41.920 --> 01:21:44.439
<v Speaker 2>Well, twenty twenty four was a really unfortunate year.

1568
01:21:44.640 --> 01:21:48.600
<v Speaker 1>Yeah. Yeah, I'm gonna go ahead with the card game

1569
01:21:48.640 --> 01:21:51.760
<v Speaker 1>first it. I need to just make a list so

1570
01:21:51.840 --> 01:21:54.720
<v Speaker 1>I know whether or not I picked these games, because

1571
01:21:54.720 --> 01:21:58.079
<v Speaker 1>I do a board game pick every time, and I'm

1572
01:21:58.079 --> 01:21:59.680
<v Speaker 1>not I'm not sure if I picked this one or not.

1573
01:22:00.439 --> 01:22:02.479
<v Speaker 1>But it's one that I played recently with some friends,

1574
01:22:03.159 --> 01:22:06.600
<v Speaker 1>and I might have picked it last week and if

1575
01:22:06.600 --> 01:22:08.840
<v Speaker 1>I did, or the last episode, and if I did,

1576
01:22:08.880 --> 01:22:13.880
<v Speaker 1>I'm sorry. It is the groundhog Day game. So if

1577
01:22:13.920 --> 01:22:18.880
<v Speaker 1>you've seen the movie groundhog Day, you know he who hasn't, Yeah,

1578
01:22:18.960 --> 01:22:19.359
<v Speaker 1>yeah right.

1579
01:22:19.840 --> 01:22:22.800
<v Speaker 4>My sister was born on your birthday. Was was a friend.

1580
01:22:22.880 --> 01:22:24.880
<v Speaker 2>We see it and then we go to bed, then

1581
01:22:24.920 --> 01:22:26.239
<v Speaker 2>we wake up and we see it again.

1582
01:22:26.960 --> 01:22:33.600
<v Speaker 1>Right, So, so the card game is based on the movie,

1583
01:22:33.920 --> 01:22:37.880
<v Speaker 1>and the idea is that you go through each day

1584
01:22:37.920 --> 01:22:39.720
<v Speaker 1>and you're trying to have that perfect day, right so

1585
01:22:39.800 --> 01:22:42.319
<v Speaker 1>that you can get out of the time loop. And

1586
01:22:42.399 --> 01:22:45.039
<v Speaker 1>the way that the way that the game is played,

1587
01:22:45.359 --> 01:22:48.399
<v Speaker 1>so Board game Geek waits it at one point too, too,

1588
01:22:48.479 --> 01:22:51.640
<v Speaker 1>which means it's a pretty simple game that you know,

1589
01:22:51.680 --> 01:22:53.640
<v Speaker 1>you kind of pick up and play. I could play

1590
01:22:53.640 --> 01:22:55.399
<v Speaker 1>with this with my you know, with my nine year

1591
01:22:55.399 --> 01:22:59.840
<v Speaker 1>old and she'd be fine playing it. But you are

1592
01:23:00.079 --> 01:23:03.640
<v Speaker 1>out a hand of cards and then it's kind of

1593
01:23:03.680 --> 01:23:06.920
<v Speaker 1>everybody jumps in and plays when they think it's appropriate.

1594
01:23:07.479 --> 01:23:11.039
<v Speaker 1>So you know, there are no turns, they're just rounds,

1595
01:23:11.880 --> 01:23:15.399
<v Speaker 1>and you have gray cards which are worth zero herds.

1596
01:23:15.439 --> 01:23:17.479
<v Speaker 1>You have blue cards which are worth one heart. You

1597
01:23:17.520 --> 01:23:21.880
<v Speaker 1>have orange cards which are worth two, Yellow is worth three,

1598
01:23:22.000 --> 01:23:23.079
<v Speaker 1>and red is worth four.

1599
01:23:23.439 --> 01:23:25.439
<v Speaker 4>I'm guessing you get all the hearts to win and

1600
01:23:25.439 --> 01:23:26.479
<v Speaker 4>get a lot of hard Yeah.

1601
01:23:26.520 --> 01:23:28.119
<v Speaker 1>So to have the perfect day, you have to have

1602
01:23:28.199 --> 01:23:31.680
<v Speaker 1>all red cards on your day, and they're all numbered,

1603
01:23:32.439 --> 01:23:35.279
<v Speaker 1>and so you can only play a number that is

1604
01:23:35.359 --> 01:23:38.439
<v Speaker 1>higher than the last number played in the day. And

1605
01:23:38.479 --> 01:23:40.760
<v Speaker 1>there's seven cards in a day or six cards in

1606
01:23:40.800 --> 01:23:44.119
<v Speaker 1>a day, and so you deal out the cards and

1607
01:23:44.119 --> 01:23:46.359
<v Speaker 1>then everybody starts. So initially you're starting, you're playing all

1608
01:23:46.399 --> 01:23:49.800
<v Speaker 1>your gray cards or blue cards because each day has

1609
01:23:49.840 --> 01:23:52.720
<v Speaker 1>to be better than the last day in hearts, and

1610
01:23:52.800 --> 01:23:57.399
<v Speaker 1>so you know, and you can't talk at all about

1611
01:23:57.439 --> 01:23:59.800
<v Speaker 1>what you've got in your hand. So we're ribbing each other,

1612
01:23:59.840 --> 01:24:02.039
<v Speaker 1>but we're not you know, we're not discussing the game.

1613
01:24:02.119 --> 01:24:05.680
<v Speaker 1>We're playing, me and my buddies. But anyway, so yeah,

1614
01:24:05.720 --> 01:24:08.960
<v Speaker 1>so that, I mean, that's essentially the game. Some of

1615
01:24:09.000 --> 01:24:12.119
<v Speaker 1>the yellow cards unlock red cards that get then get

1616
01:24:12.159 --> 01:24:14.079
<v Speaker 1>shuffled into the deck each round, and you get fewer

1617
01:24:14.119 --> 01:24:17.680
<v Speaker 1>cards each round. And so you know, every time we've

1618
01:24:17.680 --> 01:24:20.479
<v Speaker 1>played it, we've it's taken us five or six rounds

1619
01:24:20.479 --> 01:24:22.880
<v Speaker 1>to beat it. I don't think we ever lost, but

1620
01:24:23.000 --> 01:24:29.039
<v Speaker 1>we're all experienced board game people, so you know, we

1621
01:24:29.680 --> 01:24:33.000
<v Speaker 1>did kind of discuss strategy before we started playing, but

1622
01:24:33.359 --> 01:24:36.079
<v Speaker 1>that was it. And anyway, it's a fun game.

1623
01:24:36.439 --> 01:24:38.359
<v Speaker 4>You're kind of guessing, you're.

1624
01:24:38.119 --> 01:24:41.279
<v Speaker 1>Trying, you're basically guessing, especially on the round where you

1625
01:24:41.319 --> 01:24:43.800
<v Speaker 1>want to start playing red cards, because you just don't

1626
01:24:43.800 --> 01:24:45.800
<v Speaker 1>play them until you you know, you think you have

1627
01:24:45.920 --> 01:24:49.000
<v Speaker 1>enough among all of you to play it out, but

1628
01:24:49.039 --> 01:24:51.960
<v Speaker 1>then somebody has to guess that everybody has enough and

1629
01:24:52.359 --> 01:24:57.640
<v Speaker 1>play that first red card. And so anyway, it was fun,

1630
01:24:57.840 --> 01:25:03.319
<v Speaker 1>very fun. It takes about twenty minutes. Yeah, so you

1631
01:25:03.439 --> 01:25:06.800
<v Speaker 1>just you know, if you're playing those those quick hit games,

1632
01:25:06.840 --> 01:25:08.680
<v Speaker 1>you know you're sitting in an airport and you're not

1633
01:25:08.720 --> 01:25:11.039
<v Speaker 1>sure when you're gonna be done. It's a fun game.

1634
01:25:11.479 --> 01:25:14.039
<v Speaker 1>Or for us, you're right, we were just you know,

1635
01:25:14.840 --> 01:25:16.880
<v Speaker 1>we played like four or five times. It was really fun.

1636
01:25:17.159 --> 01:25:17.439
<v Speaker 4>Nice.

1637
01:25:18.039 --> 01:25:20.920
<v Speaker 2>By the way, speaking about the movie Groundhog Day, it's

1638
01:25:20.960 --> 01:25:24.079
<v Speaker 2>it's funny how many movies were inspired by that movie.

1639
01:25:24.279 --> 01:25:28.600
<v Speaker 2>Oh yeah, and and and you know, not a lot

1640
01:25:28.640 --> 01:25:33.039
<v Speaker 2>of them were necessarily good movies. But actually, actually one

1641
01:25:33.079 --> 01:25:40.000
<v Speaker 2>that was is Edge of Tomorrow.

1642
01:25:37.800 --> 01:25:41.000
<v Speaker 3>Is great yeah, thank you asking those two if they're

1643
01:25:41.039 --> 01:25:43.399
<v Speaker 3>going to ever make an Edge of Tomorrow Too, it

1644
01:25:43.439 --> 01:25:46.159
<v Speaker 3>was just such a oh I love that movie, and.

1645
01:25:46.159 --> 01:25:48.720
<v Speaker 1>Yeah, just just don't make a sequel. That's terrible that

1646
01:25:48.760 --> 01:25:51.800
<v Speaker 1>you're just cashing in on, because yeah, the movie studios

1647
01:25:51.840 --> 01:25:53.319
<v Speaker 1>do that all the time. And it's like, it's like,

1648
01:25:53.560 --> 01:25:55.680
<v Speaker 1>you had such a good thing and it wouldn't have

1649
01:25:55.720 --> 01:25:59.199
<v Speaker 1>been that hard to make another good thing based on it.

1650
01:26:00.079 --> 01:26:02.479
<v Speaker 3>Yeah, you know, the same be said of Done Too,

1651
01:26:01.880 --> 01:26:03.840
<v Speaker 3>though Two is phenomenal.

1652
01:26:04.000 --> 01:26:04.840
<v Speaker 4>I love that movie.

1653
01:26:05.159 --> 01:26:11.279
<v Speaker 2>Yeah, I don't know it was. I didn't get it two.

1654
01:26:11.840 --> 01:26:15.039
<v Speaker 4>Yeah, all right, part three when it comes out.

1655
01:26:16.479 --> 01:26:22.199
<v Speaker 2>Look, I tried to three. Yeah, yeah, I tried to

1656
01:26:22.239 --> 01:26:28.159
<v Speaker 2>watch the prequel series. Yeah, and I couldn't make it.

1657
01:26:29.000 --> 01:26:29.960
<v Speaker 4>The first Yeah.

1658
01:26:30.079 --> 01:26:34.399
<v Speaker 3>We went all the day throughism that it wasn't great.

1659
01:26:35.880 --> 01:26:38.680
<v Speaker 4>I'm doing freak man. I loved doing even I read

1660
01:26:38.960 --> 01:26:39.880
<v Speaker 4>I read the book.

1661
01:26:40.279 --> 01:26:42.560
<v Speaker 2>I read the books years ago and I loved them

1662
01:26:42.560 --> 01:26:44.760
<v Speaker 2>as well. I reread the book like a few years

1663
01:26:44.800 --> 01:26:47.960
<v Speaker 2>ago as well. So I really liked the lore. It's

1664
01:26:48.079 --> 01:26:51.640
<v Speaker 2>just that for some reason, by the end of I

1665
01:26:51.680 --> 01:26:54.800
<v Speaker 2>had few To be honest, I had like two problems

1666
01:26:54.800 --> 01:26:57.359
<v Speaker 2>with doing two. First of all, they deviated from the

1667
01:26:57.399 --> 01:27:02.680
<v Speaker 2>books and and that was hard for me. And the

1668
01:27:02.720 --> 01:27:08.079
<v Speaker 2>second thing was kind of, well, what was the point

1669
01:27:08.119 --> 01:27:08.680
<v Speaker 2>of all this?

1670
01:27:10.000 --> 01:27:13.439
<v Speaker 1>Yeah, that's where my wife came down on it too,

1671
01:27:13.479 --> 01:27:14.920
<v Speaker 1>but she hasn't read the books or anything.

1672
01:27:15.119 --> 01:27:16.920
<v Speaker 4>Yeah. I think three.

1673
01:27:16.800 --> 01:27:21.279
<v Speaker 3>Will pay it off, because what both Deni and also

1674
01:27:21.560 --> 01:27:24.680
<v Speaker 3>Frank Herbert were trying to say was don't fall in

1675
01:27:24.720 --> 01:27:27.359
<v Speaker 3>love with one of these these you know, kind of

1676
01:27:28.119 --> 01:27:31.600
<v Speaker 3>charismatic profit types, right that to that way.

1677
01:27:31.600 --> 01:27:36.279
<v Speaker 4>Lines doom and so don't do that. Yeah yeah, all right,

1678
01:27:36.319 --> 01:27:38.039
<v Speaker 4>but you throw down on some picks.

1679
01:27:38.359 --> 01:27:40.439
<v Speaker 3>I got too, and I think it can be real fast.

1680
01:27:40.479 --> 01:27:43.319
<v Speaker 3>So the first one is ghost t t Y. It's

1681
01:27:43.319 --> 01:27:45.159
<v Speaker 3>a replacement for the terminal on Mac.

1682
01:27:45.279 --> 01:27:46.479
<v Speaker 4>It's it's really good.

1683
01:27:46.520 --> 01:27:49.359
<v Speaker 3>It's really fast, and I think just recently they added

1684
01:27:49.359 --> 01:27:52.560
<v Speaker 3>support for shaters so you can put in a custom shader.

1685
01:27:53.920 --> 01:27:55.680
<v Speaker 3>It can be really fun. I was playing around. I

1686
01:27:55.720 --> 01:27:58.520
<v Speaker 3>added like a Matrix inspired shater.

1687
01:27:58.960 --> 01:28:01.520
<v Speaker 4>You know. It was really cute. So that was that

1688
01:28:01.560 --> 01:28:03.399
<v Speaker 4>was really fun. I'm really enjoying Ghosty.

1689
01:28:04.760 --> 01:28:06.439
<v Speaker 1>Is this a Mitchell hat your motto?

1690
01:28:06.840 --> 01:28:07.359
<v Speaker 4>Yeah?

1691
01:28:07.439 --> 01:28:09.920
<v Speaker 3>Yeah, yeah, yeah, yeah yeah. I just got a lot

1692
01:28:09.960 --> 01:28:12.560
<v Speaker 3>of money that guy. Chill out make make a terminal

1693
01:28:13.960 --> 01:28:14.600
<v Speaker 3>was my second pick.

1694
01:28:14.640 --> 01:28:18.039
<v Speaker 2>My second Oh man, so it's a replacement for it

1695
01:28:18.279 --> 01:28:19.600
<v Speaker 2>term and whatnot.

1696
01:28:20.119 --> 01:28:22.039
<v Speaker 4>Yeah, yeah, I mean, to be honest, I.

1697
01:28:22.840 --> 01:28:24.960
<v Speaker 2>Mostly run the terminal inside PS.

1698
01:28:25.479 --> 01:28:26.560
<v Speaker 4>I'm with you, I'm with you.

1699
01:28:27.399 --> 01:28:30.680
<v Speaker 3>Yeah, so I've heavily altered my my terminal with you know,

1700
01:28:30.720 --> 01:28:32.960
<v Speaker 3>the prompt and all that sort of stuff. There's actually

1701
01:28:33.239 --> 01:28:34.880
<v Speaker 3>I'll make that my second pick. There's another thing that

1702
01:28:34.880 --> 01:28:36.920
<v Speaker 3>you can do called I think it's like a transient

1703
01:28:37.479 --> 01:28:38.439
<v Speaker 3>prompt or something like that.

1704
01:28:38.960 --> 01:28:39.840
<v Speaker 4>I'll find it.

1705
01:28:40.159 --> 01:28:43.239
<v Speaker 3>But it's basically a switch where if you turn it on,

1706
01:28:43.800 --> 01:28:45.520
<v Speaker 3>then if you have one of those elaborate prompts that

1707
01:28:45.560 --> 01:28:47.119
<v Speaker 3>gives you like the path name and all that sort

1708
01:28:47.159 --> 01:28:49.760
<v Speaker 3>of stuff, what it'll do is as you enter a

1709
01:28:49.800 --> 01:28:53.800
<v Speaker 3>command and then go, it will essentially remove that and

1710
01:28:53.840 --> 01:28:56.720
<v Speaker 3>so you don't see that in your history, just repeated

1711
01:28:56.760 --> 01:28:59.199
<v Speaker 3>over and over and over again. You just see command response,

1712
01:28:59.279 --> 01:29:02.560
<v Speaker 3>Man responseman response, and then you're a big ass prompt

1713
01:29:02.760 --> 01:29:04.760
<v Speaker 3>and then you know what you're currently working on, and

1714
01:29:04.800 --> 01:29:07.399
<v Speaker 3>at the moment that you hit enter, that big ass

1715
01:29:07.439 --> 01:29:08.960
<v Speaker 3>propt will go away and you'll.

1716
01:29:08.800 --> 01:29:10.079
<v Speaker 4>Just see like LS or whatever.

1717
01:29:10.079 --> 01:29:10.279
<v Speaker 2>It is.

1718
01:29:10.640 --> 01:29:15.359
<v Speaker 3>Interesting, Yeah, transitive transient basically yeah, essentially.

1719
01:29:15.239 --> 01:29:18.800
<v Speaker 1>Yeah, and that's in ghost or is that no.

1720
01:29:19.039 --> 01:29:25.159
<v Speaker 3>For me, that's in ZSH So that's in okay, Yeah.

1721
01:29:23.560 --> 01:29:24.000
<v Speaker 4>I don't know.

1722
01:29:24.239 --> 01:29:25.319
<v Speaker 1>Oh my the s h.

1723
01:29:25.520 --> 01:29:27.560
<v Speaker 3>Yeah yeah, and I use like I think, oh my

1724
01:29:27.720 --> 01:29:29.920
<v Speaker 3>posh to go and do my prompt.

1725
01:29:30.680 --> 01:29:32.239
<v Speaker 2>Yeah, I'm the same.

1726
01:29:32.640 --> 01:29:34.319
<v Speaker 4>Yeah all right.

1727
01:29:34.399 --> 01:29:38.000
<v Speaker 1>Cool. Well Jack, if people want to connect with you,

1728
01:29:38.079 --> 01:29:42.720
<v Speaker 1>find you on the internet, watch your courses they're.

1729
01:29:42.479 --> 01:29:44.720
<v Speaker 3>In there with go through the tubes. Well you can

1730
01:29:44.720 --> 01:29:47.760
<v Speaker 3>find me, uh primarily on YouTube. That's a great spot

1731
01:29:47.800 --> 01:29:49.920
<v Speaker 3>to go and check out all my content. And then

1732
01:29:50.000 --> 01:29:53.399
<v Speaker 3>of course I'm on blue Sky and X and LinkedIn.

1733
01:29:53.720 --> 01:29:58.199
<v Speaker 2>Blue Color Coder. How are you still using that Moniker

1734
01:29:58.880 --> 01:29:59.319
<v Speaker 2>kind of?

1735
01:29:59.439 --> 01:30:02.079
<v Speaker 3>I mean I like the Moniker but actually I was

1736
01:30:02.159 --> 01:30:04.560
<v Speaker 3>just throwing it around just recently, like should I get rid.

1737
01:30:04.520 --> 01:30:05.000
<v Speaker 4>Of it or what?

1738
01:30:05.039 --> 01:30:06.760
<v Speaker 3>And people are like, yeah, it's okay, but I mean

1739
01:30:07.119 --> 01:30:09.079
<v Speaker 3>it's in like the banner graphics and stuff like that.

1740
01:30:09.119 --> 01:30:11.199
<v Speaker 3>But I don't really it's not the name of the channel,

1741
01:30:11.479 --> 01:30:13.119
<v Speaker 3>but I think if you if you do Google for it,

1742
01:30:13.159 --> 01:30:16.000
<v Speaker 3>you will find it anyway. I'm also Jhard at dev

1743
01:30:16.399 --> 01:30:22.079
<v Speaker 3>that's you know whatever. Yeah, I'm around and you know fairly.

1744
01:30:22.239 --> 01:30:26.000
<v Speaker 2>I said it before, said it again. You know your

1745
01:30:26.199 --> 01:30:29.439
<v Speaker 2>stuff is awesome and everybody should be watching it. I've

1746
01:30:29.520 --> 01:30:32.239
<v Speaker 2>learned every time I watched one of your videos, I've

1747
01:30:32.319 --> 01:30:32.880
<v Speaker 2>learned something.

1748
01:30:33.239 --> 01:30:34.680
<v Speaker 4>There you go, thank you.

1749
01:30:36.600 --> 01:30:38.079
<v Speaker 1>All right, well we're gonna go ahead and wrap it

1750
01:30:38.159 --> 01:30:38.520
<v Speaker 1>up here.

1751
01:30:39.119 --> 01:30:40.880
<v Speaker 4>It's been a real pleasure, guys. Thank you. It's good.

1752
01:30:40.880 --> 01:30:42.199
<v Speaker 4>It's been great to be back.

1753
01:30:44.319 --> 01:30:44.760
<v Speaker 1>Max Out
