Feed

Golang

Stay updated with Go language covering standard library, goroutines, and backend development. Our digest aggregates garbage collection, channels, and concurrency patterns from developer communities across Hacker News and Lobsters.

Articles from the last 30 days

Using go fix to modernize Go code
01Tuesday, February 17, 2026

Using go fix to modernize Go code

Go 1.26 features a rewritten go fix command using the Go analysis framework to automate code modernization. It identifies opportunities to use recent language features like min/max, range-over-int, and new(expr). The update introduces automated refactoring, synergistic fixes across multiple analyzers, and a new 'self-service' paradigm for maintainers to encode custom best practices and API migrations.

Reducing the size of Go binaries by up to 77%
03Wednesday, February 18, 2026

Reducing the size of Go binaries by up to 77%

Datadog reduced its Go binary sizes by up to 77% between versions 7.60.0 and 7.68.0. By auditing dependencies, refactoring code, and leveraging linker optimizations like method dead code elimination, they decreased the Linux artifact size from 1.22 GiB to 688 MiB without removing features, benefiting resource-constrained environments like IoT and serverless.

AWS Adds support for nested virtualization
04Thursday, February 12, 2026

AWS Adds support for nested virtualization

This release of the AWS SDK for Go v2 includes updates to the EC2 service and internal integration tests. The changes involve automated updates to code files and changelogs, reflecting ongoing maintenance and version synchronization for the AWS infrastructure tooling within the Go ecosystem.

Sources:Hacker News259 pts
Allocating on the Stack
05Friday, February 27, 2026

Allocating on the Stack

Go developers are improving performance by optimizing stack allocations for slices. This reduces heap allocations and garbage collector overhead. Updates in Go 1.25 and 1.26 introduce compiler transformations for constant and variable-sized slices, allowing small buffers to reside on the stack even when slices escape, resulting in faster, more memory-efficient programs without manual code changes.

Show HN: I ported Tree-sitter to Go
06Friday, February 20, 2026

Show HN: I ported Tree-sitter to Go

gotreesitter is a pure-Go implementation of the tree-sitter runtime, eliminating CGo dependencies for easier cross-compilation and WASM support. It identifies existing grammars and significantly outperforms CGo bindings, offering up to 90x faster incremental parsing. Features include an S-expression query engine, syntax highlighting, and symbol tagging across 205 supported languages.

Sources:Hacker News193 pts
Understanding the Go Compiler: The Linker
07Sunday, February 8, 2026

Understanding the Go Compiler: The Linker

This technical guide explains the Go linker's role in creating executables. It details four key processes: symbol resolution via the Loader, dead code elimination to reduce binary size, address relocation for cross-package references, and the final generation of OS-specific executable formats like ELF, Mach-O, and PE.

Sources:Hacker News156 pts
TinyIce: Single-binary Icecast2-compatible server (auto-HTTPS, multi-tenant)
08Wednesday, February 18, 2026

TinyIce: Single-binary Icecast2-compatible server (auto-HTTPS, multi-tenant)

TinyIce is a lightweight, high-performance streaming server written in Go, offering Icecast2 compatibility. It features a shared circular buffer for massive scalability, auto-HTTPS via ACME, and a modern web interface. Designed for easy deployment and multi-tenancy, it provides real-time insights and secure stream relaying while maintaining low memory overhead.

Sources:Hacker News101 pts
Go 1.26 is released
09Tuesday, February 10, 2026

Go 1.26 is released

Go 1.26 has been officially released, introducing several significant updates to the language syntax, performance, and tooling. Key language changes include an enhanced 'new' function that now accepts expressions for initial values and the ability for generic types to refer to themselves in type parameter lists. Performance-wise, the Green Tea garbage collector is now enabled by default, cgo overhead has been reduced by 30%, and the compiler features better stack allocation for slices. Additionally, the 'go fix' tool has been rewritten with new modernizers, and new cryptographic packages have been added to the standard library alongside experimental features like SIMD support and goroutine leak profiling.

Sources:Lobsters96 pts
snakes.run: rendering 100M pixels a second over ssh
10Wednesday, February 25, 2026

snakes.run: rendering 100M pixels a second over ssh

Engineering analysis of snakes.run, a massively multiplayer Snake game hosted via SSH. It achieves high performance, rendering 100M pixels per second for thousands of players. Key optimizations include custom VT100 rendering for bandwidth efficiency, Unicode Block Elements for smoothing visuals, pre-allocating memory to reduce garbage collection, and tweaking SSH protocols to minimize latency.

Sources:Lobsters71 pts
Charm v2: Major releases for Bubble Tea, Lip Gloss, and Bubbles for terminal UIs in Go
11Monday, February 23, 2026

Charm v2: Major releases for Bubble Tea, Lip Gloss, and Bubbles for terminal UIs in Go

Charm has released version 2.0.0 of Bubble Tea, Lip Gloss, and Bubbles. Featuring the new Cursed Renderer for optimized performance, these updates provide high-fidelity input, advanced compositing, and a declarative API. Developed through real-world testing with the Crush AI agent, v2 improves terminal capabilities for humans and AI agents across high-scale applications.

Sources:Lobsters44 pts
Sliced by Go’s Slices
12Thursday, February 26, 2026

Sliced by Go’s Slices

The author explores a subtle Go behavior where variadic expansion of slices allows mutation of the original data, as the function parameter shares the same underlying array. This contrasts with Python, where variadic arguments are immutable tuples or new dictionaries, sparking a discussion on language design and developer sanity.

Sources:Lobsters39 pts
Inspecting the Source of Go Modules
13Thursday, February 12, 2026

Inspecting the Source of Go Modules

Go's Checksum Database ensures package integrity across the decentralized ecosystem by storing cryptographic hashes. However, viewing code on hosts like GitHub remains risky due to mutable tags. New tools like pkg.geomys.dev and specific Go commands allow developers to verify and inspect authentic module source code directly from the proxy.

Sources:Lobsters25 pts