EuroBSDCon 2023 report (1/2) – arrival & tutorial days

[New to Gemini? Have a look at my Gemini FAQ.]

This article was bi-posted to Gemini and the Web; Gemini version is here: gemini://gemini.circumlunar.space/users/kraileth/neunix/2023/eurobsdcon_2023_pt1.gmi

This article is going to be a long read. I’ll be giving a fair bit of detail to share enough of the experience to hopefully give interested readers a good idea on how things work and what’s going to be in for them. I will also not hide my intention of lurin… err, of course I mean encouraging more people to attend future conferences. πŸ˜‰

Last year in Vienna was the first time I attended EuroBSDCon. I wrote about it here.

Immediately after the the conference I thought “I need to attend again” but wasn’t too sure on how to do that (financially), so I more or less assumed that I’d eventually be going to miss it. The last couple of months have been a little hard for me. On a personal level I had to cope with my father passing away completely unexpectedly and there’s (unrelated) family issues as well. That’s part of why I did not manage to continue the CBSD article series after May (I will return to it, though!). The other part is me working overtime basically all the time to save a certification effort that we are in where the schedule turned up impossible to meet (not that I didn’t say so before we committed on it).

Disregarding three days to be able to go to my father’s funeral, the last vacation that I had was in September last year (you figure what for). On the plus side of this madness, my employer agreed to not just let me go to the conference but to cover the costs for travel and accommodation (thank you!), so it turned out I could attend after all!

Arrival journey

Obviously the next few parts are not about the actual conference and if you are only interested in that, you can skip it. Getting to places is not a negligible part of a conference experience, however, so I will tell that story here. There’s so many things that went wrong or at least kind of wrong (not only but especially in Portugal), that it could actually be funny to read about the journey.

Germany

Normally I don’t go to places that are out of my reach and while last year I took the train, Portugal was both a bit too far to do that. It also was too attractive to just go to EuroBSDCon again to not make an exception, though. So I welcomed the adventure of flying for the first time.

The first part of my journey proved to be very boring (as in: The sysadmin approves!). There were no delays and so I got all of the connecting trains and such. According to the screen texts there had been massive delays on other lines due to very bad weather, trees that fell on the rails and the like. Nevertheless I arrived ad Frankfurt airport (FRA) at 1:30 (AM, I’m using 24 hour notation here). With my flight departing at 6:30 I had more than enough time to orientate myself.

I bought a bottle of cola – for EUR 3.30. That’s robbery! I was so surprised when I learned the price that I just paid and left. The train station is at terminal 1 but I needed to get to terminal 2. Looks like there’s no way to go on foot but there’s a shuttle bus service connecting the two. There was construction work going on, though, so the regular bus stop wasn’t in use. I found a replacement stop where a note said that it was operated only at night, but there was no trace of a schedule to be found. After just waiting a while I asked a security person coming by and was told that they operated at irregular intervals and seemingly at random! It took a while, but eventually a bus showed up and I transferred to terminal 2. Well, at least the service is free of charge.

After getting to hall E and identifying my flight on the big board, I learned which counters are available for check-in. I had called the airline (Iberia) yesterday to find out how much time in advance the counters open and I was told that it’s two hours before the flight. So in my case 4:30. I took a seat near the counters for Iberia and took a couple of notes for this report as I had 1.5 more hours to kill. Luckily it turned out that the counter actually opened at 4:00 (well, more like 3:50 really). There were two people in front of me, so check-in should not take too long, right?

The first person had massive problems with his baggage, though: Wherever the service man attempted to attach the luggage label, parts of the bag just tore off … Eventually he went off to fetch a staple gun to get it attached and be somewhat confident that it would stick to the sorry remains of the old bag. By the time the first man was finally done, three people had gathered at the priority line. Flying business class they were served first by the single counter that was open. When it was the turn of the other man before me he also had problems. He talked in Spanish with the service man but I understood enough to get that he had brought baggage with far too much weight. Eventually he paid extra, I think.

