Juha-Matti Santala
Community Builder. Dreamer. Adventurer.

Traveling Europe on land: Turku to Prague

As someone who doesn’t fly, living in Finland makes traveling in Europe a bit challenging. While I lived in Berlin, I truly enjoyed the privilege of being able to jump on a train and be in a different country later the same day. Now that I’m back in Finland, there are a few extra hoops.

This month I traveled from Turku, Finland to Prague, Czechia by the sea and the land and here’s my diary of the journey.

Sunday, Sept 10th

Public transport: ~20 min buses to railway station; 2h in train; 20 min in subway; 15 min bus to ferry terminal; 9 hours in ferry

My alarm clock rings at 6am (and 6.15am and 6.30am… I’m not great at waking up) as it’s time to head out for an adventure. The goal of the day is to board Finnlines’ ferry towards Travemünde.

I take two buses from home to reach the Kupittaa railway station. Everything is so quiet and still at 7am on Sunday morning. I enjoyed that peace and quiet and being alone as the next couple of weeks are everything but that.

While waiting for the train to leave, I grabbed a sandwich from the hotel deli. The more connections there are, the more waiting there is as I want to make sure I don’t miss any of the individual trips as that can snowball into issues.

The train to Helsinki takes roughly two hours. That means two episodes of Virgin River from Netflix and one episode of Only Connect. Since the dinner is served at 18.30 on the boat, I decided to eat lunch already at 9 in the morning: meatballs and smashed potatoes on the train. Delicious as always.

Thanks to reduced trains in Sunday morning, I have 1.5 hours to spend in Helsinki. Luckily, a great friend of mine came to hang out with me so we headed for morning cinnamon buns in Helsinki’s wonderful Oodi library and its summer terrace.

Two photo collage: on left, a cinnamon bun on a plate with the Finnish Parliament House on the background. On right, a photo of an overexposed polaroid photo of me sitting on the outdoor rooftop terrace of Oodi.

Continuing from Oodi, I withdrew some cash from an ATM as I’m heading to Germany and need cash for a few things. The subway from Helsinki Railway Station takes roughly 30 minutes to Vuosaari where I need to continue on a 15-min bus ride from the station to the ferry terminal. Finally, to reach the ferry, there’s a shuttle bus from the terminal.

Around 13.30, I’ve got my bags in my cabin and I’m sitting at the pub writing a few blog posts. The ferry to Travemünde takes around 30 hours and there’s not a lot to do. I absolutely love it. I usually read books, sleep a lot, eat well and sometimes play games, write blog posts and educational materials or even code – anything I can do without access to Internet.

Steam Deck is a godsend on trips like these. I bought Sea of Stars for this trip (although, it was so good I ended up playing almost 10 hours before leaving as I needed to test it works) and it’s rare to get this long stretch of time in life to focus on a single thing with no responsibilities or distractions. I can’t access Slack or Discord so I’m protected from myself.

A laptop with a slide about regex on it. On the background, a ferry’s pub and empty lobby

And since I was heading to PyCon CZ, I used part of the trip to crafting slides for my potential talk.

Monday, Sept 11th

Public transport: 21 hours in ferry; 20 minute bus to Lübeck

I had such a good sleep on the ferry. As there are no windows and the cabin stays absolutely dark throughout the night and morning, it’s easy to lose track of time and keep sleeping. The ocean was also very kind throughout the entire trip so there was no swinging on the waves.

At the brunch, I overheard a beautiful description of this trip:

“I’ve been to the gym, shower and had dinner and it’s only been 1.5 hours. And there’s no Internet.

This trip had the best buffet I’ve had on this ferry. Often their offering is very seafood heavy and I’m not the biggest fan but this trip all the meals had very good meat options as well. It’s honestly not the best trip to take if you’re a vegetarian or vegan though.

Monday I spent mostly on reading blog posts from my RSS reader and continuing the exploration of Sea of Stars. I also crafted a lightning talk slides for PyCon as I really love the format and I have a quite fun one about comparing version numbers.

The sunset over the Baltic Sea and a few people sitting on deck chairs on the deck of the ferry, watching the sunset

As the ferry arrived to Travemünde after 21, I grabbed my stuff, took the shuttle bus to the terminal and caught a bus to Lübeck for a night. This part of the trip I’m so used to. When I first took this route, I was so nervous as there’s no signage for how to get out from the terminal area but these days I’m happy to be comfortable with all this.

