User:Rhendz: Difference between revisions

Jump to navigation Jump to search
40 bytes added ,  4 April 2018
 
(18 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 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  
**: <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>
**: 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.
** Mercurial or other source code management systems
** Mercurial or other source code management systems
**: <pre>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).
** Mediawiki or other wiki software
** Mediawiki or other wiki software
**: <pre>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.
** make, gcc, gdb or other development tools
** make, gcc, gdb or other development tools
**: <pre>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).


* 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?  
*: <pre>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 :).


== 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?
*: <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.
*: <pre>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.


* 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
*: <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>
*: 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  
**: <pre>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
** a computer
** a computer
**: <pre>10 hours</pre>
**: ''10 - 12 hours''
** a computer with your progressing work on
** a computer with your progressing work on
**: <pre>10 hours</pre>
**: ''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.
*: <pre>Full access</pre>
*: ''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.
**: 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.
*: '''Proposal: Integrate Support for ICC Profiles & Implement Color API Functions'''
*: '''GSOC 2018 Proposal: Integrate Support for ICC Profiles & Implement Color API Functions'''
** 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.</pre>
*** ''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]]
49

edits

Navigation menu