Twitter launches new GitHub page
twitter.github.com
twitter.github.com
https://github.com/twitter/time_constants - Time constants, in seconds, so you don't have to use slow ActiveSupport helpers
Seriously?? Just look at the freaking source code: https://github.com/twitter/time_constants/blob/master/lib/ti... - Luckily, it appears that it is generated.
I realize that Ruby is slow and all (we experience it daily), but holy crap people. I also realize that Twitter is a mega scale business, but at what point does this kind of library become a good idea?
It may be more performant to set time ranges as constants, but you will get in to trouble unless you know exactly what you are doing. The people at Twitter who wrote the code will be aware of the trade-offs they have made, but what happens when Jo Random developer forks it on GitHub without thinking it through because "it's fast and Twitter use it - it must be good!"
For example:
T_1_MONTH = 2592000
Not all months have 30 days. T_1_SOLAR_YEAR = 31558150
A solar year, is (roughly) 31556925.25218 seconds[1].[1]http://www.wolframalpha.com/input/?i=seconds+in+a+solar+year
"Difficult for novices to use incorrectly" is a good feature for code to have, but it's not the highest good, and its absence does not mean that the code is bad.
Instead of writing `foo(3.days)` they are writing `foo(T_3_DAYS)` with this library. Instead, why not just create a constant `BAR_DURATION = 3.days.in_seconds` and then write `foo(BAR_DURATION)`.
Problem solved.
It's benign, boring utility code, I just don't get what's offensive about it.
http://twitter.github.com/?larry=25
(Shh! Secret!)
Nonetheless, it looks fantastic.
I just looked at the list and thought to myself, "Twitter released Mustache.js? They also released webrat? No.. that does not make much sense." and did not realize until I clicked through to those repos and checked to see if it was a fork.
I'm not suggesting Twitter is doing a Bad Thing(tm). I just think we under-appreciate those that create and release open source software and that any sort of nod of the head is a Good Thing(tm).
Twitter is very good here, they have a not so enterprisey brand and will improve popularity in the startup community.