This document introduces Reactive Extensions (Rx) for .NET, which provides a way to handle asynchronous and event-based code through the use of observables. It discusses how event handling is difficult and error-prone, representing a significant portion of code and bugs in many applications. Rx uses observables, LINQ, and schedulers to provide a push-based reactive programming model as an alternative to the traditional synchronous pull-based model and event-based asynchronous model. It provides examples of how to define and work with observables, including creating them from various sources, subscribing to receive push notifications, and manipulating streams of data.