<br><p style="margin-bottom: 0cm;"> Hi all<br></p><div class="im">
<p style="margin-bottom: 0cm;">i want to be a part of open source
development ,and it will be good to start with Google SoC.(as i will
get a mentor :)  :)   ).here is my proposal for the same .i would
request respected developers to please give a look at my proposal and
make me aware of my flaws (hope there are not too many of
them).please suggest the changes i should do in it to make it better.</p><p style="margin-bottom: 0cm;">please ignore randomness in bold characters.i tried to put them correct,but alas..actually i typed it all in openoffice word.</p>

</div>Thanks in advance.<br><br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Apekshit Sharma</b> <span dir="ltr">&lt;<a href="mailto:apeksharma@gmail.com">apeksharma@gmail.com</a>&gt;</span><br>
Date: Sun, Mar 29, 2009 at 3:14 AM<br>Subject: GSoC - proposal<br>To: <a href="mailto:kde-devel@kde.org">kde-devel@kde.org</a><br><br><br>


        
        
        
        

<p style="margin-bottom: 0cm;"> Hi all and Carsten Niehaus</p>
<p style="margin-bottom: 0cm;">i want to be a part of open source
development ,and it will be good to start with Google SoC.(as i will
get a mentor :)  :)   ).here is my proposal for the same .i would
request respected developers to please give a look at my proposal and
make me aware of my flaws (hope there are not too many of
them).please suggest the changes i should do in it to make it better.</p><p style="margin-bottom: 0cm;">please ignore randomness in bold characters.i tried to put them correct,but alas..actually i typed it all in openoffice word.</p>

