1
00:00:18,540 --> 00:00:29,220
Kevin: welcome to svelte radio hello everyone welcome back to another episode of svelte radio So, hi, Jeppe.

2
00:00:29,420 --> 00:00:30,080
Speaker 2: How are you doing?

3
00:00:30,140 --> 00:00:31,680
Speaker 2: Hi, Kev. I'm doing great. How are you?

4
00:00:32,279 --> 00:00:32,840
Speaker 2: Nice. I

5
00:00:32,840 --> 00:00:35,460
Kevin: am very excited about this episode.

6
00:00:35,960 --> 00:00:37,760
Kevin: We didn't know what we were going to talk about today

7
00:00:37,760 --> 00:00:39,380
Speaker 3: until

8
00:00:39,380 --> 00:00:41,400
Kevin: you posted this link earlier

9
00:00:41,400 --> 00:00:42,580
Speaker 3: today, I think.

10
00:00:43,040 --> 00:00:43,140
Speaker 3: Yeah.

11
00:00:44,280 --> 00:00:48,020
Kevin: First off, Brittany's not here. She's enjoying herself in Hawaii, I think.

12
00:00:48,580 --> 00:00:48,940
Kevin: Sounds awful.

13
00:00:49,740 --> 00:00:53,560
Speaker 2: I feel like we should... I mean, I'm mad because I hate the cold.

14
00:00:53,980 --> 00:00:57,840
Speaker 2: I hate the cold so much. And so she just escapes it.

15
00:00:58,760 --> 00:01:02,100
Speaker 2: I'm just sitting here in the cold yeah in the cold

16
00:01:03,330 --> 00:01:10,840
Kevin: yeah do you have you have it been has it been like really cold for a really long time in Denmark as well I think I think for two weeks yeah

17
00:01:11,010 --> 00:01:21,520
Speaker 2: I mean that's I can do one day or two days of snow that's fine we do all the like the thing the fun thing you do in the snow and then it's over for me please can we get back to summer

18
00:01:22,020 --> 00:01:24,480
Kevin: yeah well summer is a far way

19
00:01:24,980 --> 00:01:25,380
Speaker 2: oh yeah

20
00:01:25,560 --> 00:01:32,700
Kevin: right yeah Yeah, we've had like negative five to negative 10 here, like for a month now.

21
00:01:33,140 --> 00:01:33,520
Kevin: It's not okay.

22
00:01:34,040 --> 00:01:36,740
Kevin: No, it's like I'm getting tired of this.

23
00:01:37,240 --> 00:01:38,200
Speaker 3: Can we cancel

24
00:01:38,200 --> 00:01:38,560
Speaker 2: winter?

25
00:01:39,180 --> 00:01:40,440
Kevin: Yeah, right, right.

26
00:01:41,720 --> 00:01:45,580
Kevin: My friend in Barcelona, she helped with the conference

27
00:01:45,580 --> 00:01:46,560
Speaker 3: for

28
00:01:46,560 --> 00:01:46,720
Kevin: a bit.

29
00:01:48,460 --> 00:01:50,760
Kevin: She lives in Barcelona, but she's Swedish, right?

30
00:01:51,160 --> 00:01:55,020
Kevin: And she posted this picture on Instagram where she's like laying by the pool.

31
00:01:55,440 --> 00:01:55,940
Speaker 2: Oh, no.

32
00:01:58,960 --> 00:02:00,800
Kevin: gosh damn it so

33
00:02:00,800 --> 00:02:10,720
Speaker 2: for many years i've said this to my wife that i really wish that we just lived in barcelona but then she also reminds me that in the summer it's it's impossible to

34
00:02:10,720 --> 00:02:11,740
Speaker 3: exist in

35
00:02:11,740 --> 00:02:17,580
Speaker 2: that heat yeah as a dane like i can't anything above 20 degrees celsius i'm just melting

36
00:02:17,580 --> 00:02:21,040
Kevin: yeah and that's I would be like a roasting pig.

37
00:02:22,250 --> 00:02:22,360
Kevin: Exactly.

38
00:02:24,760 --> 00:02:25,200
Speaker 2: Yeah, I'm

39
00:02:25,200 --> 00:02:26,940
Kevin: trying to convince my girlfriend that

40
00:02:26,940 --> 00:02:27,780
Speaker 2: we should live

41
00:02:27,780 --> 00:02:28,340
Kevin: in two places.

42
00:02:29,040 --> 00:02:32,140
Speaker 2: So welcome to Weather Radio, where everything is all about the weather.

43
00:02:34,020 --> 00:02:34,940
Speaker 2: Old men ranting.

44
00:02:35,700 --> 00:02:36,360
Speaker 2: Yep, yep.

45
00:02:37,360 --> 00:02:37,820
Kevin: Yeah, baby.

46
00:02:38,670 --> 00:02:42,900
Kevin: On that note, maybe we should actually get into what we were going to talk about today.

47
00:02:43,000 --> 00:02:43,060
Kevin: Absolutely.

48
00:02:43,800 --> 00:02:48,800
Speaker 2: So State of JS 2025 results was just announced.

49
00:02:49,100 --> 00:02:52,740
Speaker 2: I mean, by the time this recording gets out, it's been enough for some time.

50
00:02:52,920 --> 00:02:54,200
Speaker 2: But for us, this is new.

51
00:02:54,940 --> 00:02:55,020
Speaker 2: Yeah.

52
00:02:56,220 --> 00:02:56,820
Speaker 2: I think that's cool.

53
00:02:57,640 --> 00:03:00,000
Speaker 2: There's always a lot of great stuff in there.

54
00:03:00,520 --> 00:03:00,700
Kevin: Yeah.

55
00:03:01,000 --> 00:03:12,300
Kevin: I mentioned to Jeppe before we started recording that I always get confused by this survey because they change things and they add data points and all sorts of stuff.

56
00:03:12,700 --> 00:03:13,740
Kevin: But it's a good survey, though.

57
00:03:14,260 --> 00:03:14,520
Kevin: It is.

58
00:03:14,980 --> 00:03:15,940
Speaker 2: It's just me being

59
00:03:15,940 --> 00:03:16,200
Kevin: old.

60
00:03:16,680 --> 00:03:16,960
Speaker 2: Oh, yeah.

61
00:03:17,020 --> 00:03:17,700
Speaker 2: No, we're

62
00:03:17,700 --> 00:03:17,780
Kevin: all...

63
00:03:17,780 --> 00:03:18,540
Kevin: Shouting at the clouds.

64
00:03:18,600 --> 00:03:19,060
Kevin: I

65
00:03:19,060 --> 00:03:26,020
Speaker 2: think they have this issue that there's just more and more stuff to know and to think about in JS.

66
00:03:26,200 --> 00:03:29,340
Speaker 2: So there's more and more frameworks coming in and more and more new syntax.

67
00:03:29,530 --> 00:03:33,680
Speaker 2: And so the more data there is, the more confusing these charts just become.

68
00:03:33,800 --> 00:03:39,820
Speaker 2: There's this big chart of all the frameworks and whatever that has lines going all over the place.

69
00:03:39,820 --> 00:03:42,880
Speaker 2: And you can't understand it

70
00:03:42,880 --> 00:03:43,000
Kevin: anymore.

71
00:03:43,300 --> 00:03:44,420
Kevin: It's the one with...

72
00:03:44,420 --> 00:03:45,300
Kevin: Five years ago it was way better.

73
00:03:45,920 --> 00:03:46,460
Kevin: Yeah, yeah, yeah.

74
00:03:46,520 --> 00:03:49,860
Kevin: It's the one with like satisfaction and stuff.

75
00:03:50,080 --> 00:03:52,560
Kevin: It's just like going all over the place, like

76
00:03:52,560 --> 00:03:53,000
Speaker 3: quadrants.

77
00:03:53,650 --> 00:03:53,760
Kevin: Yeah.

78
00:03:55,740 --> 00:03:56,220
Kevin: All right.

79
00:03:56,360 --> 00:03:59,320
Kevin: So the big question, of course, is how did Svelte do?

80
00:04:00,040 --> 00:04:01,340
Speaker 2: No, no, no, no, no.

81
00:04:01,680 --> 00:04:02,620
Speaker 2: The big question.

82
00:04:03,160 --> 00:04:04,140
Kevin: How did Svelte Radio

83
00:04:04,140 --> 00:04:04,340
Speaker 2: do?

84
00:04:04,660 --> 00:04:05,080
Speaker 2: No, Svelte

85
00:04:05,080 --> 00:04:05,500
Kevin: Radio.

86
00:04:05,630 --> 00:04:06,260
Kevin: Oh, Svelte Radio.

87
00:04:06,680 --> 00:04:07,460
Kevin: Oh, this podcast.

88
00:04:08,280 --> 00:04:09,660
Kevin: I mean, if

89
00:04:09,660 --> 00:04:12,600
Speaker 2: I have to toot a horn, we have to toot our own horn first.

90
00:04:12,960 --> 00:04:13,140
Speaker 2: That

91
00:04:13,140 --> 00:04:13,520
Speaker 3: is very

92
00:04:13,520 --> 00:04:13,760
Speaker 2: true.

93
00:04:13,840 --> 00:04:20,440
Speaker 2: So there is, in the resources section, there's a podcast subsection.

94
00:04:21,120 --> 00:04:21,200
Speaker 2: Yep.

95
00:04:21,700 --> 00:04:23,540
Speaker 2: And Svelte Radio is on it.

96
00:04:23,860 --> 00:04:24,080
Kevin: That is.

97
00:04:24,100 --> 00:04:24,700
Kevin: And that's huge.

98
00:04:25,200 --> 00:04:26,120
Speaker 2: That's pretty big.

99
00:04:27,000 --> 00:04:37,200
Speaker 2: So when I saw that, I wanted to do a joke on, oh, we just need 50 times the amount of listeners to surpass syntax or whatever.

100
00:04:39,560 --> 00:04:40,780
Speaker 2: So where are we on this list?

101
00:04:40,880 --> 00:04:41,200
Speaker 2: Really close.

102
00:04:41,580 --> 00:04:43,100
Speaker 2: We are number 13.

103
00:04:43,140 --> 00:04:43,760
Speaker 2: Oh, number 13.

104
00:04:44,300 --> 00:04:44,400
Speaker 3: Oh,

105
00:04:44,500 --> 00:04:46,180
Kevin: where number one

106
00:04:46,180 --> 00:04:47,720
Speaker 2: is none, right?

107
00:04:47,770 --> 00:04:48,800
Speaker 2: So essentially we're number 12.

108
00:04:49,300 --> 00:04:50,080
Kevin: Oh, I see.

109
00:04:50,360 --> 00:04:50,740
Kevin: What?

110
00:04:51,540 --> 00:04:52,460
Kevin: Oh, no one.

111
00:04:52,680 --> 00:04:54,900
Kevin: There's 50% of people don't listen to podcasts.

112
00:04:55,050 --> 00:04:55,160
Kevin: Yeah,

113
00:04:55,160 --> 00:04:56,520
Speaker 2: 50% of people, they don't listen to podcasts at all, right?

114
00:04:56,640 --> 00:04:56,760
Kevin: So

115
00:04:56,760 --> 00:04:57,580
Speaker 3: that's like a huge

116
00:04:57,580 --> 00:04:58,200
Speaker 2: market for us.

117
00:04:58,260 --> 00:04:59,500
Speaker 2: I mean, I think we should target those people.

118
00:04:59,880 --> 00:05:04,820
Speaker 2: The people that don't listen to what we're saying right now, they are like prime listeners for this because

119
00:05:04,820 --> 00:05:05,360
Speaker 3: they don't know how

120
00:05:05,360 --> 00:05:05,940
Speaker 2: stupid we are.

121
00:05:09,920 --> 00:05:11,680
Speaker 2: No, but so then I looked into it, right?

122
00:05:11,840 --> 00:05:17,000
Speaker 2: And I think there's some pretty big podcasts that are not number 12.

123
00:05:17,470 --> 00:05:17,880
Speaker 2: Like you have

124
00:05:17,880 --> 00:05:18,480
Speaker 3: Plot Rocket

125
00:05:18,480 --> 00:05:18,920
Speaker 2: at number

126
00:05:18,920 --> 00:05:20,800
Speaker 3: 17.

127
00:05:21,410 --> 00:05:22,700
Speaker 2: You have DevTools number 18.

128
00:05:25,760 --> 00:05:26,280
Speaker 3: It's

129
00:05:26,280 --> 00:05:27,980
Speaker 2: just like one above.

130
00:05:28,070 --> 00:05:32,460
Speaker 2: I think we're in with the cool kids now, the cool grown-ups.

131
00:05:32,640 --> 00:05:32,840
Speaker 2: Yeah,

132
00:05:32,990 --> 00:05:42,560
Kevin: I mean, so I remember like two years ago when we were also on this survey, But we were on, so I think they split it, right?

133
00:05:42,660 --> 00:05:43,160
Kevin: So they had

134
00:05:43,160 --> 00:05:44,240
Speaker 3: like

135
00:05:44,240 --> 00:05:45,660
Kevin: all the big ones, right?

136
00:05:45,780 --> 00:05:46,180
Kevin: And then they

137
00:05:46,180 --> 00:05:46,800
Speaker 3: had like a free

138
00:05:46,800 --> 00:05:47,040
Kevin: form

139
00:05:47,040 --> 00:05:48,300
Speaker 3: section.

140
00:05:49,000 --> 00:05:49,480
Speaker 3: And I think we

141
00:05:49,480 --> 00:05:51,900
Kevin: won by a pretty huge margin on the free form.

142
00:05:52,240 --> 00:05:53,040
Kevin: Oh, I see.

143
00:05:54,520 --> 00:05:56,360
Kevin: But now we're mainstream, Jeppe.

144
00:05:57,720 --> 00:06:02,340
Speaker 2: Funny to say that because just below us being mainstream is off the main thread.

145
00:06:03,440 --> 00:06:04,220
Speaker 2: They're great guys.

146
00:06:04,740 --> 00:06:05,160
Speaker 2: They're great guys.

147
00:06:06,460 --> 00:06:11,700
Speaker 2: I think it puts pressure on us and we have to be less stupid now say something relevant.

148
00:06:12,100 --> 00:06:13,300
Kevin: Something relevant, yeah.

149
00:06:13,840 --> 00:06:14,180
Kevin: So

150
00:06:14,180 --> 00:06:15,800
Speaker 2: maybe not the weather.

151
00:06:15,910 --> 00:06:17,040
Speaker 2: I don't know. We'll

152
00:06:17,040 --> 00:06:17,520
Kevin: figure that out.

153
00:06:17,980 --> 00:06:18,940
Kevin: You're completely right.

154
00:06:20,020 --> 00:06:25,760
Kevin: I think this podcast has partly devolved into some kind of people hanging out, talking

155
00:06:26,460 --> 00:06:27,040
Speaker 2: and also about

156
00:06:27,040 --> 00:06:27,400
Kevin: Svelte.

157
00:06:28,480 --> 00:06:29,740
Kevin: And some people enjoy that.

158
00:06:30,540 --> 00:06:30,700
Speaker 2: Yeah.

159
00:06:31,320 --> 00:06:35,420
Speaker 2: I mean, it's all entertainment in the end.

