#533 — November 26, 2024 |
|
Go Weekly |
GoMLX: ML in Go without Python — Eli recently wrote about Go’s suitability as a glue language for calling out to third party machine learning services and Python ‘sidecars’, but could you just do the heavy lifting from Go itself? GoMLX provides one option. Eli Bendersky |
📊 What's Coming in Go 1.24 — A 52-slide deck that goes through language, tooling, and standard library changes coming to Go 1.24 (expected in January or February 2025). There’s quite a bit here, including generic type aliases, weak pointers, and an experimental test package for concurrent code. Daniel Martí |
💡 You may remember ▶️ Daniel's similar talk about Go 1.22 a year ago – when the video for the new talk lands, we'll link to it. |
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 |
Are Go's Generics Simple or Incomplete? A Design Study — Some argue that Go’s generic implementation only added complexity to the language, while others disagree. Nick takes us through a complex problem that he struggled to solve with generics, eventually ending up with a solution that works but felt a bit harder than necessary. Some commenters on Reddit felt that his approach was more OO / interface-based than it needed to be, though. Nick Tobey (DoltHub) |
▶ WASI to Go: Write Once, Go Anywhere — A talk from the recent WASMCon event exploring Go’s relationship with WebAssembly and how WASM can help ‘Go go anywhere.’ A pretty good primer on the topic as things currently stand. Zhou and Reddig |
IN BRIEF:
|
Inside Bluesky’s Engineering Culture — A writeup from May 2024 that’s perhaps become more relevant with Bluesky’s recent rapid ascent. Go sits at the heart of the social network’s backend. Gergely Orosz and Elin Nilsson |
📄 A Go Production Performance Gotcha with 📄 Investigating a Memory Leak with Pprof – Commonly trod ground, but well explained. Aviv Zohari 📄 Testing with Go and Postgres using Ephemeral DBs Michael Stapelberg 📄 Getting a Pointer to a Constant in Go Xe Iaso |
🛠 Code & Tools |
superfile: A Terminal-Based File Manager App — Built with Go and Bubble Tea, it combines a visually appealing design with the simplicity of terminal tools, providing a fresh, accessible approach to file management. Yorukot |
♻︎ recur: Retry a Command with Exponential Backoff and Jitter — A Go-powered command line tool for retrying shell based commands in a controlled way until a condition (or success) is met. D. Bohdan |
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 |
Porcupine 1.0: A Fast Linearizability Checker — You write a spec for a system in Go, provide a concurrent history, and Porcupine figures out if the history is linearizable with respect to the spec. There’s a 2017 blog post that explains more. Anish Athalye |
Sequin: Human-Readable ANSI Sequences — The latest work from the folks at Charm (well known for Bubble Tea, Lip Gloss and other libraries) interprets ANSI sequences into something you can actually understand.. Charm |
⚙️ nats-mutex: Distributed Lock Library using NATS JetStream Yurii Biurher |
|
|
🎁 And a little bonus quote.. |
I saw this 2020 blog post by Brad Fitzpatrick the other day and liked an insight he shared about complexity and how Go changed his opinion of it: |
|