News for hackers. Stuff that matters.
Re:Humanize: my first open source package, mostly a rewrite by coderdude on Tuesday June 12, 2012 @01:22AM (#4098928)
You should check out the 'quantification' features of this Python lib called Pattern: http://www.clips.ua.ac.be/pages/pattern-en

  >>> from pattern.en import quantify
  >>> print quantify(['goose', 'goose', 'duck', 'chicken', 'chicken', 'chicken'])
  >>> print quantify('carrot', amount=1000)
  >>> print quantify({'carrot': 100, 'parrot': 20})
 
  several chickens, a pair of geese and a duck
  hundreds of carrots
  dozens of carrots and a score of parrots
This is useful functionality to include. It's practically cheating to port Python to JavaScript so it shouldn't be hard to adapt the relevant parts of the code to your project. (Well, depending on how much of it depends on the pluralization/singularization portions of Pattern.)
Re:Humanize: my first open source package, mostly a rewrite by gouranga on Tuesday June 12, 2012 @03:55AM (#4099348)
That's awesome. I needed that last week ironically.

Thanks for posting.

Re:Humanize: my first open source package, mostly a rewrite by sjwright on Tuesday June 12, 2012 @07:58AM (#4099970)
Ironically?
Re:Humanize: my first open source package, mostly a rewrite by gouranga on Tuesday June 12, 2012 @11:24AM (#4100903)
coincidental; unexpected.

Bloody pedants! Learn English.

Re:Humanize: my first open source package, mostly a rewrite by sjwright on Wednesday June 13, 2012 @12:51AM (#4104375)
Irony is not coincidence, unexpected or otherwise.
Re:Humanize: my first open source package, mostly a rewrite by gouranga on Wednesday June 13, 2012 @03:10AM (#4104692)
Open a dictionary and take a look...

Here I saved you the effort seeing as you're obviously incapable:

http://m.dictionary.com/d/?q=ironic&o=0&l=dir

Re:Humanize: my first open source package, mostly a rewrite by sjwright on Wednesday June 13, 2012 @06:10AM (#4105159)
Irony isn't a concept that lends itself to a trivial definition. That particular dictionary definition you cite isn't completely wrong, but it does suffer greatly from being overly terse.

The Merriam-Webster definition is much better: http://www.merriam-webster.com/dictionary/irony

--

Furthermore, dictionary definitions aren't two way streets, not everything that fits a description therefore matches the word. Imitate, the verb, can mean to make a copy of. "Please wait while I imitate the receipt for you."

Re:Humanize: my first open source package, mostly a rewrite by dewmop on Tuesday June 12, 2012 @01:37AM (#4098952)
Thanks for the suggestion. I'll look into it
Re:Humanize: my first open source package, mostly a rewrite by wyuenho on Tuesday June 12, 2012 @02:41AM (#4099147)
This is nice if you just want a really really lightweight date humanizer with no i18n support. If you want a full-blown date/time parser/formatter/humanizer, I highly recommend moment.js

http://momentjs.com/

Re:Humanize: my first open source package, mostly a rewrite by dewmop on Tuesday June 12, 2012 @02:12PM (#4101864)
Thanks, I had no idea momentjs existed. It's a lot fancier, and likely less buggy ;)
Re:Humanize: my first open source package, mostly a rewrite by gojomo on Tuesday June 12, 2012 @03:09AM (#4099227)

  humanize.filesize(1234567890); // '1.15 Gb'
You should use a capital 'B' for byte filesizes to avoid confusion with 'b'its.

And, you might want to let the user choose between decimal or binary prefixes (rather than the 'kilo' redefinition).

1234567890 bytes is 1.23 GB in pedantic application of SI naming, as used by MacOS and Ubuntu GUIs after a certain point.

1234567890 bytes is 1.15 GiB by the IEC standard for base-2 units, which is also "1.15 GB" by the older we-hope-context-makes-things-clear tradition.

See the approach of python humanize for one way to parameterize the output:

http://pypi.python.org/pypi/humanize

And see the Ubuntu Units Policy for some reasonable suggestions for when to use which kinds of units:

https://wiki.ubuntu.com/UnitsPolicy

Re:Humanize: my first open source package, mostly a rewrite by chewxy on Tuesday June 12, 2012 @02:36AM (#4099130)
hah I clicked on it thinking it was the python package Humanize. Still, pretty cool