Golang Weekly - Go 1.22 Release Candidate 2

Plus the latest Go survey, the future of JSON in Go, and Mat Ryer serenades us with Go docs. |

#​493 — January 30, 2024

Unsub  |  Web Version

Together with  Ardan Labs

Go Weekly

The Latest Go Developer Survey is Now Open — 2024’s first official Go Developer Survey is out (you can take it here) and the Go team is ready for your feedback. It closes on February 11th, so don’t wait too long. Things that we share do end up affecting the future of Go, so it’s worth doing. Here’s the results of the last survey, if you want to see how it tends to shake out.

The Go Team

Go 1.22 Release Candidate 2 Released — Reminding us that we’re just weeks from the final release of Go 1.22, the second RC is here. The draft release notes have been updated somewhat and act as a good introduction to what improvements 1.22 gains, if you want to get ahead of the story.

Cherry and Carlos (Go Team)

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

What’s New in Go 1.22: slices.Concat — The implementer of slices.Concat discusses its implementation and how it addresses a common performance issue when working with slices. If you’re manipulating slices in loops, you should read this.

Carlana Johnson

QUICK BITS:

▶  The Future of JSON in Go — Tailscale’s Joe Tsai takes a tour through the world of JSON parsing and generation in Go, showing off problems with current approaches and going into the work on encoding/json/v2.

Joe Tsai

Building a Go Static Site Generator Using elem-go and goldmark — Rather than use something like Hugo, you could use some libraries to roll your own static site generator. There’s also a template app to get started quickly.

Chase Fleming

🛠 Code & Tools

Memos: A Privacy-First Go-Powered Note Taking App — A complete, MIT-licensed note taking webapp that you can self host. It uses Echo as a framework and stores its data with SQLite. GitHub repo.

Memos Contributors

gofumpt 0.6: A Stricter gofmt — If you like rules and gofmt isn’t strict enough, gofumpt has even stricter rules to keep your codebase clean and under control. v0.6 is based on Go 1.21’s gofmt, and requires Go 1.20+

Daniel Martí

Try a Lightning-Fast Pairing Tool Built with You in Mind — Tuple will change the way you think about pair programming. Try it with your team free for 14 days, no card required.

Tuple sponsor

goja: An ECMAScript/JavaScript Engine in Pure Go — Want to add JS-based scripting functionality to your Go apps? This gives you an option that doesn’t involve bringing in an external engine. For an example of how it might be used, check out the next item..

Dmitry Panov

k6: A Go-Powered Load Testing Tool — A full-featured, configurable load generation tool that uses the goja engine (above) to support writing test scripts in JavaScript. (AGPL licensed.)

Grafana Labs

Grape: A New Zero-Dependency HTTP Library for Go“A thin wrapper around the standard library, providing helper functions to facilitate faster and easier development. Adding only a single dependency to your projects.”

Hossein Yazdani

📰 Classifieds

🪐 Build your permissions system with Go and open-source. SpiceDB is the open-source implementation of Google Zanzibar.

🧊 tinygo-wasm-webgl-demo — A small repo showing off how to use TinyGo, WebAssembly and WebGL to create a simple 3D graphical demo that runs in the browser.

Andriy Semenets

  • oapi-codegen 2.1 – Generate boilerplate code from OpenAPI specs.

  • gRPC-Go 1.61 – Go implementation of gRPC for HTTP/2 based RPC.

  • Roaring 1.9 – Roaring bitmap data structure implementation.

  • Expr 1.16 – Expression language and expression evaluation.

  • uuid 1.6 – Google's RFC 4122 UUID package.

  • Lego 4.15 – Let's Encrypt/ACME client and library.

  • BlueRPC – Maintain type safety between Go and TypeScript.

n

Older messages

Russ Cox on Go changes

Tuesday, January 23, 2024

Plus optimizing compiler performance, and Rust vs Go redux. | #​492 — January 23, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Rust vs Go in 2024? — A perennially popular post from

A closer look at Go 1.22

Tuesday, January 16, 2024

Plus a GUI for execution traces, and finding harmony with Discord. | #​491 — January 16, 2024 Unsub | Web Version Together with Dragonfly Go Weekly Initial Thoughts on Go 1.22 — 1.22 is due next month,

Interactive examples of Go 1.22 features

Tuesday, January 9, 2024

Plus benchmarking Go SQLite libraries, fun with LLM embeddings, and a little bat and ball game. | #​490 — January 9, 2024 Unsub | Web Version Together with Ardan Labs Go Weekly Rob Pike: 'What We

The best of the Go newsletter in 2023

Tuesday, December 19, 2023

Plus we're back in three weeks. | #​489 — December 19, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly The Best of the Go Newsletter in 2023 Welcome to the final issue of 2023! We'

Python and PHP are Go's newest friends

Tuesday, December 12, 2023

Plus CGO-less SQLite in Go hits 1.0, and 179 handy Go tool recipes. | #​488 — December 12, 2023 Unsub | Web Version 🎄 We're prepping our annual roundup issue for next week, just before we take our

You Might Also Like

⚠️ Avoiding AI Scams on Social Media — An Open Source Google Photos Alternative

Sunday, May 5, 2024

Also: Reviewing the Customizable Drop Mechanical Keyboard, and More! How-To Geek Logo May 5, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to

Daily Coding Problem: Problem #1432 [Medium]

Sunday, May 5, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This question was asked by Snapchat. Given the head to a singly linked list, where each node also has a “random”

PD#572 Good Ideas in Computer Science

Sunday, May 5, 2024

Ideas every programmer likes and why Garbage Collection and Object Oriented Programming don't count ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

RD#454 API Layer & Fetch Functions

Sunday, May 5, 2024

ixing API and UI code quickly leads to messy and unmaintainable code ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

The Shiny Toy Syndrome & Tiny macOS utility apps I love

Sunday, May 5, 2024

Lex launching its redesign, Raycast shares another monthly update packed with AI updates, prompts should be designed not engineered, and a lot more in this week's issue of Creativerly. Creativerly

Hyundai antes up $1B for AV startup Motional and Elon unplugs the Tesla Supercharger team

Sunday, May 5, 2024

Plus, layoffs come for Luminar, Fisker and Ola View this email online in your browser By Kirsten Korosec Sunday, May 5, 2024 Image Credits: Motional Welcome back to TechCrunch Mobility — your central

C#504 Adventures serializing absolutely everything in C#

Sunday, May 5, 2024

A fantastic journey porting Newtonsoft.Json to System.Text.Json ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Sunday Digest | Featuring 'Which City Has the Most Billionaires in 2024?' 📊

Sunday, May 5, 2024

Every visualization published this week, in one place. Visual Capitalist Sunday Digest logo May 5, 2024 | View Online | Subscribe | VC+ The Best of This Week's Visuals Presented by Voronoi: The

The dark side of startup accelerators

Sunday, May 5, 2024

Plus: No easy solution to AI hallucinations View this email online in your browser By Anthony Ha Sunday, May 5, 2024 Image Credits: Bryce Durbin This Week, TechCrunch dug into the struggles at two

Android Weekly #621

Sunday, May 5, 2024

View in web browser 621 May 5th, 2024 Articles & Tutorials Sponsored Genius Scan SDK: a document scanner in your app Embed a reliable document scanner with OCR in your app, enabling your customers