Extreme Geekery: Printing A Hard Drive
It’s no secret that I’m a geek. It’s not just limited to watching shows like Doctor Who and movies like Star Wars. It’s not just limited to memorizing random facts and having an interest in science. I also love figuring things out sometimes. Things that are too hypothetical to be practical.
For awhile, I’ve been in geeky-love with Randall Munroe’s What If series. In it, tackles some weird questions like What would happen if you put a drain at the bottom of the ocean? and How many people would a T-Rex let loose in New York City need to eat every day? Randall delves deep into scientific facts and theories to back up his answers. Sometimes he’ll use complicated equations used to calculate rocket trajectories and sometimes he’ll chart human growth rates. Randall’s series has been so popular that he’s putting out a book. (For disclosure purposes, I wasn’t asked by anyone to plug Randall’s book. However, if I *was* asked to review it, I’d jump at the opportunity!)
I’ve been inspired by Randall. For awhile, I’ve wanted to delve into some more geeky topics, but I didn’t want to scare everyone away by going full on mega-geek. So consider this an experimental, possibly semi-regular series of blog posts. Translation: As I think of them I’ll blog them but they won’t by any means overshadow normal TechyDad.com postings.
WARNING: Extreme Geekery Ahead!
The first question I’ll tackle is: If you printed the contents of a full 1TB hard drive, how big would the stack of papers be?
To figure this out, we first need to set a few ground rules. We could print the actual 1’s and 0’s on the hard drive or hexadecimal (base 16) representation of that data. Hexadecimal would be shorter. For example, 11111001 in binary is F9 in hexadecimal. Also, we’d need to decide on a font size for printing. Obviously, choosing a huge font size would mean less data per page (and, thus, more pages) than a tiny font size.
We’ll print in binary (1’s and 0’s) since that’s more literally what’s on a hard drive. Also, normal font size is around 10 point so we’ll go with that.
Next, we need to figure out how much data would fit on a sheet of paper. By opening up OpenOffice.org, I was able to type in 83 characters per line and 49 lines per page using 10 point Times New Roman font. This means 4,067 1’s and 0’s would fit on a page. This leads to the next question: How many 1’s and 0’s are in 1TB?
1TB, or one terabyte, is 1,000,000,000,000 bytes. Each byte, in turn, is 8 bits. Bits are those 1’s and 0’s. This means that a one terabyte hard drive can store 8,000,000,000,000 1’s and 0’s. (Theoretically speaking, that is. Practically speaking, there are issues that keep you from getting all of those 1’s and 0’s on your 1TB hard drive. We’ll ignore those issues for the purposes of this discussion, however.)
With 8,000,000,000,000 bits and 4,067 bits per page, we wind up with 1,967,051,881 pages. That’s quite a lot of pages, but how tall would the stack be?
Some Google searching turned up that normal printer paper is 0.1 millimeters thick. This means that the stack would be 196,705,188.1 millimeters tall. Of course, 1,000 millimeters is one meter and one thousand meters equals one kilometer so this means the stack is actually, 196.7051881 km tall. For those who don’t use the metric system often, this translates to 122.227 miles. (Thank you, Google!)
Now we know how tall our stack of paper is, but what about a frame of reference? We can imagine driving 122 miles, but that’s horizontally. I doubt anyone drives vertically upward. According to the earlier-mentioned Randall Munroe, 100km is the official edge of space. So wherever this stack takes us will be in space. Low Earth Orbit begins at 160km so some objects orbiting the Earth might hit into our stack. Thankfully, Wikipedia says that the International Space Station orbits “between 330 km (205 mi) and 435 km (270 mi)”. That’s much higher than our stack, so at least we don’t need to worry about the ISS crashing into our stack of papers. (At least, not until we print out the 2TB hard drive.)
So now we know how big of a stack of papers would result from printing out the contents of a 1TB hard drive. Aren’t you glad we can fit all of those bits into a relatively tiny casing instead of having to lug around a stack of papers reaching to space?
NOTE: The hard drive image above is by ricardomaia and is available from OpenClipArt.org.
Since you are using a variable-width font (Times New Roman), the 1s will be much narrower than the 0s, so you could fit many more on each line. A printout of a drive containing entirely 1s would take up almost half the size of a drive containing 0s.
The numbers at times new roman font have all the same width.
All normal variable width fonts has fixed numbers, so they can align at the printed page.
For variable width numbers you would need special fonts.