A Visual Explanation of GPG Subkeys
As with anyone who’s been using git for long enough, I’m familiar enough with SSH keys (Even to the point where I don’t really need to follow the GitHub docs for generating a new key). My developer journey hasn’t led me to build the same intuition for GPG keys. So, when I see fancy wiki pages and guids, such as [...]
EPA in Emacs is a Neat UX on top of GPG
GPG is notorious for having an archane interface which is easy to misuse. As a developer, the most I’ve used it for has been to sign git commits. Emacs supports a workflow which uses GPG to automatically decrypt the file when reading it, and automatically encrypt the file when saving it. With the Doom Emacs distribution of Emacs, if the [...]
Tool Recommendation: Helix Editor
The Helix editor is a fancy new text editor which looks to be a compelling competitor to vim for modern developer environments. Currently, my preferred editing environment is Emacs, making use of the Doom Emacs distribution. Before that, I was using vim (and its cousin, neovim). And I still use neovim for editing files from the command line. But, I’d [...]
Use of Anki for Programming
Anki is software which helps you to review flash cards. What’s notable about it is it uses the idea of Spaced Repitition; by getting you to recall something at approximately the time you would otherwise have forgotten it, you’re better able to recall some fact at increasingly long intervals. This is useful for foreign language learning (or health science) where [...]
Prime Video's Invincible is Wonderful
Amazon Prime Video’s “Invincible” is probably most well known for the meme image. I saw it recommended by the YouTube channel “Critical Drinker”. So I watched the show, it’s pretty good! In the same way that “Rick and Morty”’s Rick and Morty are kinda bastardised versions of “Back to the Future”’s Doc and Marty, “Invincible” is kindof a bastardised homage [...]
Bridgerton 2
I liked Bridgerton Season 2 more than Season 1. It’s good.
The sweet parts are properly sweet. But. It’s long. It’s loooooooooooooooooong. I was ambivalent about Season 1. The season was filled half with a sweet romantic story, and half with a bitter cynical dramatic story.
I didn’t like the mix. Season 2 is mostly devoit of the [...]
Project Specific Tooling in Emacs with Nix Flakes and Direnv
One use-case for nix is to describe the tools/dependencies used on a per-project basis. – This is similar to VSCode’s Remote Containers, but without the containers. We can achieve this in Emacs by leveraging direnv, nix-direnv, and emacs-direnv. direnv provides a neat way of specifying environment variables in a per-directory basis. Since direnv runs arbitrary bash code in the .envrc
[...]
Using Home Manager to Manage Symlinks to Dotfiles
dotbot is a popular way of managing symlinks to dotfiles, and I used it for some time. I’ve gradually been becoming more comfortable with Nix. Nix remains relatively niche, so: Nix allows programmatic management of packages installed to a computer. Nix refers to the expression language that describes these packages, the tool which evaluates these expressions. It’s also pretty closely [...]
Deborah Tannen's You Just Don't Understand is Wonderful
I finally finished reading through Deborah Tannen’s “You Just Don’t Understand”. It’s interesting to see that it was published in 1990. I’d put it alongside Jonathan Haidt’s “The Righteous Mind” as a book which provides a no-fault explaination for behaviour which seems illogical. The core of the book is that some of the conflict which arises between men and women [...]
It's Difficult to Explain Technical Difficulties Encountered
If you’re using a computer, and something doesn’t work, sometimes the best you can come up with when asking for help is: “it doesn’t work”. Maybe you can be a bit more specific and say “I’ve plugged in my headphones, and they don’t work”. But no one is ever going to say “I’ve got a headset, and I plugged the [...]