0

FOSDEM 2024: my experience, some notes and tech tips

 1 week ago
source link: https://ounapuu.ee/posts/2024/02/12/fosdem-2024/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

I finally went to FOSDEM. I’m sleep-deprived, completely exhausted, but incredibly excited about the whole experience.

FOSDEM in one picture.

FOSDEM in one picture.

I’ve split this post into three separate sections.

The conference

FOSDEM (Free and Open source Software Developers’ European Meeting) is a huge non-profit, volunteer-organized conference that’s free of charge to attend thanks to sponsors and donations. It took place in Brussels, Belgium at the ULB campus.

I heard about this conference from a friend who went there years ago, and after hearing about the experience and the content there I knew I had to be there at least once in my life. But then a pandemic happened, so it was sort of in the backlog for a while.

My current employer provides a perk that allows developers to attend technical conferences. After the FOSDEM 2024 schedule was available I put together an initial set of talks to attend, presented it to my employer, and got a green light to attend (and travelling/accommodation paid for).

The city

To make sure that I’m well-rested, I arrived the night before FOSDEM with my friend. After dropping my stuff off at the hotel, we went to get something to eat and continued at the Delirium Beer Garden to sample some of the finest Belgian beers. It was very crowded, but after the first beers and some walking around the many floors we found a place to chill.

We ended up with sampling a meter of beer which was a selection of ten small beers, laid out on a plank. It was a nice way to try different tastes and honestly all of them were either good or great. Cherry, raspberry and the green cactus option were the sweetest, like some good lemonade that has the potential to cause hangovers.

Meter of beer. It didn't come pre-sampled by someone else, don't worry.

Meter of beer. It didn't come pre-sampled by someone else, don't worry.

This one was called

This one was called "Cactus". Didn't taste like one, but certainly looked the part and was absolutely delicious.

Free tech tip: don’t underestimate the strength of Belgian beer. You won’t taste it, but that 8-9% alcohol per volume really hits in the morning.

Brussels is allegedly very nice, however I’m not a big fan of the way trash is handled, there are bags everywhere and some of them are broken, leaving small pieces of trash everywhere. You could also smell the lack of public restrooms when walking down the streets in the city center.

There are some glimpses of good bicycle infrastructure, but they often don’t connect well or are simply lines on the ground which doesn’t protect that well from cars. Based on the honks and the number of times they did not stop at crosswalks, I can only assume that drivers in Brussels are both very aggressive and very incompetent at driving. In a way it felt like home, especially since my hometown of Tallinn also uses red paint on some bicycle paths.

The dos and don’ts of FOSDEM

I went to the ULB campus using a tram. If you’re not sure which one to take, then take the one with the most developers headed towards it. Knowing when to get off is also easy as you can simply follow the crowd.

To FOSDEM!

To FOSDEM!

I arrived roughly 15 minutes before the keynote session. At that time there was plenty of room in the auditorium. By the time the keynote started there were no seats available, so you might want to do the same and arrive a bit early.

15 minutes before the keynote. The place was packed at the start of the keynote, with more people still coming in.

15 minutes before the keynote. The place was packed at the start of the keynote, with more people still coming in.

There were a lot of people attending FOSDEM. Keep a map handy, because your next session might take place in a room that might be tricky to find, especially as a first-timer. The FOSDEM Companion app is great for that, click on the session you’re interested in and the room name, and you’ll have a good idea on where it’s taking place.

This FOSDEM was the 24th FOSDEM to take place, which is important because the 25th one is happening next year. If you’ve been to any previous ones and are attending next year, then bring the oldest FOSDEM shirt with you, there will be a special photoshoot taking place.

If you’re going to attend FOSDEM in-person, then definitely read the FOSDEM survival guide. All the points there are still relevant and helped me out tremendously during my trip.

In short:

  • take an earlier bus/tram to get to FOSDEM to avoid crowds and get there on time

  • if you want to guarantee getting a seat in a session, consider joining an earlier session in the same room

    • you might also learn something about an area you had no clue about, which is a great bonus!
  • don’t underestimate the strength of Belgian beer

    • trust me on that one
  • food lines can get very long, bring some light snacks and plenty of water with you

    • some places had water bottle refilling stations, such as the U building, but I had a hard time finding one in others

    • there was plenty of Club-Mate for sale and based on the number of empty bottles it was a crowd favourite

