Name Kashyap R Puranik
Nick kashthealien / kashyap on IRC channels and forums
Email: kashthealien (at) gmail (dot) com
Project: Kalzium Beautification.
Kalzium is a periodic table of elements software, which has a database of all elements. It is a widely used education tool. It has tools like the 3-D molecule viewer, plotting widget, equation balancer, molecular mass calculator, etc.
I plan to work on Kalzium beautification, this project is essential because, some parts of Kalzium have been written in HTML, and HTML tabs have been inserted in Qt widgets with a style sheet. The code in most files look lengthy and unnecessary. This can be replaced with QWidgets which will look much better. The code would then be a lot cleaner, easier to understand and maintain for developers.
Other than that, Kalzium can really use cool plasmoid widgets. The QWidgets that will be written by replacing HTML can be reused in them. Many existing widgets / dialogs in Kalzium could be made more beautiful using plasma. Some plasmoids like the ‘did you know’ plasmoid that have already been started (but incomplete) will be completed. I plan to create the ‘Multiple choice questions’ plasmoid too. These plasmoids can be used in Avagadro as well.
The following are the tasks that will be done
* Conversion of HTML elements to the Qt model view.
* Beautification of the main table using Qt and SVGs.
I will work inside avagadro on the above mentioned code and after the completion and then port it over in Kalzium.
Cleaning up the following classes by replacing the HTML-code with QWidgets and SVG-graphics:
Detailed Info Widget
* Beautification of the nuclideBoard widget and fixing of bugs in it.
* Simplified version of Kalzium where the user can choose the view from minimalistic to detailed. This can be used in schools.
This will result in an easier menu structure, also less information in the info dialog.
This can be done using configurations and settings which are easy to handle. This can be triggered on first use.
* Documentation: Code comments will be added to all files. This is not present in all files.
(Code comments and API documentation for reuse and maintenance).
* An independent plasmoid widget for Kalzium, which shows the periodic table and the detailed info widget only.
* Completion of the ‘Did you know’ plasmoid.
* Completion of the ‘Multiple Choice Question’ plasmoid.
Stage 0: (Before May 5th)
Learning advanced Qt. I know the basics of Qt and how most of Kalzium has been written.
Going through the Kalzium + some of Avagadro source code completely to know what else needs improvement.
Stage 1: (Before May 5th)
Learning about plasma and plasmoid widgets. Making sample plasmoid widgets and testing them.
**** I will start the coding after this stage.
Stage 2: ( 1 week )
Making the main table scalable. Using the code from the URL mentioned above, completing it and porting in Kalzium.
Stage 3: ( 3 week )
Cleaning up the detailed Info widget and using Qt Model/View to recreate it.
Beautification of the nuclideBoard widget.
Elimination of HTML from somwidget and timeWidget.
**** At this point the HTML content usage will be removed.
Stage 4: (2.5 weeks )
Making a simplified version of Kalzium. Having an option to choose the detail.
Simplified menus / tables.
Stage 5: ( 1 week )
Completion of the ‘Did you know’ plasmoid.
Stage 6: ( 1 weeks )
Creation of the ‘Multiple choice questions’ plasmoid.
**** At this stage the plasmoids will be complete
Stage 7: (2.5 weeks )
Cleaning up of code.
Completion of documentation. ( As mentioned above )
Fixing of bugs
Beautification of the plasmoids.
**** Project duration 11 weeks.
Stage 8: If time permits
Plasmoid widget for Kalzium. (The main table + detailed Info Widget) [ 1.5 weeks ]
Note: some of the plasmoids, code have already been started but are incomplete.
I will have buffer time of 2 weeks so that, I can use more time where I need.
Also I plan to start early (May 5th) before the announced date (May 26th). Since I already have a KDE SVN account, I can start adding code early. I have 3 months- May, June and July totally free so I can spend a lot of time on the project.
My name is Kashyap R Puranik. I am 18 years old. I am pursuing my undergraduate degree, that is, B.Tech in the Department of Computer Science and Engineering at Indian Institute of Technology-Madras, Chennai, India. I am currently in the second year of college. I am a native of Bangalore, India. My nick is kashthealien on the IRC. I have been playing around with Kalzium for about a year. I checked out the code of Kalzium in October and started contributing for Kalzium in December. I have contributed a few patches that fixed bugs, and I have started working on some of the ideas in the TODO file. I have added a small feature using which the plot widget can selectively plot different types of elements. Also I have contributed for the Wikipedia integration of Kalzium.
I love open source software and I have used a lot of open source software for programming, web-design and other activities. I feel its my turn to stop being a free-rider and offer my contributions to the open-source world on a larger scale. I believe GSoC is the an excellent opportunity where I can do the same. I have cleared the JEE (an entrance exam) 2 years ago, where I studied a lot of chemistry. I really wanted to create a chemistry based software for calculating stuff, naming compounds based on conventions (IUPAC), etc. I did not have much knowledge of professional coding and software then. I later came across Kalzium, which does most of what I wanted. It could have been of great use to me when I was learning as a chemistry (science) student. This has brought me to Kalzium.
Contributions to Kalzium
Bug-fix -Patch for element data viewer. A bug that plots unknown values as known. http://bugs.kde.org/show_bug.cgi?id=120150
SVN commit 899243 by Cneihaus
A bug that allows negative range of elements for plotting. Bug-fix -Patch for element dataviewer
SVN commit 899885 by Cneihaus
A bug that shows no-units instead of years. Bug-fix -Patch for element parser
SVN commit 910780 by Asimha
Feature – patch for the wikipedia integration for Kalzium.
SVN commit 936674 by Cneihaus
Feature -Patch for element dataViewer. The user can select the type of elements that he wants to add.
SVN commit 936674 by Cneihaus
Feature -Patch for settings for the detailedInfoDialog. The user can select the language of their choice for wikipedia to open in.
SVN commit 941750, 941939, 941981 by kashyappuranik
Bug-fix SVN commit for elementDataViewer. Fixes a minor bug that shows elements that don’t belong to the range.
SVN commit 941944 by kashyappuranik
BUG-fix / feature SVN commit for nuclideboard , nuclideboardView, isotopeDialog.
Fixed a few bugs and added slider for zooming in nuclideboard.
I have been involved in coding for my institute’s websites which includes the website for our cultural festival, Saarang (www.saarang.org). I have been programming in C and C++ for the past 5 years. I have been learning Qt for usage in Kalzium for the last 2 months.