Navigated to One Man Svelte for NGOs with Ilja - Transcript
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.

Never lose your place, on any device

Create a free account to sync, back up, and get personal recommendations.