Alright, my turn! Just the very moment I got to the counter, something on the other side of the hall switched on. No idea what that was, but it sounded like a turbine and made so much noise that I barely understood the man behind the glass! I still managed to check in my bag and received two boarding cards. I had planned to ask two more questions but in this situation (and with now a long line behind me), I only asked whether my luggage would be checked through to Porto (OPO) or if I had to retrieve it first in Madrid (MAD). I just hoped that he had understood me correctly and I got his answer right …

So with the two boarding passes and freed from half my baggage, I donated the bottle deposit at a machine and went for the security check. There I followed standard procedures of putting all my electric devices and metal stuff in the boxes and going through the scanner. Got my belongings back, sorted everything back into my carry-on bag and headed off to find the gate. The duty-free shop looked not very interesting and so I was waiting at the gate, taking more notes to pass some time. It was 5:10 and the boarding pass said that boarding would start 60 minutes before departure. So it wasn’t even that much time left until then.

Of course things didn’t quite go as planned (why should they)? 5:30 came and nothing happened. I had met the man again who checked in right before me and we talked a little. He’s from Panama and is flying back. 5:45, still nothing. I went back to the flight board only to find out that while for later departures the boarding had already started, for us there was no information. No delay, no nothing. Nobody seemed to know anything but finally around 6:00 the service man from the counter came to the gate and announced complications: For some reason the plane could not start from the planned location; also the baggage capacity was lower than anticipated. We’d be taken to the actual location by bus and trolleys that were meant as carry-on baggage had to be quickly checked in now to be returned at the destination. Business travelers and those with children first.

It took a while till the boarding finally completed. We received some instructions in Spanish and English but it was almost impossible for me to understand it: The Spanish was spoken so fast that after only a handful of worlds I gave up to recognize more than an occasional word here and there. And while the Spanish had at least been loud and clear, the English was much lower in volume and unfortunately the engines made a lot of noise where I was sitting. Anyway, I figured that I should fasten the seat-belt and after the plane finished driving around the airport for a while, it accelerated massively and took off. While the seat certainly wasn’t comfortable, after being up for about 24 hours (I had slept like two hours or so in the evening), I was tired enough to try and get some sleep. Indeed I fell asleep a couple of times for at least a few minutes each.

Spain

We were already in Spanish airspace when I felt a little rested and looked out the windows. Still flying above the clouds the world looked like a range of icy and snowy mountains. It was a nice view at first but became repetitive pretty soon. The captain gave some (again hard to understand) information like the altitude, I think. I also got that the weather in Madrid was excellent with a clear sky. By accident I happened to look out again when we passed a weather border: Seeing the clouds fade into grasslands, barrens and city areas was really nice. With the exception of the view, flying feels very much like riding a train, though: Narrow, shaky, uncomfortable.

Just a few minutes after I decided to take some more notes we were told to fasten the seat-belts again and get ready for landing. It was a bit of a surprise for me: We had started with a delay, would we really land early? Turns out, though, that while we touched ground earlier than I expected, driving the plane around on the airport and exiting it would take quite a while again. In the end one might say that we arrived almost on the minute.

So there I was at MAD with a bit of time on my hands to write down more notes waiting for the gate of my next flight to be announced on the screens at 10:00. Well, at first I couldn’t find my flight which was meant to depart at 11:30, but that time was nowhere to be found on the screens! I eventually figured that it had been re-scheduled to 11:25 which certainly was unexpected. At least the gate info appeared as suggested before and I decided to get something to eat along the way as it was definitely time for a late breakfast. I had more than enough to choose from, but in the end I settled on buying a napolitano, a sweet made of puffy pastry and filled with chocolate and raisins, I think. It was not too expensive, had a reasonable size and tasted good. Still I decided that would be enough until I got to Porto at least.

My gate was located exactly on the opposite side of the terminal. And I must say, MAD is big! It also has much more interesting architecture as FRA, is cleaner, has toilets every couple of hundred meters, conveyor belts (or whatever they are called), many children’s playgrounds and such. Boarding proved to be weird, again, though. They had not only re-scheduled departure but also the boarding time. According to the boarding card it would start 30 minutes before departure, now the screens said 45. Fine by me! Except that the gate didn’t open at that time. At about 30 minutes before departure (so the original time) they cast a speaker message that boarding for that flight was about to open.

