#232 — October 11, 2018
Golang Weekly
Compile-Time Dependency Injection with Go Cloud's 'Wire' — A couple of months ago, the Go team announced 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 — Not only does Eyal outline the problem he perceives and a potential way forward, he’s built a proof of concept implementation too.
Eyal Posener
Lower Latency for a Better End User Experience. Learn More — 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 — Focused on fast 2D graphics rendering via a simple API. Yesterday’s 0.8 release is significant as it now supports custom fragment shaders.
Michal Štrba
How 'Go 1.11 Got Me to Stop Ignoring Go' — Specifically, Go modules brought Drew onboard.
Drew DeVault
vim-go's Creator is Taking a Sabbatical — Fatih has worked tirelessly on his popular 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) 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' — 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) — 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 — 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
Chris Siebenmann
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 — There are many ways to do garbage collection, here’s why Go chose the approach we have today.
Haruki Okada
▶ Running Go Programs Directly on the BBC micro:bit — The BBC micro:bit is an ARM Cortex M0 microcontroller. Here’s a quick look at using TinyGo to run programs on it.
Hybrid Group
Some Basic Go 1.0 vs Go 1.11 Benchmarks — 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 — 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
Elliot Chance
gohack: Make Temporary Edits to Your Go Module Dependencies — Goes a little further feature-wise than go mod edit.
Roger Peppe
gse: Efficient Text Segmentation Library — Notably not just for English, it supports languages like Japanese and Chinese too.
vcaesar
OpenCensus Metrics and InfluxDB
InfluxData sponsor
Biscuit: A Basic POSIX-Subset OS Written in Go for x86-64 — 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
Quentin Renard
Robotgo: Desktop Automation on Mac, Windows and Linux — Move the mouse and type on the keyboard from Go.