Wednesday, 15. October 2025

EuroBSDCon 2025 report (1/2) - arrival & tutorial days

This year's EuroBSDCon took place in Zagreb, as usual in late September. I wasn't sure I'd be able to attend until about three weeks before the event, due to circumstances beyond my control. Despite the effort to fit it into my schedule, it was absolutely the right decision to go! As in previous years, I continued my quirky little analogue game: bringing the schedule, maps, and notices on paper, and deliberately avoiding using a smartphone. Admittedly, doing this isn't getting any easier—even within my own country. But navigating a foreign city this way is definitely always an interesting challenge. It worked out surprisingly well this year, though.

If you're interested in my previous reports, find them here:

EuroBSDCon 2024 report (1/2) - arrival & tutorial days
EuroBSDCon 2024 report (2/2) - Main conference, social event & conclusion
EuroBSDCon 2023 report (1/2) - arrival & tutorial days
EuroBSDCon 2023 report (2/2) - Main conference, social event & conclusion
EuroBSDCon 2022, my first BSD conference (and how they are different)

I briefly considered attending only the main conference. But skipping the tutorials would mean missing out on two days of BSD goodness, so I decided to participate in them as well. EuroBSDCon only happens once a year, after all! I'll be following my established format for this report, covering the entire experience: the trip itself (which I consider an integral part of the conference feeling), the tutorial days, and the main conference. I took approximately 12.5 pages of notes throughout the trip and conference, whenever I had a moment to jot something down that felt worthwhile.

These days, I usually travel around my country by car and generally avoid events and parties. So, going on a trip like I used to do more frequently in the past is a grounding experience for me. As a hobbyist writer who, after decades of writing Fantasy and Sci-Fi, has switched to Cyberpunk, I've become somewhat accustomed to offering harsh(ish) social commentary (it's difficult to do the same with elves, orcs, and unicorns, as you can probably imagine!). Well, and I'm certainly not spilling any secrets when I document my observations on how things are going in Germany today. Let's begin.

(Oh, and since a lot of people are complaining about the rise of the em-dash these days, out of pure spite I've started actually using them. Yes, LLM usage by a society to a significant part composed of people who never achieved mental adulthood is a terrible idea. But certainly not for encountering some proper English on the net more often than before!)

The trip to Croatia

After a few years, I was confident I had enough experience and even a bit of a routine for this. But as usual, life chooses to punish arrogance. Things looked simple and even pleasant _on paper_. However, the adventure began right at Darmstadt main train station, the starting point of my journey. I arrived at about 6:40, giving me plenty of time to buy a ticket – or so I thought. The first ticket machine was—of course—out of order. I tried the second, selected my destination, and when I tried to pay, nothing happened. I inserted my card multiple times, but the machine stubbornly ignored it. Alright, a third one then. I selected everything again and tried to pay. This one had the decency to at least inform me that my card wasn't accepted.

What the heck? I've never had any problems like this before. Very well, cash then. However, I soon noticed the small banner at the bottom stating "no cash accepted"… *Sigh*. So, I tried the former ticket machine again, which finally accepted my cash and issued a ticket! Then I hurried to my platform. I would have made it, but when I arrived, I found out about a 16-minute delay and a message informing me that several cars would be missing. So, I can offer my usual "thank you, Deutsche Bahn!" early on. It's now 7:05, and I'll be waiting for some more minutes.

A couple of minutes before the train arrived, they announced that it would be arriving at a different platform. Well, whatever. It's 7:15 now, and I'm on the train heading to Frankfurt main station. Let's see what happens there! By the way, it looks like I'm the only person in this whole car who isn't either closing his or her eyes for a moment (a few people) or staring at a phone all the time (most people). Nobody is reading a book, looking around, observing the world, or having a conversation. It's not a generational thing, either – people my age or older aren't really any different in that regard. Society is largely broken. It's really no wonder that terrible things are happening right before our eyes—and nobody cares enough to stop it while there's still time. How did we lose it? And more importantly, how on earth are we supposed to fix it again?

I arrived at the airport at about 7:55. This year, I didn't have to head to terminal 2, so I got to explore T 1 instead. I couldn't find my flight number on the display because I was still somewhat early. It's 8:10 now, and I'm waiting for it to appear, so I have some time to take notes. The S-Bahn station at Frankfurt main station was another noteworthy thing. As I went down the stairs, the woman next to me exclaimed, "Oh, shit!" – and that was rather appropriate. The whole underground station was filled with people waiting. I've never seen a crowd of that many people in one place (if you don't count gigantic open-air concerts like Wacken). The display said something about construction work happening… Seriously? That means it's a *planned* thing, not some kind of disaster that struck unexpectedly. Which in turn means it simply shouldn't have such a massive impact. Thank you, modern times, thank you, business administration freaks, thank you, "just-in-time" mindset – and all the other illnesses of our time and age!