There were 879 events taking place at FOSDEM 2024. That is a lot of talks to go through. My recommendation is to take an evening at least a week from the event and go through the list of talks starting with main tracks and lightning talks, and following it up with devrooms that align with your interests.

If you do it in the FOSDEM Companion app, then you can bookmark them and view your initial schedule. The app will show you where there are overlapping sessions by coloring the start/end times red. The app can also show you if a room is too full to attend. Don’t forget that switching rooms might take about 15 minutes in some cases due to the size of the campus, so leave some room for walking in your schedule.

In my experience, the most enjoyable FOSDEM experience is one where you attend at most 2-3 tracks during the day and leave plenty of time for eating, resting and visiting all the stands. It’s going to be exhausting either way, so you might as well make the most of the FOSDEM live experience. Talks are recorded and will be published soon after the event so you’re not going to miss much if you take things easy (unless there are issues capturing the session).

Here are a few simple guidelines that I recommend following so that listening to talks in FOSDEM live is a great experience for both you and those around you:

  • try to get to your next talk about 15 minutes before it starts, that allows you to queue up early and not miss your session

  • don’t talk or whisper during the talk and the Q&A session with the speakers

    • there were so many cases where the speaker could not even hear the question being asked, which is disrespectful to the speaker and the audience
  • if you really need to leave early, then be as quiet as possible

    • the old desks at the seats make a lot of noise if you carelessly put them back up-right
  • if you really didn’t have time for a snack, then don’t bring something that makes a lot of noise or smells strongly to the auditorium

If you want to get a FOSDEM t-shirt or hoodie in your favourite size, then the first half of the first day is the ideal opportunity for that. At FOSDEM 2024 the t-shirts cost 25 EUR, hoodies cost 50 EUR.

Most payments you’ll make will likely be with contactless payments via your card or phone, but definitely bring some cash with you in smaller denominations as there were a few cases at the start of the conference where the payment systems were not working properly, likely due to network issues. Somewhere between 100-200 EUR will likely cover anything you’d need at the conference itself.

With the food trucks I made an observation: the lines were longer for the more expensive and higher quality food options. The cheaper ones are okay and are generally quite fast to get. The more “premium” trucks were not much slower though so waiting in line might pay off.

During the keynote it was emphasized that some of the attendees will get sick as a result of this conference. They call it the FOSDEM flu. I guess it’s a thing that happens at many big conferences, but in any case if you do visit FOSDEM then please don’t do it while sick. If you fall sick at the event, then rest at the hotel and watch it on a livestream instead. There’s always next year!

One pattern I noticed is that quite a few talks were used as a great marketing tool for highlighting issues that the speaker would like some help with solving. What better way to improve FOSS than to involve people who might not even be aware of the issues but have the technical know-how to help?

The stands (the hallway track)

One of the highlights of the FOSDEM experience are the various stands in different buildings in the campus. You’ll find all sorts of different projects being represented, ranging from big, established ones (Fedora, Debian, Nextcloud, PostgreSQL etc.) all the way down to small projects and organizations (postmarketOS, Ubuntu Touch, CalyxOS and many more).

Most stands offer free merch, such as stickers. A lot of stands sell merch, most accept card payments, some accept payments via online credit card payments, and a few take cash only.

I visited most booths at the event and spoke briefly with many of the people present there. If you’re just curious about what’s on display and have no background knowledge, then don’t be afraid to ask questions, no matter how simple you think they are!

Here are my notes on the stands that I found the most interesting

GNU Radio

This stand had a simple and effective demo of a device monitoring the 2.4 GHz spectrum, which is also where older Wi-Fi standards operate in. The person hosting the booth was happy to explain what was going on, even bringing out details such as signals bouncing around the room and how they show up on the spectrum visualizer.

Turns out that you can achieve this by putting together two blocks in a visual editor in GNU Radio, and this is why it’s on my todo list now.

There’s also a video clip of the visualization running.

GNU Radio showcasing its visualization prowess.

GNU Radio showcasing its visualization prowess.

Minetest

Minetest is an open source game engine and had a booth present at the event. They had the game running on a laptop. A Steam Deck with the official dock was also present. I’ve previously heard about this project many years ago, at that time it was a simple Minecraft-like game but a bit too basic in my opinion. The demo at the booth reminded me of something more polished and yet familiar enough to remind me of Minecraft 1.8 Beta days.

