Zaslat SMS: Principles of concurrent and distributed programming