160
00:06:37,280 --> 00:06:42,140
Speaker 2: So, staying on that topic, if people have specific that they think we should discuss

161
00:06:43,340 --> 00:06:43,820
Speaker 3: please

162
00:06:44,260 --> 00:06:45,260
Speaker 2: post it in and then we will

163
00:06:45,260 --> 00:06:45,600
Speaker 3: discuss

164
00:06:45,600 --> 00:06:48,900
Speaker 2: it we won't be smart about it but we can say words

165
00:06:49,720 --> 00:06:51,840
Speaker 3: words are super

166
00:06:51,840 --> 00:07:02,040
Speaker 2: important otherwise everything turns into music so I think that's great then of course we have to go into Svelte so I think that was enough of Svelte Radio

167
00:07:02,840 --> 00:07:03,320
Kevin: so

168
00:07:04,220 --> 00:07:05,720
Speaker 2: just finding that

169
00:07:05,820 --> 00:07:10,460
Kevin: there's a lot of pages on this thing libraries So there's

170
00:07:10,460 --> 00:07:12,260
Speaker 2: both Svelte and SvelteKit, right?

171
00:07:13,840 --> 00:07:23,120
Speaker 2: And Svelte is almost like my general analysis of this whole survey is almost the same as last year.

172
00:07:24,240 --> 00:07:25,060
Speaker 3: Can you give us a recap?

173
00:07:25,680 --> 00:07:27,300
Speaker 2: That was a recap, essentially.

174
00:07:29,539 --> 00:07:30,520
Speaker 2: Svelte grew a lot.

175
00:07:31,419 --> 00:07:33,100
Speaker 2: So there's these awards.

176
00:07:33,300 --> 00:07:36,520
Speaker 2: There's the awards section of like most enjoyed variata.

177
00:07:36,760 --> 00:07:38,700
Speaker 2: And guess who won all the awards?

178
00:07:40,060 --> 00:07:40,440
Kevin: Was it Svelte?

179
00:07:40,640 --> 00:07:41,740
Speaker 2: Was it Vite Test?

180
00:07:41,740 --> 00:07:42,420
Speaker 2: It was Vite and Vite Test.

181
00:07:42,660 --> 00:07:43,040
Speaker 2: Oh, okay.

182
00:07:46,720 --> 00:07:49,540
Kevin: Honestly, that's kind of boring in a sense.

183
00:07:50,050 --> 00:07:52,780
Kevin: Like, you know, obviously it's nice.

184
00:07:53,320 --> 00:07:53,800
Kevin: Vite is great.

185
00:07:54,480 --> 00:07:55,920
Speaker 2: Vite is awesome. It's awesome.

186
00:07:56,060 --> 00:07:57,660
Speaker 2: It's an awesome team. Like, they do amazing

187
00:07:57,660 --> 00:07:57,880
Kevin: stuff.

188
00:07:58,000 --> 00:07:58,680
Kevin: It's totally

189
00:07:58,680 --> 00:07:58,900
Speaker 2: deserved.

190
00:07:59,360 --> 00:08:02,600
Kevin: But they've already won everything, basically.

191
00:08:03,400 --> 00:08:05,060
Kevin: It's the default. It's what everyone uses.

192
00:08:05,700 --> 00:08:07,180
Kevin: Do you even have to put it on here?

193
00:08:08,060 --> 00:08:11,700
Speaker 2: Can you imagine that they revamped their API to something really bad?

194
00:08:11,710 --> 00:08:13,760
Speaker 2: And like, we have to start winning now.

195
00:08:13,990 --> 00:08:14,920
Speaker 2: That would be horrible, right?

196
00:08:14,930 --> 00:08:15,880
Speaker 2: I mean, they should just keep winning.

197
00:08:16,040 --> 00:08:17,100
Speaker 2: They should just keep doing their best.

198
00:08:17,340 --> 00:08:17,920
Kevin: I agree.

199
00:08:18,150 --> 00:08:18,420
Kevin: I agree.

200
00:08:18,600 --> 00:08:19,760
Speaker 2: I think they're doing awesome.

201
00:08:20,080 --> 00:08:28,400
Speaker 2: Anyways, Svelte is at 27% of usage, whereas last year's 26%.

202
00:08:28,400 --> 00:08:29,940
Speaker 2: So that's a win.

203
00:08:30,770 --> 00:08:31,120
Kevin: In my book.

204
00:08:31,260 --> 00:08:31,720
Speaker 2: It is a win.

205
00:08:31,990 --> 00:08:33,599
Speaker 2: It keeps rising, so that's great.

206
00:08:34,080 --> 00:08:34,219
Kevin: Yeah.

207
00:08:35,320 --> 00:08:36,380
Kevin: 1% a year.

208
00:08:37,280 --> 00:08:39,280
Kevin: It's going to take many years for us to take over.

209
00:08:39,990 --> 00:08:44,640
Speaker 2: Yeah, the next one is Angular at 48.

210
00:08:45,740 --> 00:08:49,680
Speaker 2: So that's going to be 20 years of 1% increase.

211
00:08:50,520 --> 00:08:51,080
Speaker 3: Then we'll get there.

212
00:08:51,670 --> 00:08:52,380
Speaker 3: I mean, I'll be here.

213
00:08:52,860 --> 00:08:54,000
Speaker 2: Well, of course.

214
00:08:55,000 --> 00:08:55,920
Speaker 2: We'll all be here

215
00:08:55,920 --> 00:08:56,780
Speaker 3: writing

216
00:08:56,780 --> 00:09:00,520
Speaker 2: our Svelte code so that our AIs can use our Svelte code.

217
00:09:01,120 --> 00:09:01,540
Speaker 2: Exactly.

218
00:09:02,600 --> 00:09:02,740
Speaker 3: Yeah.

219
00:09:02,840 --> 00:09:03,160
Speaker 3: Anyways,

220
00:09:04,260 --> 00:09:09,100
Speaker 2: let me look at awareness stays the same, 96%.

221
00:09:09,640 --> 00:09:12,120
Speaker 2: Interest is going down a bit?

222
00:09:12,580 --> 00:09:12,680
Speaker 2: No?

223
00:09:13,200 --> 00:09:13,660
Speaker 2: Yes, it is.

224
00:09:14,140 --> 00:09:17,080
Speaker 2: So Svelte has the highest interest and has had that for

225
00:09:17,080 --> 00:09:18,780
Speaker 3: six years now.

226
00:09:18,780 --> 00:09:19,420
Speaker 3: For a long time now.

227
00:09:20,220 --> 00:09:20,760
Speaker 2: Since 2019.

228
00:09:21,640 --> 00:09:24,780
Speaker 2: And it's declining a bit, but so are most of the others.

229
00:09:25,960 --> 00:09:30,940
Speaker 2: So I think this may be a bit of a trend that people maybe just get annoyed by.

230
00:09:31,660 --> 00:09:32,500
Kevin: Yeah, by frameworks.

231
00:09:32,720 --> 00:09:34,620
Kevin: and meta frameworks.

232
00:09:35,300 --> 00:09:35,780
Kevin: It's

233
00:09:35,780 --> 00:09:39,700
Speaker 2: interesting to see HTMX was huge two years ago.

234
00:09:41,300 --> 00:09:42,280
Kevin: They went from

235
00:09:42,800 --> 00:09:44,780
Speaker 2: 55 and then now they're at 37.

236
00:09:45,380 --> 00:09:49,700
Kevin: It's almost like it was a meme, kind of. No offense to the HTMX people.

237
00:09:50,280 --> 00:09:50,900
Speaker 3: I haven't

238
00:09:50,900 --> 00:09:51,100
Kevin: used

239
00:09:51,100 --> 00:09:52,140
Speaker 2: it, so I'm sure it's great.

240
00:09:53,140 --> 00:09:53,620
Kevin: But

241
00:09:53,620 --> 00:09:56,820
Speaker 2: there was some way that they couldn't ride in the end, it sounds like.

242
00:09:56,920 --> 00:09:57,820
Speaker 2: So that's unfortunate for them.

243
00:10:00,140 --> 00:10:00,720
Kevin: React still

244
00:10:01,740 --> 00:10:02,480
Speaker 2: the big dog.

245
00:10:02,940 --> 00:10:04,780
Speaker 2: of course not in interests right

246
00:10:04,780 --> 00:10:06,200
Kevin: so um

247
00:10:06,200 --> 00:10:10,480
Speaker 2: maybe if i share my screen we would be looking at the same thing that

248
00:10:10,480 --> 00:10:11,900
Kevin: that is also that's

249
00:10:11,900 --> 00:10:24,660
Speaker 2: a great idea uh share screen every single video recording software needs to have a different way of sharing that screen yep it's like this thing is their mode oh we'll have another way and so people

250
00:10:24,660 --> 00:10:31,660
Kevin: stay in our it's the it's the uh what's it called like the lock in the way that they keep you in?

251
00:10:32,760 --> 00:10:33,240
Kevin: You don't

252
00:10:33,240 --> 00:10:33,380
Speaker 2: want

253
00:10:33,380 --> 00:10:33,760
Speaker 3: to change

254
00:10:33,760 --> 00:10:34,760
Kevin: the video software.

255
00:10:34,820 --> 00:10:35,320
Kevin: Isn't that the moat?

256
00:10:35,330 --> 00:10:35,740
Kevin: You have to learn.

257
00:10:36,050 --> 00:10:36,460
Kevin: The moat.

258
00:10:36,530 --> 00:10:37,320
Kevin: Yeah, that's what it's called.

259
00:10:38,440 --> 00:10:39,300
Speaker 2: Solid is rising.

260
00:10:39,840 --> 00:10:42,460
Speaker 2: Solid is rising in interest.

261
00:10:42,900 --> 00:10:43,860
Speaker 2: React is at.

262
00:10:44,300 --> 00:10:44,500
Speaker 2: It's

263
00:10:44,500 --> 00:10:45,060
Speaker 3: still going

264
00:10:45,060 --> 00:10:45,300
Speaker 2: down.

265
00:10:45,740 --> 00:10:45,860
Speaker 2: Yeah.

266
00:10:46,380 --> 00:10:50,680
Speaker 2: So React started all the way back in 2016 at 75% interest.

267
00:10:50,810 --> 00:10:53,540
Speaker 2: I think this might have been like the first time they did this survey.

268
00:10:54,120 --> 00:10:56,760
Speaker 2: 75% interest and then they're at 27% now.

269
00:10:58,100 --> 00:10:58,800
Kevin: That's crazy.

270
00:11:00,540 --> 00:11:08,920
Speaker 2: I don't want to just like this be a full episode of just all us just talking about charts going or graphs going down.

271
00:11:09,320 --> 00:11:09,480
Speaker 2: Right.

272
00:11:10,080 --> 00:11:11,820
Speaker 2: But I think there's a trend here.

273
00:11:12,160 --> 00:11:16,540
Speaker 2: The older something gets, the less interest it gets.

274
00:11:16,540 --> 00:11:16,700
Speaker 2: And

275
00:11:16,700 --> 00:11:17,540
Speaker 3: satisfaction

276
00:11:17,540 --> 00:11:19,080
Speaker 2: also goes down and whatnot.

277
00:11:21,780 --> 00:11:23,680
Speaker 2: There is something there, though, about

278
00:11:23,680 --> 00:11:27,700
Kevin: like React has kind of reinvented itself multiple times, right?

279
00:11:27,880 --> 00:11:28,060
Kevin: True.

280
00:11:28,640 --> 00:11:31,960
Kevin: So I think Hooks came out in, was that 2019?

281
00:11:31,960 --> 00:11:32,480
Speaker 3: 18.

282
00:11:32,840 --> 00:11:33,260
Kevin: 18?

283
00:11:33,580 --> 00:11:34,120
Speaker 2: 18, 19.

284
00:11:34,420 --> 00:11:39,860
Kevin: So you kind of would have expected a kind of a rise there, and then maybe with React Server Components.

285
00:11:40,380 --> 00:11:44,820
Kevin: But from my understanding, they're not super popular.

286
00:11:45,120 --> 00:11:47,040
Kevin: Like people that use them like them, but-

287
00:11:47,600 --> 00:11:49,560
Speaker 2: There's also people that have used them that don't like them.

288
00:11:49,720 --> 00:11:50,020
Speaker 2: Right.

289
00:11:50,600 --> 00:11:56,700
Speaker 2: Like there's these big names that have like, OK, we tried to move to React Server Components for six months.

290
00:11:56,990 --> 00:11:57,760
Speaker 2: It made everything slower.

291
00:11:58,400 --> 00:12:00,360
Speaker 2: and really complicated, we're moving back.

292
00:12:00,820 --> 00:12:02,760
Speaker 2: And I think that's a fair sentiment.

293
00:12:03,000 --> 00:12:03,620
Speaker 2: I've spent

294
00:12:03,620 --> 00:12:04,040
Speaker 3: a lot of time

295
00:12:04,040 --> 00:12:06,560
Speaker 2: looking into it, and I also find it very confusing.

296
00:12:08,220 --> 00:12:11,940
Speaker 2: But, I mean, they're really smart people, so maybe they'll figure it out.

297
00:12:12,480 --> 00:12:12,560
Kevin: Right.

298
00:12:12,980 --> 00:12:16,100
Kevin: I mean, yeah, it's kind of an issue, though.

299
00:12:16,160 --> 00:12:20,440
Kevin: I'm not only talking about React here, but framework developers in general.

300
00:12:21,000 --> 00:12:28,940
Kevin: When you get to the point where your job is to develop a framework rather than develop a tool that you're using yourself.

301
00:12:29,150 --> 00:12:31,320
Kevin: You're not dogfooding it, right?

302
00:12:31,780 --> 00:12:39,880
Kevin: And I think there's a risk there where it just, like, you come up with cool, smart solutions that probably

303
00:12:39,880 --> 00:12:40,680
Speaker 3: theoretically are

304
00:12:40,680 --> 00:12:42,100
Kevin: very, very good.

305
00:12:42,430 --> 00:12:44,400
Kevin: But then in practice, they kind of fall apart because,

306
00:12:44,930 --> 00:12:45,220
Speaker 2: I don't know.

307
00:12:45,220 --> 00:12:48,500
Speaker 2: So what you're saying is that you become a library engineer.

308
00:12:49,060 --> 00:12:55,840
Speaker 2: And so you have, like, you think you know how to build websites, but then that's actually not how people do it in reality.

309
00:12:56,590 --> 00:12:56,700
Speaker 2: Right.

310
00:12:56,790 --> 00:12:57,680
Speaker 2: Well, you might

311
00:12:57,680 --> 00:13:02,400
Kevin: know how you built websites like five years ago, right?

312
00:13:03,380 --> 00:13:05,200
Kevin: Yeah, like you said, things change.

313
00:13:05,740 --> 00:13:05,860
Kevin: Yeah,

314
00:13:06,020 --> 00:13:06,300
Speaker 3: for sure.

315
00:13:06,370 --> 00:13:14,720
Kevin: And then also you get down into this, maybe you get down into this rabbit hole of trying to solve some performance issue and

316
00:13:14,720 --> 00:13:15,500
Speaker 3: that

317
00:13:15,500 --> 00:13:22,960
Kevin: takes up 80% of your time when you could have spent more time on the developer experience, if that makes sense.

