#348 — February 5, 2021

Unsubscribe  |  Read on the Web

Go Weekly

gopls Now On by Default in the VS Code Go Extension — The Go extension for Visual Studio Code now uses the gopls language server by default which makes the Go code editing experience better than ever before with things like intelligent autocompletion and refactoring features. There’s an 8-minute screencast showing off what you can do and how to get started.

Go Tools Team

The State of Go — We’re looking forward to the results of the recent official 2020 Go survey, but until then we have this compilation of facts put together by JetBrains’ Florin Pățan. We discover Go is huge in China, there are over a million Go developers, and what testing and Web frameworks gophers like.

Florin Pățan

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

Generics Proposal Moves to 'Likely Accept' — Two weeks ago we mentioned how the generics proposal had become an official proposal. Now, that proposal is one step even closer to reality due to the general consensus.

Russ Cox et al.

How to Use //go:embed — We’ve linked to other articles on the new embed functionality, but this article runs through some use cases we’ve not seen before.

Carl Johnson

Go 1.15.8 and Go 1.14.15 Released — A reasonably minor collection of bug fixes, mostly.

Go Team

📘 Tutorials and Stories

Using macOS APIs and Building macOS apps with Go — An introduction to macdriver, an Objective C bridge for Go offering bindings to common Mac-based APIs.

Jeff Lindsay

Coming in Go 1.16: os.ReadDir and DirEntry — Ben created the os.scandir function in Python so who better to dig into the new analogous functionality in 1.16?

Ben Hoyt

A Better Way to Build Internal Tools — Build internal apps without the mundane, boring bits (wrestling w/ UI libraries or hacking together data sources and APIs).

Retool sponsor

Why to (Possibly) Not Use the LGPL for Go Code — This isn’t really a philosophical issue but more around static vs dynamic linking. The author suggests using the Mozilla Public License (MPL 2.0) instead to get similar benefits to the LGPL but with a simpler static linking story with no object format distribution needed.


Extend and Automate Self-Hosted 'Gitea' with FunctionsGitea is a Go-powered open source Git forge (think mini GitHub in a box). This post covers using OpenFaaS hosted serverless functions with it to create automations of the type you may be familiar with on GitHub.

Matti Ranta

▶  When Go Programs End — Michael Knyszek from the Go team joins the Go Time crew to talk about just what happens when Go programs end and how their various resources are cleaned up. There’s more to it than you might think.

Go Time Podcast podcast

▶  An Introduction to Unit Testing with Go(27 minutes.)

Chloé Powell

🛠 Code & Tools

Ticker: A Terminal Stock Ticker with Live Updates and Position Tracking — In these financially ‘interesting’ times, you might be looking at the price of stocks more often than before and this cute Go-powered tool could be just the thing for you.

Ani Channarasappa

AWS SSO Support in the AWS SDK for Go — Amazon’s Go SDK team has announced that users can now support AWS Single Sign-On (SSO) credential providers from their Go apps.

Amazon Web Services

A Go Implementation of fluent-ffmpeg — FFMPEG is basically a command line Swiss Army knife of video manipulation and editing but what if you want to work with it in a more idiomatically gopher-esque fashion? Try this.


Fast and Reliable Feature Management for the Modern Enterprise

LaunchDarkly sponsor

Notify: Send Notifications to Various Messaging Services — Supports Discord, Microsoft Tems, Slack, Telegram, Pushbullet, and e-mail.

Niko Köser

yq: A Portable Command-Line YAML Processorjq is a popular tool for working with JSON from the command line – yq takes a similar idea to the YAML world.

Mike Farah

ent 0.6: An Entity Framework / ORM for Go from Facebook — Provides a simple API for modeling any database schema as Go objects.


minikeyvalue: A Distributed Key Value Store in Under 1000 Lines

George Hotz

💻 Jobs

Enjoy Building Scalable Infrastructure in Go? Stream Is Hiring — Like coding in Go? We do too. Stream is hiring in Amsterdam. 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.


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.


🏅 Golden Oldie

asciigraph: Make Lightweight ASCII Line Graphs — We’ve linked this a few times over the years, but I still love the output from this package and it continues to get updates from time to time.

Rohit Gupta