Best of GolangAugust 2025

  1. 1
    Article
    Avatar of hnHacker News·40w

    google/mangle

    Mangle is Google's open-source programming language that extends Datalog for deductive database programming. It enables querying data from multiple sources uniformly and supports recursive rules, aggregation, and function calls. The language is particularly useful for vulnerability detection, dependency analysis, and knowledge graph modeling. Implemented as a Go library, Mangle can be embedded into applications and offers practical extensions beyond traditional Datalog while maintaining accessibility for developers.

  2. 2
    Article
    Avatar of awegoAwesome Go·41w

    How I Made Europe Searchable From a Single Server - The Story of HydrAIDE

    A developer built HydrAIDE, a custom data engine that indexes millions of European websites from a single server using only 3% CPU load. Instead of traditional databases, the system uses thousands of small binary files for O(1) data access, leveraging modern SSD performance. The engine powers precise B2B partner searches across Europe and is now open-source with Go SDK support and Python/Node.js SDKs in development.

  3. 3
    Article
    Avatar of logrocketLogRocket·38w

    Why Go design patterns still matter

    Explores how three specific design patterns can solve scaling challenges in Go microservices while maintaining code simplicity. The discussion focuses on practical implementation strategies that balance architectural complexity with Go's design philosophy.

  4. 4
    Article
    Avatar of golangGo·40w

    The Go Programming Language

    Go 1.25 introduces container-aware GOMAXPROCS defaults that automatically adjust based on container CPU limits instead of total machine cores. This prevents CPU throttling in containerized environments, improves tail latency, and provides better out-of-the-box behavior for production workloads. The runtime now periodically checks and adjusts GOMAXPROCS when CPU limits change, while still allowing manual override through environment variables or runtime calls.

  5. 5
    Article
    Avatar of hnHacker News·39w

    Go is still not good

    A detailed critique of Go programming language highlighting fundamental design flaws including forced variable scoping issues, confusing nil semantics, poor portability through build tags, undefined ownership in append operations, inadequate resource management with defer, exception handling inconsistencies in the standard library, UTF-8 string handling problems, and memory management issues. The author argues these problems were avoidable as better solutions existed when Go was designed.

  6. 6
    Article
    Avatar of lobstersLobsters·42w

    cli/q: 🌱 A minimal programming language and compiler.

    Q is a minimal, dependency-free programming language and compiler that targets x86-64 and arm64 architectures. It features ultra-fast compilation (under 1ms for simple programs), tiny executables (Hello World is ~600 bytes), and supports multiple platforms including Linux, Mac, and Windows. The compiler is built in Go and uses SSA-based intermediate representation for optimization. It generates position-independent executables with security features like W^X memory protection and can be used for scripting due to its fast compilation speed.

  7. 7
    Video
    Avatar of youtubeYouTube·40w

    From TCP to HTTP | Full Course by @ThePrimeagen

    A comprehensive course walkthrough on building an HTTP server from scratch using Go, starting with TCP fundamentals and progressing through HTTP protocol parsing. The tutorial covers reading data from files and network connections, understanding TCP vs UDP differences, parsing HTTP request lines and headers, and implementing a complete HTTP message parser without using built-in libraries. Includes practical exercises with test-driven development and real-world protocol implementation details.

  8. 8
    Article
    Avatar of kqxkqckxclxw6fqfanvcjAyush Kumar·42w

    Create a basic CLI Todo app in Golang

    A step-by-step guide demonstrating how to build a command-line todo application using Go programming language. Covers the fundamentals of CLI development in Go, including project structure, command handling, and basic todo functionality implementation.

  9. 9
    Article
    Avatar of awegoAwesome Go·41w

    Inside the Tech Stack of dblayer - Go, Next.js 15, Express & Beyond

    A detailed breakdown of dblayer's modular architecture, which transforms PostgreSQL databases into secure APIs and applications. The platform uses Go with Fiber for the core API server, Express.js with TypeScript for dashboard management, Next.js 15 for the frontend, and separate background workers for async tasks. The tech stack emphasizes performance, type safety, and maintainability across multiple loosely coupled services.

  10. 10
    Article
    Avatar of collectionsCollections·41w

    Go 1.25 Released with Performance and Feature Enhancements

    Go 1.25 introduces significant performance improvements including an experimental garbage collector that reduces GC overhead by 10-40%, container-aware GOMAXPROCS for better containerized performance, new testing/synctest package for concurrent code testing, experimental encoding/json/v2 with enhanced performance, runtime optimizations for slice allocations and crypto operations, and compiler improvements with DWARF5 debug support for smaller binaries.

  11. 11
    Video
    Avatar of fknightForrestKnight·40w

    Why Everyone's Switching to Rust (And Why You Shouldn't)

    Rust offers memory safety without garbage collection through its borrow checker, delivering C-like performance with Java-like safety. Major companies like Discord, Dropbox, and Microsoft have seen significant performance improvements after rewriting systems in Rust. However, Rust has a steep 3-6 month learning curve and may not be suitable for rapid prototyping or teams with tight deadlines. The TypeScript team chose Go over Rust for practical reasons despite acknowledging Rust's technical superiority. While Rust excels in performance-critical and security-sensitive applications, the choice of programming language should depend on specific project requirements rather than following trends.

  12. 12
    Article
    Avatar of mcyoungmcyoung·39w

    Default Methods in Go · mcyoung

    Go's structural typing system for interfaces creates implementation challenges despite its conceptual simplicity. The inability to add default methods to interfaces without breaking existing code leads to messy APIs like flag.Value. A workaround using struct embedding with unexported methods can simulate default implementations by requiring all interface implementors to embed a defaults struct. This technique allows adding new methods to interfaces while maintaining backward compatibility, though it has limitations and ideally should be a language feature.

  13. 13
    Article
    Avatar of javarevisitedJavarevisited·41w

    7 Best Books to Learn Golang Programming Language in 2025

    A curated list of seven essential books for learning Go programming language in 2025, ranging from beginner-friendly introductions to advanced topics like network programming and software engineering. The recommendations include classics like 'The Go Programming Language' by Donovan and Kernighan, practical guides for hands-on learning, and specialized books covering areas like networking and software engineering with Go. Each book recommendation includes target audience information and key learning outcomes.

  14. 14
    Article
    Avatar of wawandcoWawandco·39w

    Blog: Building your own form decoder in Go

    A comprehensive guide to building a custom form decoder in Go from scratch. The tutorial covers handling form data from HTML forms or API clients, mapping form fields to struct fields using reflection, and supporting complex data types including pointers, slices, nested structs, and custom types like time.Time. The implementation avoids third-party dependencies while providing full control over the decoding process through a step-by-step approach that includes field validation, pointer initialization, recursive struct handling, and slice processing.

  15. 15
    Article
    Avatar of hnHacker News·38w

    Anything can be a message queue if you use it wrongly enough

    A satirical technical exploration of using Amazon S3 as a message queue to route IPv6 packets between machines, bypassing expensive NAT Gateway costs. The author implements 'Hoshino', a proof-of-concept tool that creates TUN devices to intercept network packets, stores them in S3, and retrieves them on destination machines. While technically functional for basic connectivity like ping and HTTP requests, the approach proves hilariously expensive due to S3 API call costs, making it far more costly than traditional networking solutions.

  16. 16
    Article
    Avatar of antonzAnton Zhiyanov·41w

    Building blocks for idiomatic Go pipelines

    A new Go package called 'chans' provides generic channel operations for building concurrent pipelines. Unlike opinionated alternatives, it offers low-level, composable building blocks including filtering, mapping, batching, deduplication, and routing operations. The package gives developers full control over goroutines, error handling, and channel lifecycle while providing essential operations like Filter, Map, Reduce, Chunk, Broadcast, and Merge.

  17. 17
    Article
    Avatar of hnHacker News·38w

    The Rise of Hybrid PHP: Blending PHP with Go and Rust

    Modern PHP applications can achieve high performance by integrating compiled languages like Go and Rust through extensions and FFI, rather than rewriting entire systems. This hybrid approach combines PHP's developer productivity with the raw speed of systems languages for performance-critical components. FrankenPHP's worker mode and Go extension capabilities offer up to 4x performance improvements while maintaining the monolithic architecture's benefits.

  18. 18
    Article
    Avatar of glwGolang Weekly·40w

    Golang Weekly Issue 566: August 20, 2025

    Go 1.25 has been released with a focus on fixes, improvements, and tool upgrades rather than language changes, making it an easy upgrade for most users. The newsletter covers various Go-related topics including a Python to Go migration story for ingest pipelines, understanding Go error types, a new MJML email markup library for Go developers, and TinyGo 0.39 release with Go 1.25 support for embedded systems and WebAssembly.

  19. 19
    Article
    Avatar of devblogsDevBlogs·41w

    Go 1.25.0-1 Microsoft build now available

    Microsoft released Go 1.25.0-1 with system-provided cryptography enabled by default (OpenSSL on Linux, CNG on Windows) and introduced opt-out telemetry collection. The build aligns with Microsoft's security policies but may require action for Linux builds without cgo or distroless containers. Users can disable systemcrypto via GOEXPERIMENT=nosystemcrypto and telemetry via MS_GOTOOLCHAIN_TELEMETRY_ENABLED=0.