General

This is a collection of articles I wrote over the years, presently with a strong focus on building reactive systems with Akka.

Akka anti-patterns: Java serialization

Published on 20 July 2018

Akka makes use of serialization when messages leave the JVM boundaries. This can happen in mainly two scenarios: sending messages over the network when using Akka Cluster (do not use Akka Remote directly) or using Akka Persistence. Now here’s the catch: the default serialization technology configured in Akka is nothing but the infamous Java serialization, – Read More

Tour of Akka Cluster – Cluster Sharding

Published on 26 February 2018

In Tour of Akka Cluster – Eventual consistency, persistent actors and message delivery semantics we started to look into making the reactive payment processor resilient to node crashes by exploring Akka Persistence, a mechansim that provides durability guarantees for actor state. We also briefly mentioned Akka Cluster Sharding which offers a way to automatically distribute – Read More

Akka anti-patterns: naming your application components after Akka concepts

Published on 26 August 2017

So you’ve just learned Akka and are tremendously excited. It’s got dispatchers, routers, supervisors – so many shiny things to play with, and in style (I mean, come on, a dispatcher sounds a lot nicer than, say, an AbstractSingletonProxyFactoryBean). And so it happens that, perhaps even unknowingly to you (you’re busy configuring a pool router), – Read More

A new adaptive accrual failure detector for Akka

Published on 26 July 2017

Akka uses the The Φ Accrual Failure Detector for failure detection, which is to say for answering the question of whether a node is alive or not. That’s one of the harder problems of distributed systems since it is virtually impossible (from the point of view of one node) to tell the difference of a – Read More

Akka anti-patterns: using remoting

Published on 8 June 2017

Whilst I have always successfully discouraged my clients from using Akka Remoting in their application, I often get questions regarding remoting while talking about anti-patterns at conferences and user groups. Don’t get me wrong. I love Akka remoting. Especially the new Aeron-based Artery remoting version that is based on UDP rather than TCP. Whilst it – Read More

Akka anti-patterns overview

Published on 29 May 2017

An overview of Akka anti-pattern articles. You can also watch a talk outlining some of them Basics Shared mutable state Blocking Flat actor hierarchies / Mixing businesss logic and failure handling Race conditions Stateless actors Performance Logging the wrong way Being out of touch with the hardware Overusing ActorSelection Using Java Serialization Network / Cluster – Read More

IntelliJ IDEA OS X Shortcuts on Ubuntu Gnome

Published on 10 April 2017

I recently got myself a new desktop computer with nice and fast hardware (more about this in another post) and am setting up Ubuntu Gnome on it. Since I’ll still be using my MacBook Pro for some time I don’t want to learn another set of keyboard shortcuts, so I set out to use IDEA’s – Read More

Scala with SublimeText

Published on 20 September 2013

Three weeks ago, one of our cats set its mind to beat its long-distance jumping record on my desk, accross my laptop. Unfortunately for my laptop, there was a cup of tea standing next to it, and our cat didn’t care too much about adjusting the height of the jump. As a result, I am – Read More

How to read the Play session from AngularJS

Published on 1 August 2013

If you happen to work, like me, on a project that makes use of both the Play framework and AngularJS, you may at some point need to read some data from the Play session in your AngularJS application. Play uses a client-side session, which makes sharing the data with client-side applications easy. In order to – Read More