Hello 👋

Automatic Docker volume backups on Backblaze B2 with Terraform

Creating an automatic backup strategy for Docker volumes, on Backblaze B2 buckets managed with Terraform, with state files securely saved on B2 as well.

Printing environment variables in GitLab CI/CD pipelines

We had the need to print the environment variables used as parameters of GitLab CI/CD pipelines. Right now there is no official straightforward way to do it, so I resorted to a tiny custom way to do it.

Remove unreadable GitHub notifications

This little post describes how to remove a special edge case of GitHub notifications that cannot be marked as read from the web interface

Self-hosted home network traffic monitoring with ntopng and a Fritz!Box

This post shows how I set up an home network traffic monitoring system in an unconventional way.

Using i3 for two months: my impressions

i3 is a tiling window manager, which means that the concept of “window” does not exist. Instead of windows, there are “tiles”: generic partitions of the screen, where some content is drawn into. In this post I write my opinions on the key changes between stacking and tiling window managers.

NVIDIA drivers and Ubuntu: an horror story

A short horror story (with a nice ending) featuring Ubuntu and NVIDIA drivers.

TIL: SSH Jump Host

The jump host is an option of the SSH client, that allows to use a third SSH server as “proxy” to access the final intended SSH server

How Duolingo uses Gamification to motivate the user

For the past month I’ve been daily using Duolingo to learn German, and I’m captured by the app’s dynamics, which uses some gamification devices that first hook you into forming an habit, and then challenge and reward you for studying and learning more. I’ve then decided to pack some examples of the gamification tools that Duolingo uses and why.

Replacing xfwm4 with Mutter

This is an ongoing experiment. One day I’ve decided to stop using the default XFCE’s window manager xfwm4 and start using Mutter instead, which is the one shipped with GNOME. Switching is easier than expected, but at the end there are a few usability issues, some of which are quickly solvable but others are trickier.

Deploying Hugo on GitHub Pages with GitHub Actions

A GitHub Action is the automatic execution of a job, after a specified trigger on a GitHub repository. For example, let’s say that we want to run a linter on each new commit, we can create a GitHub action to do it. In this post we’ll see a workflow to automatically deploy a Hugo site on GitHub Pages.