Golang
Go's Value Philosophy: Part 3 - Zero Values: Go's Valid-by-Default Philosophy
reading time: 15 minutes
In Python, undeclared variables don’t exist. In Java, local variables can’t be used before assignment. In Go, declaration creates a valid value. There is no uninitialized state - every value works from the moment it’s declared.
Go Interfaces: The Type System Feature You Implement By Accident
reading time: 9 minutes
You write a struct with a Write method. Three months later, you discover it implements io.Writer. You never declared this. How did it happen? Exploring Go’s implicit interfaces and the power of accidental implementation.
Go's Value Philosophy: Part 1 - Why Everything Is a Value, Not an Object
reading time: 32 minutes
In Python, everything is an object. In Java, everything is a class. In Go, everything is a value. These are fundamental design philosophies that shape how you write concurrent code, manage memory, and reason about performance.
Go's Value Philosophy: Part 2 - Escape Analysis and Performance
reading time: 13 minutes
The Go compiler decides whether your values live on the stack or heap through escape analysis. Understanding this mechanism explains Go’s performance characteristics and helps you write faster code without sacrificing clarity.
Building a GCP Secret Manager Emulator for Offline Integration Testing
reading time: 6 minutes
Needed offline GCP Secret Manager testing for CI/CD pipelines. Existing solutions were either too heavy or incomplete. Built a standalone gRPC emulator that works with the official Go SDK–zero credentials, zero network calls, 100% local.
Understanding Protocol Buffers: Part 1 - Introduction and Core Concepts
reading time: 12 minutes
Protocol Buffers (protobuf) is Google’s binary serialization format - smaller, faster, and type-safe compared to JSON. Learn what protobuf is, how it works, and when to use it for APIs and microservices.
From Shell Scripts to Go: Building a Multi-Vault Secret Management Library
reading time: 8 minutes
Started with Bitwarden-only shell scripts. Needed to support 1Password and pass without breaking anything. Built a shell abstraction layer, then ported it to Go. Same interface, three backends, zero breaking changes.
HTTP Error Handling in Go: Chi, Gin, and Echo
reading time: 5 minutes
Stop returning errors as plain text. Learn how to implement consistent, structured HTTP error responses in Go with support for Chi router, Gin framework, and Echo framework. Includes field-level validation and trace IDs.