Blog Posts

Blog about coding and my personal thoughts

  1. Why Snapshot Testing is easy but not simple

    An analytical critique of Jest snapshot testing, arguing that the practice prioritizes immediate ease over architectural simplicity. By asserting against the entirety of a function's serialized output, snapshots violate the robustness principle and frequently fail due to benign structural modifications. The article explores how this brittleness degrades test suite reliability and advocates for transitioning to targeted, explicit assertions and dedicated visual regression tools.

  2. The Illusion of Test-driven development [TDD]

    Most TDD explanations focus on procedures—red-green-refactor cycles—but miss the fundamentals entirely. TDD isn't a mechanical checklist; it's a problem-solving technique. This article challenges conventional TDD wisdom and explores what it means to "thinking backwards" and how unit testing adds value but isn't the primary concern.

  3. What is blockchain?

    "What is blockchain?" was the one question people at the IBM Garage asked the most after several new Garage locations were announced, due to the high demand for consultancy services related to blockchain-as-a-service. With my experience working at a Bitcoin startup, I aim to answer that question by walking you through smart contracts, a bit of Bitcoin's history, and the differences between Bitcoin and private blockchains.