<p style="margin-bottom: 0cm;">for Carsten Niehaus:can you please give me your email id for future contacts.<br></p>
<p style="margin-bottom: 0cm;">Thanks in advance.<br><br>
</p>
<p style="margin-bottom: 0cm;">                                        PROPOSAL</p>
<p style="margin-bottom: 0cm;"><br>
</p>
<p style="margin-bottom: 0cm;"><br>
</p>
<p><b>Name:</b><b><span>Apekshit
Sharma</span></b></p>
<p> </p>
<p><b>Email Address:</b><b><span><a href="mailto:apeksharma@gmail.com" target="_blank">apeksharma@gmail.com</a></span></b></p>
<p> </p>
<p><b>Freenode IRC Nick:</b><b><span>apeksharma</span></b></p>
<p> </p>
<p><b>Location (City, Country and/or Time Zone):</b><b><span>Jaipur,
rajasthan , INDIA.  .+5:30 hours  (i do my programming job in night
mostly )</span></b></p>
<p> </p>
<p><br><br>
</p>
<p><b>Proposal Name:</b><b><span>I
have decided to put my efforts in development of  Kalzium.I searched
through a number of KDEEDU project  but i choose kalzium. My choice
has three reasons behind it which have mentioned in motivation
section.</span></b></p>
<p><b><span>Here is my experience of
last two days :</span></b></p>
<p><b>“<i><span>In past two days,
i have tried out kalzium a number of times and had gone through a
part of source code.During this , i came up with lots of interesting
ideas which i think if are implemented in it, will not only add a lot
of new features to it but will also increase its scope in the sense
that it will surve to larger no of  people.”</span></i></b></p>
<p><br><br>
</p>
<p><b><span style="font-style: normal;"><span>So
here are my ideas,(and which i wish kalzium should have).I have also
assigned priority to the tasks as </span></span></b><b><span style="font-style: normal;">major
</span></b><b><span style="font-style: normal;"><span>or
</span></span></b><b><span style="font-style: normal;">minor.
</span></b><b><span style="font-style: normal;"><span>This
proiority is based on my judgement (what i feel) of increment, a
particular task will bring to kalzium as a whole:</span></span></b></p>
<p><b><span style="font-style: normal;"><span>1)(</span></span></b><b><span style="font-style: normal;">major)</span></b><b><span style="font-style: normal;"><span>Drawback:Currently
in chemical equation solver,  only those ionic equations can be
solved in which all of the RHS and LHS ions are given and that also
when coffecients of sufficient no(depends on eqn)</span></span></b></p>
<p>of ions are given .This limits the use of this feature to a large
extent as in high schools ,there are a no of ionic eqn&#39;s to be solved
in which only the medium is given(acidic or basic) and ions(H+ and
OH- ) change accordingly.This was only an example which limits ionic
equation solver from its full capacity.  
</p>
<p><br><br>
</p>
<p>Addition:I will implement a seperate solver for ionic equations
which will incorporate the above feature of a) selecting a medium of
reaction and b)just writing the ions of LHS and RHS it will solve the
eqaution without need of any cofficients (as it currently does).</p>
<p><br><br>
</p>
<p>2)(major)Right now in kalzium ,user can only calculate only
molecular mass of a compound and the tab for the same is not so
appealing.I would like to add to it features like 
</p>
<p>a)given amount of substance(weight),calculate moles</p>
<p>b)given weight of substance added and volume of
solution/solvent,calculate molarity/molality.</p>
<p>c)calculate density ,strengths of solutions given weight of
compound and volume of solvent and vice-versa.</p>
<p>d)giving results on mixture of two solutions.</p>
<p><span>And </span> many other such
small things which would provide kalzium with wider range of
functions and serve more diverse problems of users. <br><br><br>3)(major)I
would also like to add a feature which i&#39;d like to call “compound
finder”, and will do the fllowing:</p>
<p>once clicking on this feature ,the user when clicks on an element
,it will show all the compounds of that element .On subsquint
selection of elements,it will keep on filtering compounds common to
all selected elements before and the new one.Also i will provide
additional filters like , setting min  or/and max no. of atoms of
each <a href="http://element.in" target="_blank">element.in</a> the compound,giving max or/and min molecular mass, or
like comp. should belong to a certain family (like
alcohols,aldehydes,proteins,etc) .etc 
</p>
<p>It will be a lot useful as it will provide functionality of 
finding compounds by filters.</p>
<p>4)(minor)Current timeline tab is very premitive and not
very charming.I would like to make major modifications to it like
using openGL to build an more interective subwindow which will show
periodic table building from scratch and showing time progressing.</p>
<p>Also i can add a feature , of selecting two years and showing
elements discovered between these two years.  
</p>
<p><br><br>
</p>
<p><br><br>
</p>
<p><b>Motivation for Proposal / Goal:</b><b><span>As
mentioned before, I had three major motivations behind taking up this
project which are:</span></b></p>
<ol><li><p><b><span>am very keen of
        learning new things and i am at a stage ,at which ,i think i should
        try out different things and choose which is best suited for me.And
        open source programming is a vast feild and seem to be very
        intersting to me, i am inclined towards giving it a shot.Who knows,
        this might be a start to long journey ahead.</span></b></p>
        </li><li><p><b><span>I am India National
        Chemistry Olympiad Gold Medalitst (only 35 all over india got it  :)
        ).So , i have clear understanding of all the concepts i intend to
        implement .So like any other contender ,i won&#39;t have to devote any
        extra time in understanding those concepts (Instead i will use it
        learn open GL andQt )</span></b></p>
        </li><li><p><b><span>I made a program in
        C in my 10</span></b><b><sup><span>th</span></sup></b><b><span>
        class which implemented the 2</span></b><b><sup><span>nd</span></sup></b><b><span>
        proposal above to a large extent.And so i am pretty confident that
        “</span></b><b><i>i will do it”.</i></b></p>
        
