#319 — July 3, 2020

Unsubscribe  |  Read on the Web

Golang Weekly

Building a High Performance JSON Parser — Building a JSON parser is almost a ‘hello world’ for Go programmers, it seems, but rarely does anyone write up their efforts as superbly as Dave has here. This is a great educational post.

Dave Cheney

Go is 'Boring'... And That’s Fantastic — A developer brings together a variety of ideas and principles to make the point that Go’s strength is in being straightforward and obvious (and, dare he say, ‘boring’).

Jon Bodner (Capital One)

Get Instant Debug Data with eBPF — Pixie saves you time. You can get metrics, events, traces, and logs without changing code, manual UIs or trucking data off-cluster. We’ll launch this fall and our community beta is out for you to tinker.

Pixie sponsor

▶  Go in Production at Pace.devPace is a new project management tool, but the interesting part about this episode of the Go Time podcast is that it’s entirely based in the practicality of using Go to build a complete, working app from scratch. Last week’s episode about regrets and mistakes when using/learning Go was also a good one.

Go Time podcast

⚡️Quick bytes:

💻 Jobs

Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more.

X-Team

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 a Job Through Vettery — Use Vettery to connect with growing tech teams at startups and Fortune 500 companies.

Vettery

📚 Articles & Tutorials

Writing An SNI Proxy in 115 Lines of Go — This proxy allows you to host multiple servers behind a single IP address, which Andrew uses on his home network to access several hosts.

Andrew Ayer

A Step-by-Step Guide to Go Internationalization (i18n) — The standard library approach to localization, including how to load the message catalog and create a service in Go that provides translated responses.

Phrase

What Are The Limits of Go Channels, and Just How Fast Are They? — The limits tested are message size, buffer size, and speed of send/receive operations.

Paschalis Tsilias

The Go Security Checklist — From code to infrastructure, learn how to improve the security of your Go applications with the Go security checklist.

Sqreen sponsor

Using GitHub Actions and Hugo Deploy to Deploy a Static Site to AWS — There’s no actual Go here but Hugo is built in Go and is popular in our community.

Chris Burns

Why You Should Write Interfaces Per Package“Go interfaces don’t work like C# or Java interfaces. They allow you to very clearly declare required dependencies and this comes with some great benefits that you can’t easily get from other languages. Don’t fight this by being a DRY zealot. Embrace it!”

Brandon Fulljames

Reproducing Java's Stream Implementation with Go Generics

Egor Kovetskiy

🛠 Code & Tools

memplot: Quickly Generate PNG Plots of Process Memory Usage — All you have to do is provide a process ID and select one of various output formats.

Alessandro Cheli

gopls 0.4.2 Releasedgopls is Go’s official language server that provides code editors (like VS Code, vim, Emacs, etc.) with more functionality (like auto complete).

Go Team

Pirsch: Server-Side Tracking Without Cookies in Go — Some background on how server-side tracking of clients functions followed by a quick tutorial about how to do privacy-friendly tracking with Pirsch.

Marvin Blum

Optimize Applications and Analyze Golang Stack Traces with Datadog APM

Datadog sponsor

Casbin 2.8: An Authorization Library That Supports Multiple Access Control Models — One of those hugely popular libraries that we don’t frequently cover, but I’m sure it’ll be new to some of you and new releases are dropping frequently.

Casbin

calendarheatmap: A GitHub Activity-Style Calendar Heatmap in Plain Go — It’s quite simple and produces a single graphic rather than something interactive at this point.

Nikolay Dubina

Trubka: A CLI Tool for Working with Kafka — A very cute gopher logo on this one :-)

Alex Xitonix