Posts on the tooling that catches problems before they reach production — static analysis, testing frameworks, code-metric analyzers, and the release plumbing that gates all of it. Some of it is Go-specific (Ginkgo, golangci-lint, kyber, TDD-shape). Some of it isn’t (nasm-lint for NASM assembly, semantic-release as a language-agnostic contract). The common thread is: the quality gate should live in the loop where the code is written, not in a review that happens after the fact.
Mutation testing: grading the tests, not the code
The anchor post of the mutation-testing series. What mutation testing actually measures, why it exists as a complement to line coverage, when to reach for it, and the specific classes of test-suite weakness it uncovers — written to stand alone regardless of your language.