#490 — January 9, 2024 |
|
Go Weekly |
Rob Pike: 'What We Got Right, What We Got Wrong' — A written version (the script, really) of Rob’s GopherConAU talk given in November (▶️ 47-minute video here), where he recounts stories from building Go, including the team’s goals and how and why decisions were made. Rob Pike |
Interactive Release Notes for Go 1.22 — Don’t panic, Go 1.22 isn’t due for final release until next month, but this is a neat set of interactive notes showing off various 1.22 features. This is so worth a look to get up to speed. Anton Zhiyanov |
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 |
Fun with Embeddings in Go — “Whilst Python is and will remain the dominant language in the AI/ML space, there are plenty of Go modules that let you do some interesting things with data and vector embeddings.” This is a neat article, and includes a cool interactive 3D visualization for good measure. Milos Gajdos |
📊 Benchmarking Different Go SQLite Drivers — As with any benchmark results, maintain a critical eye, but the author found significant differences between the seven options. Christoph Vilsmeier |
QUICK BITS:
|
Constraining Complexity in the Generics Design — An in-depth post based on a GopherConAU talk (▶️ video here) that explains, by way of a little computer science, why union elements cannot call a method as a fallback and what the future holds for possible workarounds. Axel Wagner |
How Luciano Calamia |
Uber's Go Style Guide — Want to know how a large org writes Go? Take a ride with Uber's guidelines, performance notes, and style concerns. Uber |
Learn How to Convert Your Cron into a Schedule with Temporal and Go — Converting Cron jobs to Temporal Schedules in the interface of your choice is very simple. See an example in our Go SDK. Temporal Technologies sponsor |
On Writing a Simple JSON Parser in Go — This is really about the journey and learning some of the pieces involved. Öner Çiller |
Bundling Go Lambda Functions with the AWS CDK
|
Interfaces Are Not Meant for That
|
🛠 Code & Tools |
Introducing astjson: Transform and Merge JSON Objects at Speed — Wundergraph's GraphQL Gateway product needs to aggregate and merge data from many sources fast. They built astjson to improve performance with some striking gains, even outperforming other (Rust-based) tools. Jens Neuse (WunderGraph) |
Tarmac: A Language Agnostic Framework — At the risk of sounding like a framework for everything, Tarmac takes an interesting, serverless approach for an app framework. It’s Go-powered but uses WebAssembly to allow languages like Go, Rust, Zig, and others, to be used as you prefer for writing your functions, while Tarmac keeps them connected to the real world, databases, etc. Benjamin Cane |
A New Way to Host Go Modules on Your Domain — Introducing GoHome, a small server to manage hosting your Go modules on your own domains. Peter Sanchez |
|
🏓 A Whole Old Ball Game? |
A Go-Powered Arkanoid Clone — For those who weren’t gaming in the 80s, think a bat and ball game 😄 This one is written in Go, uses Ebitengine, and adopts an entity component system (ECS) architecture. x-hgg-x |