Difference between revisions of "Summer of Code/2014/Port to Python3"

From Sugar Labs
Jump to navigation Jump to search
Line 15: Line 15:
 
My location is: UTC + 5:30 i.e. Indian Time zone) and I usually tend to work in the afternoon (2PM-6PM) and at night (9PM-2AM) as per IST, it can be easily altered or extended to meet the desired goals.
 
My location is: UTC + 5:30 i.e. Indian Time zone) and I usually tend to work in the afternoon (2PM-6PM) and at night (9PM-2AM) as per IST, it can be easily altered or extended to meet the desired goals.
 
* Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?
 
* Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?
Yes, I'm working for open source community from about a year and have various past experiences with python, django, c++, HTML, CSS, JS and Open Street Maps. Some of them are listed below along with one in it's initial stage:
+
Yes, I'm working for open source community from about a year and have various past experiences with Python, Django, C++, HTML, CSS, JS and Open Street Maps. Some of them are listed below along with one in it's initial stage:
  
 
'''1. Phonetic Search in python:'''
 
'''1. Phonetic Search in python:'''
Testing and Consultancy Cell is government affiliated testing firm where testing of water, cement, land surveys etc. are carried out. Everyday a number of clients are attended using Office Automation Software. And their was a problem to search the clients from a big list when someone misspelt the name like "Kamaljit" instead of "Kamaljeet" because the user can enter any spellings for simmilar pronunciations. I was a privileged member of the team which implemented phonetic search in the automation software using python and django. The biggest problem that I faced was to implement it for a name having whitespace in it. [http://202.164.53.122/automation/tcc/list_search/ Here] is the testing link.  
+
Testing and Consultancy Cell is government affiliated testing firm where testing of water, cement, land surveys etc. are carried out. Everyday a number of clients are attended using Office Automation Software. And their was a problem to search the clients from a big list when someone misspelt the name like "Kamaljit" instead of "Kamaljeet" because the user can enter any spellings for simmilar pronunciations. I was a privileged member of the team which implemented phonetic search in the automation software using Python and Django. The biggest problem that I faced was to implement it for a name having whitespace in it. [http://202.164.53.122/automation/tcc/list_search/ Here] is the testing link.  
  
 
'''2. Blogging application:'''
 
'''2. Blogging application:'''
Line 30: Line 30:
 
   
 
   
 
Besides these functionalities, a teacher of the month will also be selected and that name will be displayed on homepage of each student, teacher and head.
 
Besides these functionalities, a teacher of the month will also be selected and that name will be displayed on homepage of each student, teacher and head.
We are team of four working on this software. Technologies we are using include Django 1.5, HTML, CSS, LESS, Java Script.
+
We are team of four working on this software. Technologies we are using include Django 1.5, HTML, CSS, LESS, JavaScript.
  
 
===About your project===
 
===About your project===

Revision as of 17:36, 20 March 2014

About You

  • What is your name?

Kamaljeet Kaur

  • What is your email address?

kamal.kaur188@gmail.com

  • What is your Sugar Labs wiki username?

KamalKaur

  • What is your IRC nickname on irc.freenode.net?

Kamal___, Kamaljeet_ (Includes kamal somehow)

  • What is your first language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)

English

  • Where are you located, and what hours (UTC) do you tend to work? (We also try to match mentors by general time zone if possible.)

My location is: UTC + 5:30 i.e. Indian Time zone) and I usually tend to work in the afternoon (2PM-6PM) and at night (9PM-2AM) as per IST, it can be easily altered or extended to meet the desired goals.

  • Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?

Yes, I'm working for open source community from about a year and have various past experiences with Python, Django, C++, HTML, CSS, JS and Open Street Maps. Some of them are listed below along with one in it's initial stage:

1. Phonetic Search in python: Testing and Consultancy Cell is government affiliated testing firm where testing of water, cement, land surveys etc. are carried out. Everyday a number of clients are attended using Office Automation Software. And their was a problem to search the clients from a big list when someone misspelt the name like "Kamaljit" instead of "Kamaljeet" because the user can enter any spellings for simmilar pronunciations. I was a privileged member of the team which implemented phonetic search in the automation software using Python and Django. The biggest problem that I faced was to implement it for a name having whitespace in it. Here is the testing link.

2. Blogging application: Blogging is quite a trend from a few years ago. There are many sites that provide facility to create our own blogs and easily customize them. Similar is the application I started for learning sake, which is currently a basic application in which one can publish posts and see the content at one page with post titles. I made it just for my own experience and familiarity with the technologies. Perhaps that time I didn't use git properly because of being new to it. You can check it here.

3. Teacher Feedback System: As the name suggest, aim of this software is to provide a functionality so that students can provide feedback to their teachers. This software is not only about giving feedback to teachers, it is divided into three modules. These are:

Student : Students can give feedback, comments and see comments of other students and rate those comments.
Teacher : Teachers can see feedback that a student gave, most rated comment will be visible on homepage and a performance graph will be generated.
Heads : Heads can see performance graph of various teachers.

