User:Harshitjain: Difference between revisions

From Octave
Jump to navigation Jump to search
(Google Summer of Code 2020 Application)
(No difference)

Revision as of 15:33, 21 March 2020

A: An introduction

  • I am Harshit Jain, a senior undergraduate student pursuing Electrical Engineering at the Indian Institute of Technology Delhi. Having always admired the open-source community, I would now like to start my journey in contributing to the open source softwares and also learn a lot of new things along the way.
    • I use English language as a way to communicate with others in academic discussions. Otherwise, I am fluent in both Hindi and English language.
    • During the course of my bachelors degree, I have developed an interest in software development and have also been pursuing the related projects and courses to hone and learn new skills in the same domain. I have a decent experience in C/C++, Java, Python and SQL through courses like Computer Architecture, Advanced Distributed System, Design Practices, Database management systems, Operating Systems, etc. In addition, I am also familiar with Octave and have experience in using it through various Image processing and Machine learning assignments.


  • During the recent years, I have developed quite a passion for software development and participating in Google Summer of Code is indeed an amazing way to get involved and contribute in the development of some of the most complex softwares. By participating in GSoC, I hope to firstly start my journey in the open-source development and also learn a lot of new skills along the way. In addition, I also hope to interact with many amazing contributors and learn from their experience.
  • Since, I have been using Octave for quite a while now in many of my assignments and projects, I really appreciate it as the software provides access to many of the processing tools for which one need to buy expensive licenses otherwise. And this is one of the prime motivations for me to contribute to Octave.

C: Contact

  • IRC nickname: harshitjain
  • Timezone: UTC(+0530)
  • I usually code around 6.00 to 18.00 and could also try to start earlier (~4.00) for few days :-)

E: Coding experience

This part is one of the more important ones in your application. You are allowed to be as verbose as you want, as long as you stay on topic ;-)

  • Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
  • In C++, I have done multiple course assignments and projects wherein I have also used OpenGL for making visual simulations. Some of my sample project include: developing a road traffic simulator, implementing unicast and multicast modes of communication in xv6, implementing distributing hash table routing systems (like pastry, chord), writing multi-threaded programs for implementing algorithms like LU decomposition, matrix multiplication, etc. In addition, I have used octave in some of my Image processing and Machine learning assignments.
  • I also have experience in coding in Java and Python languages through various assignments and projects. In addition, I have also participated in various hackathons which have also contributed to my coding experience in these languages. Besides these, I am also familiar with the SQL for using database in the back end implementation.
  • In my undergraduate years, I have been a part of the development club of our institute wherein we worked on projects catering to the needs of the student community. But as far as the open source contributions are concerned, I have just begun my journey in this area.
  • The biggest project I have worked on is developing a Road traffic simulator. In developing the same, I learned a lot of things that were new to me at that time for instance, OpenGL, makefile, OOP concepts among many other things. In this project, I worked in a team of two and we both were involved in writing code as well as reviewing each other's code.
  • Please state the commits and patches you already contributed to Octave. This question (one of the most important parts by the way) is the only part of your application our wiki admins will edit for you even after the application deadline. Code sometimes speaks louder than many words do.

F: Feeling fine

    • IRC and mailing lists: I am new to these tools and am still learning.
    • Mercurial or other source code management systems: I don't have an experience using mercurial in particular but have used git for VCS in my past projects.
    • Mediawiki or other wiki software: I am new to the wiki tools as well and am excited to learn all this new stuff.
    • make, gcc, gdb or other development tools: I have an experience in using makefiles, gcc and debuggers but can't claim to be an expert.
  • What will make you actively stay in our community after this GSoC is over? You can also tell us after applications close and we'll happily try to fulfill :-)

P: Prerequisites

  • Operating System: Ubuntu 16.04 LTS
  • I will be having full time access to Internet connection and a working laptop for the whole duration of GSoC period.
  • I have administrative access on the laptop and am familiar to installing new softwares on the same.

S: Self-assessment

  • Please describe how useful criticism looks from your point of view as committing student.
  • How autonomous are you when developing:
    • Do you like to discuss changes intensively and not start coding until you know what you want to do?
    • 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?

Y: Your task

  • 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. Please also wiki-link the page for your elaborated proposal here.
  • Please provide a rough estimated timeline for your work on the task. This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). If possible, include two or three milestones you expect.