Antoine Kalmbach

Configurability March 9, 2019

March 9, 2019

Customizing software products can be done by creating derivate products by altering what is known as the baseline product. This results in effectively new products, and managing them involves complicated logistics. What if we brought all the custom features inside the baseline, and used configuration to choose from the baseline what goes into the custom versions?

The runtime configuration problem September 16, 2018

September 16, 2018

Configuring continuously running applications is a tricky problem. Effecting a new configuration alters application behavior, but this doesn’t always happen instantly. I explore various ways for ensuring these transitions happen smoothly.

Software customization is really hard April 26, 2018

April 26, 2018

I have been thinking long and hard about how to do software customization properly at a software architecture level. I don’t want to claim that I have figured things out, but I offer what I think is a reasonably abstract solution, if that makes sense.

The Joy of AsciiDoc March 22, 2018

March 22, 2018

Markdown has many limitations, AsciiDoc has few. Converting this site to AsciiDoc was not as easy as I thought, as I had to ditch the standard Github Jekyll integration, and build my own.

Envisioning a new tracing system February 10, 2018

February 10, 2018

We can tell where we are by knowing the time and looking at stars. Can we do the same with distributed software systems?

Useless interfaces March 23, 2017

March 23, 2017

A feature that often frustrates me in object-oriented code is the prevalence of useless interfaces. Interface isn’t meant literally here: this applies to traits of Rust/Scala and protocols of Clojure as well. The advice of planning for the interface is just and solid, but people tend to follow this tip...

Implicit power March 15, 2017

March 15, 2017

Scala gets lots of flak for implicits. Some of the feedback is justified: implicits in Scala can be quite intimidating or confusing for beginners. That does not justify their dismissal, as implicits, in all of their flavours, when used correctly, can be actually quite simple and powerful. I recently had...