#326 — August 21, 2020

Unsubscribe  |  Read on the Web

Golang Weekly

Errors 2.0: Go Errors, But With Network Portability and More — A drop-in replacement for the standard errors package that adds things like network portability (across versions!) and stripping personally identifiable information out of errors. Check out the feature table to see how it compares to other solutions.

Raphael ‘kena’ Poss, Matt Mc, et al.

▶  Digging Into context.Context — Francesc Campoy and Isobel Redelmeier join the Go Time panel to cover an often misunderstood area of Go, the context package, and to share real-world insights into its use and misuse.

Go Time Podcast podcast

Remote Instructor-Led Go, Docker, Kubernetes, & Python Training — We offer live-streaming remote training sessions for individual engineers and companies that want to augment their knowledge in Go, Docker, Kubernetes, and Python. We’ve trained over 5,000 engineers via our carefully crafted classes.

Ardan Labs sponsor

ent: An Entity Framework / ORM for Go from Facebook — Provides a simple API for modelling any database schema as Go objects. Began life as a ‘Facebook Incubator’ project but as of v0.4.0, released this week, is now an official Facebook project.


Task 3.0: A Task Runner / make Alternative Written in Go — First mentioned in this newsletter three and a half years ago, it’s neat to see a project mature like this. v3.0.0 release notes.

Andrey Nering

💻 Jobs

Get Tech Interviews This Week — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.


Stream Provides APIs for Building Activity Feeds and Chat — Stream is looking for a full time Backend Software Engineer to join our development team. If you are interested in becoming a part of what we do, apply now.


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


📘 Tutorials

Implementing traceroute in Gotraceroute is a networking tool for displaying a path between hosts on an IP network. The end result in this case is tracesite.

Lakshay Kalbhor

▶  Building a Telegram Bot with Apache Kafka and ksqlDB — A well recorded 26-minute talk (and slide deck) digging into building a bot for the Telegram messaging system based on real world data being streamed through Kafka.

Robin Moffatt

Using askgit to Query Git Repositories with SQLaskgit is a tool (written in Go) for running SQL queries against git repos and can be used to create reports, check things, analyze codebases, etc.

Will Schenk

Upgrading CockroachDB from Dep to Go Modules

Cockroach Labs sponsor

Porting a Go and Rust CLI Tool to D — Two weeks ago we linked to a developer who built the same tool in Go and Rust to compare the languages. Another developer has gone a step further by porting to the D language.

Azi Hassan

Swimming in Datalakes with Go — This is the story of the creation of parquet-go, a Go package to write Apache Parquet files, which is a columnar-based file format for big data.


🛠 Code & Tools

Signal Context: Create Go Contexts That Cancel on Signals — Like if you want to cancel an operation when a user interrupts with CTRL+C, say.

Seth Vargo

Badge Generation Tool for pkg.go.dev — An official tool to create a badge to link to pkg.go.dev from your project’s web site or README.

Go Package System

miti: A Musical Instrument Textual Interface — Think MIDI, but with human-readable text! This is niche, but neat, and provides an interesting alternative way to control instruments over MIDI.


Logging in Go: Choosing a System and Using it — From the Honeybadger Developer Blog featuring tutorials & good advice by the coolest error monitoring solution around. 😎

Honeybadger sponsor

Nali: An Offline Tool for Querying IP Geographic Information


Pomerium: An Identity-Aware Secure Access Proxy — An open-source identity-aware access proxy that just added native support for kubernetes, istio, and serverless deployments.


Gate: A High Performance Minecraft Proxy Server — Yes, Minecraft! I’ve never got this far into Minecraft but apparently being able to move players between servers without disconnecting them is a thing and Gate can do that job.


Guora: A Self-Hosted Quora-like Webapp Written in Go


🎲 Fun and Side Projects

Piccolo: An Othello (a.k.a. Reversi) AI Written in Go — No source for this, but the fun part is you can play it on the Web as it runs via WebAssembly.. and it plays a pretty mean game. Built using the Ebiten 2D game library.

Nadim Kobeissi

If you want to get into a section like this in a future issue, let us know if you work on any interesting Go related projects you think we should include. Bonus points for games, musical, or anything with a nice visual angle we can include, but everything welcome. 😄