1
00:00:18,540 --> 00:00:21,440
Welcome to svelte radio hello

2
00:00:21,440 --> 00:00:25,900
everyone welcome back to another svelte radio episode i almost

3
00:00:25,980 --> 00:00:33,740
said Svelte episode radio. That'd be wrong. I'm joined by my two co-hosts today. Anthony,

4
00:00:34,020 --> 00:00:34,580
Brittany, hello.

5
00:00:35,140 --> 00:00:35,500
Hello.

6
00:00:36,320 --> 00:00:37,820
Hey, we're finally back,

7
00:00:38,540 --> 00:00:40,380
the three of us. Back all of us together. In one

8
00:00:40,520 --> 00:00:47,220
episode. That's amazing. And today we also have a guest, Ilya. I think that's how you pronounce it?

9
00:00:48,000 --> 00:00:49,660
Yeah, right. Exactly. 100%. Perfect.

10
00:00:50,080 --> 00:00:55,940
I did it. Great. So, Ilya, you are a

11
00:00:55,960 --> 00:00:59,180
Svelte developer or a developer in general, I suppose, right?

12
00:00:59,840 --> 00:01:05,620
You're very active on the Skeet site, Blue Sky.

13
00:01:06,620 --> 00:01:07,140
I love it.

14
00:01:08,500 --> 00:01:09,160
I mean, I really do.

15
00:01:09,580 --> 00:01:11,560
It's so nice because you share a lot of stuff,

16
00:01:12,120 --> 00:01:15,560
not just for Svelte, but also like some Astro stuff

17
00:01:15,740 --> 00:01:16,760
because I think you use Astro.

18
00:01:17,480 --> 00:01:17,960
Oh, yeah, right.

19
00:01:18,619 --> 00:01:21,400
So that's nice because I have no idea what's going on in Astro.

20
00:01:22,020 --> 00:01:30,020
But we invited you to talk today about NGOs and working with NGOs as a developer and stuff.

21
00:01:30,200 --> 00:01:37,520
It seems like an interesting story compared to everyone else that's just working.

22
00:01:38,320 --> 00:01:39,320
I have a dumb question.

23
00:01:40,160 --> 00:01:40,920
What's an NGO?

24
00:01:42,460 --> 00:01:42,860
Oh, right.

25
00:01:43,100 --> 00:01:43,240
Perfect.

26
00:01:44,200 --> 00:01:46,680
I recently gave a talk on this topic and I had a slide.

27
00:01:46,880 --> 00:01:48,500
So NGO is an acronym.

28
00:01:48,780 --> 00:01:51,200
It's for non-governmental organization.

29
00:01:52,140 --> 00:01:57,820
and this is what people most associate with what we actually talk about which is npo and non-profit

30
00:01:58,120 --> 00:02:03,920
organization because every company technically is also an ngo but yeah it's it's a bit more about

31
00:02:04,080 --> 00:02:10,179
like non-profit so civic society foundations so everything which is not governmental and usually

32
00:02:10,330 --> 00:02:11,380
not a company cool

33
00:02:11,380 --> 00:02:16,480
so so like organizations that help out in like disaster relief or like homeless

34
00:02:16,500 --> 00:02:19,720
people or like stuff like that or

35
00:02:19,720 --> 00:02:22,560
wildlife saving

36
00:02:22,560 --> 00:02:22,940
wildlife

37
00:02:22,940 --> 00:02:25,000
just some examples i

38
00:02:25,000 --> 00:02:25,120
guess

39
00:02:26,060 --> 00:02:30,420
this is i think this is the more like uh yeah applied or practical um non-profit organizations

40
00:02:30,490 --> 00:02:35,280
or ngos i mean there are many um mostly they are advocating for something i mean even like

41
00:02:35,600 --> 00:02:41,260
like like greenpeace and its core is like a like an advocating or a company or organization which

42
00:02:41,280 --> 00:02:41,940
is doing advocacy.

43
00:02:43,400 --> 00:02:43,660
So

44
00:02:43,660 --> 00:02:45,900
not all of them have like boots on the ground,

45
00:02:46,180 --> 00:02:46,420
but

46
00:02:46,420 --> 00:02:48,260
as many people with

47
00:02:48,260 --> 00:02:49,760
some expertise

48
00:02:50,060 --> 00:02:51,500
where the government is for whatever reason

49
00:02:51,880 --> 00:02:54,500
not providing the type of service

50
00:02:54,880 --> 00:02:56,220
or knowledge that they should be.

51
00:02:56,720 --> 00:02:56,900
Yeah.

52
00:02:58,420 --> 00:03:02,140
So we all met at Svelte Summit earlier this year.

53
00:03:02,550 --> 00:03:03,420
That was a lot of fun.

54
00:03:04,470 --> 00:03:08,000
And you talked about you wanted to do,

55
00:03:08,300 --> 00:03:10,820
well, actually before I get into like the meetup thing,

56
00:03:11,260 --> 00:03:12,500
Maybe you can just present yourself.

57
00:03:14,020 --> 00:03:14,360
Who are you?

58
00:03:15,010 --> 00:03:15,580
Other than working

59
00:03:15,580 --> 00:03:16,060
with NGOs.

60
00:03:16,900 --> 00:03:17,180
Yeah, right.

61
00:03:17,860 --> 00:03:18,640
Yeah, my name is Ilya.

62
00:03:19,000 --> 00:03:21,840
So I've been living in Berlin now for like 30 years.

63
00:03:22,180 --> 00:03:25,640
And I switched basically careers like multiple times.

64
00:03:25,770 --> 00:03:28,700
So like after high school, I joined the army for a while.

65
00:03:28,790 --> 00:03:29,640
And then I quit the army.

66
00:03:29,730 --> 00:03:32,080
And then I went to university.

67
00:03:32,720 --> 00:03:35,120
And it's a bit similar to this USGI bill.

68
00:03:35,190 --> 00:03:37,040
So basically, they paid for my bachelor's.

69
00:03:37,660 --> 00:03:40,500
And that also means I can only pick one once.

70
00:03:40,960 --> 00:03:42,940
And I chose a social science one.

71
00:03:43,200 --> 00:03:45,460
And then towards the end of this bachelor's,

72
00:03:45,460 --> 00:03:48,080
I decided that I don't want to pursue a career

73
00:03:48,240 --> 00:03:50,500
in political science or something like this.

74
00:03:51,900 --> 00:03:53,000
And then for my master's,

75
00:03:53,000 --> 00:03:55,980
I found a place where I could do computer science as

76
00:03:55,980 --> 00:03:56,360
a minor.

77
00:03:57,580 --> 00:03:58,380
Interesting combination.

78
00:03:58,980 --> 00:03:59,140
Yeah.

79
00:04:00,440 --> 00:04:01,700
I mean, they have a term for it.

80
00:04:01,700 --> 00:04:03,380
It's called computational social science.

81
00:04:03,900 --> 00:04:05,780
It's basically the major is in social science.

82
00:04:05,860 --> 00:04:08,340
And then you apply big data methods.

83
00:04:09,060 --> 00:04:10,700
Back then, this wasn't like a big thing.

84
00:04:11,700 --> 00:04:17,320
and then eventually I started doing like data visualizations as a freelancer basically also

85
00:04:17,600 --> 00:04:23,120
already for NGOs and this like one thing led to another I started building interactives I started

86
00:04:23,200 --> 00:04:27,500
building websites and now yeah I'm also self-hosting my stuff

87
00:04:27,500 --> 00:04:29,180
nice nice

88
00:04:29,180 --> 00:04:30,780
yeah we talked right

89
00:04:30,780 --> 00:04:31,900
we talked

90
00:04:32,040 --> 00:04:39,200
before the show started about self-hosting and and the cloud by the way by the way yeah yeah it's

91
00:04:39,460 --> 00:04:39,840
It's nice.

92
00:04:40,710 --> 00:04:43,060
Yeah, so I just wanted to mention,

93
00:04:43,900 --> 00:04:45,040
me self-hosting did not

94
00:04:45,040 --> 00:04:46,220
save me from the Cloudflare

95
00:04:46,220 --> 00:04:47,620
outage

96
00:04:49,880 --> 00:04:51,520
because I'm using Cloudflare tunnels.

97
00:04:52,450 --> 00:04:54,680
So I'm tunneling all my traffic through Cloudflare

98
00:04:54,810 --> 00:05:00,640
so I don't have to expose my IP and stuff to shady people

99
00:05:01,090 --> 00:05:03,640
that want to DDoS my server.

100
00:05:04,620 --> 00:05:07,720
So now I'm thinking, should I just ditch Cloudflare as well?

101
00:05:08,380 --> 00:05:08,840
I don't know.

102
00:05:09,140 --> 00:05:10,540
Maybe I should. Maybe I should.

103
00:05:11,000 --> 00:05:16,620
So how do you, so you studied social science

104
00:05:16,840 --> 00:05:19,340
and then you moved into computer science

105
00:05:19,720 --> 00:05:21,400
and then data visualizations.

106
00:05:22,360 --> 00:05:25,660
And I assume you found Svelte somewhere around there,

107
00:05:25,880 --> 00:05:30,480
like in making visualizations or when did you discover Svelte?

108
00:05:31,160 --> 00:05:34,020
Yeah, I mean, there are always a bunch of like path dependencies.

109
00:05:34,520 --> 00:05:38,980
And one thing is I first heard of Svelte from Gregor Eich.

110
00:05:39,220 --> 00:05:39,800
So, you know, like

111
00:05:39,800 --> 00:05:40,320
the co

112
00:05:40,320 --> 00:05:42,200
-founder of Data Wrapper, who

113
00:05:42,200 --> 00:05:42,920
also presented

114
00:05:42,920 --> 00:05:44,740
the Svelte Plot Library at the Svelte Summit.

115
00:05:45,820 --> 00:05:52,740
Because in Berlin and many, like many, I think, places where there's lots of media, there is a meetup series, which is called Hacks and Hackers.

116
00:05:53,360 --> 00:05:54,920
And it's developers and journalists meeting.

117
00:05:56,220 --> 00:06:02,080
And back then, I was basically just following what they were doing, like interactive journalism, you know, all those impressive visuals.

118
00:06:02,920 --> 00:06:07,580
And my idea was, how can I apply this in the NGO sector?

119
00:06:07,820 --> 00:06:13,820
So because they have usually they have those policy papers, those reports, it's like PDFs with 30 pages or something like this.

120
00:06:13,860 --> 00:06:14,420
It's just text.

121
00:06:15,100 --> 00:06:16,480
But there is a story and there's data.

122
00:06:16,840 --> 00:06:19,780
And how can you like help them make this become alive?

123
00:06:21,000 --> 00:06:22,500
And he mentioned Svelte.

124
00:06:23,560 --> 00:06:27,260
I didn't use it back then because I was just using jQuery, actually, and

125
00:06:27,260 --> 00:06:27,760
11T.

126
00:06:29,280 --> 00:06:30,220
And I looked into it.

127
00:06:30,360 --> 00:06:31,120
As long as it works,

128
00:06:31,300 --> 00:06:31,380
right?

129
00:06:32,060 --> 00:06:34,040
Yeah, but it was, you know, it was still painful.

130
00:06:36,060 --> 00:06:42,680
then i think i compared like a tiny component to alpine and importing alpine as a library was like

131
00:06:42,720 --> 00:06:47,300
the library itself was bigger than a compiled swell component and i was like okay so that's

132
00:06:47,320 --> 00:06:53,480
it basically so this is what i'm going to use and then i think during covid i also was in an online

133
00:06:53,700 --> 00:06:56,680
workshop um from tan liao he he

134
00:06:56,680 --> 00:06:57,960
did a swell

135
00:06:57,960 --> 00:06:59,680
workshop it must have been like i don't know

136
00:06:59,700 --> 00:07:04,320
five years ago or something like that and then this is how i how i picked it up because it felt

137
00:07:04,340 --> 00:07:11,600
very natural to me because I knew a bit of like HTML and CSS already and you know Svelte's platform

138
00:07:11,840 --> 00:07:14,720
first so it just like totally felt natural to me to

139
00:07:14,720 --> 00:07:14,980
start

140
00:07:14,980 --> 00:07:18,080
using it that makes sense makes sense

141
00:07:19,020 --> 00:07:23,920
did I hear that right though that you were using Eleventy which is like a no JavaScript

142
00:07:24,620 --> 00:07:28,020
framework and then you were putting jQuery into it

143
00:07:28,020 --> 00:07:31,540
yeah but like Eleventy uses JavaScript to

144
00:07:31,580 --> 00:07:33,820
compile to build a website or back then it was

145
00:07:33,820 --> 00:07:36,560
so yeah but like yeah exactly no javascript on the

146
00:07:36,720 --> 00:07:37,160
front end right

147
00:07:37,160 --> 00:07:39,820
yeah yeah yeah and now i'm using astro as well

148
00:07:39,820 --> 00:07:41,840
okay nice right

149
00:07:41,840 --> 00:07:43,080
so so from from

150
00:07:43,740 --> 00:07:44,140
so if

151
00:07:44,140 --> 00:07:50,500
you go from from like visualizations then how did you find like how did you pivot into

152
00:07:50,920 --> 00:07:54,380
ngos or like how did you end up building websites for ngos

153
00:07:54,380 --> 00:07:56,440
yeah doing work for um

154
00:07:57,919 --> 00:08:05,000
right so i like i didn't think about what i would be doing during my masters um and i had like two

155
00:08:05,200 --> 00:08:10,760
job prospects or job opportunities and both would have been uh were related to the government and

156
00:08:11,140 --> 00:08:15,740
both did not happen for reasons you cannot like imagine like in in one case there was like a

157
00:08:15,820 --> 00:08:20,620
government affair on federal level and i was supposed to join as a contractor and then they

158
00:08:20,600 --> 00:08:24,920
just not like didn't what is it like pay pay the money or

159
00:08:24,920 --> 00:08:26,340
make the money available

160
00:08:26,340 --> 00:08:26,880
for this

161
00:08:27,480 --> 00:08:27,900
and the other

162
00:08:27,900 --> 00:08:32,820
one is we had um we have like a think tank which is government sponsored let's

163
00:08:32,880 --> 00:08:33,719
call it government sponsored

164
00:08:33,719 --> 00:08:35,060
and

165
00:08:35,060 --> 00:08:39,900
for it to have a budget there needs to be a government and we had

166
00:08:39,960 --> 00:08:46,260
like government you know coalition negotiations and then one party withdrew and then again i knew

167
00:08:46,220 --> 00:08:52,120
oh shit my job my job entry my post army post bachelors post masters entry in the market it's

168
00:08:52,120 --> 00:08:57,960
not going to happen um and then coincidentally because i was also very online back then on

169
00:08:58,120 --> 00:09:03,320
twitter someone who was like basically working in this space with with a vision for you know new

170
00:09:03,580 --> 00:09:09,120
digital things they invited me and and just introduced me to their to their boss and i was

171
00:09:09,200 --> 00:09:16,180
like oh i need maps for my book oh wow i i created maps for the book and i was like oh we need more

172
00:09:16,200 --> 00:09:21,180
maps and visualizations for a report and i did those as well and then i was like okay and now

173
00:09:21,200 --> 00:09:23,340
we have additional funding we would like to put it online

174
00:09:23,340 --> 00:09:25,540
right i

175
00:09:25,540 --> 00:09:27,940
mean i know how to put an svg

176
00:09:28,180 --> 00:09:33,640
online i mean let me figure out if i can also like you know wrap it in some html with some text

177
00:09:34,360 --> 00:09:34,440
and

178
00:09:34,440 --> 00:09:34,920
this is this

179
00:09:34,920 --> 00:09:39,760
is how it started right and like yeah this was like with eleventy and i figured out

180
00:09:39,800 --> 00:09:41,720
a lot of things, learned a bit, you know, about

181
00:09:42,100 --> 00:09:43,680
accessibility and responsive

182
00:09:43,900 --> 00:09:44,000
design.

183
00:09:45,800 --> 00:09:47,700
And, yeah, and then one thing led to another

184
00:09:47,860 --> 00:09:49,880
and I was booked for other websites, web products.

185
00:09:51,699 --> 00:09:53,540
So I didn't plan for it. It's just like

186
00:09:53,760 --> 00:09:54,160
I

187
00:09:54,160 --> 00:09:55,320
accidentally became a

188
00:09:55,320 --> 00:09:55,740
web developer.

189
00:09:56,260 --> 00:09:56,360
Right.

190
00:09:58,000 --> 00:09:58,180
And

191
00:09:58,180 --> 00:09:58,760
like this was

192
00:09:58,760 --> 00:09:59,000
one

193
00:09:59,000 --> 00:09:59,560
pillar

194
00:09:59,940 --> 00:10:01,720
and the other pillar is because I was then

195
00:10:02,279 --> 00:10:03,080
implementing interactive

196
00:10:04,639 --> 00:10:05,800
visualizations, media companies

197
00:10:06,440 --> 00:10:07,700
or people who are doing data

198
00:10:07,720 --> 00:10:11,660
journalism they noticed me they saw this on twitter i was like hey we we need support for

199
00:10:11,660 --> 00:10:18,340
a project would you like to join and like you know work on a particular um feature or component

200
00:10:18,800 --> 00:10:23,060
or something like this and this is how i basically started working with with svelte as my framework

201
00:10:23,280 --> 00:10:23,660
full-time

202
00:10:23,660 --> 00:10:32,940
right nice nice and so so what so was it uh was it like the small bundle thing that

203
00:10:33,080 --> 00:10:37,680
pulled you in initially it sounded like that when you compared it to alpine earlier

204
00:10:38,440 --> 00:10:43,120
this was one like one heuristic because i had no clue like how cdns or something like that works

205
00:10:43,150 --> 00:10:46,840
i was like oh no i need to get this bundle size you know down as much as

206
00:10:46,840 --> 00:10:48,340
possible that

207
00:10:48,340 --> 00:10:48,620
was one

208
00:10:48,620 --> 00:10:54,320
thing the other thing is that um as a kid i learned html and css a bit and i was running a website but

209
00:10:54,320 --> 00:10:56,580
that was like early 2000s or so

210
00:10:56,580 --> 00:10:57,960
yeah and

211
00:10:57,960 --> 00:11:00,380
then i didn't touch any of that i'd never learned javascript

