Testing and Testability

October 5, 2023
I've learned a lot of lessons about testing and testability in Java over the years, specifically: what kinds of tests are worth writing, and how (and when) do you design for testability without twisting your design into knots for the sake of testing. Let's look at a couple of examples.

Continue reading →


Experimenting with Clojure: Advent of Code 2022 - Day 7

September 22, 2023
I've been getting some Clojure practice in by tackling the Advent of Code puzzles. 2022's Day 7 presented a scenario that sounded like a good fit for some Clojure namespaces I'd read about, but never used before. I was pleasantly surprised with the results.

Continue reading →


Clojure Scripts

September 12, 2023
Not to be confused with ClojureScript, you can write scripts with Clojure using Babashka. Super handy when you just need to whip something together quick and don't want to struggle with Bash. Here's my first encounter with this handy tool.

Continue reading →


Why Clojure?

September 10, 2023
I've had an on-again, off-again relationship with Clojure for years. Despite not using it in any way at work, and despite many false starts, I keep picking it back up. What keeps me interested in Clojure? Why is it so great? Uncle Bob wrote an article about that a few years back, and I think it misses the mark.

Continue reading →


Moving to GitHub

September 6, 2023
Resurrecting my ancient GitLab blog on GitHub.

Continue reading →