It’s 2025 now. This century is now 25% complete! As is my tradition, I’m going to reflect on the year gone by.
On the photos: there’s one photo for each month, in chronological order.
Software engineering
At work, I continued to build cloud backends to manage data. I ended up spending a lot of time with Rust, OpenTelemetry, Docker, GitHub Actions (GHA). Out of these technologies, learning Rust was great and trying to use OpenTelemetry only led to frustration.
Docker and GHA got the job done. Later I posted about how to cache Docker builds.
Later in the year, I spent some time on clarifying how we do schema evolution. Then I switched to building developer tooling. That was a nice change of pace. Building tools is fun and when you build internal tooling, your end users are right there.
The tooling project led me to revisit Python packaging. It didn’t go well.
Rust in production
The Rust project was interesting. We implemented a new web backend in Rust and shipped it to production. We managed to run into a lot of rough spots in the Rust web dev ecosystem.
For starters, async Rust is Rust in hard mode and it’s also work-in-progress – for example,
async fn
was allowed in traits
only right when we were starting the project. This was the first real Rust project for all of us,
so there was a bit of a learning curve.
Then we ran into numerous sqlx issues. The OpenTelemetry crates are unstable and there are regular breaking changes which increased the maintenance burden. If you’re used to Python testing tools, Rust just isn’t on the same level - we struggled with fixtures and with mocking AWS services.
Not everthynig was bad. For routing we used Poem, which got the job done even if it was pretty verbose. Cargo Lambda was also great – it just worked and even cross-compilation works out of the box.
It wasn’t the smoothest project, but at least we learned a lot. Later we were able to use that knowledge to introduce Rust into another system where it gets to shine for real.
Software engineering community
I didn’t have much time for open source, but I did create paketoi, a command-line tool for building Python deployment packages for AWS Lambda. The announcement post explains the motivation.
I attended two conferences, Heart of Clojure and EuroRust 2024. In-person conferences are great except that I got predictably sick afterwards.
At Heart of Clojure, I gave a lightning talk where I said that you should blog more. You should blog more!
Blogging
In August, I started posting weeknotes. Having a weekly writing routine was a big success. Even if most of the posts are nothing special, it got my writing engine going. Many of the posts sparked nice conversations with colleagues, friends, and Internet strangers.
This year, my most read post was Do not use requirements.txt (my most popular post ever!). Out of the articles I’ve posted this year, the trip report on Heart of Clojure was the most popular one.
I also announced that I’m starting a newsletter for my outdoors adventures called Small Rapids. The first post is still waiting for itself, but I promise it is coming soon! It will be about tour skating and ice safety.
It was great to get back to writing in public and I want continue it in 2025. I’m hoping to write a couple of better-researched and better-edited posts.
Microblogging
I’m active on Mastodon. Check out my most banger posts:
Looks like Fediverse enjoys cable cars.
Outdoors life
It was a good outdoors year. It began with a cold winter in Helsinki, which meant that I got plenty of good opportunities to skate on the sea ice.
In the spring, I ran regularly. This paid off when I decided on a whim to go hike in Urho Kekkonen National Park after Midsummer. Never has hiking been so easy! I spend a few days there, visiting Paratiisikuru and taking the high route whenever possible.
It was actually my first hike that was over 100 km. I was going to do one already in 2020 - I was hoping to hike Kungsleden in Sweden - but I had to cancel it due to COVID-19. Back then it felt like such a big goal. Now it was just something I did without much thought.
Paddling
My big summer project was to learn to roll a sea kayak. I started by taking a course by Anssi Nupponen. Anssi’s teaching was great, but two days was not enough for me to learn even a butterfly roll. However, I learned enough to practice myself.
After a bunch of sessions, I managed to do sweep roll on one side. Later at the rescue practice camp of my kayak club, I managed to roll the kayak reliably in pretty big waves – big for Baltic Sea, that is. That felt great.
Maybe in 2025 I will learn to do it from the other side. It would be fun to learn some other rolls, too.
Climbing
In the spring, I learned to climb on top rope. I didn’t go climbing outdoors too many times, but I had good time when I did. This year, I hope to learn to lead climb.
Best of 2024
- Best new album: Lehto / Korpi by Pauli Lyytinen. Who could not love saxophone improvisation on top of bird song field recordings?
- Best gig: The secret gig at We Jazz where Antti Lötjönen, Heli Hartikainen and Aino Juutilainen played together. The atmosphere of the gig was something else, so focused. You just had to be there.
- Most interesting book read: Raukoilla rajoilla by Markku Eskelinen. It’s an iconoclastic history of Finnish prose and it filled me with new interest in Finnish literature. Eskelinen does not hold it in very high regard, but the counter-examples he points out are interesting.
- New favorite writer: Lydia Davis. I read her latest book Our Strangers and her super-short short stories observing everyday life are wonderful.
What about 2025?
Last year I wrote:
What about 2024? I don’t know yet. I’ll figure it out.
I did not explicitly set out to figure it out and the result was that I did not figure it out. It left me feeling aimless. This time I’m trying to be more intentional1, especially career-wise. I’m asking myself where I want to go. Haven’t answered it yet.
Traditional commentary on Finnish politics
In each yearnote, I express (lack of) surprise at the current cabinet of the goverment of Finland.
A year ago I predicted that while the scandals will continue, Petteri Orpo will be able to hold his cabinet together. Looks like I was right for once!
What about the next year? The closer we get to the election, more likely the cabinet is to fall apart. There are two reasons for this. First, the more time goes on, the more Orpo has been able to achieve and thus it’s less of an imperative to hold together. Second, the policies of the cabinet have been incredibly unpopular and the closer we get to the election, the more anxious the parties get to distance themselves from the cabinet.
Orpo’s cabinet was formed in 2023 and the next parliamentary election is in 2027, so there’s still plenty of time to the next election. Thus my prediction is that Orpo’s cabinet will hold together for the next year. The turbulence from the upcoming municipal and county elections will not be enough to break it.
-
It’s not that you have to wait for a year to change to start being intentional. The timing just happens to coincide. ↩︎