Let’s Git it On

Being both a mediocre biz dev guy and a nerd means I get to post on the Developer blog as well as our Company blog, and today I’d like to talk to you about Git.

What is Git?

Git is a free & open source, version control system that when used in conjunction with social coding websites such as GitHub can greatly improve your efficiency for both small and large projects by keeping track of changes, collaborators, and more. You’ll be wondering how you ever lived without it.

I’ve had to teach myself the basics of Git from day one with SoundCloud and I recently graduated from clueless to novice with my first successful Fork > Edit > Pull.

Fork What?

Projects on Git are stored in repositories and when these are made public, anyone can Fork it (make a copy of your project), Edit it, and Send a Pull Request (notify you of the changes). Should you choose to Pull it, those changes will be added to your project. This is the definition of social coding. Killer.

I recently did this dance with a great new Ruby gem called OmniAuth from Intridea.

What’s OmniAuth?

“OmniAuth is a new Rack-based authentication system for multi-provider external authentcation.” – which allows you as a developer to roll out a login system consisting of any number of 3rd party providers, such as Twitter & Facebook, in no time at all.

OmniAuth just had one thing missing: SoundCloud support! So I said, “Fork This,” (laughing all by myself at home) and forked the project. Within an hour or so I had a working implementation and sent a Pull request to Intridea. And then just this morning, SoundCloud support was approved and added to the gem. Victory!

Here’s a link to the latest gem: github.com/intridea/omniauth.

If you haven’t already, I invite you to dig deeper into the world of Git and open-source. While it can be a bit daunting at first for a novice (like myself)–once learned, you’ll never go back. Plus, you’ll have a better understanding of our own open-source offerings available from github.com/soundcloud

If you have any questions or comments, I’m lee@soundcloud.com, @leemartin on Twitter, and leemartin on Github. Happy Hacking!