#​498 — March 5, 2024

Unsub  |  Web Version

Together with  Tuple logo

Go Weekly

📊 How I Keep Myself Alive Using Go — A look into a fascinating use of open source, medical devices, and Go to help a type 1 diabetic monitor their blood glucose levels and alert on anomalies, including sending messages to third parties when necessary.

Matt Boyle

for Loop Semantic Changes in Go 1.22: Be Aware of the Impact — Tapir likes the new semantics with for/range loops, but isn’t a fan with more traditional for loops. This post brings us up to speed with the changes here and digs into some examples that show off things to watch out for.

Tapir (Go 101)

Pairing Combines the Best Parts of In-Person and Remote Work — Tuple "makes pair programming with co-workers and friends fun again". Try it for free and find out why staff engineers at Figma can't stop talking about Tuple.

Tuple sponsor

Go 2022-2024 and Beyond: Go's Engineering Director on the Role of AI — Last week, we enjoyed Go’s engineering director blogging about how he got into management and Go’s early growth – now he’s thinking about how Go has matured in more recent years and ponders how AI is going to shake things up.

Sameer Ajmani

QUICK BITS:

The Impact of Pre-Allocating Slice Memory on Performance — The author wanted to establish, in numbers, how pre-allocating memory improves performance using quantitative measurements and tools for automated detection.

Oilbeater

Building Reliable Applications with Durable Execution — Learn about the concept of durable execution, which is used to solve a wide range of problems in distributed systems.

Temporal Technologies sponsor

Simpler, Composable HTTP Handlers using Generics
Willem Schots

When Kubernetes and Go Don't Work Well Together
Emin Laletovic

Some Advice for Newer Go Programmers
Ewan Valentine

🛠 Code & Tools

📄 pdfcpu 0.7: A PDF Processing and Manipulation Library — You can validate and optimize PDFs, split them, merge PDFs together, extract elements, and more. Apache 2.0 licensed. GitHub repo.

pdfcpu

fgprof 0.9.4: A Full Sampling Profiler for Gopprof is the go-to tool for profiling Go code, but it only profiles ‘on-CPU’ time. fgprof can work alongside pprof and measure ‘off-CPU’ time (such as that spent on IO) too so you can see the bigger picture.

Felix Geisendörfer

Nuke: A Memory Arena Implementation for Go — A package to provide memory arenas in Go was proposed two years ago and resulted in an initial implementation which was put on hold. Nuke takes another run at the idea and even includes a concurrent arena implementation.

Miguel Ángel Ortuño

Huma: Build APIs Backed by OpenAPI and JSON Schema — Huma is a micro-framework for creating HTTP REST or RPC APIs leveraging common standards like OpenAPI.

Daniel Taylor

📰 Classifieds

🪝Hookdeck: A managed reliability & observability layer for webhooks & async messaging. Receive, transform, route, & deliver events at scale.


The Ultimate Guide to Debugging With Go – Most senior Go engineers are experts at debugging production systems. You can level up your skills with this brand new course from Matt Boyle.

TinyTest: The Only(?) Assertion Library That Works with TinyGo — Instead of using reflection, it uses generics for comparing values. (It works with regular Go too, of course.)

Orsinium Labs

Polaris: A New, Minimal Workflow Orchestrator for Go — If you have a multi-step workflow where each step depends upon others, a system like Polaris can help you apply some structure to the situation.

Harshad Manglani

EchoVault: A Go-Based Distributed In-Memory Data Store — It uses Redis’s RESP protocol, so can be used via existing Redis client libraries.

EchoVault