---
title: "A Proposal for Goroutine Scoped Contexts"
publication: "Go Weekly"
issue: 232
published_at: "2018-10-11"
canonical_url: "https://golangweekly.com/issues/232"
---

The latest Golang development news       

#232 — October 11, 2018 

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

Golang Weekly  

[Compile-Time Dependency Injection with Go Cloud's 'Wire'](https://blog.golang.org/wire) — A couple of months ago, the Go team announced [Go Cloud](https://blog.golang.org/go-cloud), a framework for making it easier to build portable cloud apps with Go - here’s a detailed look at _Wire_, a dependency injection tool that’s part of the project. 

Robert van Gent   

[A Proposal for Goroutine Scoped Contexts](https://posener.github.io/goroutine-scoped-context/) — Not only does Eyal outline the problem he perceives and a potential way forward, he’s built a [proof of concept implementation](https://github.com/posener/context) too. 

Eyal Posener   [![\](https://copm.s3.amazonaws.com/c567de42.png)](https://blog.digitalocean.com/spaces-now-includes-cdn/?utm_source=paid_newsletter+go+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=10-11-18+go+weekly+cooperpress) 

[Lower Latency for a Better End User Experience. Learn More](https://blog.digitalocean.com/spaces-now-includes-cdn/?utm_source=paid_newsletter+go+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=10-11-18+go+weekly+cooperpress) — Updated to include a built-in CDN, Spaces object storage can deliver web assets up to 70% faster. 

DigitalOcean sponsor   

[Pixel: A 2D Game Development Library](https://github.com/faiface/pixel) — Focused on fast 2D graphics rendering via a simple API. Yesterday’s [0.8 release](https://github.com/faiface/pixel/releases/tag/v0.8.0) is significant as it now supports custom fragment shaders. 

Michal Štrba   

[How 'Go 1.11 Got Me to Stop Ignoring Go'](https://drewdevault.com/2018/10/08/Go-1.11.html) — Specifically, Go modules brought Drew onboard. 

Drew DeVault   

[vim-go's Creator is Taking a Sabbatical](https://arslan.io/2018/10/09/taking-an-indefinite-sabbatical-from-my-projects/) — Fatih has worked tirelessly on his popular [vim-go](https://github.com/fatih/vim-go) Go plugin for Vim - he’ll no longer be maintaining it but two new full-time contributors are now on board. On the flip side, a variety of other projects of his (e.g. [color](https://github.com/fatih/color)) are essentially ending, and he is inviting you to fork them. 

Fatih Arslan   

['Programs Compiled by 1.11 Allocate An Unreasonable Amount of Virtual Memory'](https://github.com/golang/go/issues/28114) — This is unlikely to cause many issues as programs aren’t actually going to be _using_ that extra memory. 

Go GitHub Repo  

💻 Jobs  

[Architect, Senior Software Engineer - Subscriptions (SF)](https://jobs.lever.co/twitch/88db8123-cd6b-437e-aabf-7acec6df54d7) — Operating at massive scale, Twitch Subs is seeking a Senior Architect to experiment, build and scale solutions across our organization. 

Twitch   

[Join Our Career Marketplace & Get Matched With A Job You Love](https://www.hired.com/golang) — Through Hired, software engineers have transparency into salary offers, competing opportunities, and job details. 

Hired  

📘 Tutorials & Articles  

[A Deep Dive Into the OS Memory Use of a Simple Go Program](https://utcc.utoronto.ca/~cks/space/blog/programming/GoProgramMemoryUse) 

Chris Siebenmann   

[Calling Java From Go Using gRPC](https://redbyte.eu/en/blog/calling-java-from-go-using-grpc/) — Faced with a need not served well by any Go library, redByte wrote a service in Java and called it via gRPC in an excellent example of a gRPC use case. 

Martin Kováčik   

[The Design Choices of the Go Garbage Collector](https://engineering.linecorp.com/en/blog/detail/342) — There are many ways to do garbage collection, here’s why Go chose the approach we have today. 

Haruki Okada   

[Manipulating Istio & other Custom Kubernetes Resources in Go](https://dwmkerr.com/manipulating-istio-and-other-custom-kubernetes-resources-in-golang/) 

Dave Kerr   

▶[Running Go Programs Directly on the BBC micro:bit](https://www.youtube.com/watch?v=0Fc7t4x567w) — The BBC micro:bit is an ARM Cortex M0 microcontroller. Here’s a quick look at using [TinyGo](https://github.com/aykevl/tinygo) to run programs on it. 

Hybrid Group   

[Monitor and Analyze Go App Performance in Real-Time. Try Datadog Free](https://www.datadoghq.com/monitor-go/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-GoWeeklyB) 

Datadog sponsor   

[Some Basic Go 1.0 vs Go 1.11 Benchmarks](https://gist.github.com/davecheney/311169ef04e27fe469ca91859af9cdff) — Yes, Go 1.**0** (not 1.10). Go was already pretty fast when 1.0 came out six years ago, so it’s nice to see the progress made. 

Dave Cheney   

[How Go Hits the Concurrency Nail Right on the Head](https://eli.thegreenplace.net/2018/go-hits-the-concurrency-nail-right-on-the-head/) — Eli explains why Go is one of few modern, mainstream languages to really get concurrency right. 

Eli Bendersky  

🔧 Tools & Code  

[Ghost: Locate And Fix Overly Complex Lines of Code](http://elliot.land/post/ghost-locate-and-fix-overly-complex-lines-of-code-in-go) 

Elliot Chance   

[go-jsonschema: A Tool to Generate Go Types from JSON Schema Definitions](https://github.com/atombender/go-jsonschema) 

Alexander Staubo   

[gohack: Make Temporary Edits to Your Go Module Dependencies](https://github.com/rogpeppe/gohack) — Goes a little further feature-wise than `go mod edit`. 

Roger Peppe   

[gse: Efficient Text Segmentation Library](https://github.com/go-ego/gse) — Notably not just for English, it supports languages like Japanese and Chinese too. 

vcaesar   

[OpenCensus Metrics and InfluxDB](https://www.influxdata.com/blog/opencensus-metrics-and-influxdb/) 

InfluxData sponsor   

[Biscuit: A Basic POSIX-Subset OS Written in Go for x86-64](https://github.com/mit-pdos/biscuit) — Very much a prototype/research project, but interesting work to see in Go nonetheless. Boot it for yourself if you have Linux and qemu. 

MIT PDOS   

[Astiencoder: An FFMpeg-Based Video Encoder Written in Go](https://github.com/asticode/go-astiencoder) 

Quentin Renard   

[A Bloom Filter Library (a Go port of Bloomfilter.js)](https://github.com/httpimp/bloomfilter) 

GitHub   

[Robotgo: Desktop Automation on Mac, Windows and Linux](https://github.com/go-vgo/robotgo) — Move the mouse and type on the keyboard from Go.         

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
