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

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), your actors start getting names … Read More

A new adaptive accrual failure detector for Akka

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 remote system being completely unavailable … Read More

Akka anti-patterns: using remoting

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 maintains the same delivery guarantees, … Read More

Akka anti-patterns overview

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 Performance Logging the wrong way Being out of touch with the hardware Using Java Serialization (to be written) Network / Cluster Using remoting Trusting the network Always … Read More

IntelliJ IDEA OS X Shortcuts on Ubuntu Gnome

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 OS X 10.5+ keyboard bindings … Read More

Scala with SublimeText

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 now working for the past … Read More

How to read the Play session from AngularJS

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 access the session data on … Read More

One week on Tenerife

We spent last week on vacations in Tenerife, enjoying the nice climate and all the hiking possibilities. The highlight of this short stay was to climb on the Teide volcano, in two steps – first to the Altavista hut at 3200m, then to the top, the next morning at 5:45 AM, to catch the sunrise at 3700m. One nice thing … Read More

MongoDB-based Cache for Play 1.2.x and Play-Scala

In case anyone needs this: https://gist.github.com/1377952 You’ve got to bootstrap it in some bootstrap job like so: It’s only tested with the Press module so far (shared state is evil anyway 😉 )