318
00:13:23,100 --> 00:13:25,960
Speaker 2: I think we also need to put this into perspective, right?

319
00:13:25,960 --> 00:13:28,680
Speaker 2: I'm just pulling up NPM trends.

320
00:13:29,560 --> 00:13:38,020
Speaker 2: So if we compare, like we've talked about how React is declining in satisfaction and interest.

321
00:13:38,400 --> 00:13:41,560
Speaker 2: But then if you look at NPM trends, the downloads just keep going up.

322
00:13:43,220 --> 00:13:46,540
Speaker 2: There's 70 million weekly downloads of React now.

323
00:13:46,840 --> 00:13:52,680
Speaker 2: So I understand that there's a lot of people that keep downloading these things, they

324
00:13:52,680 --> 00:13:53,360
Kevin: also

325
00:13:53,360 --> 00:13:56,220
Speaker 2: use them more and more and more. So, right.

326
00:13:57,320 --> 00:14:08,600
Kevin: Yeah. So essentially, you would kind of think that the NPM trends would follow the interest somewhat. Yeah. But

327
00:14:08,600 --> 00:14:10,320
Speaker 3: then there's difference

328
00:14:10,320 --> 00:14:15,180
Kevin: between like wanting to use something and having to use it, I guess. Absolutely. Yeah, for sure.

329
00:14:15,300 --> 00:14:17,140
Speaker 3: And there's also a lag here. I

330
00:14:17,140 --> 00:14:23,620
Speaker 2: think the people that answers these surveys, they are like really tuned in to the ecosystem.

331
00:14:24,320 --> 00:14:24,720
Speaker 3: And

332
00:14:24,720 --> 00:14:40,580
Speaker 2: then there's a long tail of enterprise engineers and everyone that makes money that, like, OK, we'll be using React now because React has been used for five years or whatever, or Angular or Svelte or whatever.

333
00:14:40,780 --> 00:14:44,360
Speaker 2: So there's just a lag between usage and then what we see reported in this

334
00:14:44,360 --> 00:14:46,460
Kevin: survey, I think.

335
00:14:47,100 --> 00:14:48,000
Kevin: Interesting, though.

336
00:14:49,740 --> 00:14:51,660
Kevin: What's the package name for Angular?

337
00:14:51,900 --> 00:14:52,820
Kevin: Is it AngularJS?

338
00:14:54,020 --> 00:14:54,140
Kevin: No.

339
00:14:55,780 --> 00:14:56,020
Kevin: Or is it

340
00:14:56,020 --> 00:14:57,640
Speaker 2: Angular or something like that?

341
00:14:57,960 --> 00:15:00,340
Speaker 2: Angular-slash-cli?

342
00:15:00,920 --> 00:15:02,960
Speaker 2: I should know this because I...

343
00:15:02,980 --> 00:15:03,740
Speaker 2: Cli tool for

344
00:15:03,740 --> 00:15:04,440
Kevin: Angular, yeah.

345
00:15:04,900 --> 00:15:11,380
Kevin: Because if you just put in Angular, it's way smaller than Svelte, and that doesn't sound right.

346
00:15:11,800 --> 00:15:12,660
Speaker 2: No, that doesn't make sense at all.

347
00:15:13,120 --> 00:15:13,720
Speaker 2: No, no, no.

348
00:15:14,240 --> 00:15:15,660
Speaker 2: We're just looking at the wrong packets, I'm sure.

349
00:15:16,140 --> 00:15:16,920
Kevin: Probably, yeah.

350
00:15:17,380 --> 00:15:18,020
Speaker 3: But yeah, so for

351
00:15:18,020 --> 00:15:18,580
comparison,

352
00:15:19,180 --> 00:15:20,800
Kevin: React has 70 million downloads.

353
00:15:21,080 --> 00:15:22,360
Kevin: Svelte has 2.6.

354
00:15:22,980 --> 00:15:25,820
Kevin: So there's a 35X difference there.

355
00:15:27,339 --> 00:15:27,860
Speaker 2: Satisfaction.

356
00:15:28,310 --> 00:15:32,140
Speaker 2: We have Svelte steady at number two, as it has been for

357
00:15:32,140 --> 00:15:34,540
Speaker 3: five years now.

358
00:15:35,090 --> 00:15:38,980
Speaker 2: With Solid just going straight into number one and still being, they're very, very close.

359
00:15:39,500 --> 00:15:44,020
Speaker 2: It's like Solid is 89% satisfaction and Svelte is 86%.

360
00:15:44,100 --> 00:15:44,440
Speaker 3: Yeah.

361
00:15:46,420 --> 00:15:49,420
Speaker 2: So Preact gain satisfaction this year.

362
00:15:49,710 --> 00:15:49,840
Speaker 2: So

363
00:15:49,840 --> 00:15:50,500
Speaker 3: that's pretty interesting.

364
00:15:51,120 --> 00:16:18,040
Speaker 2: Yeah. Lit as well. I think there's been a lot of years like people talk about web components, right? And it's been a thing for many years. And the usage has not been there compared to how much, how long it's been there, I guess. But I feel like this year and last year, like the chatter around web components and design systems and lit and fast, I think it just keeps growing now.

365
00:16:19,120 --> 00:16:25,240
Speaker 2: Maybe it's because I'm listening to too much Shop Talk show, but I think it's growing.

366
00:16:25,920 --> 00:16:26,340
Speaker 2: That's very interesting.

367
00:16:26,760 --> 00:16:26,980
Kevin: Yeah.

368
00:16:27,940 --> 00:16:28,960
Kevin: I don't know.

369
00:16:29,210 --> 00:16:35,800
Kevin: Like, I'm so not into, like, I keep hearing about web components, but I'm not really that interested in them.

370
00:16:37,200 --> 00:16:37,440
Kevin: No.

371
00:16:37,940 --> 00:16:39,180
Speaker 2: Maybe for obvious reasons,

372
00:16:39,500 --> 00:16:40,460
Speaker 3: but yeah, yeah, of course.

373
00:16:40,820 --> 00:16:41,180
Speaker 3: Of course.

374
00:16:41,940 --> 00:16:44,280
Kevin: But, like, I just never really use them a lot.

375
00:16:44,460 --> 00:16:52,540
Kevin: But, like, the amount of DevRel resources that have gone into pushing web components is pretty large, right?

376
00:16:53,090 --> 00:16:53,200
Kevin: True.

377
00:16:54,360 --> 00:16:58,460
Kevin: So it's because you get this from like the Chrome team and like everyone is

378
00:16:58,460 --> 00:16:59,440
Speaker 3: talking about web components

379
00:16:59,510 --> 00:17:00,660
Kevin: and have been for years.

380
00:17:01,290 --> 00:17:03,240
Kevin: So it's kind of interesting that it's not bigger.

381
00:17:03,840 --> 00:17:03,920
Kevin: That

382
00:17:03,920 --> 00:17:04,020
Speaker 2: is

383
00:17:04,020 --> 00:17:04,280
Speaker 3: true.

384
00:17:05,040 --> 00:17:09,660
Kevin: Maybe it's maybe the developer experience hasn't been up to snuff, right?

385
00:17:10,220 --> 00:17:16,060
Speaker 2: Yeah, I think it's really hard to put a pin on like why are some of these frameworks more popular than others?

386
00:17:16,850 --> 00:17:16,980
Speaker 3: Yeah.

387
00:17:17,459 --> 00:17:19,839
Speaker 2: Especially when you look at these charts, because if you look at this,

388
00:17:20,120 --> 00:17:20,660
Speaker 3: you

389
00:17:20,660 --> 00:17:22,120
Speaker 2: would expect solid to just be like

390
00:17:22,120 --> 00:17:23,640
Kevin: the thing that everyone uses.

391
00:17:24,730 --> 00:17:25,280
Kevin: But it isn't.

392
00:17:26,180 --> 00:17:31,000
Kevin: Could just be the solid users are more prone to answering the survey.

393
00:17:31,550 --> 00:17:31,680
Kevin: Oh,

394
00:17:31,800 --> 00:17:32,160
Speaker 2: yeah, for sure.

395
00:17:32,390 --> 00:17:32,500
Speaker 2: Right.

396
00:17:32,630 --> 00:17:33,760
Speaker 2: I think that's fair.

397
00:17:35,620 --> 00:17:39,200
Speaker 2: Preact is highest in appreciation and

398
00:17:39,200 --> 00:17:40,140
Kevin: Svelte is

399
00:17:40,140 --> 00:17:41,120
Speaker 2: lowest.

400
00:17:42,000 --> 00:17:42,440
Kevin: Interesting.

401
00:17:42,880 --> 00:17:43,460
Speaker 2: And it has been.

402
00:17:43,540 --> 00:17:44,060
Speaker 2: What does that mean?

403
00:17:44,220 --> 00:17:44,660
Speaker 2: Appreciation.

404
00:17:44,820 --> 00:17:46,800
Speaker 2: Gap between interest and satisfaction.

405
00:17:47,360 --> 00:17:51,600
Kevin: So the satisfaction must be loaded? Am I... Is that...

406
00:17:51,800 --> 00:17:52,540
Kevin: I don't know.

407
00:17:53,040 --> 00:17:53,680
Kevin: That seems weird.

408
00:17:53,780 --> 00:18:03,980
Speaker 2: I don't know how to read this. It just says it's the gap between interest and the satisfaction in percentage points. Anyways, someone else who is smarter than us, please

409
00:18:03,980 --> 00:18:08,640
Speaker 3: tell us how to read this.

410
00:18:10,240 --> 00:18:11,340
Speaker 2: This is Baby's first charts.

411
00:18:13,560 --> 00:18:14,520
Kevin: That sounds weird

412
00:18:14,520 --> 00:18:15,640
Speaker 2: though, that it would be lowest.

413
00:18:16,460 --> 00:18:16,680
Speaker 3: Because

414
00:18:16,680 --> 00:18:23,120
Speaker 2: then you go to positivity and then Svelte is highest, which is the proportion of positive sentiment among all respondents.

415
00:18:23,550 --> 00:18:26,560
Speaker 2: So I think there's just something that I just don't fully understand about people.

416
00:18:28,400 --> 00:18:30,880
Speaker 2: But, I mean, Svelte is still going strong.

417
00:18:34,120 --> 00:18:35,740
Speaker 2: And people love it.

418
00:18:36,120 --> 00:18:41,360
Speaker 2: People love it slightly less than they did last year, but it's within one percentage point.

419
00:18:42,120 --> 00:18:53,500
Kevin: I think that's a good, like when you look at it on all frameworks, because most of them are going down, as we mentioned, it's a good result compared relatively at least.

420
00:18:54,060 --> 00:18:54,200
Speaker 2: Right.

421
00:18:54,640 --> 00:19:04,380
Speaker 2: So then there's also, so that was Svelte, and then there's the meta frameworks, which is where Next.js and SvelteKit is and all the others essentially.

422
00:19:05,000 --> 00:19:07,140
Speaker 2: And there's one thing that's very interesting here.

423
00:19:07,780 --> 00:19:13,380
Speaker 2: So when you look at the usage of the meta frameworks, I'm just going to go back to the usage of...

424
00:19:13,380 --> 00:19:14,980
Speaker 2: Although that stacks out.

425
00:19:15,160 --> 00:19:17,840
Speaker 2: Essentially, Next.js is in a league of its own.

426
00:19:18,340 --> 00:19:18,760
Speaker 3: Next.js

427
00:19:18,760 --> 00:19:23,040
Speaker 2: has 59% usage, and the next one is Astro at 27.

428
00:19:23,320 --> 00:19:26,800
Speaker 2: Astro is growing really fast compared to all the others.

429
00:19:27,000 --> 00:19:27,240
Kevin: Yeah.

430
00:19:28,040 --> 00:19:33,000
Kevin: I think it's because you can use it with any framework, right?

431
00:19:33,100 --> 00:19:33,540
Kevin: You can mix and

432
00:19:33,540 --> 00:19:33,900
Speaker 2: match.

433
00:19:34,559 --> 00:19:35,080
Kevin: That's the

434
00:19:35,080 --> 00:19:36,060
Speaker 2: strength of it.

435
00:19:36,720 --> 00:19:38,320
Speaker 2: Which makes perfect sense, right?

436
00:19:41,059 --> 00:19:41,460
Speaker 2: Basically,

437
00:19:42,900 --> 00:19:47,920
Kevin: their user base is anyone that uses React Svelte view,

438
00:19:48,340 --> 00:19:48,440
Speaker 2: right?

439
00:19:48,660 --> 00:19:50,900
Kevin: And I'm sure there are other frameworks that you can use

440
00:19:50,900 --> 00:19:51,740
Speaker 2: with Astros right now.

441
00:19:51,740 --> 00:19:54,420
Speaker 2: Yeah, React and something more.

442
00:19:54,700 --> 00:19:54,820
Speaker 2: So

443
00:19:54,820 --> 00:19:55,840
Kevin: you would expect them to

444
00:19:55,840 --> 00:19:57,200
Speaker 2: be pretty big.

445
00:19:57,220 --> 00:19:57,320
Speaker 2: Of

446
00:19:57,320 --> 00:19:57,360
Kevin: course.

447
00:19:58,020 --> 00:19:58,080
Kevin: Yeah.

448
00:19:59,040 --> 00:19:59,300
Kevin: Meanwhile,

449
00:19:59,500 --> 00:19:59,940
Speaker 2: Next.js

450
00:19:59,940 --> 00:20:01,420
Kevin: only React works, right?

451
00:20:01,880 --> 00:20:02,660
Speaker 2: Yeah, that is true.

452
00:20:03,200 --> 00:20:09,780
Speaker 2: It's interesting that Next.js was on a downturn in 2024, and then it got an upticket again in 2025.

453
00:20:10,550 --> 00:20:10,700
Speaker 2: Yeah.

454
00:20:11,700 --> 00:20:12,680
Speaker 2: Somehow they turned that around.

455
00:20:13,940 --> 00:20:16,680
Kevin: I think if you go to satisfaction though, like you're gonna find

456
00:20:16,680 --> 00:20:16,980
Speaker 3: the-- - Yeah,

457
00:20:17,100 --> 00:20:17,800
Kevin: let's do a satisfaction.

458
00:20:18,760 --> 00:20:19,280
Kevin: Astro,

459
00:20:19,280 --> 00:20:20,060
Speaker 2: number one.

460
00:20:20,570 --> 00:20:21,060
Speaker 2: That's impressive.

461
00:20:21,600 --> 00:20:22,920
Speaker 2: SvelteKit, number two.

462
00:20:24,540 --> 00:20:25,660
Speaker 2: And then we have-- - Solid

463
00:20:25,660 --> 00:20:26,320
Speaker 3: start, I

464
00:20:26,320 --> 00:20:30,240
Speaker 2: think. - Solid start, Nuxt, analog, oh analog is,

465
00:20:30,940 --> 00:20:31,900
Kevin: that's Angular.

466
00:20:31,900 --> 00:20:32,360
Kevin: What is analog?

467
00:20:33,220 --> 00:20:34,240
Speaker 3: That analog is Angular,

468
00:20:34,470 --> 00:20:35,320
Speaker 2: but with Vite.

