#260 — May 2, 2019

Read on the Web

Golang Weekly

📈 Go is on a Trajectory to Become the Next Enterprise Programming Language — It’s quite the headline, but the author makes worthwhile points about many of Go’s characteristics that give it an advantage in building large-scale software projects.

Kevin Goslar

'Go 1.13 is Shaping Up To Be Pretty Fun' — Brad of the core Go team shares a tweet with a list of things coming to the next version of Go 1.13, including default support for modules, allocating defer records on the stack (read: more performance), and a variety of optimizations including escape analysis improvements.

Brad Fitzpatrick on Twitter

Powerful CI/CD Pipelines. Pay Only For What You Use — Built for developer productivity, Semaphore 2.0 lets you model and CI/CD workflow with fully customizable pipelines. With the new pricing model you pay only what you use. Sign up free with GitHub and give it a try today.

Semaphore 2.0 sponsor

Optimizing M3: How Uber Halved Its Metrics Ingestion Latency — This is a really technical one! Uber noticed increased latency in its metrics platform and it ultimately resulted in finding an issue in the Go runtime for which a fix was duly created.

Richard Artoul

Testing: How, What, and Why – PDF — At last week’s GopherChina 2019 event, Dave Cheney gave a talk about testing. It’s focused on the fundamentals but for a slidedeck (with notes) it’s comprehensive and easy to follow if you’re looking for guidance in this area.

Dave Cheney slidedeck

💻 Jobs

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

X-Team

Have You Tried Vettery? — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.

Vettery

📘 Articles & Tutorials

LLVM from a Go Perspective — LLVM is a notiously opaque and large piece of software, but this article tries to open things up a bit by showing how a simple Go code example would compile to LLVM IR and what’s going on inside LLVM.

Ayke van Laëthem

▶  Performance Tuning Go Applications on Google Cloud Platform — A tour of a variety of tools and techniques for diagnosing latency issues in a Go app running on GCP.

Valentin Deleplace

📕20 Patterns to Watch for in Engineering Teams

GitPrime sponsor

5 Tips To Speed Up Go Development with IntelliJ or Goland — Some tips if you’re a JetBrains IDE user. If not, move on.

Keith Perry

Understanding Maps in Go

DigitalOcean

Looking at SciPipe: A Workflow Library for Scientific Workflows — This is a recently published academic document looking at SciPipe, a workflow programming library built in Go for creating complex pipelines for bioinformatics and similar scientific workflows.

OUP Academic

🔧 Tools & Code

Termdash: A Go Terminal Based Dashboard System — You’ve probably seen a terminal-based dashboard before, this one is focused on beautiful and maintainable code. wtf is a similar system worth looking into too, also written in Go.

Jakub Sobon

Pie: A Utility Library for Dealing with Slices — A code generator for dealing with slices that focuses on type safety, performance and immutability.

Elliot Chance

A List of Tools That Generate Code with go generate

Golang Wiki

oapi-codegen: Generate Go Client and Server Boilerplate From OpenAPI 3 Specifications

DeepMap, Inc

Gravity 5.5 Gives Superpowers to Helm — The latest release of Gravity gives devs a new superpower: the ability to build downloadable Kubernetes images using their Helm Charts.

Gravitational sponsor

go-sqlbuilder: A Flexible SQL String Builder Library — Focused mostly on MySQL and Postgres. Includes basic ORM type support via structs.

Huan Du

A Proof-of-Concept for SQL-Driven Logging from Go

Zaydek MG

Zap 1.10: Fast, Structured, Leveled Logging in Go

Uber

Engo: A Cross-Platform 2D Game Engine Written in Go — There are some tutorials here.

EngoEngine