</li></ol>
<p><br><br>
</p>
<p><b>Implementation Details:</b></p>
<p><b><span>Proposal 1:I will be
using the already built parser to fetch the data,and then use it in
my algo.</span></b></p>
<p><b><span>        It wouldn&#39;t be a tough
nut to crack designing the algo, as i already know how are the things
        done in paper, and with my programming exp. (6 years is enough right
now i guess :) ), i         know it could be done with no pain.</span></b></p>
<p><b><span>Proposal 2:Its the same
as above.Designing the better algo (as i have already mentioned, i
did a part of it in my 10</span></b><b><sup><span>th</span></sup></b><b><span>
project ie 3 years before) and then coding it into c++.</span></b></p>
<p><b><span>proposal 3:It will
require some more knowledge – Qt , which i plan to acquire in
advance before 23</span></b><b><sup><span>rd</span></sup></b><b><span>
may.Also it will need designing a new format of storing data (which
maps necessary data with the compound and organizes data in an
efficient manner of which i have a crude picture in mind). What will
be a challenge is,how much efficient can i make it ,as it will be
dealing with database of lakhs of compound  (and evergrowing
database).</span></b></p>
<p><b><span>Proposal 4: For its
implementation ,i will be learning OpenGl during the same time as
Qt.Although i know i bit of opengl (to be strict ,i saw a part of
opengl programming for this project and it was  really easy
understanding it),and i am very much confident that it can be done
easily.</span></b></p>
<p><br><br>
</p>
<p><br><br>
</p>
<p><b>Tentative Timeline:</b><b><span>My
semester exams will be over by 21</span></b><b><sup><span>st</span></sup></b><b><span>
april ,so my GSoC project will start from 22</span></b><b><sup><span>nd</span></sup></b><b><span>
april  </span></b>
</p>
<p><b><span>22</span></b><b><sup><span>nd</span></sup></b><b><span>
april-23</span></b><b><sup><span>rd</span></sup></b><b><span>
may (official start) – learning OpenGl,Qt and Open source
programming style.</span></b></p>
<p><b><span>Now when the SoC starts
officially:</span></b></p>
<p><b><span>90 days left....</span></b></p>
<p><b><span>15 days –
implementation of the (better) ionic equation solver.(1</span></b><b><sup><span>st</span></sup></b><b><span>
proposal)</span></b></p>
<p><b><span>75 days left....</span></b></p>
<p><b><span>10 days –
implementation of additional aspects to molecular mass calculator
(2</span></b><b><sup><span>nd</span></sup></b><b><span>
proposal)</span></b></p>
<p><b><span>65 days left ....</span></b></p>
<p><b><span>20 days –
implementation of “compound finder” (3</span></b><b><sup><span>rd</span></sup></b><b><span>
proposal). (i have planned it late because i feel it to be really a
major feature and thus will need more experience which i will gain
from 25 days of working)</span></b></p>
<p><b><span>45 days left...</span></b></p>
<p><b><span>5 days –
implementation of timeline.(4</span></b><b><sup><span>th</span></sup></b><b><span>
proposal)</span></b></p>
<p><b><span>40 days left...</span></b></p>
<p><b><span>next 5-10 days –
reviewing things</span></b></p>
<p><b><span>and the remaining time i
plan to discuss as many things as i can, with my mentor, which can be
implemented to make kalzium better.I&#39;ll try to add maybe 1, or 2 
more things to kalzium which will be like “compound finder”.</span></b></p>
<p><b><span>I intend to work for
about 8 hours daily (as i am completely free during my summers owing
to no pre-engagements).This (7x 8) hours/week would certainly include
posting my weekly achievements on to kde development list and
discussing with mentor about what better can i do. </span></b>
</p>
<p><br><br>
</p>
<p><br><br>
</p>
<p><b>Do you have other obligations from late May to early
August (school, work, etc.)?</b>:I have no obligations during my
summers, nor have i set any large goals .So i feel it will be only
GsoC and me during summer.Infact , I will be free by 21<sup>st</sup>
april as my semster ends the same day. So , I will be having a good
32 days in hand before the start of GsoC (it think it will only be
formal to say that it starts on   23<sup>rd</sup> May,infact
programming will start well before it) to learn OpenGL and KDE coding
style . 
</p>
<p> </p>
<p style="text-align: left;"><b>About Me (let us know who you are!):</b></p><div>
</div><p style="text-align: left;">


        
        
        
        

</p><p><b><span>I am Apekshit Sharma.I
am currently pursuing for my B.Tech degree and am a  first year
student in Computer Science and Engineering Dept.at Indian Institute
of Technology,Bombay(IIT,Bombay).(<a href="http://www.iitb.ac.in" target="_blank">www.iitb.ac.in</a>).</span></b></p>
<p><b><span>I have been doing
programming for 6 years.</span></b></p>
<p><b><span>I started my programming
in C,</span></b></p>
<p><b><span>Currently i know-
C,C++,Scheme and PHP.</span></b></p>
<p></p>
<p><br><br>
</p>
<p style="margin-bottom: 0cm;"><br>
</p>
<p style="margin-bottom: 0cm;"><br>
</p>
<p style="margin-bottom: 0cm;"><br>
</p>
<p style="margin-bottom: 0cm;"><br>
</p>
<p style="margin-bottom: 0cm;"><font color="#888888">                                        </font></p>
</div><br>