Changes

no edit summary
Line 29: Line 29:     
Yes, I have contributed to two completely open source research projects at my college:
 
Yes, I have contributed to two completely open source research projects at my college:
* [https://github.com/quadrotor-IITKgp “Aerial Robotics Kharagpur”]: I am a software team member of this organization.Few specific (other than open code contribution) [https://github.com/quadrotor-IITKgp/grid_localization 1][https://github.com/ManashRaja/quad_simulator 2]
+
* [https://github.com/quadrotor-IITKgp “Aerial Robotics Kharagpur”]: I am a software team member of this organization. Few specific (other than open code contribution) [https://github.com/quadrotor-IITKgp/grid_localization 1][https://github.com/ManashRaja/quad_simulator 2]
 
* [https://github.com/AGV-IIT-KGP “Autonomous Ground Vehicle”]: Specific work [https://github.com/AGV-IIT-KGP/computer_vision/pull/28 1],[https://github.com/AGV-IIT-KGP/eklavya-2015/pull/75 2]
 
* [https://github.com/AGV-IIT-KGP “Autonomous Ground Vehicle”]: Specific work [https://github.com/AGV-IIT-KGP/computer_vision/pull/28 1],[https://github.com/AGV-IIT-KGP/eklavya-2015/pull/75 2]
 
* My [https://github.com/ManashRaja/ GitHub profile] in general.
 
* My [https://github.com/ManashRaja/ GitHub profile] in general.
Line 41: Line 41:  
'''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?'''
 
'''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?'''
   −
My project in short will add advanced backup-restore, cloud sync and easy sharing features for the sugar journal. The following are the features in detail:
+
My project will add advanced backup-restore, cloud sync and easy sharing features for the Sugar journal. The following are the features in detail:
#'''Add selective backup-restore:''' User can select part of the journal to be backed up or restored directly from within the backup page. Metadata for each Journal entry will store the list of dependencies and library objects, which will be downloaded again as needed (and, as available). <br /> <u><i>Why?</i></u> Backups will be specific and save unnecessary wastage of storage space. Replace the ineffective way to store Journal images with the risk of running out of local space. It will enable specific journal entries to be distributed by the teachers as tutorials without hampering the existing Journal of students.
+
#'''Add selective backup-restore:''' User can select part of the journal to be backed up or restored directly from within the backup page. Metadata for each Journal entry will store the list of dependencies and library objects, which will be downloaded again as needed (and, as available). <br /> <u><i>Why?</i></u> Backups will be specific and save unnecessary wastage of storage space. Replace the ineffective way to store Journal images with the risk of running out of local space. Teachers will be able to distribute tutorials on activities without hampering the existing Journal a student.
 
#'''Add system to backup and restore from school servers (XSCE):''' Now backup can only be stored and restored from devices, but this feature will add school servers to the options. <br /> <u><i>Why?</i></u> <br />
 
#'''Add system to backup and restore from school servers (XSCE):''' Now backup can only be stored and restored from devices, but this feature will add school servers to the options. <br /> <u><i>Why?</i></u> <br />
 
#*The existing (ds-backup) option on OLPC OS is not an effective method because it cannot be easily restored. (from what I understand)
 
#*The existing (ds-backup) option on OLPC OS is not an effective method because it cannot be easily restored. (from what I understand)
#*As school servers are the best common node for all the local hardware running sugar, hence storing backups at such common location will increase its accessibility by many fold.
+
#*As school servers are the best common node for all the local hardware running Sugar, hence storing backups at such common location will increase its accessibility by many fold.
 
#*The backups can be used by multiple types of hardware/platform running Sugar (OLPC pcs, Android, Sugarizer) seamlessly using school-server’s multi-platform support to the advantage.
 
#*The backups can be used by multiple types of hardware/platform running Sugar (OLPC pcs, Android, Sugarizer) seamlessly using school-server’s multi-platform support to the advantage.
 
#*Teachers can distribute journal entries on mass scale.
 
#*Teachers can distribute journal entries on mass scale.
 
#'''Add cloud service:''' In a few clicks, it will let schools to connect each student’s pc to a local cloud server or a third party cloud server as per the availability to sync the journal data at a central location.<br /><u><i>Why?</i></u> It will be easy for schools to let hardware be shared among the student batches as students can login to their account from any hardware and can still access his/her own journal. This feature will strongly support:
 
#'''Add cloud service:''' In a few clicks, it will let schools to connect each student’s pc to a local cloud server or a third party cloud server as per the availability to sync the journal data at a central location.<br /><u><i>Why?</i></u> It will be easy for schools to let hardware be shared among the student batches as students can login to their account from any hardware and can still access his/her own journal. This feature will strongly support:
#*One to many concept that can be implemented on Sugar.
+
#*"One to many concept" that can be implemented on Sugar. (concept discussed on GSoC 2016 idea page [https://wiki.sugarlabs.org/go/Summer_of_Code/2016 link])
#*The OLPC’s new “Infinity” modular computer. The student’s personal setup (Journal) becomes another module.
+
#*The OLPC’s new “Infinity” modular computer. A student’s personal setup (Journal) becomes another module.
#'''Easy sharing of Journal items based on above server frameworks:''' When server frameworks like XSCE and cloud are available, their utility can be increased by adding features where children can share any item with others in just few easy clicks. The GUI will be indifferent to the framework being used in the background even though it will provide options, if both are present at the same time.
+
#'''Easy sharing of Journal items based on above server frameworks:''' When server frameworks like XSCE and cloud are available, their utility can be increased by adding features where children can share any item with each other in just few easy clicks. The GUI will be indifferent to the framework being used in the background even though it will provide options, if both are present at the same time.
   −
<u>Technologies:</u> I will use python and its libraries for the main backend along with GTK+ for the GUI and graphics generator like Inkscape for the icons. For the different server integration, I am planning to use use server specific cli, apis, libraries or scripts like “owncloudcmd” for ownCloud,  “RClone” that supports many cloud services like Google Drive, Amazon S3, Openstack Swift / Rackspace cloud files / Memset Memstore, Dropbox, Google Cloud Storage, Amazon Cloud Drive, Microsoft One Drive, Hubic, Backblaze B2, Yandex Disk, The local filesystem and tools like rsync for XSCE school-servers. I will also use polkit for permissions and symbolic links. If I finally use rclone for cloud sync, then I might learn and use go programming language in which it is made or use pexpect to run its cli.
+
<u>Technologies:</u> I will use python and its libraries for the main backend along with GTK+ for the GUI and graphics generator like Inkscape for the icons. For the different server integration, I am planning to use use server specific cli, apis, libraries or scripts like “owncloudcmd” for ownCloud,  “RClone” that supports many cloud services like Google Drive, Amazon S3, Openstack Swift / Rackspace cloud files / Memset Memstore, Dropbox, Google Cloud Storage, Amazon Cloud Drive, Microsoft One Drive, Hubic, Backblaze B2, Yandex Disk, The local filesystem and tools like rsync for XSCE school-servers. I will also use polkit for permissions and symbolic links. If I finally use rclone for cloud sync, then I might learn and use go programming language (its written on) or use pexpect to run its cli.
 
    
 
    
   Line 172: Line 172:     
My strength lies in my dynamic learning and self motivated hard work. I am a 2nd year undergraduate of the Indian Institute of Technology, Kharagpur where I am actively involved with the tech community and contribute to 2 research groups ([http://quadrotor-iitkgp.github.io/ 1][http://www.agv.iitkgp.ac.in/ 2]), 2 tech societies([https://www.robotix.in/team/ 1]), projects under professors and have participated in many competitions and hackathons apart from keeping my academics up. In these two years of my stay, I have learnt a great deal about time management. <b>All the professional level work we do has made me to realize realistic timelines for myself and my team.</b> Though I failed initially, but I am getting better. My work has been mostly in software RnD and autonomous robotics and hence <b>I have gained lots of experience about the process and its time consumption involved in converting an idea to finished product.</b> So, I have learned to plan my work and execute it efficiently.
 
My strength lies in my dynamic learning and self motivated hard work. I am a 2nd year undergraduate of the Indian Institute of Technology, Kharagpur where I am actively involved with the tech community and contribute to 2 research groups ([http://quadrotor-iitkgp.github.io/ 1][http://www.agv.iitkgp.ac.in/ 2]), 2 tech societies([https://www.robotix.in/team/ 1]), projects under professors and have participated in many competitions and hackathons apart from keeping my academics up. In these two years of my stay, I have learnt a great deal about time management. <b>All the professional level work we do has made me to realize realistic timelines for myself and my team.</b> Though I failed initially, but I am getting better. My work has been mostly in software RnD and autonomous robotics and hence <b>I have gained lots of experience about the process and its time consumption involved in converting an idea to finished product.</b> So, I have learned to plan my work and execute it efficiently.
Another important fact is that <b>my college summer vacations lie in the period of 29th April to 24th July, during which I will be able to devote 100% of my work time as GSoc being my top priority</b> (8-9 hours a day and around 60 hours a week for 9 weeks) towards my contribution. Even though I my college semester will start from 25th July, I will still be able to devote 40 hours a week due to a light semester. I also have a head start on the project I would be working on as <b>I have been involved with the sugar code base since February 1st, added a new feature, fixed a bug and have made the prototype of two features ([https://github.com/ManashRaja/sugar/commit/e186d37182be8baf2feff0c6e3726a5e1b3753b6 1][https://github.com/ManashRaja/cloud-sync-demo 2]) I will develop in this project</b> apart from discussion about the project on IRC. Hence I am confident that I can ensure fully dedicated work and a pledge to deliver more than I promise.
+
Another important fact is that <b>my college summer vacations lie in the period of 29th April to 24th July, during which I will be able to devote 100% of my work time as GSoc being my top priority</b> (8-9 hours a day and around 60 hours a week for 9 weeks) towards my contribution. Even though my college semester will start from 25th July, I will still be able to devote 40 hours a week due to a light semester. I also have a head start on the project I would be working on as <b>I have been involved with the Sugar code base since February 1st, added a new feature, fixed a bug and have made the prototype of two features ([https://github.com/ManashRaja/sugar/commit/e186d37182be8baf2feff0c6e3726a5e1b3753b6 1][https://github.com/ManashRaja/cloud-sync-demo 2]) I will develop in this project</b> apart from discussion about the project on IRC. Hence I am confident that I can ensure fully dedicated work and a pledge to deliver more than I promise.
    
== '''You and the community''' ==
 
== '''You and the community''' ==
 
'''If your project is successfully completed, what will its impact be on the Sugar Labs 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 Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.'''
 
'''If your project is successfully completed, what will its impact be on the Sugar Labs 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 Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors.'''
   −
My project will mostly be used in the deployment side of sugar. I strongly believe that my project will add to the sweetness of Sugar to make it come closer to the people who deploy and the even sweeter kids who use it. Backup and restore is a very important feature for various other members of the community who might be testing, developing and integrating Sugar on multiple platforms.   
+
My project will mostly be used in the deployment side of Sugar. I strongly believe that my project will add to the sweetness of Sugar to make it come closer to the people who deploy and the even sweeter kids who use it. Backup and restore is a very important feature for various other members of the community who might be testing, developing and integrating Sugar on multiple platforms.   
    
'''What will you do if you get stuck on your project and your mentor isn't around?'''
 
'''What will you do if you get stuck on your project and your mentor isn't around?'''
   −
If I am stuck anywhere, then I will put my best efforts to solve the problem myself, trying Google search as always and other resources. But if help is required and my mentor is not available then I would refer to the community over developer mailing list, IRC, other GSoC participant if relevant or some specific member(s) whom I might know during the course of the project (eg: Quozl`and SAMdroid who have helped me before). If the problem is not Sugar specific, then I may even take help from my tech circle (Kharagpur Open Source Society) consisting of very smart people or professors if they are available during the vacation.
+
If I am stuck anywhere, then I will put my best efforts to solve the problem myself by trying Google search as always and referring other resources. But if in case help is required and my mentor is not available then I would refer to the community over developer mailing list, IRC, other GSoC participant if relevant or some specific member(s) whom I might know during the course of the project (eg: Quozl`and SAMdroid who have helped me before). If the problem is not Sugar specific, then I may even take help from my tech circle (Kharagpur Open Source Society) consisting of very smart people or professors if they are available during the vacation.
    
'''How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?'''
 
'''How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project?'''
Line 209: Line 209:  
*An investment into the future for a PC made by my parents at my 3rd grade gave me my best friend and teacher at my childhood. I believe, it is more about the enhancement of thinking process than in the ability to score higher marks in exams. Even though some people might be skeptical about the results of OLPC and Sugar provided the investment, but I believe in its long term effect as I have seen it.
 
*An investment into the future for a PC made by my parents at my 3rd grade gave me my best friend and teacher at my childhood. I believe, it is more about the enhancement of thinking process than in the ability to score higher marks in exams. Even though some people might be skeptical about the results of OLPC and Sugar provided the investment, but I believe in its long term effect as I have seen it.
 
*Then I was introduced to programming and the Internet by my school at 6th grade. The introduction made all the neurons light up in excitement for the ability to create my own real world applications.  
 
*Then I was introduced to programming and the Internet by my school at 6th grade. The introduction made all the neurons light up in excitement for the ability to create my own real world applications.  
*I was shown the path and I started sprinting on it myself. From the period of 7th grade to 10th grade, I learnt C++, C#, PHP, HTML, CSS, electronics and embedded programming to create many software and hardware applications and participated upto national level of competitions.
+
*I was shown the path and I started sprinting on it myself. From the period of 7th grade to 10th grade, I learnt C++, C#, PHP, HTML, CSS, electronics and embedded programming to create many software and hardware applications and participated in many competitions upto the national level.
       
''' Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?'''
 
''' Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?'''
   −
Yes, I would like to tell why I choose to contribute to Sugar. While looking at various organizations at the 2015 GSoC page, I shortlisted a few organizations based on my strongest skill set. I looked upon for the problem statement of each of the organizations that they were trying to achieve and there I came to know about Sugar. I felt attached to the community due to the following points:
+
Yes, I would like to tell why I chose to contribute to Sugar. While looking at various organizations at the 2015 GSoC page, I shortlisted a few organizations based on my strongest skill set. I looked upon for the problem statement of each of the organizations that they were trying to achieve and there I came to know about Sugar. I felt attached to the community due to the following points:
 
*I could relate the computer aided Sugar pedagogy with my own experience.
 
*I could relate the computer aided Sugar pedagogy with my own experience.
*I am a volunteer at “National Service Scheme” in my college and along with my unit, we provide community service at a nearby village. Hence I can visualize if not perfectly the effect of OLPC and Sugar would have in the children deep down there. We used to take out laptops to show them animated content, fascinate them with electronics and RC planes. They used to gather around us and we witnessed maximum attendance on the Saturdays we went there.
+
*I am a volunteer at “National Service Scheme” in my college and along with my unit, we provide community service at a nearby village. Hence I can visualize if not perfectly the effect of OLPC and Sugar would have in the children deep down there. We used to take our laptops to show them animated content, fascinate them with electronics and RC planes. They used to gather around us and we witnessed maximum attendance on the Saturdays we went there.
 
*I found the community members at IRC and developer mailing list very welcome and I feel excited about my first experience at an International selfless open source project.
 
*I found the community members at IRC and developer mailing list very welcome and I feel excited about my first experience at an International selfless open source project.
  
52

edits