Learnings

A running log of useful discoveries. Mostly technical, occasionally not.

2026

Q2

Week 14

Benford’s Law states that in many naturally occurring datasets, the leading digit is not uniformly distributed. Instead, the digit 1 appears as the first digit about 30.1% of the time, while 9 appears only about 4.6% of the time. The probability of a leading digit d is given by:

$$ \begin{aligned} P(d) = \log_{10}(1 + \frac{1}{d}) \end{aligned} $$

This pattern emerges in surprisingly diverse data: population counts, financial statements, street addresses, electricity bills, stock prices, and even physical constants [1].

Read more →

Q1

quick note

When you need to know all available configuration options for the AKS GitOps Flux extension, the Microsoft docs don’t list the full set of helm values, and the chart isn’t easy to track down on GitHub either. The quickest way to discover every possible value is to dump them directly from the running installation:

1helm get values flux -n flux-system --all

This returns all current values for the chart — including defaults — giving you the full picture of what can be configured.

I learned that the habit of being strict with your own output but flexible with input has a cool name: Postel’s Law (or the Robustness Principle).

It states:

“Be conservative in what you do, be liberal in what you accept from others.”

It comes from Jon Postel’s early work on TCP specifications. Basically, send data that strictly follows the rules, but don’t crash if the data you receive is slightly off. Solid advice for API design.

yabs.sh is a convenient benchmarking script for comparing the performance of cloud instances. It is especially useful for evaluating cloud provider offerings where exact resource specifications, such as CPU models, are not documented.

To run it: curl -sL https://yabs.sh | bash

2025

Q4

quick note

There are multiple api versions of Kubernetes Gateway API resources. For example, when using Azure Application Gateway for Containers with end-to-end TLS, you’ll want to use the BackendTLSPolicy with apiVersion: alb.networking.azure.io/v1 instead of apiVersion: gateway.networking.k8s.io/v1. This makes sense, as the Gateway API spec defines general-purpose resources, while cloud providers offer their own API versions with provider-specific extensions and capabilities.

quick note

CPU limits in Kubernetes are harmful because they prevent pods from using available resources even when the node has spare capacity, leading to unnecessary throttling. The recommended best practice is to use accurate CPU requests without limits, which guarantees each pod its requested CPU while allowing it to burst higher when resources are available.

In Domain-Driven Design, the Aggregate pattern isn’t just about grouping related entities. It’s about defining transactional boundaries. Each Aggregate should have only one root entity that external code references, ensuring invariants are maintained consistently within that boundary.