Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security, Second EditionBrian W. Kernighan