When Knitting Becomes a Full-Stack Problem: Adventures in Analog Programming

You know that feeling when you solve a complex problem and everything just works? That’s exactly how I felt completing my latest knitting marathon. As someone who spends her days wrangling cloud infrastructure, I’ve discovered that knitting scratches the same problem-solving itch in surprisingly similar ways. Over the past few years, I’ve been treating knitting patterns like code repositories - each project a new challenge to debug, optimize, and deploy. And just like my home lab projects, some turn out better than others. Let me walk you through my recent “releases” and what I learned along the way. ...

Tue, Mar 10, 2026 · 4 min · Olivia Snowden

Automating Blog Posts with a Synology NAS and Claude AI

When I set up my home lab with a Synology DS420j NAS, I wanted a project that would let me explore Claude’s API capabilities in a practical, everyday context. The result is a Python pipeline that takes photos from my NAS, hands them to Claude, and automatically generates and publishes a fully formatted blog post to my Hugo static site on GitHub. Here’s how I built it. The Hardware The foundation of this project is straightforward: a Synology DS420j — a 4-bay NAS — connected to a home router via a network switch. The NAS serves as the central storage layer, holding photos in a dedicated shared folder (blog/photos/latest/) that the pipeline reads from. The DS420j runs Synology’s DSM operating system and is accessible at a reserved local IP address, which makes it a reliable and addressable part of the home network. ...

Tue, Mar 10, 2026 · 6 min · Olivia Snowden

GCP Load Balancers with Terraform

Networking in GCP, or any cloud environment, often requires a load balancer(LB). If you try to use Terraform to deploy a load balancer in GCP you’ll notice that there is not a single Terraform resource to create a GCP LB. GCP provides example Terraform scripts to create LBs in their documentation here. However, if you have an understanding of how load balancers work internally, and how to properly structure your Terraform code, creating your own LB modules in GCP using Terraform is possible. This can allow you to configure your LBs to do exactly what you need. ...

Wed, Mar 22, 2023 · 6 min · Olivia Snowden

Static Blog with Hugo, Git, and AWS

Until now, the blog I use to document my projects has been hosted on WordPress. To cut down on the cost of running my blog (and to complete a cool project), I’ve made my blog a static website. Most websites we visit are dynamic websites, meaning that a web server generates the site with content that can change and be interacted with by users. Static websites are the opposite, they display the same content for every user and are shown exactly as they are written (usually using HTML). ...

Mon, Aug 30, 2021 · 9 min · Olivia Snowden

First Home Lab Setup

For the home-lab, we used the following devices: Ubiquiti EdgeRouter X Ubiquiti UniFi 24 port switch 2 VMware ESXi Hosts A Synology NAS DS420j (Diskstation) Building the home lab also required quite a few patch cables to connect devices, and I made most of them myself. This required UTP cable, plastic clips for the ends, a cable crimping tool, and a lot of patience. The arrangement of the wires, or the pinout, had to be in a specific order. ...

Fri, Jun 12, 2020 · 2 min · Olivia Snowden