Editing User:Rhendz

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 5: Line 5:
*: <pre>Hello, my name is Ankush Patel and I am currently studying computer science and mathematics at the University of Tennessee - Knoxville. Because I am a strong believer of pragmatism, I enjoy applying my skills in a practical manner. I love novel ideas no matter how outlandish and I enjoy traveling.</pre>
*: <pre>Hello, my name is Ankush Patel and I am currently studying computer science and mathematics at the University of Tennessee - Knoxville. Because I am a strong believer of pragmatism, I enjoy applying my skills in a practical manner. I love novel ideas no matter how outlandish and I enjoy traveling.</pre>
** Which languages do you speak?  
** Which languages do you speak?  
**: <pre>I speak English and Gujarati. As far as programming languages go, I am experienced with C/C++, Python, Javascript/HTML/CSS, and I'd say I am competent with Octave :).</pre>
**:<pre>I speak English and Gujarati. As far as programming languages go, I am experienced with C/C++, Python, Javascript/HTML/CSS, and I'd say I am competent with Octave :).</pre>
** What's your overall background?  
** What's your overall background?  
**: <pre>Since I am currently a Freshman (Junior by credits), I am still taking core classes within computer science; however, my main pursuit is artificial intelligence. Furthermore, I am also majoring in mathematics so that I can gain a sufficient background to understand and apply methods from computer science or machine learning.</pre>
**:<pre>Since I am currently a Freshman (Junior by credits), I am still taking core classes within computer science; however, my main pursuit is artificial intelligence. Furthermore, I am also majoring in mathematics so that I can gain a sufficient background to understand and apply methods from computer science or machine learning.</pre>


* 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?  
*: <pre>Because I wanted to stay at home and help my family this summer, I chose Google Summer of Code so that I can continue learning about the world of software development. But, that's not the only reason - I believe that working closely with an open source community will open doors for me that would otherwise be impossible in a private company (although I do not have anything against such companies). I love the idealism of an open source community - you work not because you have to, but because you ''want'' to. That freedom of choosing to work is what makes this community awesome and I believe that through this community I'll be able to meet many passionate people, who I can hopefully learn from.</pre>
*:<pre>Because I wanted to stay at home and help my family this summer, I chose Google Summer of Code so that I can continue learning about the world of software development. But, that's not the only reason - I believe that working closely with an open source community will open doors for me that would otherwise be impossible in a private company (although I do not have anything against such companies). I love the idealism of an open source community - you work not because you have to, but because you ''want'' to. That freedom of choosing to work is what makes this community awesome and I believe that through this community I'll be able to meet many passionate people, who I can hopefully learn from.</pre>


* Why are you choosing Octave?  
* Why are you choosing Octave?  
*: <pre>I was first introduced to Octave by Andrew Ng's Machine Learning course from Coursera. After learning more about Octave, I found that it was not much different from Matlab; however, the obvious difference is that Octave is free. I thought to myself why would such a useful product be free? Then it hit me - it's all about the pursuit of knowledge. Just like community service is used to make the world a better place, open source development is here to make the world a better place through the pursuit of knowledge. By sharing knowledge and engaging in creative development, no one is left out and everyone gets to learn. I believe that Octave is a tool that empowers all people regardless of their background to pursue further knowledge. Because of this, I too want to be a part of Octave's community.</pre>
*:<pre>I was first introduced to Octave by Andrew Ng's Machine Learning course from Coursera. After learning more about Octave, I found that it was not much different from Matlab; however, the obvious difference is that Octave is free. I thought to myself why would such a useful product be free? Then it hit me - it's all about the pursuit of knowledge. Just like community service is used to make the world a better place, open source development is here to make the world a better place through the pursuit of knowledge. By sharing knowledge and engaging in creative development, no one is left out and everyone gets to learn. I believe that Octave is a tool that empowers all people regardless of their background to pursue further knowledge. Because of this, I too want to be a part of Octave's community.</pre>