212
00:11:00,390 --> 00:11:07,660
or something like that and then when i i'm during my bachelor's i had a student job and i had to write

213
00:11:07,680 --> 00:11:13,420
and CSS. So then, you know, it all came back. And then when I started working on interactive stuff

214
00:11:13,540 --> 00:11:17,780
for the web, and then I saw React, I worked with React like on two or three projects. I was like,

215
00:11:17,980 --> 00:11:18,620
what, what,

216
00:11:18,890 --> 00:11:19,680
what the heck is

217
00:11:19,680 --> 00:11:23,640
this? I mean, there's HTML and there's CSS. You just need to add some,

218
00:11:23,690 --> 00:11:25,260
some behavior, you know, and there is

219
00:11:25,260 --> 00:11:25,480
this,

220
00:11:25,900 --> 00:11:28,360
there is state in a variable. Why is it not rendering?

221
00:11:28,580 --> 00:11:32,140
Why do I need to do extra work to, to render a value of a variable?

222
00:11:33,220 --> 00:11:34,300
And which felt it was

223
00:11:34,300 --> 00:11:34,639
exactly

224
00:11:34,660 --> 00:11:36,080
like this right yeah

225
00:11:36,080 --> 00:11:42,520
yeah just like you have to have i call it a javascript brain to like

226
00:11:42,780 --> 00:11:47,540
understand react you have to think about things from the javascript point of view but it's felt

227
00:11:47,660 --> 00:11:53,480
like you're thinking about it like html css you have your markup just separated and you keep it

228
00:11:53,980 --> 00:11:54,820
separated in your brain

229
00:11:54,820 --> 00:11:58,840
yeah yeah totally agree and

230
00:11:58,840 --> 00:12:01,020
then with um especially with the accessibility

231
00:12:01,040 --> 00:12:05,760
linter and with all those you know bindings on on the dom element like with the the attributes

232
00:12:06,080 --> 00:12:10,280
binding the disabled state binding all those bindings it felt just like so natural it's like

233
00:12:10,400 --> 00:12:15,580
literally i have this state and i just want to be the state applied here and so just along the

234
00:12:15,760 --> 00:12:20,200
ergonomics of writing it felt like super natural because it was just like okay i know html i know

235
00:12:20,480 --> 00:12:23,700
css i just need to some state just a tiny little yeah

236
00:12:23,700 --> 00:12:26,360
how do you feel about back then

237
00:12:28,140 --> 00:12:36,880
um it took me two or three months to adjust but i got i have to say um matthias style from spiegel

238
00:12:37,440 --> 00:12:42,340
um and i was working at the media company like two years ago i just started there and um like

239
00:12:42,340 --> 00:12:46,680
the situation was very intense because like one person quit and there would be four elections

240
00:12:47,440 --> 00:12:47,980
so i i

241
00:12:47,980 --> 00:12:48,380
knew i

242
00:12:48,380 --> 00:12:53,880
was like in for lots of trouble and matthias in april or so april 2004

243
00:12:53,900 --> 00:12:57,780
And four, three, four, four.

244
00:12:57,960 --> 00:12:59,780
He posted, okay, Spiegel is using Svelte 5.

245
00:13:00,020 --> 00:13:02,060
And I was like, okay, I learned so much from him.

246
00:13:02,200 --> 00:13:04,640
If he is going all in on Svelte 5 while

247
00:13:04,640 --> 00:13:05,180
it was still

248
00:13:05,180 --> 00:13:05,600
in beta,

249
00:13:05,880 --> 00:13:05,960
I'm

250
00:13:05,960 --> 00:13:06,740
going

251
00:13:06,740 --> 00:13:07,760
to adopt it as well.

252
00:13:07,860 --> 00:13:09,180
And then it really paid out.

253
00:13:11,999 --> 00:13:13,260
So I'm totally happy.

254
00:13:14,319 --> 00:13:15,400
I'm super happy now.

255
00:13:15,600 --> 00:13:17,960
First two months were a shock, but now I'm a

256
00:13:17,960 --> 00:13:18,620
believer.

257
00:13:18,620 --> 00:13:23,120
Yeah, I think I had kind of a similar reaction as well.

258
00:13:24,240 --> 00:13:25,320
especially when

259
00:13:25,320 --> 00:13:26,940
they eliminated getter setters

260
00:13:27,400 --> 00:13:28,240
like the explicit ones

261
00:13:29,240 --> 00:13:29,940
there used to be

262
00:13:29,940 --> 00:13:32,480
an explicit get set syntax

263
00:13:33,600 --> 00:13:34,420
right, yeah

264
00:13:35,200 --> 00:13:36,900
and this was the moment I was like, okay

265
00:13:39,880 --> 00:13:42,660
you mentioned Matthias Stahl

266
00:13:43,360 --> 00:13:45,720
he actually used to live here in Stockholm

267
00:13:46,160 --> 00:13:48,440
and I met him on the very

268
00:13:48,720 --> 00:13:52,180
I think it was the very first Svelte Stockholm meetup

269
00:13:52,200 --> 00:13:53,480
that we hosted over here.

270
00:13:54,180 --> 00:13:56,280
So that's a fun coincidence.

271
00:13:56,670 --> 00:14:00,000
And now he's at the Spiegel doing data viz.

272
00:14:00,820 --> 00:14:03,320
And I think he also came to the first in-person summit, no?

273
00:14:04,960 --> 00:14:06,720
I don't remember.

274
00:14:08,340 --> 00:14:08,640
Maybe.

275
00:14:08,640 --> 00:14:09,740
Yeah, I don't know.

276
00:14:10,320 --> 00:14:11,880
That was like so long ago.

277
00:14:13,020 --> 00:14:15,680
And I was also very stressed out.

278
00:14:15,740 --> 00:14:15,840
Didn't

279
00:14:15,840 --> 00:14:16,980
he give a talk?

280
00:14:18,100 --> 00:14:19,380
Yeah, I have a fear because, you know,

281
00:14:19,830 --> 00:14:22,160
I remember saying to him that I was literally

282
00:14:22,180 --> 00:14:27,480
having this really weird heated debate or watching heated debate and just joining in now and then to

283
00:14:27,560 --> 00:14:31,680
like troll the people like to fan the flames a bit because i thought it was amusing on twitter

284
00:14:32,420 --> 00:14:37,480
um but it was between dr matthew stall is that on twitter i don't know is it real doctor or not

285
00:14:37,860 --> 00:14:38,200
and someone

286
00:14:38,200 --> 00:14:39,640
else yeah

287
00:14:39,640 --> 00:14:44,260
and and so basically i said to him at the time may have been the first summit

288
00:14:46,239 --> 00:14:49,800
uh like by the way i'm just trolling you on twitter nice to meet you kind of thing

289
00:14:49,820 --> 00:14:50,040
something

290
00:14:50,040 --> 00:14:52,700
along those lines you know so

291
00:14:52,700 --> 00:14:55,340
maybe it was the first summit where that when it happened

292
00:14:56,380 --> 00:15:00,840
yeah i i don't remember i'm my my brain was totally fried there were a

293
00:15:00,840 --> 00:15:02,120
couple of talks from

294
00:15:02,480 --> 00:15:07,680
like newspaper organizations at the first summit and i just i was thinking that they were one of

295
00:15:07,800 --> 00:15:07,940
them

296
00:15:07,940 --> 00:15:11,740
no i so so i think that was bloomberg that was julian and

297
00:15:11,740 --> 00:15:13,260
uh okay yeah yeah

298
00:15:13,260 --> 00:15:14,020
britney

299
00:15:14,020 --> 00:15:14,800
britney

300
00:15:16,320 --> 00:15:23,260
yeah um yeah i i i don't remember but yeah he's he's a it's a really nice guy um you should you

301
00:15:23,340 --> 00:15:23,840
should never get

302
00:15:23,840 --> 00:15:27,840
that name wrong again because i introduced her as like some other name for some

303
00:15:27,980 --> 00:15:28,400
reason and

304
00:15:28,400 --> 00:15:29,220
of course

305
00:15:29,220 --> 00:15:30,520
i get my own name wrong

306
00:15:30,520 --> 00:15:37,240
yeah it's not easy it's not easy doing hard work you

307
00:15:37,240 --> 00:15:40,480
know it's a lot of names to keep in your head and

308
00:15:40,480 --> 00:15:41,960
like oh it's read the correct

309
00:15:41,960 --> 00:15:42,660
notes and

310
00:15:42,660 --> 00:15:43,060
stuff

311
00:15:43,100 --> 00:15:45,080
And make sure you're on the right line.

312
00:15:46,460 --> 00:15:46,580
Yeah.

313
00:15:51,100 --> 00:15:53,340
So I want to mention this early in the episode

314
00:15:53,550 --> 00:15:56,140
because if people drop off,

315
00:15:56,360 --> 00:15:58,560
but you're doing a meetup in Berlin, right?

316
00:15:58,680 --> 00:16:00,080
Maybe we should talk a bit about that.

317
00:16:01,380 --> 00:16:01,660
You just

318
00:16:01,660 --> 00:16:02,540
announced it the

319
00:16:02,540 --> 00:16:03,580
other day, I think.

320
00:16:03,760 --> 00:16:03,900
Yeah.

321
00:16:04,300 --> 00:16:05,920
But I'm going to fully disclaim

322
00:16:06,000 --> 00:16:07,700
you pressured me into doing this at the

323
00:16:07,700 --> 00:16:08,580
summit, basically.

324
00:16:09,240 --> 00:16:12,040
Since then, it's been like a heavy rock on my shoulders

325
00:16:12,060 --> 00:16:13,100
to kick it off.

326
00:16:14,300 --> 00:16:14,700
I

327
00:16:14,700 --> 00:16:16,300
think I shamed you a bit as well

328
00:16:16,800 --> 00:16:17,260
on Discord,

329
00:16:17,460 --> 00:16:17,860
like, oh,

330
00:16:18,300 --> 00:16:20,340
you should stop tweeting so much and do the meetup.

331
00:16:20,940 --> 00:16:22,120
Exactly, exactly, yeah.

332
00:16:22,800 --> 00:16:23,200
All

333
00:16:23,200 --> 00:16:23,700
in good fun.

334
00:16:24,460 --> 00:16:25,660
I don't want to really pressure you.

335
00:16:26,760 --> 00:16:28,120
I mean, in August,

336
00:16:28,540 --> 00:16:29,520
this thing happened where,

337
00:16:30,160 --> 00:16:31,680
for whatever reason, Paolo asked me

338
00:16:32,260 --> 00:16:33,940
on Bluescape if I would like to join the ambassadors.

339
00:16:34,140 --> 00:16:35,560
And I was like, I had

340
00:16:36,239 --> 00:16:37,600
real imposter feelings because

341
00:16:37,820 --> 00:16:39,460
all the core maintainers are there,

342
00:16:39,620 --> 00:16:41,100
and I don't contribute

343
00:16:41,120 --> 00:16:44,100
in terms of PRs or something like that to Svelte.

344
00:16:44,720 --> 00:16:46,320
But then I was like, okay, one thing I can do

345
00:16:46,420 --> 00:16:47,360
is actually spread the word

346
00:16:47,450 --> 00:16:49,360
because every time I talk to people about Svelte,

347
00:16:49,860 --> 00:16:50,820
like afterwards they tell me,

348
00:16:50,940 --> 00:16:52,960
man, you really, it's like, it sounds convincing.

349
00:16:53,070 --> 00:16:53,720
You are like hyped.

350
00:16:54,080 --> 00:16:54,900
You love it.

351
00:16:54,920 --> 00:16:55,280
Sounds good.

352
00:16:55,360 --> 00:16:56,180
I'm going to try it.

353
00:16:56,500 --> 00:16:58,580
And they try and then they start using it.

354
00:16:58,630 --> 00:16:59,880
And then they was like, oh, it's awesome.

355
00:17:00,860 --> 00:17:02,880
And like, yeah, so this is how I like also like,

356
00:17:03,800 --> 00:17:05,579
actually once created my own colleague

357
00:17:05,880 --> 00:17:07,280
because I told them to start learning it.

358
00:17:07,290 --> 00:17:08,680
And then like a year later,

359
00:17:09,420 --> 00:17:12,600
I was able to, you know, co-work with them.

360
00:17:13,420 --> 00:17:14,420
So about the Svelte

361
00:17:14,420 --> 00:17:14,800
meetup,

362
00:17:16,420 --> 00:17:17,880
December 9th should

363
00:17:17,880 --> 00:17:18,120
be a

364
00:17:18,120 --> 00:17:18,400
Tuesday.

365
00:17:19,339 --> 00:17:21,520
We will be hosted by Data Wrapper in Berlin

366
00:17:21,600 --> 00:17:22,380
in their new office.

367
00:17:22,980 --> 00:17:23,180
Nice.

368
00:17:23,579 --> 00:17:24,860
And we will have three talks.

369
00:17:24,980 --> 00:17:26,240
And it's not only me doing this.

370
00:17:26,380 --> 00:17:27,959
It's also Peter from XYFlow.

371
00:17:28,580 --> 00:17:30,260
So basically the person who ported

372
00:17:30,280 --> 00:17:31,420
and implemented SvelteFlow,

373
00:17:33,040 --> 00:17:36,420
this graph visualization, graph library.

374
00:17:37,520 --> 00:17:38,980
We'll have three talks.

375
00:17:39,780 --> 00:17:42,980
One will be Peter introducing SvelteFlow,

376
00:17:43,300 --> 00:17:44,100
talking about in detail,

377
00:17:44,470 --> 00:17:49,940
and also doing like a little side extra discussion

378
00:17:50,480 --> 00:17:51,260
comparing Svelte to React

379
00:17:51,740 --> 00:17:53,720
because they are maintaining two libraries,

380
00:17:53,960 --> 00:17:55,700
one for React, which is the main one, XYFlow,

381
00:17:55,880 --> 00:17:57,040
and the second one is SvelteFlow.

382
00:17:57,540 --> 00:18:00,480
So obviously they have real-world benchmarks,

383
00:18:00,560 --> 00:18:03,200
what it means to basically implement the same library

384
00:18:03,280 --> 00:18:03,960
in two different frameworks.

385
00:18:04,340 --> 00:18:04,860
That's awesome.

386
00:18:06,460 --> 00:18:09,760
We are still in discussions about the second talk,

387
00:18:10,020 --> 00:18:12,600
which might be big, but I can't reveal it.

388
00:18:12,610 --> 00:18:15,780
And then depending on how much basically time

389
00:18:15,850 --> 00:18:17,120
this person would need for their talk,

390
00:18:17,560 --> 00:18:19,500
I will either jump in with the talk or not.

391
00:18:19,580 --> 00:18:22,220
And I would talk about this community survey app

392
00:18:22,220 --> 00:18:24,140
I built with SvelteKit, Superbase,

393
00:18:25,430 --> 00:18:28,080
some BAN middleware, Paraglide, all this stuff.

394
00:18:28,980 --> 00:18:29,820
So there will be three talks.

395
00:18:29,870 --> 00:18:30,480
There will be pizza.

396
00:18:31,420 --> 00:18:33,640
Registration is on the Svelte Guild, Guildhost.

397
00:18:34,300 --> 00:18:35,580
Yeah, we'll have a

398
00:18:35,580 --> 00:18:35,700
link.

399
00:18:35,940 --> 00:18:42,040
in the in the network and on blue sky and we are like we have like i don't know like 25 seats maybe

400
00:18:42,460 --> 00:18:46,380
and 20 or 21 already signed up so yeah get the

401
00:18:46,380 --> 00:18:49,060
four four last seats might actually be full by

402
00:18:49,180 --> 00:18:56,360
the time this goes out next next thursday so hopefully not but we'll see we'll see and yeah

403
00:18:56,400 --> 00:18:58,620
but we have no idea right

404
00:18:58,620 --> 00:19:00,060
exactly exactly but we

405
00:19:00,060 --> 00:19:00,720
have no idea like

406
00:19:00,720 --> 00:19:01,979
how many people are in berlin

407
00:19:02,000 --> 00:19:08,300
And so this is like where we are like a bit cautious, you know, about like, do we get a full room or not?

408
00:19:08,390 --> 00:19:10,440
And now like within, we just announced it yesterday.

409
00:19:10,630 --> 00:19:13,680
There were already 21 people who basically signed up within 24 hours.

410
00:19:14,280 --> 00:19:14,740
So let's see.

411
00:19:14,740 --> 00:19:16,320
I think Svelte is popular.

412
00:19:17,120 --> 00:19:17,320
Yeah.

413
00:19:17,630 --> 00:19:24,340
I think especially in Germany and Berlin area, like there's quite a few companies and things that use it in that area.

414
00:19:24,550 --> 00:19:26,500
So I think you'll get quite a few.

415
00:19:27,840 --> 00:19:28,020
Yeah.

416
00:19:28,220 --> 00:19:32,960
How is the Berlin tech scene, like other than Svelte?

417
00:19:33,440 --> 00:19:33,800
Is it

418
00:19:33,800 --> 00:19:35,320
a lot of meetups

419
00:19:35,320 --> 00:19:35,620
or?

420
00:19:38,800 --> 00:19:41,380
From what I hear from other people living in other places,

421
00:19:41,520 --> 00:19:42,420
it might be a bit similar.

422
00:19:42,680 --> 00:19:44,980
So before COVID, there were like,

423
00:19:45,100 --> 00:19:46,920
you could go to a meetup every day somewhere.

424
00:19:47,040 --> 00:19:48,720
There would be one on JavaScript, on TypeScript,

425
00:19:48,980 --> 00:19:51,220
on map making, on whatever, on every topic.

426
00:19:51,480 --> 00:19:54,140
And then with COVID, I think there was some like,

427
00:19:54,360 --> 00:19:56,840
what is it, like it hit the dent or so a bit.

428
00:19:57,640 --> 00:19:58,620
Now it's recovering.

429
00:19:59,000 --> 00:20:02,140
And yes, there's like quite a big tech scene.

430
00:20:02,360 --> 00:20:05,580
So, you know, we know Git Butler has an office in Berlin.

431
00:20:05,760 --> 00:20:06,720
Data Wrapper is in Berlin.

432
00:20:06,800 --> 00:20:08,080
All the media companies are there.

433
00:20:08,680 --> 00:20:10,720
All the consultancies are there.

434
00:20:11,180 --> 00:20:13,060
McKinsey, Accenture, whatever.

