Blog
Turning three advisory CI jobs into real gates once they were trustworthy enough to block a merge, and how to tell when they are.
Replace a hand-written REST layer with grpc-gateway: add google.api.http annotations, generate the gateway, and delete the duplicate encoding.
Signed but poisoned packages show a signature proves who sent something, not what is in it. Nobody is coming to clean this up for you.
Serve HTML from the same Go HTTP server using html/template and embed, baking templates and static assets straight into the binary.
Two ways to put REST on a Go service: a hand-written net/http ServeMux, and generated handlers from an OpenAPI spec with oapi-codegen.
Agentic AI gives senior engineers a lift and juniors a drag, which tempts firms to automate away the entry level entirely.
The cash prize for anything that looked like a finding was the accelerant, and AI only made plausible-looking reports free to produce.
Define a protobuf contract, generate Go with buf, implement a gRPC server over a domain store, and turn on hardened TLS with mkcert and ALPN.
Service lifecycle in Go: register services with start and stop verbs, handle SIGINT and SIGTERM, and shut down gracefully with liveness checks.
Add self-update to a Go CLI: resolve releases per platform, compare versions, verify checksums and migrate config on upgrade.