About

This blog aims to fill the gaps in knowledge transmission and provide useful everyday tips about the Go programming language, its packages and tools. I started this blog when she was working on the Go team at Google and an trying my best to keep it alive. About the author I work...

Apply transformations to Go code with eg

If you are willing to make large scale refactoring in your Go programs, automating the refactoring tasks is more desirable than manual editing. eg is a program that allows you to perform transformations based on template Go files. To install the tool, run the following: $ go get...

UUID without dependencies in Go

Today I saw that the size of my vendor/ folder in Golang project is around 150M. I am using glide there and there are 24 dependencies (it’s a program with multiple data storage connectors, notifications, etc.), so I decided to review it and reduce the amount of 3rd party li...

The Obvious, the Easy, and the Possible

Balancing a binary search tree

Only a well-balanced search tree can provide optimal search performance. This article adds automatic balancing to the binary search tree from the previous article.

How Complex Web Systems Fail - Part 2

Setting up a Go build with Glide on CircleCI

I’ve lost a considerable amount of time trying to bind those things together, so I decided to write this quick post about it, so others could also benefit from it. The tips are: Don’t install Glide using go get. Use apt; Override dependencies and test sections; You&r...

A Binary Search Tree

Search trees are everywhere: In databases, in file systems, in board game algorithms,… This post explores the probably most basic form of a tree: a binary search tree.

How Complex Web Systems Fail - Part 1

ld.so: glibc's dynanic linker/loader

The post “10 LDFLAGS I love” by Jessie Frazelle reminded me that I know a thing or two about the dynamic linker that many people using Linux rarely need, but when they need them, it’s because they really need them. I came by this knowledge a couple of decades ag...