Title text: I would take 'kibibyte' more seriously if it didn't sound so much like 'Kibbles N Bits'.
This comic takes advantage of the confusion over the definition of a kilobyte. Some interpret the prefix literally, meaning a kilobyte is 1000 bytes. Others, however, define it as 210, or 1024, bytes because it is computationally easier to deal with.
The first row of the table is simply mocking this discrepancy.
The second row is Randall's interpretation on how Stan Kelly-Bootle would approach this problem. Kelly-Bootle is known for writing The Computer Contradictionary which satirizes the jargon and language of the computer industry. Kelly-Bootle was likely motivated to write this work after working for several years at IBM, a company infamous for its excessive use of acronyms in the work place. Averaging the two definitions together to get 1012 bytes is simply a humorous approach that Kelly-Bootle would likely have taken (“Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.” — Stan Kelly-Bootle). The serendipitous fact that the initials of Kelly-Bootle's name are "KB," the same letters used to abbreviate the word "kilobyte," adds a layer of plausibility to the joke.
The imaginary kilobyte simply plays on the fact that complex analysis is required in quantum computing in relation to quantum mechanics. The imaginary number is represented as i and has a value of the square root of -1. This is a pun on the fact that KiB is used for the "binary kilobyte" (occasionally "kibibyte") which is standardized at 1024 bytes.
The Intel kilobyte mocks the Pentium floating point unit which, in 1994, was notorious for having a major flaw in its floating point division algorithm that gave slightly erroneous results. (For the non-computer folk, a floating point number is a real number like 4.0 or -13.387.)
The smaller, drivemaker's kilobyte mocks a business model for handling higher prices that keeps prices constant but reduces quantity. The food industry has been notorious for decreasing quantity of food and keeping prices the same instead of increasing prices and keeping quantity the same. Randall is suggesting that if the computer industry tried to do this with hard drives, it could have humorous results such as smaller number of bytes in a kilobyte. In this analogy, food price is to number of kilobytes as food quantity is to bytes in a kilobyte. A value of 908 indicates that drivemakers have been decreasing the value for 23 years (if they started with 1000) or 29 years (if they started with 1024), which means a starting year of either 1985 or 1979. Continuing this trend would cause the drivemaker's kilobyte to become zero in the year 2235.
The baker's kilobyte is a play on the baker's dozen, which is 13 instead of 12. A baker's byte with 9 bits to the byte would result in a total of 9216 bits in a 1024 byte kilobyte. Converting this into "normal" bytes (with 8 bits), we divide 9216 bits by 8 bits per byte to get 1152 8-bit bytes to the baker's kilobyte.
At the title text Randall mentions the definition kibibyte, which is defined more accurate. The binary prefix kibi means 1024, a portmanteau of the words kilo and binary. But he doesn't like the word because it sounds like the dog food Kibbles 'n Bits.
- There's been a lot of confusion over 1024 vs 1000,
- kbyte vs kbit, and the capitalization for each.
- Here, at last, is a single, definitive standard:
- [table of various kinds of kilobytes]
SYMBOL NAME SIZE NOTES kB Kilobyte 1024 bytes OR 1000 bytes 1000 bytes during leap years, 1024 otherwise KB Kelly-Bootle standard unit 1012 bytes compromise between 1000 and 1024 bytes KiB Imaginary kilobyte 1024 √-1 bytes used in quantum computing kb Intel kilobyte 1023.937528 bytes calculated on Pentium F.P.U. Kb Drivemaker's kilobyte currently 908 bytes shrinks by 4 bytes each year for marketing reasons KBa Baker's kilobyte 1152 bytes 9 bits to the byte since you're such a good customer