Summer of Code/2014/Port to Python3

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

I am located in India (UTC + 5:30) and usually tend to work in the afternoon (2PM-6PM) and at night (9PM-2AM). And it can be easily altered or extended according to need.

  • 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 with open source from about a year and have following experiences and a current project.

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 same pronunciations. I was the privileged member of the team who 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 space in it. Here is the testing link.

2. 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, Java Script.

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 and talk to the mentors about whole structure to be followed, get more familiar with the project.
6th May - 20th May Get initial testing done on examples regarding porting of GTK2->GTK3 and Python2.7->Python3
1 20th May - 27th May GTK2->GTK3 porting
2 28th May - 3rd June
3 3rd June - 10th June
4 10th June - 17th June Test the work 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
8 8th July - 15th July
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
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 the first time but I know about summer internships and being a student I know how to manage my deadlines. I have a good experience of working in team. 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 must too.

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.


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

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

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 experience in logo-designing and here is one I made as a part of freelance project for web development agency- Agaaz. The basic need was to describe the name "Eye Groom" while giving it a look for opticals.


[[Category:2014 GSoC applications]]