Suggested Readings: Short-Cut Math

23/03/2009

Gerard W. Kelly — Short-Cut Math — Dover, 1984, 112 pp. ISBN 978-0-486-24611-6

(Buy at Amazon.com)

(Buy at Amazon.com)

This little book—not even 120 pages—will help you sharpen your mental math skills using a series of tricks, strategems, and special cases that will get you to the exact result, or at least to an accurate approximation, with greater speed. The book is not exactly mind-shattering either; still, it may be useful to learn a few new tricks.


To Boil the Oceans

10/02/2009

I was reading ZFS‘s specs, and it struck me how Sun deliberately over-engineered the filesystem. To make sure that ZFS would be able to deal with just any storage device (or pool), they made ZFS a 128 bits filesystem. Now, 2128 blocks (2137 bytes) is a truly enormous quantity of data. In fact, it is so enormous that Jeff Bonwick explains how populating such a capacious device it would require more energy than is needed to boil all of Earth‘s oceans, give or take a few cubic miles.

The quote, which I find thoroughly amusing, is reproduced here:

Although we’d all like Moore’s Law to continue forever, quantum mechanics imposes some fundamental limits on the computation rate and information capacity of any physical device. In particular, it has been shown that 1 kilogram of matter confined to 1 litre of space can perform at most 1051 operations per second on at most 1031 bits of information. A fully populated 128-bit storage pool would contain 2128 blocks = 2137 bytes = 2140 bits; therefore the minimum mass required to hold the bits would be (2140 bits) / (1031 bits/kg) = 136 billion kg. […] To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc2, the rest energy of 136 billion kg is 1.2×1028 J. The mass of the oceans is about 1.4×1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celsius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling. The latent heat of vaporization adds another 2 million J/kg. Thus the energy required to boil the oceans is about 2.4×106 J/kg * 1.4×1021 kg = 3.4×1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans. [ref]

Even though this quote reeks of hubris—although I’m not expecting vengeful bolts of lightning striking Bonwick any time soon—it got me thinking about the fundamental limits of computation, and how he could derive such a result.

Read the rest of this entry »


Suggested Reading: Google’s PageRank and Beyond: The Science of Search Engine Rankings

24/01/2009

Amy N. Langville, Carl D. Meyer —Google’s PageRank and Beyond: The Science of Search Engine Rankings— Princeton University Press, 2006, 224 pp. ISBN 0-691-12202-4.

Page Rank And Beyond

(Buy at Amazon.com)

Langville and Meyer presents us the mathematics behind Page Rank, Google’s method of rank prioritization as well as other similar methods. If the first few chapters are concerned with the history of search engines and search methods, the remainder of the text is clearly mathematical in nature.

Read the rest of this entry »


Deriving the 1 bit = 6 dB rule of thumb

09/12/2008

This week, a more mathematical topic. Sometime ago, we—friends and I—were discussing the fidelity of various signals, and how many bits were needed for an optimal digitization of the signal, given known characteristics such as spectrum and signal-to-noise ratio.

Indeed, at some point, when adding bits, you only add more power to represent noise in the signal. There’s a rule of thumb that say that for every bit you add, you can represent a signal with \approx 6 dB more of signal to noise ratio. Let me show you how you derive such a result.

Read the rest of this entry »