Text this: Principles of distributed computing