#283 — October 11, 2019

Read on the Web

Golang Weekly

Linear Regression with Web Assembly — “Web Assembly? Where’s the Go?” you might ask. Well, this is a really neat project (code here) involving creating a linear regression algorithm in Go then letting it be used directly in the browser via compilation to Web Assembly. I see a strong future for Go in the browser in this way.


Why Salesforce Moved from Python to GoEinstein Analytics is an AI-powered analytics dashboard for Salesforce users.. a natural fit for Python, you’d think, but Salesforce has ported most of its backend code to Go.

Guillaume Le Stum & Antonio Scaramuzzino

New Public Go, Docker & Kubernetes Training are Available For You — Per your request we’re offering public training sessions in the US & Europe. Click on the link to learn more. We have trained over 4,000 engineers and more than 200 companies from Fortune 500's to startups. Let us help you achieve your goals. Let’s Talk.

Ardan Labs sponsor

What's Coming in Go 1.14 — Although 1.14 is still a little way off (we only got 1.13 a month ago!), here’s one developer’s ‘personal picks’ for what’s new in the upcoming release.

Daniel Martí

Caddy Project Considering Dropping Proprietary LicensingCaddy Server is a popular, Go powered HTTP/2 server with ‘automatic HTTPS’ but which has had a confusing licensing system over the years (though its source has always been Apache 2.0 licensed). This seems like a good step.


How to Gracefully Shutdown a Program That's Using Goroutines — A simple example of goroutine-based worker pools and how to gracefully shut them down using context-based cancellation, WaitGroups and producer-side closing of channels.

Erik Lupander

💻 Jobs

Backend Developer (Berlin, Germany) — This fast-growing mobile advertising company is seeking a developer to work on data processing and machine learning infrastructure.


Software Engineer / Founding Teammate — A well funded, fast-moving startup that is changing the way large teams collaborate on documents. Think: GitHub for documentation.


Find A Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.


📘 Articles & Tutorials

Bad Go: Adventures with JSON Marshalling — Even if something is the standard library, it doesn’t necessarily mean it’s good or the best approach. Here’s an example involving marshalling JSON with encoding/json.

Phil Pearl

Using ent, Facebook's New Graph-Based ORM for Go — We linked to the announcement of this project last week.

Vincent Blanchon

Build Video for Your Go App in Just Two API Calls — Easily build beautiful video experiences into your Go app. Create a free Mux account with no payment information needed.

Mux sponsor

▶  Discussing Go Application Design — Four developers talk about application design in Go — principles, trade-offs, common mistakes, patterns, and other things to consider.

Go Time Podcast podcast

Flying a DJI Tello Drone with Go — Buy a little camera drone, use Gobot, and you too could be controlling a flying object from Go code.

Ferdinand Mütsch

Large Scale Unit Testing for Go Packages — An academic paper.

Kean Ho Chew, et al.

Our Favorite Go 1.13 Features at Banzai Cloud

Márk Sági-Kazár

Creating Simple Immutable Builders Using Value Receivers

Preslav Rachev

🛠 Code & Tools

GolangCI-Lint: A Linter Runner/Aggregator for Go — Configurable. Colored output. Can integrate with VS Code, Emacs and Sublime Text. Claims to be 5x faster than gometalinter.

Isaev Denis

Muon: GPU-Based 'Electron on a Diet' — A lightweight alternative to Electron written in Go in around ~300 lines of code, using Ultralight instead of Chromium.


DevDash: A Configurable Terminal Dashboard for Developers — Create a terminal based dashboard for data from GitHub, Google Analytics, or Google Search Console. GitHub repo.

Matthieu Cneude

Monitor the Health and Performance of Your Go Apps with Datadog APM

Datadog APM sponsor

MongoDB Go Driver Version 1.1.2 Now Available — There are stability and reliability improvements for MongoDB’s official Go driver.

Dj Walker-Morgan (MongoDB, Inc.)

ccitt: A Package to Decode Fax Machine ImagesCCITT compression is used to compress images for sending between fax machines. Amazingly, there’s a Go library for that.


🕰 ICYMI (Some older stuff that's worth checking out...)