#​423 — August 5, 2022

Unsubscribe  |  Read on the Web

The Go Weekly Newsletter

Go 1.19 Released — First and foremost: “We expect almost all Go programs to continue to compile and run as before.” Phew! Go 1.19 isn't as significant a release as 1.18 and is focused more on refining what we already have, but what's new?

  • The garbage collector can now be given a soft memory limit. More here.
  • Go’s memory model now explicitly defines the behavior of the sync/atomic package, as we covered last week.
  • The os/exec package no longer respects relative paths in PATH lookups.
  • Doc comments now support links, lists and headings prefixed with #
  • Fixes for 'subtle issues' relating to generics.
  • All the typical performance tweaks.

The Go Team

Debug Go Apps Without Stopping Them in Prod. Try Rookout Free — Rookout provides developers real-time access to code-level data, logs traces, and metrics to troubleshoot and debug their cloud-native applications in any environment including production. Debug without having to recreate, redeploy, or stop the app.

Rookout sponsor

Adding a Standard Iterator Interface to Go? — A discussion has begun (it’s not yet a proposal) around the idea of going beyond Go’s typical iterators for maps, slices, arrays, etc. and offering a more general mechanism for user-created containers and an interface for iterators over such. There’s a lot to chew on here, and you’re encouraged to have your say.

Ian Lance Taylor

On Building Modern Webapps Faster with BudBud is a relatively new Go-oriented full stack web framework with a lot of good ideas – ▶️ this 15 minute video on creating a Hacker News with it is a good demo. This post lets us learn a little more about the developer behind Bud, how he came to Go, and where the framework is headed next.

Preslav Rachev

Easy Memory-Saving Tricks in Go — Hold on to those premature optimization comments for now – these are some broadly useful principles to keep in mind as you build Go apps.

Emir Ribic

Debugging WebAssembly from Go Sources in Chrome DevTools — It’s no longer particularly novel to be compiling Go code into WebAssembly and running it in the browser, but did you know you can interactively debug such code in Chrome’s DevTools? (If you use TinyGo, that is.) Debugging aside, this is a nice look at a very simple TinyGo + WebAssembly example too.

Noops Land

How to Manage Go Application Secrets Using Vault — HashiCorp’s Vault is an identity-based secret and encryption management system (that happens to be written in Go itself).

Matthew Setter

Creating a Toy Remote Login ServerI thought it might be fun to implement a program that’s like a tiny ssh server, but without the security.” No, don’t use this in production, but Julia’s learning experiences are always fun to read about.

Julia Evans

Go Error Messages Should Be 'Boring'
Roger Guldbrandsen

🛠 Code & Tools

Maths: Math Functions Not Defined in the math Package — Covers areas like combinatorics, number theory (GCD, coprimes, aliquot sums), and statistics (skew, means, quartiles).

Dustin Thériault

Yaegi 0.14.0: Yet Another Elegant Go Interpreter — A Go interpreter to enable Go to be used for scripting within other apps, interactive shells, or for quick prototyping. It boasts complete support of the Go spec too.

Traefik

Unlock Free Activity Feeds & Chat APIs

Stream sponsor

Gitea 1.17.0: A Go-Powered Git Forge — The popular GitHub-a-like git forge now includes a package registry feature which supports numerous package managers including PyPl and RubyGems.

Gitea Team

A Roadmap for GoLand 2022.3
JetBrains

DynamoDB Table Explorer: TUI App for Exploring DynamoDB Tables
Andy X

⚡️ QUICK RELEASES:

listmonk 2.2 – Self hosted email newsletter system.
progressbar 3.9 – Basic thread-safe progress bars.
dig 1.15 – Reflection-based dependency injection toolkit.
Fiber 2.36 – Express.js-inspired web framework.
Muffet 2.6 – Fast website link checker.

Jobs

Golang Engineers — 100% Remote (North/South America & Europe) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects.
Ardan Labs

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.
Hired