
Svelte Radio
ยทE87
One Man Svelte for NGOs with Ilja
Episode Transcript
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.