435
00:20:14,680 --> 00:20:16,860
Plus we had like three or four different bootcamps.

436
00:20:17,420 --> 00:20:18,880
And all the people from those bootcamps,

437
00:20:19,860 --> 00:20:21,620
they basically joined all those, you know,

438
00:20:21,960 --> 00:20:22,840
mobile first companies.

439
00:20:23,400 --> 00:20:23,760
The one

440
00:20:23,760 --> 00:20:25,960
for Lieferando, Amazon.

441
00:20:27,120 --> 00:20:29,780
So there are like, I don't know, thousands of developers actually.

442
00:20:30,420 --> 00:20:30,540
Yeah.

443
00:20:31,480 --> 00:20:33,620
So it will take some time to convince every one of them,

444
00:20:33,800 --> 00:20:35,780
each one of them to join and start using Svelte.

445
00:20:35,960 --> 00:20:36,800
But yeah, I think

446
00:20:36,800 --> 00:20:37,040
maybe...

447
00:20:37,040 --> 00:20:38,020
One person at a time.

448
00:20:38,580 --> 00:20:39,100
Right, exactly.

449
00:20:40,420 --> 00:20:40,940
And then we'll take

450
00:20:40,940 --> 00:20:41,440
over the work.

451
00:20:41,590 --> 00:20:41,720
Use

452
00:20:41,720 --> 00:20:44,040
a megaphone and go to the canteen and just shout.

453
00:20:45,900 --> 00:20:50,280
I feel like, wouldn't it be a very Berlin-ish

454
00:20:50,500 --> 00:20:55,040
to do like a Svelte Tech rave meetup or something like

455
00:20:55,040 --> 00:20:55,180
that?

456
00:20:55,180 --> 00:20:55,220
Yeah,

457
00:20:55,400 --> 00:20:55,980
right, right.

458
00:20:56,860 --> 00:20:57,420
I like that.

459
00:20:58,400 --> 00:20:58,780
With some

460
00:20:58,780 --> 00:20:59,080
techno,

461
00:20:59,460 --> 00:20:59,660
obviously.

462
00:21:00,100 --> 00:21:00,400
I'll

463
00:21:00,400 --> 00:21:01,140
put my flights.

464
00:21:03,120 --> 00:21:03,540
Oh, right.

465
00:21:03,720 --> 00:21:06,200
You're an old rave person, right?

466
00:21:06,520 --> 00:21:07,660
An old rave person.

467
00:21:08,260 --> 00:21:09,160
Well, I mean,

468
00:21:11,060 --> 00:21:13,720
I meant you used to go to raves and stuff.

469
00:21:14,480 --> 00:21:16,200
I used to go to

470
00:21:16,200 --> 00:21:16,600
raves.

471
00:21:16,940 --> 00:21:17,900
I mean, I still would

472
00:21:18,000 --> 00:21:19,640
if I didn't have two children after all time.

473
00:21:19,860 --> 00:21:20,080
Yeah.

474
00:21:22,380 --> 00:21:22,760
What's a

475
00:21:22,760 --> 00:21:23,480
rave like?

476
00:21:23,880 --> 00:21:24,840
I've never been to a rave.

477
00:21:24,880 --> 00:21:25,180
What's a

478
00:21:25,180 --> 00:21:25,880
rave like?

479
00:21:25,940 --> 00:21:31,440
uh how do you describe it it's i don't know it's probably not for everyone the music's

480
00:21:32,380 --> 00:21:34,220
loud music it's very

481
00:21:34,220 --> 00:21:37,300
dark and often feels kind of cold in there till you get dancing a bit

482
00:21:38,200 --> 00:21:38,560
and then

483
00:21:38,560 --> 00:21:40,460
it's kind of like i don't know it's a

484
00:21:40,460 --> 00:21:43,640
weird experience if you could explain it maybe

485
00:21:43,740 --> 00:21:48,180
it wouldn't be as fun right so it's more that you can't really put you i can't put a pin on why it's

486
00:21:48,320 --> 00:21:55,900
good it's just kind of good i mean it's basically like a nightclub vibe but different it is but

487
00:21:55,920 --> 00:21:59,000
Like, yeah, I feel like a lot of nightclubs are cheesy

488
00:21:59,220 --> 00:22:02,200
and kind of like, you know, the music's not as great.

489
00:22:02,360 --> 00:22:04,620
And in a rave, you're kind of in that zone

490
00:22:04,620 --> 00:22:06,800
and the music continues and stuff like that.

491
00:22:06,900 --> 00:22:07,740
Yes, pretty good.

492
00:22:08,580 --> 00:22:08,760
Yeah.

493
00:22:09,580 --> 00:22:09,700
Yeah.

494
00:22:10,900 --> 00:22:11,580
Yeah, I mean,

495
00:22:11,660 --> 00:22:12,380
you can

496
00:22:12,380 --> 00:22:13,220
simulate it.

497
00:22:13,340 --> 00:22:15,940
Like, you know, just code until 3 a.m.,

498
00:22:16,740 --> 00:22:19,100
put on some music in the background and dim the lights.

499
00:22:19,480 --> 00:22:19,560
Or

500
00:22:19,560 --> 00:22:20,620
I don't know if you have like...

501
00:22:20,640 --> 00:22:22,140
Yeah, I don't know about the raves you go to,

502
00:22:22,620 --> 00:22:24,860
but the raves I go to don't feel like that.

503
00:22:26,600 --> 00:22:27,760
I feel like you need

504
00:22:27,940 --> 00:22:29,980
those Philips Hue lights

505
00:22:30,110 --> 00:22:31,920
that blink in different colours maybe

506
00:22:31,930 --> 00:22:34,000
and then you can have the music on

507
00:22:34,700 --> 00:22:35,700
the strobe lights

508
00:22:36,500 --> 00:22:36,700
right

509
00:22:38,140 --> 00:22:39,080
smoke machine

510
00:22:39,680 --> 00:22:40,520
is that what it's called?

511
00:22:40,690 --> 00:22:42,740
smoke machine, lasers

512
00:22:44,080 --> 00:22:45,520
you need the people

513
00:22:45,660 --> 00:22:47,100
you need to be surrounded by people

514
00:22:49,200 --> 00:22:50,380
just invite all

515
00:22:50,380 --> 00:22:50,760
your friends

516
00:22:50,940 --> 00:22:51,520
have them stand

517
00:22:51,520 --> 00:22:52,020
around you

518
00:22:52,400 --> 00:22:53,220
while you do coding

519
00:22:53,740 --> 00:22:54,180
but I think

520
00:22:54,980 --> 00:22:55,320
but I think

521
00:22:55,360 --> 00:22:56,160
most people around you

522
00:22:56,380 --> 00:22:56,980
they need to be

523
00:22:57,010 --> 00:22:57,820
in varying states

524
00:22:57,910 --> 00:22:58,380
of consciousness

525
00:22:58,570 --> 00:22:59,220
in order to make it

526
00:22:59,230 --> 00:22:59,360
feel

527
00:22:59,360 --> 00:22:59,780
like a rave

528
00:22:59,810 --> 00:23:00,100
as well

529
00:23:01,660 --> 00:23:02,060
fair enough

530
00:23:02,240 --> 00:23:02,600
it sounds

531
00:23:02,600 --> 00:23:02,900
like

532
00:23:02,900 --> 00:23:04,120
we should have a rave

533
00:23:04,180 --> 00:23:04,520
at the next

534
00:23:04,680 --> 00:23:05,000
World Summit

535
00:23:05,280 --> 00:23:05,880
I think so

536
00:23:06,010 --> 00:23:06,560
I think so

537
00:23:06,640 --> 00:23:07,120
and I think

538
00:23:07,260 --> 00:23:07,720
I already

539
00:23:07,720 --> 00:23:07,920
know

540
00:23:08,020 --> 00:23:09,180
who the DJ will be

541
00:23:10,140 --> 00:23:10,500
right

542
00:23:10,780 --> 00:23:11,260
who's the DJ

543
00:23:11,420 --> 00:23:11,680
going to be

544
00:23:13,220 --> 00:23:14,180
I can't DJ

545
00:23:14,310 --> 00:23:14,720
by the way

546
00:23:16,620 --> 00:23:17,680
not in my skill set

547
00:23:18,020 --> 00:23:19,160
we'll invite

548
00:23:19,660 --> 00:23:19,800
Brady

549
00:23:20,050 --> 00:23:20,460
of course

550
00:23:21,080 --> 00:23:21,140
the

551
00:23:21,140 --> 00:23:23,200
guy

552
00:23:23,380 --> 00:23:29,700
that made uh the svelte radio intro song that's true that's yeah he's not been to one of the

553
00:23:29,780 --> 00:23:30,420
svelte summits yet

554
00:23:30,420 --> 00:23:32,100
no so i

555
00:23:32,100 --> 00:23:35,240
think yeah i think i hope he can come for the for the next one that'd

556
00:23:35,240 --> 00:23:35,420
be fun

557
00:23:35,420 --> 00:23:37,740
he can do some live like

558
00:23:37,740 --> 00:23:39,380
live production like

559
00:23:39,380 --> 00:23:41,000
you gotta have a break from touring

560
00:23:42,799 --> 00:23:47,440
yeah yeah yeah um okay sorry so a bit of a tangent there

561
00:23:47,440 --> 00:23:48,659
sorry listeners

562
00:23:50,660 --> 00:23:56,880
but so so okay so what kind of stuff are you building now for ngos like give us some examples

563
00:23:57,300 --> 00:24:02,700
and what what how is it different well i don't know how much you've worked with like regular

564
00:24:03,160 --> 00:24:07,220
business clients and then ngos like what's the difference yeah

565
00:24:07,220 --> 00:24:09,020
so oh there are so many differences

566
00:24:09,100 --> 00:24:13,960
i feel it's like um it's a bit like like really was it like a stark contrast basically between

567
00:24:14,160 --> 00:24:18,640
working for those two environments but then also i met some employers where they are like right in

568
00:24:18,660 --> 00:24:22,220
they feel like they have a for-profit mission.

569
00:24:22,390 --> 00:24:23,360
So they try to earn money,

570
00:24:23,460 --> 00:24:25,880
but then they work like an NGO or administration

571
00:24:26,070 --> 00:24:26,760
or something like this.

572
00:24:27,050 --> 00:24:27,480
So I think

573
00:24:27,480 --> 00:24:29,260
I've seen basically the three worlds.

574
00:24:30,540 --> 00:24:33,000
I think one thing is that the first thing about NGOs

575
00:24:33,110 --> 00:24:36,380
is mostly they don't have their own funding.

576
00:24:36,760 --> 00:24:40,460
They usually depend on grants, on donations.

577
00:24:41,880 --> 00:24:43,500
This is why they are not for profit.

578
00:24:43,880 --> 00:24:45,380
They don't create any revenue, right?

579
00:24:46,200 --> 00:24:47,320
And there are two things.

580
00:24:47,500 --> 00:24:49,460
One thing is that they don't have a product to sell.

581
00:24:50,200 --> 00:24:53,480
They have insights to sell or they are trying to advocate for something.

582
00:24:53,570 --> 00:24:55,340
So then they are not trying to sell something.

583
00:24:55,410 --> 00:25:03,720
They are basically trying to pursue people and learning about something or understanding it or trying to see it from a different point of view.

584
00:25:05,200 --> 00:25:08,240
So work for them mostly is like story first.

585
00:25:09,460 --> 00:25:12,260
So you need to figure out how to help them to tell a particular story.

586
00:25:12,380 --> 00:25:14,160
It could be like a report or for a website.

587
00:25:14,540 --> 00:25:18,100
basically you need to help them figure out like to present themselves so that like especially if

588
00:25:18,100 --> 00:25:22,580
they have different audiences because usually like like one NGO I'm working with right now they have

589
00:25:22,590 --> 00:25:27,760
two audiences one is their community because it's like it's the community basically of um

590
00:25:28,940 --> 00:25:33,660
black BIPOC people in Germany and first of all it's like a huge community it's like one million

591
00:25:33,920 --> 00:25:35,880
people that they estimate like Germany has

592
00:25:35,880 --> 00:25:36,640
80 million people

593
00:25:36,640 --> 00:25:38,780
and and and they they assume or

594
00:25:38,920 --> 00:25:44,500
the estimate is that like one one million has like some some some BIPOC roots like African German or

595
00:25:44,500 --> 00:25:45,880
or African-American.

596
00:25:47,780 --> 00:25:48,280
That's one thing.

597
00:25:48,600 --> 00:25:53,060
And one thing is obviously they try to create stuff

598
00:25:53,280 --> 00:25:54,580
for their own community, for themselves,

599
00:25:55,120 --> 00:25:56,640
but then they also need to attract funders.

600
00:25:56,820 --> 00:26:00,140
So basically, you know, was it like white-collar people,

601
00:26:00,420 --> 00:26:00,600
people

602
00:26:00,600 --> 00:26:01,700
who are not

603
00:26:01,700 --> 00:26:01,840
black,

604
00:26:02,320 --> 00:26:04,200
and people who are maybe like super senior

605
00:26:04,420 --> 00:26:07,000
in some federal administration or something like this.

606
00:26:08,420 --> 00:26:11,360
And you need to figure out how to make a website work

607
00:26:11,480 --> 00:26:13,280
for both of them, for both of those communities,

608
00:26:13,840 --> 00:26:19,680
But, and this is the third thing, since they don't have their own budget, they usually have project budget.

609
00:26:20,620 --> 00:26:25,700
Project budget means they have applied for funding maybe a year ago, maybe two years ago.

610
00:26:26,620 --> 00:26:32,900
So whatever you are doing, like then when you are implementing all the preprocessing, all the preparations happened two years ago.

611
00:26:33,280 --> 00:26:33,960
And you know what

612
00:26:33,960 --> 00:26:34,780
happens like in the

613
00:26:34,780 --> 00:26:36,380
tech world within two years, right?

614
00:26:36,540 --> 00:26:40,460
And so they arrive and they're like, hey, we have like a budget of, I don't know, like 6,000 euros.

615
00:26:40,640 --> 00:26:42,740
Can you get us a website and a dashboard?

616
00:26:43,100 --> 00:26:45,500
And we need a newsletter and this and this and this and this and this.

617
00:26:46,220 --> 00:26:46,660
So

618
00:26:46,660 --> 00:26:50,260
obviously, this is why you have to use the most efficient technologies you can find.

619
00:26:50,470 --> 00:26:55,240
And this is where Svelte comes in as one of the most efficient pieces of the puzzle.

620
00:26:56,780 --> 00:26:57,760
This is, I

621
00:26:57,760 --> 00:27:01,140
think, one of the biggest things that you need to understand first is that

622
00:27:01,860 --> 00:27:07,000
it's not that we have a project budget, which we can adjust.

623
00:27:07,520 --> 00:27:10,520
And the deadline basically has been set two years ago.

624
00:27:10,620 --> 00:27:15,080
something like this usually that's one thing and the other thing is they are not used to doing

625
00:27:15,650 --> 00:27:21,080
product so they don't have like a po or something like that if you're lucky there they have maybe

626
00:27:21,150 --> 00:27:26,620
they have like a fixed was it um in their organization maybe they have a person full-time

627
00:27:26,880 --> 00:27:28,740
responsible for communications if you are lucky

628
00:27:28,740 --> 00:27:29,660
that means

629
00:27:29,660 --> 00:27:31,660
that this person knows what the jpeg is

630
00:27:31,900 --> 00:27:37,539
and that you can't upload five megabyte images but usually they don't and usually don't they

631
00:27:37,560 --> 00:27:42,360
don't have their own IT department they like don't have a domain or something

632
00:27:42,520 --> 00:27:46,180
like this so you need to set up everything for them and the other thing

633
00:27:46,300 --> 00:27:50,960
is it's project based so that means that if you launch a website but funding is

634
00:27:51,020 --> 00:27:52,320
done you get paid once

635
00:27:52,320 --> 00:27:53,420
there is not no

636
00:27:53,420 --> 00:27:54,840
such thing that they are going to pay

637
00:27:54,840 --> 00:27:56,560
you for the next four years to maintain it so

638
00:27:56,560 --> 00:27:57,100
first of all

639
00:27:57,100 --> 00:27:57,960
you need to negotiate

640
00:27:58,040 --> 00:28:02,740
it in advance but second you need to make sure that your website still runs or

641
00:28:02,760 --> 00:28:04,540
can be deployed in four years

642
00:28:04,540 --> 00:28:09,300
with tiny updates maybe right right so interesting so so you're

643
00:28:09,860 --> 00:28:16,160
very budget constrained and you know you you have like a hard limit compared to like

644
00:28:16,790 --> 00:28:22,140
if you're working for a client at a at a company doing like a marketing website or something

645
00:28:22,840 --> 00:28:23,440
right

646
00:28:23,440 --> 00:28:27,880
exactly but then on the other hand what i see in comparison to like for-profit companies

647
00:28:27,900 --> 00:28:34,760
says usually the deadline is not really a hard deadline unless there is like a particular date

648
00:28:34,900 --> 00:28:37,840
that they want to launch a report website because there will be some summit.

649
00:28:38,460 --> 00:28:39,040
If this is not the

650
00:28:39,040 --> 00:28:39,360
case,

651
00:28:40,340 --> 00:28:45,500
there is no real deadline. And that means that even if the budget is smaller, what you then have

652
00:28:45,780 --> 00:28:51,520
is time. And this is where basically how I, I think, grew into this full stack developer role

653
00:28:51,720 --> 00:28:56,300
and why I had this opportunity to try out everything is basically, okay, look, your budget

654
00:28:56,320 --> 00:28:58,340
is very limited but if you give me three months

655
00:28:58,390 --> 00:29:00,220
of time for this and we do

656
00:29:00,310 --> 00:29:00,820
like a weekly

657
00:29:00,820 --> 00:29:02,240
iteration that means that

658
00:29:02,250 --> 00:29:04,160
I can study some super base I can study

659
00:29:04,300 --> 00:29:06,120
some SQL I can figure out how to

660
00:29:06,660 --> 00:29:07,800
like what stack we could use

661
00:29:09,040 --> 00:29:10,180
and then it becomes

662
00:29:10,230 --> 00:29:12,180
a bit more like a you know like I don't know like a

663
00:29:12,280 --> 00:29:12,540
paid

