Posts
Three Pitfalls in Scheduled PostgreSQL Jobs
Three pitfalls in scheduled PostgreSQL SQL: session time zone shifts the window, a CTE DELETE is invisible to its INSERT, and a lone advisory lock lets runs overlap.
The Six Things We Didn't Build: What the Framework Teaches
Six things gortex deliberately left unbuilt, from a full graceful-shutdown chain to OpenAPI generation, and the principles the whole series teaches.
OpenResty + Lua: An Old Choice, Reconsidered in the AI Era
OpenResty, nginx plus LuaJIT, is old, but its clean syntax and predictable, closed core turn out to be the right shape for AI-assisted work.
The Security Middleware Suite: CORS / CSRF / JWT / Rate Limit / Binder
Gortex keeps body caps, CORS, CSRF, JWT, rate limiting and log redaction at framework level; JWT is pinned to HS256 and per-IP limiting needs TrustedProxies.
Getting Started with Jaeger: Distributed Tracing over OpenTelemetry
Instrument against OpenTelemetry and ship spans over OTLP to Jaeger; swapping to Grafana Tempo is then only an exporter change. Includes a Docker quick start.
Observability: Three-State Health Checks and a Tracing Abstraction
Gortex health checks report Healthy, Degraded or Unhealthy, closer to K8s probes than up/down; tracing depends on one Tracer interface, with OTel as an adapter.
The WebSocket Hub: Go's Take on the Actor Model
Gortex's WebSocket Hub is the actor model in Go: one goroutine owns all state, callers reach it over channels instead of locks, and slow consumers are dropped.