Redowan's Reflections

Redowan's Reflections

Redowan

Redowan Delowar's reflections on software, systems, and sundry.

Latest Posts

txtar is a tiny plain-text archive format Russ Cox introduced in 2018 for multi-file test fixtures. The Go Playground, cmd/go's script tests, gopls's marker tests, and rsc.io/rf all reach for it.
The default slog API is loose enough that a careless line ships broken JSON to production. Pin it down with Attr constructors, LogAttrs, a context-borne logger, and sloglint.
Four of the five steps in every unary RPC handler are wire plumbing. Pin the service function signature and they fit in one generic adapter per transport.
A Go closure holds a live reference to whatever it captures, not a snapshot. Real examples of where this trips people up, and how to keep it boring.
Notes on Go's newly accepted uuid proposal and the tradeoffs behind the API.
Go's proposal review group accepted a new uuid package with v4 and v7 generators. Here are the decisions that shaped the final API.
A quick tour of Go struct tags: how different libraries use them, how you read them at runtime with reflection, and how other tools read them at build time instead.
Translating errors at layer boundaries so storage details don't leak into the handler or, worse, into client responses.
Key takeaways from Amazon's 2007 Dynamo paper.
Why logging at every layer of a service produces noise, and how to log only at the handler level while propagating context from below.
Switch, map of functions, and interface registry for dispatching in Go.
Why & backgrounds execution but doesn't stop output from flooding your terminal.
How to test unary gRPC services in Go - handler logic, interceptors, deadlines, metadata propagation, and rich error details - all in-memory with bufconn.
Decoupling business logic from storage in Go, adding transaction support without leaking SQL details, and coordinating atomic writes across multiple repositories using a unit of work.
Adding transaction support to a repository interface without leaking storage details.
Search Random