469
00:20:35,920 --> 00:20:36,080
Speaker 2: So is

470
00:20:36,080 --> 00:20:38,440
Kevin: this amazing,

471
00:20:38,680 --> 00:20:43,860
Speaker 2: brilliant guy, I believe he's called, I want to say Brandon, but maybe I'm wrong.

472
00:20:44,190 --> 00:20:47,340
Speaker 2: And he was like, I love Angular, but I hate the toolchain.

473
00:20:47,700 --> 00:20:48,920
Speaker 2: Can I just do a V plugin instead?

474
00:20:49,110 --> 00:20:50,160
Speaker 2: And so he just built a V plugin.

475
00:20:51,180 --> 00:20:59,900
Speaker 2: And now it's this whole thing with, if you want to do Angular, but you love V and V test and Storybook with V and all that, then analog is your jam.

476
00:20:59,900 --> 00:21:00,620
Speaker 2: And I think that's pretty

477
00:21:00,620 --> 00:21:01,120
Speaker 3: impressive.

478
00:21:01,960 --> 00:21:04,160
Speaker 2: Anyway, he got into it at number five.

479
00:21:04,380 --> 00:21:06,720
Speaker 2: Dino Fresh, Tonsaurus Remix.

480
00:21:08,130 --> 00:21:08,460
Speaker 2: And then

481
00:21:08,460 --> 00:21:10,920
Kevin: next just beats out Gatsby.

482
00:21:11,640 --> 00:21:13,700
Kevin: That's not a good thing.

483
00:21:15,920 --> 00:21:16,200
Kevin: Imagine

484
00:21:16,200 --> 00:21:16,780
Speaker 3: if they got banned

485
00:21:16,780 --> 00:21:17,840
Speaker 2: by Gatsby.

486
00:21:18,520 --> 00:21:18,760
Speaker 2: I mean,

487
00:21:19,330 --> 00:21:20,000
Kevin: it hasn't been in

488
00:21:20,000 --> 00:21:21,920
Speaker 2: development for years as far as I know.

489
00:21:22,170 --> 00:21:22,380
Speaker 2: I might

490
00:21:22,380 --> 00:21:22,760
Speaker 3: be wrong,

491
00:21:22,950 --> 00:21:23,480
Speaker 2: but I don't think it's.

492
00:21:23,500 --> 00:21:23,980
Speaker 2: No, no, you're right.

493
00:21:24,120 --> 00:21:24,640
Kevin: I think you're right.

494
00:21:24,790 --> 00:21:25,280
Kevin: I think you're right.

495
00:21:26,640 --> 00:21:26,920
Kevin: No, that's

496
00:21:26,920 --> 00:21:27,160
Speaker 2: cool.

497
00:21:28,260 --> 00:21:29,200
Kevin: It's interesting though.

498
00:21:29,560 --> 00:21:33,940
Kevin: Gatsby did do things a bit differently compared to other frameworks.

499
00:21:34,560 --> 00:21:37,960
Kevin: I think the whole GraphQL thing was

500
00:21:37,960 --> 00:21:39,260
Speaker 2: very different

501
00:21:39,260 --> 00:21:40,120
Kevin: compared to...

502
00:21:40,300 --> 00:21:47,000
Speaker 2: I feel like Astro has sort of picked up the good parts of what Gatsby did differently.

503
00:21:47,840 --> 00:21:54,180
Speaker 2: I don't think GraphQL was the right choice because it was just very complicated for even the basic stuff.

504
00:21:54,660 --> 00:22:06,920
Speaker 2: So I think Astro has hit the right balance of you having flexible data sources and also it just being simple to write.

505
00:22:07,680 --> 00:22:10,060
Speaker 2: I've heard that some people run into performance issues.

506
00:22:10,200 --> 00:22:14,040
Speaker 2: If they have a lot of content, then it just takes hours to build.

507
00:22:14,880 --> 00:22:16,900
Speaker 2: But maybe that's just...

508
00:22:17,000 --> 00:22:20,660
Kevin: Do you know if Astro is still build-only?

509
00:22:21,280 --> 00:22:21,600
Kevin: What's it called?

510
00:22:22,300 --> 00:22:23,180
Kevin: Server-side?

511
00:22:23,200 --> 00:22:27,800
Kevin: Server-side only? Or like pre-render only, I guess is what I'm saying.

512
00:22:28,490 --> 00:22:32,500
Kevin: Or is it dynamic? Can you do dynamic server and server-side dense points?

513
00:22:32,980 --> 00:22:36,180
Speaker 2: No. So Astro components can only be rendered on the server.

514
00:22:36,650 --> 00:22:40,640
Speaker 2: And so if you need something on the client, then you will reach for one of the other frameworks.

515
00:22:41,120 --> 00:22:43,080
Speaker 2: Yep. Yep. Gotcha.

516
00:22:43,390 --> 00:22:48,460
Speaker 2: And the reason I know that, so I'm going to take on my Storybook hat now.

517
00:22:48,690 --> 00:22:51,900
Speaker 2: Because I'm a Storybook core maintainer.

518
00:22:52,480 --> 00:23:04,360
Speaker 2: And by far the biggest request we have for Storybook, and it's been the biggest request for years has been Astro support, which I get because Astro is pretty good.

519
00:23:04,720 --> 00:23:09,880
Speaker 2: The problem is that Astro is server side rendered only and Storybook being

520
00:23:09,880 --> 00:23:11,800
Speaker 3: seven years old

521
00:23:11,800 --> 00:23:13,000
Speaker 2: is an SPA.

522
00:23:13,180 --> 00:23:14,920
Speaker 2: Storybook renders on the client only.

523
00:23:15,190 --> 00:23:16,220
Speaker 2: And so how do you do that?

524
00:23:16,520 --> 00:23:17,420
Speaker 2: Well, you

525
00:23:17,420 --> 00:23:17,640
Speaker 3: don't.

526
00:23:17,760 --> 00:23:18,560
Speaker 3: iFrames, obviously.

527
00:23:20,660 --> 00:23:29,220
Speaker 2: It requires either the Astro team or the Storybook team figuring out how to completely redo their architecture.

528
00:23:30,960 --> 00:23:34,960
Speaker 2: So that's still a sore eye for me.

529
00:23:35,340 --> 00:23:37,760
Speaker 2: Anyways, back to the Svelte podcast.

530
00:23:41,140 --> 00:23:41,800
Kevin: Yeah, how's the interest?

531
00:23:42,940 --> 00:23:44,400
Kevin: I'm sorry, you were going to say something about Svelte.

532
00:23:44,400 --> 00:23:45,140
Kevin: No, Svelte

533
00:23:45,140 --> 00:23:47,140
Speaker 2: just keeps being high on satisfaction, of course,

534
00:23:47,820 --> 00:23:47,940
Kevin: which

535
00:23:47,940 --> 00:23:48,340
is amazing.

536
00:23:50,700 --> 00:23:55,860
Speaker 2: the Svelte team is just doing amazing work, as we talked about last time, with the new remote functions.

537
00:23:56,040 --> 00:24:00,600
Speaker 2: And it's going to be really interesting to see how Svelte Kit 3 just...

538
00:24:01,660 --> 00:24:02,900
Kevin: I think it's going to be amazing.

539
00:24:03,580 --> 00:24:03,800
Kevin: Yeah.

540
00:24:04,440 --> 00:24:05,520
Kevin: Remote functions are...

541
00:24:05,580 --> 00:24:05,660
Kevin: I

542
00:24:05,660 --> 00:24:06,560
Speaker 2: also really think that.

543
00:24:07,080 --> 00:24:07,700
Kevin: Yeah, yeah, yeah.

544
00:24:07,960 --> 00:24:09,900
Kevin: We have to think it, but I really think it.

545
00:24:10,140 --> 00:24:10,580
Kevin: Yeah, yeah.

546
00:24:11,840 --> 00:24:12,080
Kevin: Definitely.

547
00:24:12,400 --> 00:24:16,440
Kevin: Remote functions is such a game changer in terms of developer experience.

548
00:24:17,760 --> 00:24:21,280
Kevin: Compared to the load functions on the form actions that we had before.

549
00:24:22,159 --> 00:24:23,240
Kevin: Ah, amazing. - Yeah, yeah.

550
00:24:24,000 --> 00:24:25,220
Speaker 2: I want to correct myself.

551
00:24:25,340 --> 00:24:26,220
Speaker 2: We don't have to think anything.

552
00:24:26,400 --> 00:24:27,440
Speaker 2: We're not getting paid by anyone.

553
00:24:27,960 --> 00:24:28,740
Speaker 2: We can think what we

554
00:24:28,740 --> 00:24:29,020
Kevin: want.

555
00:24:29,720 --> 00:24:30,460
Speaker 2: Just so no one-

556
00:24:30,460 --> 00:24:31,020
Kevin: Wait, you're getting

557
00:24:31,020 --> 00:24:31,340
Speaker 3: paid?

558
00:24:31,760 --> 00:24:33,400
Speaker 2: No, that's

559
00:24:33,400 --> 00:24:34,400
Kevin: a meme, right?

560
00:24:37,480 --> 00:24:38,160
Speaker 2: You are really old.

561
00:24:39,240 --> 00:24:42,220
Speaker 2: Interest is going down for SvelteKit, as it has been for years.

562
00:24:42,760 --> 00:24:46,520
Speaker 2: I, as we've talked about, I think that's just the function of it not being as new anymore.

563
00:24:47,260 --> 00:24:47,460
Kevin: Yeah.

564
00:24:48,340 --> 00:24:48,360
Kevin: And

565
00:24:48,360 --> 00:24:48,920
Speaker 3: to be fair,

566
00:24:49,020 --> 00:24:50,480
Kevin: all of them are going down, right?

567
00:24:50,970 --> 00:24:52,900
Speaker 2: Yeah, except for Astro is floating.

568
00:24:54,040 --> 00:24:55,720
Speaker 2: Right, if you look two years back, yeah.

569
00:24:56,580 --> 00:24:58,100
Speaker 2: Other than that, everyone else is going down.

570
00:24:58,620 --> 00:25:02,000
Kevin: Yeah, not a bright future for meta frameworks, it seems like.

571
00:25:02,540 --> 00:25:02,900
Kevin: Nah.

572
00:25:03,620 --> 00:25:03,960
Kevin: I'm kidding.

573
00:25:04,230 --> 00:25:10,900
Speaker 2: I mean, someone, I like, the alternative here is someone building, like, you're using your own meta framework, right?

574
00:25:11,010 --> 00:25:18,180
Speaker 2: You have to have some sort of meta framework, whether or not it's something that is being maintained, or is it something that you build on your own, right?

575
00:25:19,260 --> 00:25:21,760
Speaker 2: so or you just go pure

576
00:25:21,760 --> 00:25:24,200
Kevin: server side oh yeah for sure no client

577
00:25:24,700 --> 00:25:28,800
Speaker 2: no client like no even like we don't even send anything to the client

578
00:25:29,080 --> 00:25:29,660
Kevin: anything happens

579
00:25:29,740 --> 00:25:34,160
Speaker 2: on the server and like when when they open the website there's just blank there's nothing

580
00:25:34,300 --> 00:25:50,900
Kevin: on the client yeah just an input text where you put in your prompt and you get what you want out of the prompt imagine like the kilobytes you would save from that right imagine the tokens you would spend though from generating all that Sorry, I'm not going to go into an LLM rant.

581
00:25:51,020 --> 00:25:51,580
Kevin: Can we do another

582
00:25:51,580 --> 00:25:52,720
Speaker 2: LLM only episode?

583
00:25:55,100 --> 00:25:55,760
Kevin: No, we can't.

584
00:25:55,780 --> 00:25:56,820
Kevin: No, we can't.

585
00:25:56,940 --> 00:25:57,320
Kevin: We can't.

586
00:25:57,440 --> 00:25:58,300
Kevin: We have to stick

587
00:25:58,300 --> 00:25:58,780
Speaker 2: to Svelte.

588
00:25:59,100 --> 00:25:59,560
Speaker 2: Oh, we do.

589
00:25:59,880 --> 00:26:04,680
Speaker 2: So, like there's 10 different ways to view all of this data.

590
00:26:05,320 --> 00:26:07,760
Speaker 2: And we're not going to go all the same data again.

591
00:26:08,400 --> 00:26:16,020
Speaker 2: But there's this huge chart that they call changes over time, where we can see everything at once.

592
00:26:16,440 --> 00:26:21,240
Speaker 2: And let me find Svelte in this big mess.

593
00:26:21,390 --> 00:26:21,920
Speaker 2: I found it.

594
00:26:22,899 --> 00:26:25,560
Speaker 2: So it's being used more and more.

595
00:26:26,120 --> 00:26:29,540
Speaker 2: And compared to last time, slightly more negative opinion.

596
00:26:29,960 --> 00:26:31,900
Speaker 2: But not that much.

597
00:26:33,600 --> 00:26:34,740
Speaker 2: I think that's one thing.

598
00:26:35,340 --> 00:26:52,200
Speaker 2: If you as a listener go in and look at these charts over time, it's important to remember that last year they made a change in the survey, which if you were one of these library maintainers, it hurt you a lot.

599
00:26:52,500 --> 00:27:05,160
Speaker 2: But the way that you would answer these surveys, they now added some sort of like, instead of just answering I have used it or I have not used it, you would now also be forced to put in your sentiment and that made everything just more negative.

600
00:27:05,960 --> 00:27:06,440
Kevin: That's interesting.

601
00:27:07,200 --> 00:27:09,460
Kevin: Even when you put, I haven't used it?

602
00:27:10,480 --> 00:27:12,520
Kevin: Yes, because then it asks,

603
00:27:12,960 --> 00:27:14,960
Speaker 2: I would like to, or I would not like

604
00:27:14,960 --> 00:27:15,400
Kevin: to use it.

605
00:27:15,400 --> 00:27:15,920
Kevin: Oh, I see, I see.

606
00:27:16,110 --> 00:27:17,240
Kevin: Okay, that makes sense.

607
00:27:18,920 --> 00:27:26,760
Speaker 2: So there's just something to keep in mind when you read this, that between 2023 and 2024, the survey basically changed a bit.

608
00:27:26,850 --> 00:27:29,020
Speaker 2: So that is why the data is a bit off.

609
00:27:30,160 --> 00:27:30,520
Speaker 2: Yeah,

610
00:27:31,080 --> 00:27:36,300
Kevin: they should probably just get rid of the old data if that changes things that much.

611
00:27:37,120 --> 00:27:38,860
Speaker 2: Yeah, I mean, now it is

612
00:27:38,860 --> 00:27:39,060
Kevin: changed.

613
00:27:39,060 --> 00:27:39,460
Kevin: We'll have a toggle.

614
00:27:39,860 --> 00:27:40,220
Kevin: Yeah,

615
00:27:40,870 --> 00:27:41,220
Speaker 2: I don't know.

616
00:27:41,900 --> 00:27:43,440
Speaker 2: Maybe there's just something going forward.

617
00:27:44,000 --> 00:27:45,020
Speaker 2: That's just how it is from now on.

618
00:27:46,480 --> 00:27:48,060
Speaker 2: Anyways, what else is interesting here?

