#336 — October 30, 2020

Unsubscribe  |  Read on the Web

Golang Weekly

▶  Discussing GitHub's Go-Powered CLI — Mislav Marohnić works at GitHub and has built two Go-powered GitHub CLIs: hub and gh. Hear the answer to questions like “What led to the decision to completely rewrite the CLI in Go?”, “How were you testing the CLI, especially during the transition?”, and “What Go libraries are you using to build your CLI?” (79 minutes.)

Go Time Podcast podcast

Ebiten 2.0 Released: Easy 2D Game Development in Go — As seems to be fashionable lately, no new features here, but some breaking changes demanded the version number upgrade. Nonetheless, Ebiten remains a fantastic bit of work worth checking out (especially if you want to take part in GitHub’s Game Off next month).


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

Ardan Labs sponsor

Final Piece of File Embedding Support Committed to Go — We’ve previously featured stories about Go officially adding support for embedding files in binaries (a.k.a. go:embed) and the code is now landing. This is just a commit to Go core for now, but expect to see more in a future Go release near you!

Russ Cox

go-echarts: An 'Adorable' Charts Library — Want to put together a bar chart, candlestick chart, pie chart, or… more? We first featured this years ago when the documentation was only in Chinese, but it’s continued to mature and there’s now some English docs too :-)


💻 Jobs

Mux Is Hiring Across the Board to Build the Future of Online Video


Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. Apply now.


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


📘 Tutorials

Acceptance Testing Containerized Go Services Using 'aceptadora'aceptadora is a tool born from a need to orchestrate containers for acceptance tests from Go.

Oleg Zaytsev

Asynchronous Sorting in Go — The Go-powered Dolt database system has to sort very large batches of data. Their approach is to sort bits of the data and then merge the individual sorts.

Brian Hendriks

Building a Go Web API with the New Digital Ocean App Platform — Digital Ocean has a new application platform that is Heroku-esque in nature. Hook up a git repo and you’re done.

Jeremy Morgan

Getting Started with OpenTelemetry and Distributed Tracing in Go

OpenTelemetry sponsor

Getting Started with Cloud Spanner in Go — Cloud Spanner is a managed RDBMS that has features like automatic sharding and five 9s availability. There’s a local in memory emulator to play with it without complex setup though. Notably, Kelsey Hightower recently noted: “I’m the worlds most average DBA and Spanner makes me feel like (a) Rockstar” so it’s worth a play.

Google Cloud

▶  Creating Your Own GitHub Action with Go — Keeps things very simple by covering the basics in 9 minutes.

Michael Levan

Is My Interface Too Big? — How can you tell if an interface is getting too big and should ideally be broken down into smaller ones? Bartek shares his thoughts.

Bartek X

🛠 Code & Tools

Gamut 1.0: Generate and Manage Color Palettes and Schemes — Does lots of color related things. Parse hex color values, make colors darker or lighter, generate complementary colors, colors at specific hue offsets, and more.

Christian Muehlhaeuser

dowork: A General Purpose Task Queueing System — Queues, executes, and reschedules tasks in a goroutine in-process.

Drew DeVault

gopls 0.5.2: The Go Programming Language Server (for Editors) — No big new features but adds an allExperiments setting to opt in to experimental features being added over time (a few of which are explained here).

Go Team

Reduce MTTR By Linking Infrastructure Dashboards Directly To Logs — New Relic forwards logs straight from the agent for aggregation, tailing and correlation. Simplify your logging story.

New Relic sponsor

soup: A Beautiful Soup Inspired Web Scraper — Takes inspiration from a Python library called Beautiful Soup and provides functions for loading and parsing pages and then navigating or reading the elements on them.

Anas Khan

Harmony: A Go Module for Using Discord's APIDiscord is a popular chat app, particularly in gaming communities.


go-ora: A Pure Go Oracle Database Client — It’s rather new, but tested against Oracle 10G, 11G and 12G.

Samy Sultan

GLab: A Custom GitLab CLI Tool Written in Go — In the interests of fairness, we not only think the Go-powered GitHub CLI is great, but you can do the same with Gitlab too :-)

Clement Sam

Simple Deflicker: A Go-Powered Tool to Deflicker Image Sequences — Such as time lapses.
Lennart Demes

kmeans: K-Means Clustering Algorithm Implementation
Christian Muehlhaeuser

Thola: A Tool for Monitoring Network Devices Written in Go

go-imap 1.0.6: An IMAP4 Library for Clients and Servers
Simon Ser