I attended the Free and Open source Software Developers' European Meeting (FOSDEM) in Brussels, Belgium last weekend. There are hundreds of hours of talks in 35 rooms over a period of two days, and rooms are often full to capacity, so it's impossible to see everything! Thankfully every room is live-streamed and recordings made available after the fact, so you can catch up on anything you miss.
On the Eurostar over my travelling companion and I were lamenting about the Nix DSL, and we heard a French accent from behind:
Ah, NixOS. See you at FOSDEM then!
The day started with a coffee and a banana (probably not substantial enough in hindsight), an absolutely packed number 71 bus to the ULB Solbosch Campus, and arriving in plenty of time to get a seat for the 09:30 CET opening ceremony. I kicked off the day by attending:
Having, during my January tradition, spent some time revisiting my technical (in addition to non-technical) habits, after getting sufficiently frustrated with thunderbird I've started using the aerc mail client along with isync (mbsync)/goimapnotify/mu. So naturally I then moseyed on over to the Modern Email BoF.
I was a little early and caught the end of
the NGI Zero network meetup, and met someone who works for the Dutch
Standardisation Forum on, amoung other things, a neat website and
mailserver tester at internet.nl. My
website and mailserver had a couple of flagged issues including a DMARC
policy of none (which should really quarantine or reject once it's
working properly), and DNSSEC support due my nameserver EON not (yet)
supporting DNSSEC. Switching to bind with a couple of configuration
changes got me scoring 100% on my apex freumh.org
. The
www
subdomain was a CNAME to the apex, which meant it also
served an MX record. I don't serve any significant website on my apex
domain, so I simply dropped the subdomain. Now I'm told a free
internet.nl
T-Shirt is on its way to my Cambridge
address!
I've been working on a nameserver
to provision TLS certificates recently for inclusion into my
one-stop-shop self-hosting solution Eilean. By including
the DNS zonefile data in the Nix configuration we can automatically
provision the necessary records for new services, as well as manage
records for e.g. DKIM/DMARC/SPIF. It would be great if I could get a
score of 100% on internet.nl
on an out-of-the box Eilean
deployment as this would simplify the experience of self-hosting these
services greatly.
When the Email discussion
started I sat next to a person who develops the Go IMAP library used by
my mail client aerc. They also just so happen to be the lead maintainer
of wlroots
,
a library which I was writing bindings to OCaml on the train over in
hopes of writing a performant, functional, modern display server. I've since
been added as a maintainer to the dormant bindings
library.
I then joined he JMAP discussion section and got some insight to the chicken-and-egg problem of Internet protocol ossification in a discussion between Dovecot developers and salespeople, and JMAP proponents. Talking to one such JMAP proponent developing a JMAP client for Android was very educational. It seems like JMAP is essentially an open standard for implementing a lot of functionality that comes from propriety client/server solutions like Gmail. For example, it supports the use of notification services of instead of polling (and not just maintaining an open TCP connection). I've heard this can be an issue using non-Google android distributions like GraphineOS, but apparently there are numerous alternatives such as microG. Another example is that it supports search on server functionality without having to download emails. I like to keep all my mail locally on my main machine, but the JMAP seems particularly well suited to mobile devices where that is not the case.
They also mentioned the Stallwart JMAP-compatible mailserver. This was mentioned by nlnet.nl in the NixOS devroom on Sunday as well. I might try deploying it for myself and integrating it into Eilean.
After the Modern Email devroom I had a look around the stands in the AW building which were mainly OS related. A couple of really cool projects were PostmarketOS and SailfishOS building Linux (not Android) distributions for mobile devices, though apparently SailfishOS has some closed-source components such as for Android emulation. It seems Gnome and KDE both have mobile display environments, and Phosh is the on PostmarketOS. Sxmo is cool project that encourages allows the use of e.g. sway. It also allows SSHing to your phone and sending SMS messages! I can't figure out how to send texts from the command line with KDE, It also looks to be possible to deploy a number of matrix bridges for this.
My choice of browser was vindicated with a free 'cookie' stand:
I attended a bunch more talks after lunch (but still far less than I wanted too):
After the conference proper we were in want of something to do so we went to a Tailscale meetup for free drinks. To collect said drinks, one had to connect to a printer shared via Tailscale. Unfortunately as I'm using a self-hosted headscale control server I wasn't able to have this machine shared with me. Thankfully my companions were more than happy to print a ticket on my behalf. Though, this reminded that my idea of a 'federated tailscale' would be really cool. In the bar I met some lovely people and got some podcast recommendations (e.g. Self Hosted).
After another coffee breakfast, I headed to the ULB for the final day of conferencing. I mainly camped out in two rooms -- the Nix and NixOS devroom and the Matrix devroom.
In this devroom I attended:
fstab
entry
for an invalid ZFS pool, which required asking a family member to be my
remote KVM to boot an old generation for me to fix the entry.During an intermission, I was hacking
on my VPS deploying DNSSEC with BIND9 for a free
internet.nl
T-Shirt when I started to experience some
strange network issues. All requests to freumh.org
were
being directed to
http://135.181.100.27:6080/php/urlblock.php?args=<hash>&url=http://135.181.100.27%2f
on eduroam. I wasn't able to connect to my site on the IPv6-only
fosdem
network either, despite it working the previous day.
Switching the dual-stack IPv4 compatible network seemed to alleviate the
issues, but before I uncovered these underlying network issues this
manifested itself in my being unable to connect to my headscale
Tailscale control server, which I exclaimed to my friend next to me.
Then the lead
developer for headscale, sitting right behind me, piped up
and said something along the lines of "I know it's rude to look at other
people's screens but if headscale is causing you any issues I
apologise".
The talks continued with:
After these sessions a couple of people asked what my status line is, and I pointed them to the configuration.
Having self-hosted a Matrix homeserver for (checks logs) 2 years this February, I was keen to attend the Matrix devroom, where I learnt about:
All in all, attending FOSDEM was a great experience where I learnt a bunch about topics I'm passionate about and met some really cool people.