Setting up Tailscale on Alpine Linux

Tailscale is a magical VPN solution, but doesn't come prepackaged for Alpine Linux yet. Here's how to get it set up.

billboard to home server

I was showing off the neat things I could do with my Home Assistant setup to my mom the other day, and she mentioned she'd be interested in a similar system for their house.

inteviewing for vs code

I've had a few people ask me what the interview process was like at VS Code, and it is unique among 'interviews' I've done before, so here it is.

make bugs harder to write

Arguably the most powerful aspect of statically typed languages is the ability to model your domain—the world of things your program knows about. Writing and testing bits of code that operate on small facets of the domain are easy. Rationalizing and testing how parts of the domain fit together in a whole is much harder and is where I've seen experienced programmers generate the most bugs. In this post I'll discuss and give some examples showing how I try to model data so that this class of bug is harder (or ideally impossible!) to write.

plant shelf

A plant shelf. I had a lighting fixture in my old apartment that was essential to keep my plants alive in overcast PNW winters, but didn't have anything that it would fit on after I moved last year. I couldn't find anything online that was over six feet long and looked good, and am a (very) amateur woodworker, so I built this 7' long narrow bookshelf. I designed it in Fusion 360 (model download), built it in red oak, and finished with satin polyurethane. Project cost was around $120.