#401 — February 25, 2022 |
Go Weekly |
flamegraph.com: A Site to Share Interactive Flamegraphs — If you’re doing some profiling of your apps with Pyroscope |
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 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 |
|
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. Lantern |
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. Nenad |
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. Kratos |
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
|
Ticker 4.5: A Terminal Stock Ticker with Live Updates and Tracking
|