Summer Coding 2010 proposal - web cam support implementation in libyahoo2

From FedoraProject

Jump to: navigation, search

Contents

About me

  1. My name is Satyajit Sarangi.
  2. My email id is Writetosatyajit@gmail.com
  3. My wiki username is kasperasky
  4. My IRC name is zkasperasky
  5. I am fluent in both English and Hindi.
  6. My location is :Cuttack , India . Time:8:00 to 23:00 ,GMT + 5:30
  7. I have participated in various FOSS workshops , have coded a few lexers , 2d games in allegro and also worked on implementing various networking protocols and algorithms , all in C and C++ .

About my project

  1. The name of the project is implementation of web cam support in libyahoo2 which is broken due to changes in protocol.
  2. Yes , the project does come from an idea on the summer coding 2010 page . https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_Libyahoo2
  3. The project would deal in implementing the web cam support in libyahoo2 , while the libyahoo2 complies to YMSG16 . This project would help all the messengers that are based on libyahoo2 or the ones that are going to be developed on libyahoo2 to get a wholesome nature when the web cam chat mode would be enabled. This project would require a thorough understanding of the protocols like UDP , SIP , and how they have been implemented in the yahoo server. Thus the libyahoo2 code has to be understood first , which includes the code for web cam , even though its not working , which would help us to understand how the yahoo server might work . The technology used would include Socket programming in C , understanding all the RFC’s for the various protocols , analyzing protocol dumps taken from client-server communication using wireshark or tcpdump . Further , this package when completed should be provided with a better documentation , thus easing future usage and understanding , and also would be pushed into the fedora repository.
    • June 1st to June 10th - Understand current functionality of libyahoo2 and its current webcam code, read the RFC’s for the protocols and polish the socket programming skills .
    • June 10th to June 14th - Analyse protocol dumps using the official libyahoo2 messenger . This I have given more time as it would take some time to understand how the interaction with the Yahoo server is taking place , and already knowing the protocols well in advance , would help us to understand the dumps quick enough to move into the coding session .
    • June 14th to June 21 – Implementing the module of switching on the web cam and being able to take feeds (frames ) from it and transmit it using the UDP protocol .
    • June 21 to June 28- Implementation of the previous module , through libyahoo2 , keeping in mind the interaction with the yahoo server should not be broken.
    • June 28 th to July 5 th Implementing the module of authentication of the data being sent , by implementing the SIP protocol , and making sure the interaction is smooth with the Yahoo server .
    • July 5th to July 12th – Doing integration testing of the code , by using either freehoo or ayttm .
    • July 12th to July 19th - Providing a better GUI window for the user so that he/she can see live feed of web cams of both him/her and the person with whom he/she is having web cam conversation.
    • July 19th to July 26th – Implementing a mechanism of dealing with bots and more testing and debugging using integration testing
    • July 26th to August 4th – Test its efficiency by analyzing the packet dumps from the messenger which would have implemented the web cam support and then pushing it into the fedora package .
    • August 4th to August 9th – Prepare proper documentation , and wiki pages of the work done , and how to implement the protocol to build a messenger from it , thus helping the others in the community.
  4. I have worked on my college projects , the first one was building an intranet code repository , which can be accessed through the lan , based on C , Python and Sql and a lot of socket programming . I also did a project dealing with implementation of an encryption called microTesla in network sensors , using nesC as my final year project . I have also worked in Centre for Artificial Intelligence and Robotics in implementing various papers and then building a robotics framework , similar to ROS ,with the help of my mentor and other colleagues there . Have also worked as a free lance coder building lexers , code debuggers for others . My knowledge in C is efficient and my network basics are in depth . I have also worked in various hacking competitions in IIT Chennai fest , which needed usage of wireshark .

Me and the community

If my project is completed

    • Mine : This would bring a wholesome look to the messengers in fedora like freehoo and ayttm , which have been based on libyahoo2 , as they would be having support similar to any messenger working on windows . Previously , to attain the functionality of yahoo messenger , it had to be installed through wine , but could never give the similar features or feel as it could give in windows. With libyahoo2 and all features like web cam support up and runing , it can give a huge boost to developers building messengers for modern day usage . Future development can also be trying to use the protocol to do video streaming , which can only result in more popularity fedora , linux , and the open source community in general.
    • Mentor : libyahoo2 is packaged for Fedora and is used by two instant messengers

in Fedora -- freehoo and ayttm. Those messengers can then avail of the webcam feature as a result of successful completion of this project.

  1. If I get stuck , I will take help from the various libyahoo2 forums , libyahoo2 mailing list , my fellow libyahoo2 enthusiasts who would be working on libyahoo2 and also use sites like StackOverflow or ServerFault to advantage .
  2. Apart from blogging twice a week , I shall keep my mentor informed about the progress with constant exchange of mails , I would also be in touch with the others who are working on libyahoo2 FSOC proposals , so that the work can be coherent .

Miscellaneous

  1. I have installed libyahoo2 , ayttm , yahoo messenger on wine , tcpdump , wireshark , have read the RFC’s regarding various protocols and also have gone through the code of libyahoo2 .
  2. Yes , I have been in constant touch with Siddhesh Poyarekar, who is going to be the mentor of the project . He has been extremely helpful and has been providing guidance in the project.
  3. My tshirt size is L .
  4. I was suspended from my computer lab when I was in Std-4 , as I put an infinite for loop which somehow managed to crash the computer in gw basic . I wasn’t any good in computers then and I took it up as a challenge to understand why I was being punished , when all my fault was putting an infinite loop . It took me 1 year to figure out what exactly had happened , as none of my teachers knew the answer and there wasn’t much of internet around my place . Stack Overflow , the problem which crashed the computer , but it was not the problem , but the learning curve towards knowing that it was a huge push for me in the field of computers and there was no looking back since then .
  5. I believe in my abilities of doing well , and like to think twice before I code .


Comments

Use the Talk:Summer Coding 2010 student proposal application to actually make comment, which then appear here on the main proposal page. You can use this link to make a new comment].

plus talk