Introducing Async Service

Distributed tasks with Postgres & Rabbitmq TL;DR: Check out the code here At my workplace, we needed a mechanism to: Have service A tell service B to start executing long-running tasks, with notifications upon completion ...

Initramfs with systemd & LUKS

TL;DR My old boot process looks like this: UEFI (with secure boot on) systemd-boot unified kernel.efi (initramfs + kernel params + kernel all rolled into one efi and signed) initramfs (busybox) encrypt hook: detects that ...

Oh Brothers, where art thou

Last weekend, we backpacked in the Olympics and climbed the brothers. The route itself is straightforward up to Lena lakes (where almost everyone at the trailhead was headed to). Once you cross over to the ...

Interfaces in golang

TL;DR: An interface just defines a collection of methods. When you create an instance, it’s just a wrapper around a concrete type. In addition to the concrete type, the interface contains an extra array of ...

Secure DNS

TL;DR: Use a VPN if you really care. Hey, you over there! Want to take something that works perfectly well and make it more complicated? Sure ya do! Oh, need a little more convincing? Okay ...

Larch Madness

This October, I went with my friend Erica and we set off for the Enchantments thru-hike. It appears every time I get amnesia about the hike because there are some very key details I always ...

Ad Blocking w/Raspberry Pi

I’ve used different technologies to block ads for a long time. I remember my first computer used Proxomitron to great success in the early web. (HTTPS wasn’t much of a thing back then which made ...