#381 — October 1, 2021 |
Go Weekly |
Twisting AWS Lambda to Make an Australian Search Engine — A fun look at a way to twist AWS’s serverless platform to unexpected ends by embedding a large search index into numerous compiled serverless functions and using these to power a small search engine. Beautifully done and with some Go at its heart. Ben E. C. Boyter |
genqlient: A Truly Type-Safe Go GraphQL Client — A newly open sourced GraphQL client from Khan Academy that supports both writing queries next to code and GraphQL files. Developer ergonomics are a strong point here. Ben Kraft (Khan Academy) |
Live Streaming for Go Apps — From zero to live streaming in a couple of minutes. Mux Video is an API-first platform that makes it easy to build beautiful live video that streams everywhere. Mux sponsor |
Foundations: WebAssembly in Go is Fantastic — Finally a WASM in Go tutorial that goes beyond the simple “Hello World!” examples, touching on passing JSON and arrays between Go and Javascript, as well as using TinyGo for smaller files. Philippe Charrière |
▶ Go on Hardware: TinyGo in the Wild — We’ve championed TinyGo a lot in this newsletter over the years and it’s great to hear directly from gophers working on the hardware side of things talking about things like controlling video hardware, programming Bluetooth devices, making WiFi work on Arduinos, and more. (70 minutes.) Go Time Podcast podcast |
QUICK BITS:
|
The Difference Between Go and Rust — This isn’t deep by any means but the languages are often compared despite having different use cases and approaches. Dominik Braun |
Wrapping Errors the 'Right' Way — The author argues to not include information the caller already knows in your errors, although this is just one opinion. Hunter Herman |
awesome-go-style: A Collection of Go Style Guides — A list of links to things to read about Go code style including specific Go style guides. Damian Gryski |
Generics in Go: A Down to Earth Tutorial
|
|
🛠 Code & Tools |
RateLimiter: A Concurrent Rate Limiter Library — Based on a sliding window rate limiting algorithm. Use this anywhere you need to rate limit anything in Go code. Narasimha Prasanna HN |
Ultimate Service: Starter Code for Writing Web Services in Go — A lighter alternative to something like Buffalo or Beego that you can re-work into what you need if you want more control. Ardan Labs |
Unusual Generics: Collection of Unusual Generics Use Cases — Early days for this, but you’re encouraged to submit your own. Vladimir Stolyarov |
All-Star Lineup Announced for Cloud Engineering Summit - Save Your Seat Pulumi sponsor |
A Proof-of-Concept RPC 'Framework' in 20 Lines of Go — A use case for generics. The go2go Playground |
SQLBoiler 4.7(.1): Generate a Go ORM Tailored to Your Database Schema — The idea is that you create your schema at the database level first and then this interrogates the schema and generates ORM code for Go based upon the actual design. Volatile Technologies Inc. |
Massh: Go Package for Running Linux Distributed Shell Commands over SSH
|
noctx: A Linter to Find HTTP Requests Made without |