#212 — May 24, 2018

Read on the Web

Golang Weekly

'vgo' Dependency Management Proposal Accepted

Here's the Go Proposal Review Committee's Statement — In issue 208, we jumped the gun by saying vgo had been officially accepted but now it really has. It's fair to say a number of issues remain to be worked out and library authors and other Go developers will need to change some practices around using and releasing libraries as the year goes on.

Further reading:

We'll be sure to keep you up to date with tutorials, guides, and news as the consequences unfold.

Fix Production Bugs in Seconds with Sentry — You’re relying on users to report bugs? Use Sentry to fix production issues in real time, right in your existing workflow. Cut time to resolution from 5 hours to 5 minutes. Sentry is 100% open source and loved by 500K developers. Sign up for free.

Sentry sponsor

Updating the Go Code of Conduct — Now, harassment/inappropriate behavior “in public spaces when an individual is representing the project or its community” can result in sanctions, we’re reminded to “interpret the arguments of others in good faith”, plus the CoC now has a Project Steward (Congratulations to Cassandra Salisbury!)

Steve Francia

JSON APIs Are Just Web Applications — An epic refactoring of an existing Go web application to separate domain and repository concerns to enable easily offering both HTML and JSON-based endpoints.

Jon Calhoun

From 'godep' to 'vgo', A Commentated History — The story of how dep and vgo came to be along with a (slightly negative) reaction to vgo being officially accepted over dep.

Matt Farina

Getting Started with GraphQL from Go — Learn how to use Go to both query and mutate data using GraphQL. If you want to understand GraphQL itself, this is a good language agnostic intro.

Nic Raboy

Building a Microservice in Go Following the CQRS Pattern — This thorough tutorial has it all: Go, Nats, ElasticSearch, PostgreSQL, Docker, and more.

Tin Rabzelj

💻 Jobs

Software Engineers at JumpCloud (Boulder, CO) — JumpCloud is solving complex problems around authentication, security and cloud scaling.


Go Expert? Sign Up for Vettery — Top companies use Vettery to find the best tech talent. Take a few minutes to join our platform.


📘 Tutorials

Packaging a Go Application for macOS — You don’t even need Xcode.

Matt Holt

The Web Is Broken; Let's Fix It — The O'Reilly Podcast: Brendan Eich on disrupting advertising, decentralizing payments, and privacy by design.

O’Reilly Media, Inc sponsorpodcast

How to Efficiently Compare Strings in Go — Hint: It does not include strings.ToLower()


vgo: A Broken Dependency Tree Example — A quick example where vgo picks the wrong version of a dependency and breaks the build. Worth reading the comments on this one too.

Matt Farina

How to Create a Search Microservice — The search engine of choice here is ElasticSearch.

Ryan McCue

eBook: Efficient Project Management for Small Engineering Teams

Codeship sponsor

🔧 Tools & Code

Tidis: A Distributed NoSQL Database That Supports the Redis Protocol — Uses tikv (a distributed, transactional key/value store) as a backend.


QFrame: An Immutable Data Frame Structure for Go — Data frames have a lot in common with tables.

Tobias Gustafsson

httpstat: Colored Visualization of HTTP Request Stats — See HTTP headers, the speed of DNS lookup, initial TCP connection, etc.

Dave Cheney

Kubernetes Is Coming to DigitalOcean: Request Early Access

DigitalOcean sponsor

Bine: Go Library for Accessing and Embedding Tor Clients and Servers

Chad Retz

saltpack: A Modern Crypto Messaging Format