#269 — July 4, 2019

Read on the Web

Happy Independence Day to those of you in the United States :-) We hope you like stories about error handling! If not, the Vecty item in the code section is pretty neat..

Golang Weekly

An Open Letter to the Go Team About try — The try proposal continues to create strong opinions, including these from Go trainer extraordinaire Bill Kennedy. “…priorities should be re-evaluated for Go 2 and the use of the Go 2 proposal data should not be used to make judgements on priorities.” Here is Russ Cox’s reply.

William Kennedy

Go Slices are Fat Pointers“Of course, slices are super flexible and have many more uses that look less like fat pointers, but this is still how I tend to reason about slices when I write Go.”

Chris Wellons

📕 20 Patterns to Watch for in Engineering Teams — GitPrime's new book draws together some of the most common software team dynamics, observed in working with hundreds of enterprise engineering organizations. Actionable insights to help you debug your development process with data. Get your copy.

GitPrime sponsor

Go Lessons from Writing a Serialization Library for Ethereum — A lengthy (but very worth it!) post that starts with the basics of serialization and goes into the challenges of meeting the Ethereum SSZ standard using Go.

Raul Jordan

catch(err), A Counter-Proposal to the try Proposal — The try function was proposed as a way to reduce the amount of if and return error handling boilerplate in Go, but catch provides an alternate (and, I’d argue, cleaner) route to the same ends. Got strong opinions? Get involved in the comments.

Nate Finch

Another Proposal: Just Leave if err != nil Alone? — Currently this proposal has 1406 thumbs up versus 165 thumbs down so.. maybe we love if err != nil after all? 😂

Miek Gieben

💻 Jobs

Stream Is Hiring a Go Engineer in Beautiful Amsterdam — Enjoy building high-performance infrastructure at scale? Apply to work in our Stream Amsterdam office now.

Stream

Land a New Dev Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.

Vettery

📘 Articles & Tutorials

Real-Time Maps with a Raspberry Pi, Go, and HERE XYZ — In what might be one of my favorite Go tutorials ever, the author builds a device and code that tracks him driving around a city.

Nic Raboy

Using Subtests in Go — In Go 1.7+, the testing package introduced support for the creation of subtests - here’s a look at why you might use them from someone who thinks they’re still an underused feature.

Kunal Kapadia

Do You Need Golang or Kubernetes Training? — On-site corporate training. Having trained over 4,000 engineers since 2013, we've crafted classes for students to get as much as possible.

Ardan Labs sponsor

One Program Written in Python, Go, and Rust — The author is a Pythonista, so that’s the basis for the post. While there are language and feature level comparisons, the big takeaway is about developer speed and performance.

Nicolas Hahn

7 Subtle Pitfalls in the Go Language — The article is almost a year old, but it discusses some very good, but hard to detect, gotchas in Go.

polyfloyd

Tell Your Team You Are Running Late using Google Home, Google Cloud Functions, Go, and Twilio — This one touches all the bits: Go, serverless, Twilio, and device assistants.

Ilija Eftimov

🔧 Tools & Code

LazyDocker: A Terminal-Based UI for Working with Docker — Not only is this a useful app for working with Docker, it’s a great example of a terminal-based app with a complete UI too.

Jesse Duffield

Vecty: A Library for Building Dynamic Frontends in Go — An interesting and currently experimental project for building Web frontends in Go which are then compiled to JavaScript (or, as of this week, WebAssembly) to work in the browser.

GopherJS

Snitch: A Tool That Keeps Your Tests Under Surveillence — Watches your test files and re-runs them as appropriate.

Gustavo Freitas

Route Your Data to Any Analytics Service from Your Go Code

Segment sponsor

Go EBPF: A Library to Work with eBPF Programs from Go — eBPF provides a mechanism for accessing networking data link layers, essentially letting you perform operations upon raw packets flying around your system. This library is only for experienced eBPF users but will be of interest to many.

Dropbox

ORY Hydra 1.0: A Certified OAuth 2.0 and OpenID Connect Server — Written in Go and runs almost anywhere. GitHub repo.

Ory Corp

Expr 2.0: An Engine That Can Evaluate Expressions — A foundation for a business rules engine or handling complex configuration logic without having to recompile. The new v2 is 2-10x faster than before due to a variety of optimizations.

Anton Medvedev

Sarama: A Go Client Library for Apache Kafka 0.8+

Shopify