QCon is a practitioner-driven conference designed for technical team leads, architects, and project managers who influence software innovation in their teams.

Training: "Principles of Reactive Programming"

Track: Training / Time: To be announced / Location: To be announced

One of the most hyped topics in our industry these days is "Big Data". After focusing on Volume, people are now recognizing that Variety and more importantly Velocity are as important, or in fact, even more important than just pure volume for application developers. All modern Desktop, Web and Mobile applications require sophisticated coordination and orchestration of asynchronous data and event streams originating from web services, UI elements, sensors, GPS, push notifications, etc. and hence developers need powerful tools to compose asynchronous data streams.

In this course, we'll examine how to apply Reactive Extensions (Rx) to manage and analyze events and real-time data streams and act on them in an asynchronous manner. This course will be largely hands-on and driven by practical and language independent examples using sample data sources from sensors, GitHub, Twilio and Netflix, and applying Rx to the Web via RxJS and HttpClient, as well as creating GUI apps using Rx.NET. We'll also look more data-analytical intensive, such as creating real-time data processing and aggregation of Twitter and stock streams in a clean, testable way.

Keywords: Big Data, velocity, streaming data, asynchronous programming, LINQ, complex-event processing, reactive programming.
Target Audience: Developers interested in real-time analytics over streaming big data and compositional event processing. Rx developers of all levels who would like to interact the inventor of the technology.
Requirements: We recommend attendees using Windows to install LINQPad and the reactive extensions for .NET and JavaScript from NuGet. For those on OSX and Linux, we would love you to play along using Xamarin Studio, using GitHub's ObjectiveC implementation, Netflix's RxJava, or Google's Dart. In case you do want to prepare yourself for this course, we recommend to have a look at Introduction to Rx. Knowledge of monads and category theory is not required.

Erik Meijer, Founder at Applied Duality, Inc.

Erik Meijer

Biography: Erik Meijer

Erik Meijer is an accomplished programming-language designer who has worked on a wide range of languages, including Haskell, Mondrian, X#, Cω, C#, and Visual Basic. He runs the Cloud Programmability Team at Microsoft, where his primary focus has been to remove the impedance mismatch between databases and programming languages. One of the fruits of these efforts is LINQ, which not only adds a native querying syntax to .NET languages, such as C# and Visual Basic, but also allows developers to query data sources other than tables, such as objects or XML. Most recently, Erik has been working on democratizing the Cloud using Volta and preaching the virtues of fundamentalist functional programming in the new age of concurrency and many-core. Some people might recognize him from his brief stint as the "Head in the Box" on Microsoft VBTV.

Twitter: @headinthebox