#422 — July 29, 2022 |
The Go Weekly Newsletter |
Charm Gum: A Tool for 'Glamorous' Shell Scripts — Much like actual gum, this is something you’ll either love or hate! It lets you create a CLI-based wizard just by providing a few arguments. The README is fantastic and packed with examples and animations. And if you’d rather brew your own in your own Go code, Bubble Tea and Lip Gloss, upon which Gum depends, are waiting for you too. Charm |
Building a Terminal-Based Pong Game in Go — Certainly an interesting learning experience, and this is a fun and engaging walkthrough that’ll be of particular interest if you want to pick up tcell for creating elaborate terminal experiences, visualizations, and the like. Josh Alletto |
GV (Google Ventures) Invests $35M Into Golang Notification Infrastructure — Too many engineering resources are wasted on notification template building and routing rules. This scalable and reliable no-code UI has parity with a robust API that lets you deliver to your users their preferred experience. Courier.com sponsor |
Go 1.19's Revised Memory Model — First mooted in a post by Russ Cox last year, Go 1.19 is seeing some revisions to Go’s memory model that aligns it more with other languages (C, C++, and Rust, for example), as well as some new types in the The Go Team |
GoLand 2022.2 Released — The latest version of JetBrains’ popular (commercial) Go IDE is here with new features supporting generics and Go workspaces as well as fuzz testing. “In addition, GoLand now supports WebSocket connections and can send GraphQL queries over HTTP and WebSocket protocols.” JetBrains |
QUICK BITS:
|
Building an Ephemeral Note Sharing Service in Go — A fun tutorial that creates a self-destructing notes service from scratch using minimal dependencies (but a little Redis.) Dustin Gorski |
Exploring Function Parameter Types with Go Tooling — The example uses the Eli Bendersky |
Ten Gotchas While Building a Universal Currency Candlestick Iterator in Go
|
🛠 Code & Tools |
LiteFS: FUSE-Based File System for Replicating SQLite Databases Across a Cluster — This comes from the creator of BoltDB and Litestream fame, so the provenance is second to none and it’s fascinating to see SQLite continue to be taken to exciting new places. Ben Johnson |
Speedbump: A TCP Proxy for Simulating Variable Network Latency — The code is very straightforward and easy to read, I found. ToxiProxy is a bigger option in this space too, if you need even more chaos. Paweł Kuffel |
Unlock Completely Free Access to Stream's Chat and Activity Feed APIs Stream sponsor |
HLive: Server-Side WebSocket-based Dynamic Template-less View Layer — Think ‘single page JS app’ feel but with server-side Go goodness powered by a server-side virtual DOM. Sam Hennessy |
Chris: A Pratt Parser Implementation — This parser is focused on parsing mathematical expressions, and sadly has nothing to do with actor Chris Pratt. Woo Jia Hao |
gin-rate-limit: A Rate Limiter for the Gin Framework
|
⚡️ LIBRARY RELEASES: modernc/sqlite 1.18.0 – Now supports 🔧 RELEASES OF TOOLS WRITTEN IN GO: Buf 1.7 – CLI tool for working with Protocol Buffers. |
|