• Ama (unregistered)

    I'd add frist, but the comment ran out of memory.

  • peterix (unregistered)

    Heh. It's a derp! We've all derped at some point, I'm sure.

  • Jens (unregistered)

    It's 68 MB if you know one specification or 64 MiB if use the other. It is 64 MB if you don't know what you are talking about or if you are stuck in the 90s.

  • MightyM (unregistered) in reply to Jens
    Jens:
    It's 68 MB if you know one specification or 64 MiB if use the other. It is 64 MB if you don't know what you are talking about or if you are stuck in the 90s.

    64 Men in Black?

  • Tom (unregistered)

    Mmmm, it was always a WTF. That was never going on the stack.

  • (cs) in reply to Jens
    Jens:
    It's 68 MB if you know one specification or 64 MiB if use the other. It is 64 MB if you don't know what you are talking about or if you are stuck in the 90s.
    You were too fast for me... Here are the details for those who still do not know: http://en.wikipedia.org/wiki/Binary_prefix
  • Pero perić (unregistered)

    In the QBASIC, an ancient languages targeting 16 bit environment, one could specify an array with up to 60 dimensions. Is it even possible to use half of that (without trivial, one element dimensions) withing 64 kB?

  • MightyM (unregistered) in reply to Pero perić
    Pero perić:
    In the QBASIC, an ancient languages targeting 16 bit environment, one could specify an array with up to 60 dimensions. Is it even possible to use half of that (without trivial, one element dimensions) withing 64 kB?

    Not even close, if every dimension was size 2 and the datatype size was 1 byte you would need 1,152,921,504,606,846,976 bytes.

  • Pista (unregistered)

    Why do I have the feeling that the size of this array is the smallest WTF? Is the 3D array representation adequate for the actual data model?

  • Flea (unregistered)

    FYI: That flea would have to have an area of more than 90 square kilometers.

  • (cs) in reply to Jens

    What if the 90s were correct, though? Let's be honest, "kibi" and "mibi" are stupid words. We should build the world out of powers of two, like the gods intended.

  • Kuli (unregistered) in reply to MightyM

    But if every dimension is only 1, then it's no problem.

  • Kuli (unregistered) in reply to MightyM

    I meant to reply to this:

    MightyM:
    Pero perić:
    In the QBASIC, an ancient languages targeting 16 bit environment, one could specify an array with up to 60 dimensions. Is it even possible to use half of that (without trivial, one element dimensions) withing 64 kB?

    Not even close, if every dimension was size 2 and the datatype size was 1 byte you would need 1,152,921,504,606,846,976 bytes.

    But if every dimension is only 1, then it's no problem.

  • One big flee (unregistered)

    The largest flee is about four millimeters. 4mm^2 is probably excessively generous but will work for the calculation.

    Texas is 696,200 km^2 or 696,200,000,000mm^2

    So we could fit 174,050,000,000 of the largest hypothetical flee's shoulder to shoulder, so to speak, on the surface of Texas.

    The 10K of data however would only fit in the assigned space 6,553 times.

    For the statement "trying to kill a flea with an asteroid the size of Texas" to be approximately accurate the flee would need to be 106241416mm^2 or 106.241416m^2... as the average human stands 1.8m... the flee if it could move would be a massive beast. I do not want to know what it would need to eat.

  • Geoff (unregistered) in reply to acne
    Comment held for moderation.
  • Obviously (unregistered) in reply to One big flee
    One big flee:
    The largest flee is about four millimeters. 4mm^2 is probably excessively generous but will work for the calculation.

    Texas is 696,200 km^2 or 696,200,000,000mm^2

    So we could fit 174,050,000,000 of the largest hypothetical flee's shoulder to shoulder, so to speak, on the surface of Texas.

    The 10K of data however would only fit in the assigned space 6,553 times.

    For the statement "trying to kill a flea with an asteroid the size of Texas" to be approximately accurate the flee would need to be 106241416mm^2 or 106.241416m^2... as the average human stands 1.8m... the flee if it could move would be a massive beast. I do not want to know what it would need to eat.

    That is why we need the asteroid the size of Texas to kill it.
  • My name (unregistered) in reply to One big flee

    Texas is 696,200 km^2 or 696,200,000,000m^2 or 696,200,000,000,000,000mm^2

  • (cs)

    Funny fact: An asteroid the size of Texas would kill all fleas, worldwide.

  • Jens (unregistered) in reply to Geoff

    No, the power of two thing only worked as long as computer nerds were people hidden in attics only talking to their own kind. As soon as computers were used by real people en masse the traditional meaning of kilo broke through.

    I mean who was so retarded to say "oh, 1024 is nearly 1000, let's misuse the greek word for thousand for it and redefine it to something it doesn't in any scientific area or anywhere else" instead of inventing anything for this?

    The problem today is more that the once-leading computer science nation has a tendency to use completely incoherent unit (and value display) systems that no one else in the world uses. So in that country it doesn't matter much when there is another unit that doesn't fit into any system. For the rest of the world it does.

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered)

    I recently had to implement sending a firmware image to a microcontroller flash bootloader, from another microcontroller. There was already code to do this on one of our embedded Linux systems. Okay, show me where the code is and I'll use that. In addition to the code being generally WTF-ey (magic numbers all over the place, being buried in the middle of the same .c file as a bunch of message handlers, etc.) the code read the entire firmware image file into memory before even starting the upload.

    And even though the image I was working with was 32K, the maximum flash available from the chip vendor in their biggest chip is 1M of flash. So of course the code declared a 1 megabyte array to read the firmware into. Because doesn't every computer come with a gigabyte of RAM these days? Instead of, you know, reading each 256 byte block right before sending it out a serial port. Well, you know, it might be slower to have to read the next block out of flash disk when we're uploading at 115K baud!

    It still made a good scaffolding to ensure that I had all the parts there, I guess. Well, except for the original baud rate handshake, which was nowhere to be found.

    Virtual memory: a lame excuse for declaring arrays 1000 times bigger than you'll ever use because they don't really take up RAM until you write to them.

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered) in reply to Geoff
    Geoff:
    Oh just stop it all ready. You MiB people are the problem.
    Hey, can you look over here for a moment?

    FLASH <<<

    Carry on, citizen.

  • Mike (unregistered) in reply to Remy Porter

    MB is a binary erm, end of. The crass stupidity that has led to mibi tibi junk just needs to die. I for one am very stuck in the 90s over this and proud; I will never buckle to the tibi brigade, who will be the first up against the wall come the revolution.

    The only people who use decimals in the same context are the liars in the HD marketing departments, who probably have no idea about anything computer or science related anyhow, they just know how to lie to their customers to boost sales.

    btw, when it comes to flash drives it's back to good old binary, you would think? But no, those binary sizes are a complete lie too, even a binary array on a silicon chip doesn't work, take a look at the actual number of bytes on any flash drive. They ALL lie.

    So, mibi and tibi were invented by liars!

    /rant

  • (cs) in reply to Jens

    Oh, don't be a pedant. 2^(10n) is close enough to 10^(n3).

    For people who want to quickly manipulate memory based on the only meaningful size indicator (address space), it's vastly easier. It's not point accurate to the SI definitions, but who cares? We don't need it to be.

    1000 bytes makes no sense in terms of how you're going to address it.

    Also, I don't really care about the relationship between kilobytes and megabytes and gigabytes. If I'm doing any unit conversion, it's between bits and bytes, which means I want numbers that multiply and divide easily by 8. Powers of two fit that bill (since I'm just adding or subtracting to the exponent).

  • AC (unregistered) in reply to Jens

    Actually, the Greek word μεγα doesn't mean "thousand," it means "large" or "big." The Greek word we use for "thousand" is χιλια. So, maybe we should call them XB for "Chiliabytes"

    Then again, "mega" is word chosen for the metric system to denote a factor of a million, inspired, but not defined by μεγα.

  • (cs) in reply to Remy Porter
    Remy Porter:
    Oh, don't be a pedant. 2^(10*n) is close enough to 10^(n+2) and as n gets larger, the percentage of the difference shrinks relative to the number.

    Don't you mean 2^(10n) ~ 10^(3n)?

    And it doesn't.

    One binary kilobyte is 2.4% higher, so it is pretty close. One binary terabyte is 1,099,511,627,776 bytes which is almost 10% higher than the "metric terabyte". It gets worse as you go higher.

  • (cs) in reply to Remy Porter
    Remy Porter:
    Oh, don't be a pedant. 2^(10*n) is close enough to 10^(n+2).

    So a me(ga|bi)byte (2**(210)) is just ten thousand (10(2+2)) bytes? A gi(ga|bi)byte (2(310)) is just a hundred thousand (10**(2+3))? Interesting. I didn't know that. I have gone through 23 years as a programmer thinking a decimal megabyte was a whole million bytes, and a (decimal) gigabyte was a milliard. How wrong I was. Thanks for letting us know that.

    (EDIT: bah, beaten to it by Zemm...)

  • (cs) in reply to Zemm

    I had already edited to correct myself. I haven't finished my coffee yet. I can't maths so good.

  • (cs)

    And for all those of you thinking that all-decimal versus all-binary is the end of the matter, consider telecoms.

    A 2 megabit-per-second connection: is that mebibits or megabits?

    Answer: neither. It's two kibikilobits, 2KiKb for short.

  • (cs) in reply to Mike
    Mike:
    The only people who use decimals in the same context are the liars in the HD marketing departments, who probably have no idea about anything computer or science related anyhow, they just know how to lie to their customers to boost sales.
    It is inaccurate to say HDD makers do this for marketing purposes alone, unless they were extremely prescient back when only huge corporations' technical departments (people who knew what they were doing) used to purchase MB-sized, rack-sized disk cabinets, bidding their time for the age, decades later, when clueless non-technical folk would start purchasing their stuff. That's because -- AFAIK at least -- HDDs have always been measured in powers of ten. If anything, it's Windows who lies when, contrary to industry's standard practices since forever, it insists on using powers of two to report HDD sizes. MacOSX, on the other hand, does the right thing and shows space in powers of ten.
  • (cs)

    Obvious WTF is programming in low level languages. Best stick to language like Java and you see less and less WTF every day.

  • (cs) in reply to Pista
    Pista:
    Why do I have the feeling that the size of this array is the smallest WTF? Is the 3D array representation adequate for the actual data model?
    It’s a char array, so I would guess the third dimension is used to store strings... One string for each point of a 256x256 grid. Of course, a char* [256][256] array would be much more efficient for this task, unless any stored string is exactly 1024 characters long.

    Addendum (2013-04-29 08:48): As an added WTF, the variable does not uses the “static” modifier, so either it’s a shared global variable (and calling a shared variable “stations” is not very wise), or a stack variable (which would blow the stack when the function it is declared in is called)

  • (cs) in reply to Steve The Cynic
    Steve The Cynic:
    A 2 megabit-per-second connection: is that mebibits or megabits? Answer: neither. It's two kibikilobits, 2KiKb for short.
    Interesting. I wonder what it comes down to when we subtract control bits, packet headers etc. Does someone know of a practical rule? What the 'x' in "effective speed = x * nominal speed" would be?
  • Black Bart (unregistered)

    68MB fits into 32MB for sparsely allocated systems.

  • gnasher729 (unregistered) in reply to Steve The Cynic
    Steve The Cynic:
    And for all those of you thinking that all-decimal versus all-binary is the end of the matter, consider telecoms.

    A 2 megabit-per-second connection: is that mebibits or megabits?

    Answer: neither. It's two kibikilobits, 2KiKb for short.

    2 Megabit per second is and always was two million bits per second or 2,000,000 bits per second. It never has been anything else. Just like 2 Megahertz is and always was two million cycles per second. And there is a slow process on the way convincing the very last retards that when you copy data at a speed of 2 Megabit per second for eight seconds, you'll have copied eight Megabyte. Not some strange number of pseudo-Megabytes.

  • (cs) in reply to ammoQ
    ammoQ:
    Funny fact: An asteroid the size of Texas would kill all fleas, worldwide.

    Well, it depends. Do we define Texas as a cone that goes down to the center of the earth, or do we define it as just a surface area? If we define it as just a surface area, then an asteroid the size of Texas would be just one molecule thick, I suppose, and so wouldn't damage much of anything.

  • Ironside (unregistered)

    it's like putting a minecraft map on the stack

  • qazwsx (unregistered) in reply to gnasher729
    gnasher729:
    when you copy data at a speed of 2 Megabit per second for eight seconds, you'll have copied eight Megabyte.

    Hahaha what

  • David F. Skoll (unregistered) in reply to One big flee
    Texas is 696,200 km^2 or 696,200,000,000mm^2

    FAIL. But what's 6 orders of magnitude between friends?

  • Anonymous Paranoiac (unregistered) in reply to acne
    Comment held for moderation.
  • Koch (unregistered) in reply to Remy Porter

    This ^

  • emaNrouY-Here (unregistered)

    Being one who likes tradition and would usually disdain change, I would tend toward the MB = 2^1000 nomenclature. However, since HDD manufacturers decided to mess that up, and I like being unambiguous as much as possible, I accept that MiB = 2^1000 and MB = 10^3.

    Though, during an episode of "Who Wants to be a Millionaire," (late 90's mind you) they asked the question "In computer terms, what size is a kb?" The answers were 1000, 80, 69, and infinity. (or something similar) I always wished the person would answer, "None of them."

  • Noland (unregistered) in reply to Jens
    Jens:
    No, the power of two thing only worked as long as computer nerds were people hidden in attics only talking to their own kind. As soon as computers were used by real people en masse the traditional meaning of kilo broke through.
    The real problem is that they forgot to correct the powers of 2 accordingly. 2^9 = 512 really? That's 500 plain for sure! So 2^3 = 7.8125 and 2^1 = 1.953125 with a probability of 97.65625% of the bit being set! That's completely adequate and the way to go, so nobody would become confused. ;-)
  • Martin (unregistered)

    You people do not understand the beauty of this because YOU DO NOT UNDERSTAND Linux.

    Linux will gladly assign you 64MB of VIRTUAL memory on a 32MB platform.

    Now if you only store 10KB worth of data on this, Linux will dirty several pages, but most of the virtual memory will not be affected! Therefore, this code will work fine unless somebody starts to increase the density of the storage, leading to using more pages than available.

  • Noland (unregistered) in reply to Noland

    And the remaining 2.45% where 1 does not equal to a bit set is just FILE_NOT_FOUND ...

  • Saribro (unregistered) in reply to emaNrouY-Here
    emaNrouY-Here:
    I would tend toward the MB = 2^1000 nomenclature.
    Not unless you're indexing every atom in the universe. (and then a whole lot of some)
  • Patrik. (unregistered) in reply to Jens
    Jens:
    I mean who was so retarded to say "oh, 1024 is nearly 1000, let's misuse the greek word for thousand for it and redefine it to something it doesn't in any scientific area or anywhere else" instead of inventing anything for this?

    Nobody. 1024 was/is represented by upper-case K; SI uses lower-case k. Then came people thinking it should be pronounced 'kilo'. Then came people thinking M/'mega' meant K*K.

    The wikipedia page for this debacle makes it quite clear that the older generation of CS people were well aware of the coming nomenclature collision, and tried to introduce new terms to avoid it. Also, 'mega' for HDD sizes comes from the Apple marketing department. Behold your false God!

  • Anon (unregistered) in reply to Remy Porter

    If we were going to follow the rules of the gods, we wouldn't be using 2^10 as the base. We should have used 2^8, or 2^16. The system is rotten at the core.

  • Jan (unregistered) in reply to acne
    Comment held for moderation.
  • Boomslang (unregistered) in reply to Nagesh
    Nagesh:
    Obvious WTF is programming in low level languages. Best stick to language like Java and you see less and less WTF every day.

    Quite the opposite. If a programmer never uses a low-level language to, for example, poke hardware or manage memory, he is more likely to make less efficient software, just because he doesn't understand what's going on beneath the hood.

    And I've never heard anyone say "mebibyte". It sounds stupid, and everyone I know just uses Megabyte to mean 1024^2 bytes, not the powers of 10 garbage.

  • Dave (unregistered) in reply to One big flee
    One big flee:
    The largest flee is about four millimeters. 4mm^2 is probably excessively generous but will work for the calculation.

    Texas is 696,200 km^2 or 696,200,000,000mm^2

    So we could fit 174,050,000,000 of the largest hypothetical flee's shoulder to shoulder, so to speak, on the surface of Texas.

    The 10K of data however would only fit in the assigned space 6,553 times.

    For the statement "trying to kill a flea with an asteroid the size of Texas" to be approximately accurate the flee would need to be 106241416mm^2 or 106.241416m^2... as the average human stands 1.8m... the flee if it could move would be a massive beast. I do not want to know what it would need to eat.

    You even quote the correct spelling, yet still manage to spell it wrong yourself no less than five times.

Leave a comment on “It's not the size that matters”

Log In or post as a guest

Replying to comment #:

« Return to Article