---
title: "#190: Repeatable and Isolated Development Environments for Go"
publication: "Go Weekly"
issue: 190
published_at: "2017-12-07"
canonical_url: "https://golangweekly.com/issues/190"
---

Golang Weekly 190   . 

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

[Golang Weekly](https://golangweekly.com) Issue 190 — December 7, 2017     

Featured [Debugging An Evil Go Runtime Bug](https://marcan.st/2017/12/debugging-an-evil-go-runtime-bug/) The story of a Go program that crashes on certain machines but not others which led to a _very_ low-level debugging mystery. Hector Martin [Repeatable and Isolated Development Environments for Go](https://blog.gopheracademy.com/advent-2017/repeatable-isolated-dev-environments/) Brian Ketelsen shows off some ways he works around the issue of creating isolated development environments without too much trickery involving GOPATH or otherwise. Brian Ketelsen [$20 Free On A New Linode Account](https://welcome.linode.com/go-weekly?utm_source=cooperpress&utm_medium=sponsored&utm_term=go&utm_campaign=go-weekly-primary) Get a Linode server up and running in seconds. Simply choose your plan, distro and location and you’re ready to deploy your server. Get $20 credit on a new account. Linode Cloud Hostingsponsored[![\](https://copm.s3.amazonaws.com/c19f657d.png)](https://welcome.linode.com/go-weekly?utm_source=cooperpress&utm_medium=sponsored&utm_term=go&utm_campaign=go-weekly-primary) [How to Add an Electron-Powered GUI to a Go App in 5 Steps](https://hackernoon.com/how-to-add-a-gui-to-your-golang-app-in-5-easy-steps-c25c99d4d8e0) A tutorial leaning on [astilectron](https://github.com/asticode/go-astilectron), an Electron app that lets you communicate between Go and the front-end interface over TCP. Asticode [Using GopherJS with gRPC-Web](https://blog.gopheracademy.com/advent-2017/gopherjs-grpc-web/) [GopherJS](https://github.com/gopherjs/gopherjs) provides the ability to write Go in the browser leading to streaming from a Go server to a Go client without writing your own JavaScript. Gopher Academy [Error Handling in Upspin](https://commandcenter.blogspot.com.au/2017/12/error-handling-in-upspin.html) How the Upspin project (a global file naming service of sorts) uses a custom package to represent error conditions that arise inside the system. Rob Pike and Andrew Gerrand [MailHog: Web and API-Based SMTP Testing Service](https://github.com/mailhog/MailHog) tools Written in Go, all you do is run up MailHog, set your app’s outgoing SMTP server to connect to it, and you can view outgoing mail in MailHog’s UI. Ian Kent Jobs [Interested in Blockchain, Smart Contracts, and Crypto?](https://decred.org/recruiting/) If so, we at Decred would love to make your acquaintance. We offer a fast paced environment where you will never get bored hacking on cool tech. Decred [Looking for a Job at a Company That Prioritizes Go?](https://www.vettery.com/?utm_medium=cooper-golangweekly&utm_campaign=ad-1302&utm_source=newsletter&utm_content=grouped&utm_term=tech) Try Vettery and we’ll connect you directly with thousands of companies looking for talented back-end devs. Vettery In Brief [Automating Go Development with 'make'](https://blog.gopheracademy.com/advent-2017/make/) tutorial Some ways to bring the classic Unix tool into your Go dev workflow. Kevin Burke [Managing Dependencies, Forks, and Code Patches with 'dep'](https://blog.gopheracademy.com/advent-2017/managing-dependencies-forks-and-code-patches-with-dep/) tutorial Aditya Mukerjee [2017 Year in Review for Open Source Database Software](https://hubs.ly/H09k1Xm0) Join Percona’s Chief Evangelist, Colin Charles on Wednesday 12/13, at 7:00 am PST (UTC-8) to discuss changes and trends impacting software producers using open source. Perconasponsored [Using Postgres Arrays from Go](https://www.opsdash.com/blog/postgres-arrays-golang.html) tutorial RapidLoop [Deploying a Go App to Kubernetes in 30 Seconds](https://medium.com/@sergey.kolodyazhnyy/deploy-go-application-to-kubernetes-in-30-seconds-ebff0f51d67b) tutorial Sergey Kolodyazhnyy [Processing Spreadsheet Data in Go](https://appliedgo.net/spreadsheet/) tutorial Reading and writing CSV files and processing the data inside. Applied Go [Creating Your Own Chatbot Experience with go-sarah](https://blog.gopheracademy.com/advent-2017/creating-your-own-bot-experience-with-go-sarah/) tutorial Oklahomer [Asking Reddit: Which Editor Do You Use for Go Development?](https://www.reddit.com/r/golang/comments/7h6ij9/ask_rgolang_which_editor_do_you_use/) opinion Over 100 replies, with vim, VS Code, Emacs, and GoLand leading the way. Reddit [A Code Galaxies Visualization of Go Package Dependencies](https://anvaka.github.io/pm/#/galaxy/gosearch?cx=0&cy=0&cz=0&lx=0.0000&ly=0.0000&lz=0.0000&lw=1.0000&ml=150&s=1.75&l=1&v=2017-11-30T09-00-00Z) tools It can be tricky to figure out what you’re looking at, but click around. Andrei Kashcha [Go Meta Linter: Concurrently Run Linting Tools and Normalize Their Output](https://github.com/alecthomas/gometalinter) tools The latest version (2.0) makes it far more efficient to run. Alec Thomas [5 Tools for Generating Go Structs From JSON](https://pocketgophers.com/go-structs-from-json/) tools Pocket Gophers [The Ultimate Guide to Building Database Driven Apps with Go](https://www.vividcortex.com/resources/the-ultimate-guide-to-building-database-driven-apps-with-go?utm_campaign=Go%20Newsletter&utm_source=ppc&utm_medium=Apps%20with%20Go) This book contains years of wisdom from experts & the fastest way to learn how to connect to a database with Go. VividCortexsponsored [Bombardier 1.1: A Go HTTP Benchmarking Tool](https://github.com/codesenberg/bombardier) code The [new version](https://github.com/codesenberg/bombardier/releases/tag/v1.1) includes rate limiting support and more. codesenberg [gocialite: Easy Social OAuth in Go](https://github.com/danilopolani/gocialite) code Danilo Polani [memcached-operator: A Kubernetes Operator for 'memcached'](https://github.com/ianlewis/memcached-operator) code Ian Lewis [csvutil: Fast, Idiomatic Mapping Between CSV and Go structs](https://github.com/jszwec/csvutil) code Jacek Szwec [Syzkaller: An Unsupervised, Coverage-Guided Kernel Fuzzer](https://github.com/google/syzkaller) code Google [Virtual Kubelet: An Open Source Kubernetes Kubelet Implementation](https://github.com/virtual-kubelet/virtual-kubelet) code Microsoft    

Golang Weekly is curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict) [Read this issue on the Web](https://golangweekly.com/issues/190) [See our archives](https://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
