From Fedora Project Wiki

mNo edit summary
No edit summary
Line 9: Line 9:
== About your project ==
== About your project ==


# What is the name of your project?
1. What is the name of your project?
CHASM: Cryptographic Hash Algorithm Secured Mirroring solution.
CHASM: Cryptographic Hash Algorithm Secured Mirroring solution.
# Does your project come from an idea on the [[Summer Coding 2010 ideas]] page?  If so, provide a link for reference, as well as a link to any discussions with mentors about your proposal.
2. Does your project come from an idea on the [[Summer Coding 2010 ideas]] page?  If so, provide a link for reference, as well as a link to any discussions with mentors about your proposal.
https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_CHASM
https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_CHASM
# Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?
3. Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?
CHASM stands for the Cryptographic-Hash-Algorithm-Secured Mirroring solution, and provides the following improvements to the current alternatives (Rsync):
CHASM stands for the Cryptographic-Hash-Algorithm-Secured Mirroring solution, and provides the following improvements to the current alternatives (Rsync):


Line 24: Line 24:




# What is the timeline for development of your project? The Fedora Summer Coding work period is 11 weeks long, May 24 - August 9; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 5-12); the last steps always take longer than you think, and we will consider canceling projects that are not mostly working by then.
4. What is the timeline for development of your project?  
Yet to be discussed.
Yet to be discussed.


# Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.
5. Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.
I am good at programming in C++ and Python, and have solved various problems in SPOJ and a SPOJ derivative-CodeChef. I do not have prior experience in working on system programming oriented project, but I am a fast learner and will catch up pace in the project.
I am good at programming in C++ and Python, and have solved various problems in SPOJ and a SPOJ derivative-CodeChef. I do not have prior experience in working on system programming oriented project, but I am a fast learner and will catch up pace in the project.
I have coded Image processing modules for the Satellite workbench, in Space Applications Centre, Indian Space Research Organisation, Ahmedabad, India.   
I have coded Image processing modules for the Satellite workbench, in Space Applications Centre, Indian Space Research Organisation, Ahmedabad, India.   
Line 34: Line 34:
== You and the community ==
== You and the community ==


# If your project is successfully completed, what will its impact be on the Fedora community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Fedora community, at least one of whom should be a Fedora Summer Coding mentor. Provide email contact information for non-Summer Coding mentors.
1. If your project is successfully completed, what will its impact be on the Fedora community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Fedora community, at least one of whom should be a Fedora Summer Coding mentor. Provide email contact information for non-Summer Coding mentors.
1. My answer:  
i) My answer:  
This project will overcome some of the existing drawbacks in rsync for mirroring. For a fedora user it would mean, faster propagation of updates. For the Fedora community, it would help in checking reliability of the mirrors, and speeding up the process to find differences made in the files.  
This project will overcome some of the existing drawbacks in rsync for mirroring. For a fedora user it would mean, faster propagation of updates. For the Fedora community, it would help in checking reliability of the mirrors, and speeding up the process to find differences made in the files.  
    
    
2.Mentor's response:  
ii) Mentor's response:  






# What will you do if you get stuck on your project and your mentor isn't around?
2. What will you do if you get stuck on your project and your mentor isn't around?
I would utilise all possible resources I have to solve the issue. The mentor is a guide to the project and defines the workflow, and the student has to find out a way to do it. It is not possible for the mentor to be around always to solve the issues coming in the way, hence I would try not to be entirely dependant on the mentor to circumvent the issues, and crack them myself.
I would utilise all possible resources I have to solve the issue. The mentor is a guide to the project and defines the workflow, and the student has to find out a way to do it. It is not possible for the mentor to be around always to solve the issues coming in the way, hence I would try not to be entirely dependant on the mentor to circumvent the issues, and crack them myself.
# In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project?  
3. In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project?  
Twitter updates would work like a progress bar, and the blog updates would be detailed reports about the progress. Apart from this, updating my wiki page, using the mailing list for major milestones achieved will help in keeping the  community informed about the progress.
Twitter updates would work like a progress bar, and the blog updates would be detailed reports about the progress. Apart from this, updating my wiki page, using the mailing list for major milestones achieved will help in keeping the  community informed about the progress.


