Keeping Go a human-first language

Disclaimer: I forked my opinions on this one from a barely readable Twitter thread and wanted to write it down how I feel about keeping the language internals away from the users, especially from the newcomers. This is not a skill-level concern, it is a core goal of Go to provide...

A Random Blog Post

How to generate random numbers, and the difference between math/rand and crypto/rand.

Reducing Type Hierarchies

Introduction I see a lot of developers coming to Go from object oriented programming languages such as C# and Java. Because these developers have been trained to use type hierarchies, it makes sense for them to use this same pattern in Go. However, there are aspects of Go that do...

Hugo goes global

Hugo is going Global! Hugo 0.17, released today, is our best and fastest release ever! Hugo 0.17 is nearly twice as fast as Hugo 0.16 and adds full support for multilingual websites with i18n support throughout all of Hugo.

Watchub

Watchub is a service that notifies you of people who followed/unfollowed you and starred/unstarred your repositories. Watchub home page. It runs every day and sends you an email if something changed. The first commit was about 1 month ago, and I first deployed it...

On Finding Root Causes

Swaggerize your APIs

Swagger UI is a great tool and a must have for any respectable API project. It has an intuitive design, all endpoints can be tested from the interface. For example, let’s have a look at Kubernetes API, where endpoints are grouped by version, and everything is accessible in...

Fixing Alerts

As a DevOps/SRE, I spent a reasonable amount of time dealing with metrics and alerts. Usually, companies start with none or few monitoring. One day, they realize they need metrics, alerts, and all the gang. Sure, this will help them fix problems and outages faster, so, they start...

How to make people love your product

I have seen a lot of posts like this subject, but almost all of them were about stuff you should do and almost none of them reflected how I truly feel, how I want a product to be so I can “love” it. If I would make a list, it would look more or less like this: 1. No b...

Go tooling essentials

New to the Go tools? Or do you want to expand your knowledge? This article is about the flags for the Go tools everyone should know. Disclaimer: This article might be slightly biased. This is a collection of flags I personally use and flags people around me having trouble finding...