Unifying Communication Between Services with gRPC
Feeding the right context to the AI took lots effort. gRPC uses protbuf as the single source of truth to solve the issue
Feeding the right context to the AI took lots effort. gRPC uses protbuf as the single source of truth to solve the issue
Recently at work I’ve been running into the problem of doing relational queries in Mongo. If not handled properly, it can easily turn into an N+1 problem.
I am developing in a strict offline environment, so I studies an MVP based as much as possible on the browser or local LLMs.
Worker Pool patterns is a great entry point: “keep a fixed number of workers, waiting for work to be assigned to them.”
A nonce is a value used only once and can take any form, The key is to verify "each operation must be unique"
Go lacks enum and union keywords; utlizing existing features to achieve the same patterns. study TypeScript as example
Go's uuid v7 uses Must: returns uuid if err is nil and panics otherwise — use when the error isn't recoverable.
Tired of inconsistent request/response formats in a Go backend? Define Agent Skills and a goal to automatically standardize them.
Use Go 1.24's os.Root API to prevent path traversal when accessing local files; replace unsafe os.Open with os.Root or OpenInRoot.
Services often sit behind proxies. How can we reliably get the client IP for auth, auditing, and other source-IP needs? Notes on Gin's trusted proxy practices.
I remember early PCs were 32-bit; around Windows 7 they moved to 64-bit. I wasn't sure what changed — some apps had two builds or needed compatibility mode.
More keys to manage means more to defend; how to prevent users choosing weak keys? Key Derivation Functions (KDFs) address these issues.
A struct's field order affects memory size and performance in Go. Understanding alignment saves space and improves cache locality.
Noticed friction when committing Go code (tabs, alignment, minor formatting). Moving native Go static checks to CI enforces consistent formatting.
I've recently spent more time thinking about best practices. In one backend project I'm working on, the code mostly just uses Go's standard log to print events.