RSSAmplifier

Blog

With Blue Ink

withblue.inkRSS feed ↗42 posts

Latest posts

Not all OAuth2 tokens are made equal: user vs app tokens explained

Understanding identity principals

AI agents and the new economics of account takeover

What my mother-in-law's hack taught me about AI-supercharged hacking

Unlocking Encrypted ZFS Volumes with a Passkey

Using Revaulter to safely unlock encrypted ZFS volumes at boot with WebAuthn and PRF

Business logic does not (usually) belong in the database

When to use stored procedures or complex queries, and when to keep logic in your application server

On Designing a Distributed Actor Framework

Notes from my experiences using, maintaining, and designing actor frameworks

Building with Distributed Actors

Among my favorite patterns is one you may not have heard of

High Availability over Tailscale with DNS-based Load Balancing

Using ddup for DNS load balancing and failover

A new architecture for Hereditas v0.3

A proposal for updating Hereditas

Essential Cryptography for JavaScript Developers

Here's what my second book is about, and why I wrote it

Why storing secrets and passwords in Git is a bad idea

And what you should do with your apps' secrets instead

Developing x86 apps on ARM with VS Code

Using Visual Studio Code remotes to develop on a different CPU architecture

Maybe we shouldn't want a fully decentralized web

Why I have stopped working with IPFS and the distributed web

Go, WebAssembly, HTTP requests and Promises

A guide to interacting with JavaScript from Go/Wasm

That time I accidentally built a spying app

A personal story about creating new products and their unintended consequences

Docker and Docker Compose on Raspberry Pi OS

How to install Docker on RPi 2, 3 and 4 with the new Raspberry Pi OS, for 32 and 64-bit

Is this a dependency or devDependency?

Where to put NPM modules in package.json: it's not as simple as it seems

How (and why) to sign Git commits

Authenticate your commits, plus get them the "Verified" badge on GitHub

Please everyone, stop writing your own user authentication code

It's time to adopt safer solutions, and save time and money

Watch: JavaScript apps going Inter-Planetary

My talk at Node+JS Interactive 2019

Auto-mounting encrypted drives with a remote key on Linux

Using dm-crypt and auto-mounting a drive without storing the key on the local disk

Your next app may not have a backend

A look at the JAMstack, and what could be next

Reinstalling pfSense and restoring from backup

When you have no other option to quickly bring your network back up

How to pass variables in Azure Pipelines YAML tasks

Passing variables between steps, jobs, and stages: explained

Cloud native, container-ready PHP

Building PHP apps and microservices for containers and high availability

Yes, you can run Docker on Raspbian

Very simple steps for getting Docker and Docker Compose on Raspberry Pi 2, 3 and 4

I loved jQuery, and still do

In defense of one of the most important JavaScript libraries ever

Getting TLS certificates from Azure Key Vault with Go

Whether you're using Go or another language, some advice and code to save you time

Hugo and IPFS: how this blog works (and scales to serve 5,000% spikes instantly!)

Learnings from real-world experience with IPFS, and the curious stack that powers this website

What happens to your digital life after you're gone? Introducing Hereditas

An open source static site generator for a fully-trustless digital legacy box

When "Zoë" !== "Zoë". Or why you need to normalize Unicode strings

Never heard of Unicode normalization? You’re not alone. But it will save you a lot of trouble.

Node.js web apps in Ubuntu, production-ready

Step-by-step instructions for running Node.js in production with systemd

Distributed Web: host your website with IPFS clusters, Cloudflare, and DevOps

Static website development for the "Web 3.0", and optional CI/CD with Azure DevOps

How to use s3cmd and any other Amazon S3-compatible app with Azure Blob Storage

A world of apps and tools finally working with Azure Storage, in just 5 minutes!

Solving FreeNAS jails on a dedicated NIC

A simple, working solution for jails in different VLANs, or just with dedicated IPs

Getting started with ZFS on FreeBSD on Azure

Enterprise-class storage for your data disks, with optional encryption

Adding a NuGet package source on macOS and Linux

How to unblock MyGet and other custom feeds

Stop SSH brute force attempts

Three effective tips to stop bots that won't harm you in the process

What I learnt from using WD Red disks to build a home NAS

Some important tips to make your drives last longer — and how to spin them down automatically on Linux

Automation for MariaDB/Galera Cluster setup (Part 2)

Scripts and templates for easy deployments on Azure and other clouds

Galera cluster, MariaDB, CoreOS and Docker (Part 1)

Get your multi-master, MySQL-like cluster, pain free

Create a RHEL 6 image for Microsoft Azure

Step-by-step instructions, using VirtualBox

Preparing a Red Hat Enterprise Linux 7 image for Azure using VirtualBox

A step-by-step guide