It's 8:40 now, and I've checked in one of my bags. The queue wasn't enormous, but it took roughly 20 minutes until it was my turn. Now I'm going to grab something to eat and then head to the security check.

It's 9:05 now, and I've just passed through security. Everything went smoothly; I didn't have to take off my shoes or remove my electronic devices. Now I'm already sitting near my gate, and boarding will start in less than 20 minutes. Perfect!

It's 10:40 now, and we've reached our designated altitude. Boarding at the gate began on time and went quickly enough. However, after getting onto the bus, it took quite a while for the driver to arrive, and the bus didn't leave until two late passengers had boarded. We eventually arrived at the plane and boarded just in time for the scheduled takeoff. Of course, we had to go through the usual safety procedures, so we ended up taking off about half an hour late. Since it's a direct flight and I don't have to worry about connecting flights, I don't mind too much. Since I pick up a few things here and there from my daughter who's learning Russian, I at least understood the stewardess' greeting when going on board: "Dobar dan" (good day). Since I decided so late on attending this year's conference, I unfortunately didn't have any time to look at the language of the country I'm visiting. We were just asked to fasten our seat-belts again as we're flying through an area with turbulence, so I'm going to stop writing now and probably take a little nap.

There wasn't much time for the nap, as shortly after I wrote this, the stewardess came along. We were given some Krekeri ("Crackers with aromatic herbs from the Kvarner region") and water for free – probably as compensation for the delay. It's 12:00 now, and I'm waiting at baggage claim to retrieve my checked bag. Once I have it back, I'll look around to find the airline bus.

It's 12:20 now, and I'm sitting on the airport bus. Things have gone well so far! But now comes the interesting part – when we arrive at the bus terminal, I'll have to find the tram and figure out how to buy a ticket. And then… I'll have to find the rest of the way on foot. It's raining, but not heavily. We shall see. The music on the bus is Croatian, which makes all the difference. I don't understand a word, but it sets a nice mood. While I wasn't sure what to expect—I'm entirely unfamiliar with music from the Balkans—it's actually quite nice.

It's 15:30 now, and I'm finally in my room. I figured out how to buy a tram ticket: you simply ask the driver (there are no ticket machines). Unlike in Ireland last year, the tram least display the names of the next couple of stations, so that was easy. I got off at the station I had planned for. Street names are properly indicated (unlike two years ago in Coimbra!), too. So, I relatively quickly found my way according to the route I had planned. I was more than an hour early for check-in, so I did a bit of exploring, found something to eat, and a supermarket, too, to get some bottled water. When I went to check in afterwards, it didn't immediately work (somehow the advance payment hadn't gone through). Since I don't currently own a credit card (I'll probably give up on that one for next year – I'm getting too old for *Nightmare* difficulty; *Ultra-Violence* ought to do!), I had to sort it out differently. But in the end I got my room after all.

It's almost 19:00 now. The weather wasn't nice at all, so I decided against going out again today. Instead, I unpacked my clothes and other luggage and took a shower. Then I got connected to the wifi and started answering some emails that have been piling up for a while now. Since my hair is almost dry now, I think about reading a little bit and then actually getting some sleep.

Tutorial Day 1

It's a few minutes to 5:00. I slept pretty well; the mattress' hardness is about perfect for me. My left shoulder hurts a bit from carrying two heavy bags, but otherwise I'm fine. I thought about getting some more sleep, but since I woke up on my own according to the current rhythm… I decided to rather have a look at getting my second laptop online as well.

