Nil comparisons and Go interface

Comparing interface values in Go has caught me off guard a few times, especially with nils. Often, I’d expect a comparison to evaluate to true but got false instead. Many moons ago, Russ Cox wrote a fantastic blog post1 on interface internals that clarified my confusion. Th...

I'm on Fallthrough: An Exploration of APIs, Versioning, & HTTP

Earlier this year, I was invited to join the wonderful Fallthrough podcast to talk about APIs, which would be my first appearance on Fallthrough. As noted in I'm on Fallthrough: Patching Problems with Persnickety Proxies Purveyed by Paternalistic Princes, the episode on APIs was...

Go 1.24.1-1 and 1.23.7-1 Microsoft builds now available

A new release of the Microsoft build of Go including security fixes is now available for download. The post Go 1.24.1-1 and 1.23.7-1 Microsoft builds now available appeared first on Microsoft for Go Developers.

Stacked middleware vs embedded delegation in Go

Middleware is usually the go-to pattern in Go HTTP servers for tweaking request behavior. Typically, you wrap your base handler with layers of middleware—one might log every request, while another intercepts specific routes like /special to serve a custom response. However, I o...

From unique to cleanups and weak: new low-level tools for efficiency

Weak pointers and better finalization in Go 1.24.

When it’s worth to write low-quality code

Quick Takeaways High-quality code is mainly about keeping good iteration speed over time - can you add features without breaking what works? Not all code needs to be high quality - focus your efforts on the code that’s most important, changes often, or creates the most val...

How Swiss Tables make Go 1.24 faster

#​544 — March 5, 2025 Unsub  |  Web Version Go Weekly Faster Go Maps with Swiss Tables — One of Go’s newest features is a revamped map implementation powered by a new hash table algorithm called Swiss Table that boosts map oper...

Scheduling In Go : Part I - OS Scheduler

Although this blogpost was originally published in 2018, the concepts and principles discussed remain crucial for building efficient and performant multithreaded applications in Go now in 2025 (Go 1.24.0). As the Go ecosystem continues to evolve, understanding how the Go schedule...

Updating local commits with more changes in Git (the harder way)

From Go Code to Homebrew Tap: Writing and Deploying a Whisper CLI with GoReleaser

If an existing tool is not straightforward to use, a software developer's natural reflex is to write a tailor-made CLI. Akash Joshi wrapped OpenAI's Whisper model into an intuitive command-line interface, packaged it with GoReleaser, and distributed it via Homebrew. Here are the...