#​371 — July 16, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Go 1.17 Release Candidate 1 Released — The Go team took a break but now they’re back and they want you to run your production load tests on the latest version to help them perfect the final release. As is usual, you can learn more about the actual changes and features in the draft release notes.

Go Team

⚠️ Go 1.16.6 and 1.15.14 have also been released to fix a certificate negotiation security vulnerability.

LiveKit: A Go Powered Server for Real Time Audio and Video — An open source infrastructure project for building and scaling realtime WebRTC powered audio and video experiences in apps. It’s new but there are already SDKs for iOS, JS, React, and Android. The Go server code.

LiveKit Team

Run Faster and Safer Than Linux with Open Source Unikernels — Run open source Go unikernels. No devops, no frameworks, no cloud lock-in. Easier than K8S. Run 2X as fast on Google. Run 3X as fast on AWS and deploy in 10s of seconds.

NanoVMs sponsor

Updating the Go Memory Model — The final post in a three-part series that culminates with the outline of a proposal to change Go’s memory model. This post is very technical but the specific changes are clear and accessible. If this proposal is anything like Russ’s previous efforts, be prepared to see changes in Go before long(!)

Russ Cox

▶  Discussing SIV and the 'V2+ Issue' with Peter Bourgon and Tim Heckman — A technical discussion about some changes introduced by the move to modules.

Go Time Podcast podcast


Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster.

Find a Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

How Hot Does It Get Inside a Car During a Heat Wave? — The author measured just how hot it got in his car during a recent heatwave. A nice post, with Go making an appearance in parsing the eventual data. The answer, by the way, is ridiculously hot.

Jeremy Morgan

There Is No 'Extreme' Fast Way to Merge Slices in Go — When you make a new slice, all elements are reset to zero to avoid “unspecified behaviors”, but it comes at a cost.


Creating the Golfcart Programming Language — How a developer approached implementing his own toy programming language with Go.

Andrew Healey

Extend Your Go App with Embedded WebAssembly Functions in WasmEdge — WasmEdge is a CNCF hosted library, which is nice, but you may find the process to use it a bit, um, rusty.

Second State

🛠 Code & Tools

Testza: Full-Featured Test Framework for Go — Testza includes assertions, mocking, input testing, output capturing, along with some very nice, colorized output.

Marvin Wendt

Multiple Progress Bar: Progress Bars for Go CLI Apps — Straightforward textual progress bars with support for rendering multiple bars at the same time (such as for tasks running concurrently).

Vladimir Bauer

uuid 1.3.0: Package for UUIDs based on RFC 4122 and DCE 1.1 — 1.3.0 adds an optional ‘randomness pool’ mode for random v4 UUID generation which can increase throughput at the cost of security in certain situations.


Build Video for Your Go App with Just Two API Calls

Mux sponsor

Minimock: A Tool to Generate Mocks from Interface Declarations — Generates statically typed mocks and helpers and is fully integrated with the testing package.

Juno Inc.

ws 1.1: Tiny WebSocket Library for Go — It’s been a couple of years since a significant release. 1.1 adds WebSocket Compression Extension support.

Sergey Kamardin

Ergo: Erlang/OTP Ideas, But in Go — If you’ve ever been intrigued by the Erlang ecosystem but weren’t ready to give it a go, Ergo brings some of the Erlang world’s ideas to Go.

Taras Halturin