1. 2

compsci is probably the better fitting tag. The about section goes into detail in how it works.

  1.