Latest

Juggle: Concurrent Task Processing with a Single Actor

TL;DR: https://github.com/kifi/juggle

Concurrent Task Processing

Last year, we open sourced our Reactive Lock, a lightweight library that we use at Kifi to limit…


Route binding custom classes in Play! Framework

One of Play!’s primary features is typed routing, which enables you to use strong types from your controllers. Buried in Play’s documentation (to the best of my knowledge, not linked anywhere) is an example of how to use your own types in routes…


Using Database Dialects within Play Framework

This post follows up on the Scala Slick Database Drivers & Type-Safing Session Concurrency post where we discussed the abstraction layer we’re implementing on top of the slick driver and db access. In the post we mention we’re using DatabaseDialect…


Creating an async consumer Iteratee in Play!

The Play! Iteratee framework is very nice for reactively handling data streams. If you haven’t worked with Iteratees yet, think of them as consumers/sinks with a state. For example, in the Chat room example provided with the Play source…


Introducing a Reactive Lock for Scala

TL;DR: https://github.com/kifi/ReactiveLock

At Kifi we try to follow reactive patterns as much as possible. Over the last two years we’ve come to appreciate the strengths of the pattern, but also run into some weaknesses. This post and…