Okay, that didn't work out too well. It's 7:15 now, and I'm giving up. I can't even find any Wi-Fi device on my Lenovo at all. I got that refurbished T480 because it's meant to be relatively painless, but sometimes the Wi-Fi chipsets and whatnot do vary, right? I tried a Linux live system, but it doesn't detect anything either. Of course I don't have a screwdriver with me, so I can't open it up to just have a look. On the plus side, I now know a little more about PCI classes, vendor IDs, and the like. Seems like I'm stuck with my Framework laptop, where the Wi-Fi works. I'd prefer the other one, as this machine is currently running Linux (it has an Intel Ultra CPU, and FreeBSD 14.x only works in text mode). Graphical mode is meant to work with 15.0, though, so I should be able to ditch Linux soon – and I'm definitely looking forward to that.

I, of course, wanted ZFS and ideally a non-sucky means of service management. So I went with Void, and while it's not half bad for a Linux system, it has a couple of limitations that are rather annoying. Some of the packages I want aren't available, and the means of virtualization are limited, too. I ended up with Qemu (there's no VirtualBox on Void). Trying to prepare everything for the first tutorial, I set up a FreeBSD VM and then tried to do the same for OpenBSD—however, it segfaulted during installation. Great! I guess I should just use jails and VMs on my remote server instead of local VMs after all.

It’s 8:10 now, and I’m back from breakfast. They offered a good selection of everything, and after some salad, roasted potatoes, and eggs (fried, scrambled, omelet, boiled), as well as some sweet bread afterward, I feel well-fed for the day. I’ll take one last stab at preparing some VMs for my tutorial, take another look at the map and the route, and then head off to the university.

It's 18:30 now, and I'm back in my room. In the morning, I left a fair bit later than I had planned, but at least I'd managed to install an OpenBSD and a NetBSD VM on my server and was pretty confident that I'd be able to get a FreeBSD jail up, too, upon arrival. Well, that didn't quite work out, but let's start at the beginning. Finding the train station turned out to be really easy. Hotel staff had told me that tram tickets are also available at kiosks, so when I walked by a tisak, I got some tickets there. Tisaks are everywhere, by the way, and I thought that this was the Croatian word for kiosk; but it turns out it's actually a chain that offers various services beyond what you'd expect from a kiosk, like sending or receiving parcels, cash withdrawal, and paying bills. Interestingly, tickets are cheaper there (€0.53 vs. €0.80). I took the tram and found the right station to get off without any problems. There, I turned in the wrong direction at first but soon figured out that the FER building was across the street.

I collected my badge, got a shirt, and immediately bumped into some familiar faces. Talking to a few people, I ended up almost being a bit late for my tutorial. But the room wasn't even open yet, so that was actually fine. Of course, that meant I didn't have a chance to prepare anything ahead of time. More importantly, though, it turned out I couldn't use any of my remote VMs – non-standard ports for SSH were being blocked on the Wi-Fi (and now guess what my servers use). Well, fortunately, we were given remote VMs that the connection to did work. The Ansible tutorial that I went to was good, and Niels covered quite a bit of ground. He didn't manage to win me over, but I knew beforehand that I prefer Salt over Ansible. However, I picked up some nice bits of knowledge not directly related to the popular configuration management system along the way. Well, and next time I have to use Ansible (which I anticipate will be before too long), I have a bit of a better idea about how to organize things.

During lunch break I met some more people and had good conversations. After the tutorial finished in the evening, I talked quite a while with Roller - and I really look forward to his tutorial tomorrow. It was almost 17:50 when I left the university building. I found my tram quickly and exiting at the right station proved to be no problem, either. It almost felt like a bit of routine already. On the way home I went to the same small market where I bought water yesterday and got some more bottles. Food had been good - both the warm meal and the cake. It's 19:30 now and I'm going to do a little bit of work while waiting for my hair to dry. I'll probably go to bed relatively early again.

Tutorial Day 2

It’s 5:30 now. I woke up around 5 but decided to sleep a little longer. My thoughts had already turned towards the day, however, so I decided to just get up now and do some work. At 8:10 I came back from breakfast. I went half an hour later than yesterday, and that made quite a difference. While it wasn’t exactly hard to find a vacant table, the room was much more busy already. They varied the buffet, and for example, today spinach and arugula were available for the salad (I forgot what they had yesterday). This time I was also smart enough to pick up an apple and a banana for later. Since I already know where everything is, I’ve got some spare time on my hands. I thought about leaving now and taking some photos, but it’s still cloudy, gray, and rainy, so maybe tomorrow?

I'm back at the hotel. It's 18:00 now. I definitely had a great day, enjoying the tutorials and talking to people. In the morning, I went to the kiosk again to get additional tram tickets. This time, the lady there didn't speak English, but it was easy to get along since I could show her a used ticket and indicate with my fingers how many I wanted.

I had wondered for years why Croatia's TLD is _hr_. I knew that the country is called _Hrvatska_ in Croatian, but I didn't quite understand why that is. Today, when I paid attention to the tram stations being announced and not only looking at the written form, it clicked. One station along the way is _tehnicki muzej_ (the museum of technology). As in many European languages—and unlike English—it's pronounced with a "ch" sound that you might know from TeX, where the last letter is meant to be a Greek chi. So the Croatian "h" is not as in "hotel" but as the "ch" in Scottish "loch." This language has quite a few interesting letters that I was interested in hearing spoken, but the differently pronounced "h" surprised me. But it's the unexpected details that make traveling so interesting, isn't it?

The first half-day tutorial I went to was about Terraform, Ansible, and Salt. Roller managed to cover _a lot_ in that short time, and I would assume he could easily have made it a full-day tutorial. He gave a fair share of advice on how to use AWS and showed how to use Terraform to implement the required steps easily. He then used Ansible to turn his laptop into a jailhost and to provision two jails (one with a working Salt master and one with a minion). Since Salt was covered last, that section fell a little short since we were running out of time. That was fine for me, though, since that's the tool that I'm comfortable using already.

For the second tutorial, I went to Benedict's on AWK. I've always wanted to know a bit more about this versatile tool, but never invested the time into learning it properly. So here was my chance—and I don't regret going there at all. He had slides and explained one topic and then always had some examples and challenges for the participants to solve with AWK. This was both fun and educational (and that's the way you should do things, right?). He finished a little early, and I thought about staying and talking or going back to the hotel. In the end, I decided to leave as I had noticed an organic market along the way and wanted to get some sweets for my wife. When I actually got there, I found out that it's open until 21:00, so there hadn't been any real reason to rush, but I hadn't known beforehand.

