#435 — November 4, 2022 |
|
The Go Weekly Newsletter |
▶ How Go Programs Keep Working (By Being Boring) — In a talk given at GopherCon 2022 last month, Russ dug into Go’s “compatibility promise” that ensures your Go code will keep working even as the Go runtime evolves. “Boring can be good,” Russ says. Russ Cox |
'The Real Problem with Go' — Some yin to Russ's yang! This author’s complaint is around the challenges around contributing to Go and perceived bottlenecks in the project’s processes. These sorts of posts often inspire discussion and so did this one: over on Hacker News. Vanity Notes |
Gophers - Opportunity is Knocking — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you. Ardan Labs sponsor |
HTTP Resource Leak Mysteries in Go — Stories of hunting down various leaks in production software are often interesting and informative, and this one is particularly good. Read on to find out how the term “prime suspect” can mean more than one thing. Spike Curtis |
Proposal: User-Defined Iteration using a Range over Func Values — Russ sets forth a proposal to add push and pull functions to ranges making them more functional and enabling some nice use cases, many of which Russ describes in the proposal. As you might imagine, there’s lots of good discussion here. Russ Cox |
Go 1.19.3 and Go 1.18.8 Released — Minor point releases that fix one security issue with Matthew and Heschi for the Go team |
IN BRIEF
|
Build a Desktop App in Go Using Wails and React — As Electron is to Node.js, Wails is to Go – sort of. With Wails, you can build desktop apps for Mac, Linux and Windows with JavaScript in the front, Go in the back. This is more an intro than a full walkthrough, but there’s a handy repo if you want to see how the code fits together. Ed Rutherford |
'Thread-Local State in Go, Huh?' — There isn’t thread-local state in Go, but Andrei shows off a ‘trick’ that could help you to retain the thread identity on the hot path, at least. Andrei Pechkurov |
Most Common Kubernetes Security Misconfigurations — Learn to easily identify Kubernetes misconfigurations and deploy identity-based infrastructure access on November 16. Teleport | goteleport.com sponsor |
Using Arsen Musayelyan |
Processing Large Files with Go — Using concurrency to speed up large file processing. Snassr |
🛠 Code & Tools |
Box CLI Maker: Make Highly Customized Boxes for Your CLI — Boxes, packages.. it all comes together here. Single lines, double lines, a mixture of the two.. rounded corners, only the corners, and more besides. v2.3.0 adds more customization options and examples. Swastik Baranwal |
Rueidis: Performance-Oriented Redis RESP3 Client — Heavy Redis users rejoice. Rueidis supports auto pipelining of non blocking commands, connection pooling, (optional) client side caching, and more. Rueian |
Permify: Authorization Service Based on Google Zanzibar — Zanzibar is a global authorization system used by Google and this is a Go-based implementation of the ideas outlined in Google’s paper. Ory’s Keto is another such implementation. Permify |
go-wiki: A Wikipedia API Wrapper for Go — Focused on making it easy to search Wikipedia, grab entries, etc. rather than do admin. Triet Nguyen |
Wrapcheck: Linter to Check Errors from External Packages are Wrapped — It’s also available as part of the golangci-lint meta linter, if you’d prefer. Tom Arrell |
|
MariaDB Operator for Kubernetes — Declaratively manage MariaDB using Kubernetes CRDs instead of imperative commands. Martín Montes |
Alphavet: A Linter to Detect Functions Not in Alphabetical Order — I’d not want this feature, but if you do.. It has a neat name though! Steve Kemp |
|