jmhobbs

Box drawing on the web

Boxes: Harder than you thought.

CHIP-8 BCD

While implementing a CHIP-8 emulator, I came across a new concept.

Notes on Keeping Bees

After four years of keeping bees, here are some things I've learned which I don't remember seeing in the beginner books I've read.

Detecting Sucessfull AES Decrypts With Padding

Unauthenticated AES works even if you have the wrong key. Here's a way to tell you have the right key.

The Authy Backup System

A look at how the Authy authenticator app works, in the pursuit of securely backing up my MFA tokens offline.

Moving from WordPress to 11ty

After 17 years with WordPress, it's time for something different. Here's how I migrated 500 posts to a static site generator.

A peek inside pinentry

I interact with pinenty daily, but I don't really understand it. This post dives into how it is invoked and can be used outside of GPG for your own projects.

Netlify + Cloudflare = Crazy Delicious

Cult of the Party Parrot is a fairly simple static site, but it pushes a lot of traffic. Combining the magic of Netlify with the sweet cache layer of Cloudflare with a dash of Google Cloud functions gives us the best of both.

Easy visual identification of git short sha's.

A list of short SHA's can be hard to read, wrapping them in color can help.

Using environment secrets as build arguments in Google Cloud Build

Cloud Build is a nice tool for continuous building of your Docker images. Using an environment secret in the build is a gap in the docs, here is how I did it.