FOSDEM on ice
Contrary to the “regular” FOSDEM experience of rain and mild temperatures, 2025 receives us with freezing cold weather. Everything else was as we know it however: endless queues for coffee and building J almost bursting during the opening talk.
Volunteering at 8 a.m. presents a vastly different picture of the conference as the ULB area is still mostly empty except for the yellow FOSDEM staff and a flock of volunteers. The calm before the storm, if you will.
Notes from Saturday’s talks
-
Rust devroom:
- Augurs,
a time series analysis toolkit supporting various clustering
algorithms.
The speaker had some basic advice on performance pitfalls and
choosing the right data structures and types when working in Rust.
Key lesson: use
enum
types for things that happen at runtime, as opposed todyn
objects! - Building a Watt Meter esp-rs,
about a DIY smart charger for low-power (2 kW) grid connections.
Key takeaway:
async
is rough when working with the Rocket framework. - Huge graph analysis on your own server with WebGraph in Rust.
Shared some insights into implementing succinct representations
(sux) of graph data structures.
Key pointer: the
epserde
crate for low-overhead graph marshaling.
- Augurs,
a time series analysis toolkit supporting various clustering
algorithms.
The speaker had some basic advice on performance pitfalls and
choosing the right data structures and types when working in Rust.
Key lesson: use
-
Main track
- In the Rust for Linux project,
Miguel recapitulates the story of Rust in the kernel from early
prototypes like
rust.ko
to the current state of the art. Unfortunately in 2025 we’re still far from making Rust work without theRUSTC_BOOTSTRAP
flag. - The Selfish Contributor Revisited by James Bottomley. Probably the most accessible and most generally applicable talk of the day. James is a blast to listen to; that metaphor of dogs vs. pigs in truffel hunting was on point. He covered more social aspects of software development like manipulation vs. negotiation, the inadequacy of codes of conduct to mitigate implied threats (passive aggression), and shared actionable advice of handling passive aggressive actors and how (not) to engage them. Mentioned “Rewrite it in Rust” in the first minute of his talk as well.
- Lennart reflected on 14 Years of systemd, walking us through the key inspirations in the boot landscape of 2009 and the history of systemd’s adoption. He had a point about systemd actually bringing Linux closer to the UNIX ideal of “everything being a file” through cgroupfs. Did you know systemd had a logo? Also, Rust is being considered as an addition to systemd in the near future now that most of the obstacles have been eliminated; apparently the lack of dynamic linking is still the main roadblock (but have they considered WASM?!).
- In the Rust for Linux project,
Miguel recapitulates the story of Rust in the kernel from early
prototypes like
-
Microkernel and Component base OS:
-
Cancelling POSIX syscalls in Managarm gave a deep dive of a service-based implementation of a POSIX compat layer. TIL the behavior of
close(2)
on signal interruption is undefined. Having never heard of Managarm before, it seems to be quite mature, supporting modern kernel APIs likesignalfd
in addition to plain POSIX. Their demo image actually boots out of the box in QEMU, giving a desktop view of the system. While I was admiring that GUI someone tapped me on the shoulder to hand me a Managarm sticker – he had noticed I was booting the live image during the talk. Turns out that unknowingly I had picked a seat in the middle of a bunch of Managarm devs, which spawned an impromptu Q&A session in that corner. -
POSIX Signals in User Space on the Redox Microkernel discussed how Redox too has to bend over backwards to support the signals API and POSIX in general. Their “signals protocol” managed to bypass the context switching entirely when delivering signals, using shared memory. It does require user space to cooperate, however, and some signals, especially the realtime ones, require custom implementations that don’t benefit from the design.
-
-
GCC:
- Cross-platform JIT compilers with GNU Lightning On the third try I finally managed to sneak into the GCC room – for the final talk of the day. Key quote: “GNU Lightning is generating bad code, but does so very, very fast!” The demo of a JIT engine for a small esolang with just four operations was surprisingly compact. Paul, the speaker, also gets shortlisted for the “FOSDEM quote of the day” award for his retort to an audience member that kept insisting it would all be much easier to do in QEMU was just “You’re missing the point. The point is that it was fun to write!” Can’t argue with that!
Worth mentioning too what didn’t happen: the advertisement talk by that Twitter/Bluesky crypto-bro did not take place after all.