In this tutorial, I’ll go through how you can make a powerful development environment with Django and Docker. The inspiration for this tutorial came when I had a project with my friend and we divided the work so that I did the back-end services and my friend was responsible for all the action in front-end. My goal was to create a dev environment for effective back-end development without any hassle with deployments or anything else. My setup was rather simple, I used Django as a back-end framework and selected PostgreSQL for the database. …


I have been using Ubuntu as my daily driver for over six years and working with python and Tkinter was no issue. Lately, I started to have some networking issues and the only solution was to start using Windows since it was the only OS with fixed drivers. This move resulted in the situation where I was installing WSL2 and trying the full developer experience on Windows.

Today I continued to work on my long term project that is using Tkinter for GUI and noticed that I started to get this “_tkinter.TclError: no display name and no $DISPLAY environment variable”…


Source: https://pixabay.com/images/id-265132/

Writing a blog is a popular hobby and you can even get your living from it. There are no rules about how a blog should be written or should look like so it is very easy to pick as a hobby.

“You should start to write a blog”, I have heard this sentence from many people and usually there has been a pretty similar list of reasons which are:

  1. You can get recognized by other developers and build your name
  2. If you have ever thought that you would like to start your own business or work as a freelancer. …


Sapper is a framework to build very lightweight and beautiful web apps. It suits a project of any size and if you are familiar with how example React and Vue works this feels already familiar for you.

I was introduced to Sapper and Svelte which Sapper is running on by my friend. At first, I was a little skeptical of its benefits since I already was familiar with Vue.js and Nuxt.js and was very happy to work with them. This was until after a couple of months after the release I spotted a typo on my portfolio page and tried…


Yesterday, five months after the release of Ubuntu 20.04 I decided it was finally time to upgrade it to my Dell XPS 13 laptop. Previously I was running the last 18.04 LTS version without any problem and thought that if the new version contained any bugs they would have been fixed by now. But I was wrong or at least for me it caused this weird issue that the Ubuntu couldn’t detect internal speakers or microphone. This kind of problem wasn’t too surprising for me since I have been using Ubuntu daily since version 16.04 and the path from 16.04…


source: https://lubus.in/blog/github-actions-to-release-wordpress-plugin-3656

I have known GitHub Actions since they were released to the public but I hadn’t any good use case available until now. Recently I rewrote my portfolio site and built it with Sapper instead of Nuxt.js. Also with the refactoring, I planned to add some kind of blog section or page where I could publish some of my thoughts and ideas. The learning curve to use Sapper was so short that it led me to think that the writing process of blog posts must be as simple as possible too.

Previously if there were any need for modifications for the…

Aaro Alhainen

Software Developer and CS student > https://aaroalhainen.dev

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store