Article
Against Shiny-Object Architecture
New tools deserve evaluation, not automatic adoption or automatic rejection.
Deliver. Business. Value.
What worked. What didn't. The cost of learning the difference between the two.
Field notes
A short path through the center of the site.
Operating stance
Good systems are not made by chasing every new surface area or flattening every disagreement into committee language. They are made by naming volatility, keeping options open where change is likely, and choosing proven mechanisms where behavior is already well-understood.
Field notes
One entry that anchors the current direction of the site.
Article
New tools deserve evaluation, not automatic adoption or automatic rejection.
Field notes
Concise notes on architecture, AI, complexity, and the work of staying intellectually honest.
Guessing is not judgement.
A lab note on using a source generator to turn a small enum specification into a richer enumeration type.
A lab note on replacing weak enum usage with richer named values that can carry identity, behavior, and safer conversion rules.
A field note on using code coverage to reveal tangled responsibilities, hidden coupling, and the real cost of a big ball of mud.
A field note on using code coverage to reveal tangled responsibilities, hidden coupling, and the real cost of a big ball of mud.
A field note on why adding another developer can slow a team down when the system and process cannot absorb more coordination.
Field notes
Recurring threads without a heavy taxonomy.
Projects
This is the working code that is actually published: source repositories and NuGet packages, kept separate from the private-implementation lessons that live in Field Notes.