Turns out that over the years the game engine has seen a lot of development and there are many creators who have mades games based on this engine. I was also delighted and surprised to hear that Minetest has been used in educational projects.

Minetest running on a laptop, with a booklet showcasing some games made on it in front.

Minetest running on a laptop, with a booklet showcasing some games made on it in front.

This was a nice and colorful corner of the event, and now I’m interested in giving Minetest a try again.

Ubuntu Touch

Ah, Ubuntu Touch. I believe the first time I heard about Ubuntu Touch was when they introduced the convergence idea. Your phone is the only computer you have, use it as a phone when out and about, and connect it to a dock when at home to get a desktop experience.

The booth had a wide variety of devices present, including Fairphone 4 and 5 (this isn’t the first time you’ll see these models mentioned). At the booth were people who actually daily drive Ubuntu Touch, and one person I talked to expressed their interest in porting Ubuntu Touch to a Samsung foldable phone.

Ubuntu Touch isn’t probably something I’d run full-time, but perhaps it’s time to give it a go again. My Nexus 5 still has the boot logo that Ubuntu Touch installer creates, so that will serve as a reminder for me to check it out.

Ubuntu Touch mascot looking over the phones.

Ubuntu Touch mascot looking over the phones.

SailfishOS

I knew of SailfishOS, but had never tried a device out with that OS. At FOSDEM I finally had the chance to do it, and out of all the custom OS options that aren’t Android-based, this one was the one with the smoothest and most polished experience. When speaking to the person hosting the booth, I also learned that it is possible to even run Android apps on it, although after doing some research on their website it seems like it’s a feature that you need to pay for.

The phones laid out on the booth were various Sony Xperia devices. I’ve not used or seen those devices, but they felt really great in hand and were super small compared to modern phones. Seems like these models are also the ones that have got the most polish and support, based on the materials on the website and my two minutes of fiddling with them.

Out of all the non-Android alternative operating systems, this one has the most potential to be a daily driver. The person at the booth uses theirs as a daily driver so there must be potential on it. The corporate backing is likely what allows the OS to feel usable and hopefully that will be enough to keep this project alive.

Various Sony Xperia phones running SailfishOS.

Various Sony Xperia phones running SailfishOS.

Droidian and postmarketOS

There were multiple booths where you could try out various versions of Linux-based phones that aren’t Android.

The phones were all sorts of older and newer devices that originally shipped with Android. The experience and support was a combination of the hardware and the state of the mobile Linux distribution and UI. Some were quite okay, some were rough, and some were just slow due to the age of the phone itself.

Plain old Linux? On my phone? It's more likely than you think!

Plain old Linux? On my phone? It's more likely than you think!

I really appreciate these types of efforts to give new life to old devices. Most Android devices lose software support after a few years, but with projects that basically put Linux on a phone you can still find ways to make use of the devices. They might not be stable enough yet to be considered a reliable daily driver as a smartphone, but you can do all sorts of cool things with them, like running web servers or hosting encrypted remote backups of critical data.

One of the booths also had a Pinephone in a keyboard dock, which was neat as I’ve never seen a Pinephone in real life, nor had the opportunity to try one with a keyboard. It wasn’t ergonomic trying to do it with two hands, but maybe I was holding it wrong.

It was interesting to see GNOME or KDE-based user interfaces on phones. The gestures and navigating the UI was a bit rough since there were slight differences on each OS. Still cool though!

Oh, and there was a visitor who had some cool gear with them. Other than a GPD portable computer, they also had a mechanical keyboard with a wide display attached to it. They tried connecting it to a phone that was on display at the booth, and it recognized it as a second display on the first try. The model of the keyboard is Ficihp K2 in case you’re interested in similar gear.

How to take notes in the coolest way possible.

How to take notes in the coolest way possible.

CalyxOS

I had never heard of this Android-based OS before, but there they were, showcasing it on a freaking Fairphone 5 (and also some other phones)!

The people at the booth were very friendly and helpful, answering any of the questions I had about app compatibility and the OS itself.

The project seems to be backed by an US-based non-profit, the Calyx Institute.

I’m a bit wary about using this on my daily driver Fairphone 5 running Android 13 as I just got it, but if I had a spare one for testing I’d definitely check out how well it fares as a privacy-focused OS. The potential is there and hopefully CalyxOS will have a chance to prove itself as a long-term and stable project.

