#​540 — January 29, 2025

Unsub  |  Web Version

Together with  Honeybadger

Go Weekly

Go 1.24's go tool is One of the Best Additions in Years — Go 1.24 isn’t even fully here yet (though rc2 is out) and people are already very excited. One major enhancement is the new go tool command and tool directive in go.mod, which simplifies handling dependencies for dev-time tooling and improves performance by caching runs and reducing dependency bloat.

Jamie Tanna

💡 John Howard has another take in Exploring the go tool support in Go 1.24

Keep Your Apps Fast and Error-Free with Honeybadger — Honeybadger helps you fix errors, eliminate performance bottlenecks, and dig into the details faster than ever before. With support for Go, Ruby, and 8 other languages, it’s the best way to gain real-time insights into your application’s health and performance.

Honeybadger sponsor

Proposal: A Way to Reduce Error Handling Boilerplate with ? — A proposal to streamline error handling using a ? operator. This new syntax could reduce boilerplate by optionally handling errors and returning early or executing an error handling block.

Ian Lance Taylor

IN BRIEF:

  • Cloudflare published an interesting blog post about how they handle over 100GB/sec of logs and Go sits at the heart of it.

  • JetBrains, the developers of the GoLand IDE, has unveiled Junie, a new 'coding agent' to which you'll be able to delegate various coding tasks in future. It's behind a waitlist for now but looks promising.

  • The OpenTelemetry project has announced Alibaba, Datadog and Quesma have joined forces to enable the use of zero-code, vendor-neutral compile-time instrumentation in Go apps.

Maps are Faster in Go 1.24 — It’s thanks to so-called Swiss Tables and you don’t need to make any changes to benefit from the new implementation. Just upgrading to Go 1.24 will unlock the gains.

Byte Size Go

Go Slices: Shared Memory and append() Pitfalls — A look at some potential tripping points in Go when it comes to working with slices and sub-slices. Rob Pike’s 2013 post on the official Go blog is also a great resource on this topic.

Patrick A. Noblet

Protect Against Bots, Fraud, and Abuse in Real Time — WorkOS Radar protects your app with advanced device fingerprinting — stop fake signups, free tier abuse, bot attacks and brute force attempts today.

WorkOS sponsor

📄 Scripting with Go – How to ‘sprinkle some Unix shell fairy dust on your Go programs’ to build shell-like data pipeline operations. John Arundel

📄 So You Wanna Write Kubernetes Controllers? – From someone who leads LinkedIn’s Kubernetes management, no less. Ahmet Alp Balkan

📄 Bridging Rust and Native Go“a feasible way to build native Go bindings from Rust and C components with the magic power of purego and libffi behinds.” Hanchin Hsieh

🔒 FIPS Mode for Red Hat Go ToolsetRed Hat Go Toolset is a Red Hat distribution of Go that lets apps use OpenSSL for crypto. David Benoit

📄 cURL Project and Go Security Teams Reject CVSS as Broken Sarah Gooding (Socket)

📄 Deploy a Server using Go with GitLab and Google Cloud Claire Champernowne (GitLab)

🛠 Code & Tools

Centrifugo v6: A Scalable Real-Time Messaging Server — Imagine an open source, self-hosted equivalent to Pubnub or Pusher for passing messages to users of real-time apps over WebSocket, HTTP streaming, SSE, and more. It’s language agnostic, but written in Go. GitHub repo.

Centrifugal

Maddy 0.8: A Composable All-in-One Mail Server — Can work as an MTA, accept messages via SMTP, store messages and even provide access to them over IMAP. v0.8 requires Go 1.23+ but adds support for HAProxy’s PROXY protocol and handling DNS-01 challenge records.

Max Mazurov

📰 Classifieds

💡 Modern Infrastructure Demands a Modern Approach to Privileged Access - Read White Paper.


By swapping AWS MSK for WarpStream, Pixel Federation drastically reduced Kafka costs and eliminated complex VPC peering.

📢  Elsewhere in Dev

A quick roundup of some of other interesting stories in the broader developer landscape, in case you've missed them: