#354 — March 19, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Rust vs. Go: Why They’re Better Together — We’ve touched a few times on the sibling-style relationship between Rust and Go (not least in last year’s popular Rust vs Go opinion piece) and in this piece a member of the Go team balances the two and how they “supplement and support each other”.

Steven Francia

REST Servers in Go: Middleware — The latest in an ongoing series of articles about writing REST servers in Go. In Life of an HTTP request, Eli tackled where middleware fits into the big picture, but here he goes deeper and implements some.

Eli Bendersky

Learn How to Move Fast from Code to Kubernetes — Get our free eBook - “CI/CD with Docker and Kubernetes eBook”. Learn how to deliver high-quality cloud apps rapidly and consistently.

Semaphore sponsor

PDF: Automatically Detecting and Fixing Concurrency Bugs in Go Software Systems — An academic paper that proposes an approach for detecting and then fixing concurrency bugs in Go programs. It’s not just theoretical, though, as they actually built it and ran it over things like Kubernetes and Docker and found a variety of bugs! Quite the paper, but heavy going if academic writing isn’t your bag. This GitHub repo has the actual code and tools mentioned.

Liu, Zhu, Qin, Chen and Song

Getting Started with eBPF and GoeBPF (Extended Berkeley Packet Filter) is a technology originally intended for capturing, monitoring and filtering network activity but is now a broader sandboxed system for writing code that can run within the Linux kernel.

Michael Kashin

📘 Tutorials and Stories

Writing Slower Go Programs — So, writing slower programs is a good thing? Not exactly, but focusing solely on performance is a mistake, especially for a new or intermediate gopher.

John Arundel

Mage is My Favorite Make — Mage is a Go-powered make replacement, so it’s cross-platform and has a better dependency story than the time-worn tool.

Carolyn Van Slyck

Teaching Go Programs to Love JSON and YAML — Pretty small lift to add a whole new format.

Mathias Lafeldt

▶  Observy McObservface Ep. 13: Driving Community and Open Source — Kat Cosgrove from JFrog talks about self-driving cars called Donkey Cars, on-point documentation, and open-source.

New Relic sponsorpodcast

Go App Monitoring with Prometheus — The example here is a simple web application with Prometheus (a popular open source monitoring tool) middleware.

Tanner Gabriel

▶  Discussing go:embed with Carl Johnson and Wayne Ashley Berry — Two engineers join Mat and Mark to talk about the new go:embed feature in Go 1.16, like how and when to use it and common gotchas to watch out for.

Go Time Podcast podcast

🛠 Code & Tools

GChalk: Terminal String Styling for Go 'Done Right' — A bold claim but this library, heavily influenced by Node’s Chalk, boasts ‘painless’ Windows 10 support, auto detects color support, and has a nice expressive API.

Jason Walton

SQLBoiler 4.5: Generate a Go ORM Tailored to Your Database Schema — The idea is that you create your schema at the database level first and then this interrogates the schema and generates ORM code for Go based upon the actual design.

Volatile Technologies Inc.

The Definitive Guide to Feature Management

LaunchDarkly sponsor

goverter: Generate Type-Safe Go Converters by Simply Defining an Interface

Jannis Mattheis

Glow: Render Markdown on the Terminal — Glow does more than just render, it can discover and save Markdown files, too.

Charm

Go Client for the Unsplash APIUnsplash is a free-to-use stock photography site of sorts.

Hardik Bagdi

Dynamo: An Expressive DynamoDB Library

Greg Roseberry

💻 Jobs

Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster.

Form3

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

CrowdStrike

Find Golang Engineering Jobs with Hired — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now.

Hired