Essential Cryptography for JavaScript Developers

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

Publishing date March 1, 2022

Why storing secrets and passwords in Git is a bad idea

And what you should do with your apps' secrets instead

Publishing date May 7, 2021

Developing x86 apps on ARM with VS Code

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

Publishing date March 11, 2021

Maybe we shouldn't want a fully decentralized web

Why I have stopped working with IPFS and the distributed web

Publishing date November 12, 2020

Go, WebAssembly, HTTP requests and Promises

A guide to interacting with JavaScript from Go/Wasm

Publishing date October 3, 2020

That time I accidentally built a spying app

A personal story about creating new products and their unintended consequences

Publishing date September 24, 2020

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

Publishing date June 24, 2020

Is this a dependency or devDependency?

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

Publishing date June 7, 2020

How (and why) to sign Git commits

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

Publishing date May 17, 2020

Please everyone, stop writing your own user authentication code

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

Publishing date April 8, 2020

Watch: JavaScript apps going Inter-Planetary

My talk at Node+JS Interactive 2019

Publishing date January 21, 2020

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

Publishing date January 19, 2020

Your next app may not have a backend

A look at the JAMstack, and what could be next

Publishing date November 16, 2019

Reinstalling pfSense and restoring from backup

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

Publishing date September 14, 2019

How to pass variables in Azure Pipelines YAML tasks

Passing variables between steps, jobs, and stages: explained

Publishing date August 5, 2019