Difference between revisions of "Summer of Code/2015/Abacus JS"

From Sugar Labs
Jump to navigation Jump to search
(Formatting Errors)
(Formatting Errors)
Line 9: Line 9:
 
''IRC Nickname: ''
 
''IRC Nickname: ''
  
First ''Language: ''Hindi (comfortable with English too.)
+
''First Language: ''Hindi (comfortable with English too.)
  
 
''Location & Time: ''India, UTC +5:30
 
''Location & Time: ''India, UTC +5:30
Line 18: Line 18:
 
'''About My Project:'''
 
'''About My Project:'''
  
Name: Abacus JS''Description:'' I am porting the current Abacus activity from python to JS, this is part of the larger push by Sugar Labs towards JS (most GSoC projects are JS ports). Although I do plan to add some new features, the biggest benefit for users would be speed as JS is usually 6-6.5 times faster than Python. In this project I would be using standard web technologies (HTML, CSS, JS)
+
''Name:'' Abacus JS
 +
 
 +
''Description:'' I am porting the current Abacus activity from python to JS, this is part of the larger push by Sugar Labs towards JS (most GSoC projects are JS ports). Although I do plan to add some new features, the biggest benefit for users would be speed as JS is usually 6-6.5 times faster than Python. In this project I would be using standard web technologies (HTML, CSS, JS)
  
 
''Timeline:'' I have a little more than 8 weeks of coding time and eleven abacai to code. A lot of these abacai are similar to each other so I plan to divide them into groups where a lot of code can be reused and then start from the easiest group. This will help learn as I progress and also save me time.
 
''Timeline:'' I have a little more than 8 weeks of coding time and eleven abacai to code. A lot of these abacai are similar to each other so I plan to divide them into groups where a lot of code can be reused and then start from the easiest group. This will help learn as I progress and also save me time.
Line 48: Line 50:
 
''What if I get Stuck and my mentor isn't around ?''
 
''What if I get Stuck and my mentor isn't around ?''
  
''''I have learned most of the programing I know from the internet and books and therefore rarely had a mentor to help me. Over this time I have learned how to find solutions to my problems on Google and Stack Overflow but if they fail too then I would try to seek help from community using IRC or mailing lists.
+
I have learned most of the programing I know from the internet and books and therefore rarely had a mentor to help me. Over this time I have learned how to find solutions to my problems on Google and Stack Overflow but if they fail too then I would try to seek help from community using IRC or mailing lists.
  
 
''How Do I plan to keep the community informed about my problems and progress ?''
 
''How Do I plan to keep the community informed about my problems and progress ?''
  
''''I will use the aforementioned wiki-page/blog to share my problems and progress.
+
I will use the aforementioned wiki-page/blog to share my problems and progress.
  
 
'''Miscellaneous:'''
 
'''Miscellaneous:'''
Line 61: Line 63:
  
 
''A Great Learning Experience:''
 
''A Great Learning Experience:''
 +
 
When I was in 3rd standard I would tear open my old electric toys and create small circuits with lights nad motors in them. One day I realized that if I connect a wire and LED bulb in parallel the bulb no longer glows. I asked my father about this and he told me that current always flows from the path of least resistance. At that time I wondered how does current know which is the path of least resistance beforehand, how can it predict the future ?
 
When I was in 3rd standard I would tear open my old electric toys and create small circuits with lights nad motors in them. One day I realized that if I connect a wire and LED bulb in parallel the bulb no longer glows. I asked my father about this and he told me that current always flows from the path of least resistance. At that time I wondered how does current know which is the path of least resistance beforehand, how can it predict the future ?
 
Few years later, in 10th standard, we were taught about electricity and our book contained a beautiful analogy comparing flow of current in wires to the flow of water in pipes where more resistance meant thinner pipes. That day I learned the importance of thinking out of the box and looking at problems from different point of views.
 
Few years later, in 10th standard, we were taught about electricity and our book contained a beautiful analogy comparing flow of current in wires to the flow of water in pipes where more resistance meant thinner pipes. That day I learned the importance of thinking out of the box and looking at problems from different point of views.
  
 
''Anything Else:''When I was in primary school we were given the summer-holiday homework to create an Abacus almost every other year. Sadly, we were never taught how to use an abacus. This summer I get to make many Abacai and have learned to use (most of) them too.
 
