All notes

The complete archive of all posts. All of them. Everything. All at once.

Client-side pagination in Go (range-over function edition)


Twitter graffiti

Compile-time safety for enumerations in Go

Env variables, you will (likely) find set in my Kubernetes deployments

Go runtime vs CFS quota

The Go runtime isn't aware if it runs inside a container under the resource constraints (CPU or memory). A mismatch in what the application thinks is has, and what the OS allows to use, can lead to the poor performance of the application after the unexpected throttling.

Bookmarks (issue 10)

How "go test" runs tests


Bookmarks (issue 9)

Bookmarks (issue 8)

Bookmarks (issue 7)

Working on a new thing

Bookmarks (issue 6)

Best practices

Bookmarks (issue 5)

Bookmarks (issue 4)

Bookmarks (issue 3)

A real life use-case for generics in Go: API for client-side pagination


Bookmarks (issue 2)

Bookmarks (issue 1)

Go talks I keep coming back to

My personal list of "top conference talks", I keep referring back to, even after years of working with Go.

Love. Hate. Material Design

I've got COVID. What do I do next?

Error messages in Go


Good coffee places in Berlin

Making sense of requests for CPU resources in Kubernetes

One step closer to "Tabless" workflow

Self-signed certificates with k3s and cert-manager

Wireless-to-Ethernet island for homelab cluster: IPv6, NDP proxy and mDNS reflector

Last year I decided to reorganise my homelab cluster of Raspberry Pis, turning it into a wireless-to-wired island, which I could relocate anywhere within the flat, without doing any special cable management.

Development environment in 2020

Little things of Go HTTP handlers

Every time I sketch an HTTP API in Go, I wrap the code of request handlers around these small but very convenient bits.


(You don't) Insert unicode NULL character as Postgres jsonb

Lately, I’ve learned, jsonb prohibits insertion of a valid JSON string if the string contains NULL (U+0000) character.

2020, what a year

2020 was an extraordinary year.

On code-reviews

Providing you’re working on a project maintained by a set team of N people. What would happen with the codebase if, for six months, in code-reviews, you started to accept changes for which, you generally leave feedback?

A thought experiment on Apple M1

With Apple's new M1 Macs showing (_reportedly_) huge performance improvement, compared to old, Intel-based Macs, I wonder what would hold Qualcomm (Snapdragon CPU) and others from doing the same...

Alternative font-variant in VS Code

To make the font look better in VS Code, set the alternative font-variant in the editor's settings.

One year in production

It's a year since I posted the very first note here.

Does profefe prefers "push" over "pull"?

profefe-collector, the main component of profefe, a system for continuous profiling, receives profiling data from an application and persists the data in the collector's storage. But why waiting for the data to be pushed instead of pulling it directly from the application?

How to design a good API

What's in your main-dot-go? (aka Go Project boilerplate)

Sometimes I write small services in Go from scratch. And every time main.go ends up looking almost the same.


Waveshare ESP8266 Driver Board Pins Mapping

Sticky headers? Please don't

Sticky (or "_fixed_") headers are everywhere. It feels that every web designer’s first attempt to site's navigation starts with a sticky header. I hate this.

Owner of Logging Context

The late-night dilemma... Who's in charge of logging context?

Retrieve Location of macOS Device from Go

How to access macOS Location Services and get the geographic location of the device from Go (with the help of some Objective-C).

Building Multi-Platform Docker Images with Travis CI and BuildKit

Docker has added the support for building multi-platform images in 19.x. However, the topic of building multi-platform Docker images yet feels underrepresented.

k3s with Ubuntu Server (arm64) on Raspberry Pi 4

I'm updating my Raspberry Pi's to Ubuntu Server 19.10 (arm64).

The Fireside Edition

After listening to the "Fireside edition" of Go Time (Ep. 110), I questioned myself, how would I answered the questions the hosts discussed.

[]byte to string conversion

Github Actions and GOPATH

Go's net/http.Headers

Hello World

Let's call this commit "Poehali!"