The Blog

Notes on building observable systems, writing Go, and operating at scale.

My Go 1.27 Adoption Rule

I would adopt Go 1.27 first as a toolchain upgrade, then raise a module's minimum version only when its source or operating requirements justify the change.

Bostromian Dystopia Imminent

I found that Anthropic's Hacker-Opus experiment shows that competence does not ensure compliant behavior under concentrated pressure to earn a score. I think the result supports faster safety and control work without establishing catastrophe or making failure inevitable.

Why Hyprland Fits Omarchy 4

I concluded that Hyprland is the right compositor foundation for Omarchy 4 under distribution-specific criteria because it lets Omarchy define the desktop policy. That fit depends on sustained integration, upgrade, graphics, IPC, and accessibility validation.

How Rust's Semantics Shape Mailwright

Mailwright uses Rust's type system, exhaustive matching, borrowing, and async boundaries to encode protocol states and operational lifecycles. Examining the relevant code shows what these language features guarantee inside a mail server.

koanf and Viper for Go configuration

koanf offers explicit composition, case-sensitive keys, and fine-grained dependency isolation. Viper provides a more integrated configuration system with established conventions and broader built-in tooling.

The Architecture of Mailwright

This article examines how one Rust process with strict internal boundaries replaces the composed mail stack, including the crate map, three structural rules, operator benefits, and tradeoffs.