---
title: "Don't Fear the Reaper"
publication: "Go Weekly"
issue: 551
published_at: "2025-04-23"
canonical_url: "https://golangweekly.com/issues/551"
---

Plus a Go dungeon, and hunting zombie processes. |        

#​551 — April 23, 2025 

[Unsub](https://golangweekly.com/leave/*|UID|*)|[Web Version](https://golangweekly.com/issues/551)  

Together with [![Buf\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_546/e_make_transparent/co_white,e_outline:27/dwec8s0a49wnhclxzuo8.png)](https://fnf.dev/4cI3nWk)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gmtwoada9autnrssceke.jpg)](https://mcyoung.xyz/2025/04/21/go-arenas/)  

[Cheating the Reaper in Go](https://mcyoung.xyz/2025/04/21/go-arenas/) — 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](https://laurentsv.com/blog/2024/10/19/no-nonsense-go-package-layout.html) — 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   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/c76e8707.png)](https://fnf.dev/4cI3nWk) 

[Bufstream: Robust Streaming for gRPC](https://fnf.dev/4cI3nWk) — 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](https://fnf.dev/4cI3nWk%20). 

Buf sponsor   

[Optimizing Heap Allocations](https://www.dolthub.com/blog/2025-04-18-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:** 

- Go's new `json/v2` package is still in its proposal stages, but [has been merged into Go](https://bsky.app/profile/thepudds.bsky.social/post/3ln6nm7yakc2l) behind an experimental flag. You can play with it now [on the Go Playground here](https://go.dev/play/p/IQi4ac5lU0U?v=gotip), however.
- [Hako](https://andrews.substack.com/p/hako) is a new QuickJS-based JavaScript engine that compiles to WebAssembly and is designed to be embedded in other apps.. [such as in this Go example!](https://gist.github.com/andrewmd5/197efb527ef40131c34ca12fd6d0a61e)
- JetBrains has [released GoLand 2025.1](https://blog.jetbrains.com/go/2025/04/16/goland-2025-1-is-out/), the latest version of its popular commercial Go IDE. Its AI features get a major upgrade, there's support for `golangci-lint`, full support for Go 1.24, and other improvements all round.
- The _Socket_ security platform [now has first-class support for Go.](https://socket.dev/blog/go-support-is-now-generally-available)   

[Hunting Zombie Processes in Go and Docker](https://www.stormkit.io/blog/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](https://rednafi.com/go/prevent_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](https://appliedgo.net/why-go/) – Save this for the next time you get frustrated. Christoph Berger 

📄 [Don't Overload Your Brain: Write Simple Go](https://jarosz.dev/code/do-not-overload-your-brain-go-function-tips/) Jakub Jarosz 

📺 [How to Use Go's New `tool` Directive](https://www.youtube.com/watch?v=_5J0YthCpn4) package main  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kigihmskovzjdfstijuw.jpg)](https://github.com/GoMudEngine/GoMud)  

[GoMud: A MUD (Multi-User Dungeon) Server](https://github.com/GoMudEngine/GoMud) — 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](https://github.com/willnorris/imageproxy/releases/tag/v0.12.0) — 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](https://threedots.tech/event-driven/?utm_source=golang-weekly) — 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](https://github.com/mark3labs/mcp-go) — The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) 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](https://www.dolthub.com/blog/2025-04-16-doltgres-goes-beta/) — As well as dropping lots of great Go articles on [their blog](https://www.dolthub.com/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)   

- [Glamour 0.10](https://github.com/charmbracelet/glamour/releases/tag/v0.10.0) – Stylesheet-based Markdown rendering for CLI apps, now with much easier to read tables and prettier GitHub links.
- [FastHTTP 1.61](https://github.com/valyala/fasthttp) – Performance-oriented alternative to `net/http` for [specific high-volume scenarios.](https://github.com/valyala/fasthttp#fasthttp-might-not-be-for-you)
- [urfave/cli 3.2.0](https://github.com/urfave/cli/releases/tag/v3.2.0) – Popular way to declaratively build Go-powered command line tools.
- [go-elasticsearch 9.0](https://github.com/elastic/go-elasticsearch/releases/tag/v9.0.0) – Official Elasticsearch client library.
- [Caddy 2.10](https://github.com/caddyserver/caddy/releases/tag/v2.10.0) – Powerful Go-powered HTTP server with automatic HTTPS. Now with Encrypted ClientHello (ECH) support.
- [Chroma 2.17](https://github.com/alecthomas/chroma) – General purpose syntax highlighter in pure Go.
- [gRPC-Go 1.72](https://github.com/grpc/grpc-go/releases/tag/v1.72.0) – Go implementation of gRPC for HTTP/2 based RPC.
- [quic-go 0.51](https://github.com/quic-go/quic-go/releases/tag/v0.51.0) – Pure Go QUIC implementation.  

📢 Elsewhere  

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

- [The maximum lifetime of TLS certificates is set to be reduced to 47 days](https://www.digicert.com/blog/tls-certificate-lifetimes-will-officially-reduce-to-47-days) in a gradual process between early 2026 and 2029.
- KDE's _Kate_ text editor is less widely used than VS Code or Vim, say, but it's more powerful than you might think with support for plugins, debugging, and LSPs – [here's one developer's Kate workflow.](https://akselmo.dev/posts/how-i-use-kate-editor/)
- The Microsoft Edge team is [proposing enhancing the `console.context()` method](https://blogs.windows.com/msedgedev/2025/04/22/contextual-logging-with-console-context/) to help make it more useful to developers with visual tweaks and a filtering mechanism.
- 📊 We're big fans of the [Val Town](https://www.val.town/) JavaScript platform and Orestis Papadopoulos shows [how he managed to quickly put together a basic analytics feature for his site with it.](https://orjpap.github.io/valtown/http/analytics/blog/jekyll/2025/04/15/blog-analytics.html)
- [Ubuntu 25.04 'Plucky Puffin'](https://canonical.com/blog/canonical-releases-ubuntu-25-04-plucky-puffin) has been released. It's a non-LTS release however, so only gets support for nine months.
- TIL you can [interact with GitHub's GraphQL API with the GitHub CLI tool.](https://github.blog/developer-skills/github/exploring-github-cli-how-to-interact-with-githubs-graphql-api-endpoint/)         

Curated by Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict).
Go is a [trademark of Google](https://go.dev/brand).
The [Go gopher](https://go.dev/blog/gopher), whenever used, is an original creation by Renée French. 

[Change your email](https://golangweekly.com/edit_subscription/*|UID|*)
[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