A hotel room in Niu Rig. There’s a bed, a window with curtains and a tv on the wall.

My hotel of choice in Lübeck is Niu Rig which has small but comfy hotel rooms and it has two important features: one, it’s next to the bus terminal where the Travemünde bus arrives and two, it’s next to the main railway station where my morning train leaves.

Tuesday, Sept 12th

Public transport: 30 min train to Hamburg; 7hr train to Prague; 20 min tram to hotel

I woke up at 6 in the morning to prepare for the day ahead. It was bit too early but I prefer to be bit early and wait than have to rush or miss connections. I took an RE80 local train from Lübeck to Hamburg and I’ve never been in such crowded train on that journey, I might have hit the commute rush hour.

In Hamburg, I had an 90 minute wait before my train to Prague would leave and I spent it well listening to Finnish radio play of Vesa-Matti Loiri’s life. All together that play is 20 episodes, 20 minutes each so trips like these are the only way I’ll actually find time to listen to them. I finished the play later in the evening and I have a few others to listen on my way back home.

An on-going three player Skip-Bo game on a train table

The train from Hamburg to Prague takes roughly 7.5 hours so it’s a long but steady trip. This time I got super lucky though: on the other side of the corridor, there was two travellers who started playing Skip-Bo and after watching for a bit and gathering courage, I asked if I could join them. They say yes! We ended up playing Skip-Bo and 6 Nimmt! for hours and chatted about life. Making new friends with Patrick and Laura was definite highlight of the trip and made that long train ride fly by.

After they left, I finished listening to that radio play and after 58 hours of travel, I arrived to the beautiful Prague.

A photo taken from the train with a river and a river boat and on the other side of the river, a patch of land with trees and hills rising from beyond that land

I’ve never had this smooth travel from beginning to the end. Everything went near perfect. The Prague train was about 10 minutes late at the start but that’s nothing.

In Prague, I used the public transport for the first time (previous times I’ve either walked or taken taxis everywhere) and the newer trams here were really nice. Very modern, very spacious feeling and had great displays for the following stops. I wish Finnish cities would have similar ones.

After settling in, I headed out to eat and got some company as Honza joined me for drinks. On his recommendation, I went to a food court called Manifesto that had at least a dozen different restaurants, shared space for sitting down and live piano music.

A burger with fries and a can of coke.

That’s one thing I love about traveling for conferences. Even if you don’t know anyone in the city, you can find company from other participants and organizers and speakers. PyCon CZ had a Discord where I kept chatting as I travel (a tip I shared in Shy introvert’s (short) guide to speaking in conferences) and found Honza to both recommend that great place for me but also join me for the evening.

After getting few first bites of the food, I started to notice the tiredness from travel settle in and ended up getting back to the hotel after the dinner and few drinks.

Wednesday, Sept 13th

Public transport: Few tram trips across Prague, maybe 60 mins total

Wednesday was full of action! I did get to sleep in which felt amazing as I’m definitely not a morning person. I wrote some launch announcement posts and emails to launch our Turku <3 Frontend meetup registration and published my weekly blog post title Pull requests are great which is a reply to online discussion I’ve been seeing lately.

At 13, I had lunch booked with some friends. I met Honza originally in PyCon CZ 2019 and everytime I visit the city, I try to make sure I make time to grab lunch with him. He works on a Czech developer community junior.guru and chatting with him is always super inspiring. And he takes me to these great lunch places in Prague. Today we also had Domitil join us. She’s doing her first conference talk this weekend, talking about the Namibian Python community. We had great lunch and then had a practice run of Domitil’s talk.

In the afternoon, I went to Království Železnic, a model railway museum that had two floors full of beautiful scenery with model railways (and a few other transportation related items as well). I didn’t manage to take any good photos unfortunately since the sceneries were understandably protected by glass.

For the rest of the evening, I mostly spent in BeerTime pub tasting local beers (a shoutout to Zhůřák’s Idaho Haze) and eating well. While there, I wrote some advertisement posts for the upcoming Syntax Error newsletter that comes out this Sunday, Sept 17th. I also worked quite a bit on editing the newsletter issue itself.

It’s surprisingly challenging to come up with example bugs that are not immediately obvious and trivial to spot. I think I managed to come up with one for this month’s newsletter and I’m quite excited as I got to write a story of a bug and how to debug it. If you’re a software dev, head over to the site and subscribe either via email or RSS and you’ll get your newsletter delivered on Sunday.

In the evening, I headed back to hotel to catch up with what’s been happening in the Interwebs. Mainly, watching the newest episodes of Ahsoka and Only Connect and checking out a few new Youtube videos from channels I follow.

Thursday, Sept 14th

Thursday is mostly a holiday-day. The only thing I have booked in my calendar for the day is the speaker dinner (my favorite perk of being a speaker) in the evening. I slept around the clock and spent the morning in bed watching more of Youtube.

I also did some community stuff: I’m currently running an annual salary survey for Koodiklinikka’s community and this year we’ve already got more than 800 replies which is a new record and quite an impressive amount of data from salaries and billing rates from the Finnish IT industry. I made some new memes to promote the survey in our Slack and answered questions when some arise throughout the survey. I’m really hoping we’d get to 1000 participants but I’m not holding my breath as we’ve already had our two main spikes.

I’m also working on the finalizing touches of our fall schedule for Turku <3 Frontend meetups and had a brief discussion with sponsors and speakers for the upcoming events. So happy to see that the interest towards the community is ever increasing.

A yellow cocktail on a glass, a Kindle with a book open on it and on the background, some people sitting on chairs enjoying life.

For afternoon, I headed out for cocktails, lunch and some reading. I’m currently reading Seth Godin’s Linchpin that was recommended to me in Koodarikuiskaaja’s community during our discussion of glue work (that was inspired by Tanya Reilly’s great talk on the topic). I’m roughly half way through and the book is annoyingly sethgodin in its controversial, provocative and very American storytelling but it does have some good thoughts on it so I’m trying to filter the good stuff through.

This trip has real got me thinking about life. I’m so happy to be privileged and lucky enough to be able to travel like this on a regular basis and to make friends from all corners of the world. One of the biggest changes lately has been how easy and straight-forward this has become for me.

Travel used to be this Big Thing where you prepare and get bit nervous and go somewhere exotic. But now it’s just another stop at the end of a slightly longer train trip than domestic travel. I have friends in pretty much every bigger city in Europe so I’m always able to find friends to hang out with and I feel confident enough to survive even in countries where I don’t speak the local language.

An outdoor cafe with a few empty tables and a lovely brick wall on one edge and wooden fence on another one, hiding the cafe from the surrounding areas.

I also got to enjoy a drink in a nearby cafe that I found by accident. It was well hidden from the street. The place is called Kavárna co hledá jméno (which translates to Cafe looking for a name) and I could have sat there for hours.

In the evening, we had the speakers’ dinner – which I consider to be the best perk of being a speaker – and it was so lovely. There were so many people from the 2019 PyCon CZ conference that I had met back then and many more who remembered me and my talk from over 4 years ago. And some new friends that I got to make and have lengthy discussions with about board games, history, politics and travel.

Friday, Sept 15th

An old monastery Gabriel Loci on a sunny day

The first conference day!

I had such a blast day. I made a few new friends over breakfast, enjoyed a bunch of talks (I’ll write a proper PyCon CZ Recap blog post a bit later) and just felt really great throughout the day.

The venue at an old monastery of Gabriel Loci was absolutely stunning and it was made even better by the weather. Warm but not too hot, nice sunshine and plenty of space outdoors around the venue to chill out during breaks.

I got into so many great discussions about technology, company culture, documentation, learning & teaching, community building and board games throughout the day with so many people from all around the world.

A full main hall at the conference. Sponsor rollups on both sides of the stage and a conference Q&A instruction slide on the main screen.

I signed up to do a lightning talk and it went super well: people laughed at my jokes at the right time and I even got a mid-way applauds during a 5-minute talk. There’s no better feeling than being on the stage. And despite adding a few things from my previous runs of the talk, I managed to finish it at 4 minutes 57 seconds – my new superpower is to actually hit the time slot provided and making the most out of that time.

I also got some lovely feedback:

Loved your lightening talk about version numbers
Your talk was one of the highlights of the whole PyConCZ for me and it was definitely the best lightning talk I've ever heard.
Great talk by the way. Excellent flow, beautiful slides, just enough humor

