Persistent datastructures with Go

I present a couple of patterns that help modelling persistent datastructures in Go. I also apply them to three examples.

February 25, 2018

What even is error handling?

I philosophize about error handling, what it actually means and how to characterize Go’s approach to it.

January 21, 2018

Generating entropy without imports in Go

I come up with a couple of useless, but entertaining ways to generate entropy without relying on any packages.

January 15, 2018

Monads are just monoids in the category of endofunctors

I explain the mathematical background of a joke-explanation of monads. Contains lots of math and a hasty introduction to category theory

January 8, 2018

Diminishing returns of static typing

When talking about static type systems, we often tend to focus on one side of the equation. I’m trying to make explicit how I view the question as a tradeoff and why I neither agree with “more is always better”, nor with “a little is enough”.

September 12, 2017

Why context.Value matters and how to improve it

In light of recent discussions about its removal, I try to discuss what kinds of problems context.Value tries to solve. I then try to describe a design which would address most (but not all) of the criticism surrounding it.

August 14, 2017

What I want from a logging API

Logging in Go is a notoriously lacking topic in the standard library. There are 3rd-party libraries trying to work around this. I’m trying to explain, why I find them still lacking

August 6, 2017

The trouble with optional interfaces

I take a look at the pattern of optional interfaces in Go: what they are used for, why they are bad and what we can do about it.

July 30, 2017

Using Hilbert Curves to 100% Zelda

Using math, I made it a lot easier to find the last undiscovered parts of my Zelda - Breath Of The Wild map.

July 22, 2017

How to not use an http-router in go

Trying to provide some advice on how to do easy, readable, scalable routing in go, without relying on any muxers/routers (or writing your own).

June 18, 2017