Go Weekly
Plus a look forward to Go 1.24, and a Go-powered alternative to Google Analytics. |

#​534 — December 3, 2024

Unsub  |  Web Version

Together with  Google

Go Weekly

The Draft Go 1.24 Release Notes — Last week, we enjoyed Daniel Martí’s slidedeck on what’s coming in Go 1.24 early in 2025 – we’ve now noticed the draft release notes are coming along well and give a thorough bulletpoint-heavy roundup of what we can expect.

Go Team

Weak Pointers in Go: Why They Matter Now — A look at a feature expected to land properly in Go 1.24 (via the weak package). Weak pointers are a low-level primitive that enable the creation of certain memory-efficient structures and Phuong explains the basics of how they work.

Phuong Le

We Put the Go in Google Gemini — Google Gemini 1.5 Flash 8B for Go has a 1M token context window, capable of processing more than 30,000 lines of code via screencast or logfiles in seconds for a fraction of the cost. Build today using the Google API Quickstart in Go.

Google Gemini sponsor

Why Go Slices Still Surprise Me — Slices are a common source of confusion and bugs, and this could be due to the merging of two different use cases into one concept. Sometimes, it’s a 'fat pointer'; sometimes, it’s a dynamic array. Confusing the two is where the pain starts.

James Smith

Go-App: A Package to Build Progressive Web Apps with Go and WebAssembly — An intriguing way to build webapps entirely in Go (including the frontend UI). astextract is a Go-source-to-AST app that demonstrates the concept. GitHub repo.

Maxence Charriere

Diving into eBPF: Building a Process Tracer from Scratch — This is certainly a deep dive down a technical Linux rabbit hole, but this sort of post is gold for when you need to plumb such depths.

The Smidt

IN BRIEF:

Running a Simple Go Web Service on NixOS — “I only just started using NixOS modules to manage my personal services, but I’m excited at how well they work for so little investment.”

Michael Lynch

📄 Mastering Go Debugging from Emacs – A lot of detail for fans of the long standing operating system editor. Victor Dorneanu

📄 Lessons Learned Adding OpenTelemetry to a (Cobra) Command-Line Go Tool Jamie Tanna

📄 The Smallest Thing in Go – A quick look at Go’s iota identifier. John Arundel

📄 Good Union Types in Go Would Probably Need Types Without a Zero Value Chris Siebenmann

📄 Building a Distributed Log using S3 (in Under 150 Lines of Go) Avinash Sajjanshetty

🛠 Code & Tools

Vince: Go-Powered, Self Hosted Web Analytics System — Web stats, link tracking, and more, for unlimited sites and in a single binary. It can even act as a drop-in replacement for Plausible and use the same scripts. There’s an example of a live dashboard. GitHub repo.

Geofrey Ernest

🔊 go-taglib: Read/Write Audio Metadata Tags — Read and write metadata tags for audio files (like MP3, FLAC, and OGG) including support for multi-valued tags. Portable with no external runtime dependencies (it embeds a WASM version of the C++-based taglib). (Note: LGPL licensed.)

Senan Kelly

WorkOS: Sell to Enterprises with a Few Lines of Code — The modern identity platform for B2B SaaS, offering flexible, easy-to-use APIs to integrate SSO, SCIM, and FGA in minutes instead of months.

WorkOS sponsor

Rill 0.6: A Composable Concurrency Toolkit for Go — A collection of functions for streaming, parallel processing, and pipeline construction – all aiming to make it “easier to build concurrent programs from simple, reusable parts.”

Viktor Nikolaiev

🪨 Pebble: RocksDB/LevelDB Inspired Key-Value Database in Go — A key-value store focused on performance that uses RockDB’s file format but adds a few extra features that CockroachDB needs. It’s used at scale within CockroachDB and is considered stable and production ready.

CockroachDB

🕸️ Katana: A Web Crawling and Spidering Framework — A flexible Go-powered Web crawling tool (which can also be used as a library from Go) that can work in both headless and non-headless modes and has lots of customizable features.

ProjectDiscovery

shortuuid 4.2: Generate Concise, Unambiguous and URL-Safe Unique IDs — These aren’t standardized UUIDs, but for when you want short, non-sequential user-facing IDs (e.g. KwSysDpxcBU9FNhGkn2dCf).

Peter Lithammer

Quill 0.5: Sign Mac Binaries from Any Platform — Give it a signing private key and certificate from Apple, Quill does the rest to sign and notarize macOS binaries.

Anchore, Inc.

📰 Classifieds

How Authorization fits into the Architecture of Secure AI RAG stacks? Watch AuthZed CEO Jacob Moshenko addressing this topic, and more with The Cube.


🪝 Hookdeck: A serverless queue to reliably send, receive, transform, filter, and route events across your event-driven apps.

Issue 533 #534 Issue 535