User:Rhendz: Difference between revisions

Jump to navigation Jump to search
106 bytes added ,  4 April 2018
(Undo revision 11000 by Rhendz (talk))
 
(13 intermediate revisions by the same user not shown)
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 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?
*: <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>
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. 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.
*: I have a dual boot ''Windows 10/Ubuntu 16.04 system'', but I will primarily be developing on Ubuntu.


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


== S: Self-assessment ==
== S: Self-assessment ==
Line 97: Line 100:
* 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.
**: <pre>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.</pre>
**: 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.
*: '''Proposal: Integrate Support for ICC Profiles & Implement Color API Functions'''
*: '''GSOC 2018 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>  
** <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>  
** <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>
** <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>
49

edits

Navigation menu