664
00:29:12,540 --> 00:29:14,140
traineeship or

665
00:29:14,240 --> 00:29:14,580
something like

666
00:29:14,580 --> 00:29:15,960
this and then the day rate

667
00:29:16,600 --> 00:29:18,260
can be like 500 or even

668
00:29:18,440 --> 00:29:18,580
less

669
00:29:18,580 --> 00:29:20,320
right if you're lucky

670
00:29:20,370 --> 00:29:20,460
you

671
00:29:20,460 --> 00:29:22,060
can get maybe like a 700

672
00:29:22,330 --> 00:29:23,640
euro day rate or something like this

673
00:29:24,620 --> 00:29:26,280
but you can figure out what to do

674
00:29:26,300 --> 00:29:27,880
how to basically max out on time.

675
00:29:28,600 --> 00:29:30,500
Yeah, interesting.

676
00:29:31,240 --> 00:29:36,080
That's a very different style of working with clients.

677
00:29:37,400 --> 00:29:38,100
I've only

678
00:29:38,100 --> 00:29:39,400
ever worked with like paid,

679
00:29:40,030 --> 00:29:41,720
like, well, not paid, but like

680
00:29:41,720 --> 00:29:43,080
businesses,

681
00:29:43,690 --> 00:29:43,820
right?

682
00:29:44,720 --> 00:29:46,260
So it's very, very different.

683
00:29:47,380 --> 00:29:51,240
So what kind of stuff have you noticed that are like,

684
00:29:52,040 --> 00:29:54,300
so I assume since like the budget is constrained,

685
00:29:54,520 --> 00:29:56,640
you kind of have to prioritize, right?

686
00:29:57,720 --> 00:30:02,440
What do you often work with like minimizing the scope,

687
00:30:02,860 --> 00:30:06,100
changing the scope of what the NGO wants?

688
00:30:06,240 --> 00:30:07,720
Because you mentioned like, we want a

689
00:30:07,720 --> 00:30:08,000
newsletter,

690
00:30:08,160 --> 00:30:08,300
we

691
00:30:08,300 --> 00:30:09,840
want blah, blah, blah, blah, blah, blah.

692
00:30:10,320 --> 00:30:13,300
But then like, there's only so much money

693
00:30:14,220 --> 00:30:15,700
to implement stuff, right?

694
00:30:16,320 --> 00:30:20,520
So what, in terms of like, yeah, where would you,

695
00:30:20,940 --> 00:30:23,620
not cut corners, but like, what would you prioritize

696
00:30:26,040 --> 00:30:26,920
in your experience?

697
00:30:27,360 --> 00:30:27,500
That's

698
00:30:27,500 --> 00:30:29,720
a tough question because it depends.

699
00:30:30,520 --> 00:30:30,620
Right.

700
00:30:32,680 --> 00:30:34,520
Now, lucky me is that I also did this

701
00:30:34,710 --> 00:30:36,540
like one design thinking certificate

702
00:30:36,840 --> 00:30:38,340
and then it helped me with some,

703
00:30:38,670 --> 00:30:40,140
I mean, I know like design thinking,

704
00:30:40,520 --> 00:30:42,280
it's very similar to human computer interaction

705
00:30:42,330 --> 00:30:42,920
or something like this.

706
00:30:43,100 --> 00:30:46,000
It's like, you know, this marketing buzzword

707
00:30:46,100 --> 00:30:47,660
for a particular way of thinking about

708
00:30:48,030 --> 00:30:48,760
what you're going to do.

709
00:30:49,340 --> 00:30:51,100
What I'm trying to do as a principle is,

710
00:30:51,680 --> 00:30:53,600
you know, there's this project triangle

711
00:30:53,620 --> 00:31:00,740
product triangle was it feasibility desirability and the third pillar feasibility desirability

712
00:31:04,240 --> 00:31:08,460
so does it make sense can we afford it and what do we actually want and

713
00:31:08,460 --> 00:31:08,900
what i'm trying

714
00:31:08,900 --> 00:31:09,280
to do with

715
00:31:09,320 --> 00:31:14,200
them is to ignore feasibility because we will find ways to to make it feasible so to implement it

716
00:31:14,500 --> 00:31:20,240
and focus on desirability and then they have many many ideas huge wish list second thing is that we

717
00:31:20,180 --> 00:31:24,460
do is we prioritize which is like essential for the launch for product launch which is essential

718
00:31:24,660 --> 00:31:30,240
to achieve a particular goal and everything else is basically on top if we have time or if there's

719
00:31:30,380 --> 00:31:36,020
something that i want to basically learn in my free time then then we're gonna bake it in um but

720
00:31:36,180 --> 00:31:41,000
otherwise we are trying to focus on the core and this is also like one thing that you need to to

721
00:31:41,380 --> 00:31:46,220
teach them or to figure out with them is that for themselves they need to figure out what the unique

722
00:31:46,240 --> 00:31:46,660
selling point

723
00:31:46,660 --> 00:31:47,060
of something

724
00:31:47,060 --> 00:31:48,080
is or what the core is.

725
00:31:48,520 --> 00:31:50,040
And they probably don't know.

726
00:31:51,260 --> 00:31:51,720
Right, exactly.

727
00:31:51,890 --> 00:31:55,100
And because I think in nine out of 10 cases,

728
00:31:55,940 --> 00:31:56,400
it's academics.

729
00:31:56,800 --> 00:31:58,720
It's people with a political science degree

730
00:31:59,100 --> 00:32:00,780
or public policy degree or something like this.

731
00:32:01,180 --> 00:32:02,580
They have so much knowledge in their brain,

732
00:32:02,820 --> 00:32:05,400
but no one ever taught them at uni

733
00:32:05,450 --> 00:32:06,700
or during their PhD or whatever,

734
00:32:07,080 --> 00:32:08,120
how to tell a story,

735
00:32:08,560 --> 00:32:10,340
how to focus on the essential parts.

736
00:32:10,770 --> 00:32:13,240
And basically, how to tell them

737
00:32:13,240 --> 00:32:14,900
how to turn a page into a single paragraph.

738
00:32:15,880 --> 00:32:16,020
Right.

739
00:32:16,920 --> 00:32:20,740
this is actually where the most most of the work is figuring out the story and then you realize

740
00:32:20,960 --> 00:32:26,660
okay maybe we don't need this feature it doesn't make sense and if you like also all those techniques

741
00:32:26,880 --> 00:32:31,660
like how might we or why why why you know the why why why method like ask someone why they want

742
00:32:31,960 --> 00:32:32,600
something three

743
00:32:32,600 --> 00:32:33,040
times

744
00:32:33,040 --> 00:32:37,820
like why right and then it will be most like nine out of ten times it will

745
00:32:38,040 --> 00:32:39,380
eliminate itself and

746
00:32:39,380 --> 00:32:39,680
the feature

747
00:32:39,680 --> 00:32:40,140
will disappear

748
00:32:40,140 --> 00:32:42,600
yeah it's a difference between it between like a

749
00:32:42,540 --> 00:32:48,000
highly technical person or a discipline of being highly technical versus being uh you know product

750
00:32:48,420 --> 00:32:52,980
orientated and i think that there's there's a huge void there that the people that you want on your

751
00:32:53,010 --> 00:32:57,260
team are not necessarily the most clever or technically adept people are the people the

752
00:32:57,260 --> 00:33:02,140
biggest product focus when you're a small company or when you're a small team so

753
00:33:02,140 --> 00:33:03,400
maybe there's a

754
00:33:03,600 --> 00:33:08,420
there's a comparison to draw there like between very very small companies

755
00:33:08,420 --> 00:33:09,720
and ngos

756
00:33:09,720 --> 00:33:10,440
like because

757
00:33:11,660 --> 00:33:13,160
there's only so much knowledge

758
00:33:13,560 --> 00:33:16,000
that you can have inside of a small company, right?

759
00:33:16,800 --> 00:33:19,440
I mean, sure, there are like geniuses

760
00:33:19,880 --> 00:33:21,760
in small companies that know everything, of course,

761
00:33:21,900 --> 00:33:24,620
but I assume that's the case in NGOs as well.

762
00:33:26,020 --> 00:33:28,260
One thing I notice is I think in companies,

763
00:33:28,540 --> 00:33:30,760
for whatever reason, even in small ones,

764
00:33:30,920 --> 00:33:33,240
there's still some type of like a division of labor

765
00:33:33,580 --> 00:33:34,140
or hierarchy.

766
00:33:35,000 --> 00:33:35,440
And

767
00:33:35,440 --> 00:33:37,660
they have like at least an implicit understanding

768
00:33:37,680 --> 00:33:41,540
of who decides and who maybe can veto something

769
00:33:41,920 --> 00:33:42,020
and

770
00:33:42,020 --> 00:33:42,620
who is basically

771
00:33:42,620 --> 00:33:43,220
just there

772
00:33:43,660 --> 00:33:46,280
so that their advisory can be heard,

773
00:33:46,460 --> 00:33:48,080
but it's not a blocker.

774
00:33:48,600 --> 00:33:52,320
In NGOs, maybe because of this community spirit

775
00:33:52,340 --> 00:33:54,320
or something like this, it's usually very flat.

776
00:33:54,680 --> 00:33:56,440
So there are many people who can veto something

777
00:33:56,600 --> 00:33:57,680
and there are also many people who

778
00:33:57,680 --> 00:33:59,080
can voice ideas,

779
00:33:59,560 --> 00:33:59,720
right?

780
00:34:01,220 --> 00:34:02,920
And yeah, this is the hardest part basically

781
00:34:03,160 --> 00:34:05,220
because sometimes it's like contrarian opinions

782
00:34:05,420 --> 00:34:06,420
or contrarian wishes.

783
00:34:07,040 --> 00:34:09,080
And this is not, you can do the regression to the mean,

784
00:34:09,200 --> 00:34:11,280
then you will have like a mediocre product

785
00:34:11,679 --> 00:34:14,760
or you need to kind of do some Game of Thrones thing

786
00:34:14,879 --> 00:34:16,280
behind the scenes, like a

787
00:34:16,280 --> 00:34:16,740
particular,

788
00:34:17,320 --> 00:34:18,760
yeah, yeah, it's lots, it's still,

789
00:34:18,879 --> 00:34:20,200
it's lots of politics at those companies.

790
00:34:20,560 --> 00:34:22,659
And it's personal because this is also one thing

791
00:34:23,159 --> 00:34:27,520
at NGOs, people very often are very like personally invested

792
00:34:27,600 --> 00:34:28,560
in a particular topic.

793
00:34:28,860 --> 00:34:30,159
Yeah, they care a lot.

794
00:34:31,000 --> 00:34:33,480
Right, they care a lot because it's either they are impacted

795
00:34:33,760 --> 00:34:36,080
or it's someone whom they know who is impacted

796
00:34:36,100 --> 00:34:40,260
by some social policy or so everything is quite personal like

797
00:34:40,260 --> 00:34:40,700
lots of this

798
00:34:40,700 --> 00:34:41,460
stuff this is why also

799
00:34:41,490 --> 00:34:42,780
they like very often burn out

800
00:34:42,780 --> 00:34:44,379
because there is

801
00:34:44,379 --> 00:34:46,480
no separation between work and and free time

802
00:34:47,090 --> 00:34:50,179
right so yeah there are like many very special

803
00:34:50,179 --> 00:34:50,580
things

804
00:34:50,580 --> 00:34:51,080
but i think

805
00:34:51,080 --> 00:34:53,220
it prepares me for the for

806
00:34:53,330 --> 00:34:53,820
profit market

807
00:34:53,820 --> 00:34:58,300
if you're if you're very invested in something as well but you but the company

808
00:34:58,520 --> 00:35:02,420
structure means that you can't change it that's also quite tiring and it can burn you out very

809
00:35:02,440 --> 00:35:08,200
quickly right so you know you if you're given and i guess in my world i would call that that being

810
00:35:08,380 --> 00:35:12,860
invested in something ownership um if you're given ownership of something or you believe you have

811
00:35:13,040 --> 00:35:16,920
ownership of something you should be able to change it at your will without having to go through lots

812
00:35:16,920 --> 00:35:21,480
of red tape which is probably what i call the other bit i know flat structures generally i i prefer

813
00:35:21,510 --> 00:35:25,260
flat structures and they work but i've never really tried a true flat structure at scale

814
00:35:26,040 --> 00:35:30,740
and i think that if you try to this is what this is what i i interviewed with meta i mean that was

815
00:35:30,900 --> 00:35:34,960
you know i was young and i needed the money and i didn't i was just i just did but one of the

816
00:35:34,990 --> 00:35:38,720
things they told me was that basically the whole company is flat and and if there's any problems

817
00:35:38,750 --> 00:35:43,120
you just you go straight to zuckerberg and i said sure that sounds

818
00:35:43,120 --> 00:35:44,400
that sounds like what happens

819
00:35:44,530 --> 00:35:47,040
there that sounds that sounds realistic i believe you

820
00:35:47,040 --> 00:35:48,360
and it's that kind of thing

821
00:35:48,360 --> 00:35:49,800
is like um you know

822
00:35:50,310 --> 00:35:53,580
you could you could it's you were laughing right because there's no way that works right that

823
00:35:53,720 --> 00:35:57,980
doesn't work right it's just nonsense so i think i think that yeah ownership

824
00:35:57,980 --> 00:35:58,280
is

825
00:35:58,280 --> 00:35:59,099
why i like to work

826
00:35:59,100 --> 00:36:03,640
small companies because you can get ownership you can move things you know you may even still be a

827
00:36:03,700 --> 00:36:07,620
cog in a wheel feel like a cog in a wheel but as long as that cog can turn whereas if you're not

828
00:36:08,200 --> 00:36:09,000
it will turn that cognitive

829
00:36:09,000 --> 00:36:13,640
yeah i there is a counter like example of of like a company

830
00:36:14,180 --> 00:36:20,040
large company that is i mean not as large as meta but valve right they're they're supposedly a very

831
00:36:20,280 --> 00:36:26,780
flat uh company and that but they also kind of like we work on whatever we want to work on which

832
00:36:26,800 --> 00:36:30,720
is very nice that's

833
00:36:30,720 --> 00:36:34,500
kind of nice that's kind of nice and and you know if i believe that kind of

834
00:36:34,660 --> 00:36:38,140
company works and i'm gonna get shot down in flames this but that's that's apparently how i

835
00:36:38,340 --> 00:36:41,560
understand that palantir works as well right is that you kind of work on where you think your

836
00:36:41,740 --> 00:36:45,360
efforts could be best put and the way that the reason that works is because the people they hire

837
00:36:45,520 --> 00:36:49,540
are the kind of people who can do that it wouldn't work in every company where you know people are

838
00:36:49,680 --> 00:36:55,440
hired uh let's say with a lesser bar like a lower bar to get it to entry because those people wouldn't

839
00:36:55,460 --> 00:36:59,300
be able to correctly prioritize and be able to correctly figure out what is and isn't important

840
00:36:59,520 --> 00:37:03,500
it's a certain caliber of person and i think that maybe valve has those people right and that's and

841
00:37:03,540 --> 00:37:07,940
that's great i love i love that right you know complete autonomy and if you've got complete

842
00:37:08,200 --> 00:37:12,900
autonomy like that and the people are right then you can have a flat structure but yeah i don't

843
00:37:12,920 --> 00:37:17,580
think anyone believes it can happen at scale the scale of meta even though i'm sure meta has a high

844
00:37:17,700 --> 00:37:20,780
as well but still it's just so there's so many people

845
00:37:20,780 --> 00:37:24,520
right yeah someone has to to like make a

846
00:37:24,500 --> 00:37:26,720
decision somewhere right yeah and

847
00:37:26,720 --> 00:37:27,400
it's not always stuck

848
00:37:27,400 --> 00:37:27,980
right and

849
00:37:27,980 --> 00:37:29,560
the thing is you can also slice

850
00:37:30,060 --> 00:37:34,760
a company up to provide more autonomy i worked in sky which is a huge company our team had autonomy

851
00:37:35,140 --> 00:37:40,300
but our team was like 16 people there were other teams that had absolutely zero autonomy and it's

852
00:37:40,360 --> 00:37:44,120
just because the way things are sliced and dice and i think if you if you can slice and dice it

853
00:37:44,260 --> 00:37:48,260
even within a large organization where you have full control and we had to break down some barriers

854
00:37:48,480 --> 00:37:53,800
like they had a provisioning computer provisioning thing i joined the company as a contractor getting

855
00:37:53,820 --> 00:37:57,900
paid a load of money and it was going to take four weeks for them to get a computer through this

856
00:37:58,000 --> 00:38:01,980
provisioning service and it was going to be just a regular pc that would cost like 800 quid at the

857
00:38:02,040 --> 00:38:06,220
shop and it was five grand because it's being provisioned via british telecom or some crap like

858
00:38:06,340 --> 00:38:10,480
that and they just went they went to pc world and they expensed the computer for me and they bought

859
00:38:10,540 --> 00:38:14,820
the computer and put it on my desk within the same day right and it's that kind of thing that if you

860
00:38:14,900 --> 00:38:19,160
can do that it wasn't really allowed but if you can do that they can work in a big company you can

861
00:38:19,200 --> 00:38:23,780
have the autonomy and the ownership and you can control things yourself yeah like there were teams

862
00:38:23,800 --> 00:38:26,820
just wouldn't do that and be like well you just sit there for four weeks getting paid do nothing

863
00:38:27,620 --> 00:38:28,480
whilst we provision a

864
00:38:28,480 --> 00:38:29,000
really expensive

865
00:38:29,000 --> 00:38:29,840
computer for you

866
00:38:29,840 --> 00:38:31,580
sounds very boring

867
00:38:31,580 --> 00:38:33,680
as well very very boring

868
00:38:34,020 --> 00:38:38,780
very slow nothing changes you get disrupted easily that kind of thing so that's why sky were doing

869
00:38:38,810 --> 00:38:43,720
this thing where they where they would have this autonomy in certain teams to try and change things

870
00:38:43,750 --> 00:38:46,900
and it you know it works it works it definitely works

871
00:38:46,900 --> 00:38:51,560
yeah so ilia we met we mentioned kind of

872
00:38:53,859 --> 00:38:55,700
struggles of working with an NGO?

873
00:38:56,060 --> 00:38:59,700
Well, some of the hard stuff with working with NGOs.

