Blog
Recently published articles on With Blue Ink
AI agents and the new economics of account takeover
May 20, 2026
Unlocking Encrypted ZFS Volumes with a Passkey
May 9, 2026
Business logic does not (usually) belong in the database
March 4, 2026
On Designing a Distributed Actor Framework
January 20, 2026
Building with Distributed Actors
November 19, 2025
High Availability over Tailscale with DNS-based Load Balancing
September 23, 2025
A new architecture for Hereditas v0.3
March 29, 2023
Essential Cryptography for JavaScript Developers
March 1, 2022
Why storing secrets and passwords in Git is a bad idea
May 7, 2021
Developing x86 apps on ARM with VS Code
March 11, 2021
Maybe we shouldn't want a fully decentralized web
November 12, 2020
Go, WebAssembly, HTTP requests and Promises
October 3, 2020
That time I accidentally built a spying app
September 24, 2020
Docker and Docker Compose on Raspberry Pi OS
June 24, 2020
Is this a dependency or devDependency?
June 7, 2020
How (and why) to sign Git commits
May 17, 2020
Please everyone, stop writing your own user authentication code
April 8, 2020
Watch: JavaScript apps going Inter-Planetary
January 21, 2020
Auto-mounting encrypted drives with a remote key on Linux
January 19, 2020
Your next app may not have a backend
November 16, 2019
Reinstalling pfSense and restoring from backup
September 14, 2019
How to pass variables in Azure Pipelines YAML tasks
August 5, 2019
Cloud native, container-ready PHP
July 24, 2019
Yes, you can run Docker on Raspbian
July 13, 2019
I loved jQuery, and still do
April 12, 2019
Getting TLS certificates from Azure Key Vault with Go
April 7, 2019
Hugo and IPFS: how this blog works (and scales to serve 5,000% spikes instantly!)
March 20, 2019
What happens to your digital life after you're gone? Introducing Hereditas
March 18, 2019
When "Zoë" !== "Zoë". Or why you need to normalize Unicode strings
March 11, 2019
Node.js web apps in Ubuntu, production-ready
December 2, 2018
Distributed Web: host your website with IPFS clusters, Cloudflare, and DevOps
November 14, 2018
How to use s3cmd and any other Amazon S3-compatible app with Azure Blob Storage
October 29, 2017
Solving FreeNAS jails on a dedicated NIC
September 17, 2017
Getting started with ZFS on FreeBSD on Azure
October 21, 2016
Adding a NuGet package source on macOS and Linux
September 25, 2016
Stop SSH brute force attempts
July 15, 2016
What I learnt from using WD Red disks to build a home NAS
July 15, 2016
Automation for MariaDB/Galera Cluster setup (Part 2)
May 12, 2016
Galera cluster, MariaDB, CoreOS and Docker (Part 1)
March 9, 2016
Create a RHEL 6 image for Microsoft Azure
January 9, 2016
Preparing a Red Hat Enterprise Linux 7 image for Azure using VirtualBox
December 22, 2015