Go's multiple return values and (Go) types

When you shouldn’t use frameworks in Go

Quick takeaways Frameworks promise productivity but often lead to issues as projects get larger and more complex. The Go community prefers small, focused libraries over frameworks due to Go’s design philosophy influenced by Unix principles. Watch out for risks using framew...

Forget TypeScript, how about porting Doom to Go?

#​546 — March 19, 2025 Unsub  |  Web Version Go Weekly Traversal-Resistant File APIs — Among the lesser known new features in recent versions of Go are some ways to improve file system security when end user input might have an i...

Custom YAML marshal/unmarshal with Go

string and []string can be the same thing…

I don't think error handling is a solved problem in language design

Catching grace

Meditation is easy when you know what to do: absolutely nothing! It's hard at first, like trying to look at the back of your own head, but there's a knack to it.

Announcing GoReleaser v2.8

Happy March! Another release is here with several improvements across the board.

Cleanups and weak pointers in Go 1.24

#​545 — March 12, 2025 Unsub  |  Web Version Go Weekly TypeScript's Compiler to Get 10x Faster, Thanks to Go — TypeScript has shaken up the JavaScript ecosystem in recent years with an increasing number of developers relying on i...

Traversal-resistant file APIs

New file access APIs in Go 1.24.

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...