== Miscellaneous ==
== Miscellaneous ==
# We want to make sure that you are prepared before the project starts
# We want to make sure that you are prepared before the project starts
#* Can you set up an appropriate development environment?
1. Can you set up an appropriate development environment?
Yes, I can. Rather this work will be done prior to the coding period.  
Yes, I can. Rather this work will be done prior to the coding period.  
#* Have you met your proposed mentor and members of the associated community?
2. Have you met your proposed mentor and members of the associated community?
On IRC.
On IRC.
# What is your t-shirt size?
3. What is your t-shirt size?
Medium
Medium
# Describe a great learning experience you had as a child.
4. Describe a great learning experience you had as a child.
My first experience of using a computer when I was 12 years old. It was introduced in the school curriculum that year and I still remember the awe of the screen glowing and talking to me. The first computer program I made was of drawing different shapes and figures using the turtle in LOGO. I learnt the fundamental of breaking down problems in into smaller units and then coding them. The learning curve has been going up and up since then, and I have happy memories of the good start I had.  
My first experience of using a computer when I was 12 years old. It was introduced in the school curriculum that year and I still remember the awe of the screen glowing and talking to me. The first computer program I made was of drawing different shapes and figures using the turtle in LOGO. I learnt the fundamental of breaking down problems in into smaller units and then coding them. The learning curve has been going up and up since then, and I have happy memories of the good start I had.  



Revision as of 18:56, 16 May 2010

For information how to complete this form, refer to Summer Coding 2010 step-by-step for students.

About you

Summer Coding 2010 student application - Vrinda Vasishth

About your project

1. What is the name of your project? CHASM: Cryptographic Hash Algorithm Secured Mirroring solution. 2. Does your project come from an idea on the Summer Coding 2010 ideas page? If so, provide a link for reference, as well as a link to any discussions with mentors about your proposal. https://fedoraproject.org/wiki/Summer_Coding_2010_ideas_-_CHASM 3. Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using? CHASM stands for the Cryptographic-Hash-Algorithm-Secured Mirroring solution, and provides the following improvements to the current alternatives (Rsync):

       * Uses SHA2 to uniquely identify files: Each file is stored by SHA2 and hard-linked into place on the filesystem.
       * Cache-aware transfer protocol: When an upstream and a downstream node synchronize, they take care not to invalidate the filesystem cache of the upstream in order to minimize disk writes.
       * Reduced latency: A trivial update will allow a node to compute what is out of date without any additional network traffic.

We will be working in C++ to develop the network code. Basically we will be developing the code of the protocol already defined by the mentors.


4. What is the timeline for development of your project? Yet to be discussed.

5. Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant. I am good at programming in C++ and Python, and have solved various problems in SPOJ and a SPOJ derivative-CodeChef. I do not have prior experience in working on system programming oriented project, but I am a fast learner and will catch up pace in the project. I have coded Image processing modules for the Satellite workbench, in Space Applications Centre, Indian Space Research Organisation, Ahmedabad, India. My Linked-in profile http://in.linkedin.com/in/vrindavasishth

You and the community

1. If your project is successfully completed, what will its impact be on the Fedora community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Fedora community, at least one of whom should be a Fedora Summer Coding mentor. Provide email contact information for non-Summer Coding mentors. i) My answer: This project will overcome some of the existing drawbacks in rsync for mirroring. For a fedora user it would mean, faster propagation of updates. For the Fedora community, it would help in checking reliability of the mirrors, and speeding up the process to find differences made in the files.

ii) Mentor's response:


2. What will you do if you get stuck on your project and your mentor isn't around? I would utilise all possible resources I have to solve the issue. The mentor is a guide to the project and defines the workflow, and the student has to find out a way to do it. It is not possible for the mentor to be around always to solve the issues coming in the way, hence I would try not to be entirely dependant on the mentor to circumvent the issues, and crack them myself. 3. In addition to the required blogging minimum of twice per week, how do you propose to keep the community informed of your progress and any problems or questions you might have over the course of the project? Twitter updates would work like a progress bar, and the blog updates would be detailed reports about the progress. Apart from this, updating my wiki page, using the mailing list for major milestones achieved will help in keeping the community informed about the progress.

Miscellaneous

  1. We want to make sure that you are prepared before the project starts

1. Can you set up an appropriate development environment? Yes, I can. Rather this work will be done prior to the coding period. 2. Have you met your proposed mentor and members of the associated community? On IRC. 3. What is your t-shirt size? Medium 4. Describe a great learning experience you had as a child. My first experience of using a computer when I was 12 years old. It was introduced in the school curriculum that year and I still remember the awe of the screen glowing and talking to me. The first computer program I made was of drawing different shapes and figures using the turtle in LOGO. I learnt the fundamental of breaking down problems in into smaller units and then coding them. The learning curve has been going up and up since then, and I have happy memories of the good start I had.


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