Abstraction: Not what you think it is

Book Review: "Tidy First?" By Kent Beck

Should you split that file?

Why project-based learning fails (2018)

The 11 Aspects of Good Code

'Modules Matter' Most for the Masses

Puzzles to convince you you don't understand dependence

Solving the Dog-Bunny Puzzle with Program Verification Technology

Demystifying Dependence, Part 1: The Nine Dependency Puzzles

Demystifying Dependence, Part 2: The Three Dimensions of Dependence

Abstraction: Not What You Think It Is

Why Programmers Should(n't) Learn Theory

Developer tools can be magic. Instead, they collect dust

Elements of Programmnig

The Best Refactoring You’ve Never Heard Of

Why project-based learning fails

Book Review: Practical TLA+

Strange Loop 2018: You are a Program Synthesizer (video + transcript)

Book Review: A Philosophy of Software Design

When your data model means something else

My favorite principle for code quality

Making Bugs Impossible: Illustrating the Embedded Design Principle

The Practice is not the Performance: Why project-based learning fails

Why you should keep software design and implementation separate

The Benjamin Franklin Method of Reading Programming Books

The Three Levels of Software: Why code that never goes wrong can still be wrong