Wednesday, October 23, 2013

Open sourcing Social Photos

I have been working on a lot of open source projects lately (chromium, AOSP, ffmpeg, etc.) and I have had this tremendous change in the way i look at software projects now. I am all the more convinced that open source is the only right way of doing software.

With that in mind, I've made a pledge to myself that no matter what I do, I am going to put the source out there. As a first step, i'm open sourcing the one big project of mine, Social Photos.

The source can be found here:

It is a snapshot of the one that's currently powering the live site: (with API keys redacted). Feel free to fork and use as you please. Although i'd appreciate a link back, it's not mandatory. Also, i'll be more than happy to look at Pull Requests.

One of the main reasons that developers (including myself) don't post our code out there is that we are ashamed of our code. I was really ashamed by the number of hacks i did in this project that i couldn't even think of making it public. I'm over it. I'm ready to accept people fixing my mistakes.

Happy Coding!


Tuesday, October 8, 2013

Why do we always have to f*** the opponents?

Note: This article is related to soccer (and other American sports).

I have always been a football (soccer) fan. In fact, i refuse to call it soccer, but for the sake of convenience, I am going to mention it as soccer the whole of this post.

I have been going to a lot of games lately (soccer, football as well as baseball). One common behavior I see across all these sports is that, the home fans always have an attitude that the opponents suck and we gotta f*** them. There are loads of banners, tifos, chants, etc. which are particularly targeted against the opponent players. Usually, fans just pick on random opponent players. They wouldn't know anything about that player, they merely look at the back of the jersey for his name and start yelling "hey <name>, you suck". For no reason.

Is yelling vulgarity at opponents really called passion?

I am an Arsenal fan by heart. I have been following Arsenal ever since i started watching soccer. As much as I want Arsenal to win, that doesn't mean i feel that the opponents suck. As much as I hate Robin Van Persie leave Arsenal, It doesn't mean that I don't enjoy watching him score quality goals for Manchester United.

I really enjoy the positive passion in local home games, but why can't the passion and support be just about us? About how good our players are? Do we really need to pick on the opponents to show that we are passionate about the sport and the team?

Consider this post by the 1906ultras. Before I say anything, I really want to make this very clear: I am a big San Jose Earthquakes fan. I take it really personally when they lose. I love the Ultras and the passion that they put in to Buck Shaw. But for such a wonderful and passionate supporter group like the Ultras, do we really need such vulgarity? There's nothing wrong in hoping Colorado will lose, but do we really need to f*** Seattle? If you look at all the other posts by them, they are all really positive and it actually ignites passion in the heart of every fan. And not to forget the recent letter to the players written by the ultras. It even gave my wife goosebumps (she just started following sports and she has never been so passionate about a team before). Why can't it just be about these good things? Why do we need to f*** the opponents?

Just to be clear, I am all for booing the referee when he makes a mistake, or even yelling at an opponent when he behaves in an unsporting manner. But not because he plays extremely well causing trouble to our team. I recently happened to be in Seattle and went for an MLS game there. They have their own supporters groups who are as passionate as us (ok, may not be as much as us). That doesn't make them our enemies or anything. Even though I liked the atmosphere there, I couldn't join them on even a single chant because it just didn't feel right. That's the kind of passion we want. We don't have to hate others to be passionate about our team.

Even in India, where people are crazy about Cricket, butchering and yelling at opponent players does not happen. The Indian Premier League (it is the major cricket tournament in India), has teams and players from all over the country as well as the word. But there the fans don't yell that opponents suck, instead they cheer their players, they say good things about their players no matter what. They respect the opponents.

I love San Jose Earthquakes. My heart will never cheer for another MLS team ever. I love ultras. Even though I don't sit in section 109, i always chant with them involuntarily throughout the game. But i'd really love it if the fans (not just the ultras, everyone) can focus more about the good stuff on our side rather than yelling at opponents.

It is called "home advantage" for a reason. It is not called "away disadvantage". Even the players exchange jerseys with opponents after the game. Why should we see them as enemies? Let's make the opponents feel welcome. Let's beat them in the sport on the field, not with words off the field.

As Eric Raymond said in Cathedral and Bazaar, Any energy you spend hating the opponents would be better spent on loving our team's craft (rephrased to fit into context).

Even though this post talks vastly about soccer, I have seen this happen in all the American games (baseball, football and probably hockey too).

For the first time in life, I have the opportunity to follow a team I love passionately by going to the stadium week after week. This is just my 20 cents for making real passion come out of any sport. Supporting your team is one thing, but bashing the opponents.. doesn't make you sound like a good person. Just think about it for a second before yelling.