RSSAmplifier

Blog

Aitor Alonso

I'm a product-minded senior software engineer that turns complex problems into elegant solutions. Experienced in backend, frontend, and mobile development, my expertise is in Elixir, Golang, and Node.js.

aalonso.devRSS feed ↗30 posts

Latest posts

How to add Mermaid diagrams support to your Hugo site

Learn how to render Mermaid diagrams natively in your Hugo site with a codeblock render hook, loading the library only where needed and matching your theme.

My agentic software development workflow

How I achieved to ship code to production in the last two months without writing a single line of code by hand, with zero production incidents, zero rollbacks, and zero downtime.

How to manage technical debt without drowning in it

A practical way to name, inventory, and pay back technical debt on purpose, so it stops being a vague complaint and starts being something your team controls.

How to monitor a remote NUT UPS server with a custom watchdog script

Learn how to replace nut-monitor with a custom watchdog script to have more control on shutdown conditions. Useful for custom NUT servers as the one from Synology.

How to configure Bazzite as a headless streaming gaming PC to play remotely in your LAN

Learn how to configure your PC with Bazzite Linux as a headless streaming gaming PC to play remotely on any device in your LAN.

How to configure Pi-hole for local DNS resolution in your LAN

Learn how to configure Pi-hole as a local DNS server so every device in your LAN can resolve custom domains like myservice.home.arpa without touching each device's hosts file.

How to use Caddy as a reverse proxy for your services

In this article I explain how to configure caddy as a reverse proxy for your services (eg. Docker) with TLS encryption and HTTPS connection.

How to install Debian on ProxmoxVE with LUKS encrypted root partition that auto-unlocks on boot

I'll show you how to create a Debian VM in ProxmoxVE, with the root partition encrypted with LUKS that automatically unlocks and mounts at boot.

How to use GMail as SMTP server for Proxmox VE 9

If you want to configure email notifications from Proxmox quick and easy, here I tell you everything you need to know.

How to automatize your backups with Systemd cronjobs, with logs and health-checks

I'll show you how to take advantage of Systemd capabilities to schedule backups tasks with logs and integrate Healthchecks.io to ping us on failure.

How to upload and renew certificates on both Synology DSM and Proxmox VE

After explaining how to set your own CA in last article, here I'll explain how to renew and upload those certificates in Synology DSM, Proxmox VE and Caddy.

How to create your own Certificate Authority to provide certs for your self-hosted services

I'll show you how to create your own Certificate Authority (CA) to sign your own certificates, trust them, renew them, and use them in proxmox and Synology.

What is the "Ship, Show, Ask" Git strategy

In this article, I'll explain what is the "Ship, Show, Ask" git strategy, that I personally find very useful on mature teams.

How to make a reading progress top bar with both React and Vue

In this article, I share some code snippets to create a reading progress top bar like the one I have in my blog for both React and Vue.

3-2-1 Backup strategy. What is it and why is it important

Today I'm here to explain what the 3-2-1 backup strategy is and why is important if you have your data hosted at home.

How to clone a disk image to a Synology NAS over LAN with Clonezilla

Step-by-step instructions on how to create or clone a disk image from a PC to a Synology NAS server using Clonezilla, transmitting the image over LAN.

How to configure an Xbox One controller with dongle to work with Linux

Today I'll show you how to configure an Xbox One controller with a dongle to work with Linux and play with it on Steam.

How to automatically mount LUKS encrypted Linux root partition on boot with TPM 2.0

How to configure an Arch Linux based distribution (Manjaro) to automatically mount a LUKS encrypted Linux root partition on boot thanks to TPM 2.0.

How to enable TPM support for old computers in BIOS

In this article, I'll show you how to enable TPM on your old computer, so you can install Windows 11 without having to upgrade your hardware.

How to use UUID v7 on PostgreSQL with Ecto in Elixir

In this article, I'll show you how to use UUID v7 with Ecto and PostgreSQL without external dependencies.

How to seamlessly manage AWS credentials using 1Password CLI

A guide to manage AWS credentials seamlessly with 1Password, including MFA, by integrating the 1Password CLI with the AWS CLI.

How to use erlang applications in elixir and how to translate them to elixir code.

In this article, I'll show you how to use erlang applications in your elixir codebase, and also how to translate them to elixir code.

How Phoenix LiveView works. A Beginner's Guide to understanding Phoenix LiveView.

Learn how Phoenix LiveView works under the hood to provide interactive web applications rendered in the server.

Linking or importing existing photo files to Synology Photos folder without duplicating space on BTRFS

If you want to add existing photo files to Synology Photos from another folder or a backup without actually coping or duplicating them, check this.

Binary Search Trees: What are they and how they work

A by example guide to understand binary search trees, their structure, how they work, and how to implement them (in Python).

A Beginner's Guide to Pointers in Go

A beginner's guide to pointers in Go. Learn what pointers are, how to use them, and why they are useful. Just the basics!

Public Money, Public Code: why government software should be open source

"Public Money, Public Code" is an FSFE initiative advocating that all tax-funded software should be FOSS for transparency, efficiency, and public benefit.

Programming "time": why it's so difficult to work with dates and times in software development

Have you ever wondered why it's so difficult to work with time and dates in code? Do you want to know why and some curiosities? Then, continue reading.

How to mount a Synology SHR1 disk on Linux (two disks volume - RAID1 with LVM)

Learn how to mount a Synology SHR1 disk on Linux (from a two disks volume - underlying RAID1 with LVM) and access its content.

F.I.R.S.T. principles of testing

The F.I.R.S.T principles serve as a foundational framework for effective code testing, that help to create robust and reliable code tests.