Reactive programming from scratch
thomasvisser.me