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

Go Newsletter 145   . 

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

[Go Newsletter](http://golangweekly.com) Issue 145 — February 2, 2017     

Featured [Beautiful Packages in Go](https://skillsmatter.com/skillscasts/9647-beautiful-packages-in-go?utm_source=golangweekly&utm_medium=email) video A great 20 minute talk from a recent London meetup covering best practices, goals, and helpful tips and tricks for writing packages people enjoying using. Mat Ryer [Murlock: Build macOS Desktop Apps with Go and HTML](https://github.com/murlokswarm/app?utm_source=golangweekly&utm_medium=email) code A vaguely Electron-meets-React-esque approach but oriented around Go. A young framework but looks interesting. Maxence Charriere [Go 1.8 Final Due Around February 14-16](https://groups.google.com/d/msg/golang-dev/G09HaWfMl6g/74v1cFGlAwAJ?utm_source=golangweekly&utm_medium=email) news It was initially coming out this week but some further testing within Google needs to take place first. Brad Fitzpatrick [Free eBook: A Beginner's Guide to the Dockerfile](https://resources.codeship.com/ebooks/dockerfile-guide-aw?utm_medium=cpc-go-weekly-primary&utm_campaign=cooper-dockerfile-guide-ebook-campaign) Download our free eBook and learn how to create a Dockerfile from scratch, how to push images to Docker Hub, and some Dockerfile best practices. codeshipsponsored[![\](https://copm.s3.amazonaws.com/d4902cb2.png)](https://resources.codeship.com/ebooks/dockerfile-guide-aw?utm_medium=cpc-go-weekly-primary&utm_campaign=cooper-dockerfile-guide-ebook-campaign) [Fencing Off Go: Liveness and Safety for Channel-based Programming](https://blog.acolyer.org/2017/02/02/fencing-off-go-liveness-and-safety-for-channel-based-programming/?utm_source=golangweekly&utm_medium=email) A look at an academic paper describing a new tool built to analyse the liveness and safety of concurrent Go programs. Adrian Colyer [Basic TCP/IP Networking from Go](https://appliedgo.net/networking/?utm_source=golangweekly&utm_medium=email) tutorial A look at working at the TCP socket level from Go, complete with heavily annotated code examples. Applied Go [3 Tips and 7 Tricks When Testing in Go](https://medium.com/@povilasve/go-advanced-tips-tricks-a872503ac859?utm_source=golangweekly&utm_medium=email) tutorial Things like avoiding global constants, using test fixtures, test helpers, and organizing mocks and helpers. Povilas Versockas [Flappy Gopher: Building a Flappy Bird Clone](https://www.youtube.com/watch?v=aYkxFbd6luY&utm_source=golangweekly&utm_medium=email) video A 40 minute live coding video following the development of a Flappy Bird-style game (but using our favorite gopher) using Go and SDL2. JustForFunc [Comparing Elixir and Go](https://blog.codeship.com/comparing-elixir-go/?utm_source=golangweekly&utm_medium=email) opinion A comparison of Elixir (an Erlang VM-based language with Ruby-esque syntax) and Go looking at their backgrounds, styles, and how both deal with concurrency. Barry Jones Jobs [Golang/Backend Engineer @ Poki (Amsterdam, the Netherlands)](http://jobs.poki.com/back-end-devops-developer/en) From monolith to microservices, and all the impact around it. Join us building the ultimate online playground for kids of all ages. Poki [Go Developer at Geckoboard (London, UK)](https://www.geckoboard.com/careers/?utm_source=golang_newsletter&utm_medium=email&utm_campaign=golang_weekly_feb_02#op-155708-backend-developer) Come help us build our new data pipeline in Go. Great work/life balance, regular "innovation" days, and a team that <3 to learn! Geckoboard In Brief [A 17 Hour, Online Go Video Course](https://www.udemy.com/go-programming-language/?couponCode=GOLANGWEEKLY&utm_source=golangweekly&utm_medium=email) course Learn Go from Todd McLeod, a compsci professor. The GOLANGWEEKLY code gives 78% _(no affiliation, he just offered it for us to share)_. Udemy [Why Are Slices Sometimes Altered When Passed by Value in Go?](https://www.calhoun.io/why-are-slices-sometimes-altered-when-passed-by-value-in-go/?utm_source=golangweekly&utm_medium=email) tutorial Jon Calhoun [Communicating Between Go Apps using Redis Pub/Sub](https://hackernoon.com/communicating-go-applications-through-redis-pub-sub-messaging-paradigm-df7317897b13?utm_source=golangweekly&utm_medium=email#.fuwta0vw3) tutorial Mehmet Cetin [[Webinar\] 5 Tips on Determining the Most Impactful Metrics in Your App](https://www.vividcortex.com/resources/5-tips-impactful-metrics?utm_campaign=Go%20Newsletter&utm_source=ppc) This webinar, co-hosted by VividCortex and Datadog, explores best ways to monitor important performance metrics. VividCortexsponsored [Whalebrew: Like Homebrew, But With Docker Images](https://github.com/bfirsh/whalebrew?utm_source=golangweekly&utm_medium=email) code Creates aliases for Docker images so you can run them as if they were native commands. Ben Firshman [Envh: Go Helpers to Manage Environment Variables](https://github.com/antham/envh?utm_source=golangweekly&utm_medium=email) code Anthony Hamon [wifi: Access WiFi Device Actions and Statistics from Go](https://github.com/mdlayher/wifi?utm_source=golangweekly&utm_medium=email) code Provides access to IEEE 802.11 WiFi devices on Linux (only, for now). Matt Layher [Jennifer: A Code Generator for Go](https://github.com/davelondon/jennifer?utm_source=golangweekly&utm_medium=email) code Dave Brophy [netlink: Low-Level Access to Linux Netlink Sockets](https://github.com/mdlayher/netlink?utm_source=golangweekly&utm_medium=email) code [Netlink](https://en.wikipedia.org/wiki/Netlink) sockets are used for IPC on Linux. Matt Layher [raylib-go: Bindings for raylib, A Game Programming Library](https://github.com/gen2brain/raylib-go?utm_source=golangweekly&utm_medium=email) code raylib is aimed at _learning_ to create simple games. Milan Nikolic [Robotgo: Desktop Automation on Mac, Windows and Linux](https://github.com/go-vgo/robotgo?utm_source=golangweekly&utm_medium=email) code Move the mouse and type on the keyboard from Go. github.​com [Simple to use, powerful programming language need a home?](http://welcome.linode.com/go-weekly?utm_source=cooperpress&utm_medium=sponsored&utm_term=go&utm_campaign=go-weekly) Use a simple, powerful hosting company. Linodesponsored [Expreduce: An Experimental Computer Algebra System Written in Go](https://github.com/corywalker/expreduce?utm_source=golangweekly&utm_medium=email) code Cory Walker [dithergo: Halftone Dithering Algorithms Implemented in Go](https://github.com/esimov/dithergo?utm_source=golangweekly&utm_medium=email) code Endre Simó [dewm: A Pure Go Auto-Tiling Window Manager Written with Literate Programming](https://github.com/driusan/dewm?utm_source=golangweekly&utm_medium=email) code Dave MacFarlane [template-compiler: Compile 'text/template' / 'html/template' to Regular Go Code](https://github.com/mh-cbon/template-compiler?utm_source=golangweekly&utm_medium=email) code Still a work in progress. github.​com    

Go Newsletter is curated by [Peter Cooper](https://twitter.com/peterc) [Read this issue on the Web](http://golangweekly.com/issues/145) [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