''Anything Else:''When I was in primary school we were given the summer-holiday homework to create an Abacus almost every other year. Sadly, we were never taught how to use an abacus. This summer I get to make many Abacai and have learned to use (most of) them too.

Revision as of 12:27, 27 March 2015

About Me:

Name: Neha Maan

Email Address: nehaforgsoc@gmail.com

Sugar Labs Wiki Username: Nehamaan

IRC Nickname:

First Language: Hindi (comfortable with English too.)

Location & Time: India, UTC +5:30 Work Time: 11:00AM - 5:00PM

Previous Open Source Participation: None. I want to work on an open source project this summer as I enjoy programming but what I enjoy more is lots of people using and benefiting from my programs and I find this the easy and efficient way reach lots of people. Apart from the joy I will gain experience and will be able to give something back to the Open Source Community that has given me (and everyone else) so much.

About My Project:

Name: Abacus JS

Description: I am porting the current Abacus activity from python to JS, this is part of the larger push by Sugar Labs towards JS (most GSoC projects are JS ports). Although I do plan to add some new features, the biggest benefit for users would be speed as JS is usually 6-6.5 times faster than Python. In this project I would be using standard web technologies (HTML, CSS, JS)

Timeline: I have a little more than 8 weeks of coding time and eleven abacai to code. A lot of these abacai are similar to each other so I plan to divide them into groups where a lot of code can be reused and then start from the easiest group. This will help learn as I progress and also save me time.

-Week 1: In this week I plan to finish the Binary and Decimal Abaci in this time as I -get comfortable with Sugar OS and its workings.

-Week 2: In this week I would like to complete my work on the suanpan soropan and -nepohualtzintzin abacai as they are almost identical to each other and most of the -code can be shared between them.

-Week 3: I will work on the schety abacus and try to complete the more difficult -fractions (+ only) abacai.

-Week 4: I will complete the fraction (+/-) abacai and start working on the last and -most weird 'Cuisenaire-style rods'.

`-~- Mid-Term Evaluation-~-`

-Week 5: Custom Abacai Creator

-Week 6: Reserved for Bug Testing and Fixing.

-Week 7&8 : I leave these weeks as buffer in case something gets delayed.

Past Work: I have created many small sites as a hobby and once created an app with PhoneGap for learning purposes. I have created a game with Unity3D(uses JS) too. Infact to see how difficult creating a abacus would be, I tried my hand at the Binary Abacus and will upload the file and update with a link soon.

Me and the Community:

Effect on Community: I am familiar with web technologies but not with the Sugar OS, the problems I will face will be faced by a lot of future web developers developing for Sugar too, So I plan to create a Blog/Wiki-page where I would post my problems and their solutions. This ,I believe, will help in attracting more developers and expanding the community.

Paragraph 2&3: Pending. I am writing this proposal at the last moment and do not have time to exchange emails, I will get opinions from other people and update this entry as soon as possible.

What if I get Stuck and my mentor isn't around ?

I have learned most of the programing I know from the internet and books and therefore rarely had a mentor to help me. Over this time I have learned how to find solutions to my problems on Google and Stack Overflow but if they fail too then I would try to seek help from community using IRC or mailing lists.

How Do I plan to keep the community informed about my problems and progress ?

I will use the aforementioned wiki-page/blog to share my problems and progress.

Miscellaneous:

Development Environment: I am currently downloading sugar and would update with scren-shots soon.

Pull-Request: Pending, would update asap.

A Great Learning Experience:

When I was in 3rd standard I would tear open my old electric toys and create small circuits with lights nad motors in them. One day I realized that if I connect a wire and LED bulb in parallel the bulb no longer glows. I asked my father about this and he told me that current always flows from the path of least resistance. At that time I wondered how does current know which is the path of least resistance beforehand, how can it predict the future ? Few years later, in 10th standard, we were taught about electricity and our book contained a beautiful analogy comparing flow of current in wires to the flow of water in pipes where more resistance meant thinner pipes. That day I learned the importance of thinking out of the box and looking at problems from different point of views.

Anything Else:When I was in primary school we were given the summer-holiday homework to create an Abacus almost every other year. Sadly, we were never taught how to use an abacus. This summer I get to make many Abacai and have learned to use (most of) them too.