#272 — July 25, 2019

Read on the Web

GopherCon, the biggest Go conference, is taking place right now in California — hope you're having a great time if you're there! 👋

Golang Weekly

Yaegi: Announcing 'Yet Another Go Interpreter' — Containous, the company behind Traefik, has built a Go interpreter to enable Go to be used for scripting within other apps, interactive shells, or for quick prototyping. You can use it as a REPL or embed it into your own apps. GitHub repo. You can also play with it in the Go Playground.

Marc Vertes

Safely Rewriting Mixpanel’s Highest Throughput Service in Go — The tale of migrating a busy service from Python to Go where they used Diffy to test and compare the old and new APIs.

Evan Noon

Do You Need Golang or Kubernetes Training? — We offer on-site corporate training for engineers that want to learn Go (Golang) or Kubernetes. Having trained over 4,000 engineers since 2013, we have carefully crafted these classes for students to get as much value as possible.

Ardan Labs sponsor

TinyGo 0.7 Released: Helping Go Be Big in Small Places — This release has some support for a tinygo test subcommand and garbage collection on “most platforms” (which includes WebAssembly). Also of interest is the introduction of the TinyGo Playground which can simulate real hardware in your browser such as an LED or an e-paper display (see the examples via the drop-down selector).


▶  13 Talks from GopherCon Europe 2019 — While GopherCon is taking place in California right now, GopherCon Europe took place in the similarly sunny Canary Islands 8 weeks ago and (nearly) all of the talk videos are now available. Some highlights:

💻 Jobs

Golang Developer at X-Team (Remote) — Join the most energizing community for developers. Work from anywhere with the world's leading brands.


Find a Job Through Vettery — Vettery matches top tech talent with growing companies. Create a profile to get started.


📘 Articles & Tutorials

Faster XML Stream Processing in Go — XML may no longer be the trendy ‘go to’ format it was in the early 2000s but it still has its uses. Here, Eli looks at the performance of stream-processing large files in Go and reaches a C-based approach to speed things up.

Eli Bendersky

How to Use Google's Tink from GoTink is a multi-language, cross-platform library developed at Go that provides cryptographic APIs in an easier to use way than the popular alternatives. Damian Gryski says that Tink’s Go support “is now complete” so it’s worth a look.


Instantly Know When Go Errors Occur & How to Fix Them — With Go error tracking from Rollbar you get exception & crash reports in real-time. Try Rollbar for free today.

Rollbar sponsor

▶  Discussing Go Approaches to Web Development — Mat Ryer, Mark Bates, Johnny Boursiquot, and Aaron Schlesinger discuss the current state of play of building Web services and apps using Go. They cover tools and technologies such as Buffalo, Goa and WebAssembly. (1 hour.)

Go Time podcast

Working with .tar and .tar.gz Files — The archive/tar package makes it all relatively easy.

Vladimir Vivien

A Practical Guide to Securing GRPC Connections with TLS

Nicolas Leiva

Writing Delightful HTTP Middlewares in Go

Zohaib Sibte Hassan

🛠 Code & Tools

Multiple Progress Bar: Progress Bars for Your CLI Apps — Straightforward textual progress bars with support for rendering multiple bars at the same time (such as for tasks running concurrently).

Vladimir Bauer

MemGuard: A Place to Store Sensitive Information in Memory — Sensitive data is now encrypted and authenticated in memory. If you’re into crypto, here’s how the encryption works.


Trace Requests from Go Apps End-To-End to Identify Errors and Latency

Datadog APM sponsor

Task 2.6: A Task Runner / make Alternative Written in Go

Andrey Nering

UniPDF: A Library for Creating and Processing PDF Files — A pure Go PDF generation and processing library. Take care over the licensing though, it’s AGPL for open source usage but a commercial option for everything else.


SFTPGo: A Full Featured SFTP Server Built in Go — Supports password and public key auth, is database driven, includes a REST API for user and quota management, and more.


Ferret: A Declarative Web Scraping System — It’s built in Go but you write scripts in its own BASIC-esque declarative language. Can be used standalone or within Go itself.