Posts from 2025
-
Struct Tags and reflect
Struct tags are Go's back door for tooling; reflect reads them. Groundwork for declarative routing.
-
One Responsibility per Layer, and the Discipline It Takes
Blur a layer's job and debugging turns into guesswork across layers. On over-abstraction, under-abstraction, and when not to abstract at all.
-
Error Messages Are Written for the Next Person
Your logs aren't for the machine. They're for whoever gets paged at 2:30 in the morning.
-
net/http and the Middleware Pattern
The foundation every Go web framework sits on: http.Handler, ServeHTTP, and how middleware chains compose with closures.