Principles, loosely defined and incomplete.

Engineering

  1. Deal with the mess.
  2. Let different things be different.
  3. Always use UUIDs.
  4. Delay serialization.
  5. Look at things.
  6. Never name something end. Always either endExclusive or endInclusive.