Discrete Mathematics: An Open Introduction [pdf] | Hacker News Reader