Golang Ninjas Newsletter — Issue #19

Weekly letter · Maarten Bezemer · Sept. 7 · Join for free or add the newsletter rss

Maarten uses Go to build the back-end of developer platform Jexia. You can check previous newsletter editions here.


A gentle introduction to Golang Modules


Go 1.11 introduced a new concept of Modules which brings first class support for managing dependency versions and enabling reproducible builds. By Ukiah Danger Smith.

How Go runtime implements maps efficiently (without generics)


This post discusses how maps are implemented in Go. It is based on a presentation I gave at the GoCon Spring 2018 conference in Tokyo, Japan. By Dave Cheney.


Clean Architecture in Go


Clean architecture is well known architecture these days. However, we may not know about details of the implementation very well. By Yusuke Hatanaka.

Port a Golang game to iOS


A way to build actual iOS game with Golang. By ntop.

Error handling nicely — Part 2


In this second part of the Error Handling series, error we’ll look at some ways to make processing easier in this nested function structure .


PushMan: The Koinex standard for realtime experience


The dev story of PushMan, our in-house realtime Publish-Subscribe (PubSub) system that delivers messages published from the polyglot Koinex platform. By Ankush Sharma.


bytes.Buffer in Go: Optimizations that do not work


Many Go programmers are familiar with bytes.Buffer . One of its advantages is that it avoids allocation of memory in the heap in the same way as “ small buffer / size optimization. By Iskander Sharipov.

By Damian Gryski

Distributed tracing infrastructure with Jaeger on Kubernetes


One cannot overstate the importance of monitoring infrastructure as an integral component of distributed systems (or, any system for that matter). By Masroor Hasan.

Measuring integration test coverage rates in PouchContainer


This article takes a look at a tutorial that gives an explanation on how to measure integration test coverage rates in PouchContainer. By Leona Zhang.


Notes on the Go2 generics draft


Full disclosure, I’m against adding generics to Go. Arguments include:

  • additional complexity generics would add to the language
  • generics sacrifice readability for writability, which is the wrong tradeoff
  • non orthogonality with interfaces — By Jason Moiron.

Regarding the Go 2 generics draft


I’ll explore and respond to the problem overview and contracts drafts of the generics design, authored by Ian Lance Taylor, Robert Griesemer, and Russ Cox. By Kevin Gillette.

By Damian Gryski

Measuring errors vs. exceptions in Go and C++


The following document investigates the performance of signalling errors from functions in Go and C++. By Raphael Poss.

Maybe adding generics to Go IS about syntax after all


Update: This proposal is incomplete. It cannot replace two common use cases. By Dave Cheney.


Implementing a network protocol in Go


An very detailed walkthrough of implementing a networking protocol (NDP in IPv6) in Go, with many, many code snippets. By Beyang Liu.

Advanced Testing in Go


In this tutorial, we’re going to be taking a look at some of the advanced testing practices used by the Go language developers in the official Golang/go repo. By Elliot Forbes.

Grant Griffiths — Black Box Monitoring in Go


You’ve set up your favorite monitoring agent on all of your services and you have incredible visibility into the internals of your infrastructure. All seems …

By Grant Griffiths
Weekly letter · Maarten Bezemer · Sept. 7 · Join for free or add the newsletter rss