#473 — August 29, 2023 |
👋 We're back! Well, almost.. If you didn't get an issue of Go Weekly in the past few weeks, don't worry, I was on vacation. I'm technically on vacation for a couple more days but didn't want too many issues to pass by, so here we are. 😁 |
|
Go Weekly |
On Backward Compatibility, Go 1.21, and.. Go 2? — If backwards compatibility sounds boring, “boring can be good,” says Russ, who has written about some of the “important work we shipped in Go 1.21 to keep Go boring” when it comes to ensuring your programs continue to compile in the face of changes to Go’s tooling. He also teases Go 2 before (spoiler alert) saying it either won't happen or.. it already did. Russ Cox |
Russ has remained prolific during our break and has also shared a proposal for |
Structured Logging with Jonathan Amsterdam |
Go! Experts at Your Service — Do you need help filling skill gaps, speeding up development & creating high performing software with Go, Docker, K8s, Terraform and Rust? We’ll help you maximize your architecture, structure, tech-debt and human capital. Ardan Labs Consulting sponsor |
Go 1.21, All You Need to Know: A Visual Guide — A Miro-based whiteboard/mindmap-style representation of what Jan believes the most important things to know about Go 1.21 are. There are previous editions for Go 1.20 and 1.18 too. Jan Stamer |
RIP AWS Lambda's Go Runtime? — AWS is deprecating the Mark Wolfe |
Avoiding Pitfalls in Go — “Every example I give here is something that I have personally experienced. These lessons were learned the hard way. Learn from my mistakes.” Nick Tobey |
Advanced Go Concurrency — We featured this a few years ago, but it’s become popular on social again. This article goes beyond the usual candidates (goroutines, using André Eriksson |
How to Develop a Great CLI with Go — Alex shares his insights from building half a dozen popular Go CLIs himself. Alex Ellis (OpenFaaS) |
Free Course: Temporal 101 with Go — Learn the essentials, then develop an app in this course that focuses on Workflows, Activities, and Temporal’s Go SDK. Temporal Technologies sponsor |
Writing a TOTP 2FA Client in Go — You can do it all with standard libaries. Redowan Delowar |
Limit Goroutines with Buffered Channels
|
How to Propagate Context Without Cancellation
|
🛠 Code & Tools |
TinyGo 0.29.0: The Go Compiler for Small Places Gets Go 1.21 — The popular alternative LLVM-based Go compiler targeting microcontrollers and WebAssembly use cases has now added support for both Go 1.21 and the new TinyGo |
SQLedge: Replicate Postgres to SQLite on the Edge — An alpha/experimental Go-powered Postgres proxy that uses a local SQLite database for reads and forwards writes to an upstream Postgres server. Zak Knill |
Local Development Where the Infrastructure is Created Automatically — Encore automatically sets up local infrastructure on the fly, and provisions cloud infrastructure when you git push. Encore sponsor |
fp-go: IBM Working on a Functional Programming Library for Go — Presented as a ‘work in progress’ and inspired by TypeScript’s fp-ts, this effort aims to encourage the development and composition of small, side-effect free functions in Go too. IBM |
Jacobin JVM: A 'More than Minimal' JVM Written in Go — A novel Java Virtual Machine implementation built in Go that’s capable of running Java 17 classes. Binstock, Uresk, Elkins, et al. |
Soft Serve Now Supports Git LFS — Soft Serve is a Go-powered, self-hostable Git server from the Charm folks. Charm Team |
|
|