#214 — June 7, 2018

Read on the Web

Golang Weekly

Using Go for 'Industrial' Programming — From a talk at GopherCon EU, Peter offers some excellent advice around foundational items, such as code structure, goroutine lifecycle management, and context use and misuse.

Peter Bourgon

Pigo: A Pure Go Face Detection Library — Based upon an approach called Pixel Intensity Comparison-based Object (PICO) detection, explained in this paper.

Endre Simo

Experience the O'Reilly Fluent Conference for Just $199 — Don't let time or budget be an excuse to miss Fluent. Get access to keynotes with speakers like Cory Doctorow and Brendan Eich, events like the Better Together Block Party, and sponsored sessions from companies like AWS and Akami. Grab your pass today.

O'Reilly Media, Inc. sponsor

Learning Go’s Concurrency Through Illustrations — An excellent primer on goroutines and channels using whimsical animations.

Trevor Forrey

Go Vanity URLs: Use A Custom Domain in Your Go Import Path — If the news that Microsoft is acquiring GitHub has you worried, maybe it’s time to make your Go packages available from your own domain? This tool by Google makes it simple to set up and manage. gopkg is another hosted solution.

Google Cloud Platform

An Exploration of Go Memory Management — An overview of the various ways in which you can manage memory from Go and how Go’s allocator works.

Povilas Versockas

What is Software Engineering? — The latest followup in Russ Cox’s series on versioning in Go briefly touches on how Go’s design decisions are typically motivated by software engineering concerns.

Russ Cox

💻 Jobs

Golang Developer — We are currently seeking a number of highly skilled and talented System Developers to join our dedicated development team in Dublin.


Go Expert? Sign Up for Vettery — Vettery matches top tech talent with fast-growing companies. Take a few minutes to join our platform.


📘 Tutorials

Type-Unsafe Pointers in Go — Using unsafe pointers can help write better code in some (rare) cases, but it’s very easy to introduce hard-to-detect errors. You better read this before you start.

Go 101

Fix Production Bugs in Seconds with Sentry — Relying on users to report bugs? Use Sentry to fix production issues in real time & in your existing workflow.

Sentry sponsor

Why Doesn't Go Have Variance in Its Type System?

Axel Wagner

How to Write Bulletproof Code in Go: A Workflow for Servers That Can’t Fail

Tal Kol

Backing Up GitHub and GitLab Repositories Using Go — In case, for some reason, you want to backup your repositories..

Amit Saha (Linux Journal)

How time.Sleep Works in the Go Runtime

Ian Lance Taylor

eBook: How to Refactor a Monolithic Codebase Over Time

Codeship sponsor

▶  Getting Started with OAuth2 in Go

Package Main

🔧 Tools & Code

GolangCI-Lint: A Linter Runner/Aggregator for Go — Configurable. Colored output. Claims to be 5x faster than gometalinter.


ZSocket: Zero-Copy Sockets for Linux in Go

Nathan Sweet

githubv4: Go Client Library for GitHub's GraphQL API v4

Dmitri Shuralyov

sbr-go: A Sequence-Based Recommender/Prediction System

Maciej Kula

Blush: It's 'grep', But With Colors — A command-line utility that allows you to specify the colors of each match.

Arsham Shirvani

jp: Simple Terminal Plots From JSON (or CSV) Data — Bar charts, line charts, scatter plots, histograms and more.

Sergey Grebenshchikov

Linux Cloud Hosting Starting at 1GB of RAM for $5/mo

Linode Cloud Hosting sponsor

consulacl: Go Library for Working with Consul ACLs

Anexia Internetdienstleistungs GmbH

Gobot 1.11 Released: A Go-Powered Robotics Framework — Updates to the newest go-sdl2 package, and now supports the XBox 360 Rock Band drum controller and the T-Flight Hotas X flight controller.

Ron Evans