619
00:27:48,520 --> 00:27:50,020
Speaker 2: There's a tier list now.

620
00:27:53,380 --> 00:27:53,920
Speaker 2: Seems like a

621
00:27:53,920 --> 00:27:54,480
Kevin: popular tier.

622
00:27:54,520 --> 00:27:55,060
Kevin: VTest is S

623
00:27:55,060 --> 00:27:55,220
Speaker 2: tier.

624
00:27:56,560 --> 00:27:57,440
Speaker 2: What? Really?

625
00:27:58,180 --> 00:27:59,120
Speaker 2: Hono. Wow.

626
00:27:59,300 --> 00:28:03,720
Speaker 2: I actually didn't know that that many people were using both Hono and Playwright as an S tier.

627
00:28:04,500 --> 00:28:05,520
Speaker 2: Isn't-- Yeah.

628
00:28:06,820 --> 00:28:07,300
Speaker 2: Is

629
00:28:07,300 --> 00:28:08,480
Kevin: Hono-- It's

630
00:28:08,480 --> 00:28:09,560
Speaker 3: like the-

631
00:28:09,560 --> 00:28:10,820
Speaker 2: Is that the thing that powers something else?

632
00:28:11,280 --> 00:28:12,740
Speaker 2: Or is that Nitro that I'm thinking of?

633
00:28:14,020 --> 00:28:15,760
Kevin: I don't think Hano powers something.

634
00:28:15,780 --> 00:28:24,040
Kevin: Well, I mean, probably powers something, but it's like an Express competitor, if you

635
00:28:24,040 --> 00:28:24,300
Speaker 3: will.

636
00:28:26,580 --> 00:28:27,320
Speaker 2: And then we have Bun.

637
00:28:27,700 --> 00:28:30,160
Speaker 2: It's going to be interesting to see what happens to Bun, now that Anthropic

638
00:28:30,160 --> 00:28:31,160
Speaker 3: acquired

639
00:28:31,160 --> 00:28:31,480
Speaker 2: Bun.

640
00:28:32,840 --> 00:28:34,100
Speaker 2: I mean, they're still working on it, of course.

641
00:28:35,480 --> 00:28:35,620
Speaker 2: Yeah.

642
00:28:38,060 --> 00:28:38,700
Kevin: So only

643
00:28:38,700 --> 00:28:40,120
Speaker 2: Astro is on S tier.

644
00:28:40,540 --> 00:28:40,760
Speaker 2: True.

645
00:28:41,240 --> 00:28:41,340
Speaker 2: for

646
00:28:41,340 --> 00:28:42,660
Kevin: frameworks. For the frameworks,

647
00:28:42,910 --> 00:28:43,020
Speaker 2: yeah.

648
00:28:43,540 --> 00:28:46,840
Speaker 2: SvelteKit is 8-tier as the next framework in line.

649
00:28:48,140 --> 00:28:49,140
Kevin: And then Nuxt is

650
00:28:49,140 --> 00:28:49,480
Speaker 2: also 8-tier.

651
00:28:50,300 --> 00:28:51,060
Speaker 2: Nuxt is also brilliant.

652
00:28:52,320 --> 00:28:53,500
Speaker 2: I haven't actually used Nuxt.

653
00:28:54,280 --> 00:28:54,380
Kevin: No.

654
00:28:54,700 --> 00:29:08,820
Speaker 2: I've heard, I've talked with people that use it, and they say it's amazing, and I have seen what it can do, but I also, I dived into a Nuxt code base yesterday, and I did not know where to step.

655
00:29:11,220 --> 00:29:15,560
Speaker 2: there was an interesting pattern, which I didn't like.

656
00:29:15,960 --> 00:29:18,480
Speaker 2: But then I also realized that Svelte has sort of a similar pattern.

657
00:29:18,660 --> 00:29:21,420
Speaker 2: There was something about implicit imports.

658
00:29:22,040 --> 00:29:24,440
Speaker 2: Because I was looking at this Noct code base, right?

659
00:29:24,440 --> 00:29:27,880
Speaker 2: And there was this function that was called, it was a hook in a page.

660
00:29:27,960 --> 00:29:30,620
Speaker 2: It was called usePackageW or whatever.

661
00:29:30,960 --> 00:29:31,360
Speaker 3: Oh, right.

662
00:29:31,600 --> 00:29:33,120
Speaker 2: You can do anything in Vue, right?

663
00:29:33,400 --> 00:29:34,060
Speaker 2: I guess.

664
00:29:35,620 --> 00:29:40,660
Speaker 2: And so because it was just using GitHub, GitHub has this, like, go to sources or whatever.

665
00:29:40,950 --> 00:29:42,540
Speaker 2: And so I clicked on that and it didn't show anything.

666
00:29:42,610 --> 00:29:45,700
Speaker 2: And the use package function wasn't even being imported in there.

667
00:29:45,700 --> 00:29:46,600
Speaker 2: I was like, okay, what?

668
00:29:46,660 --> 00:29:47,640
Speaker 3: What is this?

669
00:29:47,680 --> 00:29:47,980
Speaker 3: Oh, yeah.

670
00:29:48,600 --> 00:30:01,240
Speaker 2: And so I had to ask around and I realized it's when it's being defined in some other module called compose something something, then it's just available everywhere, which is nice, but it's also sort of confusing for me to

671
00:30:01,240 --> 00:30:02,420
Kevin: understand.

672
00:30:02,820 --> 00:30:05,140
Speaker 2: But then I realized, well, Svelte runes is the exact same thing.

673
00:30:05,610 --> 00:30:06,520
Speaker 2: You don't import a rune.

674
00:30:07,840 --> 00:30:14,840
Kevin: Yeah, I mean, it's kind of similar, but then it's like a core mechanic of the framework that you have to learn.

675
00:30:15,060 --> 00:30:19,660
Speaker 2: Yeah, that's the difference, right? Because usePackage was like a custom thing.

676
00:30:20,900 --> 00:30:21,300
Kevin: But

677
00:30:21,300 --> 00:30:22,480
Speaker 2: it is similar, for sure.

678
00:30:23,960 --> 00:30:24,860
Kevin: But to be fair, I

679
00:30:24,860 --> 00:30:33,520
Speaker 2: would also expect, like, if I opened the repository in VS Code and I clicked usePackage, that the Vue or Noxt extension, it would know exactly where to get me.

680
00:30:33,980 --> 00:30:34,080
Speaker 3: Right.

681
00:30:34,580 --> 00:30:35,240
Speaker 3: I'm sure it was just

682
00:30:35,240 --> 00:30:36,420
Speaker 2: because I was in GitHub.

683
00:30:37,260 --> 00:30:37,320
Speaker 3: Yeah.

684
00:30:37,780 --> 00:30:41,880
Speaker 2: So, but it was just, I'm not a fan of magic stuff.

685
00:30:42,020 --> 00:30:43,320
Speaker 2: I like magical stuff.

686
00:30:44,260 --> 00:30:44,340
Speaker 3: Yeah.

687
00:30:44,880 --> 00:30:45,000
Speaker 2: Yeah.

688
00:30:46,220 --> 00:30:49,260
Speaker 2: But anyways, everything to each their own, I guess.

689
00:30:49,840 --> 00:30:49,940
Kevin: Yeah.

690
00:30:50,040 --> 00:30:53,140
Kevin: It's good that there are like all these different options.

691
00:30:53,820 --> 00:30:54,280
Speaker 2: Yeah, for sure.

692
00:30:54,860 --> 00:30:55,020
Speaker 2: Use.

693
00:30:56,300 --> 00:30:58,140
Kevin: I should definitely try it at some point though.

694
00:30:58,620 --> 00:30:58,760
Speaker 2: Yeah.

695
00:30:59,400 --> 00:31:01,800
Speaker 2: Just at least to learn it.

696
00:31:02,260 --> 00:31:02,400
Kevin: Yeah.

697
00:31:03,200 --> 00:31:03,540
Kevin: All right.

698
00:31:04,240 --> 00:31:09,280
Kevin: Are there other frameworks that are not on the lists that are popular?

699
00:31:09,580 --> 00:31:13,380
Kevin: I feel like I've been hearing TanStack start a lot, but I'm not saying...

700
00:31:13,380 --> 00:31:14,260
Kevin: TanStack start is

701
00:31:14,260 --> 00:31:19,180
Speaker 2: actually getting a lot of usage, but it's not...

702
00:31:19,180 --> 00:31:22,060
Speaker 2: So it was relatively new when this survey came out.

703
00:31:22,560 --> 00:31:22,700
Speaker 2: Gotcha.

704
00:31:22,880 --> 00:31:26,000
Speaker 2: So it's not part of the questionnaire.

705
00:31:26,480 --> 00:31:27,740
Speaker 2: It's one of those write-ins.

706
00:31:28,960 --> 00:31:30,920
Speaker 2: I found meta frameworks.

707
00:31:31,020 --> 00:31:35,580
Speaker 2: And then if you go to other, 10 stack start is by far the biggest other.

708
00:31:36,520 --> 00:31:36,660
Speaker 3: Yeah.

709
00:31:37,240 --> 00:31:38,980
Speaker 3: So it's definitely one of those things that

710
00:31:38,980 --> 00:31:45,560
Speaker 2: 10 stack router is, I'm assuming that if you don't use the metaframe, you just use the, well, maybe it's the same.

711
00:31:46,040 --> 00:31:46,600
Speaker 2: Maybe it's just people

712
00:31:46,600 --> 00:31:47,200
Speaker 3: being confused

713
00:31:47,200 --> 00:31:48,820
Speaker 2: about what to write.

714
00:31:49,320 --> 00:31:50,340
Kevin: Again, I'm

715
00:31:50,340 --> 00:31:52,540
Speaker 2: exposing my ignorance here.

716
00:31:53,040 --> 00:31:53,480
Kevin: Yeah, same.

717
00:31:53,640 --> 00:31:54,320
Kevin: I don't know.

718
00:31:54,700 --> 00:31:56,980
Kevin: I've not used 10 stack start.

719
00:31:57,500 --> 00:32:01,220
Kevin: I assume it's like a bit like Astro in that you can use any framework.

720
00:32:01,610 --> 00:32:02,100
Kevin: Is that right?

721
00:32:02,480 --> 00:32:02,980
Kevin: No, no,

722
00:32:02,990 --> 00:32:03,240
Speaker 2: no, no.

723
00:32:03,950 --> 00:32:05,160
Speaker 2: No, 10 stack start is React.

724
00:32:05,720 --> 00:32:06,000
Kevin: Is it?

725
00:32:06,340 --> 00:32:07,840
Kevin: Is it 10 stack router that you can use?

726
00:32:08,420 --> 00:32:10,460
Kevin: And 10 stack router is for React and solid.

727
00:32:11,020 --> 00:32:11,100
Kevin: Right.

728
00:32:11,170 --> 00:32:11,460
Kevin: So you can

729
00:32:11,460 --> 00:32:12,200
Speaker 2: use it for

730
00:32:12,200 --> 00:32:12,820
Kevin: those.

731
00:32:12,930 --> 00:32:13,220
Kevin: Maybe 10

732
00:32:13,220 --> 00:32:15,240
Speaker 2: stack start as well is, but it's not like this.

733
00:32:15,350 --> 00:32:19,540
Speaker 2: I don't believe it's something similar to Astro where you can do multiple stuff at once.

734
00:32:20,140 --> 00:32:20,280
Kevin: Yeah.

735
00:32:21,740 --> 00:32:23,860
Kevin: Yeah, I'm, I don't know.

736
00:32:24,440 --> 00:32:31,420
Speaker 2: But I think, anyway, it's great to have an alternative to Next.js coming from Tanstack.

737
00:32:32,220 --> 00:32:34,720
Speaker 2: And I'm really looking forward to see what they do this year.

738
00:32:36,220 --> 00:32:38,200
Speaker 2: Their growth is pretty wild already.

739
00:32:38,720 --> 00:32:48,960
Kevin: Yeah, Tanstack feels like they, from the outside looking in, it feels like they pull you in with all these libraries that you need for complex things,

740
00:32:49,240 --> 00:32:50,200
Speaker 3: like Tanstack Table,

741
00:32:50,500 --> 00:32:51,120
Kevin: Tanstack,

742
00:32:51,260 --> 00:32:52,700
Speaker 3: now I can name

743
00:32:52,700 --> 00:32:52,980
Kevin: them all.

744
00:32:53,500 --> 00:32:56,640
Kevin: But then you kind of get into the ecosystem, and

745
00:32:56,640 --> 00:32:58,060
Speaker 3: then

746
00:32:58,060 --> 00:33:07,560
Kevin: they maybe released TanStack Router and TanStack Start, which is like, oh, you can just slot in these other packages of ours, and they'll just work perfectly with it.

747
00:33:07,960 --> 00:33:18,320
Speaker 2: I think they made a very big splash when Tanner, he wrote that you could do route configuration, but type save.

748
00:33:18,820 --> 00:33:21,720
Speaker 2: So it would yell at you if you didn't get the params right.

749
00:33:23,520 --> 00:33:25,200
Speaker 2: subpath and whatever. I think that was pretty impressive.

750
00:33:25,430 --> 00:33:31,140
Speaker 2: I haven't seen that in many other places, especially not in Next.js and also not in SvelteKit, I believe.

751
00:33:31,680 --> 00:33:31,840
Speaker 2: Maybe

752
00:33:31,840 --> 00:33:34,340
Kevin: I'm wrong. No, there is type-safe routing

753
00:33:34,340 --> 00:33:35,200
Speaker 2: in

754
00:33:35,200 --> 00:33:35,540
Kevin: SvelteKit.

755
00:33:36,220 --> 00:33:36,400
Speaker 2: You

756
00:33:36,400 --> 00:33:38,180
Kevin: have to import a function now called Resolve.

757
00:33:39,080 --> 00:33:39,540
Kevin: Oh, right.

758
00:33:41,200 --> 00:33:43,820
Kevin: You have to do some work, but it works.

759
00:33:44,690 --> 00:33:48,940
Speaker 2: Okay, other tools. I don't have anything else to say about Svelte and frameworks.

760
00:33:49,130 --> 00:33:54,840
Speaker 2: I think we have I've talked more than enough about that, unless you have anything smart to say.

761
00:33:55,340 --> 00:33:56,440
Kevin: No, no.

762
00:33:57,120 --> 00:34:06,000
Speaker 2: Salt is the most used library in these, like it's just a long list of any JavaScript library.

763
00:34:07,400 --> 00:34:09,399
Kevin: Oh wow, it's even bigger than Lodash.

764
00:34:09,760 --> 00:34:10,560
Speaker 2: Yeah, it grew.

765
00:34:10,889 --> 00:34:16,080
Speaker 2: Two places this year to go over Lodash and date functions.

766
00:34:17,540 --> 00:34:18,080
Speaker 2: That's pretty wild.

767
00:34:18,600 --> 00:34:20,800
Speaker 2: So when I see this, I think this is great.

768
00:34:21,139 --> 00:34:21,800
Speaker 2: SART is great.

769
00:34:22,330 --> 00:34:24,780
Speaker 2: But also, people are sleeping on Valley Bot.

770
00:34:25,200 --> 00:34:26,179
Speaker 3: Valley Bot is

