







How Go 1.20's WithCancelCause and Go 1.21's WithTimeoutCause let you attach a reason to context cancellation, plus a gotcha with manual cancel and the stdlib pattern that covers every path.
HTTP/2 Cleartext (H2C) Client Example in Go
Since my internet foo failed me, and the only workable example of a H2C client I can find was in the actual go test suite I’m going to lay…
Go 1.27 interactive tour
An interactive tour of what’s new in Go 1.27: every notable language, runtime, and standard library change, with short runnable examples you can edit and run in the browser.

GopherCon 2017: A Go Programmer's Guide to Syscalls - Liz Rice

Preserving Order in Concurrent Go Apps: Three Approaches Compared
Concurrency breaks ordering by design, but sometimes we need both. Explore three methods to preserve order in concurrent Go applications, from standard ReplyTo channels to sophisticated permission passing, with benchmarks and real-world trade-offs.

The Go programming language
Go may be our generation's most important new programming language. It is exceptionally expressive, highly efficient in both compilation and execution, and enables the development of extremely reliable and robust programs. It shares the same spirit programmers once found in C: it helps serious professional programmers achieve maximum effect with minimum means. Now, Go shares something else with C, too. Brian Kernighan, who wrote the world's most respected and useful C primer for working programmers, has just done the same for Go. Together with Google Go insider Alan Donovan, Kernighan explains what Go does and doesn't borrow from C ... the great ideas it borrows from other modern languages ... and how it avoids features that lead to unnecessary complexity and unreliable code. Throughout, their short, carefully-crafted code examples demonstrate today's most effective Go idioms, so you can start using Go effectively right from the beginning, and quickly take advantage of its full power. All code has been extensively reviewed by Go's creators at Google for both completeness and accuracy

Thorsten Ball - Why threads can't fork
There is an interesting thread on the Go issue tracker about daemonizing processes. Most of the thread is not about daemonizing processes though, but more about why Go has no Fork() function which you can call directly in your code. The first time I read through it I was wondering and saying to myself: “Yeah, why is there no Fork()? It surely can’t be that hard to implement.” After all you can already call system calls with the syscall package. As I read more and more I realized that the problem is not implementing Fork() per se, but rather implementing Fork() to work safely in a multi-threaded environment, which most Go programs are. So I tried to find out why.
Add Go 1.24+ native H2C support examples by AndrianBdn · Pull Request #6 · thrawn01/h2c-golang-example
Starting from Go 1.24, HTTP/2 Cleartext (H2C) is supported natively in the standard library, eliminating the need for golang.org/x/net/http2/h2c package or workarounds. Since this repository ranks ...
Optimizing Protocol Buffers in Go Applications
If you’ve ever wondered why your Go service is eating memory like it’s at an all-you-can-eat buffet, chances are you haven’t optimized your Protocol Buffers usage. I’ve been there, watching heap profiles with the kind of horror usually reserved for checking your bank account after a night out. But here’s the good news: Protocol Buffers in Go can be wickedly fast and memory-efficient when you know the tricks. Let me walk you through the optimization techniques that transformed my services from memory-hungry monsters into lean, mean, serialization machines.

Go in Action
This book provides an intensive, comprehensive, and idiomatic view of Go. It introduces the Go language, guiding you from inquisitive developer to Go guru.

The Go Programming Language
Go is an open source programming language that makes it simple to build secure, scalable systems.

http2/errors.go - net - Git at Google
Notes on structured concurrency, or: Go statement considered harmful — njs blog
Every concurrency API needs a way to run code concurrently. Here's some examples of what that looks like using different APIs:
#atproto is there anything we can do to solve the issues plaguing the lexicon specification right now I don't think it's good that the reference TS and Go SDK do not agree with each other on how lexicons should be interpreted
Ricardo J. Méndez
Hmm. That's generated with prototypey and goat lex lint didn't complain, but I'll look into it, thanks.