Kris Kowal

Software Engineer at Uber at Uber


A General Theory of Reactivity
Thursday 16:10 - 16:55
Reactive programming

Your rating:

Draw a sample from the cacophony: “Everything is just a stream.” “A promise is just an observable.” “A value is just an array of length one.” “There are no silver bullets.” “Why can’t we all just get along?”

It is only logical that we all get along. In this talk I will explain a General Theory of Reactivity, which will train you how to choose the right asynchronous tool for the job, covering Streams, Promises, Tasks, Futures, Observables, and more.

Each of these primitives is distinguished by whether it is broadcast or unicast, pushable or pullable, discrete or continuous. All objects that model temporal behavior have analogues with spatial behavior, and some combine both.

Furthermore, each of these concepts is becoming integral to the JavaScript language or the web platform. What makes each of these types similar and what makes each of them distinct is the key to weaving them into a cohesive whole.


Kris Kowal wrote the CommonJS modules specification and the first package.json. He also published Q, an asynchronous promise library, that had a hand in shaping JavaScript’s Promise. Kris also created, an online map of Middle-earth, penned in Elvish. Kris works on distributed systems and RPC at Uber.

Create account

You need an account to save events or rate talks.

Already have an account? Sign in

Sign in

Sign in to save events or rate talks.