Revision: 1.10, 2009-01-18
It is sometimes postulated that a universe containing all possible histories must eventually include a history where unicorns exist. This is an incorrect understanding of infinite sets, because there can exist infinite sets that exclude an infinite number of possible (or impossible) subsets; for example, the set of even integers contains an infinite number of integers, yet it also excludes an infinite number of integers (all of them being odd).
Catalogs and analyzes the various pseudoscientific, paranormal, and superstitious beliefs of our society. Details the distinction between these belief systems and true science. Also defines what is means to be a skeptic, the approach of skepticism, and critical thinking.
This underlying theme of this book might best be summed up by the response Shermer gave when asked, "Why should we believe anything you say?". His response was, "You shouldn't. Think for yourself."
Also discusses the fairly small range of conditions required to maintain hospitable living conditions on Earth, such as atmospheric carbon dioxide levels, terrestrial geological activity, and bombardments from solar-orbit comets and asteroids. Such conditions have not always been at the levels they are today.
This makes for a very good introduction to modern cosmology and evolution theory in one handy book.
While the plot unfolds, much of the history of mathematics is told in this story, making the book a nice companion to some of the other historical math books listed here.
Much like Einstein's discovery that the speed of light is a limit that no physical interaction can exceed, string theory places a lower limit on reality such that no unit of matter or energy interaction can be smaller than the Planck scale.
Starts with Maxwell's equations that unified electric and magnetic phenomena into a single theory, on to Einstein's discovery that gravity is a geometric feature of spaectime, leading up to "superstring theory", which explains the physics of our Universe as being built within a 26-dimensional spacetime having 16 of the dimensions curled up into Planck-sized surfaces.
Donald Knuth
Addison-Wesley, 1973, 1997
These are the classic reference volumes on programming,
covering the foundations of computer science.
If you need to know an algorithm for hashing, sorting, searching,
binary arithmetic, and on and on, this is the place to find it.
Programming Pearls
Second Edition
Jon Bentley
Addison-Wesley, 2000, ISBN
0-201-65788-0
pbk
More Programming Pearls
Confessions of a Coder
Jon Bentley
Addison-Wesley, 1988, ISBN
0-201-11889-0
pbk
Bentley wrote a series of columns in the
Communications of the ACM
and then collected them into these books.
He covers all the classic programming activities,
including hashing, sorting, searching, and code tuning.
They also make great references;
the sections on binary search and heapsort alone are worth the price
of the book.
The second edition of the first volume has updated chapters and a few new
topics.
A must read for every programmer.
Programming On Purpose II
Essays on Software People
P. J. Plauger
P T R Prentice-Hall, 1993, ISBN
0-13-328105-1
pbk
Programming On Purpose III
Essays on Software Technology
P. J. Plauger
P T R Prentice-Hall, 1994, ISBN
0-13-328113-2
pbk
These are Plauger's collections of the columns he wrote for
Computer Language magazine.
He covers many areas of programming, software management, and production.
A must read for programmers and recommended for managers.
Modern programming dogma has embraced the myth that goto in and of itself is evil, but it is enlightening to read the original tract and realize that this dogmatic belief entirely misses the point.
This paper was written at a time when the accepted way of programming was to code loops, if-thens, and other control structures by hand using goto statements. In retrospect, Dijkstra did not mean that all uses of goto were bad, but rather that superior control structures existed that, when used properly, would eliminate almost entrely the need for such unbridled and archaic programming techniques.
I have a more in-depth analysis of Dijkstra's letter at: david.tribble.com/text/goto.html.
The Zen of Programming
Geoffrey James
InfoBooks, 1988, ISBN
0-931137-09-8
pbk
Wonderful books for programmers.
They make good introductions to Tao and Zen as well.
Adams will be sorely missed.
Back to my home page at:
david.tribble.com.
You can email me at:
david@tribble.com.
This document: http://david.tribble.com/text/biblio.html