DevConf 2024 report

15. 06. 2024 | Jakub Kadlčík | EN fedora report devconf

This year’s DevConf was a blast and the best time I had at a conference probably since 2019 Flock in Budapest. Thank you all who make events like these happen.

Day 1

It all started a bit unfavorable for me. I arrived underslept, forgot that am supposed to have a ticket, and when I finally got to the Go language basis course, which I was very much looking forward to, the room was already packed and we weren’t allowed in.

Without much thinking, I joined the Upstream maintainers meetup instead, which turned out to be a good choice. For me, the most interesting part was a discussion between an OpenSSL maintainer and an LVM maintainer about why they don’t have many contributions from the community. What I realized afterward:

Two takeaways for me. First, I think we should try to reach contributors only one level up and one level down from our project. Also, I would like to pick five RFEs from the Copr backlog which would be nice to have but our team won’t have time to implement them. Probably ever. I will write a short paragraph about each of them, score them with difficulty, and list the needed skills for their completion. I want to see if anyone from the community would be interested in implementing them.

On my way to another talk, I stumbled into Florian Festi. We haven’t talked in person for years, so I tried to re-introduce myself. I have high regard for Florian, so of course, I couldn’t even stutter out my name. I don’t know why. He is a kind and friendly dude with a majestic fluffy beard. There was no reason to be nervous. Anyway, we discussed the insufficiencies of the Python RPM documentation, and what should be done with them.

The price for the best presentation of the conference goes to Evan Goode for Learning from Nix: how other package managers can do better. The topic was novel, the analysis was on point, and I very much appreciate his speaking skills. After the talk, I lamented about Nix not being packaged for Fedora, which is in my opinion a big drawback. During the lecture, the whole room raised their hands that they know Nix. Then the whole room raised their hands again that they use an RPM-based GNU/Linux distribution. Yet nobody raised their hand that they actually use Nix. I think the reason is that it isn’t easily available on Fedora. And many of us just are not willing to run curl ... |sudo bash.

After lunch, I finally got the opportunity to meet and chat with Dan Čermák in person, after having several online discussions about rpm-spec-language-server. His lightning talk was on the same topic - Creating a Language Server for RPM Spec Files. Cudos for doing a live demo with a mic in one hand. Also, it was nice to see somebody else use Emacs.

Day 2

This year, I decided to try something different, and … don’t go. I stayed home, recharged my social battery, and worked on all the action items from the previous day.

I submitted a PR with Python API examples for the RPM documentation and texted Evan a Copr project with Nix that could be a good starting point for the official package. I created a containerized reproducer for a Vim issue we are having with Dan in the rpm-spec-language-server project. And finally, I picked some interesting Copr RFEs that I would like to offer to the community.

Not attending the second day hugely paid off. I was pumped for Day 3.

Day 3

I skipped breakfast and came in early to see Gickup - Keep your repositories safe by Andreas Wachter. I was the first one in the room and Andy promised to do the talk even if I was the only one. Fortunately, more people came. Afterward, we had a long chat about the Gickup project and the things I am planning to contribute. You see, I started working on a similar project a few weeks ago but Gickup is miles ahead, which is great because now I don’t have to implement all of it by myself from scratch.

Mainly I am planning to create a systemd service so it doesn’t have to be run in a container, add support for backing up project metadata like followers, stars, etc (a good opportunity to learn Go), and package the tool for Fedora.

On the Self-hosting/homelab meetup, I learned about new interesting ways how to over-engineer my 200€ ThinkCentre running from behind the couch. Specifically, I am planning to take a look at healthchecks.io, Borg, gethomepage.dev, and some services for push notifications like ntfy or gotify.

During a lunch break, I picked switches for my next mechanical keyboard and tried to hit 10 WPM on this … thing.

I got unexpectedly mentioned in Michel Lind’s talk about Applying Production Engineering mindset to RPM Packaging for fun and profit. Not going to lie, felt really good.

After the lecture, we brainstormed on moving the fedora-review project from Pagure to GitLab so that we can set up Packit for it and have a proper release process and CI. Which is currently the biggest pain point of the project. As Neal Gompa pointed out, that is the exact reason why neither of us publishes a release even though it is needed. It is so bad I rather generated a downstream patch for the Fedora package the last time I needed to ship something.

And that was it, the end of the conference.

Closing thoughts

The event schedule was packed with ten tracks going in parallel at any given moment. It was virtually impossible to attend everything I wanted to. Good thing there are recordings to keep me occupied during all my meals this week.

Also, I am not a social person. I know that, you know that, everybody knows that. I loved to see you all but I cannot handle being three consecutive days in crowds of hundreds of people without feeling like shit. That’s something I had to contend and reconcile with. Skipping one day paid off, my social battery held up, and I am already looking forward to DevConf 2025.

Surprisingly, I felt so great afterward, that on my way home I even approached a beautiful woman that smiled at me in a park. We had a nice conversation but she was married so we parted ways after a few minutes. She liked my compliment though. Hopefully, it made her day better.