#398 — February 4, 2022 |
Go Weekly |
Go Performance from Go 1.2 to 1.18 — The creator of GoAWK, an AWK interpreter written in Go, decided to see how compiling GoAWK with numerous versions of Go would affect performance. In short, unless you’re using Go 1.6 (now six years old!) or earlier, there’s not much to worry about. Ben Hoyt |
Go 1.18 Beta 2 Released — 1.18 is the release on everyone’s mind lately and it’s one step closer with this beta. The first beta (which now has the honor of being the most popular Go beta ever) helped the team iron out some bugs in the new support for generics, and you’re encouraged to put beta 2 through its paces as well. Note that Jeremy Faller and Steve Francia |
Project Management Has Never Been Easier — Whether you're a startup that iterates quickly by giving engineers a free pallet of Red Bull, or a large org that has strict ship dates to hit, Shortcut is the ideal solution for task management, bug tracking, iteration planning, and reporting. Shortcut (formerly Clubhouse.io) sponsor |
Dumpster Diving the Go Garbage Collector — Natalie uses eBPF uprobes (used to instrument userspace functions) to collect data on marks, sweeps, and other metrics and gains a better understanding of the GC’s behavior. Plenty to learn here. Natalie Serrino |
|
Optimizing GoAWK with a Bytecode Compiler and Virtual Machine — If you didn’t pick it up from the title, this is a very technical post that digs through compiler and VM details showing how GoAWK (already mentioned above) gained some performance boosts using data-driven techniques. Ben Hoyt |
Creating a Toy DNS Resolver with Go — Julia, whose explanations are always great, describes what DNS resolvers do by writing a small (80 lines) Go program. Julia Evans |
Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring Stream sponsor |
Creating a Quick GUI using Fyne — Fyne is a toolkit for creating GUI apps and it’s easy to whip together a GUI frontend for the command line app or Go library of your choice. Stuart Scott |
TLS Validation: Implementing OCSP and CRL Verifiers in Go
|
🛠 Code & Tools |
Wish: Makes Building SSH-Based Apps in Go Easier — If you want to build a system that users can Charm |
shortuuid: Generator Library for Concise, Unambiguous and URL-Safe UUIDs — If you want short, non-sequential user-facing IDs. Peter Lithammer |
Imagor: A Docker-Ready Image Processing Server — If you want an image server that can manipulate images on the fly (a la Cloudinary, say) this is worth a look. like Uses Adrian Shum |
Coral: A Cobra Fork with Most Features, But Only 4 Dependencies — Cobra is a popular library for creating CLI apps in Go, but what if you’re willing to sacrifice a few features in return for a much smaller dependency tree? Christian Muehlhaeuser |
rqlite 7.2.0: A Distributed Relational Database Built on SQLite — 7.2.0 adds new DNS-based auto-clustering functionality. rqlite |