User:Nvs-abhilash: Difference between revisions

Jump to navigation Jump to search
1,826 bytes added ,  7 April 2017
m
no edit summary
mNo edit summary
 
(11 intermediate revisions by the same user not shown)
Line 3: Line 3:
== A: An introduction ==
== A: An introduction ==
* Please describe yourself in three sentences, one of them regarding your current studies.
* Please describe yourself in three sentences, one of them regarding your current studies.
*: My name is NVS Abhilash. I have a profound interest in Machine Learning and A.I., and currently,
*: My name is NVS Abhilash and I have a profound interest in Machine Learning and A.I.  
*: University: NIIT University, Neemrana, Rajasthan, India.
*: I am a third-year/Junior student at NIIT University, Neemrana, Rajasthan, India.  
*: Major: Computer Science and Engineering, specializing in Big Data and ML.  
*: I am majoring in Bachelor of Technology in Computer Science and Engineering, specializing in Big Data and ML.  
*: I can speak and communicate well in English and Hindi.
*: I can speak and communicate well in English and Hindi.
** What's your overall background?
** What's your overall background?
**: I am currently an undergraduate in Computer Science and Engineering (Third year / Junior).
**: I love mathematics and programming.
**: I love mathematics and programming.
**: My area of specialization is Big Data and Machine Learning.  
**: I have a good understanding of the process of Software Engineering, statistics, Linear Algebra, calculus, programming tools.
**: I am learning in-depth about Information Retrieval, Internet of Things and Digital Image Processing.  
**: I am learning in-depth about Information Retrieval, Internet of Things and Digital Image Processing in my current semester.
 
**: I have a good understanding in the processes of Software Engineering, Statistics, Linear Algebra, Calculus, and Programming Tools.
* Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
* Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
*: I think Google Summer of Code is a great opportunity for me to jumpstart my experience with the open source community.  
*: I think Google Summer of Code is a great opportunity for me to jumpstart my experience with the open source community.  
Line 24: Line 23:
== C: Contact ==
== C: Contact ==
* Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.
* Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.
*: nick: <strong>nvs232</strong>
*: nick: '''nvs232'''
*: Github: '''nvs-abhilash''' [https://github.com/nvs-abhilash https://github.com/nvs-abhilash]
*: Bitbucket: '''nvs232''' [https://bitbucket.org/nvs232/ https://bitbucket.org/nvs232/]
* Which time zone do you live in? Will that change over GSoC duration?
* Which time zone do you live in? Will that change over GSoC duration?
*: I live in UTC+05:30.  
*: I live in UTC+05:30.  
Line 48: Line 49:
*::* I have a fair idea of basic Python syntax. I have also learned to use some mathematical libraries like ''numpy'' and ''pandas''.
*::* I have a fair idea of basic Python syntax. I have also learned to use some mathematical libraries like ''numpy'' and ''pandas''.
*::* I have started learning the intricacies of ''sympy'', as it is helpful for the GSoC project.
*::* I have started learning the intricacies of ''sympy'', as it is helpful for the GSoC project.
*::* I have a basic knowledge of calling Python/C API which is a necessity for removing boost dependencies in Pytave. 
   
   
* Please describe your experience with being in a development team.
* Please describe your experience with being in a development team.
*: I am new to the open source community.
*: I am new to the open source community.
* Please describe the biggest project you have written code for and what you learned by doing so. Also, describe your role in that project over time.
* Please describe the biggest project you have written code for and what you learned by doing so. Also, describe your role in that project over time.
*:* ''Algorithms for Graph-based trust models in Online Social Network'': In this project, we had a large dataset of social users and we were expected to design and implement an algorithm to tackle the scalability problem in recommender systems.
*:* Algorithms for Graph-based trust models in Online Social Network: In this project, we had a large dataset of social users and we designed and implemented an algorithm to tackle the scalability problem in recommender systems.
*:* My contributions were to help in designing and implementing the graph partitioning algorithm in C++.  
*:* My contributions were to help in designing and implementing the graph partitioning algorithm in C++.  
* Please state the commits and patches you already contributed to Octave.
* Please state the commits and patches you already contributed to Octave.
*: I have contributed mostly to the  [https://github.com/cbm755/octsympy/ Symbolic Package], I have also contributed to [https://bitbucket.org/mtmiller/pytave Pytave] and [http://hg.savannah.gnu.org/hgweb/octave Octave core]:
*: I have contributed mostly to the  [https://github.com/cbm755/octsympy/ Symbolic Package], I have also contributed to [https://bitbucket.org/mtmiller/pytave Pytave] and [http://hg.savannah.gnu.org/hgweb/octave Octave core]:
*::* '''Symbolic package contributions''':
*::* '''Symbolic package contributions''':
*:::: '''''Merged'''''
*:::# sympref: add support to restore settings from a structure: [https://github.com/cbm755/octsympy/commit/b29bc8d24690747cf87630a188f291fbc1b01d67], [https://github.com/cbm755/octsympy/commit/9301334e83684128d1ca2b26ecf5dc54356cf491], [https://github.com/cbm755/octsympy/commit/9c216fae121ea857819f8ab0003c39fe04edcb67]
*:::# sympref: add support to restore settings from a structure: [https://github.com/cbm755/octsympy/commit/b29bc8d24690747cf87630a188f291fbc1b01d67], [https://github.com/cbm755/octsympy/commit/9301334e83684128d1ca2b26ecf5dc54356cf491], [https://github.com/cbm755/octsympy/commit/9c216fae121ea857819f8ab0003c39fe04edcb67]
*:::# @sym/prevprime: added prevprime: [https://github.com/cbm755/octsympy/commit/a2ad71a3a6730ac204c704e9d5851f22a530a8ce], [https://github.com/cbm755/octsympy/commit/853450c1b60b94b3e11b001df78fcc06638037bb],[https://github.com/cbm755/octsympy/commit/9de27024b776fe952ed6bfe80c5dde8594e35dbd]
*:::# @sym/prevprime: added prevprime: [https://github.com/cbm755/octsympy/commit/a2ad71a3a6730ac204c704e9d5851f22a530a8ce], [https://github.com/cbm755/octsympy/commit/853450c1b60b94b3e11b001df78fcc06638037bb],[https://github.com/cbm755/octsympy/commit/9de27024b776fe952ed6bfe80c5dde8594e35dbd]
Line 62: Line 65:
*:::# isequal: added isequal for @symfun class. (fixes #740): [https://github.com/cbm755/octsympy/commit/238bb57985a0364a4f538ed506a712618f75b604],[https://github.com/cbm755/octsympy/commit/af587cb6086f6de9fc4da73a81cdcfe1ad88d01a], [https://github.com/cbm755/octsympy/commit/e850fbdd7f22810b764e7679fe3f07705b68df2e], [https://github.com/cbm755/octsympy/commit/29c3f37cf32d7342c3da1cdf067928ff865aae8a], [https://github.com/cbm755/octsympy/commit/110d307cf9ea773904d4c987d30596ec09b0fa1f], [https://github.com/cbm755/octsympy/commit/eb28830d0a81cddde442da1d4e23d801bf1e6252], ''I got to learn a lot from this one, all thanks to Colin and Abhinav''.
*:::# isequal: added isequal for @symfun class. (fixes #740): [https://github.com/cbm755/octsympy/commit/238bb57985a0364a4f538ed506a712618f75b604],[https://github.com/cbm755/octsympy/commit/af587cb6086f6de9fc4da73a81cdcfe1ad88d01a], [https://github.com/cbm755/octsympy/commit/e850fbdd7f22810b764e7679fe3f07705b68df2e], [https://github.com/cbm755/octsympy/commit/29c3f37cf32d7342c3da1cdf067928ff865aae8a], [https://github.com/cbm755/octsympy/commit/110d307cf9ea773904d4c987d30596ec09b0fa1f], [https://github.com/cbm755/octsympy/commit/eb28830d0a81cddde442da1d4e23d801bf1e6252], ''I got to learn a lot from this one, all thanks to Colin and Abhinav''.
*:::# @symfun/isequaln: implemented isequaln to support NaN's equality in @symfun: [https://github.com/cbm755/octsympy/commit/95afb9a9f91f00c1fe69c234cd34a4b0c977b2a2]
*:::# @symfun/isequaln: implemented isequaln to support NaN's equality in @symfun: [https://github.com/cbm755/octsympy/commit/95afb9a9f91f00c1fe69c234cd34a4b0c977b2a2]
*:::# warning in subsref and subsasng removed (fixes #714): [https://github.com/cbm755/octsympy/commit/c53563b7eeca635f5bd114511da375962de2844d]
*:::: '''Issues opened
*:::# Cannot create abstract @symfun object using Pytave IPC: [https://github.com/cbm755/octsympy/issues/769] ('''Closed''')
*::* '''Pytave contributions''':
*::* '''Pytave contributions''':
*:::# * @pyobject/methods.m: OPTION to view private methods added (fixes issue #22): [https://bitbucket.org/mtmiller/pytave/commits/d1e00e614b4ced282f12ff23e7a6f1c24e000227]
*:::: '''''Merged'''''
*::* '''Octave core contributions''':
*:::# * @pyobject/methods.m: OPTION to view private methods added (fixes issue #22):[https://bitbucket.org/mtmiller/pytave/commits/d1e00e614b4ced282f12ff23e7a6f1c24e000227]
*:::# Rewrite exception handling using Python/C API [https://bitbucket.org/mtmiller/pytave/commits/f777dca5836119484c1c1a23e6614d6897a28ecc] - ''This commit is a step to remove all the boost dependencies in Pytave.''
*::* '''Octave core contributions''' ('''''merged'''''):
*:::# * data.cc (Fisinteger): Add BIST tests: [http://hg.savannah.gnu.org/hgweb/octave/rev/e6bf4f8920d3]
*:::# * data.cc (Fisinteger): Add BIST tests: [http://hg.savannah.gnu.org/hgweb/octave/rev/e6bf4f8920d3]


Line 87: Line 95:
* What was the first question concerning Octave you could not find an answer to rather quickly?  
* What was the first question concerning Octave you could not find an answer to rather quickly?  
*: Complete steps to build Octave from source. The reason for that is that there is not much in the Octave docs.  
*: Complete steps to build Octave from source. The reason for that is that there is not much in the Octave docs.  
*: And there is more than one wiki describing similar things in different ways.  
*: It is overwhelming as there exists more than one wiki explaining similar steps in various ways.  
*: It might be better to update the Octave docs frequently with latest installation instructions.  
*: It might be better to update the Octave docs frequently with latest installation instructions.  
*: Here is what the octave docs show now: [https://www.gnu.org/software/octave/doc/v4.0.1/Building-the-Development-Sources.html#Building-the-Development-Sources link].  
*: Here is what the octave docs show now: [https://www.gnu.org/software/octave/doc/v4.0.1/Building-the-Development-Sources.html#Building-the-Development-Sources link].  
*: Apart from this, the Octave manual has been very helpful with useful examples to understand the concepts.
*: Apart from this, the Octave manual has been very helpful with useful examples to understand concepts.


== P: Prerequisites ==
== P: Prerequisites ==
Line 125: Line 133:
*: During Google Summer of Code, I would work 40 hours per week. This is my rough estimated timeline:
*: During Google Summer of Code, I would work 40 hours per week. This is my rough estimated timeline:
*: '''May 5 - May 30, 2017''' (Community bonding period)
*: '''May 5 - May 30, 2017''' (Community bonding period)
*::# Try to move from 'familiar' to 'proficient' in Octsympy and Pytave.
*::# Try to move from 'familiar' to 'proficient' in Octsympy and Pytave code base.
*::# Contribute as much as I can to Octsympy and Pytave.  
*::# I will make efforts to learn more about '''Python/C api''' so as to contribute more to Pytave to remove boost depedencies.
*::# Contribute as much as I can to Octsympy.  
*::# Continuously interact with the mentors and better define the steps to complete the project.
*::# Continuously interact with the mentors and better define the steps to complete the project.
*: '''May 30 - June 30, 2017''' (First term)
*: '''May 30 - June 30, 2017''' (First term)
*::# Week 1-2: Improve Pytave code
*:: '''Week 1-2''': Improve Pytave code
*::## Migrate away from Pytave legacy [https://bitbucket.org/mtmiller/pytave/issues/74/migrate-away-from-remaining-pytave-legacy #74] [https://bitbucket.org/mtmiller/pytave/issues/80/remove-code-for-calling-octave-from-python #80]
*::# Migrate away from Pytave legacy [https://bitbucket.org/mtmiller/pytave/issues/74/migrate-away-from-remaining-pytave-legacy #74] [https://bitbucket.org/mtmiller/pytave/issues/80/remove-code-for-calling-octave-from-python #80]
*::## Resolve [https://bitbucket.org/mtmiller/pytave/issues/79/sympy-function-objects-cause-errors #79], this causes test failures in Octsympy.
*::# Resolve [https://bitbucket.org/mtmiller/pytave/issues/79/sympy-function-objects-cause-errors #79], this causes test failures in Octsympy.
*::## Remove the boost dependencies from Pytave and use native API calls for the same.
*::# Remove the boost dependencies from Pytave and use native API calls for the same.
*::# Week 3-4: Making @sym a subclass of @pyobject.  
*:: '''Week 3-4''': Making @sym a subclass of @pyobject.  
*::## Improve core Octave classdef issues, [https://savannah.gnu.org/bugs/?49169 49169] and maybe some more from here: [https://savannah.gnu.org/search/?Search=Search&words=classdef&type_of_search=bugs link].
*::# Fix core Octave classdef issues:
*::##: Understand the current available features of classdef in Octave.
*::#: Understand the currently available features of classdef in Octave.
*::##: Improve the current bugs.
*::#: Fix the bugs related to classdef in core Octave. Some of the major ones that I want to focus on are:
*::##: Add more features if feasable.  
*::#:* [https://savannah.gnu.org/bugs/?49169 49169] Defining a classdef superiorto some other classdef.
*::## Make this [https://github.com/cbm755/octsympy/pull/590 PR] by Abhinav mergeable. (If possible in the time frame)
*::#:* [https://savannah.gnu.org/bugs/?45833 45833] support load/save of classdef objects.
*::## Discuss and decide which implementation (classic @class style or classdef) style to use for the project.
*::#:* [https://savannah.gnu.org/bugs/?48693 48693] classdef subsref method is not called with correct nargout value.
*::#:* [https://savannah.gnu.org/bugs/?43047 43047] and [https://savannah.gnu.org/bugs/?49169 49169] Documentation problems in classdef (Optional)
*::#: Add more features if feasible.  
*::# Make this [https://github.com/cbm755/octsympy/pull/590 PR] by Abhinav mergeable. (If possible in the time frame)
*::# Discuss and decide which implementation (classic @class style or classdef) style to use for the project.
*: '''July 1 - July 24, 2017''' (Second term)
*: '''July 1 - July 24, 2017''' (Second term)
*::# Make @sym instance a @pyobject instance by calling the constructors, and fixing tests and bugs.
*::# Make @sym instance a @pyobject instance by calling the constructors, and fixing tests and bugs.
Line 149: Line 162:
*::# Write / Modify tests for the above changes.
*::# Write / Modify tests for the above changes.
*: '''July 28 - August 21, 2017''' (Final term)
*: '''July 28 - August 21, 2017''' (Final term)
*:: '''Week 9-10''': Write Documentation
*::# Complete any pending tasks (if any).
*::# Complete any pending tasks (if any).
*::# Write complete documentation for all the work done.
*::# Write documentation for Pytave both user's guide and developer's guide. (This will help in attracting more developers to use Pytave)
*::# Help making Pytave become a mergeable state with Octave core.
*::# Write extensive documentation for Octsympy.
*::## Resolve some issues from the issue list in Pytave.  
*::# Write documentation for the current implementation of classdef in Octave. (I think this is not completed yet.)
*:: '''Week 10-12''': Fix further issues
*::# Fix issues in Pytave [https://bitbucket.org/mtmiller/pytave/issues?status=new&status=open issue list].
*::# Fix issues in Octsympy [https://github.com/cbm755/octsympy/issues issue list].
*::# Add missing functions and functionality to Octsympy.
*::# Add missing functions and functionality to Octsympy.
*::# Initiate writing a complete user and developer documetation for Octave and Pytae. (Extended Task)
*: This is a very rough timeline. The exact steps will become clearer when I do some more discussion with the mentors.
*: This is a very rough timeline. The exact steps will become clearer when I do some more discussion with the mentors.
   
   
[[Category: Summer of Code]]
[[Category: Summer of Code]]
45

edits

Navigation menu