Headcode is a unified, developer-friendly JSON API that takes the fragmented, legacy feeds of the UK rail network and turns them into clean, enriched real-time data.
Introducing jjw, a small Go CLI for managing jj workspaces with bookmarks and lifecycle hooks, built to make parallel LLM coding agent workflows easier.
Build a production-ready MQTT client in Go with real examples from a Home Assistant smart home setup. Covers concurrent processing and device integration.
Go 1.24 adds a tool directive to go.mod, replacing the old tools.go workaround. Learn how to declare, install, and run project tools directly through the module system.
Practical guide to PostgreSQL table partitioning using date-based range partitions. Covers partition creation, automatic routing, query performance, and automating partition management with Go.
Why YAML remains the least painful option for application configuration, despite its quirks. A look at the alternatives and why they're all worse in different ways.
Go doesn't have class inheritance, and that's by design. Learn how Go's structs, embedding, and implicit interfaces give you the flexibility of inheritance without the fragile base class problems.
yamlcfg is a Go library that merges YAML configuration files with environment variables. Supports default values, type coercion, and nested configuration structures.
A practical walkthrough of Go's crypto/aes and crypto/cipher packages. Covers AES-GCM encryption, key sizing, NewCipher usage, and common pitfalls with working code examples.
Go's testing tools are powerful enough that mocking is often unnecessary. Learn when to skip mocks and use real implementations, httptest, and integration tests instead.
Automate Go deployments to staging and production using GitHub Actions and Fly.io. Covers pipeline configuration, environment separation, and deployment safeguards with working workflow examples.
Set up a complete CI pipeline for Go projects with GitHub Actions. Covers linting with golangci-lint, running tests, handling private modules, and workflow configuration with real examples.
Build Kafka producers and consumers in Go using the franz-go library. Covers Kafka architecture, topic management, message serialisation, and practical examples for real-time data streaming.
Explore our journey in revolutionising device data processing using Golang and Kafka, where we tackled high-frequency data challenges, improved throughput, and laid the groundwork for future scalability and efficiency.
What's new in Go 1.21: generics support in the standard library, the log/slog structured logging package, slices and maps packages, and toolchain management changes.
Configure GOPRIVATE, SSH authentication, and GitHub Actions to work with private Go modules. Covers local development setup and CI pipeline configuration with step-by-step examples.
A practical look at sync.Cond, Go's condition variable for coordinating goroutines. Covers Signal, Broadcast, and Wait with examples showing when to use it over channels or sync.Mutex.