#​381 — October 1, 2021

Unsubscribe  |  Read on the Web

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:

  • ▶️ A quick 15-second video showing off a demo of TinyGo running on a Raspberry Pi Pico and reacting to an orientation sensor.

  • You may recall the Go team had a well earned 'quiet week' over the summer, well they're having another one this week (and intend to each three months going forward) in order to let them focus and not get distracted by discussions and tickets 👍

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
John Arundel

Jobs

What's A Gopher's Favorite Fruit? Mango. (US Remote) — Hiring Go software engineers at Silo. Silo digitizes the food supply chain. You need food. Farms and produce distributors need you.
Silo

Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solve complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster.
Form3

Find a Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team

🛠 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
Disco

noctx: A Linter to Find HTTP Requests Made without context.Context
sonatard