i am dain
Using Distroless in production instead of Alpine
Lisbon Story 1994–2024
Expanding TrueNAS Scale with a new drive
What are Large Language Models and how to run open ones on your device
Understanding embeddings and how to use them for semantic search
Installing and configuring TrueNAS Scale for home use
Delightful rabbit hole #1
Build a cheap but fast home NAS system
Safely access your home NAS with an OpenVPN server on GCP
Give app servers a REST – CDNs and APIs are the new LAMP
Creative Lives interview
Why and how Github should have binary diffs
Finding an affordable electric family cargo bike in London
Indiewebify yourself
Containerise everything
Why YOU — not Henry Ford — should design your working life
Build your Minimum Viable Product
An introduction to jQuery Deferred / Promise and the design pattern in general
Getting Cross-origin resource sharing with complex jQuery AJAX requests
On the fragile relationship between nature conservation and economic growth
Setting up rmate with Sublime Text for remote file editing over SSH