The Tests That Would Not Notice

mutant-testing

Until I started building out an AI-driven SDLC this year, I had never run a mutation test. I’m not sure I could have told you what one was. I’ve been writing software for a long time, I’ve shipped plenty of code with a coverage badge on it, and I treated that badge as the answer…

Read More

The PR That Fooled Me

The best-looking PR in my repo had a data-loss race in it, and the model that wrote it reviewed its own work and found nothing. This post was written with AI assistance (Claude) for structure and formatting. The PRs, the bug, and the opinions are entirely my own. I’ve written before about where AI belongs in…

Read More

People Approve, Agents Check

ai-workflow

I think the industry is measuring the wrong thing, and I think the leaderboard is making software worse. This post was written with AI assistance (Claude) for structure and formatting. The design, opinions, and specifics are entirely my own. Every vendor pitch I’ve sat through in the last year answers the same question: how much…

Read More

Making Databricks Widgets Smarter

Have you ever wished the Databricks widgets were a little more intelligent? When you change one, the others adjust? That’s not too hard, but it’s a bit tricky. Here’s the secret: The widgets must be replaced as they change! Dynamic Widget Replacement For example: Let’s say you have a date input, and whenever it changes,…

Read More

Wrangling Gitlab CI/CD in Monorepos

So, I recently had the opportunity to extensively dig into Gitlab’s CI/CD. We have a monorepo that I wanted to deploy automatically, and it took quite a bit of work to optimize it and work as I expected. To set the stage, here’s our core .gitlab-ci.yml file (now): image: node:18-alpine3.19 variables: AWS_REGION: us-east-1 AWS_DEFAULT_REGION: us-east-1 FF_USE_FASTZIP: 'true'…

Read More

GraphQL/TypeScript: Create Types when not Provided

typescript

Recently, I kicked off a project using GraphQL and needed the TypeScript types for the GraphQL API. However, they were not included in the project. It’s surprisingly easy to generate these types, but seemingly hard to find a simple “Here’s how you do it” example. In this case, install the required packages: The init asks…

Read More

How Can I Wordle Out of Housework?

wordle code

Let me start this with a confession: I don’t (technically) play Wordle This is very important, as recently my wife came to me and proclaimed “I just got a “magnificent” in Wordle” (the blank look on my face definitely bumped up my heating bill for a few days). When I asked my daughter if she…

Read More