#​522 — September 10, 2024

Unsub  |  Web Version

Together with  Frontend Masters logo

Go Weekly

Share Your Feedback in the Latest Go Developer Survey — It’s your latest chance to influence the direction of Go! The core team really pays attention to the results and is looking for insights into the challenges you have and improvements you want. Certainly worth a few minutes of your time.

Alice Merrick and the Go Team

Telemetry in Go 1.23 and Beyond — In early 2023, Russ Cox introduced the idea of ‘transparent telemetry’ for Go. Some folks responded poorly to the idea of it being on by default so it became opt-in and was included in Go 1.23. Here, Robert explains how useful such telemetry can be, if you’re tempted to enable it.

Robert Findley

The Frontend Masters Knowledge Quest Sale Is Going on All Week! — The Frontend Masters Knowledge Quest sale is now on! There's four new learning paths (including JS performance and code architecture) with more epic courses on the way throughout 2024 and beyond.

Frontend Masters sponsor

IN BRIEF:

How Go Tests go test (And You Can Too!) — Testing is all well and good, but who tests the tester? It’s actually quite the tale, and Rotem demonstrates how you can adopt the same approach for your own CLI tools.

Rotem Tamir (Atlas)

🛠️ How to Check for Price Drops with Functions, Cron and LLMs — A fun, practical example of using an open source (and Go powered!) functions as a service platform along with a Go function to get a bargain on some chisels..

Alex Ellis (OpenFaaS)

Statically and Dynamically Linked Go Binaries — A quick look at Go’s linking mechanisms, contrasting the differences in approach between static and dynamic dependencies and internal vs external linkers.

Alex Pliutau

Don't defer Close() on Writable Files — This post dates from 2017 and there are ways to improve this now, but it provoked an interesting discussion on Hacker News today.

Joe Shaw

Streamline Your Product Delivery with monday dev — From ideation to launch, monday dev makes product delivery faster and simpler, all in one place.

monday dev sponsor

📄 Building a Zero Trust SSH Client in Go – How to build a simplistic SSH client using Go’s standard library, and shifting it to using OpenZiti. Clint Dovholuk

📄 A Tale of Transpiling Go and Java to Ruby using LLMs – An interesting look at a successful attempt using GPT-4o and Claude. Symflower

💌 A Love Letter to Go Tom Jowitt

🛠 Code & Tools

live-pprof: Monitor Go App Performance Live in Dev — This is very new, so your mileage may vary, but it's a neat idea. Rather than profiling an app and looking at the results after, why not look at things while you Go.. (without installing the usual heavy instrumentation tools).

Clement 2026

Ergo 3.0: An Actor-Based Framework for Go — A Go-based implementation of ideas and design patterns from the Erlang world.

Taras Halturin

Sprig: 100+ Useful Template Functions for Go Templates — If you use text/template you might find this selection of template functions useful.

Masterminds

Garble: A Toolchain to Obfuscate Go Builds — Obfuscation doesn’t guarantee security but if you want your binaries to have “as little information about the original source code as possible,” Garble presents an option for Go 1.22+.

Daniel Martí

📰 Classifieds

Dragonfly (25k GitHub stars) is a modern Redis replacement. Organizations that switch to Dragonfly can see 25X performance improvements.

go-astiav: ffmpeg and libav Bindings for Go — The goal is to provide a more idiomatically Go API for FFmpeg’s various multimedia handling features. Works with FFmpeg 7 only.

Quentin Renard

Enmime 1.3: MIME Encoding and Decoding Package — Focused on generating and parsing MIME encoded emails.

James Hillyerd

  • VHS 0.8 – CLI 'home video recorder'. "Write terminal GIFs as code for integration testing and demoing your CLI tools."

  • Goose 3.22 – Database migration tool. Supports SQL and Go functions.

  • Wish 1.4.3 – Charm's tooling to make Go-powered SSH apps.

  • pgxmock 4.3 – Mock driver to test database interactions in Go.

  • Ebiten 2.7.9 – Go's simple 2D game engine.

🎁 And one for fun..

A Small Mandelbrot Set Renderer in Go — A neat and tidy example of creating a simple fractal rendering engine in Go that can also be adapted to run on the Web via WebAssembly. GitHub repo.

kochampsy