Jul. 26, 2026
The previous post was about
uploads into Garage. This one is about
reading back out of it, and it's a better story, because the answer had nothing
to do with Garage at all.
The workload: a small log viewer that points DuckDB at a bucket of
vector-written JSON โ about 6,600 objects averaging 1.4 KB, 28 MB total โ
and materializes them into a local DuckDB table. The Garage node is a 1 vCPU,
512 MB VM on the LAN, roughly 1โ2 ms round-trip away.
Ingest took 132 seconds to move 28 MB across a fast LAN. That's absurd, and
the path from there to 12.3s ran through one real optimisation that wasn't the
problem, and three wrong theories about the server.
Read more
Jul. 25, 2026
This blog deploys straight from GitLab CI now: middleman build produces a
static site, then aws s3 sync pushes it to a bucket. Nothing exotic, except
the "S3" on the other end isn't AWS โ it's Garage,
a lightweight, self-hosted, S3-compatible object store I run at home. It sits
on a small Tailscale network, with a gateway node exposing the S3 API and S3
website endpoints behind a shared nginxproxy/nginx-proxy reverse proxy that
also fronts a handful of other services.
It's worked well, but getting there involved one debugging session that's
worth writing up, because the failure mode was confusing and the fix wasn't
where I expected.
Here's roughly how the pieces fit together:

Read more
Dec. 6, 2025
Previous versions:
Physical
-
Woodworking
- Building cutting boards
- Building pizza peels (still need to do)
- Floating bookshelves
- Preparing a house for sale (sold 9/2025)
- Preparing a new house...
Read more
Jul. 30, 2024
Having a DNS server available on your network might seem unusual, but it's actually quite common.
We have EdgeOS and OpenWRT with dnsmasq.
We have VyOS 1.5 with pdns-resolver.
Other dedicated DNS solutions that you can find within someones homelab...
Read more
Feb. 25, 2024
Updated: 2024-02-25
Physical
-
Woodworking
- Building cutting boards
- Building pizza peels
- Being a dad
Digital
- working on mynotes.guru
- working on
homectl (or home in CLI form) - a CLI interface to easily deploy my...
Read more
Nov. 4, 2023

I finally finished the Nelson Platform Bench that I've been working on. I took inspiration from tutorial done by the Family Handyman back in 2019. It suggested the project would take a weekend. It took me 4 years to finish this project.
Read more
Nov. 3, 2023
For my hosting environment, I'm still running Caddy V1 :( for some applications. In one application, I needed to reverse proxy to MinIO.
The way that I wanted it setup was to allow o.tld to be the object storage (aka MinIO Server) and o.tld/console
Read more
Oct. 2, 2023
This is copied from https://www.home-assistant.io/installation/linux#install-dependencies and stored for historical purposes.
INSTALL DEPENDENCIES
Before you start, make sure your system is fully updated, all packages in this guide are installed with...
Read more
Aug. 24, 2023
I recently broke my Hermin Miller Aeron chair armrest bolt and I replaced it for less than 2 dollars.
I was about to start watching some TheVimeagen hack on some HTMX and my left armrest broke and fell to the ground.
Upon examining it, the bolt broke...
Read more
Feb. 9, 2023
Physical
Digital
P2P (libp2p)โworking through...
Read more
Feb. 9, 2023
Desktop
I've always had a Windows machine, but don't use it for development that much.
This year is different.
With VS Code being one of my primary editors along Neovim.
This brings me to my upgraded...
Read more