Making Sense of WireGuard

I recently decided to try out the hot new VPN protocol on the block, WireGuard. It took me about 2 hours of debugging and diagnostics to make sense of things, so I'm logging my notes here for future reference.

Using and Extending GitHub Actions

I got into the GitHub Actions beta! Here's what I've learned so far.

Automatically generating assembly binding redirects

If you're sick of System.IO.FileLoadExceptions, you've come to the right place!

Building Docker containers behind a proxy

How do you configure Docker to use a proxy when building a container, but not when running it?

A Ubiquiti Home Network

For a while, I've been eyeing an upgrade of my home network. I recently did that by introducing Ubiquiti gear, and (spoiler alert) it's been great.

Setting a Default InputFormatter in ASP.NET Core

In ASP.NET Core, you can write custom formatters to serialize or deserialize objects from/into request bodies. But how do you pick one without a Content-Type?

Controlling a Kubernetes cluster remotely

I didn't set up Kubernetes exactly as I intended to use it, so here's how I recreated the SSL certificates.

Kubernetes: Getting Pods to talk to the Internet, not systemd

Systemd plays havoc with Kubernetes defaults and kills DNS. Here's how to fix that.
You've successfully subscribed to Yaakov's Blog
Great! Next, complete checkout to get full access to all premium content.
Welcome back! You've successfully signed in.
Unable to sign you in. Please try again.
Success! Your account is fully activated, you now have access to all content.
Error! Stripe checkout failed.
Success! Your billing info is updated.
Error! Billing info update failed.