#403 — March 11, 2022 |
The Go Weekly Newsletter |
GoPlay: A Better Go Playground? — Powered by React and the Monaco editor control behind VS Code, the “better” here includes a dark theme, autocompletion, a ton of loadable snippets, file loading/saving, and WASM support. There’s also a Docker image so you can have a private playground of your own and tell those kids to get off your lawn. Denis Sedchenko |
Isolating Problematic Cgo Code — This is a wonderfully explained tutorial on using parent-child processes to create, pass, and monitor file descriptors for memory- and CPU-intensive work. Jon Williams |
Understand a Complex Codebase in Minutes, Not Weeks — Decrease time to first commit with self-serve onboarding, codebase exploration, and knowledge sharing. Improve dev velocity by making it easy to search and find code and context. Sourcegraph sponsor |
Quick bits:
|
Shell Scripting with Go — John has created a John Arundel (Bitfield Consulting) |
▶ Discussing Logging in Go with Ed Welch — Ed works on the Go-powered Grafana Loki log aggregation system so knows a fair bit about the topic. (1 hour 8 minutes.) Go Time Podcast podcast |
|
Rewriting Bash Scripts in Go using Black Box Testing — When rewriting software in a new language, how do you test that your new and old programs do the same thing? Here’s how one engineer approached it. Daniel Orner |
▶ Making a Wordle Clone with Go and Ebiten — Making a word game that runs in the terminal is one thing, but how about an all singing, all dancing graphical version? Ebiten to the rescue. Avery Makes Games |
Looking at Michał Derkacz |
Finding Goroutine Leaks in Tests
|
Building a Monorepo in Go
|
🛠 Code & Tools |
termsvg: A Terminal to SVG Recording CLI Tool — The output from something like this can be much more efficient for demos in your GitHub READMEs than traditional animated GIFs. Alvaro Tinoco |
go-rabbitmq: A High(er)-Level RabbitMQ Client for Go — The official AMQP library from the RabbitMQ team is good, but what if you need a bit more like reconnection logic, boilerplate, flow control..? Enter go-rabbitmq. Lane Wagner |
Tygo: Generate TypeScript Types from Go Source Code — The idea is that you can create types for the front-end based on those used by your Go powered backend by parsing the code that’s actually there. TypeScriptify is another option in this space which uses reflection instead. Guido Zuidhof |
Site Reliability Engineer Needed (Remote) Buildkite sponsor |
Dasel: Query and Update Data Structures from the Command Line — Think of Tom Wright |
AWS Vault: A Vault for Securely Storing and Accessing AWS Credentials in Development — Stores IAM credentials in your OS’s keystore and then generates temporary credentials from those to expose to your shell and apps. 99designs |
fakegen: Single Binary CLI for Generating a Random Schema of M Columns to Populate N Rows of Data — Easy, quick, fake JSON data. Multiprocess Labs LLC |
httpx 1.2: A Multi-Purpose HTTP Toolkit for Probing Servers — A command line tool, written in Go, for running numerous HTTP ‘probers’ at the same time using the retryablehttp library under the hood. Project Discovery |
Dynamo: An Expressive Amazon DynamoDB Library — Integrates with the official AWS SDK but gives you a tidier abstraction. Greg Roseberry |
gocql 1.0: A Fast and Robust Cassandra Client Library — Hitting v1.0 for a 7 year old project is no small milestone.
|
Subfinder: Subdomain Discovery Tool for Domains
|
Permify-Gorm: Role Based Access Control (RBAC) for Your Go App
|