#275 — August 15, 2019

Read on the Web

📢 Are you a Go blogger or comfortable writing about Go? We're looking for (paid) contributors for a new project we're cooking up. See the end of this email for details. 📝

Golang Weekly

Go 1.12.8 and Go 1.11.13 Released — Earlier this week, engineers at Netflix disclosed a variety of HTTP/2 related vulnerabilities that have affected numerous HTTP/2 client implementations, including Go’s. These two Go releases fix the issues, as well as a URL parsing issue in net/url.

Dmitri Shuralyov

▶  Discussing How to Structure Your Go Apps — An hour long podcast discussion on the ins and outs of structuring Go programs, why structure is important, what the gotchas are, and the best ways to start.

Go Time Podcast podcast

The Inclusion of 'No-Go' Files in a Go Program — Go currently does not have a great answer to deploying static files with a Go binary. Eyal goes through a few options, including one he identifies as the best of the bunch.

Eyal Posener

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

Geiger: A 'Geiger Counter' for Allocations — Rather than monitor radiation, this monitors allocations in an audible way. It might drive you to distraction, but it’s a fun idea.

Luke Champine

📅  GopherCon Europe 2020 to be in Berlin in May — It’s only an announcement for now, no CFP or tickets to be seen, but might be one for your calendar, especially as next week’s GopherCon UK is fully booked up. More info as we get it.

GopherCon Europe on Twitter

💻 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

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

Go Developers Are in Demand on Vettery — Ready for a bold career move? Make a free profile, name your salary, and connect with hiring managers from top employers today.

Vettery

📘 Articles & Tutorials

Typed nil in Go... Wait, What? — Types make all the difference…

Maxim Kamorin

How To Write Packages in Go — This is definitely aimed at Go beginners, but DigitalOcean’s post are always well-done and worth reading.

DigitalOcean

Learn Go with Tests — Almost a golden oldie now, but a fantastic resource nonetheless for learning Go with TDD in mind the whole way. Perfect to direct other people on your team to if they want to learn Go.

Chris James

Use Flux to Group, Shape, and Analyze Your Time Series Data — Working with large time series datasets can often prove cumbersome. Flux is designed for time series analysis, making working with such datasets elegant.

InfluxData sponsor

▶  Building Multi-Stage Dockerfiles for Go (and Deploying to DigitalOcean) — Discover the benefits of multi-stage over traditional simple Dockerfiles.

Elliot Forbes

Rate Limiting HTTP Requests Based on the Client's IP Address — Quickly rolling out a solution using x/time/rate.

Alex Pliutau

Using Go as a 'Scripting' Language — They are using Go for ALL THE THINGS, like migrations, lambda functions, a chatbot, and more.

Elton Minetto

The Monitor Pattern — A pattern for having threads (or goroutines) wait for a condition to be true before waking up and doing work.

Vincent Blanchon

Testing go.mod Tidiness in CI — A quick tip to automate cleanup for your module files.

Dave Rolsky

🛠 Code & Tools

Cordless: A Go-Powered Discord Client for the Terminal — A pretty neat looking custom Discord chat client aimed at power users.

Marcel Schramm

UPX: The Ultimate Packer for EXecutables — A tool that adds run-time compression and decompression to executables to reduce their size. It’s not Go specific but can work well on Go executables as Ben Boyter discovered in Trimming the Fat from a Go Binary.

Oberhumer, Molnar, and Reiser

MongoDB Go Driver 1.1: The Go Driver for MongoDB — The official MongoDB driver now supports MongoDB 4.2, released this week. P.S. If you’re a Mongo user, check out our MongoDB newsletter.

MongoDB, Inc.

📕 20 Patterns to Watch for in Engineering Teams

GitPrime sponsor

Prose: An English Language Processing Library — Supports tokenization, segmentation, part-of-speech tagging, and named-entity extraction.

Joseph Kato

errorx 1.0: A Comprehensive Error Handling Library — It’s not the most idiomatic approach, but provides some interesting utilities for working with errors like composability and stack traces.

Joom

Pigo: A Pure Go Face Detection Library — Based upon an approach called Pixel Intensity Comparison-based Object (PICO) detection. v1.2, just released, now supports detecting eyes and pupils.

Endre Simo

⚡️ Quick Releases

✍ Can you write about Go?

As you know, we're always keen to link to good Go articles and we want to take a step further in actively encouraging the production of new tutorials, guides, tips, etc. so we both want to launch our own Go article site and encourage people to post more on their existing blogs, etc.

If you are a blogger or author, and can (or do) write about all things Go, please get in touch at go@cooperpress.com. You must:

  • Send us links to existing blog posts or articles you've written.
  • Have experience writing on technical topics.
  • Be prepared to write for our new site or have an existing blog of your own.
  • Have strong English skills (though we can edit.)
  • Optionally.. you can immediately pitch us on any ideas you have.

💰 This is a paid opportunity (the rate for original articles will depend on format, topic, etc. but think in the range of $100~$600 depending on what it is.) Also, we can't take on everyone (so those samples are really important) but if you have writer's block or are short of ideas, no problem, we'll be very happy to feed you prompts to get you started 😄