Welcome to Smartjava.org

Welcome to Smartjava.org. My name is Jos Dirksen, I currently work as independent contractor forING, a large Dutch financial institution. I like talking, reading, presenting and writing about technology. On this website you can find additional information relating to the books I've written:

On this page you can find the latest set of articles I've written for this blog. For an overview of all the articles, you can use the link in the menu.

Akka Typed Actors: Exploring the receptionist pattern

In this article we'll explore another of Akka-Typed patterns. This time we'll show you how you can use the receptionist patterns. This is the third and last article on a series on Akka-Typed. The other two articles can also be found on this site. If you don't know anything about Akka-Typed yet, it's a good idea to first read the "First steps with Akka Typed article":

Akka Typed: First steps with typed actors in Scala

With the [release of Akka 2.4.0| http://akka.io/news/] a couple of weeks ago the experimental Akka Typed module was added. With Akka Typed it is possible to create and interact with Actors in a type safe manner. So instead of just sending messages to an untyped Actor, with Akka Typed we can add compile time type checking to our Actor interactions. Which of course is a great thing!

Listen to notifications from Postgresql with Scala

In the past I've written a couple of articles (Building a REST service in Scala with Akka HTTP, Akka Streams and reactive mongo and ReactiveMongo with Akka, Scala and websockets) which used MongoDB to push updates directly from the database to a Scala application. This is a very nice feature if you just want to subscribe your application to a list of streaming events where it doesn't really matter if you miss one when your application is down.

Scala typeclass explained: Implement a String.read function

In this short article I'd like to explain how you can use the typeclass pattern in Scala to implement adhoc polymorphism. We won't go into too much theoretical details in this article, the main thing I want to show you is how easy is really is to create a flexible extensible model without tying your domain model to specific implementation or traits.