Totally forgot to take a photo of phones running CalyxOS as I was too busy giving the OS a try, but here's a hat!

Totally forgot to take a photo of phones running CalyxOS as I was too busy giving the OS a try, but here's a hat!

Side note: I’m planning on covering my Fairphone 5 experience as a separate post in the future, but one takeaway from FOSDEM is that I’ve accidentally picked a tinkerer’s dream phone.

Automotive Grade Linux

Like with many projects, I had never heard about this one before FOSDEM.

This booth was displaying various interfaces designed for cars. There was a demo vehicle dashboard which was simulating a moving car. Next to it were two bigger displays that had infotainment and control panel functionality with all sorts of buttons on it.

Yup, that's RISC-V!

Yup, that's RISC-V!

Between these two setups was a small control board with 9 keys and two dials. Some of the buttons popped up warning lights on the digital dashboard, such as passenger airbag failure. Other buttons had various stickers on them: HTML5, Qt and Flutter. Turns out that the intotainment display demo was built on top of containers and pressing a key would stop the running one and start up a different one based on whichever button you clicked.

Unlike with my actual car, with this one you could turn the warning lights off without having to spend a lot of money!

Unlike with my actual car, with this one you could turn the warning lights off without having to spend a lot of money!

One of the infotainment displays was running off of a Raspberry Pi, which was cool. The rest of the displays were running off of a stack of various bits of hardware.

Dashboard and infotainment setup, with the container switching buttons between them.

Dashboard and infotainment setup, with the container switching buttons between them.

Based on the marketing materials at the booth it seems like automotive grade Linux is also collaborating with some big names in the auto industry, which is neat!

Pine64

I’ve occasionally checked out Pine64 progress and devices online, and at FOSDEM I finally got around to play around with some of them.

So much tech to play with!

So much tech to play with!

I first checked out the smartwatch named PineTime. It comes in multiple versions, one for daily use (the sealed model), and one which is bulkier but easier to open and flash in case you mess up your firmware. I’m currently using a Casio F105W and haven’t been a big fan of smartwatches, but the hardware on the sealed model felt premium and something I’d pay good money for. The functionality was basic, but it had everything you’d want from a basic watch, plus a heart rate monitor and even a Pong-like game. I’m seriously considering getting one now.

Do you know what time it is?

Do you know what time it is?

The PineTab-V, a RISC-V based tablet, was also present and running KDE Plasma. The experience was unstable at the time as I had the settings app crash on me once, but that’s likely down to driver support not being quite there yet. That’s OK, since they advertise the device as an experimental device right now.

Something I wasn’t even aware of was the PineNote, a Linux tablet with an e-ink display. It was running an actual GNOME desktop on it so the interface was instantly familiar to me. As a test case I opened up my blog on it and it worked just fine. Scrolling the page to read the blog was a bit clunky due to the low refresh rate that an e-ink display has, that’s just a limitation of the technology. Here’s a clip demonstrating it.

Shameless plug, I know.

Shameless plug, I know.

While I was checking out the hardware, there was also a demonstration going on of the capabilities of the Pinecil, a small soldering iron that’s really cool and gets quite hot. I’m a bit surprised that it didn’t trigger the smoke alarm that was a few meters away from the booth.

Bytenight 2024 @ Hackerspace Brussels (HSBXL)

One of the many FOSDEM fringe events was a party hosted at Hackerspace Brussels, a hackerspace located in an old industrial building. The event had DJ-s playing music, a t-shirt making booth, a fancy projector setup, a room with SuperTuxKart on a big screen and a small Raspberry Pi-based mini arcade box, and the room where I assume work gets done since it had all the electronics equipment and workspaces.

Probably where the work happens.

Probably where the work happens.

The projector setup used in the party area was simple but elegant. It was positioned in a way that allowed various surfaces to reflect the video at different levels, making it all feel three-dimensional. Here’s a video demonstrating it!

Pretty cool vibe, not gonna lie.

Pretty cool vibe, not gonna lie.

I loved how one of the hackerspace members was excited to show off the insides of the mini arcade cabinet and explain the build process of it, including the design of the physical components. It’s cool seeing people get enthusiastic about something they’ve built with their own hands. Here they are, playing DOOM (SNES version)!

DOOM? Check. Belgian beer? Check. What else could you ever want from life?

