---
title: "What Go could look like with generics"
publication: "Go Weekly"
issue: 215
published_at: "2018-06-14"
canonical_url: "https://golangweekly.com/issues/215"
---

The latest Golang development news       

#215 — June 14, 2018 

[Read on the Web](https://golangweekly.com/issues/215)   

Golang Weekly  

[Why Add Versions to Go?](https://research.swtch.com/vgo-why-versions) — Still uncertain about vgo and why Go needs package versioning support at all? Russ Cox digs into the motivation here. 

Russ Cox   

[Go Code Refactoring: The 23x Performance Hunt](https://medium.com/@val_deleplace/go-code-refactoring-the-23x-performance-hunt-156746b522f7) — Counting on presumptions like _“concurrency is better”_ can lead to _worse_ performance. Benchmarking, tracing, and profiling with different algorithms lead to true performance gains. 

Val Deleplace   [![\](https://copm.s3.amazonaws.com/03de9929.jpg)](https://www.influxdata.com/blog/telegraf-go-collection-agent/) 

[Telegraf: The Go Collection Agent](https://www.influxdata.com/blog/telegraf-go-collection-agent/) — Learn more about Telegraf: an open source, lightweight, plugin-driven collection agent written in Go. 

InfluxData sponsor   

[Experimenting with Go's Early WebAssembly Support](https://blog.lazyhacker.com/2018/06/go-with-webassembly-early-examples.html) — The forthcoming Go 1.11 supports compiling to WASM, so some basic examples of what to do with it are certainly welcome. If you’re into this topic, you may also appreciate [these notes](https://blog.owulveryck.info/2018/06/08/some-notes-about-the-upcoming-webassembly-support-in-go.html) or [this guide.](https://blog.gopheracademy.com/advent-2017/go-wasm/) 

Lazy Hacker   

[Fo: An Experimental Language Which Adds Generics to Go](https://github.com/albrow/fo) — If you ask Go developers what new language features they’d like, ‘generics’ comes up as a common response. So, how could it work and what might it look like? 

Alex Browne   

[Using GraphQL with Microservices in Go](https://outcrawl.com/go-graphql-gateway-microservices/) — This very complete tutorial includes micorservices, gRPC, and GraphQL to create a fake online store from the ground up. 

Tin Rabzelj   

[Go 1.10.3 and Go 1.9.7 Released](https://groups.google.com/d/msg/golang-announce/_S9YQriFKuU/n6Q9DEpoAwAJ) — Minor releases including fixes to the `go` command, and `crypto/tls`, `crypto/x509`, and `strings` packages, also very minimal support to the `go` command for the [vgo](https://github.com/golang/go/wiki/vgo) transition. 

Filippo Valsorda   

[Draft Release Notes for Go 1.11](https://tip.golang.org/doc/go1.11) — Go 1.11 is due for release in August 2018 so these notes are _very_ much a work in progress. 

The Go Programming Language  

💻 Jobs  

[Sr. Software Developer at CrowdStrike (Multiple Locations)](https://app.jobvite.com/j?cj=oNYj7fwV&s=GoLang_Newsletter) — CrowdStrike stops hackers using a massive micro services architecture written in golang. 

CrowdStrike   

[Have You Tried Vettery?](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-58141) — Vettery matches top tech talent with fast-growing companies. Take a few minutes to join our platform. 

Vettery  

📘 Tutorials  

[Using Job Queues in Go for Resilient Systems](https://blog.gojekengineering.com/using-job-queues-in-go-for-resilient-systems-638526316e7e) — The reasoning and a quick proof-of-concept using RabbitMQ. 

Soham Kamani   

[How-To: Achieve Observability in Modern Applications 🔭](https://try.rollbar.com/observability-guide/?utm_source=email-nl&utm_medium=email-nl&utm_campaign=email-nl) — Deep dive into modern observability challenges and why monitoring falls short. 

ROLLBAR sponsor   

[What A Go Developer Needs to Know About Google Cloud Platform](https://medium.com/@enocom/what-a-go-developer-needs-to-know-about-google-cloud-platform-e046c9e11abf) — The options for deploying to GCP, their respective advantages, along with the services offered on the platform. 

Eno Compton (Google)   

[Hacking Drones (like the DJI Tello) with Go](https://www.hackster.io/deadprogram/hello-tello-hacking-drones-with-go-5a6a50) — This project shows how you can control the new DJI Tello drone flight commands and video using Go. 

Ron Evans   

[Gracefully Restarting a Go Program Without Downtime](https://gravitational.com/blog/golang-ssh-bastion-graceful-restarts/) 

Russell Jones   

['append' Is Not Always Thread Safe](https://medium.com/@cep21/gos-append-is-not-always-thread-safe-a3034db7975) — Using append can lead to data races, if you’re not careful. This post explains how to work around the issue. 

Jack Lindamood   

[Host Git Repository Servers w/ DigitalOcean’s One-Click GitLab App](https://try.digitalocean.com/gitlab-hosting/?utm_source=paid_newsletter+go+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=6-14-18+go+weekly+cooperpress) 

DigitalOcean sponsor   

[Faster Test Driven Development With Go on macOS](http://tysonmaly.com/programming/go/test-driven-developement-with-golang-on-osx/) — Using fswatch and grc to automatically run relevant tests on every code change. 

Tyson Maly  

🔧 Tools & Code  

[ppds: Pretty Print Data Structures](https://github.com/shivamMg/ppds) — ASCII-based pretty printing of trees, linked lists, stacks, and queues. 

Shivam Mamgain   

[usql: A Universal Command-Line Interface for SQL Databases](https://github.com/xo/usql) — The [latest release](https://github.com/xo/usql/releases/tag/v0.7.0) adds support for Cassandra and switches from dep to vgo. 

Kenneth Shaw   

[USBDMX: A USB DMX Library for Programatic Show Control](https://github.com/OliRead/usbdmx) — DMX is the standard for controlling intelligent lighting fixtures as used in stage lighting. 

Oliver Read   

[Polluter: Seed a Database with Data from YAML Files](https://github.com/romanyx/polluter) 

Roman Budnikov   

[Monitoring & Distributed Tracing for Go Apps. Try Datadog Free](https://www.datadoghq.com/monitor-go/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-GoWeeklyB) 

Datadog sponsor   

[php-parser: A PHP Parser Written in Go](https://github.com/z7zmey/php-parser) — Uses goyacc and golex libraries to parse PHP sources into AST. [Demo here](https://php-parser.com/). 

Vadym Slizov   

[stripe-go: Go Library for The Stripe API](https://github.com/stripe/stripe-go/blob/master/v32_migration_guide.md) — The latest release (v32) has some breaking changes. 

Stripe         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc) 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
