Open to Work: Senior Backend & Distributed Systems Engineer (Go / Python) View LinkedIn →

Go

Technical Journal // Go
Mar '26

WSL2 Is Slow? Fix /mnt/c/ File System Performance & Go Latency

Why is WSL2 so slow? Understand the 9P filesystem boundary, why /mnt/c/ degrades Go build times, and how to fix WSL2 performance bottlenecks on Windows.

Mar '26

What is a Mutex?

What is a mutex?

Jan '26

Go Struct Field Alignment: How Memory Padding Wastes Your RAM

How CPU word alignment and struct field ordering silently inject memory padding in Go. Learn field reordering to cut heap memory allocations and cache misses.

Jan '26

Memory Mechanics In Go - Stack vs Heap

When thinking about performance, it's easy to focus on Big O notation. But in Go, the difference between the Stack and the Heap is often the difference between a service that scales and one that chokes on GC pauses. This post explores escape analysis, the "Pointer Myth", and why passing by value is often 40x faster than passing by pointer.

Jan '26

Go Garbage Collector Mechanics: Pacer, GOGC, and Allocation Latency

How Go's concurrent tri-color mark-sweep collector works under the hood. Learn pacer triggers, GOGC tuning, and zero-allocation memory pool patterns.

Apr '25

Bitmasking In Go

Bitmasking is one of those computer science tricks that feels like wizardry, until you realize it's just some clever shifting and binary math. This blog explores the idea, shows how we use it in Go, and why it's surprisingly useful when working with databases like Couchbase.

Feb '25

Understanding T and *T method receivers in Go

In Go, method receivers determine whether a method acts on a copy of a value or a reference to it. This choice isn't just about performance; it affects correctness and behavior, especially when dealing with synchronization primitives (mutex, wait group, etc), slices, and embedded types.

Sep '24

Go Clean Code Guidelines

When it comes to writing clean, maintainable code, there are a few fundamental rules that can help improve the overall structure and quality of your codebase. As engineers, our goal should be to keep things simple, clear, and scalable. With this in mind, here are some guidelines which prioritize code readability, functional clarity, and the overall maintainability of a project. These guidelines are based on principles from clean code, SOLID, and functional programming while emphasizing simplicity over unnecessary complexity.

Sep '24

SOLID and Functional Programming Principles in Go

SOLID and functional programming principles explained and implemented in Go