#219 — July 12, 2018

Read on the Web

Golang Weekly

gomacro: An Interactive Go Interpreter and Debugger — Can be used as a typical REPL or as a debugger, alternatively it can bring an Eval() function and scripting capabilities to existing Go code, or even be used to experiment with generics and Lisp-like macros.

Massimiliano Ghilardi

Slices from the Ground Up — Inspired by a conversation on using a slice as a stack, Dave Cheney explores how slices work in relation to arrays and how slices are internally represented.

Dave Cheney

Telegraf: The Open Source Go Collection Agent — Learn how to use Telegraf: the agent for collecting and reporting metrics and events.

InfluxData sponsor

Browsh: A Fully-Modern Text-based Browser, Rendering to TTY and Browsers — A fun one, this. It uses headless Firefox behind the scenes but renders graphics and video out to terminal.


Introducing Open API (Formerly 'Swagger') with Go — Open API, formerly known as Swagger, is a way to describe REST APIs. This now concluded three part series introduces the main concepts and some tooling for building Open API-based APIs in Go.

Eyal Posener

Flaggy: Idiomatically Go Command Line Input Parsing — Supports subcommands, positional values, and flags at any position. No external dependencies. Kingpin is another popular option if you’re in the market for this sort of library.

Eric Greer

GoCV 0.14.0: Going Deeper Into DNN for Computer Vision — The latest version of GoCV, an OpenCV-based computer vision library for Go, takes advantage of some new features in OpenCV for using models from systems like Tensorflow.


💻 Jobs

Go Backend Developers (Lyon, France) — Want to work on a unique big-data cybersecurity platform to secure critical infrastructure? Join us.


Find A Job Through Vettery — Vettery matches top tech talent with fast-growing companies. Create your profile to get started.


📘 Tutorials & Articles

Binding Go Structures to JS References in WebAssembly

Nicolas Lepage

Make Go Applications Faster with StackImpact — Optimize and troubleshoot application latency and efficiency in production and development environments.

StackImpact sponsor

Using Go for WebAssembly Applications — We’ve linked to a few similar tutorials recently but it’s an exciting space to play in right now with the Go 1.11 beta.

Sebastian Holstein

Learn Go with Tests: Reflection — Reflection can have a bit of a steep learning curve, so walking through this subject with tests is a great approach.

Chris James

▶  High Performance Go — A 50 minute talk covering benchmarking, profiling, and tracing.

Dave Cheney

Using Interfaces and Dependency Injection to Future Proof Your Designs

Daniel Mican

Build a Netflix Style Video Platform - Golang API Client

Bitmovin sponsor

🔧 Code

Fathom: A Privacy-Focused Website Analytics System — A Go and Preact (a smaller and faster React, essentially) alternative to something like Google Analytics.


shellquote: Quotes Strings for Shell Scripts — There’s a brief post covering the how and why.

fREW Schmidt

Go Config: A Pluggable Dynamic Config Library

Asim Aslam

runq: Run Regular Docker Images in KVM/Qemu

IBM Corp.

Gaia: An Automation Platform to Build Powerful Pipelines — Based on HashiCorp’s go-plugin and gRPC over HTTP2.


Oathkeeper: A Cloud Native Identity & Access Proxy (IAP) — ..which authenticates and authorizes incoming HTTP requests. Written in Go.


ULID: Universally Unique Lexicographically Sortable Identifier — A more efficient alternative to GUID/UUIDs, case insensitive and URL safe.

OK Log

Take Our 5-Min Survey & Win a Chance at a Lego Mindstorm

ActiveState sponsor

httpu: A 'Terminal-First' HTTP Client — For playing or working with existing HTTP APIs from the terminal.

Harry Lawrence

Noise: A Decentralized P2P Networking Stack — A stack for decentralized applications and cryptographic protocols.

Perlin Network