#​395 — January 14, 2022

Unsubscribe  |  Read on the Web

Go Weekly

Bintris: A 'Binary Tetris' Mobile Game Built in Go — It’s not every day we get to see a mobile game developed in Go, let alone an open source one. It’s on the Play Store too if you want to support the author’s efforts. Worth a look at the code if you want to target mobile devices from Go too.

Magnus Lallassu

Effective Error Handling in Go — Demonstrates the basics of handling errors in Go, as well as some simple strategies you can follow in your code to ensure your program is robust and easy to debug.

Brandon Schurman

Powerful API and Analytics Makes Building Video in Your Go App a Snap — Mux is an API-first platform that makes it easy to build video into your apps. Live and on-demand video stream beautifully to any device, plus analytics are built-in so you can track engagement.

Mux sponsor

BRIEF BYTES:

What npm Should Do Today to Prevent a New 'Colors'-Style Problem Tomorrow — Essentially a JavaScript developer went a little rogue on his own projects and messed them up to an extent where they were unusable. This broke numerous downstream projects, and Russ Cox thinks that npm, in particular, could learn a little from Go’s approach to dependencies.

Russ Cox

▶  Things Google's Go Team Would Remove From The Language (If They Could) — A brief extract from a recent Go Time episode (3 minutes).

Go Time Podcast

Jobs

Sr. Software Engineer at Rumble Network Discovery (Remote) — Rumble delivers amazing network discovery and asset inventory capabilities for modern enterprises. Learn more at rumble.run.
Rumble Network Discovery

Backend / API Engineer at Textile (Remote) — Written primarily in Go, built on top of protocols like Libp2p, IPFS, & Filecoin, and is deployed to Google Kubernetes Engine. You'll interact with layers throughout the stack and own responsibilities from R&D to implementation and production monitoring.
Textile

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

When More Parallelism Doesn't Mean More Performance — Can we make bubble sort faster by using multiple ‘workers’ (goroutines) to compare different array entries in parallel? Nope, that would be against the (Amdahl’s) law, but sometimes it’s the journey that’s the fun part.

Stuart Scott

▶  Go Beyond Work — No, this isn’t the title of some career self help book, but a chat between five Go developers who look at cool and interesting ways to use Go beyond traditional work projects including 3D modelling and game development.

Go Time Podcast podcast

🛠 Code & Tools

duf: Think htop but for Disk Usage — For Linux, BSD, and macOS and written in Go. A bolder alternative to df!

Christian Muehlhaeuser

Compress: Optimized Compression Packages for Go — Covers a variety of compression standards like zstandard, S2, gzip, and zip.

Klaus Post

GoReleaser 1.3: Deliver Go Binaries As Fast and Easily As Possible — Built with CI tools in mind. GitHub repo.

Goreleaser

Remark42: Privacy-Focused Lightweight Commenting Engine — Want some privacy-friendly Go powered commenting with social login, moderation, and more? GitHub repo.

Umputun

Shortcut Puts the Agile in Agile and the “Can” in Kanban

Shortcut (formerly Clubhouse.io) sponsor

Flipt: A Self Hosted Feature Flag System — Add ‘feature flag’ support to your existing applications, with a simple, single UI and API. GitHub repo.

Mark Phelps

go-github v42.0: A Go Client for the GitHub v3 API — This is for the REST API. For the v4 GraphQL API consider this instead.

Google

Miller: A Go-Powered Textual Data File Swiss Army Knife — Boasts being like awk, sed, cut, join, and sort for data formats such as CSV, TSV, and JSON, and works at the data level rather than by demanding character positions to break data up. Think jq but for CSV, perhaps.

John Kerl

govcl 2.2: A Cross-Platform Go GUI Library — No HTML here, it uses the cross platform GUI library that Lazarus (a Pascal IDE) does.

不在乎y

TOML 1.0: TOML Parser for Go with Reflection
Andrew Gallant