DOOM? Check. Belgian beer? Check. What else could you ever want from life?

FOSDEM inside <3

FOSDEM inside <3

At one point me and my friend ended up speaking to a group of people, one of whom was showcasing their Tamagochi and offering it to others to interact with. I learned from them that there exists a self-hostable Snapchat-like app called Piqchat. My friend gave it a go on their instance and after fiddling with the sign-up process (we were at least two beers in at this point) he got it working.

We arrived around 20:45ish at the location, and at that point the dancefloor was a bit empty, but after 23:00ish it looked like a proper party. I wasn’t in the mood to party much because there was a whole second day of FOSDEM left and I was already exhausted.

Interesting location, interesting vibe and probably a great place for raves.

And the rest…

Here are some quick notes on other booths that I need to throw out there so that I don’t end up forgetting them.

KDE: other than stickers or merch, they had small handmade plushies of the project mascot Konqi. I’m still a bit sad that I didn’t get one at the first opportunity because they were all sold out during the first day.

Loved the fact that they were next to the GNOME booth. :)

Loved the fact that they were next to the GNOME booth. :)

PostgreSQL: I got to play in a game of Kahoot and while I crashed and burned in the final standings, I learned a lot about the PostgreSQL project details in the process. They also had cute hand-made (in Germany of all places!) elephant plushes in PostgreSQL-blue so of course I bought one. Fun fact: the ones sold there were version 2 of the plush which has the nice feature of not falling over on a flat surface. See, making PostgreSQL stable isn’t that hard!

It's clear that I don't know how to take selfies, and the poor low-light performance of the Fairphone 5 camera certainly didn't help.

It's clear that I don't know how to take selfies, and the poor low-light performance of the Fairphone 5 camera certainly didn't help.

Firefox cookies: Mozilla handed out free cookies from a pink food truck. No cookie banner included, but I guess it’s a nice way to remind everyone that Mozilla Firefox still exists. It blocks ads on desktop PC-s and Android, use it or lose it!

First-party cookies!

First-party cookies!

ISRG and LetsEncrypt: I went to FOSDEM and all I got was this free cert. The person at the booth was also handing them out in large quantities, just like Let’s Encrypt servers.

Brilliant!

Brilliant!

Feeel and wger: I know that it doesn’t look like it (yet) but I do go to the gym regularly and my current workflow involves keeping notes in a Google Sheets file. I never knew that a FOSS solution exists for tracking my workouts. I need to try it.

FOSSASIA: these lovely people were selling LED badges that you can program easily with an Android app called Badge Magic. This was 100% nerd bait and ranked high on the “I don’t need it but it’s so cool that I need to get one”. Simple. Elegant. Awesome! Oh, and due to the transfers being Bluetooth Low-Energy powered, I think someone accidentally sent their badge contents to my device. Whoops. Here’s mine in action!

A lot of people wore these over the campus, including myself.

A lot of people wore these over the campus, including myself.

Jenkins: they had Roundernetes, a Kubernetes cluster made of lots of Raspberry Pi-s, in a round frame. I’d love to build something similar one day, just because it’s neat!

They certainly know how to nerd-snipe someone!

They certainly know how to nerd-snipe someone!

Checkmk: it was the first time I heard about this monitoring solution, but after hearing about their background and their approach to building Checkmk that involved a lot of cooperation with customers, I’ll need to give this a proper look. Oh, and they had an air quality sensor hooked up to the booth, the results were OK when I visited the booth.

The talks

You’re probably coming to FOSDEM for the vibe, the people and all the fun stands, but there are also hundreds of talks that you can choose to attend.

Hey, it's that guy from curl!

Hey, it's that guy from curl!

There were many talks covering interesting topics, but I could only attend a relatively small number of those live. There’s simply too much interesting content out there.

Here are my notes on the ones I attended live.

“Where the !?*! are the packets going?”

This was one of those sessions I decided to sit in on to catch one I really wanted to attend and it was a good decision as the room was packed.

This talk gave a quick overview of a modified version of traceroute by Catchpoint and the enhancements they made to it, involving QUIC support, functionality that bypasses firewalls and some shenanigans in Linux setups on Azure (the Microsoft cloud services platform).

techtipsy rating: 6/10, it was alright.

Broom not included: curling the modern way

This talk was originally meant for a 40 minute session but due to limitations of the FOSDEM schedule, 20 minutes was all he got.

