To get the most out of this book

  1. Inform the reader of the things that they need to know before they start, and spell out what knowledge you are assuming
  2. Some preliminary knowledge of data structures, object-oriented programming, networking concepts, and cryptography is a plus but not mandatory