However nothing happened for a while! By then lines had formed for grupos 2, 3 and 4. All passengers of grupo 2 boarded before us grupo 3 passengers regardless of how long they had been waiting and we were allowed in before grupo 4. Again the takeoff had been delayed quite a while with us being up in the air around 12:00. My watch said 11:10 when we reached the desired flight height: I had set it one hour back to make it agree with Portugal’s time zone already.

Portugal

After I arrived at OPO I found the baggage claim and got my bag back. It was about 12:30 local time at that point. I went through customs and eventually found the tourist info where I bought an “Andante card” and charged it so that I could use the Metro. It cost a couple of cents more than I thought it would as the info that I had found on the Web when I prepared my journey had been outdated. While that was a non-issue here, little did I know that it would become somewhat of a theme for the rest of the trip!

With the card in my possession I went looking for the Metro and found it. There I asked someone how to actually use the card. He was very helpful and not only showed it to me but also asked where I wanted to go – which proved to be a fortunate accident as that way I learned upfront that the Metro plan I had seen online was also outdated! In fact they had shortened line E which went straight to my destination before: Estação (train station) Campanha. However now I had to get off at Paragem (station / stop) Trinidade and change. Definitely good to know!

When I finally arrived at Campanha, I found the station to be confusing. In addition to the Metro some trains run from there, but it somehow didn’t seem right. I asked security staff and they pointed me a little down the street: “See that large building there? The station for the long-distance trains is behind it.” I got there but couldn’t find my train on the screens as there were multiple ones going at the same time. A woman at the info counter helped me by writing down the final destination of the train for me as it wasn’t mentioned anywhere on the ticket. The train arrived on time and I got in for the final part of my journey.

Unfortunately we arrived at Coimbra-B (station for long-distance trains, located a bit outside of the city) with delay of a couple of minutes – which meant that I missed my connection, the regional train going to Coimbra-A (or just “Coimbra”, a smaller station in the city). I asked for help again and was told that my ticket was valid for any regional train in that direction, so I just had to figure out where the next one ran and take that. Which worked out well.

Graffito right behind my hotel: A trident welcomes the BSD crowd to Coimbra!

Alright, when I arrived in Coimbra I was in good spirits. I had accounted for everything after all: In case my phone’s battery gave up or something (it’s flaky), I had it all on paper. Street names and such all written down. Perfectly on the safe side, right? Except … How do they say? “Make something foolproof – and somebody will come up with a better fool!” There’s no signs with street names for the streets in Coimbra! Some of the streets have names written on buildings, many don’t. Ouch!

Well, you could ask older people who know the street names, except that they often don’t speak English. Or you can ask younger folks who do speak English but don’t know most of the street names … After running around for about an hour under the hot sun of that day (and with all my luggage), I finally arrived at my hotel. Turns out that I had been on the right way on my first try and should have continued 100 meters onward, but I got doubts and turned into various different directions. When I got to the bathroom I saw myself in the mirror and looked like coming straight from the pool when having forgotten the towel!

I rested for a couple of minutes, got the wifi working, checked Open Streetmap to find a grocery store to at least buy some bottles of water and such. Turns out the closest one was … almost right at the train station that I came from! At least I knew the way. Walked over there again, got some food, paid and left. While already on the street I started to wonder about the price. I checked the bill, went back in and had to explain that the scanner somehow had billed each itam twice while I only actually took one! Finally I got back to the hotel, showered, ate something and went to bed. That was certainly enough for one day. No way to explore the city and find the way to the university as I had planned to do originally.

Tutorial day 1

I got up early in the morning, checked the schedule for changes and corrected my printed list of talks and rooms. Still early enough I left for the Universidade and actually found my way quickly. My destination was not far from the hotel at all, but when I got there, I was already sweating even though it wasn’t hot outside, yet. Why? Because basically all of the way goes up, up, up. At times really steeply even! There are incredibly long stairs with exceptionally high steps. Doable but phew! At the university I could not help but admire the buildings and their many statues. It’s some great architecture and really beautiful artisanship. I found the chemistry department (Quimica) quickly and was greeted with a “Yes, you’re right here” – maybe Henning had remembered my face from last year or so? The three of us who stood there all spoke German, so we talked briefly about the place and other non-BSD things.