874
00:38:59,940 --> 00:39:02,580
What are some of the good things that you've

875
00:39:04,240 --> 00:39:06,080
experienced working with these?

876
00:39:06,800 --> 00:39:11,200
I think it was super helpful to hear Anthony explaining his

877
00:39:11,820 --> 00:39:14,960
past employers. Because that's the upside.

878
00:39:15,240 --> 00:39:17,320
If you work for NGOs, you are usually the only person.

879
00:39:18,300 --> 00:39:19,780
and you are the only technical person.

880
00:39:20,100 --> 00:39:21,700
And also like the way I worked is like,

881
00:39:21,780 --> 00:39:25,940
I also did this product vision design creative thing.

882
00:39:26,270 --> 00:39:27,260
So basically also, you know,

883
00:39:27,400 --> 00:39:30,000
like leading the story or trying to come up with a narrative.

884
00:39:30,880 --> 00:39:33,580
First of all, you can be fully creative.

885
00:39:33,690 --> 00:39:34,800
If you are a creative person,

886
00:39:35,040 --> 00:39:37,460
there's basically no limit what you can contribute to them.

887
00:39:38,440 --> 00:39:40,020
And obviously as a tech person,

888
00:39:40,750 --> 00:39:43,160
you can preserve your sanity because you can choose your own stack.

889
00:39:44,320 --> 00:39:46,380
You know, there's, you are not inheriting some,

890
00:39:46,620 --> 00:39:49,140
some React code base from 2019.

891
00:39:49,950 --> 00:39:50,940
You are writing from scratch

892
00:39:50,940 --> 00:39:51,620
mostly,

893
00:39:51,840 --> 00:39:51,980
right?

894
00:39:52,310 --> 00:39:53,240
You will start from scratch,

895
00:39:53,560 --> 00:39:54,840
but there is no tailwind.

896
00:39:55,520 --> 00:39:56,820
You just write the stuff

897
00:39:56,930 --> 00:39:58,700
the way you imagine it should be written.

898
00:39:59,820 --> 00:40:00,820
And I think this is like also,

899
00:40:01,060 --> 00:40:02,260
especially now with Svelte,

900
00:40:02,340 --> 00:40:03,780
with the rapid development of Svelte,

901
00:40:04,200 --> 00:40:05,420
that means that you can try out

902
00:40:05,430 --> 00:40:06,320
the cutting edge stuff.

903
00:40:06,450 --> 00:40:06,880
You can try

904
00:40:06,880 --> 00:40:07,480
out Svelte

905
00:40:07,480 --> 00:40:08,880
5 server-side rendering

906
00:40:09,160 --> 00:40:10,180
with Bun or like

907
00:40:10,180 --> 00:40:11,140
the thing that

908
00:40:11,140 --> 00:40:11,640
I tried out

909
00:40:11,690 --> 00:40:14,740
is Svelte in Astro server islands

910
00:40:14,740 --> 00:40:17,440
for pre-rendering Astro content and it works.

911
00:40:17,980 --> 00:40:19,640
And I can just present it to them.

912
00:40:19,840 --> 00:40:21,000
And then look, we have something,

913
00:40:21,280 --> 00:40:23,300
no one has done it before, but it works and it's awesome.

914
00:40:24,040 --> 00:40:25,500
And we can make your landing page

915
00:40:25,800 --> 00:40:28,880
display for 15 events dynamically from a DB

916
00:40:29,240 --> 00:40:31,120
and you don't need to redeploy on every event

917
00:40:32,180 --> 00:40:32,620
every time you

918
00:40:32,620 --> 00:40:33,120
edit an event.

919
00:40:33,600 --> 00:40:36,340
So this freedom gives, like, I don't know,

920
00:40:36,400 --> 00:40:37,460
it gives me a lot of joy.

921
00:40:38,280 --> 00:40:38,440
Yeah.

922
00:40:39,520 --> 00:40:42,660
Yeah, I can imagine, like, being able to just

923
00:40:43,620 --> 00:40:45,160
also experimenting, right?

924
00:40:45,700 --> 00:40:50,120
With new features and things that you might not be able to do.

925
00:40:50,300 --> 00:40:53,440
And if you're stuck on Svelte 4, for example,

926
00:40:53,540 --> 00:40:54,760
which some companies are, right?

927
00:40:55,060 --> 00:40:55,380
I think

928
00:40:55,380 --> 00:40:56,020
Brittany, you

929
00:40:56,020 --> 00:40:58,880
mentioned like a while back

930
00:40:58,980 --> 00:41:01,280
that you guys were stuck on Svelte 4

931
00:41:01,860 --> 00:41:02,000
and

932
00:41:02,000 --> 00:41:03,580
just upgraded to

933
00:41:03,580 --> 00:41:04,400
Svelte 5 or something?

934
00:41:04,640 --> 00:41:05,980
My previous company,

935
00:41:06,520 --> 00:41:07,220
we were stuck on

936
00:41:07,220 --> 00:41:08,980
Svelte 3 on the main app.

937
00:41:09,420 --> 00:41:13,040
And then, yeah, they couldn't even upgrade it to Svelte 4.

938
00:41:13,160 --> 00:41:17,960
And then we started working on a separate project in Svelte 4 right before Svelte 5 came out.

939
00:41:18,080 --> 00:41:22,720
And that one, from what I've heard from people that still work there, is still not

940
00:41:22,720 --> 00:41:24,020
migrated.

941
00:41:24,280 --> 00:41:27,440
They still haven't worked on this React project they were going to switch to.

942
00:41:27,720 --> 00:41:33,200
But, yeah, the new company I work for, they have like an old plugin that uses Svelte 4.

943
00:41:33,380 --> 00:41:36,880
And I'm migrating it to Svelte 5, but in a completely new repo.

944
00:41:37,240 --> 00:41:38,060
we didn't

945
00:41:38,060 --> 00:41:38,240
go

946
00:41:38,240 --> 00:41:40,160
through the migration just working on it

947
00:41:40,160 --> 00:41:43,580
completely fresh so there's like that that

948
00:41:43,880 --> 00:41:47,980
that's usually what happens in in a company you're you're stuck on an

949
00:41:47,980 --> 00:41:48,780
old version of something

950
00:41:48,780 --> 00:41:49,200
yeah

951
00:41:49,500 --> 00:41:56,080
like anthony and zapper well have you have you do you have

952
00:41:56,080 --> 00:41:59,100
news and we're still doing it we

953
00:41:59,100 --> 00:41:59,600
are we

954
00:41:59,700 --> 00:42:00,000
now have

955
00:42:00,000 --> 00:42:03,160
a dedicated resource basically and it's peru right who's who's

956
00:42:03,160 --> 00:42:03,940
migrating this page

957
00:42:03,940 --> 00:42:04,420
by page

958
00:42:05,160 --> 00:42:06,840
yeah he's getting there there's a

959
00:42:06,840 --> 00:42:07,480
lot to go

960
00:42:07,480 --> 00:42:08,460
but he's getting there

961
00:42:09,460 --> 00:42:10,100
that's good

962
00:42:11,100 --> 00:42:12,660
Sapper is like ancient at this time

963
00:42:13,340 --> 00:42:14,080
at this point right

964
00:42:14,620 --> 00:42:15,740
yeah well yeah

965
00:42:16,380 --> 00:42:17,520
I bet it still runs

966
00:42:17,520 --> 00:42:17,700
though

967
00:42:18,480 --> 00:42:19,540
it still runs

968
00:42:19,540 --> 00:42:21,120
it still boots really slowly

969
00:42:21,340 --> 00:42:23,040
still you start the app up and it takes like

970
00:42:23,200 --> 00:42:23,900
20 seconds to

971
00:42:23,900 --> 00:42:24,620
start maybe more

972
00:42:24,620 --> 00:42:27,360
was it Finn McCann that like had a bunch of stuff

973
00:42:27,540 --> 00:42:28,980
on Sapper for a long time

974
00:42:30,100 --> 00:42:30,440
I don't know

975
00:42:30,680 --> 00:42:30,800
possibly

976
00:42:32,360 --> 00:42:32,840
who

977
00:42:32,840 --> 00:42:34,400
does ElderJS

978
00:42:34,980 --> 00:42:35,920
Oh, that's Nick.

979
00:42:36,500 --> 00:42:36,640
Nick.

980
00:42:37,400 --> 00:42:37,460
Yeah.

981
00:42:38,880 --> 00:42:39,020
But

982
00:42:39,020 --> 00:42:40,080
wasn't ElderJS?

983
00:42:40,900 --> 00:42:42,780
No, that's ElderJS

984
00:42:42,780 --> 00:42:44,020
is like his own thing.

985
00:42:44,170 --> 00:42:44,400
So he

986
00:42:44,400 --> 00:42:45,680
built another framework.

987
00:42:46,400 --> 00:42:50,120
I swear somebody was on Sapper for like a really long time and had,

988
00:42:51,710 --> 00:42:52,300
I don't remember,

989
00:42:52,580 --> 00:42:53,380
a bunch

990
00:42:53,380 --> 00:42:55,040
of sites like just still running it.

991
00:42:55,920 --> 00:42:57,280
I mean, if it works, it works.

992
00:42:57,680 --> 00:42:58,180
Oh, yeah.

993
00:42:58,260 --> 00:42:58,480
And

994
00:42:58,480 --> 00:42:59,920
it does work in production.

995
00:43:00,060 --> 00:43:00,620
It works, right?

996
00:43:00,710 --> 00:43:03,580
I think Decathlon had their whole site written in Sapper.

997
00:43:04,320 --> 00:43:05,300
I think they were using Svelte.

998
00:43:05,340 --> 00:43:07,360
I'm not 100% sure they were just using Svelte and something else.

999
00:43:07,600 --> 00:43:10,300
But they rebuilt their site, which was really creaking.

1000
00:43:10,520 --> 00:43:11,980
And it was amazing in Svelte.

1001
00:43:12,440 --> 00:43:15,540
And then they recently rebranded and built it again in something else.

1002
00:43:15,610 --> 00:43:16,380
And it's shit.

1003
00:43:16,680 --> 00:43:17,300
It's just terrible.

1004
00:43:18,000 --> 00:43:18,740
Like, I love the cafe.

1005
00:43:18,990 --> 00:43:19,600
I think they're brilliant.

1006
00:43:19,960 --> 00:43:22,340
But I don't know why they decided to move away from Svelte.

1007
00:43:22,500 --> 00:43:24,240
But their new site, it just sucks.

1008
00:43:24,420 --> 00:43:27,700
It looks like Shopify, like it's that bad.

1009
00:43:28,500 --> 00:43:29,360
Maybe it is Shopify.

1010
00:43:30,260 --> 00:43:30,380
Yeah.

1011
00:43:30,680 --> 00:43:31,520
I mean, again, I

1012
00:43:31,520 --> 00:43:33,660
don't think Shopify is necessarily bad.

1013
00:43:33,780 --> 00:43:36,240
but I think it has a certain format if you don't configure it.

1014
00:43:36,690 --> 00:43:37,680
And I think it looks like that.

1015
00:43:38,020 --> 00:43:39,100
It's just very, very basic.

1016
00:43:40,320 --> 00:43:42,960
Yeah, it's probably, which in itself is, right.

1017
00:43:43,440 --> 00:43:44,100
We're getting down a

1018
00:43:44,100 --> 00:43:44,620
tangent here.

1019
00:43:44,760 --> 00:43:45,400
But my

1020
00:43:45,400 --> 00:43:47,500
point being that it looks like a basic

1021
00:43:47,740 --> 00:43:50,920
and configured Shopify instance, and it operates like one.

1022
00:43:50,980 --> 00:43:54,020
And you used to be able to really dig into the search a lot

1023
00:43:54,020 --> 00:43:54,860
and find things you wanted.

1024
00:43:55,040 --> 00:43:56,280
Now you can't.

1025
00:43:57,060 --> 00:43:57,740
Yeah, yeah.

1026
00:43:58,000 --> 00:43:58,600
You just can't.

1027
00:43:59,120 --> 00:44:01,840
This discussion kind of brings up another thought.

1028
00:44:02,980 --> 00:44:17,500
So working with these NGOs, I assume you don't have to really worry that much about like, oh, in the future, we need to upgrade to Svelte 6 because they're probably just going to stick to the website that you build.

1029
00:44:17,870 --> 00:44:18,760
Or like, how does that?

1030
00:44:19,680 --> 00:44:22,800
Like, of course, you want to build something that you can maintain, right?

1031
00:44:23,200 --> 00:44:23,280
Yeah.

1032
00:44:23,500 --> 00:44:25,560
Since it's project based,

1033
00:44:25,900 --> 00:44:26,800
it must be different.

1034
00:44:27,000 --> 00:44:32,820
both questions are very good especially britney's because the oldest website i built was like in

1035
00:44:33,040 --> 00:44:37,140
2020 or something like this like a whole website which i built and i don't need to redeploy it

1036
00:44:37,880 --> 00:44:42,480
the only thing that breaks is if safari releases a new version of the browser then something always

1037
00:44:42,680 --> 00:44:50,080
breaks for whatever reason um like one website i built i think in 2021 the academic freedom index

1038
00:44:50,590 --> 00:44:55,460
um their pair contract i need to do daily updates because every year there's a new index

1039
00:44:56,240 --> 00:44:58,920
and I went actually the whole story with it so far.

1040
00:44:59,020 --> 00:44:59,900
It's like it's Astro,

1041
00:44:59,930 --> 00:45:01,880
but then from Svelte 3 to Svelte 4,

1042
00:45:02,070 --> 00:45:03,380
from Svelte 4 to Svelte 5.

1043
00:45:05,020 --> 00:45:07,860
And I think like that there will be no big changes

1044
00:45:08,050 --> 00:45:09,200
between Svelte 5 and 6

1045
00:45:09,380 --> 00:45:10,960
because the focus is now on SvelteKit,

1046
00:45:11,520 --> 00:45:15,580
which brings me to like the most up-to-date topic.

1047
00:45:16,180 --> 00:45:17,720
Right now I'm helping an NGO

1048
00:45:18,900 --> 00:45:19,880
basically relaunch their website.

1049
00:45:20,320 --> 00:45:22,200
And this NGO has existed for almost 10 years.

1050
00:45:22,600 --> 00:45:25,480
They have like 500 sub pages and content collections

1051
00:45:25,480 --> 00:45:27,480
in directors.

1052
00:45:27,800 --> 00:45:32,780
It's like events, projects, people, pages, all the stuff,

1053
00:45:32,810 --> 00:45:34,440
like 12 different content collections.

1054
00:45:35,500 --> 00:45:40,780
And because, first of all, it's a mostly volunteer-run organization,

1055
00:45:41,140 --> 00:45:43,340
so they, again, also don't have permanent stuff.

1056
00:45:43,720 --> 00:45:44,700
Right now they have a tech person,

1057
00:45:45,160 --> 00:45:48,300
and this tech person is the only person who knows their way around in directors.

1058
00:45:49,120 --> 00:45:50,780
And we're going to leave it as it is for now

1059
00:45:50,850 --> 00:45:52,480
because we're focusing on the website relaunch.

1060
00:45:52,860 --> 00:45:58,040
but right now we are migrating away from SvelteKit 1 to Astro

1061
00:45:59,000 --> 00:46:01,760
just for the sake of the stability for the next year or so.

1062
00:46:02,140 --> 00:46:06,900
Like I think in, I don't know, like when SvelteKit 3 is out,

1063
00:46:07,240 --> 00:46:09,980
I think if it would have been out, I would have made the decision differently.

1064
00:46:10,260 --> 00:46:13,220
But right now, especially because I want to basically make sure

1065
00:46:13,240 --> 00:46:15,480
that they can operate next year on their own

1066
00:46:15,480 --> 00:46:16,460
and do

1067
00:46:16,460 --> 00:46:17,000
tiny updates,

1068
00:46:17,380 --> 00:46:18,840
I'm migrating them to Astro.

1069
00:46:19,600 --> 00:46:30,160
I think what I like about both SvelteKit and Astro is the way how pages are structured, how slacks work, file-based routing, it's actually very easy then to translate back and forth

1070
00:46:30,160 --> 00:46:31,540
as long as your

1071
00:46:31,540 --> 00:46:35,840
content collection is somewhat stable or in an organized state.

1072
00:46:35,870 --> 00:46:38,880
So there is no big loss for them right now.

1073
00:46:39,590 --> 00:46:46,100
And those pages are mostly either fully static or they just need a tiny dynamic part.

1074
00:46:46,500 --> 00:46:46,620
Yeah.

1075
00:46:46,800 --> 00:46:49,600
So, yeah, I mean, right.

1076
00:46:50,300 --> 00:46:51,820
Astro works and SvelteKit works as well.

1077
00:46:52,560 --> 00:46:55,120
Those websites where you need server-side rendering

1078
00:46:55,320 --> 00:46:56,120
or something dynamic,

1079
00:46:57,060 --> 00:46:58,480
obviously those are a bigger concern.

1080
00:46:58,960 --> 00:47:00,940
And yeah, I need to make up my mind yet

1081
00:47:01,180 --> 00:47:05,280
because this year I built this whole ecosystem

1082
00:47:05,660 --> 00:47:06,900
for a community survey app.

1083
00:47:07,240 --> 00:47:07,880
It's like everything.

1084
00:47:08,080 --> 00:47:09,360
It's like the Superbase with database.

1085
00:47:09,520 --> 00:47:11,520
Everything is self-hosted also for privacy reasons.

1086
00:47:12,340 --> 00:47:13,520
And I'm operating the server

1087
00:47:13,760 --> 00:47:15,960
and I will continue doing so next year.

1088
00:47:17,720 --> 00:47:22,400
again there's this opportunity as soon as all the breaking changes arrive in SvelteKit

1089
00:47:22,900 --> 00:47:27,200
I can test it out for myself and I can use this production app basically obviously on a

1090
00:47:27,400 --> 00:47:31,680
development branch right to test all of it to figure out what works what doesn't and if there

1091
00:47:31,680 --> 00:47:35,960
is something broken you know I can open an issue or talk to the maintainers or something like this

1092
00:47:36,220 --> 00:47:42,359
and this is I think also like something where I can I can just create my own time you know take

1093
00:47:42,380 --> 00:47:47,040
my own time to do this because i can kind of you know control the timeline when things have to

