Editing User:Richukuttan

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 6: Line 6:
** I am a third year undergraduate in the Department of Electrical Engineering, IIT Kharagpur (India). My hobbies include playing chess, reading novels and coding. I am an introvert, and code to make my life easy (as a defining feature of my life is laziness :P )
** I am a third year undergraduate in the Department of Electrical Engineering, IIT Kharagpur (India). My hobbies include playing chess, reading novels and coding. I am an introvert, and code to make my life easy (as a defining feature of my life is laziness :P )
* 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?
** 1. Interest in the topic: I am really interested in the topic I am pitching for. It is a subject where I was exposed to the theory in a class I took, but not enough in the practical part, something I hope of gaining in this experience.
** 1. Its fame: Like most people, I am attracted to the glory of participating in the Google Summer of Code. What this means is that I have a substantial reason (in my mind) for "staying the course" as they say, and not abandoning ship when (if) the project gets uninteresting.
** 2. Knowledge : By coding under seasoned mentors, I hope to get a professional critique to my coding style and the knowledge in my domain, which will help me grow.
** 2. Interest in the topic: I am really interested in the topic I am pitching for. It is a subject where I was exposed to the theory in a class I took, but not enough in the practical part, something I hope of gaining in this experience.
** 3. Its fame: Like most people, I am attracted to the glory of participating in the Google Summer of Code. What this means is that I have a substantial reason (in my mind) for "staying the course" as they say, and not abandoning ship when (if) the project gets uninteresting.
** 3. Knowledge : By coding under seasoned mentors, I hope to get a professional critique to my coding style and the knowledge in my domain, which will help me grow.
 
* Why are you choosing Octave?
* Why are you choosing Octave?
** 1. I have used octave, and find it pretty useful, but still rough and wanting when compared to Matlab. I consider this my contribution for creating a viable open source alternative to such a powerful and versatile tool.
** 1. I have used octave, and find it pretty useful, but still rough and wanting when compared to Matlab. I consider this my contribution for creating a viable open source alternative to such a powerful and versatile tool.
** 2. It is a brilliant project which is neither too mature (like Python or C++) nor too unidirectional (like Sage Mathematics). It appeals to me in a way not many other organizations to the GSoC do.
** 2. It is a brilliant project which is neither too mature (like Python or C++) nor too unidirectional (like Sage Mathematics). It appeals to me in a way not many other applicants to the GSoC do.