The dreaded stairs on my way from the hotel to the university

Just when more people arrived, the door was opened and we went in. Henning left for the board room and the rest of us continued on. We stopped a little further down the hallway where the registration desk was being prepared and people started talking about how their trips had been and such. From what I gathered, two of the maybe 8 people present at that point were first-timers. One face I thought I knew but didn’t really recognize who it was. I heard that he had had a long trip from England. When he mentioned to somebody else that he was a FreeBSD developer, it clicked with me: It was Ruslan from Cambridge University. I approached him to thank him for his work on RISC-V and CHERI. We talked for a short while before somebody else whom Ruslan knew came by.

Full-day tutorial, 1st half

Then I saw Benedict who had arrived as well. Registration had just opened, though, so I went there to get my badge. Then I approached Benedict and we also talked for a moment before it was time to go to the tutorial room. While 9 people had registered for the OpenZFS introductory workshop, only 7 showed up. It went really nicely, though, as the people ho were there all were very interested in the topic. We had lively contributions by some of the attendees, especially those sitting in the front (myself included).

Benedict started the workshop by asking us to introduce ourselves and also touch on how much we already knew about ZFS as well as out motives for taking the tutorial. He also pointed us to the slides, mentioning that those were containing more than just bullet points so that they could be more useful for us at a later time when we perhaps didn’t remember something anymore and just some brief summaries don’t really cut it.

He explained the very basics like zpools and then datasets first. When somebody had questions he answered them right away which often enough lead to topics that he probably would have covered later. However he proved to be completely flexible in that regard and since the group of attendees was so small, it worked out very well as a pretty much interactive session. We took the first break while he was running portsnap to get some data in a newly created dataset with compression enabled. When people returned from the restroom or somewhere else, the program had finished. Benedict continued with some more ZFS goodness until it was lunch time.

Lunch

There was some confusion over the latter. We thought that there would be lunch at the university which had been the case last year (or that’s what I was told, I only attended the two main conference days in Vienna) and on some of our badges a line said that lunch was included for Thursday and Friday. Turns out that was not actually the case, so after claiming our T-shirt and even a bag (which both feature awesome artwork again) people went off in different directions to find something to eat.


The same stairs but from above

The group that I ended up with found a nice place. I sat down with an Asian man that I didn’t know. Turns out that he’s another one who came from Cambridge and is doing work on CHERI among other things. We talked quite a bit about that and some other things while waiting for our meal and then while eating. That got me some interesting insights on what is happening in that regard. The meal was good and fairly cheap.

Full-day tutorial, 2nd half

Back at the university Benedict continued with many more things ZFS after the break. At the end of the day we had covered pretty much all of the topics in his slides – but in an almost entirely different order. It generally went flawlessly and we all learned something there (including Benedict who definitely is not the kind of person who could not admit that!). He also wasn’t afraid of trying out things live which he hadn’t done before, either. As one might expect all of this contributed to an enjoyable atmosphere, making this workshop a very good experience.

The only thing that went wrong was him trying to mount a filesystem which he had created on a zvol — mount(8) would insist on “invalid argument” on his test machine. He tried a couple of things and people gave some input but the system would stubbornly refuse to do the mount! One of the other attendees who followed along on his own machine confirmed that it did work on his system and so Benedict invited him to take over the presentation and show it. That also was pretty cool.

Summing it up, I think everybody had a good time and could benefit both from the unconventional in structure but very clear introduction to ZFS. It was also nice how some of the attendees didn’t refrain from telling a bit about personal experience with various aspects of ZFS. Even though Benedics’s tutorial was far from being strictly academic and impractical, those remarks from the trenches complemented it very well.

After the tutorial

I talked some more with Benedict, asking him about a project that I’m involved with and the outcome was that I got an invitation to tomorrow’s FreeBSD dev summit (which is invitation-only)! In my report for last year’s EuroBSDCon I wrote that BSD people on average are very approachable. So let me underline that fact again here. Major takeaway: Don’t be shy if you have an interest in BSD! While I’m trying to do my homework (and maybe having blogged on the topic for years probably helps, too), I’m currently still a nobody. Nevertheless I got my invite. If your goal is to get involved in any of the projects you are very likely to find an open space. It’s not like there was a single BSD that could not use a couple more helping hands.