1094
00:47:47,130 --> 00:47:51,980
happen and i'm not sure how this works in the company unless you are very very senior and

1095
00:47:52,250 --> 00:47:54,180
you know your your pm or whoever is

1096
00:47:54,180 --> 00:47:54,600
like

1097
00:47:54,600 --> 00:47:55,720
trusting you a lot

1098
00:47:55,720 --> 00:47:58,680
i mean in in a company you you always

1099
00:47:58,860 --> 00:48:02,600
have to it's all about profit in the end right like it's

1100
00:48:02,600 --> 00:48:03,600
something costs

1101
00:48:03,600 --> 00:48:04,480
money you have to earn

1102
00:48:04,600 --> 00:48:07,540
money so there's some priority of like and even like an upgrade

1103
00:48:07,540 --> 00:48:10,700
has to have like some cost value

1104
00:48:10,700 --> 00:48:16,660
to them to be able to get it done yeah and with the work that you're doing with the ngos like

1105
00:48:16,910 --> 00:48:21,800
yeah it's like you have this free playground but you also have consumers of the app you have to

1106
00:48:21,960 --> 00:48:27,380
think of and like you said you're putting them on astro for stability so that they have access to

1107
00:48:27,380 --> 00:48:30,340
the things that they need when you're not there anymore

1108
00:48:30,340 --> 00:48:34,720
yeah um so any other thoughts and questions

1109
00:48:34,720 --> 00:48:36,300
and stuff about NGOs.

1110
00:48:37,780 --> 00:48:39,860
I've run all out of my questions.

1111
00:48:41,400 --> 00:48:43,460
I can add one because you asked about the upsides

1112
00:48:43,470 --> 00:48:44,440
of working with NGOs.

1113
00:48:44,670 --> 00:48:47,340
And there's like this obvious thing is like you are helping

1114
00:48:47,940 --> 00:48:49,560
usually good people do good things.

1115
00:48:50,180 --> 00:48:50,440
And

1116
00:48:50,440 --> 00:48:53,520
if you help them, sometimes they have a very particular idea.

1117
00:48:53,900 --> 00:48:58,360
Like once we built a website for a basically meetup

1118
00:48:58,680 --> 00:49:01,420
with parliamentarians because they wanted to impact legislation

1119
00:49:02,240 --> 00:49:03,400
with regards to Telegram.

1120
00:49:04,340 --> 00:49:10,160
So we had like a hard deadline and then we launched the website exactly for this event, like in particular for this event.

1121
00:49:10,750 --> 00:49:12,940
And so they succeeded.

1122
00:49:13,320 --> 00:49:14,800
This legislation then followed or

1123
00:49:14,800 --> 00:49:15,140
it happened.

1124
00:49:15,160 --> 00:49:15,460
Oh, nice.

1125
00:49:16,320 --> 00:49:16,540
Right.

1126
00:49:16,880 --> 00:49:23,660
Or sometimes you enable them to do, you know, like even just a simple, this is your own self-hosted newsletter or management thing.

1127
00:49:23,830 --> 00:49:33,620
And they're like so happy because, you know, they promise to their community that this is like privacy first and nothing, you know, is collected by other companies.

1128
00:49:34,020 --> 00:49:36,720
And then they can follow up and basically deliver on this promise.

1129
00:49:37,360 --> 00:49:37,460
Yeah.

1130
00:49:37,960 --> 00:49:42,340
And they don't have to pay thousands of dollars for an email marketing solution.

1131
00:49:42,500 --> 00:49:42,640
Especially

1132
00:49:42,640 --> 00:49:47,440
like this big project, which is called the AfroZensus, which was like a large

1133
00:49:47,620 --> 00:49:50,260
end survey of this German African community.

1134
00:49:51,020 --> 00:49:53,040
This product, we relaunched it.

1135
00:49:53,140 --> 00:49:53,640
It's still online.

1136
00:49:53,780 --> 00:49:55,220
It's been online for three or four years.

1137
00:49:55,700 --> 00:50:00,980
And this is like also a dashboard for the community itself, because all those people, many of them

1138
00:50:00,960 --> 00:50:02,940
have suffered discrimination

1139
00:50:03,600 --> 00:50:04,140
or they have been,

1140
00:50:04,190 --> 00:50:04,880
you know, I don't know,

1141
00:50:05,060 --> 00:50:07,000
like been discriminated

1142
00:50:07,030 --> 00:50:07,540
by the police

1143
00:50:07,780 --> 00:50:08,520
on the housing market

1144
00:50:08,590 --> 00:50:08,940
and whatever.

1145
00:50:09,460 --> 00:50:10,480
And this data set

1146
00:50:10,800 --> 00:50:11,380
that the motivation

1147
00:50:11,410 --> 00:50:12,020
for this dashboard

1148
00:50:12,200 --> 00:50:13,880
was actually to revalidate

1149
00:50:13,950 --> 00:50:14,320
the people,

1150
00:50:14,680 --> 00:50:15,640
the people's experiences,

1151
00:50:16,440 --> 00:50:16,580
you know?

1152
00:50:16,610 --> 00:50:17,880
So we are not selling something.

1153
00:50:18,480 --> 00:50:19,100
We are basically

1154
00:50:19,360 --> 00:50:20,140
just helping people

1155
00:50:20,380 --> 00:50:21,320
to understand

1156
00:50:21,660 --> 00:50:22,500
that what they are like,

1157
00:50:23,300 --> 00:50:23,660
what is it?

1158
00:50:23,940 --> 00:50:24,500
Living through

1159
00:50:24,940 --> 00:50:25,900
is not unique to them

1160
00:50:26,180 --> 00:50:27,320
and it's actually a thing.

1161
00:50:27,880 --> 00:50:28,260
So there is

1162
00:50:28,260 --> 00:50:28,700
discrimination

1163
00:50:28,890 --> 00:50:29,200
in society

1164
00:50:29,490 --> 00:50:30,340
and they are validated.

1165
00:50:30,380 --> 00:50:31,680
and just this

1166
00:50:32,150 --> 00:50:34,360
I think actually it uplifted the whole

1167
00:50:34,580 --> 00:50:35,680
community you know and

1168
00:50:35,680 --> 00:50:36,200
then they

1169
00:50:36,580 --> 00:50:38,280
basically think about bigger plans

1170
00:50:38,440 --> 00:50:40,420
and bigger ideas and they have this thing

1171
00:50:40,560 --> 00:50:42,000
that they can use for advocacy

1172
00:50:42,110 --> 00:50:44,320
they can go to politicians show them the

1173
00:50:44,440 --> 00:50:46,300
website and the dashboard and I was like

1174
00:50:46,330 --> 00:50:48,280
no we are talking about thousands of

1175
00:50:48,400 --> 00:50:50,100
cases of discrimination just

1176
00:50:50,380 --> 00:50:52,440
by police forces or something like this

1177
00:50:52,720 --> 00:50:54,320
right yeah so it's very rewarding

1178
00:50:54,560 --> 00:50:54,700
actually

1179
00:50:55,720 --> 00:50:57,580
yeah that does sound very fun

1180
00:50:59,060 --> 00:51:00,340
well I mean not the

1181
00:51:00,360 --> 00:51:02,160
issues themselves, but rewarding.

1182
00:51:02,300 --> 00:51:02,700
Yeah, yeah, yeah.

1183
00:51:04,800 --> 00:51:05,220
All right.

1184
00:51:05,540 --> 00:51:10,980
So I think we, unless anyone has another question,

1185
00:51:12,040 --> 00:51:15,400
then we move on to the controversial parts of the

1186
00:51:15,400 --> 00:51:15,840
episode.

1187
00:51:15,840 --> 00:51:16,360
Oh, no.

1188
00:51:19,840 --> 00:51:21,200
So unpopular opinions.

1189
00:51:22,540 --> 00:51:23,280
Do you guys have one?

1190
00:51:24,780 --> 00:51:25,960
Who wants to go first?

1191
00:51:26,580 --> 00:51:26,660
Anthony?

1192
00:51:26,860 --> 00:51:27,740
About self-hosting.

1193
00:51:28,240 --> 00:51:29,480
It's going to be a health leader.

1194
00:51:30,160 --> 00:51:31,780
I have a bond,

1195
00:51:32,600 --> 00:51:32,760
yes.

1196
00:51:33,960 --> 00:51:34,480
Let's hear it.

1197
00:51:35,580 --> 00:51:36,300
It's not that controversial.

1198
00:51:36,780 --> 00:51:37,320
It's not that controversial.

1199
00:51:37,720 --> 00:51:39,960
It's just something that was relevant to me today,

1200
00:51:40,300 --> 00:51:41,960
so I was thinking about it and made people disagree.

1201
00:51:42,780 --> 00:51:45,220
I'm sure people can argue over it because they argue over everything, right?

1202
00:51:47,000 --> 00:51:51,280
My controversial opinion is that people should store states, not effects.

1203
00:51:52,200 --> 00:51:56,460
And by this, I mean something like if you're dependent,

1204
00:51:56,720 --> 00:51:59,280
if you're wondering about the state of something being approved,

1205
00:51:59,940 --> 00:52:03,820
the effects of something being approved is that it gets published or promoted or featured, whatever.

1206
00:52:04,680 --> 00:52:07,460
There was a lot of discussion with my team today about what it should be called,

1207
00:52:07,620 --> 00:52:11,440
whether it should be called published or published at the date of when it's published,

1208
00:52:12,480 --> 00:52:16,860
or the designer wants to call it featured because she's going to use featured stuff on the front end.

1209
00:52:18,580 --> 00:52:21,280
Promotion, because it might relate to promoting things at some point.

1210
00:52:22,020 --> 00:52:24,680
And all this kind of backshedding about what the name should be,

1211
00:52:25,260 --> 00:52:29,840
it occurred to me that the actual thing here is a state of something being

1212
00:52:30,020 --> 00:52:34,460
approved or not approved is what we should be storing because everything else

1213
00:52:34,490 --> 00:52:37,940
is kind of like things that you can do with that thing because it is approved.

1214
00:52:38,260 --> 00:52:42,760
It's just the effects of it being approved rather than the actual state of the

1215
00:52:42,970 --> 00:52:43,080
object.

1216
00:52:43,380 --> 00:52:48,580
So we store approved in database or approval and then we store who approved it

1217
00:52:48,680 --> 00:52:52,080
and then we store a date and everything else is kind of like hanging off that.

1218
00:52:52,500 --> 00:52:52,600
So

1219
00:52:52,600 --> 00:52:53,720
store states,

1220
00:52:53,790 --> 00:52:54,260
not effects.

1221
00:52:55,580 --> 00:52:56,380
interesting i

1222
00:52:56,380 --> 00:53:00,440
thought you were gonna talk about uh effect.ts like no

1223
00:53:00,440 --> 00:53:02,140
no no type script library

1224
00:53:03,000 --> 00:53:08,260
as part of our huge migration to salt 5 we are um i'm now learning about effect and everything else

1225
00:53:08,260 --> 00:53:09,900
and it's all interesting stuff

1226
00:53:09,900 --> 00:53:15,040
all right does anyone else have a have a

1227
00:53:16,880 --> 00:53:17,760
and unpopular opinions

1228
00:53:20,660 --> 00:53:21,720
Brittany no

1229
00:53:23,080 --> 00:53:23,760
I am

1230
00:53:23,760 --> 00:53:24,740
trying to think

1231
00:53:25,500 --> 00:53:25,580
I'm

1232
00:53:25,580 --> 00:53:26,180
in a pretty good mood

1233
00:53:26,180 --> 00:53:26,520
today

1234
00:53:27,560 --> 00:53:28,200
nice

1235
00:53:30,900 --> 00:53:31,600
yeah I mean I

1236
00:53:31,640 --> 00:53:34,420
I have my standing unpopular

1237
00:53:34,640 --> 00:53:36,500
opinion about more people

1238
00:53:36,540 --> 00:53:37,340
should self host

1239
00:53:38,840 --> 00:53:39,820
by the way

1240
00:53:40,940 --> 00:53:41,260
by the way

1241
00:53:41,680 --> 00:53:43,240
do away with all the CDNs

1242
00:53:44,380 --> 00:53:45,020
yeah

1243
00:53:45,760 --> 00:53:47,420
so you don't go down when Cloudflare goes down

1244
00:53:47,660 --> 00:53:49,160
have you seen those memes online

1245
00:53:49,560 --> 00:53:50,820
so you've seen that

1246
00:53:51,640 --> 00:53:53,260
XKCD comic thing right

1247
00:53:53,700 --> 00:53:54,780
where it's like

1248
00:53:55,460 --> 00:53:57,500
boxes and stuff are stacked on top of each other

1249
00:53:57,520 --> 00:53:58,740
and then there's like this small

1250
00:53:59,320 --> 00:54:00,640
small box at the bottom

1251
00:54:01,740 --> 00:54:02,220
right

1252
00:54:03,000 --> 00:54:04,060
there's been a bunch

1253
00:54:04,060 --> 00:54:04,980
of those memes now

1254
00:54:05,600 --> 00:54:06,000
lately

1255
00:54:06,980 --> 00:54:08,960
I mean it was like GitHub was down

1256
00:54:09,280 --> 00:54:11,000
and like you couldn't code yesterday

1257
00:54:11,780 --> 00:54:12,340
with any like

1258
00:54:12,940 --> 00:54:13,960
GitHub was down as

1259
00:54:13,960 --> 00:54:14,340
well

1260
00:54:14,880 --> 00:54:19,140
yeah there's a lot of stuff down should i self-host git is this by

1261
00:54:19,140 --> 00:54:19,560
the way i'm

1262
00:54:19,560 --> 00:54:20,540
hearing from this yeah

1263
00:54:21,040 --> 00:54:24,540
oh that would be i mean it's not that bad there's

1264
00:54:24,540 --> 00:54:26,180
like lots of solutions for it but

1265
00:54:26,420 --> 00:54:28,980
you already self-host git right that's literally what git is

1266
00:54:30,660 --> 00:54:33,920
sure but but you know what i mean right you would have to

1267
00:54:33,920 --> 00:54:35,600
share it if you wanted to work with anyone

1268
00:54:36,240 --> 00:54:37,140
but yeah yeah but you

1269
00:54:37,140 --> 00:54:39,840
can share it you just get into remote into your machine and pull from your

1270
00:54:39,940 --> 00:54:41,140
your git yeah that

1271
00:54:41,140 --> 00:54:42,060
seems safe

1272
00:54:42,060 --> 00:54:46,080
you are but you but you're self-hosting by the way but you are

1273
00:54:46,980 --> 00:54:49,660
um you are the the server right and and

1274
00:54:49,660 --> 00:54:50,580
git habit is

1275
00:54:50,580 --> 00:54:51,300
just another server

1276
00:54:52,320 --> 00:54:52,900
and you're

1277
00:54:52,900 --> 00:54:57,640
just syncing them when you when you pull right let me let me clarify let me clarify

1278
00:54:59,120 --> 00:55:07,540
should i self-host a git repository gui and hosting solution for my git repositories

1279
00:55:07,920 --> 00:55:08,140
that I

1280
00:55:08,140 --> 00:55:09,020
can reach online

1281
00:55:09,020 --> 00:55:10,140
from

1282
00:55:10,140 --> 00:55:10,820
other...

1283
00:55:10,860 --> 00:55:12,300
That sounds like another side project

1284
00:55:12,500 --> 00:55:13,540
that'll take you five years.

1285
00:55:14,220 --> 00:55:14,620
What?

1286
00:55:14,880 --> 00:55:16,040
No, there's like

1287
00:55:16,040 --> 00:55:16,660
lots of them,

1288
00:55:16,760 --> 00:55:16,860
like

1289
00:55:16,860 --> 00:55:18,160
GitLab,

1290
00:55:18,520 --> 00:55:19,140
Gidea.

1291
00:55:20,240 --> 00:55:20,980
I used to use one.

1292
00:55:21,180 --> 00:55:22,220
I used to self-host,

1293
00:55:22,360 --> 00:55:22,720
by the way,

1294
00:55:22,980 --> 00:55:25,080
on DreamHost when I was on DreamHost

1295
00:55:25,100 --> 00:55:27,240
and I had all the Git repositories on DreamHost

1296
00:55:27,820 --> 00:55:28,660
and I was using one there

1297
00:55:28,660 --> 00:55:29,960
and I had some kind of UI

1298
00:55:30,080 --> 00:55:31,080
and I couldn't remember what it was.

1299
00:55:31,720 --> 00:55:32,360
It wasn't very good.

1300
00:55:32,360 --> 00:55:33,480
It wasn't anything like GitHub.

1301
00:55:33,560 --> 00:55:35,280
I was very excited to not self-host,

1302
00:55:35,340 --> 00:55:36,720
by the way, onto GitHub.

1303
00:55:37,480 --> 00:55:37,640
Yeah.

1304
00:55:38,420 --> 00:55:39,380
Which is free, by the way.

1305
00:55:40,860 --> 00:55:41,460
GitHub is free.

1306
00:55:42,260 --> 00:55:43,240
Until we run into limits.

1307
00:55:44,560 --> 00:55:45,240
Well, yes,

1308
00:55:45,460 --> 00:55:46,320
but I've

1309
00:55:46,320 --> 00:55:48,140
run the whole of Biancon GitHub free

1310
00:55:48,340 --> 00:55:50,560
for literally until like three months ago.

1311
00:55:50,800 --> 00:55:52,720
I mean, I don't think the limits are that harsh.

1312
00:55:52,820 --> 00:55:52,960
Those

1313
00:55:52,960 --> 00:55:53,920
free credits, man.

1314
00:55:54,480 --> 00:55:57,080
Do you have like popular opinion?

1315
00:55:57,440 --> 00:55:58,280
I don't know.

1316
00:55:58,540 --> 00:56:00,600
Like, did anyone have access to Copilot

1317
00:56:00,700 --> 00:56:01,780
and it just got taken away?

1318
00:56:03,580 --> 00:56:04,700
I do have access to Copilot.

1319
00:56:04,840 --> 00:56:05,980
I've not checked because Copilot,

1320
00:56:06,100 --> 00:56:07,180
I don't find it that useful.

1321
00:56:08,140 --> 00:56:15,200
so i i don't either as like an ai tool but for like when you're typing something it would auto

1322
00:56:15,400 --> 00:56:18,680
generate it and typically know what i was typing so it was much

