#​551 — April 23, 2025

Unsub  |  Web Version

Together with  Buf

Go Weekly

Cheating the Reaper in Go — How far can you push manual memory management in Go despite its garbage collector? Miguel peels back Go’s GC internals to craft a blazing-fast arena allocator in pure Go—with nothing more than unsafe wizardry—and shows exactly when (and how) you can safely outmaneuver the GC’s reaper.

Miguel Young de la Sota

A No Nonsense Guide to Go Project Layout — Say ‘no’ to overly complicated package structures, says the author, who shares a set of opinions for keeping things tight and focused with the goal of preventing ‘over complication’ in smaller projects.

Laurent Demailly

Bufstream: Robust Streaming for gRPC — Meet a cloud-first, drop-in Kafka implementation custom-built for go gRPC streams. Stateless, auto-scaling, schema-aware, and up to 8x cheaper than maintaining your own Kafka stack. Read the Jepsen report.

Buf sponsor

Optimizing Heap Allocations — When an (expected) innocuous code change had a 30% performance hit, it led to an enlightening forensic journey into stack vs heap allocation. Point yourself at this article to gain the value of understanding allocations and escape performance regressions.

Nick Tobey (DoltHub)

IN BRIEF:

Hunting Zombie Processes in Go and Docker — When spawning processes that in turn spawn other processes, you can run into issues where some unwanted processes stick around as zombies. This post looks at one such situation, how containers made it even messier, and how the zombies ultimately got taken out.

Savas Vedova (Stormkit)

Preventing Accidental Struct Copies — Go lets you copy structs by value, which can cause subtle bugs—especially with locks like sync.WaitGroup or Mutex. This post digs into how a noCopy trick and go vet’s copylocks checker can catch these issues.

Redowan Delowar

📄 15 Reasons I Love Go – Save this for the next time you get frustrated. Christoph Berger

📄 Don't Overload Your Brain: Write Simple Go Jakub Jarosz

📺 How to Use Go's New tool Directive package main

🛠 Code & Tools

GoMud: A MUD (Multi-User Dungeon) Server — An in-development open source dungeon game world and library that handles the main concepts associated with MUDs, like maps, inventory and equipment, day/night cycles, etc, and allows players to connect over Telnet or HTTP.

Volte6 et al.

🖼️ ImageProxy 0.12: A Caching Proxy Server and Transformer for Image Files — A long-standing project that provides a way to efficiently host image files while also allowing for basic transformations such as resizing, cropping and rotation. v0.12 is the first release in a few years and updates dependencies and adds a module for Caddy.

Will Norris

Go Event-Driven: Build Backend Systems That Actually Scale — Join 1000+ developers coding real projects in your IDE. No videos, just hands-on practice. Spring cohort opens soon.

Three Dots Labs sponsor

🤖 MCP Go: A Go Implementation of the Model Context Protocol — The Model Context Protocol (MCP) is a rapidly growing way to provide a way for LLMs and AI agent based devtools with access to external services. Why let Pythonistas have all the fun when you could be developing your own MCP servers with Go?

Anthropic

Doltgres Beta Launch: A Version Controlled SQL Database — As well as dropping lots of great Go articles on their blog, the folks at DoltHub also develop database software ;-) Doltgres is a Postgres-flavored variant of their SQL database that offers Git-style merging and forking, and it’s all built in Go.

Zach Musgrave (DoltHub)

📢  Elsewhere

A quick roundup of some other interesting updates or useful resources in the broader developer landscape: