#492 — January 23, 2024 |
|
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 |
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 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: 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 |
|