771
00:34:26,179 --> 00:34:27,840
Speaker 2: also very amazing.

772
00:34:28,520 --> 00:34:34,159
Speaker 2: Paolo introduced me to Valley Bot via his TMCP library.

773
00:34:34,940 --> 00:34:35,000
Speaker 2: And

774
00:34:35,000 --> 00:34:36,020
Kevin: to

775
00:34:36,020 --> 00:34:37,139
Speaker 2: me, it's almost the same.

776
00:34:37,360 --> 00:34:39,899
Speaker 2: The API is slightly different, except that it's tiny.

777
00:34:40,159 --> 00:34:41,260
Speaker 2: It's a tiny thing.

778
00:34:41,379 --> 00:34:41,940
Speaker 2: It's tree shakable.

779
00:34:42,460 --> 00:34:44,560
Speaker 2: I really love shaving off kilobytes.

780
00:34:44,940 --> 00:34:49,600
Speaker 2: And so I don't see why anyone would pick SOT over Valibot today.

781
00:34:49,960 --> 00:34:55,879
Speaker 2: Okay, that's a bit of an overstatement, but Valibot just seems like the same thing, but smaller.

782
00:34:56,440 --> 00:34:56,520
Speaker 2: So

783
00:34:56,520 --> 00:34:58,480
Kevin: that's what I will always go for.

784
00:34:58,660 --> 00:35:03,160
Kevin: There's some differences in the API, but they're not big, right?

785
00:35:03,920 --> 00:35:04,699
Speaker 3: And they both...

786
00:35:05,620 --> 00:35:06,120
Kevin: Sorry, go ahead.

787
00:35:06,640 --> 00:35:07,380
Speaker 2: No, no, no, go ahead.

788
00:35:07,880 --> 00:35:08,500
Speaker 2: I was just going

789
00:35:08,500 --> 00:35:12,620
Kevin: to say they both support standard schema, right?

790
00:35:13,040 --> 00:35:13,200
Kevin: That's

791
00:35:13,200 --> 00:35:14,400
Speaker 2: the biggest thing.

792
00:35:14,720 --> 00:35:24,180
Speaker 2: Can we talk about how amazing it is that all of these validation libraries, they've just put their heads together like, oh, maybe we should do something that we're all compatible with and maybe that's called Standard Schema.

793
00:35:24,630 --> 00:35:24,740
Speaker 2: I

794
00:35:24,740 --> 00:35:25,180
Kevin: love that.

795
00:35:25,320 --> 00:35:26,580
Kevin: I love that.

796
00:35:26,900 --> 00:35:33,340
Kevin: Am I misremembering it or is the creator of Standard Schema also the guy that created Valibot?

797
00:35:33,880 --> 00:35:34,700
Speaker 2: They were multiple.

798
00:35:35,670 --> 00:35:36,420
Kevin: Multiple people, okay.

799
00:35:37,560 --> 00:35:42,160
Speaker 2: So I think they literally got together to work on it.

800
00:35:43,240 --> 00:35:46,820
Speaker 2: the sort, Colin Hacks, and then ValidButton and then someone else.

801
00:35:47,500 --> 00:35:49,060
Speaker 2: Yeah, that makes sense.

802
00:35:49,360 --> 00:35:54,880
Speaker 2: So, yeah, I'm going to do a lot more of that at my work very soon.

803
00:35:55,100 --> 00:35:55,220
Speaker 2: So,

804
00:35:55,670 --> 00:35:56,460
Kevin: yeah, it's going to be fun.

805
00:35:56,470 --> 00:36:00,500
Kevin: Yeah, I mean, I use validation for everything, right?

806
00:36:01,000 --> 00:36:01,080
Kevin: Right.

807
00:36:01,180 --> 00:36:01,440
Kevin: It's great.

808
00:36:01,970 --> 00:36:06,980
Kevin: And now with remote functions, you use validation library.

809
00:36:07,700 --> 00:36:09,640
Kevin: Like, you have to use a validation library.

810
00:36:10,320 --> 00:36:11,960
Speaker 2: So, it's great.

811
00:36:12,280 --> 00:36:15,600
Speaker 2: OK, next on the list of libraries people use is Lodash.

812
00:36:16,240 --> 00:36:26,680
Speaker 2: And my feelings are that Lodash has not changed in 10 years or something.

813
00:36:27,280 --> 00:36:28,800
Kevin: Maybe that's its strength, though.

814
00:36:29,140 --> 00:36:31,260
Speaker 2: That's very impressive that

815
00:36:31,260 --> 00:36:31,680
Speaker 3: it has

816
00:36:31,680 --> 00:36:32,960
Speaker 2: kept being relevant.

817
00:36:34,060 --> 00:36:37,540
Speaker 2: But also, we have ES Toolkit readily available.

818
00:36:38,220 --> 00:36:40,120
Speaker 2: It's on place 17 here.

819
00:36:40,460 --> 00:36:43,360
Speaker 2: But it's just like, I feel like it's a modern take on Lodash.

820
00:36:43,520 --> 00:36:44,800
Speaker 2: It's ESM only.

821
00:36:45,720 --> 00:36:48,540
Kevin: Did that come from the E18?

822
00:36:49,400 --> 00:36:49,560
Speaker 2: No.

823
00:36:50,040 --> 00:36:51,640
Speaker 2: No, it's before that, actually.

824
00:36:52,740 --> 00:36:53,560
Speaker 2: There's also Randa.

825
00:36:54,060 --> 00:36:58,600
Speaker 2: There's a bunch of these Lodash alternatives that I think are better today.

826
00:36:59,220 --> 00:37:02,580
Speaker 2: But, I mean, I get your muscle memory is Lodash.

827
00:37:03,620 --> 00:37:07,620
Speaker 2: You have these functions all over the place, so just keep using it.

828
00:37:07,960 --> 00:37:08,140
Speaker 2: Fair.

829
00:37:08,820 --> 00:37:09,520
Speaker 2: And then also,

830
00:37:09,800 --> 00:37:16,720
Kevin: to be fair to Lodash, it's probably used way more often than Zod.

831
00:37:17,260 --> 00:37:18,740
Kevin: Like if you look at the actual download numbers.

832
00:37:19,330 --> 00:37:19,740
Kevin: Oh, yeah.

833
00:37:20,080 --> 00:37:21,500
Speaker 3: It's uncomparable.

834
00:37:21,650 --> 00:37:22,200
Speaker 3: Oh, yeah, for sure.

835
00:37:22,260 --> 00:37:22,400
Speaker 3: Yeah.

836
00:37:23,540 --> 00:37:24,080
Speaker 2: Same with a

837
00:37:24,080 --> 00:37:26,340
Kevin: lot of other of these libraries like date functions,

838
00:37:26,600 --> 00:37:26,920
Speaker 2: moments,

839
00:37:27,800 --> 00:37:29,100
Kevin: RxJS, etc.

840
00:37:29,820 --> 00:37:37,320
Speaker 2: So one thing that's interesting here is that number three, four, and five on the list is all about dates and times.

841
00:37:37,580 --> 00:37:37,720
Speaker 2: Yeah.

842
00:37:38,460 --> 00:37:43,000
Speaker 2: And it's going to be interesting to see if this changes now that we are very close to having temporal

843
00:37:44,380 --> 00:37:44,820
Speaker 3: directly

844
00:37:44,820 --> 00:37:49,100
Speaker 2: in JavaScript, which is, I guess, was supposed to be the replacement for all of these.

845
00:37:50,580 --> 00:37:52,920
Kevin: I think you can use it already in Chrome, right?

846
00:37:54,040 --> 00:37:54,900
Speaker 2: And also Firefox.

847
00:37:55,830 --> 00:37:57,880
Speaker 2: I think maybe Safari.

848
00:37:57,880 --> 00:37:58,480
Speaker 2: Yeah, you're right.

849
00:37:59,980 --> 00:38:04,580
Kevin: It's under a flag in Safari technical preview, so it's going to be out.

850
00:38:04,860 --> 00:38:05,200
Speaker 2: Yeah, okay.

851
00:38:05,880 --> 00:38:06,160
Kevin: That's good.

852
00:38:06,660 --> 00:38:12,840
Speaker 2: It also depends on, like, I think, at least at my work, we're lagging behind because we need to support older browsers.

853
00:38:13,420 --> 00:38:13,960
Speaker 2: Yeah, of course.

854
00:38:14,500 --> 00:38:17,660
Kevin: Like, you can't start using Temporal just because the newest

855
00:38:17,660 --> 00:38:19,320
Speaker 2: version of which browser is using them, right?

856
00:38:19,460 --> 00:38:19,920
Speaker 2: Yeah, exactly.

857
00:38:20,120 --> 00:38:20,520
Speaker 2: Unless you

858
00:38:20,520 --> 00:38:21,800
Kevin: polyfill or something, but.

859
00:38:22,280 --> 00:38:22,480
Speaker 2: Yeah.

860
00:38:24,900 --> 00:38:25,200
Speaker 2: All right.

861
00:38:25,340 --> 00:38:27,540
Speaker 2: We have jQuery, still relevant.

862
00:38:28,100 --> 00:38:29,680
Kevin: They released a new version, right?

863
00:38:29,680 --> 00:38:30,120
Kevin: They did.

864
00:38:30,560 --> 00:38:31,480
Kevin: I don't even know what the

865
00:38:31,480 --> 00:38:32,100
Speaker 2: new thing is.

866
00:38:32,600 --> 00:38:32,980
Speaker 2: Do you know?

867
00:38:34,000 --> 00:38:34,600
Kevin: No clue.

868
00:38:35,900 --> 00:38:38,820
Kevin: Internet Explorer 11 support removed.

869
00:38:39,260 --> 00:38:40,420
Speaker 2: Talk about

870
00:38:40,420 --> 00:38:41,240
Kevin: supporting old

871
00:38:41,240 --> 00:38:41,460
Speaker 2: browsers.

872
00:38:41,480 --> 00:38:42,100
Speaker 2: That's not okay.

873
00:38:42,560 --> 00:38:43,340
Speaker 2: That's not okay.

874
00:38:43,820 --> 00:38:44,880
Speaker 2: What do I do now?

875
00:38:45,320 --> 00:38:45,540
Kevin: Yeah.

876
00:38:46,060 --> 00:38:49,500
Kevin: Now all the old websites are breaking for Internet Explorer users.

877
00:38:50,140 --> 00:38:51,820
Kevin: They migrated to ES modules.

878
00:38:52,260 --> 00:38:52,520
Kevin: That's good.

879
00:38:52,920 --> 00:38:53,200
Speaker 2: Great.

880
00:38:53,720 --> 00:38:54,180
Speaker 2: Maybe that's it.

881
00:38:55,060 --> 00:38:57,520
Kevin: Yeah, they deprecated some old functions.

882
00:38:58,120 --> 00:38:58,320
Kevin: Okay.

883
00:38:59,740 --> 00:38:59,840
Kevin: Yeah.

884
00:39:00,520 --> 00:39:01,160
Kevin: Slimmer build.

885
00:39:02,360 --> 00:39:02,660
Speaker 2: Amazing.

886
00:39:03,240 --> 00:39:03,340
Kevin: Yeah.

887
00:39:03,360 --> 00:39:03,780
Kevin: I love that.

888
00:39:07,419 --> 00:39:08,760
Kevin: Oh, effect is on here.

889
00:39:09,240 --> 00:39:10,080
Speaker 2: Effect is on there.

890
00:39:10,450 --> 00:39:15,300
Speaker 2: So is archetype, which is not the same, but I feel like it's sort of the same group of people that will use them.

891
00:39:15,880 --> 00:39:16,040
Kevin: Yeah.

892
00:39:17,839 --> 00:39:18,700
Kevin: Archetype is interesting.

893
00:39:19,540 --> 00:39:21,540
Kevin: They did that, what's it called?

894
00:39:22,239 --> 00:39:27,020
Kevin: Arc regex, where you could do typesafe regex.

895
00:39:27,360 --> 00:39:27,900
Kevin: It's very cool.

896
00:39:28,960 --> 00:39:29,320
Kevin: It's

897
00:39:29,320 --> 00:39:30,260
Speaker 2: a very, very cool library.

898
00:39:30,830 --> 00:39:41,380
Speaker 2: And all the types, it's just, you write in your typescript types as a string, and that is a runtime validation, but then you also get the exact type safety.

899
00:39:42,380 --> 00:39:42,520
Speaker 3: Yeah.

900
00:39:43,720 --> 00:39:43,820
Speaker 2: I

901
00:39:43,820 --> 00:39:44,460
Speaker 3: don't know how they

902
00:39:44,460 --> 00:39:44,840
Speaker 2: did that.

903
00:39:45,180 --> 00:39:51,340
Speaker 2: It's so magical, but it's also, I feel like whenever I look at it, I'm like, oh, that looks very horrible.

904
00:39:51,660 --> 00:39:52,960
Speaker 2: Please can I not have that?

905
00:39:53,480 --> 00:39:55,540
Speaker 2: But also it's very incredible at the same time.

906
00:39:55,740 --> 00:39:57,540
Kevin: Yeah, I mean, regex is horrible.

907
00:39:58,340 --> 00:39:58,660
Kevin: True,

908
00:39:58,860 --> 00:39:59,360
Speaker 2: well, that is true.

909
00:40:00,160 --> 00:40:00,280
Kevin: Yeah.

910
00:40:01,120 --> 00:40:02,960
Kevin: even if you, yeah, I don't know.

911
00:40:04,240 --> 00:40:09,680
Speaker 2: I did spend some weeks when I was younger, just like I learned Regex.

912
00:40:09,880 --> 00:40:12,040
Speaker 2: I really like, I took courses and stuff.

913
00:40:12,540 --> 00:40:13,200
Speaker 3: Oh, really?

914
00:40:13,980 --> 00:40:14,740
Speaker 2: And it was great.

915
00:40:14,840 --> 00:40:16,320
Speaker 2: I mean, I was really happy for that decision.

916
00:40:16,580 --> 00:40:17,560
Speaker 2: I mean, that really helped me out.

917
00:40:18,000 --> 00:40:23,200
Speaker 2: Like that was a great investment, but also now I don't really write them anymore because the AI writes them for me.

918
00:40:23,580 --> 00:40:27,200
Speaker 2: And that's something that it's really good at and that I'm actually really bad at.

919
00:40:28,699 --> 00:40:29,059
Speaker 2: So

920
00:40:29,059 --> 00:40:31,600
Kevin: it's just something that's I mean, Regex is great.

921
00:40:31,730 --> 00:40:34,020
Kevin: Like you can do almost anything I was

922
00:40:34,020 --> 00:40:34,400
Speaker 2: going to say,

923
00:40:34,560 --> 00:40:35,980
Kevin: but like you can do a lot.

924
00:40:36,520 --> 00:40:39,300
Speaker 2: You can brew coffee and like anything

925
00:40:39,300 --> 00:40:40,100
Kevin: essentially.

926
00:40:40,580 --> 00:40:41,420
Kevin: Yeah, yeah, of course.

927
00:40:41,680 --> 00:40:42,380
Kevin: At least in ASCII.

928
00:40:44,740 --> 00:40:45,700
Speaker 2: Okay, moving on.

