aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/blog/2026-02-02-fosdem/fosdem-2026.md292
1 files changed, 292 insertions, 0 deletions
diff --git a/src/blog/2026-02-02-fosdem/fosdem-2026.md b/src/blog/2026-02-02-fosdem/fosdem-2026.md
new file mode 100644
index 0000000..5712465
--- /dev/null
+++ b/src/blog/2026-02-02-fosdem/fosdem-2026.md
@@ -0,0 +1,292 @@
1# FOSDEM 2026
2
3On January 31st and February 1st I went to [FOSDEM](https://fosdem.org),
4the largest Open Source Software conference in the World. It happens every
5year in Brussels, only a couple of hours of train away from where I live.
6This is actually the second time I go: I was there in 2024 too.
7
8If you have never been to FOSDEM, you may not know about the sheer size
9of the thing. To give you an idea, this year there were around 1200
10speakers. Yes, you read it right, not *attendees*, but *speakers*.
11This means more than a thousand talks over the course of two days.
12
13Obviously, talks are divided into tracks (called *dev rooms*),
14and people move around from one to the other, hoplessly trying to attend
15all the talks they interested in. Besides the talks, there are also
16[community gatherings](https://fosdem.org/2026/schedule/track/bof/),
17[lightning talks](https://fosdem.org/2026/schedule/track/dev-random/),
18activities for children and so on.
19
20Some people say FOSDEM is also a great place to socialize with like-minded
21people, but I am not good at that. Unless sitting next to each other in
22complete silence counts at socializing - in that case I am the master
23of socializing!
24
25Anyways, here is a short summary of my experience at FOSDEM 2026. If
26you are interested in any of the talks I mention in this post, follow
27the links I provide to watch the videos - those that have not already
28been uploaded will be in a matter of days.
29
30## Saturday
31
32Eager not to miss any talk, I took the first train to Brussels on Saturday
33morning. I arrived to the city very early, so I decided to walk the ~4.5km
34from the station to the university campus where FOSDEM takes place,
35and I was still well in time for the first talk. It was quite warm for
36the end of January.
37
38### Welcome to FOSDEM
39
40I went to plenary
41[introduction](https://fosdem.org/2026/schedule/event/SFKNTZ-welcome_to_fosdem_2026/)
42where the organizers give some practical information about the conference.
43Besides that, the speaker gave a rather political speach, where he talked
44about the importance of Open Source software in preserving democracy in
45current times. It was clearly very important to him, as he got emotional
46during the short speech; but the crowd was supportive.
47
48### FOSS on mobile devices
49
50After the introduction I went straight to the [FOSS on mobile dev
51room](https://fosdem.org/2026/schedule/track/foss-on-mobile/).
52The first talk was entitled ["The state of FOSS on
53mobile"](https://fosdem.org/2026/schedule/event/SW83YJ-state_of_foss_on_mobile/)
54and, from what I gathered from this mornings talk, it could be summarized
55with three words: very, very sad. At least on the Android side of
56things: Google is making Android harder to work with for the open source
57community, by developing it behind closed doors and releasing updates
58only twice a year. The other talks described how [huge Android's code
59base is](https://fosdem.org/2026/schedule/event/9DRDS7-deep-dive-aosp/)
60(1.7TB, if you are curious), how hard it is to [port to other
61architectures](https://fosdem.org/2026/schedule/event/SXX8HE-open_source_risc-v_aosp_porting_progress_challenges_and_upstream_work/)
62and why it is [so slow to build
63it](https://fosdem.org/2026/schedule/event/KX88W8-aosp-build/). Oh and
64Android apps are going the Apple way and it may soon not be possible to
65install them unless the developer officially received Google's blessing.
66
67I wanted to follow also a couple of talks in the afternoon
68about *mainline* Linux distributions for phones, such as
69[PostmarketOS](https://postmarketos.org/), but the room was full so I
70had to skip those. Hopefully things are going better on that front.
71
72### Hare community meetup
73
74After a short break that I spent "socializing"
75(eavesdropping random conversations while passing by groups
76of people counts, right?), I decided to join the [Hare community
77meetup](https://fosdem.org/2026/schedule/event/EKCFEH-hare_community_meetup/).
78In case you have never heard of it, [Hare](https://harelang.org/) is
79a currently in-development programming language initially created by
80[Drew Devault](https://drewdevault.com/).
81
82I share a lot of ideas about what a programming language should
83be like with the creators of Hare, and I am eagerly waiting
84for the 1.0 release with its promised perpetual backwards
85compatibility. Apart from this, my relationship with the Hare
86community so far consists in having attended the [announcement
87talk](https://harelang.org/blog/2022-04-25-announcing-hare/) back in 2022,
88having read the [specification](https://harelang.org/specification/) once
89and sent a patch for a couple of typos, and now joining this community
90meetup. That's it.
91
92The gathering lasted a little less than an hour and lots of
93topics were briefly discussed, including some comparison with
94[Zig](https://ziglang.org/).
95
96I you want to see some Hare code, some time ago I
97implemented a very simple (and very ugly) [minesweeper
98clone](https://git.tronto.net/minesweeper) with it (using
99[raylib](https://www.raylib.com/).
100
101### Python
102
103After the meetup I went to the Python dev room. I am currently working
104with Python at my daily job, so I thought this could be useful.
105
106I was there in time to attend [a talk on lazy
107imports](https://fosdem.org/2026/schedule/event/HAAABD-the_bakery_how_pep810_sped_up_my_bread_operations_business/)
108and one on the [GIL
109removal](https://fosdem.org/2026/schedule/event/ABJMWD-the_gil_and_api_performance_past_present_and_free-threaded_future/).
110Both were quite interesting. I wanted to follow also [the next
111one](https://fosdem.org/2026/schedule/event/WE7NHM-modern-python-monorepo-apache-airflow/),
112but the room was way too hot for me, so I ran out and took another
113break.
114
115### How to make package managers scream
116
117[This](https://fosdem.org/2026/schedule/event/DCAVDC-how_to_make_package_managers_scream/)
118was a fun one. It was a tongue-in-cheek talk about all the things
119developers do that make life hard for "package managers", i.e. people
120that install and maintain software installations for other people. I
121enjoyed it.
122
123### gotwebd
124
125Quite late in the day, at 18:15, there was [a
126talk](https://fosdem.org/2026/schedule/event/K7YXFT-gotweb/) I was
127very interested in. It was about [`got`](https://gameoftrees.org/), a
128version control system compatible with git repositories, develop by some
129[OpenBSD](https://www.openbsd.org/) people, and in particular about its
130web server deamon, `gotwebd`.
131
132Just a couple of months ago I started looking into alternative ways
133to [host my git pages](../2022-11-23-git-host). I started configuring
134[cgit](https://git.zx2c4.com/cgit/) (and at some point I'll finish the
135work and write about it here), but I experienced some inconveniencies
136when working with OpenBSD's httpd chroot. Since `got` is developed mainly
137for OpenBSD, its web server should integrate quite well with the OS.
138
139I am glad I went to this talk in the end, it motivated me to try out
140`gotwebd`. And I managed to get back to the hotel in time to have dinner
141with some colleagues of mine.
142
143## Sunday
144
145After drinking a couple of beers at [Delirium
146Village](https://en.wikipedia.org/wiki/Delirium_Caf%C3%A9), sleeping
147decently well and eating *like a pig* at the hotel's buffet breakfast,
148I once again walked to the campus. Yes, I walked a lot this weekend.
149
150My plan for the day was to split my time between the [Software
151Performance](https://fosdem.org/2026/schedule/track/software-performance/)
152and the [Rust](https://fosdem.org/2026/schedule/track/rust/) dev rooms,
153and closing the day with the last 2 or 3 main track talks.
154
155Walking back and forth between rooms is not ideal because you end up
156wasting a lot of time queuing and you risk missing talks if the room
157is full. Luckily for me, it worked out, also thanks to the fact that
158the Rust room was *huge*.
159
160### Software Performance
161
162In this room there was a good mix of talks about different aspects of
163software performance: some talks were about low-level optimizations you
164can make to your code, others about benchmarking, and others about how
165to make your overengineered Kubernetes mess suck a bit less - these may
166not be the exact words used by the speakers, I have not followed any
167talk on overengineered Kubernetes messes.
168
169[The first
170talk](https://fosdem.org/2026/schedule/event/TYX3FF-accessible_software_performance/)
171was in part an introduction to the room and in part an
172overview of some compile-time optimization techniques, such as
173[PGO](https://en.wikipedia.org/wiki/Profile-guided_optimization) and
174[LTO](https://en.wikipedia.org/wiki/Interprocedural_optimization).
175
176I came back to this room later in the
177morning for [a talk about measuring performance
178reliably](https://fosdem.org/2026/schedule/event/8AS3XD-how-to-reliably-measure-software-performance/).
179I was afraid I would miss it because the room was so full, but I managed
180to sneak in, even though I had to stand during the talk. In short, it was
181a really nice talk, and I learnt a couple of tricks to make benchmarks
182more consistent and reproducible.
183
184Then, in the afternoon, I attended
185a talk about [writing a fast JSON parser in
186LUA](https://fosdem.org/2026/schedule/event/MFPHVE-ultrafast-lua-json-parsing/)
187and another about
188[`memcpy()`](https://fosdem.org/2026/schedule/event/PAXHDR-memcpy/).
189Both were nice, especially the latter, and they were precisely about the
190kind of low-level optimization stuff that I enjoy playing with recently.
191
192### Rust
193
194The Rust dev room was, as I expected, quite popular. But the organizers
195wisely assigned it to a very large conference room, so nobody was stopped
196from attending, as far as I know.
197
198In the morning I saw a guy [talking
199about](https://fosdem.org/2026/schedule/event/W3UFSK-rust-game-boy/)
200how he wanted to write GameBoy games in Rust,
201but the GameBoy's custom CPU is not supported by
202[rustc](https://doc.rust-lang.org/rustc/what-is-rustc.html), so he had
203to write a compiler first. Pretty cool!
204
205I came back to this room in the afternoon for two back-to-back talks. [The
206first](https://fosdem.org/2026/schedule/event/RCFALN-rust-building-performance-critical-python-apps/)
207was by someone who wanted to speed up their Python code base, and they
208ended up replacing some default Python tools with Rust-based alternatives
209- not because they necessarilly wanted to use Rust-based stuff, but
210because they turned out to be the most performant.
211
212[The last rusty
213talk](https://fosdem.org/2026/schedule/event/GWRDNT-rust-type-checking-python/)
214I attended was about [ty](https://docs.astral.sh/ty/), a type-checker for
215Python that I will probably start using at work soon - and I am already
216using other tools by the same developers. The talk went quite deep into
217the details of the implementation. I would have preferred if they told
218us a bit more about what the tool does instead, but this was the Rust
219dev room after all, not the Python one.
220
221### Lightning lightning talks
222
223Later in the day, I was back in the main track
224room in time for the second [Lightning Lightning
225Talks](https://fosdem.org/2026/schedule/event/G3ZWYU-lightning_lightning_talks_2/)
226session. Every speaker was given 256 seconds to present. I
227was expecting the talks to be humorous, but actually most of
228them were a bit boring. Shout out to the speakers who talked
229about [smart TVs](https://runxiyu.org/), the [PostgreSQL Compatibility
230Index](https://drunkdba.medium.com/postgresql-compatibility-index-the-fellowship-of-the-database-4005f818f97c)
231and [rendering windows in a terminal](https://github.com/dextero/smithay),
232I found these ones very entertaining!
233
234### Open Source security in spite of AI
235
236[Daniel Stenberg](https://daniel.haxx.se/), creator
237and maintainer of [`curl`](https://curl.se/), gave the
238final keynote talk, entitled [Open Source Security in Spite of
239AI](https://fosdem.org/2026/schedule/event/B7YKQ7-oss-in-spite-of-ai/). He
240presented his experience with AI, both the good and the ugly: he talked
241about how slop spam forced him to close `curl`'s bug bounty program, but
242also about the LLM-based code analysis tools that are helping him improve
243the code. I highly recommend you watch the video if you want to know more.
244
245I had already heard about the spam issues he was facing, so the part
246about the useful AI tools was the most interesting for me. Normally when
247I read comments on Hacker News or otherwise hear developers claiming that
248<s>copy paste bots</s> AI coding tools can produce great code with little
249supervision, I am very skeptical. My experience with these tools is that
250they produce horrible code that is at best usable for throwaway scripts
251that you are never going to look at again. But this talk was different,
252it made complete sense. It makes sense that LLMs can compare your code
253with the documentation and find inconsistencies. It makes sense that they
254can guess edge cases that you forgot about. And it makes sense that they
255make up inexistent vulnerabilities when asked to.
256
257### Closing FOSDEM
258
259After the closing talk I walked back to the station. I am now typing this
260post on the train. I guess this is part of the FOSDEM weekend too, right?
261
262## Miscellanea
263
264I'll conclude this post with a list of random things that I could not fit
265above. I'll do this in everyone's favorite literary style: an LLM-style
266bullet point list.
267
268*Sure! Here is a list of topics that have not been mentioned in this
269post so far:*
270
271* **Plan ahead:** I enjoyed this edition of FOSDEM more than the 2024
272one, because I planned more carefully which talks I wanted to watch,
273which backups I could attend if I changed my mind last minute, and when
274to take breaks.
275* **Laptop charging:** After using my laptop on the train and during the
276talk, it was below 30% by 12:00. It was hard to find a place to plug it
277in, so I ended up sitting on the floor in a corrdidor next to a power
278outlet. Next time I should use pen and paper to take notes instead.
279* **Physical exercise:** I walked at least 20km during the weekend,
280not including moving from one dev room to the other between talks.
281I could have used public transport more, but I enjoy walking.
282* **Feeling motivated:** The performance-related
283talks motivated me to continue improving my [Rubik's cube
284solver](../2026-01-28-prefetch/). Maybe I'll start working on that
285*microthreading* thing sooner rather than later!
286* **Website improvements:** I should support
287[IPv6](https://en.wikipedia.org/wiki/IPv6) on my website. That should
288be as easy as adding one configuration line in my host name records,
289but I have never bothered so far. But now I'll have to, because next
290year the FOSDEM public wifi won't support IPv4 anymore! my website was
291not reachable with the main FOSDEM wifi, and next year it is going to
292be IPv6 only.

Generated with cgit - Back to sebastiano.tronto.net