How I Spent My Perl Toolchain Summit v2026 (Vienna)

by · ·14 min read ·2,814 words
Table of Contents

The Perl Toolchain Summit (PTS) is an annual event, held in Europe, where work on improving the Perl toolchain takes place. I was fortunate to be able to attend PTS once again in 2026. We met in Vienna, Austria. This was my 1st trip to Vienna and my 11th PTS in total.

The Perl Toolchain Summit 2026 group photo in Vienna Photo © Salve J. Nilsen, 2026, CC-BY-NC-4.0

#Getting There

This year, I had no little companions by my side. They were busy with other things. Though, my youngest did ask if, next year, PTS could be held at “a more convenient time”.

Having enjoyed my stopovers in Keflavík last year, I opted for more short hops this time around. I booked YYZ => KEF => FRA on Thursday, April 16. From there I would take a train to Saarbrücken, visit family for a few days (my aunt’s 91st birthday) and then take a scenic train ride from Stuttgart to Munich to Vienna. I put off (for very complicated reasons) booking my flights until the Tuesday before departure. It was not peak season and Claude had assured me that there should be no problems. He was mostly correct, but he did not foresee my slightly sore throat blossoming into a full-on head cold. On the afternoon of my scheduled departure, I called the airline and re-booked. I informed my relatives that I would not, in fact, be visiting. Now I had to book an extra leg to get directly to Vienna, so I got creative and booked YYZ => KEF => CPH => VIE on Monday, April 20.

That gave me a few days to speedrun the cold, mostly by refusing to get out of bed. My brilliant plan appeared to be working. On the morning of my departure date, I went for my regular swim with my local masters group. My eyes were getting watery and bloodshot, but I didn’t think too much of it. When I got home my partner looked at me and said, “You’ve got pink-eye”. I asked Claude. Claude confirmed. My family doctor was able to squeeze me in for a 13:00 appointment. I walked out of his office with a prescription for eye drops and clearance to fly that evening.

There I sat, on the plane, with bloodshot eyes and a dream of seeing my friends in Vienna. It all seemed too easily within reach and it wasn’t until the plane was in the air that I realized I hadn’t bought health insurance for the trip. I was pretty sure you couldn’t get it once you had left the country, but I got 15 minutes of free Wi-Fi by watching an ad for The Blue Lagoon and I asked Claude to help me out. Claude hooked me up with an insurance plan that covered my needs, with the caveat that it wouldn’t kick in for 48 hours. All I had to do was not have a medical emergency for the next couple of days and I wouldn’t be bankrupted. How hard could that be?

I didn’t sleep on the first leg, so I arrived in Iceland a little tired as well as sick. After a short stopover, I slept on the (shorter) flight to Denmark.

A grab ’n go café at Keflavík airport

Hjá Höllu ("at Halla's") at the airport in Keflavík. One day I hope to have saved enough money to be able to eat here.

When I arrived at CPH, I asked Claude if I was trapped in the airport or if I had enough time to get away for a bit. Claude assured me that I should just drop my bags early and take the Metro out to see the city. This turned out to be correct, so I set off for a brief spot of sightseeing. It was as I was wandering around Copenhagen that I noticed I felt worse than usual: tired, hot and a little light-headed. I got myself a crêpe and headed back to the airport.

The colourful gabled houses along the Nyhavn canal in Copenhagen

The Nyhavn quay, Copenhagen

Café tables and sailing boats lining the Nyhavn quay

The Nyhavn quay, Copenhagen

Once at the airport, I found I could barely stand and that I was starting to drift off to sleep even while walking, which made me worried I would have a fall. I still felt dizzy while seated. I was wondering if my cold was now gifting me a fever. As I sat there in Copenhagen at the airport, I wondered if this is where my story would end. Man gets little sleep, turns feverish and then passes out from dehydration in a foreign land. What if I never woke up?

My concern at this point was that if I passed out I might get medical attention which I’d be unable to refuse even though my insurance coverage would not kick in for another couple of days. I went through my options. Possibly, I could just live out my days in Copenhagen, hoping to regain my health. Maybe I could find a hotel near the airport. Could I ask at the gate if they could take my luggage off the plane? What kind of problems would that create for me? In my desperation I didn’t explore asking to be removed from my flight because I didn’t think I could stand up long enough to explain it to anyone.

Eventually, I did realize that maybe people do need water. I drank a couple of bottles and slowly started coming back to life, enough to board the plane. I don’t remember most of the flight, but the important part is that when my plane arrived in Vienna, I was able to exit under my own power. When I finally did get back to the hotel I slept from about midnight until 15:30 or so on Wednesday. That blew through my planned sightseeing time, but at this point I was just happy not to be on an IV drip in a Danish hospital.

