---
title: "Go Newsletter Issue #159"
publication: "Go Weekly"
issue: 159
published_at: "2017-05-11"
canonical_url: "https://golangweekly.com/issues/159"
---

Go Newsletter 159   . 

[Read this on the Web](http://golangweekly.com/issues/159) 

[Go Newsletter](http://golangweekly.com) Issue 159 — May 11, 2017     

Featured [Using Code Generation to Survive Without Generics](https://www.calhoun.io/using-code-generation-to-survive-without-generics-in-go/?utm_source=golangweekly&utm_medium=email) Learn how to use code generation to create type-safe code (like a Queue or LinkedList) without having to rewrite the same thing over and over again. Jon Calhoun [Error Handling Patterns in Go](https://mijailovic.net/2017/05/09/error-handling-patterns-in-go/?utm_source=golangweekly&utm_medium=email) Some patterns around the proper use of `defer`, how to wrap error checks to avoid duplication, and adding context to your errors. Nemanja Mijailovic [CockroachDB 1.0: A Production-Ready Go-Based SQL Database](https://www.cockroachlabs.com/blog/cockroachdb-1-0-release/?utm_source=golangweekly&utm_medium=email) One of the “NewSQL” generation of databases, CockroachDB is an open source, distributed SQL database designed for high availability. [Source here](https://github.com/cockroachdb/cockroach/). Spencer Kimball [Equip Your Go Apps With Backtrace - and meet our new gopher](http://backtrace.io/go/?utm_source=cooperpress=email=go) Unlike other error reporting platforms, Backtrace captures all panics and crashes, even in native libraries, with no API integration required and no runtime performance penalty. Backtracesponsored[![\](https://copm.s3.amazonaws.com/73b4dab8.png)](http://backtrace.io/go/?utm_source=cooperpress=email=go) [k6: A New Open Source Load Testing Tool](https://k6.io/?utm_source=golangweekly&utm_medium=email) Billed as “unit testing, but for performance”, k6 is built in Go and offers Docker and CLI based tools for HTTP testing. [GitHub repo](https://github.com/loadimpact/k6). k6.​io [Writing and Testing an Event Sourcing Microservice with Kafka and Go](https://semaphoreci.com/community/tutorials/writing-and-testing-an-event-sourcing-microservice-with-kafka-and-go?utm_source=golangweekly&utm_medium=email) A thorough tutorial that uses Kafka for events, Redis for CQRS, and Semaphore CI for continuous integration. Semaphore CI [Anonymizing Images with Go and MachineBox.io](https://medium.com/@matryer/anonymising-images-with-go-and-machine-box-fd0866adb9f5?utm_source=golangweekly&utm_medium=email) Building a command line utility that blanks out the faces in a supplied image using MachineBox’s FaceBox. Mat Ryer Jobs [Golang Engineer - Remote (Europe)](https://www.workable.com/j/9DB409D5C0?utm_source=golangweekly&utm_medium=email) Media company Movio seeks a remote Software Engineer based in Europe. Movio [Finding a Job Shouldn't Feel Like Work. Try Hired Today.](https://hired.com/join/?utm_source=petercooperpress&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-swe%29%28q2-17-go-weekly%29&utm_content=newsletter) Get empowered to find the job that fits you. Try Hired. Hired In Brief [Gobot 1.5 Released: The Go Robotics/IoT Framework](https://gobot.io/blog/2017/05/10/gobot-1.5-on-pins-and-boards/?utm_source=golangweekly&utm_medium=email) news New support for A2D devices, a new PWM (Pulse Width Modulation) interface, and support for the ASUS Tinker Board and C.H.I.P. Pro. Ron Evans [Enabling Microservices: Containers & Orchestration Explained](https://resources.mongodb.com/microservices?jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY17Q2&utm_content=sponsored&utm_medium=display&utm_source=gonewsletter0511) All the information you need to start learning how to build modern applications with microservices. MONGODBsponsored [Using Linux VM Sockets in Go](https://medium.com/@mdlayher/linux-vm-sockets-in-go-ea11768e9e67?utm_source=golangweekly&utm_medium=email) tutorial A look at communicating via the (relatively) new VM sockets between a hypervisor and its VMs. Matt Layher [A Go 'map' Tutorial](https://golangbot.com/maps/?utm_source=golangweekly&utm_medium=email) tutorial There’s a [similar tutorial for strings](https://golangbot.com/strings/)too. Naveen Ramanathan [If A Map Isn’t A Reference Variable, What Is It?](https://dave.cheney.net/2017/04/30/if-a-map-isnt-a-reference-variable-what-is-it?utm_source=golangweekly&utm_medium=email) tutorial Dave Cheney [Concurrent Go Apps with Goroutines and Channels](https://www.thepolyglotdeveloper.com/2017/05/concurrent-golang-applications-goroutines-channels/?utm_source=golangweekly&utm_medium=email) tutorial Nic Raboy [Go Quickstart: Helpful Tips for Experienced Programmers](http://blog.stablekernel.com/go-quickstart-helpful-tips-for-experienced-programmers?utm_source=golangweekly&utm_medium=email) tutorial Sean Swezey [Using 'Einstein Vision' Within Go for Object Recognition in Images](https://developer.salesforce.com/blogs/developer-relations/2017/05/using-einstein-vision-within-golang.html?dysig_tid=e2e73367f8974652bfd5b5882692cba5&d=70130000000lkpi&utm_source=golangweekly&utm_medium=email) tutorial Salesforce Developers Blog [Going for Go and Sticking with SQL](https://blog.poki.com/going-for-go-and-sticking-with-sql-a30faa42d643?utm_source=golangweekly&utm_medium=email) story Why Poki is ditching PHP for Go but staying with MySQL over NoSQL. Poki Engineering [An Introduction to Ponzu, a Go Headless CMS](https://www.youtube.com/watch?v=T_1ncPoLgrg&utm_source=golangweekly&utm_medium=email) video YouTube [How Did You Convince Your Team or Manager to Try Go?](https://www.reddit.com/r/golang/comments/6ac48b/how_did_you_convince_your_teammanager_to_try_go/?utm_source=golangweekly&utm_medium=email) opinion Saying that “Docker was written in Go” isn’t a bad place to start. Reddit [Debugging a Memory Leak on Heroku](https://resources.codeship.com/ebooks/debugging-memory-leaks-heroku?utm_source=email-sponsorship&utm_medium=cpc-go-weekly-secondary&utm_campaign=cooper-ebook-debugging-memory-leak-heroku-campaign) In this free e-book you will learn how to debug a memory leak on Heroku. Codeshipsponsored [Delve 1.0-rc1 Released: A Debugger for Go](https://groups.google.com/d/msg/golang-nuts/kE-ZDrJEGR4/AGlngWgiBgAJ?utm_source=golangweekly&utm_medium=email) tools Derek Parker [Unofficial Native Go Runtime for Google Cloud Functions](https://github.com/GoogleCloudPlatform/cloud-functions-go?utm_source=golangweekly&utm_medium=email) tools ‘Unofficial’ and unsupported but built by Google nonetheless. Google Cloud Platform [Glue: Generate Client Code for your Go RPC Servers](https://github.com/tejasmanohar/glue?utm_source=golangweekly&utm_medium=email) tools Tejas Manohar [Falcon: An Open Source, Enterprise-Level Monitoring System](https://github.com/open-falcon/falcon-plus?utm_source=golangweekly&utm_medium=email) code The [docs are here](https://book.open-falcon.org/en/chapter1.html). github.​com [An Official Go Implementation of the Ethereum Protocol](https://github.com/ethereum/go-ethereum?utm_source=golangweekly&utm_medium=email) code [Ethereum](https://en.wikipedia.org/wiki/Ethereum) is a blockchain-based smart contract and cryptocurrency system. github.​com [markdownd: A Markdown Renderer and Static File Server](https://github.com/aerth/markdownd?utm_source=golangweekly&utm_medium=email) code github.​com [Notable: A Simple Note Taking (Web) Application](https://github.com/jmcfarlane/notable?utm_source=golangweekly&utm_medium=email) code John McFarlane [dispenserd: A Fast and Reliable JSON-Oriented Job Queue](https://github.com/ebrian/dispenserd?utm_source=golangweekly&utm_medium=email) code Brian Seymour [Casbin: Auth Framework Supporting Multiple Access Control Models](https://github.com/hsluoyz/casbin?utm_source=golangweekly&utm_medium=email) code Yang Luo    

Go Newsletter is curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict) [Read this issue on the Web](http://golangweekly.com/issues/159) [See our archives](http://golangweekly.com/issues) [Change your email address](*|UPDATE_PROFILE|*)  [Stop getting this newsletter](*|UNSUB|*)  

Published by [Cooperpress](https://cooperpress.com/)
Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK
