Don't Learn a Language with TDD

Last year I decided to try and learn the Rust programming language. It's been all the rage online (for good and bad reasons) and felt like something I should try out before passing judgment on. It was going to be the first language I learned after becoming a…

Solving Wordles with Grep

Wordle [https://www.powerlanguage.co.uk/wordle/] is one of the most popular word games on the internet right now. You get 6 guesses to figure out the daily 5 letter word, and each word you enter gives you clues about what letters are in the word and where they…

Balancing Personal Projects and Work

Go to any tech blog or forum and you'll see them sprinkled around everywhere. "My little side project", "been working on something like X for a bit", "this reminds me of a small tool I built for myself once". These might be…

Migrating a Repository to Bazel

This will be a bit of a difficult post for me to make, because the work I've been doing has all been in a private repository at work and I can't share any of the direct code snippets here. But I think the work to migrate…

Remote Pair Programming

A lot has been said about pair programming as an effective way to develop software, and I would bet most software developers have strong feelings about the practice. Some people swear by it, and others consider it a waste of time. So much thought has gone into the practice that…

Git Commits as a Unit of Work

I've been mulling this topic for a while and didn't really know how I wanted to present it, but with Linus Torvalds' recent appearance in the news trashing GitHub's suggested commit feature [https://lore.kernel.org/lkml/CAHk-=wjbtip559HcMG9VQLGPmkurh5Kc50y5BceL8Q8=aL0H3Q@mail.gmail.com/…

Neovim 0.5

The work leading up to this release has also led to an explosion of Lua plugins. The movement has been exciting enough that I've given up making my editor compatible with vanilla Vim.…