After that I had a look around and recognized one of the first-timers that I had seen in the morning. I remembered how it had been for me a year ago and decided to just walk up to him and ask whether he had enjoyed his first day. Of course he had. He had been to Kirk’s tutorial which I had also considered initially. In the end I hadn’t dared to book it because I thought that it wasn’t really for me (a person who hardly knows any C) and I didn’t want to take a seat away from somebody who could benefit more from it than me. Turns out that I had been wrong and could have also taken it.

Besides Kirk’s tutorial we chatted about a few other things, too, like Pf in OpenBSD and FreeBSD and of course how BSD compares to Linux. I could easily have stuck around longer to talk to more people and would certainly have liked to. But the trip took its toll on me and so I decided to walk to the hotel to get some rest. Sometime in the afternoon I had started having to suppress yawns – not that Benedict’s tutorial had been boring (and ironically it especially happened in the part that covered a lot of interesting new things that I didn’t know before πŸ˜‰ ). I was simply tired out.

The view on Coimbra across Mondego River after conquering the stairs

I had enjoyed the day a lot and was already beginning to ask myself what I may have missed out on last year. So if I manage to attend next year’s conference as well, I’ll definitely be going to the tutorial days again, if possible. After writing down notes from the day I went out to an Italian restaurant where I had a good pizza. Then I got back to the hotel and called it a day.

Tutorial day 2

I had originally booked the Ansible tutorial which had to be cancelled as Roller Angel unfortunately could not attend. So in the morning at the registration desk I asked if I could just go to Patrick’s Vagrant tutorial instead in case it wasn’t full already. Henning told me that as far as he knew not tutorials were full and that it would certainly be fine. He took my badge, corrected it and gave it back to me.

Outside the FreeBSD dev summit room I saw Ruslan and asked him about the summit. We got talking some RISC-V and CHERI and I learned more about it (this is fascinating stuff!). For me as a non developer the most interesting thing was his estimations on when Morello-based hardware would become available to the general public. He did have one but the surprising part was that it all depends very much on factors that he didn’t know much about! Let me quote him here: “I’m just a developer”. That once again made me realize that while people like him are the ones who do the most visible work (i. e. make our favorite OS run on those exciting platforms), there’s also a whole lot of work that goes unnoticed by most people. Work like that of Robert Watson whose schedule he said didn’t have a single free spot for weeks and weeks to come!

Attending FreeBSD dev summit as a non developer

When I got in, I sat down in the back. A while later Benedict saw me and came over to explain a couple of things to me. Kristof came by and the three of us talked a bit about OpenVPN, wireguard and such as well as (surprise, surprise!) operating systems. For some reason nobody seemed to be too fond of Windows and also to prefers FreeBSD over Linux. No idea how come, of course.


The pretty steep street “CouraΓ§a de Lisboa”

I don’t know what the first day of the summit looked like but I think it was mostly talks. Day 2 was more loosely organized with a couple of lightning talks and then more of a hackathon style day where attendees split into groups to work on things. We started at 10:00. First Bojan and Ruslan gave lightning talks and then I stepped up to also do a quick presentation as Benedict had encouraged me to. Mine was already the last one and so people formed small groups and started hacking.

I figured I might as well do something useful as well and remembered that I still had two outdated ports in the FPC that I’ve wanted to dedicate some love to for quite a while but hadn’t gotten around to, yet. So I let git update my laptop’s /usr/ports. While synth was busy regenerating the ports index, I re-read the appropriate section in the porter’s handbook for Rust ports (it’s already been three years since I’ve done this!). The build tool built the dependencies for the old port first and during that I ran out of battery. Unfortunately power was a serious issue at the university (very, very few wall sockets were available). So while admittedly I didn’t get teeeribly far, the good will had been there. Also time had flown by anyways and it was almost time for lunch. At least I had gotten 20 of the 93 dependency ports built.

Lunch

