Batterylow

Joined 9 December 2017
Revision as of 08:33, 17 April 2018 by 14.139.34.2 (talk) (Changed the project name. Will be updating the timeline shortly.)

A: An introduction

  • Please describe yourself in three sentences, one of them regarding your current studies.
   I am Sahil Yadav, a third (junior) year undergraduate student persuing Bachelors in Computer Science and Engineering at IIT Mandi, India. I am particularly interested in Computer Networks and algorithms and have worked on projects in varied areas of Computer Science such as Pattern Recognition, System Administration, Web and Database Development.
    • Which languages do you speak?
  I speak Hindi and English.
    • What's your overall background?
  I am a Computer Science student looking forward for a career in Cloud Computing or Computer Networks.
  • Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
  Since a free code can be used by anybody and everybody, it's a great honor to see our code used by so many people. GSoC, for sure provides a way to plunge oneself into the world of Free and Open Source Software by offering us the prestige and fame that comes with it. Moreover, as stated on the website itself, it surely does increase the weight of one's resume.

    • Please also describe your previous experience with the GSoC, if any.
  I haven't tried GSoC before.
  • Why are you choosing Octave?
  I came to know about Octave while doing an online machine learning course. After that, it has also helped me with my own assignments in Pattern Recognition. Hence, I had used it before trying my luck in GSoC and so felt that it would be great if I can be a part of the octave community.
 

C: Contact

  • Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.
 I am always available as batterylow on freenode IRC and as Sahil on mailing lists. 
  • Which time zone do you live in? Will that change over GSoC duration?
 I live in UTC+05:30. No, it won't be changing over the GSoC duration.
  • Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?
 I would be most available between 13:30 and 19:30 on weekdays and between 03:30 and 08:30 on weekends. 

E: Coding experience

  • Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
 I started programming in my freshmen year of college. I am most familiar with C++ with quite a few self implemented Algorithms and Data Structures codes. I solve puzzle problems in C++. I also have a good hand in Octave/Matlab m-scripts and have an introductory understanding of Qt C++ classes, procedures etc. 
  • Please describe your experience with other programming languages.
 I also program in C, Python. As for the web development, I can efficiently build stuff using HTML, CSS, JavaScript and LAMP stack. I have familiarity with  microcontrollers as well.
  • Please describe your experience with being in a development team.
 Though I haven't been in an free software development prior to this, I have assisted and led team work in college projects. 
  • 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.
 I made a web portal for a school management system. Structured and coded the back end in MySQL and used server side scripting in PHP. I also developed the front end using HTML, CSS , JavaScript and Google MDL components.
  • Please state the commits and patches you already contributed to Octave.
 I have worked on a variety of bugs in Octave. The following is the list with decreasing changes of exact lines:
 1.  52647 - erase function
 2.  i) 52756 - XOR function in C++ ii) 52756 - mkoctfile version
 3.  52798 - set property in graphics
 4.  52802 - Variable Editor Size
 5.  52787 - Chop function behavior
 6.  53198 - nnz for diagonal matrices
 7.  52720 - FLTK 'R' button
 8.  53176 - Placeholder instead of variable

F: Feeling fine

  • Please describe (in short) your experience with the following tools:
    • IRC and mailing lists
 I am always available on IRC as batterylow and fine with interactions on it. I am comfortable with mailing lists as well but tend to use IRC channel more for communication and random musings. 
    • Mercurial or other source code management systems
 I am fully comfortable with Mercurial (and TortoiseHg) as well as Git. 
    • Mediawiki or other wiki software
 I am comfortable with MediaWiki. I randomly refine stuff on Octave's wiki.
    • make, gcc, gdb or other development tools
 I am quite comfortable with make (including VPATH builds, etc.), gcc and gdb.
  • What will make you actively stay in our community after this GSoC is over?
 Quite a handful of bugs / new implementations which can help me earn @octave/developer/batterylow cloak on IRC would be sufficient. If I don't get selected in GSoC, I would still be active on IRC channel to help any others with general problems in installation and usage of the software.

O: Only out of interest

  • Did you ever hear about Octave before?
 Yes, I did.
    • If so, when and where? How far have you been involved already?
 I used it in an online machine learning course as well as my own Pattern Recognition assignments.
    • If not, where would you expect or advise us to do advertising?
 Since, piracy is always discouraged and there are a number of free software advocates all around, I don't think octave is lagging behind in any way. Moreover, generally the professors at universities discourage piracy, so yeah, the students do get to use it in their courses.
  • What was the first question concerning Octave you could not find an answer to rather quickly?
 I don't remember something as such.

P: Prerequisites

  • Please state the operating system you work with.
 I work mostly on Linux (Ubuntu 16.04) and sometimes Windows.
  • Please estimate an average time per day you will be able to access
    • an internet connection
  24 hours a day.
    • a computer
  24 hours a day.
    • a computer with your progressing work on
  24 hours a day.
  • Please describe the degree to which you can install new software on computers you have access to.
  I have admin privilages on my computers.

S: Self-assessment

  • Please describe how useful criticism looks from your point of view as committing student.
  I take criticisms positively and try to look at the problem from the other person's point of view ( I've been reading Dale Carnegie's book these days). I actively hear suggestions from subordinates as well. 
  • How autonomous are you when developing:
 I am able to take independent decisions when building something though sometimes I do need valuable advice/suggestions. I give utmost important to the one who suggests something to me, because he/she must have put some time on my work and he/she would also not feel insignificant.
    • Do you like to discuss changes intensively and not start coding until you know what you want to do?
 Yes, it saves a lot of time and useless directions if I discuss the things before-hand and then try to code it.
    • 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 am in complete agreement with the notion of proof of concept for large scale projects. Though small projects (200-300 lines of code) are generally preferred to be on-the-go.

Y: Your task

  • Did you select a task from our list of proposals and ideas?
 Yes, I did.
    • 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 Octave Code Sharing as my GSoC project.
  • Please provide a rough estimated timeline for your work on the task.
 My timeline for the project is as follows: