From Fedora Project Wiki

No edit summary
m (internal link cleaning)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{:Summer Coding 2010 student application - Kai Zhang}}
 


== About me ==
== About me ==
Line 6: Line 6:
#wiki username:    kay21s
#wiki username:    kay21s
#IRC nickname:      kay21s
#IRC nickname:      kay21s
#primary language:  Chinese, It is fine with me to use English
#primary language:  Chinese, Secondary language: English
#Located:          China, My time zone is GMT+08:00 and I will work in afternoon and night.
#Located:          China.(GMT+8) I will work in afternoon and night.
#Work: I have not participated open-source project before. However, I have done some projects based on several open-source project. Such as Flex, Libnids, Libumem, Ntop, Nprobe and so on. I think it is a great thing to work on an open-source software and I feel excited at the thought of millions of people around the world will use the code I wrote. What's more, working with experienced mentors will make me progress.
#Work: During my scientific research period in USTC,I have engaged in several projects based on some open-source projects , such as Flex, Libnids, Libumem, Ntop, Nprobe and so on. Working on an open-source software is of great significance to the sustainability of global development and the vital interests of human beings,which fills me with enthusiasm and motivation to develop new innovation to the world. Meanwhile the whole exploring process is very rewarding and it always thrills me up when the thought occurs to me that millions of people around the world will use the code I compile. What's more, the opportunity of cooperating with experienced mentors will provide me with more channels to improve myself in the research and appliance field of open-source software.


== About my project ==
== About my project ==


#Project Name: Add Yahoo chat room support into Libyahoo2
#Project Name: Add Yahoo chat room support into Libyahoo2
#Idea page: [[https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_Libyahoo2]]
#Idea page: [https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_Libyahoo2]
#Libyahoo2 is a Yahoo messaging protocol library implemented in C. As the Yahoo! messaging protocol(YMSG) is updated to version 16, there are a number of differences between it and the protocol currently implemented in Libyahoo2. My project is to work on the chat room module of Libyahoo2 to get it to support YMSG 16 and have the package updated in Fedora for use since the two messengers in Fedora that use this library -- ayttm and freehoo. Much of the work needs to be done by studying protocol dumps of the windows based yahoo messenger with a new version and then interpreting and writing similar functionality. As two messengers in Fedora and many other messengers are based on Libyahoo2, if it doesn't updated to support the new version of YMSG 16, these clients will not be feature complete and will cause some inconvenience.In this project, C is the primary language in which the Libyahoo2 is implemented. Wireshark and Tcpdump are the common tools to capture packets to analysis the YMSG protocol. Autotools used for building the library.
#Libyahoo2 is a Yahoo messaging protocol library implemented in C. As the Yahoo! messaging protocol(YMSG) is updated to version 16, there are a number of differences between it and the protocol currently implemented in Libyahoo2. My project is to work on the chat room module of Libyahoo2 to get it to support YMSG 16 and have the package updated in Fedora for use since the two messengers in Fedora that use this library -- ayttm and freehoo. Much of the work needs to be done by studying protocol dumps of Yahoo! messenger with a new version and then interpreting and writing similar functionality. As two messengers in Fedora and many other messengers are based on Libyahoo2, if it doesn't updated to support the new version of YMSG 16, these clients will not be feature complete and will cause some inconvenience.In this project, C is the primary language in which the Libyahoo2 is implemented. Wireshark and Tcpdump are the common tools to capture packets to analysis the YMSG protocol. Autotools used for building the library.
#Timeline:
#Timeline:
#*Week 1(May 24 - May 31): Analyse the YMSG 16 protocol to find out the new features and changes.
#*Week 1: Analyse the YMSG 16 protocol to find out the new features and changes.
#*Week 2(June 1 - June 7): Implement the function of getting chat room list.
#*Week 2: Implement the function of getting chat room list.
#*Week 3(June 8 - June 14): Implement the function of joining a chat room
#*Week 3: Implement the function of joining a chat room
#*Week 4-5(June 15 - June 30): Implement the function of parsing the system messages
#*Week 4-5: Implement the function of parsing the system messages
#*Week 6(July 1 - July 7): Implement the function of exchanging messages in a chat room
#*Week 6: Implement the function of exchanging messages in a chat room
#*Until now, 90% of the work has been done.
#*Until now, 90% of the work has been done.
#*Week 7(July 8 - July 14): Add keep alive message support.  
#*Week 7: Add keep alive message support.  
#*Week 8(July 15 - July 21): Implement the function of leaving chat rooms
#*Week 8: Implement the function of leaving chat rooms
#*Week 9-10(July 22 - August 9): Debug previous work and capture the packages it sends out to verify their accuracy.
#*Week 9-10: Debug the previous work and capture the packages that have been sent out from the process to verify their accuracy.
#About myself:I am on my first year of pursuing master's degree. My lab is focusing on building parallel NIDS on multi-core platforms, I did some work in it and based on it, I built a high-performance parallel HTTP parser which can achieve at least 2Gbps line rate in a harsh environment. I am experienced in C programming and familiar with network domain knowledge. Wireshark and tcpdump are tools which are usually used, regular expressions are also used frequently in locating a particular pattern when debugging the system. I have also read the HTTP and TCP RFCs and have the ability to learn other protocols. Many of the skills used in this project is similar with that in my previous work. In conclusion, it is ideal for me to work on this project.
#About myself:I am on the first year of pursuing my master degree. The focus of my lab program lies in building parallel NIDS on multi-core platforms,and based on the lab experimens I build a high-performance parallel HTTP parser which can achieve at least 2Gbps line rate in a harsh environment.I am experienced in C programming and specialized in network domain knowledge. Wireshark and tcodump are frequently-used tools, and regular expressions are also generally reserved in locating a particular pattern when debugging the system. I have kept enriching myself through reading the HTTP and TCP RFCs and accumulated the ability to learn more complex protocols. Many of the skills applied in this project are similar to what I have explored in my previous research . In conclusion, it is ideal for me to work on this project.


