My writings

I love to write about programming, communities and minimalism.

In addition to these posts, I wrote a blog in Finnish about my year in San Francisco back in 2014. It lives on it's own page at

Lightning talks

Nov 5th, 2019

Let me start by saying that I love conferences. But speaking in conferences is not easy. First of all, it's quite intimidating in the beginning to talk to hundreds of experts in your industry. Second, it's a numbers game with very difficult odds. For example, JSConf EU (to which I submitted proposals as well) had almost 1000 proposals this year with only 50 slots.

This year was my big break into conference speaking. Out of my about 50 proposals, 4 of them were accepted and I ended up giving 2 talks, 1 panel discussion and 2 lightning talks in international conferences during 2019. I'm so grateful to PyCon CZ, PyCon Estonia and PyCon Sweden for trusting in me and finding my talks interesting to their communities.

Read more →

PyCon Sweden - Learning Python Programming

Oct 30th, 2019
This week I had the honor to be part of a panel discussion with Anna Unger, Jessica Shortz and Lilian Nandi discussing learning and teaching Python programming. This blog post is a recap of our discussions with my own additional thoughts sprinkled in.

I have been teaching programming since somewhere around 2012. I got involved in mentoring students at the university and after that I've experimented with a lot of different ways.

Some of the more traditional teaching I've done via university classes with mass lectures and pair programming sessions, half-day workshops, weekend workshops, summer courses and personal mentoring. And if we expand the concept of teaching a bit, you could add on speaking in and organizing meetups and conferences, streaming on Twitch and blogging.

Read more →

My journey in diversity and inclusion in tech

Aug 28th, 2019

Some people who know me personally well and have been involved in my professional career for the past 4 years, know that I'm very passionate and increasingly vocal about diversity and inclusion in tech. Others, who have known me for longer, might see me as a hypocrite.

I haven't always been so passionate about it and I want to share my story. It's not an easy one to share and quite frankly, publishing this post is little bit nervewrecking. But it's so much less that than what other people have to endure sometimes in this industry.

Read more →

I love writing scripts to solve small problems

Jun 23rd, 2019

One of the reasons I like programming so much is that it allows me to automate small and annoying things that would otherwise require bunch of manual work.

Yesterday, I downloaded a set of files that came in a following directory structure inside a zip file:

Read more →

Make your function calls more readable

May 23rd, 2019


“Indeed, the ratio of time spent reading versus writing is well over 10 to 1. We are constantly reading old code as part of the effort to write new code. ...[Therefore,] making it easy to read makes it easier to write.” - Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

Writing code that is easy to understand, modify and extend is a good goal for a software developer. But it's hard. So hard that multiple books have been written about the topic and people do conference and meetup talks about it all the time around the world.

Read more →

How to enable SSL in Netlify with custom domain

Feb 14th, 2019

Do you have a static site you need to put somewhere in Internet so others can access it? You're in for a treat: there are dozens of really good options. I wanted to try out Netlify for my website renewal because everyone had been saying good things about it and I had never used it.

I had an existing domain on Hover and used to run my website from a self-hosted Hetzner VPS. But during the past decade, the website and my server had become a mess. I wanted to start using a static site generator and to make deployment easier. So I installed Eleventy, piece by piece transformed my old site into an Eleventy site and ran eleventy. Boom, few seconds later I had _site folder that I dragged and dropped into Netlify and the site was up.

Read more →

“Event is over and it was a failure. What happened?” — Pre-mortem can help you avoid pitfalls

Feb 5th, 2019

In modern day and age, many organizations are adopting retrospectives (a session where you look back and talk about what went well, what went wrong and how we can improve) and post-mortems (how did the project go and where did we go wrong) as part of their day-to-day work.

If you haven’t looked into them, I highly suggest you do so. I think especially regular retrospectives can help you build better team work, better project work and improve the conditions around you.

Read more →

Event organizer - automate what you can, focus on people with all you’ve got

Jan 31st, 2019

I have built hundreds of events, many of them with a very small team. The fewer people you have, the more you have to prioritize your efforts. But I don’t want to compromise communications (I’ve seen what bad comms do to an event) for quality time with people and especially not the other way around. So I have learned to build and automate things. This is a story of how you can do it too.

Organizing events is a lot of work. If you are a professional event organizer who’s only job is to do events, you probably already have invested in learning tools that can make your life easier. If you are working in marketing or development, and event organizing is just a tangent of your job, I have collected a few ideas to help you focus on what truly matters: your participants.

Read more →

Better bash history search with McFly

Jan 28th, 2019

If there's one functionality of bash that most beginners don't know but get very excited about when they discover it, it's history. First you learn to go through the history by pressing up and down, then you find out that CTRL+R is the spell that gives you access to write commands and find them from history.

I'm a huge fan of that. Probably 80-90% of my bash command history is repeating commands over and over again. Whether it's npm install, npm run start, git add . or something similar, I can find it from my history.

Read more →