Antoine Kalmbach

Apache Camel and the price of abstractions March 8, 2017

March 8, 2017

Apache Camel is a routing and mediation engine. If that doesn’t say anything to you, let’s try this: Camel lets you connect endpoints together. These endpoints can vary. They can simple local components, like files, or external services like ActiveMQ or web services. It has a common language format for...

Half stack web frameworks November 2, 2016

November 2, 2016

In my previous post, I discussed how web development had become weird. In this post, I will discuss what exactly is it that makes it so weird. I will also present an alternative to JavaScript-based SPAs that look and behave like them, yet at the base are built using standard...

Web development has become weird October 25, 2016

October 25, 2016

Call me old-fashioned, call me a curmudgeon, but I think web development has become stupid and superficial. The unending quest towards single-page apps (SPAs) has made web development extremely painful and the current trend is diverging towards seven different directions at once. On one end, we have rich SPAs that...

Communicators: Actors with purely functional state October 14, 2016

October 14, 2016

In Scala, Akka actors, as in the traditional Actor model, may modify private state. The accepted convention is to have a mutable object (e.g. a Map), a var, and mutate it like so: class Library extends Actor { var books = scala.collection.mutable.Map.empty[String, String] def receive: Receive = { case AddBook(isbn,...

Focus March 25, 2016

March 25, 2016

Focus is a design element in programming languages that I think deserves more attention than it gets. A focused language puts emphasis on a set of coherent idioms. Multi-paradigm languages like C++ or C# are unfocused because they lack a certain principle. Take C, for instance. You can do OOP...

Imprecision and abstraction March 17, 2016

March 17, 2016

What is the point of abstractions? We want to hide things. We want to generalize things. We want to extend things. Why are mathematical abstractions so intractable? Why is the Wikipedia page on functors incomprehensible to someone not used to mathematical formalisms? Why does it sound so vague? When approaching...

Are my services talking to each other? January 26, 2016

January 26, 2016

I am faced with an interesting thought experiment, which asks: If I can see two of my friends, and I know they should be communicating to each other, what is the simplest way of making sure they are doing so? Your first instinct is to look at them and listen....