If I think about what makes community a true community and not just people showing up to events, I believe it is when people participate in helping out make things happen even when not asked. The board game night after the first conference day took place in the main conference room and it was lovely to see conference participants help organizers out with carrying chairs out of the way and carrying tables to make a huge space for playing games.

Me on a stage in front of a few hundred developrs sitting in the main hall of the conference

That’s something you can’t buy with money and that is why building communities is such a valuable and worthwhile effort. It takes time, it takes true participation and caring so it can be hard to justify and do in a short-term gain capitalism. The results are not immediate and often the best results cannot be forced into a metric, no matter how hard some people want to try.

I got to play Stone Age with a few locals and learned a new game in Sagrada. Stone Age is one of my favorite games because it’s an easy to approach worker placement game that is easy to learn, doesn’t require heavy math and planning but still offers enough strategic depth to not be random.

A game of Stone Age set up for four players with a main board, each player with their own player board and colored meeples and a lots of wood, clay, stone, gold and food tokens on the board.

Sagrada on the other hand, oh wow. I have never felt that kind of simultaneous frustration and joy when playing a game. It’s deviously difficult game. You place different colored dice into your grid following certain rules and all the time it feels like the dice are against you, the board is against you and everything is just so hard. But it’s a fun game, I had a blast learning it despite saying a few well-placed curse words aimed at the dice. Imagine needing a yellow or purple 2 for 5 rounds and none show up until the last turn.

Saturday, Sept 16th

Early bird catches the breakfast bagel. I was prepared to give myself a chance to sleep in a bit but ended up waking way before my alarm clock and headed to the venue. The breakfast offering for both days was so good and so many people came to chat and compliment my talk from yesterday.

I do have a Syntax Error newsletter to send tomorrow and I’ve been writing, editing and fine-tuning it over many small breaks during the week and it’s mostly done by Saturday morning. I’ve been thinking about the future structure and content of the newsletter quite a bit recently as I ran out of the initial ones I had written mostly in last December. This month I decided to try something a bit different, interesting to see how people like it.

The second day of the conference is always a bit slow start for me. The speaker dinner the night before the conference and the first day are filled with so much social interaction. In addition to that, giving a talk at the end of the day gave such a rush of good feeling and excitement that in the next morning I feel like my social energy batteries are out of charge.

Slowly throughout the day, I picked up the energy levels and caught a few great talks and had even more lovely discussions. I’ll speak more about the talks in an upcoming conference recap blog post.

As the night started to fall over Prague, I got to enjoy live campfire while having great discussions about poetry and art and linguistics. A nice aspect of these conferences is that everyone is more than just a developer so you end up having chats about more than just code and projects.

Sunday, Sept 17th

Public transport: 60 min trams to and back from workshops

Sunday’s the workshop day! I almost slept too long and was too slow to leave the hotel but barely made it to the workshops in time. Luckily, I ended up having booked the same two workshops as Simona who I met during the board game evening and again on Saturday’s after party. So I had a familiar face there and we ended up pairing on both workshops.

Daniel Raniz Raneland’s Test Driven Development For Everyone workshop was a nice opportunity to practice more test-driven development while pair programming. Pairing with someone when coding is so much fun and I’d love to do it even more. Having two brains think about the same problems at the same time brings with it some amazing superpowers.

In the afternoon, Daryl Seager’s Effective Communication was another great workshop. Nothing particularly new to me as I’ve been to a few of Green Elephant’s communication workshops and plenty of therapy to practice self-reflection in my past but getting to practice that with new people was definitely worth it and Daryl’s workshop was spot on.

To finish the conference week, I headed back to Manifesto food court for some chicken tikka masala and spent the night in the hotel chilling. After 4 long days of socializing and making new friends, I was so happy to spend a few days completely alone.

Monday, Sept 18th

The second “day off” during this holiday trip came at a good time. Before heading back home, I had an entire day to just chill so I spent most of it in Manifesto again for some cocktails, reading books, writing code and planning the future. I started building a Django website for a secret future project and ate and drank well.

That was pretty much the whole day. I went to relax in the hotel and watched a few movies in the middle before heading back in the evening for evening snack.

A stop display in a tram showing line 12 and a dozen or so next stops on the way

One of the things I really liked in Prague’s trams were these displays that showed not only the next stop but a lot of the upcoming ones and the final destination too. This is so helpful for a tourist who might not know all the stops on the way but finding your final one on the board helps relax and assess the situation.

