In this guide, AppliedGo presents a comprehensive roadmap for debugging Go applications, covering everything from writing clear, test-driven code to strategic and ad-hoc logging. It also demonstrates how to leverage tools like Delve, GoTutor, and git bisect to isolate and resolve bugs effectively.
https://appliedgo.net/debug/
https://appliedgo.net/debug/
Applied Go
Beyond the Debugger: A Comprehensive Guide to Debugging Go Applications
Debugging starts way before starting the debugger. Here is a rundown of debugging techniques for Go apps.
In this walkthrough, Akash Joshi shows how to wrap OpenAI’s Whisper speech recognition model into a streamlined command-line interface written in Go . He outlines chaining ffmpeg preprocessing steps, leveraging GoReleaser for cross-platform builds, and distributing the resulting “better-whisper” tool via Homebrew .
https://appliedgo.net/whisper-cli/
https://appliedgo.net/whisper-cli/
franz-go contains a feature complete, pure Go library for interacting with Kafka from 0.8.0 through 4.0+. Producing, consuming, transacting, administrating, etc.
https://github.com/twmb/franz-go
https://github.com/twmb/franz-go
GitHub
GitHub - twmb/franz-go: franz-go is a feature complete, pure Go library for Kafka from 0.8.0 through 4.1+. Producing, consuming…
franz-go is a feature complete, pure Go library for Kafka from 0.8.0 through 4.1+. Producing, consuming, transacting, administrating, etc. - twmb/franz-go
In “From Java to Go,” Philip narrates his transition from Java and Kotlin to Go, revealing dramatic gains in startup speed and resource efficiency . This article compares JVM tooling and Go’s AOT compilation, dependency management, and IDE support to demonstrate why Go empowers the team’s Distr platform on Kubernetes .
https://glasskube.dev/blog/from-java-to-go/
https://glasskube.dev/blog/from-java-to-go/
glasskube.dev
We switched from Java to Go and don't regret it | Glasskube
I always told people memory is cheap, black magic is OK and efficiency doesn't matter, but I was wrong.
In this post, Vishnu Bharathi explores the behavior of nil channels in Go, detailing how they block operations and shape concurrency patterns. He offers clear code examples to illustrate common pitfalls and effective strategies for handling nil channels in real-world applications.
https://vishnubharathi.codes/blog/nil-channels-in-go/
https://vishnubharathi.codes/blog/nil-channels-in-go/
Vishnu Bharathi
Nil channels in Go
A friend from work messaged me today that they had a hard time because they had used var c chan int instead of c := make(chan int) in their Go code. I responded by saying that I usually have one rule
In this feature, Liam Manesh introduces the GOOS=none proposal to enable bare-metal Go, bypassing any OS layer. He explores how the Tamago project underpins this change, supplying runtime hooks for firmware, bootloaders, and microVMs on AMD64, ARM, and RISC-V.
https://golangnugget.com/p/go-without-an-os-meet-goos-none
https://golangnugget.com/p/go-without-an-os-meet-goos-none
Golang Nugget
Go Without an OS? Meet GOOS=none
A wild new proposal could let you write low-level code—like boot managers or firmware—directly in Go. No OS needed. Seriously.
❤2
In this analysis, “Pure vs. impure iterators in Go” examines Go’s new iterator standardisation in versions 1.23+ and advocates for clear terminology distinguishing stateless “pure” functions from stateful “impure” closures. It walks through examples—from Fibonacci generators to strings.Lines—and weighs performance implications against consistency across related iterator factories.
https://jub0bs.com/posts/2025-05-29-pure-vs-impure-iterators-in-go/
https://jub0bs.com/posts/2025-05-29-pure-vs-impure-iterators-in-go/
Jub0Bs
Pure vs. impure iterators in Go
TL;DR ¶ Go has now standardised iterators. Iterators are powerful. Being functions under the hood, iterators can be closures. The classification of iterators suggested by the documentation is ambiguous. Dividing iterators into two categories, “pure” and “impure”…
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
https://github.com/mark3labs/mcp-go
https://github.com/mark3labs/mcp-go
GitHub
GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications…
A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. - mark3labs/mcp-go
In this primer, Prateek Surana highlights key contrasts between Go and JavaScript, walking through syntax differences, runtime models, and type systems that shape performance and developer experience. Drawing from his years in JavaScript and recent focus on Go for server-side development, he offers code comparisons and practical tips for a smooth transition.
https://prateeksurana.me/blog/guide-to-go-for-javanoscript-developers/
https://prateeksurana.me/blog/guide-to-go-for-javanoscript-developers/
prateeksurana.me
A JavaScript Developer's Guide to Go
A guide for JavaScript developers learning Go through direct comparisons of fundamental concepts between both languages.
In this essay, Fillmore Labs examines how pointers to zero-sized types can lead to unexpected behavior in Go runtimes. The Perils of Pointers in the Land of the Zero-Sized Type reveals how escape analysis and shared heap optimizations undermine direct pointer comparisons for zero-sized types.
https://blog.fillmore-labs.com/posts/zerosized-1/
https://blog.fillmore-labs.com/posts/zerosized-1/
🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
https://github.com/mgechev/revive
https://github.com/mgechev/revive
GitHub
GitHub - mgechev/revive: 🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint - mgechev/revive
In this video, Goodgis builds his first game in Go using the Ebitengine library, creating a rocket-launching challenge inspired by a Saturn V engine. He walks through installing Go, setting up Ebitengine, drawing sprites, implementing movement, designing artwork, and adding polish with scoring, audio, and visual touches.
https://www.youtube.com/watch?v=FJEIhUoLVj4
https://www.youtube.com/watch?v=FJEIhUoLVj4
YouTube
Making a Game in Golang with No Experience
To try everything Brilliant has to offer—free—for a full 30 days, visit http://brilliant.org/Goodgis/ and get 20% off Brilliant’s annual premium subnoscription.
Today I made my first game in Go using Ebitegine. Let's see what sort of game I can make with no…
Today I made my first game in Go using Ebitegine. Let's see what sort of game I can make with no…
In this exposition, Beyond The Syntax reveals the process of implementing a JSON parser from scratch in Go. It covers tokenization, AST construction, and literal and number parsing to guide you through building a robust JSON processor.
https://beyondthesyntax.substack.com/p/lets-write-a-json-parser-from-scratch
https://beyondthesyntax.substack.com/p/lets-write-a-json-parser-from-scratch
Substack
Let's Write a JSON Parser From Scratch
Recently I was learning about language parsing and abstract syntax trees. After getting some knowledge about this, I decided to write a JSON parser from scratch.
In this overview, Matei Popovici tackles the complexities of cross-compiling Go programs with C dependencies using Bazel and cgo. He details the essential steps for configuring custom toolchains, setting up sysroots, and defining Bazel build rules to produce multiplatform, C-embedded Go binaries.
https://popovicu.com/posts/cross-compile-cgo-bazel/
https://popovicu.com/posts/cross-compile-cgo-bazel/
Popovicu
Cross-compiling C and Go via cgo with Bazel
Walkthrough for cross compiling a mixed C and Go binary for another platform using cgo and Bazel. Example is done with x86_64/Linux compiling for RISC-V/Linux.
Explore the evolution of caching strategies in software development, understanding how different techniques can improve performance and reduce latency in your applications. This blog post offers a deep dive into the world of caching.
https://maypok86.github.io/otter/blog/cache-evolution/
https://maypok86.github.io/otter/blog/cache-evolution/
maypok86.github.io
The Evolution of Caching Libraries in Go - Otter
🔥1
Color space definitions in Go: sRGB, OKLAB/OKLCH and CIE spaces.
https://github.com/soypat/colorspace
https://github.com/soypat/colorspace
GitHub
GitHub - soypat/colorspace: Color space definitions in Go: sRGB, OKLAB/OKLCH and CIE spaces.
Color space definitions in Go: sRGB, OKLAB/OKLCH and CIE spaces. - soypat/colorspace
🔥1