929
00:40:46,280 --> 00:40:46,500
Kevin: There's

930
00:40:46,500 --> 00:40:53,320
Speaker 2: something about graphics and animations and it's the thing that I have never dipped my toes into.

931
00:40:53,410 --> 00:40:55,220
Speaker 2: So I have no clue here.

932
00:40:56,060 --> 00:40:57,780
Kevin: I love motion.

933
00:40:58,200 --> 00:41:02,440
Kevin: Did you see, speaking of motion, did you see Svelte Motion or Motion Svelte?

934
00:41:02,460 --> 00:41:02,560
Kevin: I

935
00:41:02,560 --> 00:41:06,940
Speaker 2: saw it. I just went through the Svelte Society website and I saw Svelte Motion in there.

936
00:41:07,020 --> 00:41:08,400
Speaker 2: I even have it like as a tab open.

937
00:41:09,040 --> 00:41:09,400
Speaker 2: Oh, nice.

938
00:41:09,960 --> 00:41:10,020
Speaker 2: Nice.

939
00:41:10,800 --> 00:41:13,840
Speaker 2: It's not by the official, it's not an official port, is it?

940
00:41:13,920 --> 00:41:15,300
Speaker 2: No. No, I don't think

941
00:41:15,300 --> 00:41:15,560
Kevin: so.

942
00:41:15,560 --> 00:41:15,980
Kevin: No, but it's very impressive anyway.

943
00:41:17,500 --> 00:41:18,200
Speaker 2: It's apparently

944
00:41:18,200 --> 00:41:20,640
Kevin: based on motion for view. Or sorry,

945
00:41:20,720 --> 00:41:20,860
Speaker 3: the documentation.

946
00:41:20,860 --> 00:41:21,100
Speaker 3: I see.

947
00:41:21,860 --> 00:41:22,960
Speaker 2: The documentation is

948
00:41:22,960 --> 00:41:23,740
Kevin: based on that. Okay.

949
00:41:24,120 --> 00:41:25,180
Speaker 2: Okay. I see.

950
00:41:25,300 --> 00:41:26,800
Kevin: Yeah, I might play around with

951
00:41:26,800 --> 00:41:38,800
Speaker 2: this. Like animation are fun. The guy behind Motion is just a great guy. So I'm happy that he keeps building out these very impressive animations libraries, even though

952
00:41:38,800 --> 00:41:43,600
Kevin: at Ocean. Yeah. What else is there? 3.js, D3, the usual suspects,

953
00:41:44,280 --> 00:41:44,660
Speaker 2: GSAP.

954
00:41:45,370 --> 00:41:48,040
Kevin: Yeah. Utilities. ESLint is

955
00:41:48,040 --> 00:41:55,840
Speaker 2: top. ESLint is great. There was that one point where we thought that ESLint would become irrelevant because of TSLint and

956
00:41:55,840 --> 00:41:56,380
Speaker 3: everyone writes

957
00:41:56,380 --> 00:41:56,660
Speaker 2: TS.

958
00:41:57,100 --> 00:42:01,620
Speaker 2: But then they merged or the TSLint team said, no more.

959
00:42:02,080 --> 00:42:03,900
Speaker 2: We're going to do an ESLint plugin instead.

960
00:42:04,540 --> 00:42:04,980
Speaker 2: And that was great.

961
00:42:05,340 --> 00:42:06,500
Speaker 2: Like people putting their

962
00:42:06,500 --> 00:42:06,700
Kevin: heads together.

963
00:42:06,700 --> 00:42:07,120
Kevin: Good decision.

964
00:42:07,700 --> 00:42:08,180
Speaker 2: Yeah, yeah, yeah.

965
00:42:08,340 --> 00:42:10,880
Kevin: But now we're getting new ones as well,

966
00:42:11,060 --> 00:42:11,140
Speaker 2: right?

967
00:42:11,220 --> 00:42:13,000
Speaker 2: We're getting Biome and

968
00:42:13,000 --> 00:42:15,360
Kevin: AuxLint as well.

969
00:42:15,520 --> 00:42:15,880
Kevin: I've

970
00:42:15,880 --> 00:42:19,720
Speaker 2: been using AuxLint and AuxFormat on my new project.

971
00:42:20,320 --> 00:42:21,280
Kevin: And holy

972
00:42:21,280 --> 00:42:22,140
Speaker 2: wow.

973
00:42:22,480 --> 00:42:22,780
Speaker 2: Yeah.

974
00:42:23,720 --> 00:42:23,860
Kevin: Yeah,

975
00:42:24,220 --> 00:42:26,380
Speaker 2: I actually started

976
00:42:26,380 --> 00:42:32,980
Kevin: using it yesterday in my, like, so I have this like reference project that I'm using when I'm building other things.

977
00:42:33,680 --> 00:42:34,400
Speaker 3: And so I just

978
00:42:34,400 --> 00:42:37,300
Kevin: install it there to like see how fast it was.

979
00:42:37,400 --> 00:42:39,840
Kevin: And I think it was like a hundred times faster.

980
00:42:40,260 --> 00:42:41,400
Speaker 2: Like it's crazy fast.

981
00:42:41,740 --> 00:42:42,260
Speaker 2: Yeah, yeah, yeah.

982
00:42:42,860 --> 00:42:43,280
Speaker 2: It's way fast.

983
00:42:43,280 --> 00:42:43,620
Speaker 2: So that's

984
00:42:43,620 --> 00:42:44,460
Kevin: awesome.

985
00:42:44,710 --> 00:42:47,260
Kevin: Like getting that feedback way quicker

986
00:42:47,260 --> 00:42:48,860
Speaker 2: is great.

987
00:42:49,520 --> 00:42:55,080
Speaker 2: So for this project that I'm working on, The repo is not that big.

988
00:42:55,100 --> 00:42:57,400
Speaker 2: So I think Prettier was like four seconds.

989
00:42:59,040 --> 00:43:00,340
Speaker 2: And it's fine.

990
00:43:00,820 --> 00:43:05,020
Speaker 2: It's like going to aux format was like 200 milliseconds,

991
00:43:05,380 --> 00:43:05,860
Speaker 3: which is, of

992
00:43:05,860 --> 00:43:06,600
Speaker 2: course, amazing, right?

993
00:43:06,880 --> 00:43:09,520
Speaker 2: But those four seconds of speed up is not going to change my world.

994
00:43:09,980 --> 00:43:11,000
Speaker 2: It just felt nice.

995
00:43:11,380 --> 00:43:11,500
Kevin: Right.

996
00:43:11,960 --> 00:43:14,120
Kevin: Well, I don't know if I agree.

997
00:43:15,780 --> 00:43:19,660
Kevin: So 10 seconds to four seconds, that would not change my world.

998
00:43:19,720 --> 00:43:24,840
Kevin: But by four seconds to 200 milliseconds, definitely, because then you can just have it on all the time.

999
00:43:25,380 --> 00:43:28,480
Kevin: Like, you can just run it indiscriminately and you wouldn't really worry about it.

1000
00:43:28,720 --> 00:43:28,820
Kevin: I

1001
00:43:28,820 --> 00:43:29,100
Speaker 3: mean...

1002
00:43:29,160 --> 00:43:30,020
Speaker 3: Oh, so like watch mode?

1003
00:43:30,680 --> 00:43:30,940
Kevin: Yeah.

1004
00:43:31,220 --> 00:43:35,040
Kevin: Yeah, well, watch mode is going to be fast because you're just changing one file, right?

1005
00:43:35,140 --> 00:43:35,640
Kevin: Right, right.

1006
00:43:35,860 --> 00:43:36,960
Kevin: Hopefully that should work.

1007
00:43:38,520 --> 00:43:51,859
Kevin: But maybe it's not so much about, like, linting, but I feel that, like, you have these, like, tools where these categories of speed, right, where you have one tool that takes 10 minutes to run

1008
00:43:52,320 --> 00:43:52,940
Speaker 3: and it

1009
00:43:52,940 --> 00:44:02,640
Kevin: doesn't change much if you speed it up from 10 minutes to four minutes right because you're still going to go and get a coffee between the what you're doing and whatever you're running yeah

1010
00:44:02,640 --> 00:44:02,880
Speaker 3: um

1011
00:44:02,880 --> 00:44:07,320
Kevin: but but if you can get it down to like seconds then

1012
00:44:07,320 --> 00:44:08,320
Speaker 2: yeah i mean you kind of

1013
00:44:08,320 --> 00:44:12,600
Kevin: stay stay in the in the groove and you can just keep working in in another yeah

1014
00:44:12,600 --> 00:44:22,800
Speaker 2: there's this this magical threshold and i'm sure it's different for all of us like when when you know that something takes a certain amount of time, you do something else.

1015
00:44:23,740 --> 00:44:30,500
Speaker 2: If it's more than 10 seconds for me, I will be going on Blue Sky and not staring at it.

1016
00:44:30,580 --> 00:44:33,200
Speaker 2: But if I know it's eight seconds, I'll just be staring at it.

1017
00:44:33,880 --> 00:44:35,900
Speaker 2: And I should not be going on Blue Sky all the time.

1018
00:44:37,960 --> 00:44:38,800
Kevin: It's nice, though.

1019
00:44:39,619 --> 00:44:40,140
Speaker 2: It's great.

1020
00:44:40,880 --> 00:44:41,800
Speaker 2: It's very blue.

1021
00:44:42,620 --> 00:44:43,100
Speaker 2: I love that.

1022
00:44:44,080 --> 00:44:50,520
Speaker 2: No, but so what I wanted to say was that in the Storybook Mono repo, which is a huge repository, with lots of packages.

1023
00:44:51,680 --> 00:44:55,000
Speaker 2: ESLint takes, I think, two minutes on my machine.

1024
00:44:55,040 --> 00:44:57,480
Speaker 2: Whoa, that's a long time.

1025
00:44:57,670 --> 00:44:57,940
Speaker 2: It's horrible.

1026
00:44:58,240 --> 00:45:01,340
Speaker 2: It's a horrible, horrible situation.

1027
00:45:02,080 --> 00:45:05,760
Kevin: And then it's probably even, it's probably less than what it was two versions ago, right?

1028
00:45:06,080 --> 00:45:07,000
Kevin: Sure, yeah, yeah.

1029
00:45:07,000 --> 00:45:07,680
Kevin: Or was it three versions ago?

1030
00:45:07,960 --> 00:45:09,840
Kevin: Yeah, they improved their speed already.

1031
00:45:11,560 --> 00:45:13,100
Speaker 2: Oh yeah, two versions of Storybook, you mean?

1032
00:45:13,680 --> 00:45:14,240
Kevin: Yeah, yeah.

1033
00:45:14,420 --> 00:45:15,020
Speaker 2: Yeah, yeah, for sure.

1034
00:45:16,620 --> 00:45:20,580
Speaker 2: And so I really hope that someone is trying to migrate that to Oxlint.

1035
00:45:21,030 --> 00:45:24,000
Speaker 2: And just, I want to see that go to five seconds or something.

1036
00:45:24,360 --> 00:45:25,180
Kevin: That'd be nice, right?

1037
00:45:25,580 --> 00:45:26,260
Speaker 2: That would be amazing.

1038
00:45:27,700 --> 00:45:31,960
Kevin: You can use JavaScript, or sorry, ESLint JavaScript plugins in Oxlint.

1039
00:45:32,220 --> 00:45:34,320
Kevin: So theoretically, it should be possible.

1040
00:45:34,920 --> 00:45:36,300
Kevin: I don't know what the status is of it.

1041
00:45:36,480 --> 00:45:37,740
Kevin: So maybe there are bugs and stuff.

1042
00:45:37,790 --> 00:45:38,340
Kevin: I'm sure there are.

1043
00:45:39,920 --> 00:45:43,060
Kevin: But it's like it has a way forward.

1044
00:45:43,840 --> 00:45:46,640
Kevin: Because Oxlint is Rust, I think, right?

1045
00:45:47,220 --> 00:45:51,260
Kevin: And you're not going to have people write ESLint plugins in Rust, probably.

1046
00:45:51,900 --> 00:45:54,900
Kevin: So it's good that you can still write JavaScript plugins.

1047
00:45:55,320 --> 00:46:04,420
Kevin: Although, with LLMs, maybe writing ESLint plugins in Rust, just like converting the JavaScript version, isn't that bad?

1048
00:46:04,760 --> 00:46:06,360
Speaker 2: I think it depends on who you are, right?

1049
00:46:06,440 --> 00:46:09,040
Speaker 2: Because if I did that, I would have no way to quality.

1050
00:46:09,700 --> 00:46:11,220
Speaker 2: I would not be able to read the code.

1051
00:46:11,720 --> 00:46:11,940
Speaker 2: Because I

1052
00:46:11,940 --> 00:46:12,480
Kevin: don't write Rust,

1053
00:46:12,720 --> 00:46:12,780
Speaker 2: right?

1054
00:46:13,440 --> 00:46:15,060
Speaker 2: I'm sure there could be tests, but still.

1055
00:46:15,840 --> 00:46:17,420
Kevin: I mean, I'm sure there are tests, right?

1056
00:46:17,620 --> 00:46:20,320
Kevin: For the ESLint spell plugin.

1057
00:46:20,780 --> 00:46:21,120
Kevin: There should be.

1058
00:46:21,450 --> 00:46:24,460
Kevin: So you should be able to just convert the tests and then have it.

1059
00:46:24,860 --> 00:46:25,600
Kevin: I need to try this.

1060
00:46:26,780 --> 00:46:27,080
Kevin: You should.

1061
00:46:27,530 --> 00:46:29,160
Speaker 2: Can you write it in like assembly instead?

1062
00:46:29,620 --> 00:46:30,920
Speaker 2: Just to make it super, super fast.

1063
00:46:31,240 --> 00:46:31,740
Speaker 2: I mean, why not?

1064
00:46:32,300 --> 00:46:32,860
Speaker 2: Just make it binary.

1065
00:46:33,780 --> 00:46:34,560
Speaker 2: Because you can't.

1066
00:46:34,610 --> 00:46:35,280
Speaker 2: I don't think you can.

1067
00:46:35,740 --> 00:46:37,240
Speaker 2: No, I don't think I can either.

1068
00:46:39,360 --> 00:46:40,340
Speaker 2: It would be a fun challenge, though.

1069
00:46:40,760 --> 00:46:42,060
Speaker 2: No, not fun, per se.

1070
00:46:42,370 --> 00:46:42,760
Speaker 2: But it would be

1071
00:46:42,760 --> 00:46:43,040
Kevin: a challenge.

1072
00:46:43,060 --> 00:46:45,980
Kevin: be torture yeah um

1073
00:46:45,980 --> 00:46:52,720
Speaker 2: anyways there's there's one there's one i see in the utilities there's one thing i want to call out here it's a

1074
00:46:52,720 --> 00:46:53,460
Speaker 3: hidden gem

1075
00:46:53,460 --> 00:46:58,840
Speaker 2: it's number 16 it's called n i or or knee or nye or however

1076
00:46:58,840 --> 00:47:01,140
Speaker 3: you know n i have

1077
00:47:01,140 --> 00:47:15,120
Speaker 2: you heard of that i have not heard about that it's amazing it's a package by Anthony Fu. It's essentially just running one CLI to handle any package manager.

