One of the greatest things about rails is that it is so standards-compliant, no other framework that I have seen have complied to the HTTP standard (think REST) in such a degree that Rails does. Kudos to you all for that.
I think we (Rails community) should follow the line of standards compliance and also take it to the binary prefixes [1], i.e. kilobytes, megabytes, etc. For more than half a decade SI units has been a standard (occupying the prefixes kilo, mega, ...) Since the introduction of computers the prefixes has been misused in the IT industry for powers of 1024 but used correctly (for marketing reasons) by storage manufacturers to mean powers of 1000.
In 1999 IEC published the new standard for powers of 1024 (known as binary prefixes[1]). In 2008 this was harmonized with ISO standard in ISO/IEC IEC 80000-13:2008
I think it is a good time (for Rails 4) for Rails to conform to these standards. That means that every time a power of 1024 is used the IEC prefixes kibi, mebi, and so on are used and vice versa. Further every time a power of 1000 is used the SI prefixes are used, that is, kilo, mega, and so on and vice versa.
I have created a pull request (https://github.com/rails/rails/pull/7819) that implements two things (in two separate commits):
1) Rename all use of 1024 to use IEC prefix names
a) Rename of core extension: 2.kilobytes => 2.kibibyte == 2*1024 b) Rename all use of these helpers within the Rails project. c) Ensure that number the prefixes are KiB, MiB when dividing by powers of 1024, and using KB, MB when dividing by powers of 1000 (that is when options[:prefix] => :si)
2) (Re)Introduced the posibility to use SI prefix names (meaning powers of 1000) Introduced SI prefix helpers 2.kilobytes == 2*1000
Impact on Rails itself: None: All the useages has been renamed to use the semantically equivalent method (that is IEC names).
Impact on Rails projects: The use of core extensions 2.kilobytes, 2.megabytes will mean something else; A power of 1000 in Rails4 as opposed to a power of 1024 in Rails3. But the old behaviour can still be achieved by using IEC names instead such as 2.kibibytes or 2.mebibytes.
Footnotes: [1] Binary prefix - Wikipedia
Jarl