jmhobbs

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.

Party Gopher!

go func(partyordie bool) {...}()

A New GPG Key

After a decade it's time to create a new GPG key. There's no real excuse not to use a Yubikey anymore either. This will cover the process I took from start to finish, with subkeys, paperkey backups, git signing and SSH with gpg-agent.

Chicken Cam: Incubator Edition

Why let a chicken hatch your eggs when you could make a Raspberry Pi do it?

gpdmp-to-slack

Show your currently playing song as your Slack status from Google Play Desktop Music Player.

MAC Randomizer Alfred Script

Spoofing MAC addresses with Python through Alfred