This session was a rapid-fire presentation of curl development and all sorts of things that you could do with it. I’ve used curl so far for simple requests, but after this session I know that you can do all sorts of shenanigans, including parallel transfers and a lot of JSON mangling. JSON, JSON, JSON!

I also learned about trurl which is handy for working with URL-s. Parse them, modify them, do whatever you desire without re-implementing all that complexity yourself. Neat!

techtipsy rating: 10/10, short, amusing and yet useful listen about curl, looking forward to a longer version in the future!

Improving IPv6-only experience on Linux

I initially didn’t plan on sitting in for this one, but since one of the WiFi networks hosted by FOSDEM itself was IPv6 only and I’m plagued by my ISP only working over IPv4 (old-man-yells-at-Elisa.jpg), I decided to listen to this one.

The speaker gave an overview of the situation with IPv6, which operating systems handle it well and which do not, and how you can improve the IPv6 compatibility on your own machine.

In short: Android works, Linux/Windows mostly work, but all the Internet of Things garbage (smart everything) is something you should simply avoid at all costs since those hastily thrown together pieces of crap only work over IPv4.

The rest of the session covered possible solutions for making sure that IPv4 and IPv6 both work nicely on your machine. Turns out that there really isn’t one perfect solution for this problem, especially since you can’t just ignore that part of the Internet that doesn’t support IPv6, yet.

This talk was also a way to ask for help from the FOSS community to help come up with a solution. If you’re into this topic, then go ahead and reach out!

techtipsy rating: 8/10, learned a lot about IPv6 support and what’s going on in this area.

An engineer’s guide to Linux Kernel upgrades

Great presentation that included useful recommendations for rolling out Linux kernel upgrades and why you don’t want to wait a long time to upgrade, backed up with data and nice visualisations, and memes.

Although this talk was about Linux kernel upgrades, the main idea is very much applicable in software development as well. If you don’t release software as often as possible but keep making changes at the same pace, then your change delta (or the number of pending changes) increases, and so does the risk of something going wrong, either by releasing a buggy change that’s now harder to troubleshoot due to the large number of changes deployed, or not releasing new versions of software with security patches.

This talk also explained the Linux kernel development workflow, the meaning behind version numbers (it’s not semantic versioning!), and how security patches get merged into “long-term support” versions.

In short: update often, deploy often, measure things.

techtipsy rating: 9/10, great listening for software developers and Linux newbies alike.

Soft Reboot: keep your containers running while your image-based Linux host gets updated

My day job uses Kubernetes for running our services. Have some pods (containers) running on a host that you need to update? No problem, Kubernetes starts new pods on another host, directs traffic to those and you can now update that host.

This talk shows another way of updating your host operating system and apparently this functionality is already present on most modern Linux systems that run systemd.

In short, if your containers meet certain criteria, then you can utilize this soft reboot functionality to update and reboot your base system without any noticeable interruptions to your containers. Your kernel will still be the same version, so keep that in mind. And yes, the irony of this solution is not lost to me after listening to the talk that emphasized the importance of updating your kernel as often as possible.

Although the customizations behind it are quite simple if you follow the guidelines, this talk still felt like magic to me. I guess that only means that I should look into it further.

techtipsy rating: 9/10, interesting concept that has real world usages at big tech companies and yet felt like something I could understand with my small brain.

Juggling with UIDs and GIDs: rootless container deployment with Ansible

Short but sweet talk about how the speaker manages their home server, including a neat workaround that most people who have worked with containers have faced: permission issues between containers and the host.

I’m actually struggling with a similar issue right now in my home server setup and I’ll definitely have to reference this talk once I get around to trying to fix it.

It was kind of odd how relatable this talk was to me: it’s related to self-hosting, the speaker has a home server running, they mentioned linuxserver.io images, and they care about running containers rootless. Even my friend made a note about the similarities.

techtipsy rating: 10/10, incredibly relatable and useful to me, a self-hosting enthusiast.

Orchestrating eBPF Applications in Kubernetes and Fedora

This was another session that I decided to attend because hey, I’ve already got a good seat and the session after that is in the same room.

I had little knowledge about eBPF before or what it does, but after listening to this one I have a rough idea about it. In short: small programs in the kernel that are used for networking, security and monitoring purposes.

This talk shed some light on deploying eBPF applications with bpfman and nuances around it.