== C: Contact ==
== C: Contact ==
Line 48: Line 48:
* Please describe (in short) your experience with the following tools:
* Please describe (in short) your experience with the following tools:
** IRC and mailing lists  
** IRC and mailing lists  
**: I am somewhat experienced with these tools; however, I have been able to find anything I need to do regarding these tools with relative ease.
**: <pre>I am somewhat experienced with these tools; however, I have been able to find anything I need to do regarding these tools with relative ease.</pre>
** Mercurial or other source code management systems
** Mercurial or other source code management systems
**: I have not worked with Mercurial, but I am very experienced with Github (~1.5 years).
**: <pre>I have not worked with Mercurial, but I am very experienced with Github (~1.5 years).</pre>
** Mediawiki or other wiki software
** Mediawiki or other wiki software
**: Other than wikitext, I do not have much experience with these tools.
**: <pre>Other than wikitext, I do not have much experience with these tools.</pre>
** make, gcc, gdb or other development tools
** make, gcc, gdb or other development tools
**: I am highly experienced with these tools as I use them daily for my computer science courses (~2 years).
**: <pre>I am highly experienced with these tools as I use them daily for my computer science courses (~2 years).</pre>


* What will make you actively stay in our community after this GSoC is over?  
* What will make you actively stay in our community after this GSoC is over?  
*: As long as there are friends and fun projects to work on, I don't mind staying in the community :).
*: <pre>As long as there are friends and fun projects to work on, I don't mind staying in the community :).</pre>