== C: Contact ==
== C: Contact ==
Line 29: Line 28:
** OpenGL and Qt: Unfortunately, I have no programming background in these languages.
** OpenGL and Qt: Unfortunately, I have no programming background in these languages.
* Please describe your experience with other programming languages.
* Please describe your experience with other programming languages.
** Python: Python is my favorite prototyping language. If the increase in speed is not essential, I prefer using python almost anywhere. Its versatility makes it a veritable tool. I prefer using Python 3.x to 2.x. I have created small project based on detecting the language using trigrams, which is available on GitHub. I have also created a project to download anime from online sites like Gogoanime, which unfortunately was rendered useless by the anti DDOS protections.
** Python: For small scale projects, python is my favorite prototyping language. For projects where a small speedup is not essential (mainly personal projects), I have used Python as my preferred language. I have created small project based on detecting the language using trigrams, which is available on GitHub. I have also created a project to download anime from online sites like Gogoanime, which unfortunately was rendered useless by the anti DDOS protections.
** Bash Scripting: As I am an Ubuntu user, Bash scripting is an invaluable tool for making my life easier. From renaming files to executing complicated commands repeatedly to the trusty /configure /make /make install, bash scripting lets me automate many tedious jobs.
** Bash Scripting: As I am an Ubuntu user, Bash scripting is an invaluable tool for making my life easier. From renaming files to executing complicated commands repeatedly to the trusty /configure /make /make install, bash scripting lets me automate many tedious jobs.
** ASP.NET programming: I have worked on creating forms on the web as part of data collection in a Data Analytics internship in Deloitte.
** ASP.NET programming: I have worked on creating forms on the web as part of data collection in a Data Analytics internship in Deloitte.
** LaTeX : Since I use Ubuntu as my primary operating system, I use LibreOffice instead of the Microsoft suite. However, I was never really happy with LibreOffice. Hence, for all applications where the output can be a pdf, I use LaTeX to render the output.
* Please describe your experience with being in a development team.  
* Please describe your experience with being in a development team.  
** While I have no experience in open source or free projects, I have been a part of a local startup (AliveHome), as an IoT firmware developer for 2 months. I also have a similar 2 month internship with Deloitte Mumbai, where I worked as a data analyst. Finally, I have a couple of projects which I have created as a part of a group project, spanning a semester (4 months).
** While I have no experience in open source or free projects, I have been a part of a local startup (AliveHome), as an IoT firmware developer for 2 months. I also have a similar 2 month internship with Deloitte Mumbai, where I worked as a data analyst. Finally, I have a couple of projects which I have created as a part of a group project, spanning a semester (4 months).
Line 65: Line 63:
** A few Linux distros (Ubuntu mainly, but have worked with OpenSUSE Tumbleweed, Raspbian, Kali Linux and Arch Linux).
** A few Linux distros (Ubuntu mainly, but have worked with OpenSUSE Tumbleweed, Raspbian, Kali Linux and Arch Linux).
** Windows (Not my favorite)
** Windows (Not my favorite)
* If you have access to more than one, please state them and the conditions under which you are granted this access.
** If you have access to more than one, please state them and the conditions under which you are granted this access.
** Use Ubuntu as my main OS, with access to other Linux distros (and windows) via VirtualBox.
Use Ubuntu as my main OS, with access to other Linux distros (and windows) via VirtualBox.
* 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
*** Full access
** Full access
** a computer
** a computer
*** Full access
** Full access
** a computer with your progressing work on
** a computer with your progressing work on
*** Full access
** Full access
* 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
Line 83: Line 81:
*** I like to think about the code intensively before starting. However, an overview is acceptable as far as discussion is concerned.
*** I like to think about the code intensively before starting. However, an overview is acceptable as far as discussion is concerned.
** 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?
*** I have rarely coded on projects where the only options are accepted code or "thrown out" code. Usually, I prefer cycles of coding and feedback, as the code starts resembling what the original proponent has in mind. If that is impossible, it depends on the length of the code. If it is a comprehensive project, or one where the execution time is measurable in days, I prefer a proof of concept. Else, I prefer to start working right away.
*** I have rarely coded on projects where the only options are accepted code or "thrown out" code. Usually, I prefer cucles of coding and feedback, as the code starts resembling what the original proponent has in mind. If that is impossible, it depends on the length of the code. If it is a comprehensive project, or one where the execution time is measurable in days, I prefer a proof of concept. Else, I prefer to start working right away.


== 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?
** 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. ''Please also wiki-link the page for your elaborated proposal here.''
** Yes, I have chosen [http://wiki.octave.org/Summer_of_Code_Project_Ideas#Neural_Networks_package:_Convolutional_Neural_Networks Convolutional Neural Networks] as my project. I will be focusing primarily on the basic implementation of the toolbox, and the Python interface. I know I can handle the basic implementation. I find using TensorFlow in Octave a challenging idea. The Python Interface, however, will be new for me, however equally challenging. I have some experience in parallellizing code in Octave using pararrayfun and parcellfun. However, since in my experience, Matlab has different parallelizing functions, I am unsure as to maintaining Matlab compliance while ensuring parallelization.
** Yes, I have chosen [http://wiki.octave.org/Summer_of_Code_Project_Ideas#Neural_Networks_package:_Convolutional_Neural_Networks Convolutional Neural Networks] as my project. I will be focusing primarily on the basic implementation of the toolbox, and the Python interface. I know I can handle the basic implementation. I find using TensorFlow in Octave a challenging idea. The Python Interface, however, will be new for me, however equally challenging. I have some experience in parallellizing code in Octave using pararrayfun and parcellfun. However, since in my experience, Matlab has different parallelizing functions, I am unsure as to maintaining Matlab compliance while ensuring parallelization.
* Please provide a rough estimated timeline for your work on the task.  
* Please provide a rough estimated timeline for your work on the task. ** May 30 to June 25: Learn how to interface Python and/or C++ with octave, and how to therefore use the interfaces to call Google TensorFlow from Octave.
** May 30 to June 25: Learn how to interface Python and/or C++ with octave, and how to therefore use the interfaces to call Google TensorFlow from Octave.
** June 30 to July 15: Basic toolbox, with full functionality, including the porting of TensorFlow to Octave, and the use of the same to create a basic CNN.
** June 30 to July 15: Basic toolbox, with full functionality, including the porting of TensorFlow to Octave, and the use of the same to create a basic CNN.
** July 15 to July 23: Unavailable.
** July 15 to July 23: Unavailable.
** July 28 to August 20: Creating Example codes, help files and other documentation as necessary.
** July 28 to August 20: Creating Example codes, help files and other documentation as necessary.
[[Category: Summer of Code]]
[[Category: Summer of Code]]
[[Category: 2017]]
[[Category: Applicants]]
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)