#​492 — January 23, 2024

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

Rust vs Go in 2024? — A perennially popular post from yesteryear has been tweaked for 2024 (though the pros and cons remain quite similar) with a comparison of the ‘both awesome’ languages including what they’re both good at, their key differences, and some trade-offs to consider.

John Arundel

Debugging Go Compiler Performance in a Large Codebase — The bigger the codebase, the longer it takes to compile. The folks at Incident, though, dug into the dependency graph, and figured out some bottlenecks to make their builds much faster.

Isaac Seymour

Help GopherConEU in Athens, Greece be a Memorable Event! — Join GopherConEU in Athens, Greece between February 6 - 8th, 2024. Bill Kennedy and Miki Tebeka are part of GopherConEU Training workshops sharing cutting edge Go engineering best practices, libraries, frameworks, performance optimization, and more.

Ardan Labs & GopherConEU sponsor

▶  Russ Cox on Go Changes — Russ’s GopherCon 2023 talk is now live and provides a good overview of Go’s attitude to change and how it’s continuing to get better over time. (24 minutes.)

Russ Cox

Omitting Dev Dependencies in Go Binaries — A trick to keep dev packages out of your production build and keep your binary small. We imagine a fix to this will end up in the Go toolchain eventually, but until then…

Redowan Delowar

💡 Alex Edwards' How to use go run to manage tool dependencies may also be of interest to you in this regard.

QUICK BITS:

Effective HTTP Routing in Go 1.22 — A look into the anticipated changes to the built-in HTTP server multiplexer in the next version of Go. And if you don’t like it, you can always turn to Gin..

Cheikh Seck

Finding Unreachable Functions with deadcode — In the slowdown to Christmas, we somehow missed this post on the official Go blog! A member of the core team looks into dead, unreachable code in Go apps, and a tool the Go team has help you confidently remove it.

Alan Donovan

From Slow to SIMD: A Go Optimization Story — The tale of how folks at Sourcegraph needed to speed up some basic math for working with embedding vectors, the initial steps considered, and what SIMD managed to bring to the performance table (spoiler: a lot).

Camden Cheek (Sourcegraph)

▶  Is It Time to Switch from Docker to Podman?

Christian Lempa

🛠 Code & Tools

Tint: slog.Handler That Writes Tinted Logs — Tinted, as in colorful.

lmittmann

ffmpeg-go: Go Bindings for FFmpeg — Provides a thin layer over the C library APIs, so you get a lot of power, though you also have to write a fair bit of code to get it. Here’s an example of video transcoding. For Linux and macOS only.

Chandler Newman

Building with Temporal Cloud Webinar Series — Learn how we've built Temporal Cloud to deliver world-class latency, performance, and availability for all workloads.

Temporal Technologies sponsor

XLSX 3.3.5: A Library to Reading and Write XLSX (Excel) Files — Did you know Excel spreadsheet files are basically XML? That makes them pretty easy to manipulate and work with, but libraries like this make it even easier.

Geoffrey J. Teale

Goyek 2.1: A Go Library for Task Automation — A simple, cross-platform task automation library where tasks are defined in a Cobra-like style and the actions adopt a unit test feel. v2.1 adds parallel task execution support.

Robert Pająk

SQLBoiler 4.16: A 'Database-First' ORM — Create your schema at the database level first and then the ORM code for Go is generated based upon the underlying reality.

Volatile Technologies Inc.

f-license: License Key Generation and Verification Server — A system for creating and validating license keys for other apps.

Furkan Senharputlu