== O: Only out of interest ==
== O: Only out of interest ==
Line 65: Line 65:
**: <pre>The first time I heard of Octave was through Andrew Ng's Machine Learning course from Coursera late 2017. I primarily use Octave for my Machine Learning projects because of its ease of use.</pre>
**: <pre>The first time I heard of Octave was through Andrew Ng's Machine Learning course from Coursera late 2017. I primarily use Octave for my Machine Learning projects because of its ease of use.</pre>
* 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?
For some reason, I had a difficult time running Octave-CLI on my Ubuntu machine and it took me ~20 minutes to figure out how to start it. I believe I began  
*: <pre>For some reason, I had a difficult time running Octave-CLI on my Ubuntu machine and it took me ~20 minutes to figure out how to start it. I believe I began [https://www.gnu.org/software/octave/doc/v4.0.1/Invoking-Octave-from-the-Command-Line.html here], then realizing it started the GUI, I tried to look at the command line options; however, there was no option to start the CLI. It took me a while to realize that the CLI is a different program altogether and I have to type in ''octave-cli'' on my machine to start it.</pre>
[https://www.gnu.org/software/octave/doc/v4.0.1/Invoking-Octave-from-the-Command-Line.html here], then realizing it started the GUI, I tried to look at the command line options;  
however, there was no option to start the CLI. It took me a while to realize that the CLI is a different program altogether and I have to type in ''octave-cli'' on my machine to  
start it. As of now, I can find anything I need reasonably well through the documentation.


== P: Prerequisites ==
== P: Prerequisites ==
* Please state the operating system you work with.
* Please state the operating system you work with.
*: I have a dual boot ''Windows 10/Ubuntu 16.04 system'', but I will primarily be developing on Ubuntu.
*: <pre>I have a dual boot Windows 10/Ubuntu 16.04 system, but I will primarily be developing on Ubuntu.</pre>


* 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
*: I have 24 access to all of the below, but the below is the amount of time I spend with a computer/internet connection.
*: <pre>I have 24 access to all of the below, but the below is the amount of time I spend with a computer/internet connection.</pre>
** an internet connection  
** an internet connection  
**: ''24 hours'' - I regularly check my email on my phone just in case there is something urgent I need to attend to
**: <pre>24 hours - I regularly check my email on my phone just in case there is something urgent I need to attend to</pre>
** a computer
** a computer
**: ''10 - 12 hours''
**: <pre>10 hours</pre>
** a computer with your progressing work on
** a computer with your progressing work on
**: ''10 - 12 hours''
**: <pre>10 hours</pre>


* 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.
*: ''Full access''
*: <pre>Full access</pre>


== S: Self-assessment ==
== S: Self-assessment ==
Line 100: Line 97:
* Did you select a task from our list of proposals and ideas? Yes
* 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.
** 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.
**: I chose to base my proposal idea off of [https://wiki.octave.org/Summer_of_Code_Project_Ideas#Improvements_to_N-dimensional_image_processing Improvements to N-Dimensional Image Processing]. I want to focus on implementing the missing color functions from the Image package, which I have specified [https://wiki.octave.org/Image_package#Color here]. In particular, I believe that implementing these functions will be beneficial for Octave because information about various color spaces and ICC profiles provide a way for processing real world images easier. Furthermore, it was noted in the suggested project proposal that there is a need to implement N-Dimensional image input for applications such as medical imaging; therefore, providing support for such applications will be considered in this proposal.
**: I chose to base my proposal idea off of [https://wiki.octave.org/Summer_of_Code_Project_Ideas#Improvements_to_N-dimensional_image_processing Improvements to N-Dimensional Image Processing]. I want to focus on implementing the missing color functions from the Image package, which I have specified [https://wiki.octave.org/Image_package#Color here]. In particular, I believe that implementing these functions will be beneficial for Octave because information about various color spaces and ICC profiles provide a way for processing real world images easier. Furthermore, it was noted in the suggested project proposal that there is a need to implement N-Dimensional image input for applications such as medical imaging; therefore, providing support for such applications will be considered in this proposal.
* Please provide a rough estimated timeline for your work on the task.
* Please provide a rough estimated timeline for your work on the task.
*: '''GSOC 2018 Proposal: Integrate Support for ICC Profiles & Implement Color API Functions'''
*: '''Proposal: Integrate Support for ICC Profiles & Implement Color API Functions'''
** <pre>Community Bonding Period - (April 23 - May 13): I plan on utilizing this time to learn more about the image package, specifically utilizing vectorization techniques, learning about profiling, and writing a good suite of tests. I plan on doing this by further researching the functions that have already been implemented and consulting my mentor/peers for further information. During the latter half of the time period, I plan on constructing detailed implementation outlines for each color function and running them by my mentor.</pre>
** Community Bonding Period - (April 23 - May 13): I plan on utilizing this time to learn more about the image package, specifically utilizing vectorization techniques, learning about profiling, and writing a good suite of tests. I plan on doing this by further researching the functions that have already been implemented and consulting my mentor/peers for further information. During the latter half of the time period, I plan on constructing detailed implementation outlines for each color function and running them by my mentor.  
** <pre>Coding 1 (Phase 1) - (May 14 - June 14): I will use the outlines to integrate support for ICC profiles. After I write each function, I will write a suite of tests to make sure the code is passing. Then, I will profile each functions to discover any possible improvements.</pre>
** Coding 1 (Phase 1) - (May 14 - June 14): I will use the outlines to integrate support for ICC profiles. After I write each function, I will write a suite of tests to make sure the code is passing. Then, I will profile each functions to discover any possible improvements.
** <pre>Coding 2 (Phase 2 - 3) - (June 15 - July 12): I will approximately spend two weeks implementing illuminance functions and the other two weeks implementing various color processing/information functions.</pre>
** Coding 2 (Phase 2 - 3) - (June 15 - July 12): I will approximately spend two weeks implementing illuminance functions and the other two weeks implementing various color processing/information functions.
** <pre>Debugging and Documentation Edits (July 13 - July 28): I will use this time to provide any additional debugging and final documentation edits.</pre>
** Debugging and Documentation Edits (July 13 - July 28): I will use this time to provide any additional debugging and final documentation edits.
**: ''July 29 - August 6'' - Will serve as a buffer period in the case of any delays.
*** ''July 29 - August 6'' - Will serve as a buffer period in the case of any delays.
**: ''Coding 2'' - There is a chance that the suggested deliverables may be completed at this point. Thus, work on Phase 4 will begin once Debugging and Documentation Edits is complete - the details of this will be discussed with the mentor at the time.
*** ''Coding 2'' - There is a chance that the suggested deliverables may be completed at this point. Thus, work on Phase 4 will begin once Debugging and Documentation Edits is complete - the details of this will be discussed with the mentor at the time.




[[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)