From Octave
Jump to navigation Jump to search

Public application template[edit]

An introduction[edit]

  • My name is Anirudha Bose. I am a first year Computer Science undergraduate at International Institute of Information Technology, Bhubaneswar in India. I have deep interest in Natural Language Processing, Linux, and web applications. I speak English, Hindi and Bengali (native).
  • I have been desperately wanting to participate in Google Summer of Code since a year as I want to work for a real software project. I feel GSoC will be the most appropriate way to dive into the world of open source while earning some recognition. This is the first time I am participating in the Google Summer of Code, but I have participated in Google Code-In before.
  • GNU Octave is a free and open source software and I have met many Octave-fans in my college. I want to apply for Octave since I am very interested in the project I am applying for. I will also get the opportunity of being a part of an awesome open-source community.


  • IRC Nick: anibose on #octave; Email:
  • Timezone: GMT+05:30
  • My usual coding hours are 12:30 to 6:30 (UTC+0) during the working days of my college (subtract an hour or so for daily activities). However if need be, I can extend it up to 8:30 from 6:30. Since Google Summer of Code will take place during summer vacations, I will be comfortable in coding the whole day preferably from 6:00 to 22:00. Specifying an accurate time frame is difficult, but I will be devoting as much time as possible to GSoC.

Coding experience[edit]

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. : I don't have any experience with these languages but I do understand the C++ compilation model which is relevant to this project.
  • Please describe your experience with other programming languages. : I am quite familiar with Python as I do most of my work in it, but I am comfortable with C and bash as well.
  • The following are few of my personal projects:
    • Developed a portal for delivering presentations in the ACM Student Chapter of our college. This portal lets you view presentations online and ask questions to the speaker. –Developed using Python in Google App Engine.
    • Developed a website which looks and behaves like a UNIX terminal. Users must use common UNIX commands to access website contents. – Developed using JavaScript and Python in Google App Engine.
    • Developed a file searcher that searches file names and file contents for a given text efficiently. –Developed using Python.
    • Working on Word Sense Disambiguation to predict the meaning of a keyword in a sentence and retrieve its summary from Wikipedia. – Developing using NLTK in Python.

I would like to mention my skills which are relevant to the project "Improve binary packaging".

  • I have spent a significant amount of time building Debian packages using Clang as well as GCC doing static analysis with scan-build individually on many packages while trying to generate bug reports for the whole Debian archive.
  • I understand GNU build systems well and have experience with tools like Make, Automake, Autoconf, GCC, and resolving library dependencies.
  • 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. :I haven't started contributing to Octave yet, but I am interested in doing so, starting with fixing minor bugs.

Feeling fine[edit]

  • Please describe (in short) your experience with the following tools: We only use this question to determine where you need guidance, not for rating! We by no means expect you to be familiar with all of these and you'll won't necessarily need them while working with us.
    • I use IRC often and am very much familiar with it. I like to hang around in developer channels of Python and Linux. I also take part in discussions of various mailing lists.
    • I am familiar with Git and subversion. I have used Mercurial very rarely but it won't be a problem for me to understand it's basics.
    • I am familiar with MediaWiki and MoinMoin.
    • I am familiar with developmental tools like Make, GCC, Valgrind, Autoconf,and Automake.
  • 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 :-) : I would be happy to become a regular contributor for GNU Octave after GSoC is over. GSoC will help me to understand Octave better and also develop new software development skills.

Only out of interest[edit]

  • Did you ever hear about Octave before? : Yes. I have many friends in college who use Octave.
    • If so, when and where? How far have you been involved already? : I first came to know about Octave from OSGEO-India: FOSS4G 2012- First National Conference "Open Source geospatial resources to spearhead development and growth" (25-27th October 2012 at IIIT Hyderabad)where the topic was "Satellite altimeter waveform data re-tracking for inland water body heights using GNU Octave".
  • What was the first question concerning Octave you could not find an answer to rather quickly? Of course more than one question can be stated. We try to improve based on this each year! Includes learning how to use it, code, website, GSoC application, …


  • Please state the operating system you work with.
    • If you have access to more than one, please state them and the conditions under which you are granted this access. : I have Ubuntu 12.10 and Windows 7 installed on my laptop. The project I am applying for requires access to Windows, GNU/Linux, as well as Mac OS X for testing purposes. Since I don't have access to Mac OS X, I can request my teacher to use his Mac and he is willing to help me.
  • Please estimate an average time per day you will be able to (if separated) access
    • an internet connection : We have 24 hours Wifi service in our college, so I have access to internet always.
    • a computer : I can use my laptop anytime. I can also access a computer in our Computing Lab or Library during college hours.
    • a computer with your progressing work on : I will be doing the project on my laptop which I can access anytime.
  • Please describe the degree up to which you can install new software on computers you have access to. : I have no problem installing new softwares on my personal laptop, but I am not allowed to do it in a computer of Lab or Library.


  • Please describe how useful criticism looks from your point of view as committing student. : Positive criticism is very useful. I appreciate that my mentor takes time to explain everything properly while pointing out mistakes in a positive way.
  • How autonomous are you when developing? If you answer both subquestions with "Yes, definitely", we are a tad confused. ;-)
    • Do you like to discuss changes intensively and not start coding until you know what you want to do? I do like to discuss the project properly and understand the deliverables before diving into the coding part. However, small experimental implementations is helpful most of the times.
    • 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? Even if that happens, I won't be disappointed because I would have learnt many things in the process and such things account for experiences rather than failures.

Y: Your task[edit]

  • 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. : I am applying for the project "Improve binary packaging". I would like to simplify the current tedious process of building Octave from scratch so that normal Windows and Mac OS X users won't have to take the pain of building the software and will feel encouraged to use Octave.
  • 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"). Optionally include two or three milestones you expect. I will write this section after discussing with my mentor.