Dr. Roland Kuhn

I am CTO and co-founder of Actyx, author of Reactive Design Patterns, a co-author of the Reactive Manifesto, co-teaching the Coursera course “Principles of Reactive Programming”, and a passionate open-source hakker. Previously I led the Akka project at Lightbend. I also hold a Dr. rer. nat. in particle physics from TU München and have worked in the space industry for several years. I spend most of my life in the central European timezone.

Talks and Presentations

If you are interested in having me speak at your conference, shoot me a mail.

Articles

For my blog please head over to github.

blog, Nov 20, 2016

My journey towards understanding distribution

JAXenter, Nov 2, 2015

Reactive Anwendungen bauen: “Das stumpfe Kopieren von Mustern führt nicht zum Erfolg”

InfoQ, Jan 6, 2013

Creating Resilient Software with Akka (also in Japanese)

let-it-crash, Jan–Mar 2013

Blog series on Typed Channels (part one and part two)

let-it-crash, Mar 10, 2012

An often-useful post on TypedActors

Over time I contributed to the former Akka team blog “Let It Crash” (which has been converted into a newsfeed for everything around Akka in Oct 2013). You can take a look at all my posts.

Books

Get a 39% discount using code 39kuhn.

Probably of least interest to the general public — but dear to my heart — is my doctoral thesis.

More relevant is that I am working on “Reactive Design Patterns”, to be published by Manning later this year. This book focuses on the design philosophy behind reactive systems — demonstrated with examples using the Akka toolkit and others — and illustrates common design patterns around message passing, supervision and fault tolerance, scalability and testing.

The book has entered the Manning Early Access Program on March 29, 2014, with all chapters 1–17 available. You can download the first one for free from the Manning website. I am looking forward to your comments while developing the book throughout the upcoming months, so be sure to visit the Author Forum.

Projects

Reactive Streams

I am honored to be part of the effort of standardizing mechanisms for implementing asynchronous and non-blocking stream handling on the JVM: Reactive Streams. The focus of this project is to define interfaces for transferring data items across an asynchronous boundary—be that a network connection or between CPU cores—in a fashion that includes flow control, does not require unbounded buffering and can be efficiently implemented in different languages or based on different execution engines.

This means that implementations are interoperable and users can pick and choose the most appropriate technology for each part of their application while still enjoying asynchrony and flow control across all components.

Teaching

Principles of Reactive Programming

This Coursera course (meanwhile deactivated, see this screenshot) had more than 110,000 enrollments in its first two iterations, and it is foreseen to be rerun as part of the Scala Center. I was co-teaching this course with Martin Odersky (creator of the Scala programming language) and Erik Meijer (creator of the Rx.NET reactive streams framework). Martin covered monads, mutability and FRP, Erik taught futures and Rx, and I covered actors, supervision and distribution using Akka.

Social Networks

You can find me on twitter / LinkedIn / StackOverflow / g+ / github / slideshare / keybase / Skype (roland.kuhn).

Contact

You may reach me at info@rolandkuhn.com.