Hacker News new | past | comments | ask | show | jobs | submit login
Twitter launches new GitHub page (twitter.github.com)
112 points by maccman on Jan 30, 2012 | hide | past | favorite | 30 comments



How does that new hip saying go? "WAT?"

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?


I see absolutely nothing wrong with this. It replaces a slow way to write human-readable intervals with a fast way. How is that a bad thing?


Because it is wrong. Time is a difficult problem to solve, it doesn't move at a constant rate, the length of days and years change. You simply cannot set a constant and have it be "correct".

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


Just by the mere fact that these are constants documented to be in seconds, it's clear that they shouldn't be used for sensitive or precise time calculations. If you're at the point where you don't realize this, you probably aren't going to be able to use a full-featured time library correctly, either.

"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.


How many time constants could possibly be in their code base? A few dozen?

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.


You can still assign these values to semantically-named variables where appropriate, with the bonus of not having to monkey-patch ints just to define a few dozen constants.

It's benign, boring utility code, I just don't get what's offensive about it.


Super secret easter egg:

http://twitter.github.com/?larry=25

(Shh! Secret!)


Number of birds = value of larry. So, http://twitter.github.com/?larry=2 has 2 birds. http://twitter.github.com/?larry=100 has 100 birds.


Also works if you just click on the twitter logo


Clicking on the logo multiple times brings more birds.


looks a bit different. seems like less birds to me.


same here. a lot less birds :\


Really cool


I like the design, but what does it offer that Twitter's GitHub page doesn't? It's just an alternative layout with less information and much less functionality.


I agree. Not only is it lacking the last time each individual repo was updated, but it seems to be ordered by how many people are watching it rather than what language it's in or when it was last updated. It looks like the only things it adds are the nice, at-a-glance repo language colors, the three last-updated repositories, and— in the case of bootstrap and hogan.js— links to the project's github site under twitter.github.com rather than its github repo page.

Nonetheless, it looks fantastic.


The colored triangles are a nice "at a glance" way to see what language the library is for.


I was confused by what the different colored triangles meant, at first I thought it was perhaps some sort of build status indicator. Adding a key about the different colors might be nice to have.


Agreed, a key would be nice.


Nice. I like the occasional bird flying across the background. Would be nice to make the layout responsive with Twitter Bootstrap 2.


I'm no design expert, but I find this extremely appealing. I would not mind sitting and browsing through all the different projects (which is hopefully the goal of the design). My emotional reaction to the site is very different than most Github pages, which have a reaction (possibly Pavlovian) that goes "Get back to work!"


It appears that Twitter is the source for all of these projects, which is not the case. About 14 of the projects are forks of other repositories on GitHub. Many of the project descriptions include references to their parent projects but it would be nice to see them show it is a Twitter fork and not the main repo.


Most of the "forks" are forks from Twitter employees' personal repos that were created before things got consolidated under Twitter's account. A few aren't and are called out as such. Which ones are missing proper attribution?


None of them, if you click through.

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).


Michael Jackson, a Frontend developer at Twitter, is one of the lead contributors to Mustache.


Scala will be the new big thing, even companies like IBM and SAP are using it now. But to be really comparable to Java/C++ it will take a decade.

Twitter is very good here, they have a not so enterprisey brand and will improve popularity in the startup community.


Does IBM and SAP using it imply that Scala is even more complicated than Java, warranting even higher consulting fees?


Air out your suit! It's time to mint some monaay!


Very pleasant design. Also, it would be nice to be able to see thenumber of viewers/watchers. Maybe just on hover.


Love how they did it through github api, simple and effective implementation.


Looks to be (at least from a quick sample) Apache licensed. Nice.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: