Summer of Swift: Nishith Rastogi

The Google Summer of Code is drawing to a close. This year SwiftRiver was a mentoring organization and we wanted to give our GSoCers some ‘face’ time on the blog by interviewing them. Nishith is a developer who worked on our natural language processing api, SiLCC.

Interview with Nishith

Q: What is your educational (or professional) background?

I am currently pursing Msc. (Hons) Economics and B.E (Hons) Electronics and Electrical engineering from BITS-Pilani, Goa Campus, India.

Q: What was the project you worked on at Swift?  Why did you select that as your GSoC project and what did you learn from working on it?

I was working on improving the existing features and addition more functionality to the SiLCC component of the SwiftRiver project. I selected the same because I wanted to work in the area of Natural Language Processing and hone my skills in this domain. I learnt a lot in the field of NLP and also wet my feet in databases and WebFrame works. Neville helped me a lot during my entire summer.

Q: What challenges did you run into during and how did you overcome them?

I am primarily a back-end engine guy and deal mostly with command-line applications, also till date I have programmed mostly individually. So dealing with WebFrame works and collaborative coding and code conventions were completely new to me. It was brilliant to learn these essential skills, official documentations of the respective technologies, Google and my mentor provided the necessary and critical guidance.

Q: GSoCers get to choose the organizations they work with, why did you choose to work with SwiftRiver?

I was very specific in my want to work only in the area of Natural Language Processing, and SwiftRiver was one of the extremely few organizations offering me an opportunity to do so. Along with that the social impact and applications of Ushahidi/SwiftRiver excited me.

Q: Any closing remarks?

Machine Learning and Textual Analysis have come a long way since the point where a plain text search was the epitome of Data Mining. I would strongly recommend and encourage everyone to work on or try tools like Ushahidi/SwiftRiver. You will have an opportunity to create and end to end impact, interact with a brilliant team and learn a lot. I would sincerely like to appreciate and thank the Ushahidi/SwiftRiver team for providing me with this opportunity.

Summer of Swift: Mang-Git

The Google Summer of Code is drawing to a close. This year SwiftRiver was a mentoring organization and we wanted to give our GSoCers some ‘face’ time on the blog by interviewing them.  Mang-Git is a developer who worked on our influence analytic application, Reverberations.  

Reverberations is a pretty simple app, it’s a RESTful solution for determining the influence of content online.  Mang worked on the Twitter portion, where an algorithm returns the number of retweets an item has, and then the number of retweets those retweets have as well.

Reverberations is an open source project which can be found here: http://github.com/appfrica/Reverberations

Meet Mang-Git

Q: What is your educational (or professional) background?

I am a recent graduate of the University of Michigan, with an undergraduate degree in Computer Engineering. Over the past couple summers I have interned at Cisco Systems, as a Software Development intern. During the school year I worked as a computer technician for the School of Social Work at U of M.

Q: What was the project you worked on for us? Why did you select that as your GSoC project and what did you learn from working on it?

The specific project I worked on was called Reverberations, it is an add on to the SwiftRiver tool set. I chose to work on SwiftRiver, because of the far reaching social implications the software had. From my time working on Reverberations I have learned a lot about social networking, the REST architecture, as well as how to use the twitter API to gather the information I needed.

Q: What challenges did you run into during and how did you overcome them?

The largest challenge I came across was determining how to create a retweet tree. Twitter does not provide information on whether a retweet is a retweet of another retweet.

example…

All retweets on twitter are displayed as retweets of the original tweet. To make matters even more difficult, I did not notice that the status_retweets API call returned all retweets as a retweet of the orignal tweet until the last week of GSoC. Eventually with some help from the Twitter developer forum I came up with an algorithm to create a retweet tree, using retweet timestamp information and info on the followers of a user. The most difficult part about developing this “algorithm” was figuring out what the implications are for each piece of information, as well has how to handle situations when it is impossible to determine who the likely parent tweet is. In the end I’ve created an algorithm, that although cannot always be a 100% sure of whether the retweet tree is correct, but is better than any other solution I have seen, especially since I have yet to find an application that even attempts to create a retweet tree using information form the Twitter API.

Q: GSoCers get to choose the organizations they work with, why did you choose to work with SwiftRiver?

SwiftRiver, along with Ushahidi, not only provides crucial information to rescuers during a crises, but it can also provide realtime, crowd sourced news to the general public. An example of this would be using Ushahidi and Reverberations in a situation such as the riots in Iran. Allowing reporters to filter and manage the huge amounts of user generated content flowing out of Iran, and thus helping spread the news of Iran even when western reporters were not allowed in Iran.

Q: Any closing remarks?

GSoC is a great program, and provides an excellent opportunity for students like myself to participate in open source projects, and be rewarded for giving back to the open source community. My participation with SwiftRiver has taught me a lot about the software development process. I have had to do everything from managing my time, to defining a spec from a concept idea, to learning how to use the tools needed for developing my program, and finally actual development and testing of my code. Working with Jon and GSoC has really been an excellent experience, I feel that I have learned a lot and grown as a developer.

Thanks, Mang-Git!