Going Fast is Going Well

I want to directly address the idea that moving quickly means bad code. Heavy design process is also not the opposite of either speed or sloppy code. To go fast is to go well, and that means fast incremental design.

January 29, 2021 · 2 min

Aspect-Orientation Update for C# 9

I previously wrote on the difficulties of Aspect-Orientation in C#. The addition of Source Generators in C# 9 changes the possibilities considerably.

January 22, 2021 · 1 min

Result-type Update for C# 9

I previously wrote on the difficulties of normalized result types in C#. Let me be clear, result types are still not great in C#, but C# 9 at least makes them practical.

January 15, 2021 · 3 min

Id Abstractions Update for C# 9

I previously wrote on the difficulties of abstracting ID types in C#. Good news, C# 9 record types greatly simplify this design decision.

January 10, 2021 · 3 min

Accessors: Services, Not Servants

I’ve been on a long journey of meshing IDesign with Clean Architecture. Managers, engines, and utilities fit nicely, but accessors seemed too substantial for an adapter and not independent enough for a true service. At last, I’ve realized the place of accessors by building off their relationship to utilities. Accessors are independent services, not servants to managers.

January 1, 2021 · 15 min

Incremental Accessors

I’ve been on a long journey of meshing IDesign with Clean Architecture. Accessors have been a conceptual sticking point.

December 25, 2020 · 2 min

Ports and Adapters

Understanding Clean Architecture has transformed my approach to architecture. Now I feel like my understanding has evolved one step further by understanding its parent pattern’s name, Ports and Adapters.

December 19, 2020 · 4 min

The Power of a Limited Toolset

It’s easy to drown in the sea of frameworks and methodologies available to programmers. Numerous authors speak out about against the constant swarming between them. However, now I have a concrete expression for both why it hurts and why fewer solutions can be better.

December 13, 2020 · 4 min

Predictability and Correlated Type Systems

I’ve recently been learning about type systems, and I realized that structural and dynamic typing often pair while nominal and static type system often pair. Why?

December 4, 2020 · 5 min

Schema and Selection

November 27, 2020 · 6 min