Controlling a Digispark board

The Digispark is perhaps as small as a microcontroller board for DIY electronics can get. This is a short writedown about my first experiences with controlling this board through Go code, using Gobot and LittleWire.

Language Mechanics On Stacks And Pointers

Prelude This is the first post in a four part series that will provide an understanding of the mechanics and design behind pointers, stacks, heaps, escape analysis and value/pointer semantics in Go. This post focuses on stacks and pointers. Index of the four part series: Languag...

Premortems: The Art of Negative Visualization

Improving Jekyll build time

I’ve been using Jekyll on my blog since 2012. It is great! But, lately, its slow build times started to bother me. I consider moving to Hugo, but that seemed like a lot of work, and I didn’t know what the real problem was. In this post I’ll show how I improved...

Design Philosophy On Logging

Prelude This post is part of a series designed to make you think about your own design philosophy on different topics. If you haven’t read the following post yet, please do so first: Develop Your Design Philosophy Introduction Systems cannot be developed assuming that human bei...

The Discipline of Chaos Engineering (Gremlin)

Big Oh!

You worked hard to save a few CPU cycles in the central loop, but your code is still slow? Time to think about the time complexity of your algorithm.

Multi-stage Dockerfile for Golang application

A common workaround for building Golang application in Docker is to have 2 Dockerfiles - one to perform a build and another to ship the results of the first build without tooling in the first image. It called Builder Pattern.

Useful Git global config and ignore rules

I am working with git every single day, from different machines and accounts. And all these hosts have the same global git configuration. I sync it using tiny bash script.

70% cheaper Kubernetes cluster on AWS

We are running Kubernetes on both sandbox and production for some months now. Our production cluster is still small, with few services running on it, but, most of our sandbox environment is running on a Kubernetes cluster on AWS. We created the clusters with Kops (which is great...