#The Elephant in the Room

At this point I should speak briefly to the accommodations. Vienna is an incredibly expensive place and, in order to hold the event in one of the world’s most beautiful cities, choices had to be made. That meant that most of us ended up with a hotel experience that I cannot adequately describe. Suffice it to say that I now know what it would be like to serve hard time for a triple homicide.

A compact, green-accented budget hotel room in Vienna

I call it "Spartan"

#Coffee and Kaiserschmarrn

The room served its purpose as a place to rest my head. By mid-afternoon on Wednesday I was ready to get out of bed. Shawn was also now at the hotel and suggested going for coffee. Mickey joined us and we did some sightseeing together.

The Balthasar Kaffee Bar sign on a grand Viennese façade

Coffee at Balthasar

We then found a great ramen place for dinner and I finally had some proper food inside of me.

A bowl of creamy tantanmen ramen with a soft egg, beside a Radler

Ramen at Mochi Ramen Bar

After that meal we headed over to the arrival dinner where my Kaiserschmarrn did not disappoint.

A plate of shredded Kaiserschmarrn dusted with icing sugar, with plum compote

Kaiserschmarrn at Restaurant zum Englischen Reiter

#7 > 5

We left the arrival dinner early to get some sleep to prepare for a Thursday morning 5k run. I went to bed at 22:30 and woke up at 00:30. Unfortunately 2 hours was all the sleep I was going to get. Now I was not only sick but I was also awake. I figured I’d try the morning run and, if I could keep my balance, I’d continue on. At 07:00 I met Mickey and Shawn to run a 5k. We ended up logging closer to 7k, but it was good. A nice start to the weekend and I didn’t fall over.

The Strava route map of the morning run through the Prater

Run through the Prater

#Down to Business

This year’s venue is a building which includes living space, co-working space and meeting rooms. It’s the kind of place where you can still get a great internet connection when 30 or 40 nerds show up with all of their connected devices. You’d think this would basically be a solved problem, but it has come up a lot over the years. The venue was top notch, with lots of different meeting rooms, windows that opened, terraces, blinds, giant TVs, boards for notetaking etc. Really nice.

We had a few goals for MetaCPAN this year. The first one was to secure the nicest room before CPAN Security could grab it. First mission accomplished.

Mickey was going to continue his rewrite of the indexer, Shawn and Leo were going to work on a cutover of prod from Digital Ocean to Hetzner, Graham had various issues to look into and I was going to fix some issues with our Bootstrap 3 to 5 migration and add a proper dark mode to the website, which has been a source of complaints for years now. I didn’t actually get to release dark mode until a few days ago, so I was off by about 4 months, but we got there. 😅

I spent a lot of my day talking with various people about a large funding opportunity as it required “shovel ready” developers and a concrete proposal to get started within a matter of weeks.

#You Can’t Spell Sperl Without Perl

On Friday morning a bunch of us went out to breakfast at Café Sperl, which I had seen on an episode of Rick Steves. And yes, I do support my local PBS station, even if it’s in a different country.

Breakfast was nice. I had read somewhere that the waiters would be rude in a typical Viennese fashion, but to my disappointment there was no rude service here. I did later find a different restaurant where I was treated fairly rudely, so I was able to tick that box as well.

A melange in a Café Sperl cup

A melange at Café Sperl

#The Longest 10k

On Saturday morning, Mickey, Shawn and I went on another run. We were going to do a 10k, but something went wrong and we ended up covering 14k. That’s a distance I haven’t run in a very long time and the last few km ended up being fairly painful. It was a really pleasant run, though.

The Strava route map of the 14k run through the Prater

The 10k plus an extra 4

Most of the day was again spent on funding concerns and particularly with hashing out a budget and coming up with a final number for the ask.

#Getting Gear

Maybe a month before the summit, Michael Kröll had reached out to me to see if I would be renting a road bike while in town. This had not been on my radar and I had not been riding my bike over the winter, but it gave me a good excuse to get back in the saddle. I started riding my road bike at home in preparation, which turned out to be a very good thing.

Michael pointed out a local bike shop, Starbike, I could rent from. I had put off the rental because I thought I might be too sick to ride, but I had bounced back quite nicely by this point. Our ride was set for Sunday morning and I figured I’d pop over to the shop on Saturday after lunch to get my ride. Around 15:00, when I was ready to rent, I found, to my horror, that the shop was already closed for the day and would not be open at all until Monday. Now I was stuck. I remembered from my time living in Germany that sometimes a whole town can mostly shut down on a Saturday afternoon and only be resurrected on the following Monday.

