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