#534 — December 3, 2024 |
|
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 📄 Lessons Learned Adding OpenTelemetry to a (Cobra) Command-Line Go Tool Jamie Tanna 📄 The Smallest Thing in Go – A quick look at Go’s 📄 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. 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. |
|
|