Encrypting secrets for GitHub's API with Perl and libsodium

The GitHub API for Secrets uses libsodium to exchange the secret. I request the public key for my repository, I encrypt my secret with my repository’s public key, and I send it back to GitHub. My repository can then decode it with its secret key (which I don’t know).

The API docs have examples in Node, Python, Ruby, and C#. I worked out an example in Perl which takes the Base64 encoded public key as provided by the API and returns the Base64 encoded secret I need to send back.

Read More

I hold my pen differently

When I write, I hold my pen between my index and middle fingers, and until today, I’ve only encountered two other people who do that. One was a waitress, which is an important detail for this story.

Read More