#​401 — February 25, 2022

Unsubscribe  |  Read on the Web

Go Weekly

flamegraph.com: A Site to Share Interactive Flamegraphs — If you’re doing some profiling of your apps with pprof and want to share the resulting flamegraphs, this slimmed down version of Pyroscope is for you. It also includes a feature to diff two flamegraphs.


The Internals of Go's New Fuzzing System — While the new fuzz testing feature in 1.18 has gotten a lot of press, no one has dug in and described how it works. Jay, who was part of the team that built it, does just that.

Jay Conrod

ButterCMS Melts into Your Go App $ ButterCMS.getposts() — ButterCMS is your content backend. Enable your marketing team to update website + app content without needing you. Try the #1 rated Headless CMS for your Go app today. Free for 30 days.

ButterCMS sponsor

Proposal: Add Memory Arenas to Go — Memory arenas are a form of region-based memory management that offers some benefits around efficiency and simpler garbage collection. Apparently, folks at Google have implemented something similar and see significant CPU and GC savings.

Dan Scales

🐦  Russ Cox Corrects Article That Contains Misleading Points on Go — Russ takes aim at a pro-Rust post that compares to older versions of Go (1.10 and 1.16) and misuses graphs and takeaways from other articles.

Russ Cox on Twitter

▶  Fuzz Testing in Go in 8 Minutes — A quick explanation and demo of one of the more exciting features coming up in Go 1.18 if you're less interested in the internals (above) and more about day to day use.

Alex Pliutau


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

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.

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.

Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring

Retrofitting Async/Await in Go 1.18? — Is there a use case for an async/await construct (like JavaScript’s) in Go? Bob thinks so and he uses Generics to create a package and demonstrate the results.

Bob Fang

On Self-Modifying Executables in Go — Another comparison with Rust that attempts (and somewhat succeeds) in creating a Go binary that can modify itself by incrementing a counter. Fun hackery.

Alex Muscar

Embedding NATS in Go — Did you know you could embed a NATS server right inside your Go application? It’s pretty simple and the performance is also quite impressive.

Karan Pratap Singh

🛠 Code & Tools

systray: Cross-Platform Library to Place an Icon/Menu in the Notification Area — Supports Windows, macOS and Linux. I only tried it on macOS but it lets you put something in the macOS menu bar/icon area while your app is running.


Newser: Scrapes News Articles into a PDF Document — The creator of this tool is a gopher with a new e-ink reader (which has no Web browser) and they wanted to be able to read the news in a single PDF document on their device.


GitLeaks 8.3: Check Git Repos and History for Secrets and Keys — Worried if you’ve got things like AWS details, GitHub tokens or SSH keys hanging around your project’s git repo? Find out for sure with this Go-based tool.

Zachary Rice

Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring

Stream sponsor

Kratos 2.2: A Go Framework for Cloud-Based Microservices — A “microservice-oriented governance framework” built around HTTP/gRPC.


Multiple Progress Bar: Progress Bars for Go CLI Apps — Straightforward textual progress bars with support for rendering multiple bars at the same time.

Vladimir Bauer

gldap: Build LDAP Services with Go
Jim Lambert

Ticker 4.5: A Terminal Stock Ticker with Live Updates and Tracking
Ani Channarasappa