#​484 — November 14, 2023

Unsub  |  Web Version

Together with  Speakeasy logo

Go Weekly

Fourteen Years of Go — Russ recaps a productive year for Go that included the introduction of profile-guided optimization (PGO), enhanced coverage profiles to improve testing, better toolchain management, the first generic standard libs, slog, and more. Here’s hoping the next year is just as great.

Russ Cox (The Go Team)

💡 Hey! Ho! Let's Go! was the initial post made in 2009 on the Google open source blog to announce the project.

Dev-Friendly SDKs and TF Providers That Boost API Adoption — Provide a high-class developer experience with Speakeasy's well-documented, strongly-typed, lightweight & customizable SDKs, Terraform providers & always-in-sync docs. Check out how Speakeasy SDKs compare to the other OSS generators.

Speakeasy sponsor

Go's 1.22+ ServeMux vs Chi Router — One of Go’s most interesting active proposals this year has been around enhancing the built-in HTTP router – now likely to land in Go 1.22 or later. Folks are starting to weigh up whether to use it or stick to existing options – Jon plans to try it in new projects, but stay with Chi or gorilla/mux where they're already in place.

Jon Calhoun

QUICK BITS:

Pushing SQLite to the Limit with Go (While Having Fun) — It’s a simple experiment but plays into the modern idea of keeping apps simple and that even a modest single machine can do a lot, if used right.

Stefan Fidanov

📰 Classifieds

💻 Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.


Join Sticker Mule's "kick ass" team as a Site Reliability Engineer! Our software team operates from 17 countries and we're looking for more exceptional engineers to join our Security team.


Lead a team of engineers to shape the future of live video at Dyte: Lead an engineering team responsible for critical backend systems and APIs. Optimize, scale, and play a pivotal role in shaping product direction.

Optimizing Struct Memory Use — The ordering of fields in a struct can affect memory usage significantly, so optimizing things can be beneficial. fieldalignment makes it possible to find structs that would benefit from this technique.

Satyarth Ojha

'Ungrammar' in Go and Resilient Parsing — You’ve probably heard of abstract syntax trees (ASTs) but concrete syntax trees (CSTs) are also a thing and directly reflect the syntax of the input language. Ungrammar is a DSL for defining CSTs that’s used in Rust, but Eli has re-implemented it in Go.

Eli Bendersky

git rebase: What Can Go Wrong?
Julia Evans

Go Type Tagging
Boris Smidt

🛠 Code & Tools

cpuid: CPU Feature Identification Library — Find out how many physical and logical cores there are, the family of CPU, and similar details. Supports x86/x64 and arm64 for now. Doesn’t use any cgo.

Klaus Post

SCS 2.7: HTTP Session Management Middleware — Loads and saves session data via middleware, works with various stores (Postgres, Redis, SQLite, etc.) and easy to extend and customize. Oh, and it’s been around for years.

Alex Edwards

The API for SAML and SCIM — Not yet supporting SSO or User Provisioning? Join hundreds of companies using WorkOS— make your app Enterprise Ready today.

WorkOS sponsor

httpretty: Pretty Prints HTTP Requests Made in Go — Inspired by curl’s --verbose feature, this could prove handy when debugging.

Henrique Vicente

jsondiff: JSON Diffing Library Based on RFC 6902 (JSON Patch)RFC 6902 defines a JSON structure for expressing patching operations on other JSON documents.

William Poussier

🎲 Backgammon, Set, Go..

bgammon: Backgammon in Your Browser (Thanks to Go) — Not only is this an online version of the classic game, but it’s open source, written in Go, and uses Ebitengine too. If you want to check out the code, here's the the backend and frontend.

Trevor Slocum