Text this: Introduction to Reliable and Secure Distributed Programming