1078
00:47:15,480 --> 00:47:20,220
Speaker 2: So it detects which package manager is being used in this repository and then it runs that command.

1079
00:47:20,580 --> 00:47:21,580
Speaker 3: So instead of you having to figure

1080
00:47:21,580 --> 00:47:28,080
Speaker 2: out is it yarn install, is it npm install, is it whatever, you just run ni and then that does it. It's short.

1081
00:47:28,600 --> 00:47:32,040
Kevin: I am putting this on my list to use.

1082
00:47:32,440 --> 00:47:34,660
Speaker 2: And for running scripts, it's nr.

1083
00:47:34,770 --> 00:47:36,320
Speaker 2: Like it's the same package, but it's another command.

1084
00:47:36,400 --> 00:47:37,940
Speaker 2: So nr and then just the script name.

1085
00:47:38,840 --> 00:47:39,560
Speaker 2: And then it just figures.

1086
00:47:39,760 --> 00:47:44,920
Speaker 2: And so if there's no log files, there's no indicator whatsoever about the package manager, it will ask you.

1087
00:47:45,520 --> 00:47:45,580
Speaker 2: But

1088
00:47:45,580 --> 00:47:46,120
Speaker 3: other than that,

1089
00:47:46,120 --> 00:47:48,300
Speaker 2: that is what I use.

1090
00:47:48,980 --> 00:47:51,660
Speaker 2: And I'm very close to also that's what I'm documenting.

1091
00:47:51,920 --> 00:47:53,440
Speaker 2: Like if I'm writing and getting started,

1092
00:47:53,600 --> 00:47:53,720
Speaker 3: I

1093
00:47:53,720 --> 00:47:58,200
Speaker 2: might potentially just write n i because it's so good.

1094
00:47:59,360 --> 00:48:00,360
Speaker 2: That sounds really useful.

1095
00:48:00,900 --> 00:48:13,480
Speaker 2: Yeah. But the only issue I have with it is that whenever I change node versions because of like different repositories, I have to install it again. Like it's a global install. And apparently these global installs are like per node version. That's

1096
00:48:13,480 --> 00:48:14,120
Kevin: just so

1097
00:48:14,120 --> 00:48:15,260
Speaker 2: stupid. I hate that.

1098
00:48:15,560 --> 00:48:22,420
Kevin: Yeah, I'm in some situations. It's not the same, but it's similar where like I'm using better SQLite 3

1099
00:48:22,420 --> 00:48:24,000
Speaker 3: and PNPM

1100
00:48:24,000 --> 00:48:33,660
Kevin: and some node version. And for some reason, I have to rebuild Better SQLite 3 every time I make a fork, or sorry, like make a branch of the project.

1101
00:48:34,060 --> 00:48:34,540
Kevin: It's very odd.

1102
00:48:35,780 --> 00:48:36,420
Kevin: It's very irritating.

1103
00:48:36,850 --> 00:48:37,080
Kevin: I don't know

1104
00:48:37,080 --> 00:48:37,400
Speaker 3: why,

1105
00:48:37,960 --> 00:48:43,560
Kevin: but also something to do with Node versions because it always complains like, oh, this was built for this Node version.

1106
00:48:43,760 --> 00:48:44,800
Kevin: You're using this other

1107
00:48:44,800 --> 00:48:45,020
Speaker 2: one.

1108
00:48:45,190 --> 00:48:45,460
Speaker 2: You have to

1109
00:48:45,460 --> 00:48:46,020
Kevin: rebuild it.

1110
00:48:46,220 --> 00:48:47,080
Kevin: Yeah, yeah, yeah, yeah.

1111
00:48:47,590 --> 00:48:47,680
Kevin: Exactly.

1112
00:48:48,540 --> 00:48:49,200
Kevin: It is what it is.

1113
00:48:49,660 --> 00:48:50,900
Speaker 2: Kev, I have to go in five minutes.

1114
00:48:51,400 --> 00:48:51,840
Kevin: Oh, no.

1115
00:48:52,440 --> 00:48:53,320
Kevin: I should have told you from the

1116
00:48:53,320 --> 00:48:53,580
Speaker 2: beginning.

1117
00:48:53,960 --> 00:48:54,580
Speaker 2: Do you want to do

1118
00:48:54,580 --> 00:48:55,140
Kevin: picks?

1119
00:48:55,960 --> 00:48:56,260
Speaker 2: Yes.

1120
00:48:56,840 --> 00:48:57,700
Kevin: I have one pick.

1121
00:48:58,240 --> 00:49:00,840
Kevin: We did Unpopular Opinions last time.

1122
00:49:01,000 --> 00:49:01,660
Kevin: True, true,

1123
00:49:01,660 --> 00:49:01,780
Speaker 2: true, true.

1124
00:49:02,020 --> 00:49:02,500
Speaker 2: Let's do picks.

1125
00:49:02,660 --> 00:49:03,680
Speaker 2: Do you want to do that first?

1126
00:49:04,000 --> 00:49:04,500
Speaker 2: Do you have anything?

1127
00:49:05,800 --> 00:49:08,880
Kevin: I think the new Game of Thrones TV show is good.

1128
00:49:09,860 --> 00:49:09,980
Kevin: I

1129
00:49:09,980 --> 00:49:14,140
Speaker 2: think the previous episode of Svelte Radio is all just one big unpopular opinion.

1130
00:49:16,400 --> 00:49:16,500
Speaker 2: No.

1131
00:49:17,500 --> 00:49:20,080
Kevin: Just my unpopular opinion for the whole episode.

1132
00:49:20,780 --> 00:49:20,980
Speaker 2: Yes.

1133
00:49:22,560 --> 00:49:24,120
Speaker 2: Sorry, I cut you off.

1134
00:49:24,280 --> 00:49:26,180
Speaker 2: Game of Thrones, new series.

1135
00:49:26,280 --> 00:49:26,740
Kevin: Is it good?

1136
00:49:27,200 --> 00:49:27,640
Kevin: Yeah, yeah.

1137
00:49:27,880 --> 00:49:29,940
Kevin: And it's called A Night of the Seven Kingdoms.

1138
00:49:30,040 --> 00:49:34,420
Kevin: It's a bit more comedic than the original show.

1139
00:49:36,580 --> 00:49:37,620
Kevin: The actors are good.

1140
00:49:38,760 --> 00:49:39,980
Speaker 2: I would expect that

1141
00:49:39,980 --> 00:49:40,660
Kevin: people hate

1142
00:49:40,660 --> 00:49:41,840
Speaker 2: it just because it's different actors.

1143
00:49:42,240 --> 00:49:44,980
Speaker 2: Like, it's just different faces on the same characters, or not?

1144
00:49:45,140 --> 00:49:48,360
Kevin: No, no, but it's like 90 years before the

1145
00:49:48,360 --> 00:49:49,080
Speaker 2: start of the Game

1146
00:49:49,080 --> 00:49:49,560
Kevin: of Thrones show.

1147
00:49:49,560 --> 00:49:49,820
Kevin: Oh, I see.

1148
00:49:50,440 --> 00:49:51,360
Kevin: So it's not

1149
00:49:51,360 --> 00:49:51,760
Speaker 2: a reboot.

1150
00:49:52,660 --> 00:49:52,740
Kevin: Yeah.

1151
00:49:52,900 --> 00:49:53,120
Kevin: Okay.

1152
00:49:53,400 --> 00:49:53,800
Kevin: Reboot.

1153
00:49:54,040 --> 00:49:54,280
Kevin: Reboot.

1154
00:49:54,460 --> 00:49:54,800
Kevin: Reboot.

1155
00:49:56,000 --> 00:49:56,080
Kevin: We

1156
00:49:56,080 --> 00:49:57,160
Speaker 2: should call it that.

1157
00:49:57,700 --> 00:49:57,800
Speaker 3: Yeah.

1158
00:49:58,350 --> 00:49:58,480
Speaker 2: OK.

1159
00:49:58,950 --> 00:49:59,080
Speaker 2: So

1160
00:49:59,080 --> 00:50:00,200
Speaker 3: the Game of Thrones Reboot

1161
00:50:00,200 --> 00:50:10,820
Speaker 2: is-- my pick is if you have been keeping up with Blue Sky and you are also in the JavaScript ecosystem, your timeline will have been flooded with

1162
00:50:10,820 --> 00:50:11,340
Kevin: NPMX.

1163
00:50:11,340 --> 00:50:11,600
Kevin: Let me guess.

1164
00:50:12,070 --> 00:50:12,240
Kevin: Yeah.

1165
00:50:12,510 --> 00:50:13,580
Kevin: I was going to

1166
00:50:13,580 --> 00:50:13,800
Speaker 2: do this.

1167
00:50:14,300 --> 00:50:15,980
Speaker 2: But that's good because it's amazing.

1168
00:50:16,340 --> 00:50:21,440
Speaker 2: It's incredible what these people have done in so little

1169
00:50:21,440 --> 00:50:21,480
Kevin: time.

1170
00:50:21,480 --> 00:50:22,300
Kevin: In like a week?

1171
00:50:22,600 --> 00:50:22,920
Speaker 2: Yeah.

1172
00:50:23,650 --> 00:50:24,300
Speaker 2: One or two weeks.

1173
00:50:25,120 --> 00:50:33,160
Speaker 2: So npmx.dev is an attempt of an internative registry site for npm.

1174
00:50:33,210 --> 00:50:34,900
Speaker 2: So it's the same registry.

1175
00:50:35,140 --> 00:50:39,420
Speaker 2: It's still using the npm registry behind the scenes or under the hood.

1176
00:50:40,840 --> 00:50:42,620
Speaker 2: But the site is just improved.

1177
00:50:42,840 --> 00:50:46,680
Speaker 2: So it now includes vulnerability alerts for each package.

1178
00:50:46,870 --> 00:50:49,800
Speaker 2: It includes the package size or the dependency graph.

1179
00:50:50,440 --> 00:50:56,060
Speaker 2: There's so much more stuff that they're adding that NPM should have added five years ago,

1180
00:50:56,480 --> 00:50:57,400
Kevin: but that

1181
00:50:57,400 --> 00:50:57,980
Speaker 2: has been stale.

1182
00:50:59,320 --> 00:51:04,740
Kevin: Does it also show you, like, I seem to have some vague memory of someone mentioning

1183
00:51:06,060 --> 00:51:07,020
Speaker 3: that they

1184
00:51:07,020 --> 00:51:10,460
Kevin: would kind of tie it into the E18 end thing where you could,

1185
00:51:10,460 --> 00:51:11,620
Speaker 3: if you search

1186
00:51:11,620 --> 00:51:15,300
Kevin: for Lodash, you would get an alternative that is...

1187
00:51:16,180 --> 00:51:16,360
Speaker 3: I

1188
00:51:16,360 --> 00:51:16,860
Speaker 2: think so.

1189
00:51:17,680 --> 00:51:18,840
Speaker 2: That's a good idea, at least.

1190
00:51:19,200 --> 00:51:19,320
Speaker 2: I

1191
00:51:19,320 --> 00:51:20,020
Speaker 3: can't remember.

1192
00:51:21,540 --> 00:51:51,720
Speaker 2: but it's just it's very impressive what they're doing and by the time this episode comes out they'll have done so much more so I even right now from yesterday I can see that they fixed the bug that I didn't even report they just fixed it so so wild one thing that I do want to talk talk about this though is that if you are thinking of trying to get into open source and contributing, go to these people because it's a very friendly community and they're very active.

1193
00:51:52,300 --> 00:51:54,960
Speaker 2: They are very helpful and they want you to succeed.

1194
00:51:55,350 --> 00:51:57,860
Speaker 2: I can see that when I look at the Discord server.

1195
00:51:58,360 --> 00:51:59,560
Speaker 2: So it's a great place to start.

1196
00:52:01,100 --> 00:52:05,640
Speaker 2: The worst thing you can do is go in and then do AI slot PRs.

1197
00:52:05,930 --> 00:52:06,560
Speaker 2: Do not do that.

1198
00:52:06,600 --> 00:52:06,840
Speaker 2: Yes.

1199
00:52:07,620 --> 00:52:10,680
Speaker 2: That is not how you claim your open source fame.

1200
00:52:11,660 --> 00:52:13,440
Speaker 2: And they will, of course, not like that.

1201
00:52:13,860 --> 00:52:14,940
Speaker 2: So please do real contributions.

1202
00:52:15,560 --> 00:52:17,160
Speaker 2: and i think this is the great place to do that

1203
00:52:17,160 --> 00:52:24,320
Kevin: there's so many opportunities here with that said like of course use use lms if if that improves the

1204
00:52:24,320 --> 00:52:29,100
Speaker 2: code i don't care about what tool you're using but it's very clear if you're using your tool wrong yeah

1205
00:52:29,100 --> 00:52:35,060
Kevin: that's what i'm saying yeah and it's becoming a bigger issue as well yeah in in the open source community in general yeah

1206
00:52:35,060 --> 00:52:41,780
Speaker 2: yeah yeah for for everyone involved um i i have closed a few prs today that was just not impressive

1207
00:52:43,540 --> 00:52:43,740
Speaker 3: Yeah.

1208
00:52:44,220 --> 00:52:44,580
Speaker 3: Anyways.

1209
00:52:44,580 --> 00:52:44,980
Speaker 3: All right.

1210
00:52:45,850 --> 00:52:46,500
Speaker 3: Thank you for chatting.

1211
00:52:46,980 --> 00:52:47,780
Kevin: Yeah, it was great.

1212
00:52:47,910 --> 00:52:48,220
Kevin: It was great.

1213
00:52:48,580 --> 00:52:49,700
Kevin: Thank you all for listening.

1214
00:52:50,740 --> 00:52:54,760
Kevin: We will be back next week again with-- maybe we'll have a guest.

1215
00:52:55,070 --> 00:52:55,440
Kevin: Who knows?

1216
00:52:55,780 --> 00:52:56,240
Speaker 2: We will see.

1217
00:52:56,770 --> 00:52:56,880
Speaker 2: Yeah.

1218
00:52:57,320 --> 00:52:57,380
Speaker 2: Right.

1219
00:52:57,620 --> 00:53:01,080
Speaker 2: Maybe Brittany will be a guest from calling in from the sunny side.

1220
00:53:01,400 --> 00:53:01,500
Speaker 2: That

1221
00:53:01,500 --> 00:53:02,240
Kevin: would be so fun.

1222
00:53:02,640 --> 00:53:03,100
Kevin: I would

1223
00:53:03,100 --> 00:53:03,480
Speaker 2: like that.

1224
00:53:03,850 --> 00:53:03,960
Speaker 2: Yeah.

1225
00:53:04,320 --> 00:53:04,560
Kevin: Right.

1226
00:53:04,770 --> 00:53:04,980
Kevin: All right.

1227
00:53:05,550 --> 00:53:05,960
Kevin: Thank you, Jep.

1228
00:53:06,240 --> 00:53:10,060
Kevin: I will talk to you on Discord, and I will see you next week.

1229
00:53:10,560 --> 00:53:10,820
Kevin: See you.

1230
00:53:11,380 --> 00:53:11,820
Kevin: All right.

1231
00:53:11,970 --> 00:53:12,200
Kevin: Bye bye.