I just finished tracking down a cross-platorm bug. The problem was that I didn't open() a file in binary ("rb") mode. What exactly does the binary flag do on windows? What is it's purpose?