#335 — October 23, 2020

Unsubscribe  |  Read on the Web

Golang Weekly

statsviz: Instant Visualization of Your App's Runtime Statistics — Plots are created for the heap (size, alloc, etc.), object allocation, goroutines, CPU usage, and more. All you have to do is register a handler.

Aurélien Rainone

It's Time to Take the 2020 Go Developer Survey — It’s that time of year again! This year’s survey is “streamlined” and notably we won’t all see the same questions. Take the survey here and do your bit for the community and the core team as they continue to make Go better :-)

The Go Blog

Live Debug Go in Prod Using eBPF — Add dynamic structured logs into Go binaries deployed in production environments without the need to instrument the source code with additional log statements, recompile, and redeploy.

Pixie sponsor

▶  A Review of the Generics Draft Proposal — But not just any review! This is Go trainer extraordinaire William Kennedy with a great talk that takes a very practical, code driven tour of the future role of generics in Go. It’s meaty but you should learn a lot.

Cambridge Gophers Meetup

EggOS: A Go Unikernel Running on x86 Bare Metal — Run a single Go app on x86 bare metal, supports most Go features and standard libraries, and comes with a network stack that will work with most net-based libraries. The entire kernel is a Go application running on ring 0.


hc: A Framework for Building HomeKit Accessories in Go — HomeKit is Apple’s framework for managing ‘smart home’ devices from Apple devices, and this you work with the HomeKit Accessory Protocol (HAP) to create HomeKit bridges for the hardware of your choice. We last linked this five years ago but it’s under active development and up to date.

Matthias Hochgatterer

💻 Jobs

Elasticsearch - Senior Go Developer - Language Clients Team — Elastic is seeking a Senior Go Developer to own our Golang language client interface for Elasticsearch and shape its future.

Sr. Software Engineer at CrowdStrike (Remote) — CrowdStrike is the leader in cloud-delivered endpoint protection, which helps protect our customers from cybersecurity attacks.

Find a Job Through Vettery — Create a profile on Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

📘 Tutorials

Determine Prominent Colors in a Picture: Your First AWS Lambda in Go — A very thorough tutorial bringing together two ideas - working with graphics and using Go in a serverless context.

Luciano Mammino

Implementing Fast Lightweight Containers in Go with bst and btrfs — Learn about namespaces and the details of creating root file systems, containers, and other related subjects in this first post of the series.

Franklin Mathieu

The 5 Crucial PDF & Office Features For Corporate Apps in Pure Go — UniDoc develops pure Go libraries for managing PDF and Office files since 2016. Here are the features developers use the most.

UniDoc sponsor

Better Git Diff Output for Go, Ruby, Python, and More — Making git a little more language-aware is a good (and easy) thing to do.

Tekin Süleyman

Creating a Docker Image for a Go Application
Markus Wüstenberg

▶  Building Gaming Hardware with TinyGo — A talk from FOSDEM earlier this year on making toys and ‘other contraptions’ that use Go under the hood. One for you if you’re intrigued what TinyGo can do, or you just like hardware hacking generally.

Daniel Esteban

🛠 Code & Tools

Waypoint: A Modern Workflow to Build, Deploy, and Release Across Platforms — From the fine folks at Hashicorp, Waypoint aims to separate deployments from releases while making the process with the same approach we’ve seen from their other tools. Built in Go, naturally.


MailHog: Web and API-Based SMTP Testing Service — Written in Go, all you do is run up MailHog, set your app’s outgoing SMTP server to connect to it, and you can view outgoing mail in MailHog’s UI.

Ian Kent

validating 2.0: Library for Validating Structs, Maps and Slices — Comes with a wide array of validator factories (which generate the actual validations) covering things like equality, ranges, inclusion in a set of values, length, and more.

Luo Peng

Video for Your Go App That Streams Beautifully, Everywhere

Mux sponsor

systray: A Cross-Platform Library to Place an Icon/Menu in the Notification Area — I only tried it on macOS but it seems pretty neat and lets you get something in the macOS menu bar/icon area while your app is running.


CrowdSec: An Agent to Detect and Respond to Bad Behavior — Think Fail2ban but written in Go, more decoupled, and which benefits from a community shared IP reputation database.


gomodifytags 1.11.0: A Go Tool to Modify struct Field Tags — Makes life easier if you want to work with editing, updating, or adding tags in a struct field. Integrates with vim, Atom, Emacs, and VS Code.

Fatih Arslan

Verless: A Simple and Lightweight Static Site Generator — If Hugo isn’t quite right for you, consider this, perhaps.

Chronos: A Static Data Race Detector for Go
Amit Davidson