How to run better meetings

In an era where digital transformation has permeated every facet of our lives, meetings almost always follow the same procedure as always. The traditional meeting, often criticized for being a time sink in the corporate world, may need a revolution. This change should not only be about moving from conference…

The Unspoken Resignation called Quiet Quitting

In the fast-paced world we are living in, professionals are continually striving to meet the ever-evolving demands of their industry. With cutting-edge technology, long working hours, and intense competition, the IT sector for example can be a high-pressure environment. However, beneath the surface, there is a phenomenon that often goes…

Beware of .zip Domains: Phishing Risks and Unicode Confusion

In the vast landscape of the world-wide web, where new domains continually occur, it's crucial to stay alerted and informed about potential risks. One such relatively newer domain extension is .zip, which, when used maliciously, can lead to phishing attacks and scams. In this article, we will explore…

Automate Deployments with Renovate and GitHub Actions

For quite some time I've used Renovate on GitHub to create pull requests if there is a new version of the software I use in my projects. For a while, I always merged the pull requests created by Renovate and then deployed them via Ansible. For a certain…

Hardening your Docker installation

With Docker, you have a convenient technology, but it can be a security risk too. It is important to not forget to protect your Docker Engine against possible threats, especially if you're running Docker in production. In order to understand all the good practices that exist for a…

Use pre-commit to execute git hooks

You may be very familiar with the following scenario: you've pushed a code change to your remote repository and now the code linting pipeline fails and you need to push another fix to make the linter proud. One way to prevent such behavior is to use a framework…

Migrate your Ghost SQLite Database to MySQL

Recently I saw some users on Twitter who were upset that the Docker community maintainers for the Ghost Docker image changed the default database from sqlite3 to MySQL. Since this was only a minor version update many of the sites powered by Ghost went down as soon as they updated…