Tuesday, Sept 19th

Public transport: 20 mins tram to railway station; 7 hrs train to Hamburg

Vltava river photographed from a tram, showing a few beautiful buildings in Prague and the forest hills in the horizon.

Time to start heading home! I checked out of the hotel, headed out to the railway station, had a French baguette for breakfast and boarded the train towards Hamburg. This time, I didn’t find board game company to play with during the trip but I listened to Tom Scott’s Lateral podcast for 7 hours before reaching Hamburg.

I had booked a hotel right next to the railway station so I headed straight there. I had a dinner at Otto’s which is my go-to place in Hamburg for food. In the evening, I watched PSG - Dortmund Champions League game and the newest MCU Spiderman movie before hitting the bed.

Just before going to bed, I wrote a blog post about conferences and noticed that my older Ghost CMS server had broken, returning 502 error code for all requests - meaning all my images for a few years of blog posts were now broken. Not sure how to fix it, I decided to sleep on it and hope it would fix itself.

Wednesday, Sept 20th

Public transport: 30 min train to Lübeck; 20 min bus to ferry terminal

A colorful drink on a bar with the drink selection of the bar in the background out of focus.

I got to sleep in but the cleaning crew came into the room twice in the morning before I found a “Do not disturb” sign. It worked this time even though I have bad experiences about them in Germany as multiple times they have not been respected during my stays in various hotels.

The server problem hadn’t fixed itself so I did an emergency fix: I downloaded all the images and ran a quick sed replace command to change URLs from the CMS server to my local repository. That works for now but I still need to figure out a better solution.

Then I got an email that my ferry will be delayed due to the storm in the Baltic Sea. Instead of the ferry leaving at 3am, it’ll now leave around 7am but I still need to be in the ferry terminal around 22 so it’ll be a long night alone in the terminal.

And then I noticed that the trains from Hamburg to Lübeck were all cancelled. After lunch, I headed to the railway station to learn that there was a bridge on fire and all connections were cancelled for foreseeable future.

After pondering the problem for a while with a strawberry milkshake, I realized I had seen trains leave from Lübeck to Kiel so I went to ask if I could circumvent the problem by going to Kiel and then to Lübeck. “Sure, it works” I was answered by the same person who 30 minutes earlier said there are no alternatives. Customer service, eh?

Train to Lübeck, pizza and drinks at my go-to place in town while waiting for the ferry, Time Out sports bar and more podcast listening and more blog writing.

After an entire afternoon / evening in the bar, I took the bus to the terminal. I’m not sure if it was the smartest move to get to a ferry terminal roughly 11 hours before the boat leaves but it’s a decision I made.

Of course, what I didn’t account for was that there were no electric outlets in the waiting room. So I’m in the ferry terminal roughly 11 hours before the ferry leaves, my phone has 9% battery (and that’s my only source of Internet) and I cannot charge my devices.

A nice thing they did however was to offer a chocolate bar, bottle of water and one of those salami sticks to keep me alive during this delay. That was genuinely nice gesture.

The thing is, I’m no hurry to get anywhere. It doesn’t matter if the boat leaves 4 or 5 hours later than usual. I’ll still be home by Friday evening.

Eventually I got to the ferry, headed straight to my cabin and fell asleep within minutes.

Thursday, Sept 21st

Public transport: 21 hrs in ferry

The day at the sea was mostly spent in bed. There was bit of heave of the sea so I didn’t particularly enjoy being out in the open areas and I was tired after travel so I didn’t manage to find energy for writing or coding. So I decided to just watch MacGyver in my cabin bed and sleep a few naps between meals.

Friday, Sept 22nd

Public transport: 10 hours in ferry; 15 min bus; 20 min tram; 2 hr train; 20 min buses

Time to go home. The ferry managed to catch up to its schedule during the trip so despite late departure, we arrived in Helsinki in time and after a bus, a subway, a train and two more buses, I got home and can call this trip a big success and a lovely holiday.

It feels good to be home.

I’ll share a conference recap with some talk recommendations once the videos are published in PyCon CZ’s Youtube channel.

Syntax Error

Sign up for Syntax Error, a monthly newsletter that helps developers turn a stressful debugging situation into a joyful exploration.