
In the first post of this series I told you the background story why I built a tool that’s able to show some email analytics in the Mozilla Thunderbird email client. After using this tool for a year now, I’ve determined three major issues:
❌ It depends on the mail storage engine
❌ The stats creation process is a little too complex
❌ The stats page cannot be accessed directly from Thunderbird
To address all of these issues, I decided to create a native Thunderbird add-on with the same functionality. Well, I never built a Thunderbird add-on before, so I took a look into the Thunderbird documentation. It turned out, that thanks to Thunderbirds WebExtension APIs, I was able to reuse nearly all of my Vue.js …

I’m not really sure if it’s a thing to be ashamed of today, but I’m still pushing build files of most of my personal open source projects manually via good ol’ FTP to my server. Maybe I just don’t wanted to give up too much control over the files that I push to production. Or after doing web development for more than 15 years now, I was just too lazy to change something 😅
However, I found an awesome GitHub action to publish files automatically via FTP to my server on build.
It’s the FTP-Deploy-Action by Sam Kirkland which utilizes Git-ftp. I’m mostly creating Vue.js applications with the Vue CLI — so my normal workflow always looked like…

Since I wrote my first lines of code in Python, I was fascinated by its simplicity, excellent readability and its popular one-liners in particular. In the following, I want to present and explain some of these one-liners — maybe there are a few you didn’t already know and are useful for your next Python project.
# a = 1; b = 2
a, b = b, a
# print(a,b) >> 2 1Let’s start with a classic: swapping the values of variables by simply swapping positions on assignment — the most intuitive way in my opinion. …

About