1323
00:56:18,680 --> 00:56:19,500
faster you

1324
00:56:19,500 --> 00:56:21,360
just hit tab i have lost

1325
00:56:21,540 --> 00:56:24,220
that now and i feel like my

1326
00:56:24,220 --> 00:56:28,240
productivity has gone down like so i've had

1327
00:56:28,240 --> 00:56:29,420
free access for

1328
00:56:30,010 --> 00:56:31,220
three years or however long

1329
00:56:31,220 --> 00:56:32,780
it's why i

1330
00:56:32,780 --> 00:56:35,340
don't know like i was a member of an organization

1331
00:56:36,100 --> 00:56:37,380
that got free membership.

1332
00:56:37,500 --> 00:56:40,240
I would get a monthly email from them saying,

1333
00:56:40,360 --> 00:56:41,520
your membership has been renewed.

1334
00:56:42,060 --> 00:56:45,760
And then last month, just all of a sudden stripped it away.

1335
00:56:46,860 --> 00:56:47,120
I

1336
00:56:47,120 --> 00:56:48,560
don't know what organization it was.

1337
00:56:48,560 --> 00:56:50,880
It never like had any of that in the email.

1338
00:56:51,420 --> 00:56:51,520
Yeah.

1339
00:56:52,120 --> 00:56:55,140
So I don't know, like, what do I need to do to get this back?

1340
00:56:55,740 --> 00:56:56,000
I don't want

1341
00:56:56,000 --> 00:56:57,140
to pay $100 in a month.

1342
00:56:57,160 --> 00:56:58,000
You need to pay for it.

1343
00:56:59,740 --> 00:57:01,300
I don't know that it's worth that,

1344
00:57:01,500 --> 00:57:04,460
but like I missed that easy productivity.

1345
00:57:04,780 --> 00:57:09,940
Like I have the, I use the at component syntax in a lot of my components at the bottom that

1346
00:57:10,100 --> 00:57:11,440
has like the component documentation.

1347
00:57:12,070 --> 00:57:12,200
And

1348
00:57:12,200 --> 00:57:12,720
it's basically

1349
00:57:12,720 --> 00:57:15,800
marked down in a comment in Svelte.

1350
00:57:15,910 --> 00:57:19,400
I need to, I need to, a lot of that would just auto generate for me.

1351
00:57:19,740 --> 00:57:22,560
And so like things like that, it's so helpful for.

1352
00:57:23,340 --> 00:57:23,560
Yeah.

1353
00:57:24,220 --> 00:57:28,160
That's kind of, it's like one of those hidden features that I always forget about.

1354
00:57:28,840 --> 00:57:30,020
Like the documenting the

1355
00:57:30,020 --> 00:57:31,100
components.

1356
00:57:31,100 --> 00:57:31,360
Oh yeah.

1357
00:57:31,680 --> 00:57:34,100
It's so clutch for a design system.

1358
00:57:35,060 --> 00:57:36,880
I'm going to put it in the show notes.

1359
00:57:37,040 --> 00:57:37,820
It works

1360
00:57:37,820 --> 00:57:39,320
so well with our IntelliSense.

1361
00:57:39,410 --> 00:57:41,560
You hover over the component when you use it

1362
00:57:41,560 --> 00:57:44,140
and you can see all the properties that it has.

1363
00:57:44,520 --> 00:57:46,480
I have this nice table format I use

1364
00:57:46,480 --> 00:57:49,640
and it'll show you basically like a storybook thing

1365
00:57:49,780 --> 00:57:51,180
that's not interactive, obviously,

1366
00:57:51,420 --> 00:57:51,760
but you can

1367
00:57:51,760 --> 00:57:52,740
see everything that

1368
00:57:52,740 --> 00:57:53,140
you need.

1369
00:57:53,920 --> 00:57:54,640
Yeah, yeah.

1370
00:57:55,700 --> 00:57:56,000
It's nice.

1371
00:57:56,240 --> 00:57:57,440
Taching feature.

1372
00:57:58,000 --> 00:57:58,380
That'll

1373
00:57:58,380 --> 00:57:59,000
be my pick.

1374
00:57:59,560 --> 00:58:01,820
I'm sure I've picked that before, but I'll put that.

1375
00:58:02,840 --> 00:58:03,800
It's worth picking again.

1376
00:58:05,100 --> 00:58:06,020
add components, yeah.

1377
00:58:07,760 --> 00:58:09,740
So Ilya, do you have an unpopular opinion?

1378
00:58:10,880 --> 00:58:13,420
Yeah, I'm not sure if I should say it out loud or not.

1379
00:58:16,100 --> 00:58:19,580
So I like types and I like IntelliSense and all this stuff,

1380
00:58:19,760 --> 00:58:23,640
but I think I'm with Rich and I'm not sure

1381
00:58:23,720 --> 00:58:25,260
if it's most of the core maintainers,

1382
00:58:25,400 --> 00:58:27,560
but basically I prefer JSDoc over TypeScript

1383
00:58:27,820 --> 00:58:29,020
for many, many, many reasons.

1384
00:58:29,780 --> 00:58:32,520
And the main reason is because JSDoc helps me

1385
00:58:32,600 --> 00:58:33,560
to keep the code readable.

1386
00:58:34,200 --> 00:58:36,040
so I don't need to think about types

1387
00:58:36,200 --> 00:58:36,940
when I'm reading the code

1388
00:58:37,720 --> 00:58:38,400
I'm reading

1389
00:58:38,400 --> 00:58:38,820
the code

1390
00:58:38,820 --> 00:58:39,680
when I'm reading the code

1391
00:58:39,940 --> 00:58:42,220
and I think that the way how TypeScript works

1392
00:58:43,120 --> 00:58:44,000
is not the best solution

1393
00:58:44,180 --> 00:58:46,080
for providing types or defining types

1394
00:58:46,500 --> 00:58:48,400
so I'm a big JS docs fan

1395
00:58:48,780 --> 00:58:50,140
I actually agree with that

1396
00:58:50,160 --> 00:58:51,900
but I hate writing JS docs

1397
00:58:52,160 --> 00:58:52,880
so I like

1398
00:58:52,880 --> 00:58:54,340
writing TypeScript better

1399
00:58:55,360 --> 00:58:56,300
see this is why

1400
00:58:56,300 --> 00:58:57,360
we are paying for Copilot

1401
00:58:57,520 --> 00:58:59,580
because it then infers all the stuff

1402
00:59:01,540 --> 00:59:02,700
or rather Cursor

1403
00:59:02,720 --> 00:59:03,820
I'm using Chorazone.

1404
00:59:04,540 --> 00:59:04,640
Yeah.

1405
00:59:06,360 --> 00:59:06,700
All right.

1406
00:59:07,120 --> 00:59:07,380
Picks?

1407
00:59:08,660 --> 00:59:08,800
Brittany?

1408
00:59:08,900 --> 00:59:09,720
I have one of those too.

1409
00:59:10,640 --> 00:59:10,840
Brittany?

1410
00:59:10,940 --> 00:59:11,420
Brittany can go

1411
00:59:11,420 --> 00:59:11,560
first.

1412
00:59:11,620 --> 00:59:12,320
Mine's already done.

1413
00:59:12,920 --> 00:59:12,980
Yeah.

1414
00:59:13,320 --> 00:59:13,760
Add component documentation.

1415
00:59:13,760 --> 00:59:13,780
I

1416
00:59:13,780 --> 00:59:14,820
don't have to talk about it again.

1417
00:59:17,120 --> 00:59:17,440
All right.

1418
00:59:17,600 --> 00:59:17,720
Anthony?

1419
00:59:19,280 --> 00:59:19,480
Yeah.

1420
00:59:19,840 --> 00:59:21,660
So my pick this week,

1421
00:59:22,100 --> 00:59:24,240
Shock, Horror, and Surprise is a technical pick.

1422
00:59:26,020 --> 00:59:27,520
My pick is Friendly Capture.

1423
00:59:28,480 --> 00:59:30,119
And the reason it's Friendly Capture

1424
00:59:30,400 --> 00:59:33,780
is because it is GDPR compliant,

1425
00:59:34,310 --> 00:59:34,640
European That's

1426
00:59:34,640 --> 00:59:35,600
an oxymoron.

1427
00:59:35,880 --> 00:59:36,260
Based.

1428
00:59:37,240 --> 00:59:37,360
How do

1429
00:59:37,360 --> 00:59:37,640
you mean?

1430
00:59:39,320 --> 00:59:39,840
A friendly

1431
00:59:39,840 --> 00:59:41,620
CAPTCHA is an oxymoron.

1432
00:59:42,620 --> 00:59:42,720
Well,

1433
00:59:42,790 --> 00:59:44,460
no, it's not. Because one

1434
00:59:44,460 --> 00:59:45,880
of the things that I like about it, which I

1435
00:59:45,880 --> 00:59:48,200
didn't, it's not why I chose it, but I

1436
00:59:48,200 --> 00:59:51,400
like about it, is it's self-solving. So if

1437
00:59:51,400 --> 00:59:54,000
you go to the site and you see the CAPTCHA, it will,

1438
00:59:54,060 --> 00:59:55,720
whilst you're filling in the signup form,

1439
00:59:55,800 --> 01:00:01,060
whatever it will it will solve by doing cryptographic puzzles in your browser and it

1440
01:00:01,060 --> 01:00:01,140
will

1441
01:00:01,360 --> 01:00:04,580
doesn't that defeat the purpose of the captcha no

1442
01:00:04,580 --> 01:00:07,320
because i am not i am not a bot so

1443
01:00:07,320 --> 01:00:08,380
if you were a

1444
01:00:08,580 --> 01:00:16,140
bot if if you were a bot it would not self-solve right this is this is how it works it's the same

1445
01:00:16,200 --> 01:00:22,280
way as recapture will just not appear if uh if it detects you're not high risk this does something

1446
01:00:22,280 --> 01:00:25,760
a little bit different maybe you know arguably i don't know how it works exactly but a little bit

1447
01:00:26,400 --> 01:00:27,980
in that it will self-solve in your browser

1448
01:00:28,570 --> 01:00:30,540
because it will know that you're not a bot

1449
01:00:30,720 --> 01:00:31,480
and you're a low risk,

1450
01:00:31,630 --> 01:00:34,280
but it's just eradicating any remaining risk, right?

1451
01:00:34,660 --> 01:00:36,980
If you were using some automation or something like that,

1452
01:00:37,040 --> 01:00:38,260
I imagine it wouldn't solve.

1453
01:00:39,720 --> 01:00:39,860
Yeah.

1454
01:00:40,020 --> 01:00:41,180
I need something like

1455
01:00:41,180 --> 01:00:41,460
that.

1456
01:00:41,750 --> 01:00:41,860
I

1457
01:00:41,860 --> 01:00:42,660
know I've talked about

1458
01:00:42,660 --> 01:00:43,880
the Pokemon stuff before,

1459
01:00:44,140 --> 01:00:47,520
but like the recapture is getting insane on Pokemon Center

1460
01:00:48,060 --> 01:00:48,820
and you have to like,

1461
01:00:49,580 --> 01:00:54,700
the latest one has been like a bird house

1462
01:00:54,980 --> 01:01:00,640
and you have to pick which animal will go in this thing in the picture and it's a birdhouse so you

1463
01:01:00,640 --> 01:01:04,520
have to pick the birds but you have to do it over like three times

1464
01:01:04,520 --> 01:01:06,220
right so you have to pick four

1465
01:01:06,490 --> 01:01:06,620
birds

1466
01:01:06,620 --> 01:01:09,340
three times in a row to get through this recapture

1467
01:01:09,340 --> 01:01:13,420
it's getting crazy like the

1468
01:01:13,420 --> 01:01:14,520
you

1469
01:01:14,520 --> 01:01:15,280
need a

1470
01:01:15,600 --> 01:01:21,320
phd at some point to do captures yeah i've i've just got a new pick

1471
01:01:21,320 --> 01:01:23,020
as well so i just because my

1472
01:01:22,940 --> 01:01:26,400
wife just messaged me she says that because we're trying to book holiday we're trying to book a

1473
01:01:26,560 --> 01:01:31,460
first holiday and like it's literally been like five years since i've been a real holiday um and

1474
01:01:31,560 --> 01:01:35,640
she's found one she's the place we want to go they have a they have a plan you can go there like an

1475
01:01:35,640 --> 01:01:38,780
all-inclusive thing and it comes with a 24-hour butler

1476
01:01:38,780 --> 01:01:42,340
oh yeah that sounds horrible it sounds

1477
01:01:42,540 --> 01:01:45,280
amazing that sounds amazing you just call them up and

1478
01:01:45,280 --> 01:01:48,980
yeah and they they deliver i think tattinger

1479
01:01:49,000 --> 01:01:55,500
champagne to your room every day i mean it just sounds very expensive i

1480
01:01:55,500 --> 01:01:57,980
don't remember mcl mc it's

1481
01:01:58,320 --> 01:01:59,620
like a cruise line um

1482
01:01:59,620 --> 01:02:01,100
mcl they

1483
01:02:01,100 --> 01:02:05,320
um we were supposed to go to rome italy and leave off and

1484
01:02:05,840 --> 01:02:07,660
do a mediterranean cruise right

1485
01:02:07,660 --> 01:02:08,740
when covid hit

1486
01:02:08,740 --> 01:02:10,760
and it got canceled but it was gonna have a private

1487
01:02:10,860 --> 01:02:11,940
concierge 24

1488
01:02:11,940 --> 01:02:13,280
hours in

1489
01:02:13,280 --> 01:02:14,300
the room and i'm

1490
01:02:14,300 --> 01:02:17,880
like do you do you actually end up using those like whenever

1491
01:02:17,900 --> 01:02:18,540
i'm at a hotel

1492
01:02:18,540 --> 01:02:22,260
i've never had the opportunity to but i probably would

1493
01:02:22,260 --> 01:02:23,100
right i've

1494
01:02:23,100 --> 01:02:23,460
caught i've

1495
01:02:23,620 --> 01:02:25,100
called room service before

1496
01:02:25,100 --> 01:02:25,800
i mean

1497
01:02:25,800 --> 01:02:27,540
it's like similar but more personal

1498
01:02:27,540 --> 01:02:29,140
i

1499
01:02:29,140 --> 01:02:29,600
will definitely

1500
01:02:29,920 --> 01:02:30,980
use the bottle of champagne

1501
01:02:30,980 --> 01:02:32,500
every day i

1502
01:02:32,500 --> 01:02:34,240
mean because because you can say to the butler

1503
01:02:34,660 --> 01:02:37,360
we're going to go to the beach take our towels on the beach for us yeah

1504
01:02:37,360 --> 01:02:39,160
like so nice

1505
01:02:39,160 --> 01:02:39,640
yeah we'll

1506
01:02:39,680 --> 01:02:41,020
see you there the amount

1507
01:02:41,020 --> 01:02:42,640
of your own towels i want on

1508
01:02:42,640 --> 01:02:43,160
my vacation

1509
01:02:43,160 --> 01:02:46,380
no but why i don't want to bring

1510
01:02:46,400 --> 01:02:47,120
my house

1511
01:02:48,040 --> 01:02:49,040
I have children to carry

1512
01:02:49,780 --> 01:02:50,400
take my children

1513
01:02:50,600 --> 01:02:52,000
take my children to the beach

1514
01:02:56,340 --> 01:02:58,640
so your second pick is 24-7

1515
01:02:58,900 --> 01:02:59,020
Butler

1516
01:03:00,380 --> 01:03:02,320
well my second pick is

1517
01:03:02,360 --> 01:03:02,800
this holiday,

1518
01:03:02,980 --> 01:03:03,520
it sounds great

1519
01:03:05,420 --> 01:03:06,340
where is that?

1520
01:03:07,540 --> 01:03:08,340
it's in the Maldives

1521
01:03:10,300 --> 01:03:10,780
it's a

1522
01:03:10,780 --> 01:03:11,700
little out of

1523
01:03:11,700 --> 01:03:12,160
the Maldives

1524
01:03:12,260 --> 01:03:13,440
it'd be beautiful, well

1525
01:03:13,440 --> 01:03:14,160
when we book it

1526
01:03:14,180 --> 01:03:15,460
it will be, it's still not booked it

1527
01:03:15,380 --> 01:03:19,500
we're still there's still a millionaring but we book it for hopefully next month

1528
01:03:19,500 --> 01:03:20,900
i'm sure that's

1529
01:03:21,000 --> 01:03:24,720
very similar to hawaii that's what we're going to january yeah

1530
01:03:24,720 --> 01:03:26,600
well hawaii was on our list but we

1531
01:03:26,920 --> 01:03:31,280
i mean we love the maldives so i'm excited to go again especially be the first time the kids have

1532
01:03:31,400 --> 01:03:36,220
been to like well first time they've been a holiday which is shocking really but um definitely first

1533
01:03:36,300 --> 01:03:40,360
time maldives so i think they'll like it we get we're not gonna have a water bill this time because

1534
01:03:40,360 --> 01:03:44,260
the thought of having kids in a water villa treading out into the sea is not

1535
01:03:44,260 --> 01:03:45,340
amazing so

1536
01:03:45,360 --> 01:03:47,420
kids are a little young for that yeah

1537
01:03:47,420 --> 01:03:49,000
yeah this all just

1538
01:03:49,000 --> 01:03:49,540
sounds very

1539
01:03:49,540 --> 01:03:50,580
expensive we're gonna go

1540
01:03:50,860 --> 01:03:51,120
kayaking

1541
01:03:51,120 --> 01:03:56,560
and snorkeling and all the things exactly a lot of fun paddling

1542
01:03:58,560 --> 01:04:03,400
we like to flip it on its head kev we don't go it's very expensive might be fun we say it's fun

1543
01:04:03,400 --> 01:04:04,860
but it'll be expensive right because

1544
01:04:04,860 --> 01:04:05,820
you know okay

1545
01:04:05,820 --> 01:04:08,100
i i think there's no better way to spend

1546
01:04:08,460 --> 01:04:09,620
money than on travel i

1547
01:04:09,620 --> 01:04:12,080
100 agree yeah

1548
01:04:12,080 --> 01:04:15,320
so i i think i would agree as well

1549
01:04:15,340 --> 01:04:17,540
the cost worth the cost but

