Tips and Points
This summer I've been working on a project with my wife called Tips and Points. The idea is to analyze irish dance competition results (and, eventual ...
August 1, 2026Planning and Review
Leaning on automations to build correct programs tends to: Result in circular workflows, where you write things and then figure out that they don' ...
June 19, 2026Product discovery via ideation and market research
Often, it's easiest to find existing products by coming up with the idea yourself and then checking see if it exists. It's kind of obvious that you s ...
January 17, 2026Ensure correctness by changing when the first failure occurs
Failures are expected during development. The key to writing correct code is to detect possible failures before we ship our program. This is the prin ...
January 11, 2026Effectful decoders in PureScript
Decoders are primarily used to define an integration with another API in cases where the functionality that you need isn't directly available within ...
January 9, 2026Flying solo
When you're working alone, everything takes longer, but we can also get weird and leverage approaches that don't make sense on a team. Foregoing auto ...
January 5, 2026Debugging workflows
Let's face it: As programmers, we typically build small variations on the same theme over and over. That isn't to say that programming isn't fulfilli ...
January 5, 2026DRY
Most programming maxims are not particularly useful as stated, and, in truth, I believe that the way these principles are delivered and espoused is f ...
July 25, 2025How to work as a resource bottleneck
Anyone who works in some kind of production pipeline (which is pretty much everyone) can become a resource bottleneck. When working in these roles, o ...
July 23, 2025Write code like you're slinging hash
A couple of years ago, I went to this tiny diner bore witness to a thrilling display efficiency. The grill was set up in the dining area, and as I sa ...
July 21, 2025Packages over processes
Languages sport nice abstractions: Type systems, modules, functions, classes, package managers, database integrations, etc. We can catch mistakes eas ...
June 30, 2025Confidence by any means available
Writing code is cheap, but getting it right is expensive. Every means of ensuring code correctness has significant drawbacks: Automated unit tests a ...
May 14, 2025A skeptic's review of Cursor
I recently wrote a blog post where I criticized the use of AI coding assistants on the premise that coding is mostly about thinking and not actually ...
May 5, 2025React to Vanilla
Recently, I decided to drop React as my daily driver for building UI. It's easy to grab for tools like React, even when we don't really care for them ...
May 5, 2025Programming is a thinker's game
Written code is a strikingly poor representation of a running program. Consider this event listener: const thing = document.querySelector("#thing"); ...
April 26, 2025RSS as a skill
Shit's gotten weird out there. The internet has devolved from something that was mostly quirky and altruistic to something that, in many ways, is str ...
April 25, 2025Passport with vhosts
So, I started moving all of my apps into a single VHost monorepo setup because: It's easier to share code across projects (I don't have to setup sha ...
December 10, 2024Focus gains
So, recently I purchased a reMarkable Paper Pro. About a decade ago, I decided to learn Gregg Shorthand (Simplified). It was a big time investment, a ...
December 7, 2024