techtipsy rating: 6/10, flew a bit over my head due to my knowledge gaps in eBPF, but it did raise my awareness about this area.

Lift and shift: Modernising a legacy LAMP application with systemd-nspawn

During my self-hosting adventure I’ve used various setups, including running containers with systemd-nspawn. If you don’t know what that involves, then it’s pretty much a container that acts more like a virtual machine when you interact with it. I have also worked with out of date software projects so this one felt like it could be relevant to my interests.

This talk was a quick overview of the troubles that the speaker faced with a horrifically out of date software stack that was still actively used at a school.

The steps taken involved securing the system against basic attacks, then working out how to containerize it and run it, including ripping apart old Debian Docker images and having to work around such limitations as “there’s no systemd”.

Great reference for anyone facing similar situations. Wish the speaker had more time to go into the whole other category of issues related to the software stack itself, including the MySQL related issues they faced during this migration.

techtipsy rating: 8/10, great topic and useful tips, would have loved more horror stories and pictures.

Beyond Joins and Indexes

This session was a sequel to a previous talk that the presenter gave so I was worried a bit about having knowledge gaps, but luckily that wasn’t that big of a problem.

This talk covered some common PostgreSQL queries and various operations that go on behind the scenes, supported by illustrations on how exactly PostgreSQL performs those operations.

There were a lot of examples shown and it was genuinely interesting. At one point it became more difficult to follow along, but I’ll mark that down to this being the first session of the second day of FOSDEM. I think my brain quit on parallel hash join part. In a way I felt like I was back in school.

Given the background of the speaker, it’s no surprise that they have lots of presentations and resources on PostgreSQL. Will definitely have to check those out.

techtipsy rating: 9/10, made my head hurt but I’m now aware of what to Google when dealing with PostgreSQL, and I know which materials to reference to refresh my memory on this topic.

Isolation Levels and MVCC in SQL Databases: A Technical Comparative Study

This talk started out well: forget what you know about SQL standards because those are apparently not correct in modern SQL databases. Way ahead of you there, Mr. Pachot!

Turns out that life before MVCC (multi-version concurrency control) was rough and reading data involved locking it. Unintentionally locking tables is something that’s a common problem at my day job with writes, so I can’t imagine what type of hell life would be if that was still the reality.

This talk shed some light on how databases handle transactions, reads and writes. Good resource to refer back to.

Made me awfully paranoid about databases and data consistency now. Can I even trust databases any more? Or my knowledge on this topic?

Sidenote on YugabyteDB: as someone who has been surprised by Amazon Aurora quirks at my day job (broken indices after a minor version upgrade, anyone?), I find it interesting that there are other companies that provide a similar service involving a PostgreSQL-compatible database with a custom data storage solution below it.

Author also has a blog on all things SQL, might be worth checking out.

techtipsy rating: 8/10, made me feel even more insecure about my database knowledge, but at least I know how to fix that.

Linux load average and other silly metrics

Quick overview of why Linux load average is not an useful metric to follow, and can be incredibly misleading in some scenarios, especially if you compare sync vs async I/O. I’ve been guilty of tracking that metric religiously myself, so… whoops.

Even the Linux kernel source code calls it a silly metric!

Look at Pressure Stall Information instead to understand where your system is bottlenecking.

techtipsy rating: 7/10, good topic but the live demo part could have used some polish.

Private clouds do not need to be legacy!

This one was a run through various high-level tech tips to take into account when faced with the task of moving to a on-premise cloud setup.

During my own professional career that officially begun in 2016, there has always been a push to move workloads into the cloud, for all sorts of reasons, legitimate or misguided. Turns out that on-prem isn’t dead and some organizations are moving back in that direction due to legal or technical requirements.

Here are my takeaways:

  • avoid third party software because that’s usually a source of lock-in

  • if faced with buy vs build decisions, prefer build

  • keep things super simple

  • if faced with build-time or run-time complexity, prefer the former, otherwise more technical layers in run-time result in more difficult troubleshooting due to added complexity

  • consider using Kubernetes (and an open source distribution of it)

  • version control your infrastructure

  • if you automate something, automate it 100% end-to-end, don’t half-ass it or include manual middle steps

A lot of ideas mentioned here are also applicable to those working with cloud platforms in any large company. If you have competent engineers, then you’ll probably have no major problems if you move to a private cloud setup as a lot of the tooling and knowledge should transfer over.

