#​430 — September 30, 2022

Unsubscribe  |  Read on the Web

The Go Weekly Newsletter

What's New in Go's Runtime: Four Years Later — It’s always fantastic to get a roundup from the core Go team on their progress, and while Go 1.13 through 1.18 have certainly seen their fair share of enhancements, we also get to learn a bit more about Go 1.19’s memory limit feature and improved garbage collection. Some highlights from the past few years:

  • Big efficiency gains on multicore systems.
  • Go's scheduler spends up to 30% less CPU time spinning.
  • Go's GC limits its CPU use when the app is idle, reducing CPU spikes.
  • defer-red function calls now cost as little as regular function calls (mostly).
  • More efficient timer management.
In short, even simply using Go 1.19 will benefit your code's performance without doing anything else at all.

Michael Knyszek

Automatically Detect and Track Flaky Tests in Go — BuildPulse highlights your project's most disruptive tests so you know exactly where to focus first for maximum improvement. To top it off, BuildPulse works seamlessly with Go, and you can set it up in just a few minutes.

BuildPulse sponsor

Steampipe: Query Your Cloud Services with SQL — Use SQL to query and even join across over 50 APIs from providers like Airtable, AWS, Heroku, Okta, Splunk, Slack and Stripe, as well as social media sites like Reddit and Hacker News. It’s pretty cool and open source (AGPL) to boot.

Turbot HQ, Inc

Build a Tic-Tac-Toe Game in the a GitHub README.md File? — I admit that the author’s lede of “Pushing the boundaries of the Markdown file using Go” hooked me and it’s quite a fun little experiment. The actual “game” is here, though bear in mind you’re sharing the board with.. the whole Internet.

Sridhar Subramaniam

IN BRIEF:

  • JetBrains has started its 2022.3 'Early Access Program' for the GoLand Go IDE. As well as getting to see all the new features, one benefit of their EAPs is it acts as a sort of extended trial period if you want to check it out.

  • 🎄 Is it too early to think about Christmas? Not if you want to write something for this year's Go Advent Calendar!

  • 📅 Bill Kennedy reminded us that the official Go wiki has a useful conferences page listing Go events past and future.

A Complete Guide to Working with Cookies in Go — Alex covers the basics and then dives into secure, tamper-proof, and encrypted cookies to make sure the data stays safe (though whether it needs such security is another question you’d need to ask about your use case, as there are alternative methods).

Alex Edwards

Build a Custom Go Linter in Five Minutes — Not so much building a linter from scratch, but by directing Sylver, a source code analysis tool, with queries for finding certain patterns.

Geoffrey Copin

▶  Buggy BLANK Identifiers in Go — A look at all the things you can do with blank (_) identifiers, and there are more than you think, even if most of them seem useless. Oh, and the bug he found is fixed in 1.19.

Boldly Go

go mod's Lesser Known Features

Tony Worm

🛠 Code & Tools

Fibratus: Windows Kernel Exploration and Observability Tool — Capture kernel events, such as file I/O, network requests, etc., and analyze them to gain insight into what Windows is up to. (GitHub repo.)

Fibratus

Neffos: A WebSocket-Based Real Time Framework — You might use something like this as the backend for a chat system, say. Supports scaling out using Redis or NATS, handles reconnection logic, broadcasting, etc.

Gerasimos (Makis) Maropoulos

Chrono: A Scheduler Library to Run Tasks Periodically — For scheduling and running tasks within the context of your Go app (not externally).

Procyon

Don’t DIY Your Notifications: Send SMS, Email, and Push with One Call

Courier sponsor

fRPC: A Faster, More Flexible RPC Framework — This is the second gRPC replacement framework we’ve seen recently (We linked to Connect in issue 421) that claims much better performance along with more flexibility.

Shivansh (Loophole Labs)

Mantil: Serverless Development Kit for Go and AWS Lambda — A serverless SDK that handles multi-staging, automatic code push, and easy access to AWS logs.

Mantil

Gaze: File/Directory Watcher Tool — Gaze can run a command the instant after you save a file (such as to run tests or a linter).

tetsu

Jobs

Senior Golang Software Engineer — Seeking Sr Software Engineers to build innovative technology that connects learners with experts in any subject, anytime, anywhere.
Varsity Tutors (Nerdy)

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