Espresso tonic from Vogel

Espresso Tonic from Vogel, which is near Starbike

So, I asked Claude for help. Claude immediately found me a local bike shop that had great stock and also offered delivery and pickup service, Austria Trails. I found a gravel bike in my size and reached out to the shop. The TL;DR is that the owner of the shop dropped the bike off at my hotel on Saturday evening and then picked it up again on Sunday evening. 😅

#The Blue Danube

At 08:00, Michael rode over to my hotel and then took me for a tour of the island in the Danube. He showed up in a Geizhals Preisvergleich kit, which looks great. I did not have an #opentowork kit, so I went with my usual.

The island in the Danube is ~21 km long and has excellent bike infrastructure. We did not have to share the roads with any cars at all. We don’t have anything like this in Ontario, where bike lanes are sometimes seen as part of the “War on Cars”. We then went off the island to do a bit of climbing on regular roads with cars. This included some cobbles and was a lot of fun. The ride back down was on a steeper, narrower shared path, which was a real treat after the climb. In the end we covered around 40 km and I survived. The ride was a real highlight of my trip. I want to thank Michael again for taking the time out of his day to show me around. It’s really a great location to be out on a bike and it also inspired me to spend more time on my road bike this summer.

Me on the rented orange gravel bike in front of a Viennese church

First day on the gravel bike, now I want one for myself

The Strava route map of the ride along the Danube and into the hills

Our route along the Danube and up into the hills

Footage by Michael Kröll; music: "Circus Minute" by Orion Williams

#The Underbar

I spent a lot of Sunday recording episodes of The Underbar with BooK, with the exception of the Vienna.pm episode where I went to use the Loo before the recording and then found myself locked out of the room and BooK refusing to let me in. I made it a point to get in to the room before the door was locked for the following episodes that day.

In the afternoon we held the second edition of The Great PTS CLI Throwdown, which was once again a great learning experience and a lot of fun.

#Travel in Reverse

On Monday morning I set out to begin my trip from VIE => CPH => KEF => YYZ. I had added my travel details to the wiki earlier on and, not seeing anyone else flying around the same time, I ordered a car and made my way down to the hotel lobby to begin my trip in solitude. This would have been around 4:30 AM.

A café notice reading “An Jugendliche unter 16 Jahren wird kein Alkohol ausgeschenkt”

No alcohol for 15 year olds in this hotel lobby

I immediately found Todd Rinaldo in the lobby, who was waiting for his car, which was for some reason not en route. So we split a car to the airport. Upon arrival at the airport I bumped into Tib, who was on his way back to France. My takeaway is that while it’s good to write to the wiki, one might also consider checking back for updates.

First stop was Denmark. I had enough time in Copenhagen to head into the city for breakfast and a bit of shopping. Mostly weird things with licorice in them. Highly recommend.

A latte in a Coffee Collective cup on a sunny café table

Breakfast coffee from Coffee Collective

An ornate turreted corner building over a pedestrian shopping street in Copenhagen

There's an insane number of 7-Eleven stores here

After loading up on candy I headed back home for the final two, uneventful legs of my flight.

A restored two-tone 1950s Dodge Royal beneath a “Checkpoint Keflavík” mural

Checkpoint Keflavík

Once again I had a most excellent time at PTS, even if I didn’t get much code written or deployed. In case you’re wondering what came of the funding request, CPAN Security is now funded for 6 months of work on finding CVE-worthy exploits, issuing CVEs, contacting authors about CVEs and, in some cases, also fixing the CVEs. The USD 250,000 gift that came out of this ended up being, adjusted for inflation, the second largest single financial gift to the Perl communities in history. It’s an epic amount, all things considered. That was all much easier to arrange with our in-person meetings.

Looking back, I do think that my time was best spent on working to secure the CPAN Security funding as that has had cascading effects far beyond the weekend in Vienna. I’m hoping to get back to my keyboard for more of the event next year, though.

#Further Reading

Leo and Shawn have written up their own (much more helpful) accounts of the summit:

#The Attendees

As pictured below, this year we had Leo Lapworth, Graham Knop, Mickey Nasriachi and Shawn Sorichetti in attendance to work on MetaCPAN, along with Paul Johnson. Not pictured is Olaf Alders, because this isn’t a selfie. ¯\_(ツ)_/¯

The MetaCPAN team around a table of laptops in a bright meeting room

L to R: Leo Lapworth, Graham Knop, Mickey Nasriachi, Shawn Sorichetti and Paul Johnson

#The Sponsors

This event wouldn’t take place without the financial backing of our wonderful sponsors. I’d like to thank the following donors for making this event a reality: