#484 — November 14, 2023 |
|
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 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 |
|
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 |
|
Go Type Tagging
|
🛠 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 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 |