#​378 — September 10, 2021

Unsubscribe  |  Read on the Web

Go Weekly

The Busy Developers's Guide to Go Profiling, Tracing, and Observability: A Work in Progress — The first parts of a promised handy guide are available, but what an excellent start it is. Felix, whose work is well known in the Go community, deftly explains goroutine scheduling and how Go allocates and collects memory. One to watch, and we'll link again when it's more complete.

Felix Geisendörfer

⚠️ There have just been two new minor Go releases to fix a security issue in archive/zip: Go 1.17.1 and 1.16.8

I18n in Go: Managing Translations with x/text — You’ll learn how to use the golang.org/x packages language and message along with the gotext tool to generate i18n catalogs and localizers, as well as the workflow for creating translations.

Alex Edwards

[Guide] Ship Fast. Stay Ahead of the Competition — High speed doesn't have to mean high risk. Companies like Intuit, IBM, & Atlassian don't let release processes stand in their way. Learn their strategies to move faster, safer and stay ahead of the competition.

LaunchDarkly sponsor

How We Went 'All In' on sqlc/pgx for Postgres in Gosqlc generates Go from files of SQL queries which provide many of the same benefits as an ORM without some of the downfalls. This is not a one size fits all scenario though and is hugely a matter of preference.

Brandur Leach

QUICK BITS:

  • Ent, a Go entity framework open sourced by Facebook, has joined the Linux Foundation.

  • Bartek Plotka has announced a new Go book he and Frederic Branczyk are working on with O'Reilly: Efficient Go. It's due in 2022 and there's a Discord server you can join if you want to get involved or discuss Go efficiency topics in general.

  • An example of using Go, GopherJS and Three.js to create a basic 3D graphics demo.

Scheduling Function Calls with Zero Allocation — The context for the research here is GUI programming (and resulting in a PR to the Fyne project) and scheduling function calls with minimal allocations. Expect to read about channels and escape analysis.

Changkun Ou

▶  Discussing Building Actually Maintainable Software — Four developers discuss the idea of building maintainable software and what about Go makes it well suited to the task.

Go Time Podcast podcast

Go Is Pass-by-Value — But It Might Not Always Feel Like It — When is Go pass-by-value, when is it pass-by-reference, and when is it something…else. There is a method to the messiness, but it takes explanation and experience to see it.

Neil Alexander

A Nasty Bit of Undefined Timezone Behavior in Go
Zach Musgrave

A Guide to Contract Testing with PACT and Go
Marko Milojevic

Jobs

Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team

100% Remote: Looking for German-Speaking Go Developer (m/w/d) — Adtech based on Golang, MySQL, Clickhouse, Redis, moving from bare metal to AWS: we've got lots of plans. Are you in?
Fireball Labs GmbH

Find Tech Jobs with 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

🛠 Code & Tools

Age 1.0: Simple and Modern Encryption Tool (and Go Library) — Boasts small explicit keys, no config options, and UNIX-style composability.

Filippo Valsorda

Create Go App CLI: Create a New Go Project with Backend, Frontend and Deploy Automation — If you’re familiar with something like Facebook’s Create React App, this is a similar idea for putting together a barebones full stack Go app.

Create Go App

gron: Make JSON Greppable — A tool written in Go that transforms JSON into more easily greppable assignments, so you can use grep and see the context/path of the result. Useful.

Tom Hudson

Optimize Golang Code Performance in Any Environment with Datadog APM Profiling

Datadog sponsor

go-pst: A Library for Reading PST Files — PST (Personal Storage Table) files are used by Microsoft Outlook to store various things like calendar events and contacts.

Mooij Technologies

INI: .INI File Reading and Writing LibraryINI is a simple config file format well known in Microsoft operating systems and as PHP’s main php.ini config file.

Numerous Contributors

Joker: A Small Interpreted Dialect of Clojure Written in Go — Want a solid example of an interpreter written in Go and to play with Clojure? Wait ‘til you get a load of this.

Roman Bataev

Clash 1.7: A Rule Based HTTP/HTTPS and SOCKS Tunnel
Dreamacro

termdbms: A TUI for Viewing and Editing SQLite Databases
Matt Farstad