techtipsy rating: 7/10, would have loved to see case studies of public -> private cloud migrations to illustrate the process and highlight the pain points.

Firefox power profiling: a powerful visualization of web sustainability

This was a fun one for me because I care about how much power my tech consumes, and the speaker put a new twist on it. Ever wondered how much energy is spent loading your website? Now you can find that out!

This talk ties in with Mozilla’s vision for a better internet and their stated sustainability goals. Building new computing hardware is very resource and energy intensive, and shoddy websites motivate people to upgrade sooner than necessary.

The steps to take to measure the performance and power consumption of your webpage are quite simple. The power measurement support is hardware and platform dependent, but even without that you can get a pretty good idea of how well your website performs. The whole process was easy enough to do that I could follow it along on my laptop during the talk.

The talk was simple to follow and yet covered a lot of details and nuance around power profiling on various platforms. This should be mandatory for anyone working in web development, especially those that add animated full-page backgrounds on websites or load in megabytes of JavaScript.

Give this talk a listen and start measuring website performance, I highly encourage it!

techtipsy rating: 10/10, I hate poorly performing websites and love my machines running as efficiently as possible, and this talk brings those two topics together in a very nice way.

Postgres vs. Linux filesystems

My experience with hosting PostgreSQL has mainly been limited to one instance that is used by Nextcloud, and during my professional career I’ve only observed migrations away from ZFS-based self-hosted PostgreSQL instances, so I was really interested in seeing how different filesystems affect PostgreSQL performance.

This talk laid out some general guidelines for anyone running PostgreSQL, such as keeping your kernel up to date to get the best performance and avoid old kernel bugs, and presented lots of graphs detailing the behaviour of different filesystems under heavy workloads simulated using pgbench.

I recommend that you view the results, they might surprise you. As a btrfs user, they certainly made me think about choosing it if I were to ever build a dedicated database server on raw hardware.

Benchmarking is very difficult to get right so I suspect that there might be other nuances at play here with the results. Interesting presentation regardless.

Sidenote: the presenter was running QubesOS, which I’ve briefly played around with in the past. I never expected to see anyone actually using it as their daily driver. Very impressive!

techtipsy rating: 9/10, I now have an urge to do my own benchmarks to verify these results (but my TODO list is long enough already).

Are Project Tests Enough for Automated Dependency Updates? A Case Study of 262 Java Projects on Github

I picked this one mainly due to being annoyed with Dependabot spam and the state of tests at my day job.

This talk covered the promise of automated dependency upgrades and ways you can avoid seemingly innocent upgrades breaking things in production, covering tools like PIT and Uppdatera. If your tests suck, then adding mutation testing and/or static analysis to your project might help catch problems before they make it to prod, find unused dependencies and tests that do not properly verify that the service works.

The speaker also briefly mentions the age-old problem of balancing code reuse vs increasing operational costs. Maybe don’t bring in thousands of dependencies so that you can avoid writing a few lines of code?

There’s a whole research paper on this topic as well (check presentation for more details).

techtipsy rating: 8/10, maybe a project where tests are in shambles can be improved after all…

The talks I didn’t make it to

Due to scheduling conflicts, room capacity limitations and the fact that I can’t teleport, I could not attend everything all at once.

Here are talks that I plan to watch from a recording (once the processing is done). If I do end up watching them, I’ll try to add my notes below each one later on.

If you think there are must-see FOSDEM 2024 talks missing from this list, then do reach out to me and I’ll give them a look!

Closing thoughts

I loved FOSDEM 2024.

My expectations were high based on what I heard before, and it still exceeded them! The occasional technical issues weren’t a dealbreaker, there was generally plenty of room in the sessions (at least those I went to), and both the content and the people were great.

I felt at home, surrounded by people with whom I have similar interests. It’s not an environment I find myself in often, even at work, which is why FOSDEM felt so special.

Next time I’ll try to take part in more community events if possible, talk to people and leave some time for sightseeing in Brussels.

I’d like to thank my employer Concise Systems for paying for travel and accommodation.

Special thanks go to my friend Arti who introduced me to FOSDEM in the first place and helped make my first FOSDEM a memorable one.

FOSDEM gang.

FOSDEM gang.

Comments

If you’re not a spammer, just send me an e-mail!

Places where you can discuss this post:


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK