Software Engineering and Stuff

A Plea for more Mikado

August 21, 2023
One of the books that impacted the most my career is probably The Mikado Method. I read it almost 10 years ago, and I don’t practice it explicitly. But I think of the method almost every day, and it has been impacting how I work ever since. And yet, it has remained something quite obscure. Whenever folks suggest must-read computer science books, it’s never there. So let’s try to explain it a bit more, and how it can be used every day in the life of a programmer.

Let’s not monkey-patch instrumentation

January 25, 2023

Modern telemetry libraries allow easily configuring auto instrumentation, to automatically gather observability data about frameworks and libraries.

There are two main approaches to architecting those auto-instrumentation libraries. As middlewares/wrappers, or as monkey-patches. I believe middlewares are much better, here’s why.

Understanding Trace Propagation in OpenTelemetry

January 3, 2023

OpenTelemetry is making observability much easier, especially by providing the first widely accepted vendor agnostic telemetry libraries.
The first signal the project implemented is tracing, which is now GA in most languages.

You most likely don’t need metrics

September 5, 2022

Ever since we need to operate hardware and software in production, we have needed to know how those behave. For example, when I brew craft beer, I use an iSpindle to monitor the temperature and the gravity of my wort.

Functional Options in Ruby

February 24, 2021

In this article, I would like to suggest the use of a very common pattern in Go, Functional Options, but adapted to the Ruby language.

Dissecting OpenTelemetry Go Tracing

January 14, 2021

OpenTelemetry is a quite new tool meant to provide a standard interface to for handling metrics and traces.

It provides libraries in all main languages, and its collector component allows receiving data from any app in any language, and transmitting them to any observability platform.

How I broke git push heroku main

October 1, 2020

Incidents are inevitable. Any platform, large or small will have them. While resiliency work will definitely be an important factor in reducing the number of incidents, hoping to remove all of them (and therefore reach 100% uptime) is not an achievable goal.

We should, however, learn as much as we can from incidents, so we can avoid repeating them.

Dissecting Prometheus Scraping

October 16, 2019

Prometheus is an Open-Source monitoring system and time-series database. In this post, I am going to dissect some of the Prometheus internals – especially, how Prometheus handles scraping other components for their metrics data.

Read Code Like You Read a Book

September 30, 2019

I recently finished reading How to Read a Book.

I didn’t read this book with programming in mind. However, while reading it I kept thinking that we could apply the same approach to reading and understanding a programming project.

My First Beer Brew

August 30, 2019

I have had a dream for a while now: to start brewing my own beer.
It’s not that I drink lots of beer. More that I like good beers, and those tend to be the craft ones. So I wanted to better understand how that was made, by making my own.