---
title: "#164: First Beta of Go 1.9 Released"
publication: "Go Weekly"
issue: 164
published_at: "2017-06-15"
canonical_url: "https://golangweekly.com/issues/164"
---

Go Newsletter 164   . 

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

[Go Newsletter](http://golangweekly.com) Issue 164 — June 15, 2017     

Featured [First Beta of Go 1.9 Released](https://groups.google.com/d/msg/golang-announce/4NhDbvlC4pM/nowY_nAlAAAJ?utm_source=golangweekly&utm_medium=email) news [Builds here](https://golang.org/dl/#go1.9beta1) or use [this process](https://godoc.org/golang.org/x/build/version/go1.9beta1) to install with Go itself. Chris Broadfoot [The Draft Go 1.9 Release Notes](https://tip.golang.org/doc/go1.9?utm_source=golangweekly&utm_medium=email) The first beta is out, and these work-in-progress notes will bring you up to speed with what’s new, including type aliases, parallel compilation, and GC speedups. golang.​org [Advanced Command Execution with os/exec](https://blog.kowalczyk.info/article/wOYk/advanced-command-execution-in-go-with-osexec.html?utm_source=golangweekly&utm_medium=email) Covers simple execution to handling stdout and stderr separately to showing progress, all with just the standard library. Krzysztof Kowalczyk [End-to-end visibility into Go app performance](https://www.datadoghq.com/monitor-go/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-GoWeekly&utm_content=Go) Graph and alert on custom Go metrics and 150+ other techs. Try Datadog APM + infrastructure monitoring for free. Datadogsponsored[![\](https://copm.s3.amazonaws.com/385795bb.png)](https://www.datadoghq.com/monitor-go/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-GoWeekly&utm_content=Go) [A Theory of Modern Go](http://peter.bourgon.org/blog/2017/06/09/theory-of-modern-go.html?utm_source=golangweekly&utm_medium=email) A case for dependency injection over of global variables and init() functions. Peter Bourgon [Imagining Go Without Package Scoped Variables](https://dave.cheney.net/2017/06/11/go-without-package-scoped-variables?utm_source=golangweekly&utm_medium=email) A thought experiment in that applies Peter Bourgon’s approach of having no package-level variables or init functions to the standard library. Dave Cheney [Design Philosophy On Data And Semantics](https://www.goinggo.net/2017/06/design-philosophy-on-data-and-semantics.html?utm_source=golangweekly&utm_medium=email) Explaining the use of value vs pointer semantics with philosophy, specific guidelines, and examples from the standard library. William Kennedy [Deploying a Go App with systemd Socket Activation](https://tailordev.fr/blog/2017/06/09/deploying-a-go-app-with-systemd-socket-activation/?utm_source=golangweekly&utm_medium=email) Serving an HTTP API via systemd and socket activation, which allows for continuous, hot deployments. TailorDev [Don’t Defer Close() On Writable Files](https://joeshaw.org/dont-defer-close-on-writable-files/?utm_source=golangweekly&utm_medium=email) Even though it’s a common Go idiom, using defer to call `Close()` on writable files can lead to hard-to-find bugs. Joe Shaw Jobs [Golang Backend Engineer (Berlin, Germany) (f/m)](https://fraugster.com/jobs/senior-backend-engineer/) We’re looking for senior Golang developers interested in building scalable backend services for real-time anti-fraud detection. Fraugster Ltd [Be Passionate about your Work. Get Hired](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) Your dream job is out there, use Hired to find it faster Hired In Brief [Build Faster. Test More. Fail Less. Easy CI/CD for Go.](https://circleci.com/beta-access/?utm_source=cooperpress&utm_medium=newsletter&utm_content=go-newsletter&utm_campaign=june) news Join our 2.0 beta for first-class Docker support, flexible resource allocation, custom environments, Workflows, and more. CircleCIsponsored [Why Go is Great for Portable Apps](http://tekjoe.com/2017/06/12/why-gloang-is-great-for-portable-apps/?utm_source=golangweekly&utm_medium=email) tutorial Why cross-compilation is a good thing and how Go gets it done. Johanan Liebermann [Closures are the Generics for Go](https://medium.com/capital-one-developers/closures-are-the-generics-for-go-cb32021fb5b5?utm_source=golangweekly&utm_medium=email) tutorial When a closure can (almost) support similar idioms as generics do in other languages. Capital One DevExchange [Go Internals: Autogenerated Functions (and How to Get Rid of Them)](https://blog.minio.io/golang-internals-part-1-autogenerated-functions-and-how-to-get-rid-of-them-6ca4749cc236?utm_source=golangweekly&utm_medium=email) tutorial A situation where the compiler has to jump through some costly execution hooks for little/no benefit. Minio [Custom Range Iterators in Go](https://dev.to/loderunner/custom-range-iterators-in-go?utm_source=golangweekly&utm_medium=email) tutorial Implementing a custom iterator using channels, a la Python’s range. Charles Francoise [Go Packages in R Packages](https://romain.rbind.io/blog/2017/06/09/go-packages-in-r-packages/?utm_source=golangweekly&utm_medium=email) tutorial A simple example using cgo in order to call Go code from R. Romain François [Blocking Go Readers and Writers](https://dmathieu.com/articles/development/go-blocking-reader-writer/?utm_source=golangweekly&utm_medium=email) tutorial Readers and Writers in Go are blocking, which caused an issue for Heroku. See their solution here. Damien Mathieu [A Look at Resource Pooling Techniques in Go](https://medium.com/@jessecarl/jump-in-the-pool-6c0013385b51?utm_source=golangweekly&utm_medium=email) tutorial Jesse Allen [Evergreen Continuous Integration: Why We Reinvented the Wheel](https://engineering.mongodb.com/post/evergreen-continuous-integration-why-we-reinvented-the-wheel?jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY17Q2&utm_content=sponsored&utm_medium=display&utm_source=gonewsletter0615) story How Go proved itself so useful in building Evergreen that we went on to rewrite our Cloud agents and the MongoDB tools using it. MongoDBsponsored [Fun with Channels in Go](https://www.youtube.com/watch?v=CUG1vfnO3zI&utm_source=golangweekly&utm_medium=email) video YouTube [Package Oriented Design](https://www.youtube.com/watch?v=spKM5CyBwJA&utm_source=golangweekly&utm_medium=email#t=0m56s) video An engaging talk on the benefits of putting code into packages. William Kennedy [Reconfigure.io: Program FPGAs with Go](https://reconfigure.io/?utm_source=golangweekly&utm_medium=email) tools Code in Go, and easily build, test and deploy to FPGAs in the cloud. Ayup [Daisy: A Private Blockchain Where Blocks Are SQLite Databases](https://github.com/ivoras/daisy?utm_source=golangweekly&utm_medium=email) code Ivan Voras [A List of Non-Trivial Go Apps and Libraries](https://github.com/gophersgang/go-non-trivial-apps?utm_source=golangweekly&utm_medium=email) code The aim is to provide a list of projects to study / learn from. GitHub [Router: A 'Lightning Fast' and Flexible HTTP Router](https://github.com/gowww/router?utm_source=golangweekly&utm_medium=email) code GitHub [simple-httpd: A Simple HTTP Server](https://github.com/briandowns/simple-httpd?utm_source=golangweekly&utm_medium=email) code A replacement for Python SimpleHTTPServer, providing automatic TLS via Let’s Encrypt. Brian Downs [gopher-os: A Proof of Concept OS Written in Go](https://github.com/achilleasa/gopher-os?utm_source=golangweekly&utm_medium=email) code Achilleas Anagnostopoulos    

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/164) [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
