Hi, I’m MiddleRaster, a retired software engineer, evidently slightly dyslexic. Welcome to my pages.

I’ll be discussing things I’ve learned in my 35-year career, including 4 completely original ideas:

  1. How to mock anything in C++: Test Base Class Injection
  2. A C++ technique where circular dependencies are compiler errors
  3. How to predict when a project will be done despite poor estimates
  4. The metric for software development

My thoughts on Kanban and Queueing Theory.
I have a thing or two to say about mathematics, too.
Here are my test-driven development (TDD) tutorials.

Stay tuned for more.

Change Log:

2026-03-04 - Added a little bit of retirement math
2026-02-27 - Added landing page for TBCI with samples, and showed how to mock the STL
2026-02-22 - Added a few real-life ABA charts
2026-02-12 - Added a kata to refactor some awful MSDN sample code, including using TBCI
2026-02-07 - Added the Eight Queens Refactoring kata
2026-02-06 - Added the Eight Queens Puzzle kata
2026-01-30 - added some math on whether ABA is gameable
2026-01-19 - added an essay on THE metric for software development
2026-01-13 - added thoughts on Kanban
2026-01-12 - added a Kanban Simulator
2026-01-12 - added an essay on how low WIP lilmits can go
2025-12-30 - added an essay on forecasting good ship dates despite poor estimates
2025-12-25 - added an easy-to-remember proof of Fermat’s Little Theorem
2025-11-20 - added the Bowling Game kata: state machine using std::variant
2025-11-13 - added math article on the integral of 1/x
2025-10-27 - added a C++ technique where circular dependencies are compiler errors
2025-10-10 - added the Bowling Game kata: state machine using std::unique_ptr
2025-10-09 - added the Bowling Game kata: array of frames
2025-10-07 - added the Bowling Game kata: array of ints
2025-10-02 - added Roman Numerals kata
2025-10-02 - added Prime Factors kata
2025-10-02 - started c++ katas
2025-10-02 - added TDD Tutorial