#​513 — July 2, 2024

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Writing Generic Collection Types: The Missing Documentation — Go 1.18 introduced generics, but the author found practical examples and documentation on creating generic collections to be lacking. Luckily, he’s done the experimentation for us and shares what he learnt after many hours of spinning his wheels on the problem.

Zach Musgrave

Realtime Diagnostic Logging (or 'How to Really Spy on Your Go Web Apps') — An exploration of some options to temporarily enable verbose logging for troubleshooting purposes and making those logs accessible from anywhere and in real-time.

Vladimir Dementyev

Go! Unlock Your Tech Potential with Ardan Labs Consulting — Struggling with skill gaps, development speed or complex tech challenges? Ardan Labs specializes in Go, Rust, Docker and K8s to accelerate your software development, optimize architecture, and manage tech debt. Let us supercharge your team!

Ardan Labs Consulting sponsor

IN BRIEF:

How to Use a Go Library on a Web Page with WebAssembly — Compiling Go code to WebAssembly opens up some interesting opportunities in the browser.

Thomas Derflinger

📄 f-tests as a Replacement for Table-Driven Tests in Go Aliaksandr Valialkin

📄 How to Do 'Hotword' Detection with Streaming Speech-to-Text and Go – Leans on AssemblyAI’s platform. Yasoob Khalid

📄 A Silly Mistake I Made with io.TeeReader Vishnu Bharathi

📄 gRPC: The Good Parts Kevin McDonald

🛠 Code & Tools

River: A Fast, Robust Job Queue for Go — A Postgres-backed background job system that encourages using the same database for your app and your jobs. v0.8 just landed, but the biggest recent addition is River UI, a way to more directly monitor and visualize what River is up to.

Brandur Leach et al.

SmoothMQ: A Drop-in Replacement for Amazon SQS — Simple Queue Service (SQS) is a distributed message queuing service offered as part of AWS. SmoothMQ offers the same API but in a single Go binary.

Jay Goel

Your Fastest Path to Production — Build, deploy, and scale your apps with unparalleled ease – from your first user to your billionth.

Render sponsor

🍪 Cookie: Cookies, But With Structs — Set, get, and remove cookies, both plaintext and signed.

Chase Pierce

  • lo 1.44 – Lodash-style Go library offering generic functions over slices, maps, channels, etc.

  • Chi 5.1 – Popular composable router for building Go HTTP services.

  • Vitess 20 – Go-powered horizontal scaling approach for MySQL.

  • 📊 go-echarts 2.4 – Charting and data visualization library.

  • GoBGP 3.28 – BGP implementation in Go.

  • fx 35.0 – Powerful terminal JSON viewer.

🎁 And one for fun

Doggo: A Go-Powered Command Line DNS Client — A DNS tool written in Go designed to be used at the terminal (not as a library). Well presented and a good example of a modern, Go-powered CLI tool. GitHub repo.

Karan Sharma