Besides these functionalities, a teacher of the month will also be selected and that name will be displayed on homepage of each student, teacher and head. We are team of four working on this software. Technologies we are using include Django 1.5, HTML, CSS, LESS, JavaScript.

About your project

  • What is the name of your project?

Port to Python3

  • 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?

Porting to python3, as is clear from the name, Sugar is currently using Python version 2.7 and there are many reasons to port Sugar to Python 3, not the least being its support for internationalization (unicode) is greatly improved over Python 2 (Very important as there are users in >100 languages). The process will start from basic part, working with GTK3 as Sugar and the activities are using it. After making use of GTK3 instead of GTK2, I'll move towards porting Sugar core to Python3. After working with core developer team to decide the strategy: writing Python 2/3 compatible source or a pure port, the remainder of the work will be to do the port itself. Then I'll be developing a robust test suite for it. The last steps will be to Port an activity to Python3 and document the whole process. I'm doing it for Sugar-bulid project. As it is being used by a number of students, teachers and developers it is always advised to provide them with the latest features and don't stop the developers to use latest versions. Although it has been officially declared that Python 2.7 will be the last version of Python 2 and will receive bug-fixes for many years to come. But as the project is not in panic, it's the right time to port. I'll be using Python, GTK3, github etc.

  • What is the timeline for development of your project? The Summer of Code work period is from May 19 - August 22; 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 (27 June); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
Week Dates Milestones
Pre - 5th May Explore about sugar code/GTK and talk to the mentors about whole structure to be followed, get more familiar with the project.
6th May - 20th May Planning the strategies and get initial testing done on examples regarding porting of GTK2->GTK3 and Python 2.7->Python 3
1 20th May - 27th May Start GTK2->GTK3 porting
2 28th May - 3rd June Continue the work
3 3rd June - 10th June Show a demonstration
4 10th June - 17th June Test and make sure things are stable after using GTK3
5 17th June - 24th June Work with sugar core and port it to Python3
6 24th June - 1st July Prepare for Mid Term evaluation
7 1st July - 8th July Continue porting different modules
8 8th July - 15th July Refining
9 15th July - 22nd July Port an activity to Python3
10 22nd July - 29th July Document the process of porting activities for developers
11 29th July - 5th August Make robust test suits for activities
12 5th August - 12th August Check the accuracy and continue improving
13 12th August - 19th August Clean the code and remove bugs
14 19th August - 26th August Prepare and submit code to google


  • 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.

As I have understood the work flow of project, I know what steps to follow and where to reach. Although I am coming here for the first time but I know about summer internships and being a student, I can handle to manage my deadlines. I have a good experience of working in a team moreover I am self motivated, very determined to use the best of my ability and to learn more. Regarding skills set mentioned there, I think I have a fair amount of python knowledge to take this project forward. I have introduced myself to GTK3 which is a must too. Well, I personally feel that I can do it.

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.

Kamaljeet Kaur: It's going to be an important project. Porting to a newer version is beneficial in long-term as the whole working will be enhanced with new features. It's the right time to make the required changes and because there are many developers who are contributing, sugar will not restrict them to use only previous versions of technologies.

There are several reasons why this project is important to Sugar Labs: (1) we need to keep pace with the projects we depend upon upstream -- Python 3 is being to become de rigour -- and (2) Python 3 has much better support for i18n and unicode -- critical to the global nature of our project. --Walter (talk) 13:38, 20 March 2014 (EDT)

  • What will you do if you get stuck on your project and your mentor isn't around?

Getting stuck means I have already put my efforts to solve some problem. Yes, the mentors are there to guide us, but in such a case, rather than keep waiting, without hesitating, I'll ask out the problem on IRC, mailing list of this sweet community. And if it's a technical problem, can be put on some other relevant places to get out of there.

  • 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?

The first strategy will be regular mails and interaction on IRC regarding questions and the progress both. The second will be use of git which will keep the community informed. Thirdly everything will be there on my blog regularly as I already have such an experience.

Miscellaneous

  • We want to make sure that you can set up a development environment before the summer starts. Please do one of the following:
    • Send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "logout".
Screenshot from 2014-03-19 16-07-52.png
    • Send us a link to a pull request or merge request you have made on a Sugar or Sugar activity bug.
It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.

Will look this side after knowing the code more, although I have not sent any pull request link yet.

  • Describe a great learning experience you had as a child.

There are many but a great learning experience is from my 5th standard, when I didn't have a PC. I never left a chance to use paint on my cousin's system. I used to open already saved files and look into details. Learning from there, I taught my friends in school. It was probably the time when they started coming to get some piece of art/drawing on their notebooks and I loved making it for them. I believe this is the reason for what I'm today.

  • 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?
IMG-20140319-WA0000.jpg

I would like to tell that firstly it was the name "Sugar-Labs" that grabbed my attention and secondly the teams page. And I couldn't stop myself to look inside. Yes, it was the first community I opened and the first love that didn't let me search for any other organisation. I also have a past experience in logo-designing and here is one of the logo that I designed for a recent project for web development agency- Agaaz. The basic idea was to describe the name "Eye Groom" while portraying the idea opticals.


[[Category:2014 GSoC applications]]