#234 — October 25, 2018

Read on the Web

Golang Weekly

GoDoc Playground: Experiment with GoDoc Formatting in Real Time — A neat online tool for playing with the GoDoc code documentation syntax and seeing how changes affect things in real time. Sure, you can do this locally, but I find doing things with a real time update really helps the learning process.

Bradley Kemp

Proposal: Make Incompatible Changes From Go 1 to Go 2 Breaking As Little As Possible“If the proposal works as planned, then in an important sense there never will be a Go 2. Or, to put it a different way, we will slowly transition to new language and library features.” Rather than break things for a fresh new version 2, gradual improvements could make life easier.

Ian Lance Taylor

Level Up ‘go test’ with ‘gotestsum’ — How to make the output of go tests more useful for local development as well as for CircleCI.

CircleCI sponsor

Go 101: An Online Guide to Go Syntax and Semantics — An online book aimed at developers who want to poke around with some of the details of Go. The tips and details pages are where the bulk of the value is.


Participate in the 2018 Go Company Questionnaire — The core Go team are keen to hear from you if you work at a company using Go. It’s a 7 minute questionnaire that will help them improve the experience for commercial users. Closes October 30th.

Ran Tao and Steve Francia

PDF: The Past, Present, and Future of Go 2 — Yes, a slidedeck, but packed with interesting info and examples.

Dave Cheney

▶  CSVQL: Building Something to Serve CSV with SQL — Francesc and his popular JustForFunc series are back - this time he starts work on a simple SQL-based frontend for serving up CSV-based data using go-mysql-server

Francesc Campoy

💻 Jobs

Architect, Senior Software Engineer - Subscriptions (SF) — Operating at massive scale, Twitch Subs is seeking a Senior Architect to experiment, build and scale solutions across our organization.


Join Our Career Marketplace & Get Matched With A Job You Love — Through Hired, software engineers have transparency into salary offers, competing opportunities, and job details.


📘 Tutorials

Reverse Geocoding Coordinates to Addresses in Go

Nic Raboy

How to Build a Single-Page App with Go and Vue — Learn how to build comprehensive single-page apps using Go and Vue.

Kleber Correia

Refactorings in GoLand IDE: Deep Code Insight and Smart Undo — Learn how these essential development tasks can be performed safer & quicker.

JetBrains sponsor

Go Concurrency Patterns — A couple of patterns to leverage for different use cases along with some solid advice.

Frew Schmidt

▶  Creating a Fake 3D Tunnel Effect in Go — One for the creative/graphics programmers, particularly if you dig 90s-style demo effects. Fun!


Doing Well by Doing Bad: Writing Bad Code with Go — Perhaps less a tutorial and more a satirical take on ways to make your Go code worse. Sometimes it’s valuable to reflect on what not to do(!)

Jon Bodner

How to Black Box Test a Go App with.. Ruby!? — This approach might suit you if Ruby is in your stack and you have a rather specific use case..

Dmitriy Lutsko

▶  How Do You Structure Your Go Apps? — There is almost always more than one answer and it can be tricky to decide what will work best. 43 mins.

Kat Zien

Using go mod download to Speed Up Go Docker Builds

Peter Malina

🔧Code & Tools

Ebiten: A Simple 2D Game Library for Go — The latest release includes an experimental WebAssembly port, polygon support, and multi monitor support.

Hajime Hoshi

Using Heptio Ark to Back Up and Restore Kubernetes Objects on DigitalOcean

DigitalOcean sponsor

Litter: A Pretty Printer for Go Data Structures — Handy for debugging and testing.


Godown: A Distributed, Fault-Tolerant Key-Value Store Built in Go — Uses the Raft protocol for consensus and natively supports strings, bitmaps, maps, and lists.

Igor German

progressbar: A Basic, Thread-Safe Progress Bar

Zack Scholl

movingtriangle: A Basic Example of Using macOS's Metal API from Go — Metal is a low-level 3D graphic and compute shader API programming interface. The code is reasonably straightforward.

Dmitri Shuralyov

Ultimate Plumber: A Tool for Creating Linux Pipes with Instant Live Preview — It’s increasingly the case we’re linking to cool things built with Go than Go libraries themselves and this is no exception.

Mateusz Czapliński

resty: Simple HTTP and REST Client Library for Go

Jeevanandam M.