== I and the Community ==
== I and the Community ==
Line 31: Line 31:
#*Mine:If the project is completed, many of the Yahoo messengers based on Libyahoo2 will be able to support the new YMSG protocol, such as freehoo and ayttm. That will facilitate many people who are using Fedora as their OS, because they will not be troubled by switching to Windows when they need to use Yahoo! messenger to communicate with others. The Libyahoo2 will also benefit other Linux users. What's more, if these common and fundamental functions are not supported, it will block Linux to get more popular.
#*Mine:If the project is completed, many of the Yahoo messengers based on Libyahoo2 will be able to support the new YMSG protocol, such as freehoo and ayttm. That will facilitate many people who are using Fedora as their OS, because they will not be troubled by switching to Windows when they need to use Yahoo! messenger to communicate with others. The Libyahoo2 will also benefit other Linux users. What's more, if these common and fundamental functions are not supported, it will block Linux to get more popular.
#*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 group chat feature as a result of successful completion of this project.
#*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 group chat feature as a result of successful completion of this project.
#If I get stuck on my project and my mentor isn't around. I will ask folks on the mailing list, on the forum of Yahoo! coder's cookbook or communicate with the ones who are working on the other projects of Libyahoo2, I believe I will overcome it.
#If I get stuck on my project and my mentor isn't around. I will first keep a clean mind to analyse the sticky situation and figure out the reasonable scheme options to remove the obstcle . At the same time, consulting with the team members on the mailing list of Yahoo forum who are working on the other projects of Libyahoo2 is a beneficial alternative as well. I believe I will overcome the barriers with my individual research capacity and cooperational spirit
#In addition to the required blogging minimum of twice per week, I will send a mail when a main function module has been completed and when I confronted with any problems which I feel uncertain about it.
#In addition to the required blogging minimum for twice per week, I will send a mail when a main function module has been completed and when I confront with any problems that I feel uncertain about.


== Miscellaneous ==
== Miscellaneous ==
#Answers:
#Answers:
#*Yes, I have installed Libyahoo2, Wireshark, Tcpdump and other tools for development on my computer.
#*Yes, I have installed Libyahoo2, Wireshark, Tcpdump and other tools for development on my computer.
#*Yes, I have contact with Siddhesh Poyarekar, who is going to be the mentor of the project and has given me lots of guidence.
#*Yes, I have contacted with Siddhesh Poyarekar, who is going to be the mentor of the project and has given me lots of guidence.
#T-shirt size: 175/96A
#T-shirt size: XL
#Learning experience as a child: The magic cube. At first, I supposes it without any regular rules. However, when my father showed me he could work this out in 1 minute and taught me there were some rules and formulas needed to be remembered, I got fascinated with it. When I grew up, I decided to learn computer science because I think everything has an algorithm to implement, just as the magic cube.
#Learning experience as a child: The magic cube. As a knowledge –thirsty little boy in my childhood, I always got inquisitive about the tiny stylish cubes and considered them being compiled without any regular rules. However, when my father showed me he could work this out in 1 minute and instructed me there were meticulous rules and formulas being built in each one of them,I got fascinated with the magic-like cube.I decided to learn computer science because I think everything has an algorithm to implement, just as the magic cube.
#I like challenging and I have the confidence to do it well.
#I’m a person of challenging spirit and I have the confidence to conquer the obstacles on the marching process.


{{Talk:Summer Coding 2010 student proposal application}}
[[Category:Summer Coding 2010]]
[[Category:Summer Coding 2010 proposals]]
[[Category:Summer Coding 2010 proposals]]

Latest revision as of 22:48, 17 September 2016


About me

  1. Name: Kai Zhang
  2. Email: kay21s@gmail.com
  3. wiki username: kay21s
  4. IRC nickname: kay21s
  5. primary language: Chinese, Secondary language: English
  6. Located: China.(GMT+8) I will work in afternoon and night.
  7. Work: During my scientific research period in USTC,I have engaged in several projects based on some open-source projects , such as Flex, Libnids, Libumem, Ntop, Nprobe and so on. Working on an open-source software is of great significance to the sustainability of global development and the vital interests of human beings,which fills me with enthusiasm and motivation to develop new innovation to the world. Meanwhile the whole exploring process is very rewarding and it always thrills me up when the thought occurs to me that millions of people around the world will use the code I compile. What's more, the opportunity of cooperating with experienced mentors will provide me with more channels to improve myself in the research and appliance field of open-source software.

About my project

  1. Project Name: Add Yahoo chat room support into Libyahoo2
  2. Idea page: [1]
  3. Libyahoo2 is a Yahoo messaging protocol library implemented in C. As the Yahoo! messaging protocol(YMSG) is updated to version 16, there are a number of differences between it and the protocol currently implemented in Libyahoo2. My project is to work on the chat room module of Libyahoo2 to get it to support YMSG 16 and have the package updated in Fedora for use since the two messengers in Fedora that use this library -- ayttm and freehoo. Much of the work needs to be done by studying protocol dumps of Yahoo! messenger with a new version and then interpreting and writing similar functionality. As two messengers in Fedora and many other messengers are based on Libyahoo2, if it doesn't updated to support the new version of YMSG 16, these clients will not be feature complete and will cause some inconvenience.In this project, C is the primary language in which the Libyahoo2 is implemented. Wireshark and Tcpdump are the common tools to capture packets to analysis the YMSG protocol. Autotools used for building the library.
  4. Timeline:
    • Week 1: Analyse the YMSG 16 protocol to find out the new features and changes.
    • Week 2: Implement the function of getting chat room list.
    • Week 3: Implement the function of joining a chat room
    • Week 4-5: Implement the function of parsing the system messages
    • Week 6: Implement the function of exchanging messages in a chat room
    • Until now, 90% of the work has been done.
    • Week 7: Add keep alive message support.
    • Week 8: Implement the function of leaving chat rooms
    • Week 9-10: Debug the previous work and capture the packages that have been sent out from the process to verify their accuracy.
  5. About myself:I am on the first year of pursuing my master degree. The focus of my lab program lies in building parallel NIDS on multi-core platforms,and based on the lab experimens I build a high-performance parallel HTTP parser which can achieve at least 2Gbps line rate in a harsh environment.I am experienced in C programming and specialized in network domain knowledge. Wireshark and tcodump are frequently-used tools, and regular expressions are also generally reserved in locating a particular pattern when debugging the system. I have kept enriching myself through reading the HTTP and TCP RFCs and accumulated the ability to learn more complex protocols. Many of the skills applied in this project are similar to what I have explored in my previous research . In conclusion, it is ideal for me to work on this project.

I and the Community

  1. If my project is successfully completed:
    • Mine:If the project is completed, many of the Yahoo messengers based on Libyahoo2 will be able to support the new YMSG protocol, such as freehoo and ayttm. That will facilitate many people who are using Fedora as their OS, because they will not be troubled by switching to Windows when they need to use Yahoo! messenger to communicate with others. The Libyahoo2 will also benefit other Linux users. What's more, if these common and fundamental functions are not supported, it will block Linux to get more popular.
    • 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 group chat feature as a result of successful completion of this project.
  2. If I get stuck on my project and my mentor isn't around. I will first keep a clean mind to analyse the sticky situation and figure out the reasonable scheme options to remove the obstcle . At the same time, consulting with the team members on the mailing list of Yahoo forum who are working on the other projects of Libyahoo2 is a beneficial alternative as well. I believe I will overcome the barriers with my individual research capacity and cooperational spirit
  3. In addition to the required blogging minimum for twice per week, I will send a mail when a main function module has been completed and when I confront with any problems that I feel uncertain about.

Miscellaneous

  1. Answers:
    • Yes, I have installed Libyahoo2, Wireshark, Tcpdump and other tools for development on my computer.
    • Yes, I have contacted with Siddhesh Poyarekar, who is going to be the mentor of the project and has given me lots of guidence.
  2. T-shirt size: XL
  3. Learning experience as a child: The magic cube. As a knowledge –thirsty little boy in my childhood, I always got inquisitive about the tiny stylish cubes and considered them being compiled without any regular rules. However, when my father showed me he could work this out in 1 minute and instructed me there were meticulous rules and formulas being built in each one of them,I got fascinated with the magic-like cube.I decided to learn computer science because I think everything has an algorithm to implement, just as the magic cube.
  4. I’m a person of challenging spirit and I have the confidence to conquer the obstacles on the marching process.

plus talk