FOSDEM Follies.
Published 02 March 2025 at Yours, Kewbish. 5,258 words. Subscribe via RSS.
Introduction
A couple weeks ago, I gave a talk about Kintsugi at FOSDEM, a massive free and open-source software conference welcoming thousands of developers around the world at the ULB Solbosch campus in Brussels. I hustled myself onto the first Eurostar to Brussels early Saturday morning and returned Sunday evening with my bag laden with goodies and a camera roll significantly fuller with incredible architecture. I’ve never been in Brussels before and wanted to explore the city a bit despite only being there for the weekend, so I had a very packed Saturday at FOSDEM and an equally hectic trek around downtown Brussels on Sunday. But in between, I still got to run into friends, meet new folks, and have a stop at neat museums (for free!) — a very fulfilling trip.
The most surprising thing about FOSDEM was its sheer scale and professional organization despite being entirely free and not requiring registration. The hallways were very crowded, not to speak of the main stands rooms and larger keynotes, and there were constant flows of people everywhere. The organizers’ communication, prep, and signage was super clear, however, and there were plenty of information volunteers milling around. Everything seemed to run like a well-oiled machine (it was the 25th time they ran this, after all) and I’m very impressed that this was all a volunteer effort with no formal governing body. The website estimates >8K people attending, and even from the main train station and tram stops in Brussels it seemed like you could pick out at least one attendee wherever you were (wearing bright tech merch and a well-stickered laptop were usually dead giveaways.) It felt like throngs of people were flooding through the city to get to various meetups, beer nights, and talks. In spite of this, however, apparently even locals were unaware of the event: I had some friends from Brussels that I met at DARE who had only found out because I’d told them about my talk. Perhaps locals chalked up the surges of hoodie-clad, Android-wielding folks to a little mid-winter peak of tourism.
The scale of FOSDEM means that it’s just a lot to take in, especially if it’s your first time. I’ll confess I went through a few survival guides before attending, such as this, this, and this to get a sense of how things worked. Still, I’m not sure if any survival guide (including this one) can really prepare you for it. For instance, a common thread was not being able to get into popular talks and devrooms, which makes sense, especially for popular technologies like Rust and Go and so on. I wasn’t expecting to not be able to get into even the Security devroom — but more about this later. The advice in other survival guides was certainly helpful, particularly for day-of logistics and recommendations for side events and other attractions in Brussels. While I maybe didn’t engage as deeply in the event as the seasoned veterans that’ve written other guides, I wanted to share thoughts from a first-timer’s perspective and compare it to OSSNA1.
This is a post about my FOSDEM experience and survival tips, my attempt to solve the treasure hunt that was run, and my haphazard trip planning process. I very much enjoyed the experience — major props to all the organizers, volunteers, and team members for putting together such a vibrant and well-put-together-yet-scrappy conference.
« Le Jour-J »2
Between my talk getting accepted and actually speaking, I spent most of my preparation time finishing up the implementation and making sure it was in a presentable state instead of prepping for the talk itself. I’d given a similar presentation on Kintsugi once internally at Ink & Switch, so I’d already prepared slides and was banking on reusing them mostly unedited for my FOSDEM talk. What I didn’t account for was that this first presentation was <20min in length total, whereas FOSDEM slots were 25min. You’d be surprised how long coming up with 5min of content takes, from writing a script to making diagrams, but I ended up spending a decent chunk of the time I’d allotted to preparing for FOSDEM on revamping the slides with some new cryptography background. As with my OSSNA talk, I ended up with a slightly uncomfortable lack of time to run through the talk, but I was able to get to a decent level of fluency between talking points, and the talk went alright after all.
On the day-of, I was feeling very confident given the smooth trip to Brussels and no hitches on public transport. I arrived to the campus 15 minutes before the Security devroom, which I was presenting in, would start, so I figured I’d be able to grab a seat early and check that my HDMI adapter worked. Alas, by the time I rounded the stairwell to the room, I saw the corridor packed with people and a “This room is full!” sign on the door. The room itself was a smaller lecture theatre, with a capacity of 50 or so. I also had the misfortune of speaking directly after the curl maintainer, which was the second talk of the devroom, so everyone had the same idea of coming early for the first talk to snag a seat for the later talks, just like all those FOSDEM guides recommended. I tried to squeeze in before the curl talk, but no one really budged, so I wasn’t able to get in until they were calling for the speaker in the hallway for my session. Lesson learned: FOSDEM is much bigger than I’d expected, and many more people than I’d thought are into security. There were a couple other talks that I wanted to get to, but I ran into the same problems with a full room, so it might be worth just going to soak the atmosphere in in a single room (something like the Lightning Talks room would have been interesting with the amount of variety) and watching through other talks that you’re most interested in content-wise afterwards online.
You can find a recording of my talk here. You can also read a blog post version with a few more notes on implementation details here. I won’t go over my talk content again, but I did want to say that all the questions and couple of email exchanges with folks afterward were very meaningful and honestly heartwarming. Someone even said my talk was their favourite of the day, which really made my day.
The projector setup was fairly painless — I was very surprised that my HDMI adapter worked first-try, since it usually gives me some headaches until I apply the correct series of suspend and login incantations to get my displays to be recognized. They gave me a lapel mic and told me to stand within a certain space at the lectern to stay in the camera frame. All of the live streaming and recording was very smooth, with participants being able to chat in the Element room and view the talk in real time. I was very pleasantly surprised with how smooth the video infrastructure was, and perhaps their talk might go into this in more depth? After the conference, they emailed me a link to review my video and choose the start/end crop times, which I thought was very professionally done.
A group of students caught me as I was leaving the room to say they liked my talk, which I really appreciated! We chatted for a bit about how I prepared for the talk: my presentation style was more practiced and script-based than the other talks that I’d listened to. I’ve found that writing out a script and essentially memorizing it helps counter my tendencies towards filler-words and not being very grammatically coherent. While I’ve been warned that practicing too much would make one sound stiffer, I think this is where limited prep time actually helped: I knew the gist of the flow, and key verbs and flows of sentences, but it wasn’t so rote that I’d be reciting the script word-for-word, and I’d switch up the order of points or restructure phrases each time I’d run through the talk. This underpreparing-to-overprepare technique probably has downsides that I haven’t come to notice yet, though, so I don’t know if I’d recommend this.
In terms of speaker experience, I’d say it was pretty good: the recording process was very well-done with a fast turnaround and the audience was very engaged (and it was a full room!) I would have appreciated some earlier guidance on speaker prep, which I later found was published here, and a little more day-of information on when/where to turn up, especially as a first-timer. Major props to the volunteers manning the Security devroom, though — they were very supportive and helpful!
Around FOSDEM
FOSDEM manages to have a very high-production-value structure and be incredibly well-run while retaining the right touches of cheeky, hackery culture. The treasure hunt, for example, was a nice touch, and it was hilarious to see the accessories and costumes that different companies put on (I recall an electric-blue PostgreSQL elephant suit and a sea of VLC cone hats). There was also reportedly beer and Club Maté being sold at a couple “bars” dotted around, and I’ve been told this is peak hacker-core. In the hallways, everyone would good-naturedly grumble together about missing this or that talk or the endless lines, but it seemed that everyone was having a great time.
My first FOSDEM tip would be to spend an hour or so beforehand looking through the devroom list, mapping out where the most interesting ones are (see next point). There’s so many talks (this year had 1104 events) that it’s very difficult to narrow things down as you’re wandering between buildings day-of. As I mentioned above, it might be helpful to limit yourself to just a couple devrooms even if there’s particular talks that you really want to see, since it takes time to go between rooms and shuffle through the crowd. I think a great part of FOSDEM is just sitting and soaking up the energy, which is a bit harder to do if you’re darting around between each talk. Devrooms also operate on different cadences (e.g. 20min talks, 15min talks) and start times, so it gets tricky to coordinate when to switch between physical locations. Come up with an ideal talk itinerary, then fill it in with other talk options. Leave time to explore the stands too, and don’t get too attached to your schedule if something else catches your eye day-of.
Another tip would be to look up the campus map and familiarize yourself a bit with where the major buildings are (U, which has A/B/C/D blocks, H, etc.) ahead of time. The signage is good once you get into a building, but in the main avenue I did have to stop to look at the large signposts and pinpoint where buildings were a couple times. There’s FOSDEM companion apps (iOS) that help visualize this. These apps can also help you keep track of your talk wishlist as well as figure out which other devrooms are close by should you miss your first choice or if it’s full.
There’s a few nice green spots on campus: there’s a lawn with steps by the parking lot by the K building, facing some smaller buildings and a bit further away from the bustle of the main road. I saw lots of people picnicking here, especially with the sunny weather. The law building at the end of the campus (the one with the nice clock tower spire) also has a little green space that’s a little less crowded. I think the buildings that host the info booth, etc. change each year, but these tend to be the biggest buildings with the most popular talks, and thus also very busy. I didn’t explore too much beyond the main FOSDEM buildings, so I’m sure there’s other spots I’m missing.
In terms of food, there aren’t too many options directly on the campus besides the couple of food trucks down the main avenue. They’re not too overpriced, given that they’re food trucks at a conference, but it’s mostly finger food like burgers and fries and sweets. I might be tainted by my experience of more American events, with a lot more, slightly gimmicky, options. I’m not sure if the cafeteria on campus was running, but I saw folks with takeaway containers of pasta, which wasn’t sold by any food trucks, so I think some of the sandwicheries and cafés might also have options. Make sure to look for the Mozilla cart giving out free cookies! It’s good sustenance while you brave the miles-long queue for any of the trucks. Definitely bring a water bottle — I wasn’t looking for water fountains but didn’t immediately notice many. You could probably also do with protein bars and skip the food truck lines, but either way there’ll be options on campus.
FOSDEM was only my second major conference, so my expectations for swag and boothing were on-par for the largest North American open-source conferences with hefty ticket prices and even steeper booth costs. FOSDEM’s stands are very different — much more casual and less corporate presentation posters, and more demos and folks talking about the tech. This also means that there’s not much free swag besides stickers, and in fact most of the shirts and bags and whatnot are at a fixed price to help support the tools. I like this approach more, since you can directly financially contribute to the projects and have a bit more of a check and balance before grabbing tons of free swag that you won’t ever use back home. I was looking for a neat tote bag to bring back, but I instead got some NLNet stickers and a cute 3D printed Grafana mascot. If you’re looking for FOSDEM-specific merch, you can buy them at the information desk with the stands in building K as well as the other info desk in building H. One point where I’d like to contradict other survival guides is that you don’t have to rush to get merch: where other folks have suggested that you go first thing, I thought the line was absurdly long (although the volunteers kept it moving super quick) and there was plenty of stock left over at the end of the day in all sizes, from what I could see. Since there’s only two places you can buy the official merch, it makes sense to avoid the bottlenecks and go later in the day or on Sunday.
I’d also suggest seeing if any open-source communities you’re involved with or are interested in are hosting side events — as they say, the best part of FOSDEM is the hallway track and the fringe events. You can browse through the list of fringe events on the site for larger events, and you should ask around in your friend circles to see if anyone else’s going. I unexpectedly bumped into a friend from UBC that was studying abroad in a different country and somehow made their way to Belgium, and I caught up with some friends that I met at a distributed systems summer school. Some communities might not have formal stands, like the Google Summer of Code, who staked out a spot by the entrance to the K building unofficially, and there are plenty of unofficial casual gatherings as well. Historically, there’s been a beer night at the Delirium Café Friday/Saturday night, and a big hacker party with light displays and live music at ByteNight at the Brussels hackerspace. On my part, I went to a closed GSOC mentors/students meetup at BrewDog, and was debating going to ByteNight but instead walked around at night, which was probably a much better idea since Brussels looks so different at night.
One last FOSDEM tip: if you’re interested in volunteering, you can certainly register ahead of time, but you can also just turn up day-of and go to the information booth to ask if they need help. One of my friends came on Saturday, realized that he could volunteer (for the CV points, but still), and asked on the spot if he could volunteer on Sunday. I’m sure it’s more of a the-more-the-merrier situation, so you could also consider this if you find yourself bored and unable to get into any talks.
Treasure Hunt
This year, FOSDEM also ran a treasure hunt on the side — I think it might have been the first year that one was run, at least from what I found online. I initially passed over the hunt, knowing I’d only have a day at FOSDEM and wanting to make the most of it by attending talks, but my curiosity was piqued when I realized that the odd noises playing from a speaker outside Building H were part of the puzzle. I’d initially assumed someone had set up some public art, was doing some experimentation, or had connected their speakers to the wrong wires, but I later realized it was because the original treasure hunt signs were stolen and they’d had to set up a makeshift station outside.
I was super into puzzling and riddles when I was younger — the TED riddle series was a favourite to binge-watch, and I only started playing CTFs in the pursuit of the guessiest “crypto” challenges that valued knowledge of obscure ciphers rather than actual math. So it’s no surprise that I got nerdsniped, and spent my last hour on the ULB campus trying to decipher the riddles instead of listening to the talk I was sitting in for.
No one managed to solve the riddles during the conference, and given that the signs were made available online, the hunt’s still going on and the prize is still up for grabs, at least as far as I know. I didn’t manage to find anyone else to drag into this, so I wanted to leave my thoughts as a starting point for others who might still be poking into this. Again, you can see the signs here.
For the first riddle, the little “1” measure and the mention of the radius made me think of counting up the radius of the concentric circles, which ended up being 15. I’m not sure what the “one set spins as two” or the “cradle of worlds” were meant to lead to. Googling “cradle of worlds” brought up some notes about various historic sites, but I can’t imagine having to pinpoint any of them in relation to the diagram. The “set” and “union” made me think of something related to finding how to split the circles up such that their rotation would reveal something, but that seems farfetched to me. It might also have something to do with the building names and where the location of the next sign in the original hunt would have been, since both S and U were buildings where FOSDEM activities were taking place, but there aren’t any room numbers mentioned here that start with “15”, and I doubt the organizers would have wanted more people crowding in these rooms.
For the second riddle, it immediately looked like a logical-and equation. I’m not sure what base the numbers are supposed to be interpreted as. I tried base-10: doing the chunk-wise and (e.g. 102 & 111
) and converting back to an ASCII character gave me “fped”. I also tried octal, which gave me “@HA@”, and hex, which gave me “ĀĐāĀ”. Out of these, the base-10 looks most plausible. The question mark being upside down at the bottom of the equation made me think about flipping the results visually, which just looks like “pedt” and didn’t give me any more leads. The “speech alone could not house our dreams” might also lead to Braille ASCII, although the 2/4 digits wouldn’t make sense, or other non-text-related encodings.
For the third riddle, I didn’t get anything promising from either the excerpt or the diagram. I thought it might have something to do with a map overlaid on top of the ULB campus, but it doesn’t seem to match up. I did note that not all the potential intersections are marked, so if you’d have extended the lines, there would have been more intersections, but if the treasure hunt was originally designed to be played at one single location, they probably wouldn’t want folks to mark up the sign while solving, so I don’t think this leads anywhere. There are also some intersections that are super close together, which made me think about processing the coordinates via some scripts, but again, the hunt was originally designed to be played in person without direct access to the graphics. I did count the intersections, of which there are 28.
For the fourth riddle, the audio puzzle, I awkwardly stood in front of the speaker for a few minutes to record the sample, which attracted some odd looks and curious questions. The sample’s now available online, which saves you the effort. The ungainliness of recording the speaker was actually a silver lining though. A passersby mentioned that the initial jingle in the soundbite is the Lincolnshire Poacher number station’s theme. A numbers station is a radio station containing loops of numbers that are ostensibly directed at intelligence agents working abroad to receive messages or decrypt transmissions. This matched what the audio file seemed to be quite well. The audio contains the Lincolnshire Poacher theme followed by groups of numbers, each repeated three times. The deduplicated numbers were:
10 14 11 15 13 23 6 26 7 8 5 12 19 3 2 17 20 24 16 18 21 4 9 25 22 1
It was hard to hear the recording in-person given the background noise and speaker quality, so the OGG online was very helpful. I noted that all the numbers were less than 26, which likely means that they correspond to entries in the alphabet. Applying the A1Z26 cipher gives you JNKOMWFZGHELSCBQTXPRUDIYVA
. There are also exactly 26 numbers, and no numbers are repeated, so this led me to believe it’s some substitution cipher key, but I’m not sure where the ciphertext is.
For the fifth puzzle, the text “all threads converge” made me think this was likely combining the results of the first three puzzles. Add 103 to the result of the first puzzle (15), take the first three characters of the second riddle’s answer (ped, if we consider flipping), then multiply the third riddle’s result (28) with 754. If we assume an ASCII encoding, the first character should be 118, which decodes to “v”, so the first part might be “vped”. Not sure what the third riddle’s result was, but if it was 28 then this bit should be “21112”. This might have been some location-based riddle, since there was a V building on the Solbosch campus, but it wasn’t marked as part of the FOSDEM activities. In that case the “21112”, or whatever the number really was, might be a reference to a room number that led you to the last riddle. It’s hard to figure out which clues were meant to lead to which physical locations and which were for the riddle at hand, but perhaps the signs’ riddles weren’t meant to lead you to the next riddle and the locations of signs was just a general scavenger hunt?
For the sixth puzzle, it seems pretty obviously ASCII as hex, which gives you aulnvzmhdat
. I’m not sure if this is too obvious? I figure this might have to do with the substitution cipher key from the fourth riddle, but decrypting it with JNKOMWFZGHELSCBQTXPRUDIYVA
as an alphabet gave me more gibberish. This might also depend on the fifth puzzle, since the organizers mentioned puzzles were intended to be sequential.
Other miscellaneous notes:
- The appendix names and volume numbers, in order, are “M3B459”
- The reference to “sol” in “the book of sol” might be a reference to the Solbosch campus, or maybe the FOSDEM logo that, if you squint, could look like a sun
- None of the riddles should require image processing, making a copy of the signs to mark them up, or fixing extremely precise coordinates/measurements, given how the hunt was originally designed for in-person play
- The riddles should have some sequential aspect as mentioned by the organizers, so there may be clues I’ve missed that need to bleed into the next riddles (or maybe this just refers to the fifth riddle and how you need to solve the first three first?)
- I can’t make out specific references to what might be a room number or location clue versus what’s about the final ciphertext, particularly while playing online
Feel free to email me if you make any more progress or solve the puzzle — I’d love to read a writeup!
Tant de conseils touristiques3
I also wanted to say a few words about Downtown Brussels. Because the trip was so short and because I’d been so busy moving and settling in in the preceding weeks, this was my most last-minute trip planning ever. I didn’t buy tickets for anything ahead of time and was sitting on Google Maps the night before my train trying to piece together an itinerary. I think embracing the fact that I had very limited time and was only going to do very touristy things helped cut down on a lot of the decision fatigue, since planning then reduces to a constraint satisfaction problem of what order to visit the top 10 Brussels must-sees in and what meals/foods I wanted to try. I hadn’t learned much about Brussels before, so I had absolutely no idea what the major monuments or foods were, and thus also no expectations for what things would be like.
For my itinerary, I took liberal inspiration from the tours that FOSDEM organizes for partners and kids who might not be interested in a tech event. I also had a few recommendations from friends, who, being from Brussels, were mildly jaded about things not being very interesting or authentic, but of course coming from a much younger city and drastically different culture I was fascinated by everything. Here’s what I went by:
- the Atomium, a scaled-up version of an iron atom made for the ‘58 expo with very neat modern art installations
- the Porte de Halle, one of the last remaining parts of Brussels’ original city walls
- the Palais de Justice, the courthouse with amazing panoramic views (and when I was there, an octopus statue outside)
- Sainte Catherine Church and the Brussels Cathedral
- the Grand Place, the town hall and trades buildings, with some very gilt detailing and the Brussels Museum — my favourite part of the trip and absolutely worth seeing both lit up at night and during the day
- the Manneken (and Jeanneken and Zinneke) Pis, statues of a little boy/girl/dog peeing
- the Galeries Royales Saint-Hubert, a covered shopping street not unlike the Parisian covered galleries
- The quadrifecta of Bruxellois gustatory delights are waffles, « moules-frites » (mussels with fries), beer, and chocolate. I’ll let you make your own conclusions on which places to try and if they’re all that they’re stacked up to be…
- I also just walked around a lot near the Grand Place looking at neat buildings and taking it all in!
The list above is generally ordered in how you could potentially approach a day in Brussels, starting from the Atomium, which is a little further out, and ending in the centre of the city by dinner with plenty of time to go on side quests in between. It’s easy to get around by tram and bus, with plenty of convenient stops, which you can tap in/out of with your phone’s wallet app. Google Maps is perfectly sufficient for navigation: sometimes the French/Dutch names of lines or stops will differ, but it’s obvious by context where you are. If I remember correctly, most of the transit instructions/signs are also available in English.
As I mentioned above with the FOSDEM swag, my backpack space was fairly limited, so in terms of souvenirs, I wanted to get something small. I have this thing that I call strategic souvenirs: back home, I have a collection of little engraved glass skylines of cities (like this) and my parents are working on a Christmas ornament collection from around the world. This makes self-control much easier, since I usually only ever buy things in those two categories, and as a bonus both are small and light. I ended up getting a little Atomium keychain that we can use as an ornament, and it’s super cute.
Conclusion
I’m very grateful for the opportunity to have attended FOSDEM and to share my work to so many. The timings aligned so well this year, making travelling to attend much more feasible. This might be the only time in a while that I’ll be able to attend given I’m normally based in Vancouver — flying across the Atlantic for a weekend conference is a bit much, especially if it’s open-registration and there aren’t any travel grants. There’re quite a few academic-focused conferences in Europe that I’d loved to attend as a volunteer/student, like EuroSys, but the times don’t overlap as well with my current trips and again it’s not really worth it if I’m normally in Vancouver. Nevertheless, it was interesting to get a glimpse into the European open-source community and travel to a new country, and returning to FOSDEM is definitely on my radar if I’m ever in Europe this time of year again.
Speaking of travel, I really enjoyed taking a short weekend trip like this: it feels very low-commitment and overwhelming-in-a-good-way. Europe is so small that you can cross country borders within a couple of hours by train, and it’s even faster by flight. Compared to North American travel, where 4H can maybe get you between two cities in the same province (Toronto to Ottawa), transportation feels so fast and is fairly inexpensive. The differences in architecture, landmarks, languages, and local vibe change so drastically in such a small distance. Daytrips to completely different regions and one-night stays in other countries feel so tractable now, and even exploring in a single city has so much to offer. I realize this is a very North American take, since it’s just that everything seems so shiny and possible and new since I haven’t been exposed to much of the platonic ideal of Europe, but it’s been fun exploring so far and I hope to do more short sojourning.
I plan to be back to writing shorter posts more frequently soon. My last few posts have all been on the order of 5K words, which is fun to brain-dump and write, but it leads to more investment in each post, especially if it’s more technical and there’s a lot of research or explanatory diagram creation required. This makes me procrastinate on writing, and my backlog of smaller ideas just keeps growing. There’s a few (shallower) rabbitholes that I’d like to write about here that will probably fit in more digestible chunks, so expect to see more of that in the coming months.
-
Like the Netflix-famous Emily in Paris, I’m here to provide more of
an Americana Canadian perspective. ↩︎ -
“D-Day” in French. Slightly unrelated: some notes on French vs. Dutch (and German) in Belgium. It’s a fairly major political issue in Belgium, and from what I’ve heard, there are entirely separate government systems in each language. ↩︎
-
“So much tourism advice” in French. ↩︎