1550
01:04:17,540 --> 01:04:23,400
where i disagree is like i would much rather do a long vacation

1551
01:04:24,520 --> 01:04:24,900
yeah that

1552
01:04:24,900 --> 01:04:28,960
that is cheaper per day than a short one that is more expensive

1553
01:04:28,960 --> 01:04:30,720
but it's not that short

1554
01:04:30,940 --> 01:04:32,840
still be two weeks but

1555
01:04:32,840 --> 01:04:35,140
you could just a good amount of time you could do two months

1556
01:04:37,980 --> 01:04:42,100
with two months we can't really take two children away from their school and everything for two

1557
01:04:42,060 --> 01:04:42,420
months it's

1558
01:04:42,420 --> 01:04:43,080
not really not

1559
01:04:43,080 --> 01:04:44,620
practical i

1560
01:04:44,620 --> 01:04:48,380
i have fantasized about just letting them do like virtual

1561
01:04:48,740 --> 01:04:54,120
school or homeschool or something and just going anywhere i would do a six-month cruise around the

1562
01:04:54,320 --> 01:04:56,800
world i would i would just travel

1563
01:04:56,800 --> 01:04:59,620
like those uh like those pensioners that are like uh

1564
01:05:00,390 --> 01:05:01,700
like the seniors that are like

1565
01:05:01,700 --> 01:05:05,500
yeah it would be a bunch of senior citizens and me but yeah

1566
01:05:08,520 --> 01:05:14,600
sounds great although yeah i i don't know how you wouldn't get bored on a cruise ship though

1567
01:05:15,240 --> 01:05:18,280
like for six months you got yeah you gotta

1568
01:05:18,280 --> 01:05:19,920
go yeah i guess i

1569
01:05:19,920 --> 01:05:20,100
mean

1570
01:05:20,100 --> 01:05:22,220
oh i see so you would take

1571
01:05:22,290 --> 01:05:25,560
like one of those travel around the world cruise ships not

1572
01:05:25,560 --> 01:05:27,220
yeah where it stops at a bunch of

1573
01:05:27,350 --> 01:05:28,460
different okay yeah you

1574
01:05:28,460 --> 01:05:31,000
wouldn't go back and forth between miami and the caribbean

1575
01:05:32,700 --> 01:05:33,220
no

1576
01:05:33,220 --> 01:05:34,160
absolutely not

1577
01:05:34,160 --> 01:05:34,680
what so

1578
01:05:34,680 --> 01:05:35,560
how long does this stay in a

1579
01:05:35,560 --> 01:05:37,460
port for um

1580
01:05:37,460 --> 01:05:39,680
like a day or two like a normal

1581
01:05:40,580 --> 01:05:44,920
cruise you only stay for like six to ten hours depending on the

1582
01:05:44,920 --> 01:05:46,580
port sure that

1583
01:05:46,580 --> 01:05:47,280
is very short

1584
01:05:47,580 --> 01:05:52,140
but some of these longer cruises like this that we're talking about they do stay overnight sometimes

1585
01:05:52,680 --> 01:05:52,820
and

1586
01:05:52,820 --> 01:05:57,920
they'll still it's still short you're still spending six months on a ship with with a couple

1587
01:05:57,860 --> 01:05:58,540
the days here but

1588
01:05:58,540 --> 01:05:59,120
it's like

1589
01:05:59,120 --> 01:06:02,240
yes it feels like it's quite weighted it's not enough

1590
01:06:02,240 --> 01:06:03,420
to like experience

1591
01:06:03,720 --> 01:06:07,720
everything about the place that you're going but you get a little bit of the culture and then you

1592
01:06:07,820 --> 01:06:07,920
kind of

1593
01:06:07,920 --> 01:06:08,720
figure out where

1594
01:06:08,720 --> 01:06:10,820
do i want to go back to and spend more

1595
01:06:10,820 --> 01:06:13,180
time that's true it's like a tasting

1596
01:06:13,500 --> 01:06:14,320
flight yes

1597
01:06:14,320 --> 01:06:17,980
it's a flight of places

1598
01:06:17,980 --> 01:06:19,120
jesus

1599
01:06:19,120 --> 01:06:24,940
this was one of the longest tangents we've ever been on i

1600
01:06:24,900 --> 01:06:26,900
This is definitely a tangent of a tangent.

1601
01:06:26,940 --> 01:06:27,600
We can talk about a charity as well.

1602
01:06:27,600 --> 01:06:27,840
Welcome

1603
01:06:27,840 --> 01:06:29,080
to Svelte Radio with y'all.

1604
01:06:29,720 --> 01:06:31,060
Don't worry, we will chat.

1605
01:06:31,240 --> 01:06:34,620
We'll chat, Kev, about your long, cheap holidays really soon.

1606
01:06:37,540 --> 01:06:39,300
Have I been shamed for

1607
01:06:39,300 --> 01:06:41,620
preferring cheaper holidays that

1608
01:06:41,620 --> 01:06:43,060
go on for longer?

1609
01:06:43,800 --> 01:06:48,980
I have been on many cheap holidays, and I mean cheap holidays as in self-hosting, by the way.

1610
01:06:48,980 --> 01:06:51,560
No, self-accommodating in

1611
01:06:51,560 --> 01:06:52,080
hostels and

1612
01:06:52,080 --> 01:06:52,540
stuff like that,

1613
01:06:52,600 --> 01:06:52,920
by the way.

1614
01:06:52,920 --> 01:06:54,740
You know why I can go on holiday all the time?

1615
01:06:54,840 --> 01:06:58,660
it's because i'm self-hosting by the way self-hosting by the way

1616
01:06:58,660 --> 01:06:59,820
exactly not paying for

1617
01:07:00,020 --> 01:07:01,000
sell sixteen

1618
01:07:01,000 --> 01:07:02,420
thousand dollars a year yeah

1619
01:07:02,420 --> 01:07:03,280
or sorry

1620
01:07:03,280 --> 01:07:05,760
no no uh did you oh by the way did you uh

1621
01:07:06,360 --> 01:07:10,700
uh solve the the google big data big query thing that you were talking about the

1622
01:07:10,700 --> 01:07:11,300
other day well

1623
01:07:11,620 --> 01:07:15,640
first of all we put a bunch of slots in place we've got a slot reservation so we've reduced our

1624
01:07:15,780 --> 01:07:20,640
bills by by controlling them a bit but i'm gonna move the whole lot i think to postgres because i

1625
01:07:20,640 --> 01:07:22,080
don't think we use BigQuery for

1626
01:07:22,080 --> 01:07:23,840
what it's designed for.

1627
01:07:24,680 --> 01:07:27,280
Yeah, so I will do whenever I get 10 seconds.

1628
01:07:27,400 --> 01:07:29,720
I will actually go back to working on that,

1629
01:07:29,740 --> 01:07:31,000
which is my primary thing right now.

1630
01:07:31,880 --> 01:07:33,140
Yeah, no, totally get it.

1631
01:07:34,060 --> 01:07:36,620
All right, Ilya, do you have a pick?

1632
01:07:38,180 --> 01:07:39,320
How many picks do I get?

1633
01:07:39,680 --> 01:07:41,700
You can have as many as you want,

1634
01:07:41,780 --> 01:07:44,860
but we will be here for hours if you have 10,000 of them.

1635
01:07:46,120 --> 01:07:47,940
I mean, I probably have 10,000.

1636
01:07:48,120 --> 01:07:51,340
So for all Svelte developers, all Svelte developers

1637
01:07:51,740 --> 01:07:56,200
need to use Svelte Render Scan from Stanislav

1638
01:07:56,600 --> 01:07:59,500
and Svelte Inspect Value from iRig.

1639
01:08:00,240 --> 01:08:00,840
Those are the

1640
01:08:00,840 --> 01:08:01,680
two most

1641
01:08:01,680 --> 01:08:04,180
useful libraries that exist in Svelte ecosystem.

1642
01:08:04,500 --> 01:08:05,100
Svelte Inspect.

1643
01:08:06,700 --> 01:08:08,460
Svelte Inspect Value, right.

1644
01:08:09,280 --> 01:08:12,740
This is the one which gives you this pane where you just plug all your state into it

1645
01:08:12,740 --> 01:08:14,280
and it renders it reactively.

1646
01:08:15,020 --> 01:08:17,120
And if it's an object, it will render the whole object.

1647
01:08:17,600 --> 01:08:22,020
You never have to add another code position fix details thing.

1648
01:08:22,080 --> 01:08:25,319
Are they packages like you install in your library?

1649
01:08:27,540 --> 01:08:28,520
Yeah, right.

1650
01:08:28,799 --> 01:08:30,299
The packages, you install them,

1651
01:08:30,480 --> 01:08:32,580
and then you just mount them as a regular component.

1652
01:08:33,440 --> 01:08:35,660
And Render Scan will render everything.

1653
01:08:35,740 --> 01:08:38,080
Basically, if you wrap your whatever section or component

1654
01:08:38,180 --> 01:08:39,080
in Svelte Render Scan,

1655
01:08:39,279 --> 01:08:41,560
it will render everything that happens within it.

1656
01:08:42,380 --> 01:08:43,900
It highlights every re-render.

1657
01:08:45,200 --> 01:08:46,000
Oh, nice. Okay.

1658
01:08:46,380 --> 01:08:46,819
It's brilliant.

1659
01:08:47,120 --> 01:08:48,279
That's brilliant, especially for,

1660
01:08:48,520 --> 01:08:50,000
you know, effect and stuff like this.

1661
01:08:50,460 --> 01:08:50,560
Yeah.

1662
01:08:50,819 --> 01:08:52,920
So those were my, like, two Svelte-related ones.

1663
01:08:53,480 --> 01:08:58,480
The third one is Sarah Swaydan, you know, the accessibility expert.

1664
01:08:58,859 --> 01:09:02,020
Her course, Practical Accessibility, is on discount right now.

1665
01:09:02,380 --> 01:09:04,180
And this only happens, like, once a year or so.

1666
01:09:04,779 --> 01:09:06,900
And it's a hefty discount of, like, 30%.

1667
01:09:07,000 --> 01:09:09,380
So I think everyone should go and buy it.

1668
01:09:10,880 --> 01:09:11,180
Yeah.

1669
01:09:11,540 --> 01:09:14,440
That's my three picks for this week.

1670
01:09:14,700 --> 01:09:15,160
All right.

1671
01:09:15,520 --> 01:09:15,859
Cool, cool.

1672
01:09:16,580 --> 01:09:16,859
All right.

1673
01:09:16,920 --> 01:09:19,240
so I have two picks

1674
01:09:19,980 --> 01:09:20,799
so one is

1675
01:09:21,240 --> 01:09:22,160
you can just do things

1676
01:09:23,160 --> 01:09:25,180
and I did just that this week

1677
01:09:25,520 --> 01:09:27,279
because I've long

1678
01:09:27,339 --> 01:09:29,400
been talking about like having a

1679
01:09:29,940 --> 01:09:31,259
a SvelteKit adapter

1680
01:09:32,100 --> 01:09:33,339
that renders to

1681
01:09:34,259 --> 01:09:34,560
a

1682
01:09:35,520 --> 01:09:36,480
service worker

1683
01:09:38,120 --> 01:09:39,339
and I've always

1684
01:09:39,400 --> 01:09:41,140
been intimidated by the adapter

1685
01:09:41,839 --> 01:09:43,400
thing like how do you even build

1686
01:09:43,540 --> 01:09:45,020
one and stuff but

1687
01:09:45,040 --> 01:09:47,520
using the power of LLMs,

1688
01:09:48,000 --> 01:09:49,400
I managed to actually create one,

1689
01:09:49,600 --> 01:09:50,299
which was very nice.

1690
01:09:50,660 --> 01:09:53,759
So I did some experimentation

1691
01:09:54,040 --> 01:09:55,300
and I built an adapter

1692
01:09:55,500 --> 01:09:57,620
that basically takes your whole SvelteKit application

1693
01:09:57,900 --> 01:09:59,580
and puts it inside of this service worker.

1694
01:10:00,040 --> 01:10:01,580
So you have server endpoints,

1695
01:10:02,240 --> 01:10:03,320
you have form actions,

1696
01:10:04,420 --> 01:10:05,480
and all of that good stuff.

1697
01:10:05,960 --> 01:10:07,540
Which LLM did you use?

1698
01:10:08,200 --> 01:10:09,460
So I used Claude Code.

1699
01:10:10,580 --> 01:10:11,540
Yeah, yeah.

1700
01:10:12,720 --> 01:10:13,500
I could have guessed.

1701
01:10:14,060 --> 01:10:15,540
Yeah, that's my go-to.

1702
01:10:16,120 --> 01:10:16,740
It's just very nice.

1703
01:10:17,220 --> 01:10:17,980
It is very nice.

1704
01:10:18,400 --> 01:10:19,160
So I'm going to pick that.

1705
01:10:19,800 --> 01:10:24,680
And then you reminded me of another one of Stanislav's projects.

1706
01:10:26,200 --> 01:10:32,940
And it's like a showcase of how to build a progressive web app

1707
01:10:33,080 --> 01:10:34,060
that kind of feels native.

1708
01:10:35,360 --> 01:10:38,020
And so I met him yesterday here in Stockholm.

1709
01:10:38,080 --> 01:10:41,220
We had like a Svelte lunch that we usually do once a month.

1710
01:10:41,580 --> 01:10:42,420
They would just go

1711
01:10:42,420 --> 01:10:43,060
somewhere and eat

1712
01:10:43,060 --> 01:10:45,000
lunch, a bunch of Svelte people.

1713
01:10:45,940 --> 01:10:50,400
And so he told us about this thing called Sparkle Post,

1714
01:10:51,420 --> 01:10:53,400
which is like a Twitter clone that he made.

1715
01:10:53,720 --> 01:11:03,680
And it's just like this very nice experience that you can install on your phone as like a PWA.

1716
01:11:05,020 --> 01:11:07,260
And it feels native, which is nice.

1717
01:11:08,400 --> 01:11:10,340
Then I have one last pick.

1718
01:11:10,820 --> 01:11:10,920
Sorry.

1719
01:11:12,120 --> 01:11:17,600
this was my original pick so i have started reading a series called the hierarchy which

1720
01:11:17,640 --> 01:11:23,760
is like a fantasy book series by james islington it's very nice uh he just released the second

1721
01:11:24,000 --> 01:11:31,120
book in a trilogy and i can really recommend it if you if you're into fantasy so yeah that might

1722
01:11:31,260 --> 01:11:32,860
be my next book yeah

1723
01:11:32,860 --> 01:11:33,640
it's

1724
01:11:33,640 --> 01:11:38,880
right it's very good it's very good so kevin if i understand

1725
01:11:38,880 --> 01:11:39,159
you

1726
01:11:39,160 --> 01:11:41,840
correctly, that means that you will turn the Svelte

1727
01:11:41,980 --> 01:11:43,840
Playground in a progressive web app?

1728
01:11:46,460 --> 01:11:50,940
Well, that was kind of one of the reasons why I wanted to try it

1729
01:11:52,040 --> 01:11:54,680
or that I picked this thing up again.

1730
01:11:55,020 --> 01:11:55,140
Because

1731
01:11:55,140 --> 01:11:56,020
I kind

1732
01:11:56,020 --> 01:12:00,200
of want to be able to do SvelteKit

1733
01:12:01,120 --> 01:12:02,060
like the Playground, right?

1734
01:12:02,250 --> 01:12:07,760
The same kind of experience of not having to install web containers

1735
01:12:07,760 --> 01:12:09,840
and all this crap that you have to install.

1736
01:12:09,950 --> 01:12:11,860
It takes forever and it breaks half the time

1737
01:12:12,260 --> 01:12:14,300
depending on the browser that you're using and stuff.

1738
01:12:15,020 --> 01:12:19,400
But there's like this one big thing is that you...

1739
01:12:20,420 --> 01:12:23,380
It's hard to tie together like updating the files

1740
01:12:24,920 --> 01:12:27,640
to actually building it and deploying it

1741
01:12:27,780 --> 01:12:33,560
because you have to actually build it to get it to adapt, right?

1742
01:12:33,780 --> 01:12:37,440
So you can't do it in like a dev environment, if that makes sense.

1743
01:12:37,760 --> 01:12:44,000
or at least I don't know how to uh maybe maybe some magician uh that knows V really really well

1744
01:12:44,200 --> 01:12:51,680
can can figure that out I don't know but yeah so those are my three picks a lot of picks this week

1745
01:12:51,820 --> 01:12:59,160
right that's crazy all right uh thank you Ilja for joining us uh it was a lot of fun I I had no idea

1746
01:12:59,220 --> 01:13:00,400
about all this NGO stuff.

1747
01:13:01,120 --> 01:13:02,660
And it's

1748
01:13:02,660 --> 01:13:05,440
kind of opened another world

1749
01:13:05,810 --> 01:13:09,160
as to how, like there's this other thing

1750
01:13:09,920 --> 01:13:11,600
where you produce stuff for NGOs

1751
01:13:11,900 --> 01:13:13,740
that's very different to how you would build

1752
01:13:14,290 --> 01:13:17,080
for other people.

1753
01:13:17,820 --> 01:13:18,700
And of course I

1754
01:13:18,700 --> 01:13:19,460
made myself the floating head.

1755
01:13:20,500 --> 01:13:20,720
Sorry?

1756
01:13:21,400 --> 01:13:21,780
I made

1757
01:13:21,780 --> 01:13:23,180
myself the floating head.

1758
01:13:25,780 --> 01:13:26,180
Interesting.

1759
01:13:26,780 --> 01:13:29,180
I think we're losing it.

1760
01:13:32,500 --> 01:13:32,720
My

1761
01:13:32,720 --> 01:13:32,960
stomach

1762
01:13:32,960 --> 01:13:33,140
is

1763
01:13:33,140 --> 01:13:33,680
growling.

1764
01:13:34,430 --> 01:13:34,940
Yeah, yeah.

1765
01:13:35,460 --> 01:13:35,660
All right.

1766
01:13:36,190 --> 01:13:37,200
Thank you, everyone, for listening.

1767
01:13:37,900 --> 01:13:39,580
We will talk to you next week.

1768
01:13:39,900 --> 01:13:40,120
Bye.

1769
01:13:40,880 --> 01:13:41,180
Bye.

1770
01:13:41,280 --> 01:13:41,660
Bye.