From Octave
Jump to navigation Jump to search

A: An introduction

  • I am Sandeep Venkat Manthi. I like to solve problems and write code. I am a self motivated person who enjoys his work and I am a fourth year post graduate student at NIT Rourkela (India) in Electronics and Communication engineering.
    • I can speak fluently in English, Hindi and Telugu.
    • I am a fourth year student in Electronics and Communications and my main area of research is image processing. However, I have completed courses in soft computing and adaptive signal processing.
  • I like to code and I want to contribute to the open source community that produces most of the software tools that I use.
  • Octave is a brilliant project to work on as it is challenging and involves a good deal of pure mathematics. I am interested in Octave because of my experience with it.

C: Contact

  • sunnyv is my nick on Octave IRC channel.
  • My time zone is UTC + 5:30. I live in India.
  • I usually code between 12.30 to 18.30 UTC and I start at 8.00 UTC during weekends and few days.

E: Coding experience

  • I have 2 plus years of experience in C++ and Matlab code. I mainly write programs for my Academics and research projects. I have also worked on few C++ projects on freelance websites like Odesk.
  • I am good with PHP and Python and have worked on a few web design projects as a freelancer.
  • I do not have any experience on working with open source projects or free projects. I hope to change that in the coming few days.
  • The biggest project I have worked on is on my internship with ECIL, Hyderabad. I have written C code for processing the data from E1 data converter chips in an embedded system that operated a multichannel radio. The device was called E1-Radio Interconnect. I was a part of team of 3 members which developed the program for data management in a FPGA which handled the routing of radio channels. The code which I wrote was 320 lines long and it managed the RCMS PCM radio stream coming from E1 data converter chip in the device. The RCMS channel is used to trigger alarms or switches remotely.
  • I have contributed 3D coordinate system functions for Geodesy in mapping toolbox for Octave.[1]

F: Feeling fine

  • Experience with the following tools
    • I am fine with IRC and Mailing lists.
    • I am comfortable working with Mercurial. I have installed it in my Ubuntu system and its working well.
    • I am familiar with MediaWiki and I am comfortable using it.
    • I had a little difficulty with the compilers at first, but after getting help from IRC channel, I was able to resolve all the dependency errors that were halting my build.
  • A proper guide for beginners is what I would like to have. I will be happy to help create it. I find the community exciting and I will contribute whenever I can to the Octave Community even after GSoC.

O: Only out of interest

  • Yes. Our institution uses Octave on to help beginners grasp the basic concepts of Matlab.
    • I expect Octave to advertise in the educational institutions as a free and open source alternative to Matlab.
  • My first problem with Octave was that I was not able to build it in my first go. A lot of dependencies were missing and the information on Ubuntu forums was not enough to install all the dependencies required to build Octave. A good person helped me out on IRC after I tried to resolve it for a while. I think you should include a page which lists down all the dependencies required for different operating systems. This was the link that helped me solve the problem:

P: Prerequisites

  • I work with Ubuntu and Windows 8. I run a VM with Ubuntu 12.04 inside windows 8.
    • I have administrator access to the system.
  • I will be able to access
    • internet for 14 hours a day.
    • a computer for 24 hours a day.
    • a computer for my progressing work for 24 hours a day.
  • I am the owner of the computer and I can install any software which is supported by my operating system.

S: Self-assessment

  • I always view constructive criticism as a positive sign towards better development of a project. I respect opinions and if the criticism contains useful facts, I will always be happy to incorporate them.
  • 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?(YES)
    • 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?(NO)

Y: Your task

  • I have selected the following task from GSoC projects page[2].
    • I would like to implement the functions for Coordinate systems, Geodesy and Projections for Mapping Package in Octave Forge. The list of missing functions in the mapping package are grouped here [3]. The details of the functions that I have proposed to implement are present in the detailed schedule below. I have already contributed the 3D coordinate functions to this end[4].
  • Timeline:
    • Detailed Schedule: [5]
    • Week 0 (May 19 to May 26): Complete the implementation, tests and documentation for 3D Coordinate systems functions.
    • Week 1 to Week 4 (May 27 to June 25): Complete the implementation, testing and documentation of missing functions in Modelling the Earth group in Week 1 and Week 2 and also the selected missing functions in Geographic Coordinate Systems group in Week 3 and Week 4. Submit the following functions for mid term evaluation.1. Modelling the Earth functions ,2. Selected functions in Geographic Coordinate systems ,3. 3D Coordinate system
    • Week 5 to Week 7 (June 26 to July 14): Complete the implementation,tests and documentation of the following functions 1. Remaining functions in Geographic Coordinate Systems group by the end of Week 5 ,2. Lengths and Angles group by Week 6, Small Circles, Ellipses ,3. Spherical Distance group by the end of Week 7
    • Week 8 to Week 10 (July 15 to August 5): Complete the implementation,tests and documentation of missing functions in Great Circles, Geodesics, and Rhumb Lines by the end of Week 10.
    • Week 11 to Week 12 (August 6 to August 18): This is a buffer time of two weeks to accommodate for any unpredictable delay. Refine tests and documentation for whole project. Code clean up and finalization. End of GSOC.
    • After GSOC: Maintenance and further development of Mapping Package in Octave Forge.

I have planned for a 40 hour work schedule every week. I will be unavailable for 4 days during the entire GSOC period due to personal commitments.

Further details of my schedule for GSOC are present at this link.