Overview
Syllabus
Introduction
Interaction Protocols
How significant are protocols for software development?
Evolutionary Biology & Communication
Facial Expressions
Manners & Etiquette
Hygiene Disease
Courtesy Society
Formal Protocols
Good conditions to succeed
Concurrent & Distributed Systems
How should components Interact?
418 "I'm a teapot"
How should we document our protocols?
API vs Protocol
What could possibly go wrong?
Multicast Example
ACK / NAK Implosion
Who cares about waste?
Don't use text codecs! Please please use binary codecs
Versioning
Sync vs Async
Synchronous = Blocking
it's about managing state via feedback
O-RIT and replay attacks
Batching
Etiquette of a request
Snake Oil Protocols
Two-Phase Commit is not fault tolerant
Guaranteed Delivery
Applications should have feedback & recovery protocols
Are protocols significant to software development?
Question, Hypothesis, Prediction, Experiment, Analysis
Falsifiability
Conway's Law
Taught by
GOTO Conferences