#269 — July 4, 2019
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