8 ms·
GitHub is the Best Thing Ever
- pook 16y agoWe should make a Tiny Fork Day. A day where X people fork, make at least one contribution, and request a pull. Set up a cool site targetting people who are interested in coding, but haven't yet gotten the courage to contribute, and you could have something.
- steveklabnik 16y agoIt's almost like a flash mob. I like it.
- DrSprout 16y agoHN needs to scale up the voting arrows for mobile. That was supposed to be an upvote.
- steveklabnik 16y agoNo worries. I've done that a few times. Now I manually zoom almost every time...
- deleted 16y ago[deleted]
- deleted 16y ago[deleted]
- spoon16 16y agoAfter reading this article I went ahead and forked the Konami-Unicorn-Blitz project (the same one this article references). Added a hideAfter property that autohides the unicorns after 30 seconds and submitted a pull request. We'll see if the change is accepted :) GitHub is neat.
- blister 16y agoI accepted your patch... ;) John had already given me contributor access so I went ahead and followed his lead. GitHub is excellent.
- endtwist 16y agoFunny, I put together a script just yesterday that allows you to do pull requests from the command line (via git): http://gist.github.com/415266 http://gist.github.com/415266 Improvements always welcomed :)
- rtomayko 16y agoThe GitHub homepage had support for the Konami code with the commercial launch, IIRC: http://github.com/site http://github.com/site
- Loic 16y agoYou do not need github to do that. You just need git and any git hosting. Forking is just a clone, you push in your hosting (whatever it is) and ask the guy on the other end to pull. No centralized control, real distributed development. Linux is developed like that every day. My own forge software http://indefero.net http://indefero.net is also developed like that, with forks on github, on other instances of Indefero or just on 'hand rolled git hosting'. So, the title should really be "Git (or any good distributed SCM) is the best thing ever".
- ajtaylor 16y agoTrue, you don't need github. But it's killer feature is that provides the initial grease on the rails so that Joe Blow can come along to quickly and easily add a feature or fix a bug. As someone who just this week made some doc contributions to 2 different projects on GH, I can tell you the feeling is addictive. That's why Github is cool.
- Loic 16y agoIt is totally true (as I said, I am using github too), but take it as a reminder that git itself provides all the machinery to allow you to fork, share with pull request etc. independently of any provider. You do not need a forge hosting like Indefero or Github or you name it, to use it. What I really like for example, is that I can pull a project from anywhere, be stuck on a local network with other developers, work on the code with branch/commit/pull in all the directions and then later, push back the results without the fear of losing something in the merge. Git is great and more of it cannot hurt.
- tlrobinson 16y agoYes, but git itself does not provide the discoverability, one click forking, or pull requests that makes this workflow so easy and fun.
- raganwald 16y agoThink of Github as a discoverable user interface for git. It has visible affordances. Github is to Git as OS X is to Unix.
- barmstrong 16y agosweet easter egg!
- parbo 16y agoOr BitBucket if you're a Hg-person.
- fierarul 16y agoActually Github seems to have a much better marketing compared to BitBucket. I would also imagine they are also quite larger. I'm a Hg-person, but I was just thinking I could move my repositories from my dedicated server to Github (via some git-hg plugin they wrote).
- masklinn 16y agoGithub was also first, I believe. I think many git-persons find there are other services better than Github (in some areas they're interested in if not all of them), but the brain/market share of Github makes it basically a requirement.
- grandalf 16y agoI've looked and the only other feature I've seen that may perhaps rival Github is Joel's code review flow. Would you mind mentioning specific features (other than ones that are part of another dvcs) that you are referring to?
- ev0 16y agoIt's exactly the same reason why I love GitHub. Got this moment when I forked three20 when it first published on github, and contributed a little patch to it for http auth.
- antirez 16y agoYes, GitHub is wonderful. It makes contributions so trivial that it's worth to pull even the littlest of the modifications. For instance: http://github.com/antirez/redis/commit/ca3f830b32a0a8303a5a761d6212925d9b5ac365 http://github.com/antirez/redis/commit/ca3f830b32a0a8303a5a7... Instead I think that an impressive amount of energy and work is often wasted because many developers will design & code an important patch before getting in touch with the author of some project. So the author will see a patch that probably makes totally sense but is not what was desirable for some reason (future directions, too bloat, there is a better way to do that). If it's the kind of project where you can join some IRC channel or drop an email to some mailing list and get in touch with one of the developers, it's really a good idea before starting to code.
- _glass 16y agoFor trivial changes as describe in the article? I tend to disagree. Decentralization saves you this administrative issues, like getting in touch with people in advance, before they can see if you are really interested by actually coding. I think it shows your value of this community if you are contributing in the small at first if it is a larger project.
- antirez 16y agoI wrote "... will design & code an important patch ...". For important patches this is required, not for small changes.
- _glass 16y agoHm, I am sorry, but have to be picky about language: changes can be important but trivial. What I really meant: If this patch is easy and fast to produce, don't contact the developer. Even if it is an important change.
- AndrejM 16y agoThe only thing I don't understand about github is that "hardcore archiving in process..". I mean why do I have to wait a minute before I can start downloading the archive? Isn't it costly if the server has to create an archive every time someone requests a download?
- masklinn 16y agoThe result is probably cached, but for a HEAD you more than likely won't have more than one or two requests for a tarball.
- nudded 16y agoWhat do you think happens most, pushing changes or downloading a tarball?
- dhotson 16y agoIt's because the server has to create a tarball on demand, which can take a while. So, instead of having your web request unresponsive for a minute while it's processing, they queue up a background task on the server and give you a "hardcore archiving in process.." response immediately. Then I imagine they do some ajax polling to check when the background task has finished and the archive is ready. It's a really good technique if you want your web app to be responsive. We do it at work for basically anything that will take more than a second.
- mojombo 16y agoArchives are generated when they are requested and cached for fifteen minutes. This cache length results in an average of 3.5GB of cached archives on disk at any given time. We have to serve a large number of archives for arbitrary revisions, so making you wait a few seconds for a tarball is currently the best tradeoff. It's possible that in the future we will increase the cache TTL (and the size of the cache) so that you are more likely to hit an already generated archive.
- AndrejM 16y agoThat explains it. Thanks! (and I won't complain anymore :p)
- icey 16y agoAs an aside, I was writing some Ruby code last night and realized that mojombo has written a ton of really awesome gems.
- mojombo 16y agoThanks! I'm glad you like them!
- dhotson 16y agoIt's true, these small patches make me smile the most. I had a contributor to a project of mine that basically just formatted the README file. I certainly appreciated it. It's nice knowing you're not coding in a vacuum.
- richcollins 16y agoI was just marveling how someone fixed doc typos shortly after we published http://github.com/stevedekorte/vertex.js http://github.com/stevedekorte/vertex.js
- adulau 16y agoI'm sometime tempted to do a s/GitHub/gitorious/g Especially that the gitorious.org software is free : http://gitorious.org/gitorious http://gitorious.org/gitorious
- Ixiaus 16y agoBitBucket is the Best Thing Ever too!
- blister 16y agoYeah. I like BitBucket as well. I'm just more of a Git guy right now, and all of my favorite projects and people are on GitHub. It's got a social-network lock-in effect for me right now. I can't leave and go somewhere that has none of my friends. But boy, I love BitBucket's pricing. I wish I could get at least 1 private repo on GitHub without paying a monthly fee. It'd be nice to have a personal repo to store configuration files and such that contain passwords... :( Oh well.