Messaging passing concurrency in Go, Dropbox migration to gRPC & the story behind Go’s typeface

Written by
Link to Post

Stay up-to-date and ahead of your peers with this weekly newsletter for senior Golang engineers. I’m Maarten and currently use Go to build the back-end of developer platform Jexia. Just learning Golang? Look into the ’Master the World of Go’ newsletter.

News & fundamentals

Avoid package names like base, util, or common

Writing a good Go package starts with its name. Think of your package’s name as an elevator pitch, you have to describe what it does using just one word. 

Proposal: move out of · Issue #29639

Hi there, over the past few months the signals we’ve got is that the core Go team has no interest in continuing the work of dep, or to contribute code to it. 

Release Go 1.12 beta 2

We have just released go1.12beta2, a beta version of Go 1.12. It is cut from the master branch at the revision tagged go1.12beta2. 

A conversation regarding Go modules integration

A filed issue stated that there was not one standard import path that worked for both a non-module and module user-base if you were a library author using this package. 


Stop writing broken Go libraries

Some time ago my friends and I came up with an idea of merging our IRC bots and rewriting them in Go. 

Minimizing Docker images with multistage

It is not desirable in the production environment to be such a big size due to the below reasons. 

Automating Vault deployment and configuration on OKD

Hashicorp Vault is an Encryption-as-a-Service tool that is used to securely store and access secrets. At zenAptix we are using Vault as an internal CA for various OpenShift application services. 

Want to write good unit tests in Go? Don’t panic, or should you?

Over the last few weeks I had some free time to improve my graphql parsing library. 

Build a Go cache in 10 Minutes

The cache is one of the greatest innovations of computer science. It significantly reduces work on the CPU and provides massive performance gains in terms of speed. 😃 

Optimising startup time of Prometheus 2.6.0 with pprof

The 2.6.0 release of Prometheus includes WAL loading optimisations to make startup faster. 


A tour of GetSetDB

The complete guide to a beginner on using the GetSetDB — a NoSQL, key-value pair database that lives in memory but is even more efficient than Redis. 

OrderedDict in Golang

One of the most interesting data structures Python has built-in is the OrderedDict. 

Metasploit Framework 5.0 released

The release of Metasploit 5.0, the culmination of work by the Metasploit team over the past year. 

Distributing prebuilt Go binaries on Github with Gox

About Gox, a tool to easily cross-compile multiple version of a binary in parallel. And also Ghr, a tool to upload multiple binary files as a Github release. 

Ockam releases open source code to solve IoT devs’ challenges


Courier: Dropbox migration to gRPC

At the core of Dropbox’s Service Oriented Architecture is Courier, its gRPC-based Remote Procedure Call (RPC) framework. 

The state of gRPC in the browser

A high-performance, open-source universal RPC framework. Client applications can directly call methods on a server application on a different machine as if it was a local object. 

The story behind Go’s typeface

Discussed at the last page of an interview with Kris Holmes of the Bigelow & Holmes design studio. Holmes worked in the areas of typeface design, calligraphy, lettering, signage, graphic design, screenwriting and filmmaking. Read more about Go fonts. 

Writing a dispatch API backend server in Go

I’ve finally dove deep into Go and managed to cobble together my first Go application, a dispatch API server. 

The world might be missing a programming language

A common idea since 1995 or so is that the world doesn’t need another programming language — we have all the languages necessary and it’s just a matter of perfection. 

Scientific papers

Replication for the global data plane

We implemented our replication service in Golang 1.11 in approximately 2,700 lines of code. It can be found at 

Angela: sparse, distributed, and highly concurrent merkle tree (pdf)

We present Angela, a concurrent and distributed sparse merkle tree implementation. The orchestrator distributes the work to multiple worker nodes written in Golang for concurrent merkle tree updates. 

An empirical study of messaging passing concurrency in Go projects

In this paper, 865 Go projects from GitHub are analysed in order to understand how message passing concurrency is used in publicly available code. 


Go Modules for Package Containers

Wondering how to make sure your Go package is backwards compatible with Deps? How about Go 1.8? In this video, Mark Bates will walk through the most common mistakes that package maintainers make when implementing Go modules, as well as how to properly handle forward and backwards compatibility for Dep, Go Modules, older versions of Go, and more. 

submitted by /u/golangthy
[link] [comments]

Article Tags:
· ·
Article Categories:

Leave a Reply