Anyone who has taken a computer science or programming class will likely know of Brian Kernighan. He had significant contributions to the development of Unix, and also wrote the AWK and AMPL programming languages. For the last 20 years, he’s been a professor of computer at Princeton University.
He is the author of many technical books. When I got his latest book Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security (Princeton University Press 978-0691176543), I did a double-take at first, as this is more of an introductory text.
Notwithstanding, the book personifies what Albert Einstein noted: if you can't explain it simply, you don't understand it well. The book is a basic introduction on how hardware, software and network systems work. There is a huge amount going on under the hood of desktops, laptops and mobile device; to which Kernighan explains this in a matter that would make Einstein proud.
Besides giving an overview of how these technologies operate, Kernighan shows how they often introduce security and privacy risks. He then shoes how those risks can be mitigated.
Kernighan looks not just at the computing systems, he also details how they affect our security, privacy, and other sociological elements. While Understanding the Digital World is meant as an introductory text, there is significant value for those they want to know how these myriad systems operate, and how these technologies influence our daily lives.