I expected to get a lot to pick from as the shop was not that small, actually. Funny enough, the first thing I saw was "Söbbeke Reibekäse" (grated cheese by a German dairy) and a lot of other brands that are common in German organic markets as well. Same thing for the chocolate—but eventually, I found something that we don't seem to have. (I think it didn't taste as good as I had hoped, but it's the gesture that counts, right?) I stocked up with some more water once again so I'd have enough for the weekend, and this time, there was someone there who actually spoke English.

Now that I'm done writing things down for my travel diary, I'm going to have a shower and then do some ports work. I've neglected this for a bit too long to not feel a little guilty actually.

Conclusion on the first half

Choosing the right tutorials is always a bit of a gamble, but after three years of taking some, I have yet to pick one that I regret. Last year I've already been thinking about taking Kirk's introduction tutorials about how FreeBSD works under the hood. Not knowing for how long he'll continue to give them, I definitely want to take those at some point. However both in Ireland and in Croatia there were other tutorials that better fit topics that are directly relevant to my work. Well, and I really need to sit down and learn a bit of C in advance, since ironically that's one of the programming languages that I'm not very familiar with. Maybe next year?

As I'm writing this, over two weeks have passed and I have yet to review my notes on the tutorial as well as the material we were given. But things are pretty hectic and it's hard to find time for something that doesn't absolutely have to be done (like finally writing this post!). I haven't used Ansible after the tutorial, but of course I have used AWK (even if only for something boring and trivial). I remember that after the two days I've very much been looking forward to the talks of the next two days – and especially for more of the _hallway track_ (i.e. just talking to people).

What's next?

The next post will be about the main conference days and my trip home.

(October 2025) EuroBSDCon 2025 report (2/2) - Main conference & trip home
BACK TO NEUNIX INDEX