Hidden Gems • The Applied Go Weekly Newsletter 2026-01-18

Your weekly source of Go news, tips, and projects

Hidden Gems
Hi ,
How many times have you invoked go run, go build, go test and other Go tools? Every time, you can trust the toolchain to do its job. Reliably, predictably, and insanely fast.
The toolchain feels so easy, but don't confuse "easy" with "simple". Compiler toolchains are complicated systems that require careful engineering to become user-friendly, capable, and efficient at the same time, just as the Go toolchain is today.
The great thing is, as a Go user, you don't have to think much about the internals of the Go toolchain, it Just Works™. But still, it's worth lifting the hood and take a closer look at the mechanics that make the toolchain work so smoothly, you might discover a few hidden gems.
(More in the first featured article.)
–Christoph
Featured articles
The Go Build System: Optimised for Humans and Machines
On the many little design decisions that make the Go toolchain a delight for developers without compromising on power.
What Happens When You Don’t Rate Limit Your API (and How Token Buckets Fix It)
Author: "What clicked for me was how well [the Token Bucket algorithm] fits Go’s concurrency primitives.Timers, goroutines, and channels make the logic surprisingly clean."
Project of the week: NGINX Visualizer
A log visualizer... in Defend the Castle style!
(Watch the demo video)
Podcast corner
Cup o' Go | 3️⃣3️⃣3️⃣ Security patches for 3 Go versions, 3 meetups, planning our 3 year anniversary!
Is 3 a magic number? For this episode, it is!
How to Know If your Software Is Overcomplicated or Oversimplified? | Three Dots Labs blog
The maximalist: "We need an architecture with ten layers! Microservices! Triple-redundant caches! Everything on Kubernetes!" The minimalist: "Monolith with SQLite on systemd."
Robert and Milosz from Three Dot Labs are on a quest for the sweet spot between these two extremes in software design.
More articles, videos, talks
Golang Panic Recovery | DoltHub Blog
When code panics, the app crashes. Unless there is a recover() call in the call chain. Learn the basics of panic recovery, but also read this comment from *u/etherealflaim.
Building a Robot to Find the Satellite I Helped Launch - YouTube
Redditor u/PrintAndPanic built a satellite tracker and discovered that Go lets him treat hardware like microservices.
On database-backed functionality testing in Go — segfaultmedaddy.com
When databases meet parallel testing, changes are you might run into nasty issues like db-level data races or timeouts. This article presents a library that makes parallel testing of PostgreSQL interactions more reliable.
Are Atomic Operations Faster and Better Than a Mutex? It Depends - Latency Slayer
Comparing mutexes and atomic operations seems like comparing apples and oranges, but the point is to become aware of the particular use cases, pros, and cons of each.
Kafkafka: How I built Kafka from Scratch in Golang
Ehab Hosam wanted to learn how Kafka works and practice Go development. The result is Kafkafka, and in this article, Ehab shares his learnings.
Projects
Libraries
GitHub - charmbracelet/fantasy: Build AI agents with Go. Multiple providers, multiple models, one API 🧙
Not quite new anymore (ie, not released this week), but maybe still worth sharing: Fantasy is the "engine" of Crush, the agentic AI client from Charm_ that you might already have heard of. With Fantasy, you can build agents in Go, compiled to native binaries rather than being interpreted and requiring pre-installed runtime environments.
GitHub - kreuzberg-dev/kreuzberg: A polyglot document intelligence framework with a Rust core. Extract text, metadata, and structured information from PDFs, Office documents, images, and 50+ formats. Available for Rust, Python, Ruby, Java, Go, PHP, Elixir, C#, TypeScript (Node/Bun/Wasm/Deno) —or use via CLI, REST API, or MCP server.
It rarely happens that I list a Rust library here, but hey, it has Go bindings! Also worth noting: It's a rewrite of a mature Python project, so it's already quite feature rich.
GitHub - mrjoshuak/go-openexr: Pure Go implementation of the OpenEXR high dynamic range image file format
Will Go finally conquer the movie and game industry? OpenEXR might be a small step in this direction.
GitHub - m-mizutani/gollem: Go framework for agentic AI app with MCP and built-in tools
Announced just recently but already quite advanced: Gollem offers useful features for building LLM-based apps and workflows, including session management, custom and MCP tooling, middleware support, structured output, and streaming support.
Not to be confused with golangast/gollemer.
Tools and applications
GitHub - gigagrug/schema: All in one CLI tool for the database | Migration, Studio, LSP
A quite unusual combination of database tools: schema migration, TUI DB explorer, and language server for your editor. Maybe not the same as full-blown, standalone tools, but it surely fits in your back pocket to be there when you need it.
GitHub - rshelekhov/lazymake: Modern TUI for Makefiles with interactive target selection, dependency visualization, and command safety analysis
The Makefile syntax is tricky, and large Makefiles can become messy. Lazymake makes using, editing, and debugging Makefiles more intuitive. Maybe you'll even fall in love with Makefiles (again)?
Flagged It - Learn Countries Through Fun Guessing Games
Guess countries by flag, shape, capitol, and other attributes. The backend is written in Go, source code here
GitHub - BlackVectorOps/semantic_firewall: Generate deterministic semantic fingerprints for Go functions. Detect xz-style backdoors and verify semantic equivalence using Static Single Assignment (SSA) analysis and Scalar Evolution.
Safeguard your Go code against malicious changes. Semantic Firewall determines semantic equivalence between original and changed code. Version 1.1.0 refines the check so much that it could count as a new tool compared to 1.0.0.
GitHub - danielecanzoneri/lucky-boy: 🍀 Lucky Boy - A simple but accurate Game Boy and Game Boy Color emulator written in Go.
Whether you want to play old Nintendo games or want to see how a Z80 CPU emulator is written, this repo is worth a look.
GitHub - lite-quests/go-quests: Hands-on practice for go
For Go newcomers: Pursue these quests to become more familiar with Go.
Setup | SimpleDMS
The author of SimpleDMS open sourced their project this week. This document management system is built with Go, HTMX, and SQLite. From a user's perspective the main differentiator to common DMSs is that SimpleDMS preserves exisitng file structures (whereas typical DMSs copy everthing into their own storage system).
GitHub - surge-downloader/surge: Surge is an open-source download manager
I have a feeling that running your tasks entirely through TUI apps becomes more and more possible. Here is another TUI app, a download manager.