I had been at my own at this point and went in the direction where I’ve had lunch the day before. On my way there I ran into a small group of people who weren’t wearing their badges outside – however I was and so they recognized me being an attendee. I was asked whether I was going for lunch, too, and if I’d like to join them. Sure thing! So I met Taylor, Christoph and a woman whose name I didn’t catch. We had a good chat while walking to a restaurant and while eating. They were all NetBSD folks, so I of course asked the about the upcoming NetBSD 10. Seems like all the blockers have been resolved and the release is just around the corner. Like everybody else I’ve been waiting for 10 for quite a while now and it will certainly be another important step forward for NetBSD.

I am interested in ZFS on NetBSD in particular. Taylor confirmed that 10 can do root on ZFS (he’s been using it himself for some time now), but there are some caveats: There’s no option for it in the installer, yet, so you have to manually setup your system for this. Also if I got it right, the bootloader doesn’t support ZFS, yet, either which makes some trickery necessary that involves an FFS boot partition and a ramdisk. It’s still good to hear that it works well in general. Taylor wasn’t sure how recent the ZFS code in NetBSD is. It’s definitely before OpenZFS 2.0 as there’s no native encryption support. But fortunately it’s not terribly old – he thinks it’s 2019-ish. So probably roughly equivalent to what FreeBSD 12.x has.


Statue of king Denis of Portugal at the university

We were all surprised by the large amount of food that was served – which for me meant that I was going to be late for my next tutorial (and the others for the NetBSD dev summit they were heading to).

Half-day tutorial (afternoon)

I’m kind of an old school guy in some respects and as already touched on above, I had my conference plans on paper. That had been helpful the first day, but after I had made sure that I got wifi working (for some reason I had struggled with that last year in Vienna and eventually given up), I thought that I wouldn’t need it since I always had my laptop with me and would be able to access the program webpage. Turns out that’s not so easy with 0% battery! Of course I had left my sheet of paper in the hotel (because the additional weight would kill me otherwise, right?) … So yeah. Already being late I asked somebody – and was actually pointed at the wrong room first! Some more running around and I eventually found the room, though.

I had missed the first Vagrant box and likely Patrick’s general explanations. Fortunately that seemed to have covered about as much as I already knew to do with Vagrant so that wasn’t much of a problem. Never having used the tool for anything fancy though, the other Vagrantfiles that he covered taught me new concepts: Using the shell provisioner, doing (slightly) advanced networking, spinning up multiple VMs with different configurations from one Vagrantfile and such. He also touched on provisioning the VMs with Ansible, showed how he prepares Vagrant boxes (which is a really cool method) and then demo’d a more complex Vagrant project that bootstrapped OPNsense on a FreeBSD box.

Patrick had planned for a bit of time to help if anybody ran into problems or for a bit of live hacking in case people wanted to try out something themselves. Turned out that the few people that we were had been able to follow along mostly flawlessly and understood the Vagrant mechanics quickly enough so in the end we finished a bit early. Patrick is a true FreeBSD veteran and also a very good speaker: Calm, on point, well versed in didactics. It was a nice tutorial which I certainly do not regret taking despite my trouble with finding the room.

After the tutorial

Fortunately in the tutorial rooms we had the ability to connect our laptops to power. And since our systems are multi-tasking just as we are, during the workshop I got 54 more packages built for my port updating endeavors – then the next one was Rust … I didn’t trust the good weather to last and since I had to go to the grocery store once more, I again left instead of talking to more people. This morning when climbing the stairs called “Escadas do Quinchorro” again, I promised myself to count on the way down how many steps it actually has. The answer is: 115! I wonder how much altitude they cover – definitely quite a bit!

When I got to the hotel, I let my laptop crunch on bundled LLVM and the Rust compiler while going out for food before having a well deserved shower (did I ever mention all the stairs?). Then I ate something and worked on my notes for this write-up as long as the memory was still fresh. When the Rust package eventually finished (after like 4 hours), it was late enough and my poor machine hot enough to call it a day. 17 dependencies remained – I’d be building them Saturday morning.

What’s next?

So that was the first part of the conference report. I hope you enjoyed reading and got a little bit of the conference feeling. I’ll probably finish part two (which will cover the main conference day, the journey home and a conclusion) in a week or so. Spoiler: I had lots and lots of fun on the other days, too.

2 thoughts on “EuroBSDCon 2023 report (1/2) – arrival & tutorial days

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.