Text this: Introduction to distributed algorithms