Editing User:CodingCoffee

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
== 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.  
** I'm '''Ameya Shenoy''', a fourth-year engineering undergraduate, studying Electronics and Telecommunications, at St. Francis Institute of Technology, which is affiliated to the '''University of Mumbai''' and approved by the All India Council of Technical Education (AICTE).
** I'm Ameya Shenoy, a fourth-year engineering undergraduate, studying Electronics and Telecommunications, at St. Francis Institute of Technology, which is affiliated to the University of Mumbai and approved by the All India Council of Technical Education (AICTE).
I'm an organized, detail-oriented, conscientious self-starter and a fast learner.
I'm an organized, detail-oriented, conscientious self-starter and a fast learner.
Although I'm from the Electronics and Telecommunications background, I have a keen interest in programming, especially in Image processing and Data Science.
Although I'm from the Electronics and Telecommunications background, I have a keen interest in programming, especially in Image processing and Data Science.
Line 17: Line 17:
*** This is the first time I'm applying for GSoC
*** This is the first time I'm applying for GSoC
* Why are you choosing Octave?
* Why are you choosing Octave?
** I was introduced to Octave, as an alternative to MATLAB for my undergraduate degree course. Also I used it while attempting the Coursera course on Machine Learning by Andrew NG. Since then I've found it quite useful mostly because the problem statements in my areas of interest, as mentioned above, can easily be modeled in Octave. And it'd be a great opportunity to contribute to the Open Source Community of Octave.
** I was introduced to Octave while attempting the Coursera course on Machine Learning by Andrew NG. Since then I've found it quite useful mostly because the problem statements in my areas of interest, as mentioned above, can easily be modeled in Octave.


== 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. ''We really want unique nicks. You might want to bold it.''
* Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave. ''We really want unique nicks. You might want to bold it.''
** IRC: '''codingCoffee'''
** IRC: codingCoffee
** Wiki: '''CodingCoffee'''
** Wiki: CodingCoffee
** Email: '''shenoy.ameya@gmail.com'''
** Github: codingCoffee
* Which time zone do you live in? Will that change over GSoC duration? ''Perhaps DST adjustment or a relocation. Note that both UTC and GMT are not aware of daylight saving time! Please state UTC+x or -x.''
* Which time zone do you live in? Will that change over GSoC duration? ''Perhaps DST adjustment or a relocation. Note that both UTC and GMT are not aware of daylight saving time! Please state UTC+x or -x.''
** My time zone is UTC + 5:30. No, it'll not change during GSoC.
** My time zone is UTC + 5:30. No, it'll not change during GSoC.
Line 36: Line 36:
** '''Octave or Matlab''': I started using Octave as an alternative to MATLAB, initially for my Engineering courses I mentioned above. However my grasp over Octave improved while using it for Andrew NG's Machine Learning course on Coursera. Later I also attempted to write a research paper (related to Audio Processing and Extreme Learning Machines) for which I had to use the source-forge octave package, which made me realize some of the shortcomings of the package, which I would like to improve.
** '''Octave or Matlab''': I started using Octave as an alternative to MATLAB, initially for my Engineering courses I mentioned above. However my grasp over Octave improved while using it for Andrew NG's Machine Learning course on Coursera. Later I also attempted to write a research paper (related to Audio Processing and Extreme Learning Machines) for which I had to use the source-forge octave package, which made me realize some of the shortcomings of the package, which I would like to improve.
** '''OpenGL and Qt''': I have no prior experience in both of them but I'm eager to learn about them if necessary.
** '''OpenGL and Qt''': I have no prior experience in both of them but I'm eager to learn about them if necessary.
 
**
* Please describe your experience with other programming languages.
* Please describe your experience with other programming languages.
** '''Python''': I'm a little more acquainted in Python than Octave, since I've used it for a number of projects.  
** '''Python''': I'm a little more acquainted in Python than Octave, since I've used it for a number of projects.  
Line 42: Line 42:
* Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?''
* Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?''
** I, along with two others participated and won the Neebal Hackathon. We had developed a chatbot for the same.
** I, along with two others participated and won the Neebal Hackathon. We had developed a chatbot for the same.
** Also I've participated in the Mumbai Hackathon, and developed a open source python library for recognizing hand gestures, named spockpy[https://github.com/achillesrasquinha/spockpy/]. It is sort of my first contribution to the open source community.
** Also I've participated in the Mumbai Hackathon, and developed a open source python library for recognizing hand gestures, named [spockpy](https://github.com/achillesrasquinha/spockpy/). It is sort of my first contribution 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.
** It cannot be called the biggest project, however in a project I'm working on currently, I'm trying to implement an Octapad (electronic drum set), using a camera and Image Processing, without any other hardware components.
** It cannot be called the biggest project, however in a project I'm working on currently, I'm trying to implement an Octapad (electronic drum set), using a camera and Image Processing, without any other hardware components.
* Please state the commits and patches you already contributed to Octave. ''This question (one of the most important parts by the way) is the only part of your application our wiki admins will edit for you even after the application deadline. Code sometimes speaks louder than many words do.''
* Please state the commits and patches you already contributed to Octave. ''This question (one of the most important parts by the way) is the only part of your application our wiki admins will edit for you even after the application deadline. Code sometimes speaks louder than many words do.''
** I haven't done commits till now, however I've implemented two functions for the nnet package ([https://github.com/codingCoffee/octave_functions codingCoffee/octave_functions]), which are present in MATLAB, but not in Octave. I came across them while working on a [https://github.com/codingCoffee/extremeLearningMachine project] of mine, which included audio processing and implementing extreme learning machine algorithm in Octave.
** I haven't done commits till now.


== F: Feeling fine ==
== F: Feeling fine ==
* Please describe (in short) your experience with the following tools: ''We only use this question to determine where you need guidance, not for rating! We by no means expect you to be familiar with all of these and you'll won't necessarily need them while working with us.''
* Please describe (in short) your experience with the following tools: ''We only use this question to determine where you need guidance, not for rating! We by no means expect you to be familiar with all of these and you'll won't necessarily need them while working with us.''
** IRC and mailing lists  
** IRC and mailing lists  
*** I'm comfortable using both IRC and mailing list.
** Mercurial or other source code management systems
** Mercurial or other source code management systems
*** I have only used git as a VCS till now. However I'm interested in learning Mercurial.
** Mediawiki or other wiki software
** Mediawiki or other wiki software
*** I'm learning to use wiki softwares.
** make, gcc, gdb or other development tools
** make, gcc, gdb or other development tools
*** I'm confident in using make and gcc compiler


* What will make you actively stay in our community after this GSoC is over? ''You can also tell us after applications close and we'll happily try to fulfill :-)''
* What will make you actively stay in our community after this GSoC is over? ''You can also tell us after applications close and we'll happily try to fulfill :-)''
** I'll be working on Octave for some of my projects, and as and when I come across a bug or a shortcoming in Octave, I'd gladly try to make a contribution to fix the issue and/or enhance the functionality of Octave, regardless of GSoC.


== O: Only out of interest ==
== O: Only out of interest ==
* Did you ever hear about Octave before?  
* Did you ever hear about Octave before?  
** Yes, I have heard of Octave before.
** If so, when and where? How far have you been involved already?
** If so, when and where? How far have you been involved already?
*** From my professor in college. Also at Andrew NG's Machine Learning course. I'm attempting to write a research paper related to audio processing and Extreme Learning Machine algorithm, for which I'm using Octave.
** If not, where would you expect or advise us to do advertising?
** If not, where would you expect or advise us to do advertising?
*** (Doesn't apply) However, StackOverflow could be a place to start! Also maybe MOOCs are a great place to popularize Octave!
* What was the first question concerning Octave you could not find an answer to rather quickly? ''Of course more than one question can be stated. We try to improve based on this each year! Includes learning how to use it, code, website, GSoC application, …''
* What was the first question concerning Octave you could not find an answer to rather quickly? ''Of course more than one question can be stated. We try to improve based on this each year! Includes learning how to use it, code, website, GSoC application, …''
** The concept of IRC was new to me. It took a while to get accustomed to it.


== P: Prerequisites ==
== P: Prerequisites ==
* Please state the operating system you work with.
* Please state the operating system you work with.
** My daily operating system is '''Ubuntu 16.04''', but I am also dual booting this with '''Windows 10'''. I have administrative privileges on both of them.
* Please estimate an average time per day you will be able to access
* Please estimate an average time per day you will be able to access
** an internet connection
** an internet connection
*** 24 hours
** a computer
** a computer
*** 24 hours
** a computer with your progressing work on
** a computer with your progressing work on
*** 24 hours


* Please describe the degree to which you can install new software on computers you have access to.
* Please describe the degree to which you can install new software on computers you have access to.
**  I have complete administrator access.


== S: Self-assessment ==
== S: Self-assessment ==
* Please describe how useful criticism looks from your point of view as committing student.
* Please describe how useful criticism looks from your point of view as committing student.
** I'm open to all constructive criticism. It'll helps me improve myself and also prove productive for the product being developed.
* How autonomous are you when developing:
* How autonomous are you when developing:
** I initially try to come up with a solution of my own and implement it, and then test it for bugs/errors. However if after multiple attempts I'm not able to get through the problem at hand, I tend to spend time on StackOverflow for help.
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
*** I prefer thinking up a basic flowchart for the code and start implementing it. And then work on the individual parts of the flowchart, rather than discussing intensively initially and then writing the entire code.
** Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?
** Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?
*** Yes, I like to code a proof of concept. I'd take the risk of having work thrown away, since I believe one learns a lot more while failing at a particular thing!


== Y: Your task ==
== Y: Your task ==
* Did you select a task from our list of proposals and ideas?
* Did you select a task from our list of proposals and ideas?
** Yes
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. ''Please also wiki-link the page for your elaborated proposal here.''
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. ''Please also wiki-link the page for your elaborated proposal here.''
*** I'd like to work on the '''Jupyter Integration''', '''Command line suggestion feature''' and '''Octave code sharing'''.
* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). If possible, include two or three milestones you expect.''
* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). If possible, include two or three milestones you expect.''
** I plan to work 35 hours a week. This is the schedule I would like to follow:
** '''Before 30 May:'''
*** I'll try to be more familiarized with the community and the mentors (using mailing list, IRC Channel), while discussing and defining my problem statement for all my 3 areas of interest.
*** Also I'll try contributing to short projects, thereby understanding the process of submitting a commit to an open source project.
** '''Phase 1, until 30 June:'''
*** Study the current implementation of Octave kernel for Jupyter.
*** Study various searching algorithms (including the one implemented in the Ubuntu terminal for suggesting the commands in case there is a spelling error made by the user)
*** Tackle the following issues:
**** provide one or more suggested corrections to the user when a command line entry produces an error
**** recognition and suggested correction for apparent syntax errors
**** function suggestion(s) when a 'close' match is found
** '''Phase 2, until 28 July:'''
*** Tackle the following issues:
**** Come up with solutions for the grey/gray problem[https://savannah.gnu.org/bugs/?46881]
**** multiple suggestions if more than one option seems likely, along with a user-friendly method of selecting the appropriate choice
**** user selectable option to disable and/or customize the suggestion behavior
**** correct operation, or graceful degradation, whether Octave is run in GUI or command-line mode
*** Get accustomed to [https://curl.haxx.se libcurl]
*** Familiarize myself with the MediaWiki[https://www.mediawiki.org/wiki/MediaWiki] for Octave Code sharing
** '''Phase 3, until 29 August:'''
*** Buffer zone, in case any of the previous commitments are not executed as scheduled
*** Implement Octave code sharing
[[Category: Summer of Code]]
[[Category: Summer of Code]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)