20220724100132_IMG_0778

Oh Brothers, where art thou

Pnw

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 ...

Read more ⟶
IMG_0627

Larch Madness

Pnw

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 ...

Read more ⟶
Easy, secure API keys

Easy, secure API keys

Technology

I needed to add API key authentication to our work environment. I needed: To develop the functionality quickly Be confident in the security of the system API keys should only be visible once when created ...

Read more ⟶
Architecture diagram for async service. It shows a service communicating to async service with an HTTP call. Async service stores that data in a postgres database, and then sends out messages to rabbitmq. There are 3 queues in the diagram, one for each job type. An arrow from the queue indicates that a worker listens to the queue to process the job item. Finally, there is an arrow from the worker back to async service to claim the job, as well as to store the results

Introducing Async Service

Technology

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 ...

Read more ⟶
andy-kelly-0E_vhMVqL9g-unsplash

Interfaces in golang

Technology

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 ...

Read more ⟶
Two vintage cars side-by-side. The one on the left is rusted out and missing headlights. The one on the right has been restored to good condition

Automatic recovery using lvm-autosnap

Technology

Two vintage cars side-by-side. The one on the left is rusted out and missing headlights. The one on the right has been restored to good condition TL;DR: https://github.com/intentionally-left-nil/lvm-autosnap Running linux is an adventure. About a ...

Read more ⟶
Systemd-logo.svg

Initramfs with systemd & LUKS

Technology

TL;DR [me@mycomputer]# cat /etc/sbupdate.conf | grep "^CMDLINE_DEFAULT" CMDLINE_DEFAULT="rd.luks.uuid=c1f995f5-a8f7-47f0-b085-6d3a159e1874 rd.luks.allow-discards resume=UUID=51384ac6-f197-41d9-b8c8-c9607d7e01c8 rd.udev.log-priority=3 nvme.noacpi=1 quiet splash root=UUID=a645810c-ef87-4a9a-9239-afdeaf292e6e rw" [me@mycomputer]# cat /etc/mkinitcpio.conf | grep "^HOOKS" HOOKS=(systemd keyboard autodetect sd-vconsole modconf block sd-encrypt lvm2 filesystems fsck) My old boot ...

Read more ⟶

Secure DNS

Technology

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 ...

Read more ⟶
Two vintage cars side-by-side. The one on the left is rusted out and missing headlights. The one on the right has been restored to good condition

Automatic recovery using lvm-autosnap

Technology

Two vintage cars side-by-side. The one on the left is rusted out and missing headlights. The one on the right has been restored to good condition TL;DR: https://github.com/intentionally-left-nil/lvm-autosnap Running linux is an adventure. About a ...

Read more ⟶
Architecture diagram for async service. It shows a service communicating to async service with an HTTP call. Async service stores that data in a postgres database, and then sends out messages to rabbitmq. There are 3 queues in the diagram, one for each job type. An arrow from the queue indicates that a worker listens to the queue to process the job item. Finally, there is an arrow from the worker back to async service to claim the job, as well as to store the results

Introducing Async Service

Technology

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 ...

Read more ⟶
20220724100132_IMG_0778

Oh Brothers, where art thou

Pnw

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 ...

Read more ⟶

Secure DNS

Technology

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 ...

Read more ⟶
Easy, secure API keys

Easy, secure API keys

Technology

I needed to add API key authentication to our work environment. I needed: To develop the functionality quickly Be confident in the security of the system API keys should only be visible once when created ...

Read more ⟶
Systemd-logo.svg

Initramfs with systemd & LUKS

Technology

TL;DR [me@mycomputer]# cat /etc/sbupdate.conf | grep "^CMDLINE_DEFAULT" CMDLINE_DEFAULT="rd.luks.uuid=c1f995f5-a8f7-47f0-b085-6d3a159e1874 rd.luks.allow-discards resume=UUID=51384ac6-f197-41d9-b8c8-c9607d7e01c8 rd.udev.log-priority=3 nvme.noacpi=1 quiet splash root=UUID=a645810c-ef87-4a9a-9239-afdeaf292e6e rw" [me@mycomputer]# cat /etc/mkinitcpio.conf | grep "^HOOKS" HOOKS=(systemd keyboard autodetect sd-vconsole modconf block sd-encrypt lvm2 filesystems fsck) My old boot ...

Read more ⟶
andy-kelly-0E_vhMVqL9g-unsplash

Interfaces in golang

Technology

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 ...

Read more ⟶
IMG_0627

Larch Madness

Pnw

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 ...

Read more ⟶
Easy, secure API keys

Easy, secure API keys

Technology

I needed to add API key authentication to our work environment. I needed: To develop the functionality quickly Be confident in the security of the system API keys should only be visible once when created ...

Read more ⟶
Two vintage cars side-by-side. The one on the left is rusted out and missing headlights. The one on the right has been restored to good condition

Automatic recovery using lvm-autosnap

Technology

Two vintage cars side-by-side. The one on the left is rusted out and missing headlights. The one on the right has been restored to good condition TL;DR: https://github.com/intentionally-left-nil/lvm-autosnap Running linux is an adventure. About a ...

Read more ⟶
Architecture diagram for async service. It shows a service communicating to async service with an HTTP call. Async service stores that data in a postgres database, and then sends out messages to rabbitmq. There are 3 queues in the diagram, one for each job type. An arrow from the queue indicates that a worker listens to the queue to process the job item. Finally, there is an arrow from the worker back to async service to claim the job, as well as to store the results

Introducing Async Service

Technology

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 ...

Read more ⟶
Systemd-logo.svg

Initramfs with systemd & LUKS

Technology

TL;DR [me@mycomputer]# cat /etc/sbupdate.conf | grep "^CMDLINE_DEFAULT" CMDLINE_DEFAULT="rd.luks.uuid=c1f995f5-a8f7-47f0-b085-6d3a159e1874 rd.luks.allow-discards resume=UUID=51384ac6-f197-41d9-b8c8-c9607d7e01c8 rd.udev.log-priority=3 nvme.noacpi=1 quiet splash root=UUID=a645810c-ef87-4a9a-9239-afdeaf292e6e rw" [me@mycomputer]# cat /etc/mkinitcpio.conf | grep "^HOOKS" HOOKS=(systemd keyboard autodetect sd-vconsole modconf block sd-encrypt lvm2 filesystems fsck) My old boot ...

Read more ⟶
20220724100132_IMG_0778

Oh Brothers, where art thou

Pnw

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 ...

Read more ⟶
andy-kelly-0E_vhMVqL9g-unsplash

Interfaces in golang

Technology

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 ...

Read more ⟶

Secure DNS

Technology

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 ...

Read more ⟶
IMG_0627

Larch Madness

Pnw

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 ...

Read more ⟶