anchor.diff:  either ANT or website sniffing. Why one would do this is beyond me,
   just saying, is all.
   
  -== Website Sync Communication
  -
  -== Device Communication
  +== Website Communication
  +
  +=== Account Establishment and Tracker Bonding
  +
  +Nothing yet known about this.
  +
  +=== Data Synchronization
  +
  +Communication with the website happens via HTTP requests to a REST
  +API, with replies of XML blocks. These blocks contain opcodes to send
  +to the device, as well as information the website will need to
  +identify the device in later commands.
  +
  +Opcodes and their results are encoded via base64. 
  +
  +The data flow between the website and the client happens in the follow
  +order (all commands go to http://client.fitbit.com, REST locations are
  +listed below):
  +
  +- Client receives beacon from tracker, establishes link (see Fitbit
  +  Communication section)
  +- Client contacts website at /device/tracker/uploadData, sends basic
  +  client and platform information
  +- Website replies with opcode for tracker data request
  +- Client gets tracker data (serial number, firmware version, etc...),
  +  sends base response. Sends to /device/tracker/dumpData/lookupTracker
  +- Website replies with website tracker and user ids based on tracker
  +  serial number, and opcodes for data dumping
  +- Client dumps data from device, sends to
  +  /device/tracker/dumpData/dumpData
  +- Website replies with commands to erase data from device, and
  +  synchronize time (and possibly data?) with website.
  +- Client sends successful responses on all opcodes (but no specific
  +  data) to website at /device/tracker/dumpData/clearDataConfigTracker
  +- Website replies with command to close tracker, and have the beacon
  +  sleep for 15 minutes (probably conserves power).
  +
  +== Fitbit Communication
  +
  +=== Base Initialization
  +
  +=== Establishing Tracker Communication
  +
  +=== Querying Tracker Information
  +
  +=== Data Dumping
  +
  +=== Device Erasing
  +
  +== Data Formats
  +
  +=== Second Data
  +
  +=== 5 Minute Interval Data
  +
  +=== Daily/Per Sync Data
  +
  
positive.code: - ANT Message and Protocol Documentation: http://www.thisisant.com/images/Resources/PDF/1204662412_ant%20message%20protocol%20and%20usage.pdf
  - FitBit FAQ: http://www.fitbit.com/faq
  - FitBit Manual: http://www.fitbit.com/manual
  
  == Terminology
  
  
negative.code: complete record of both USB and website communications, with copious
  amounts of annotation. Each call to and response from the device and
  website is logged and even sometimes documented.
  
  The USB information in the logs truncates most of the ANT protocol
  specific information. USB communication looks something like
  
  ------
  02/02 22:25:36 Setting channel id [number: 65535, type: 1, transmission: 1]...
  02/02 22:25:36 [40] 0x00, 0x51, 0x00
  02/02 22:25:36 Channel id set.
  02/02 22:25:36 Opening channel...
  02/02 22:25:36 [40] 0x00, 0x4b, 0x00
  02/02 22:25:36 Channel opened.
  02/02 22:25:42 [9A] 0x00, 0x58, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 Acquired beacon.  Sending RESET packet...
  02/02 22:25:42 Queuing packet to send...
  02/02 22:25:42 >>>>> SEND 0x78, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 Sending 8 bytes of ACK data...
  02/02 22:25:42 [9A] 0x00, 0x58, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 [05] 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 Pending acks: 0
  02/02 22:25:42 Tracker reset.  Sending LINK REQUEST...
  02/02 22:25:42 Queuing packet to send...
  02/02 22:25:42 >>>>> SEND 0x78, 0x02, 0x8b, 0x7a, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 Sending 8 bytes of ACK data...
  02/02 22:25:42 [9A] 0x00, 0x58, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 [05] 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 Pending acks: 0
  02/02 22:25:42 Closing channel...
  02/02 22:25:42 [40] 0x00, 0x4c, 0x00
  02/02 22:25:42 Close request acknowledged...
  02/02 22:25:42 [02] 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  02/02 22:25:42 Waiting for close message -- ignoring incoming data
  02/02 22:25:42 [07] 0x00, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  ------
  
  This is not a complete log of USB messages, however, the explanations
  of some of the messages are quite useful for translating the actions
  into code.
  
  While working on the web communication, it was also found that error
  messages about communications flow were quite helpful. Errors are
  