Pieter Nijs gives a presentation on reactive programming. He defines reactive programming as being event-driven, scalable, and responsive. It involves programming that reacts to data pushed from the environment rather than pulling data. Observables allow pushing asynchronous data streams via OnNext, OnError, and OnCompleted notifications. Subscribers can listen for these notifications. Reactive Extensions (Rx) brings the benefits of functional reactive programming to .NET via LINQ-like operators on observables. Async/await also integrates well with Rx. ReactiveUI allows building MVVM apps reactively by observing view model properties and commands.