From Octave
Jump to navigation Jump to search

Public application[edit]

A: An introduction[edit]

  • Please describe yourself in three sentences, one of them regarding your current studies.
    My name is Dildar Sk and I have profound interest in technology.
    I am a third-year/Junior student at Jadavpur University,Kolkata, West Bengal, India.
    I am majoring in Bachelor of Engineering in Information Technology.
    I can speak and communicate well in English,Hindi and Bengali.
    • What's your overall background?
      I love mathematics and programming.
      I have a good understanding of the process of Software Engineering, statistics, Linear Algebra, calculus, programming tools.
      I am learning in-depth about Information Retrieval, Internet of Things and Digital Image Processing in my current semester.
      I have a good understanding in the processes of Software Engineering, Statistics, Linear Algebra, Calculus, and Programming Tools.
  • Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
    I am doing competitive coding and college stuffs since last 2.5 years and I haven't got much exposure to open source world.
    I think Google Summer of Code is a great opportunity for me to jumpstart my experience with the open source community.
    I hope to gain knowledge and experience working in a professional environment while meeting new people in the process.
    • Please also describe your previous experience with the GSoC, if any.
      This is first time I am going for GSoC.
  • Why are you choosing Octave?
    When last year I started machine learning,I got in touch with Octave.It was superb experience.So I thought to do something for it.
    Octave is the open source alternative for MATLAB, and I like working with Octave.
    Also, Octave has a great community of developers. They are welcoming and motivating.

C: Contact[edit]

  • Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.
    nick: hodor123456
    Github: hOdOrNight [1]
    Bitbucket: hodor123456 [2]
  • Which time zone do you live in? Will that change over GSoC duration?
    I live in UTC+05:30.
    No, the time zone will not change over GSoC duration.
    But if it requires,I can work in any timezone.
  • Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?
    I can work from 4:30 AM - 1:30 PM (in UTC+0)
    I can also work from 3:00 PM-6:00 PM(in UTC+0) if my project requires it.
    Actually I can work in any time if my project requires.

E: 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 have 4 years of coding experience in C & C++. I have a thorough undertanding of classes and Object Oriented Programming in C++.
    Octave or Matlab m-scripts
    OpenGL and Qt
    I am a beginner in QT programming.
    I am a beginner in OpenGL.
  • Please describe your experience with other programming languages.
    • I am good in Python. I have also learned to use some mathematical libraries like numpy and pandas.
  • Java
    • I am intermediate in Java.
  • Front-end Web development
    • HTML,CSS,JavaScipt(Angular.js,Node.js)
  • Back-end Web development
    • PHP,SQL
  • Please describe your experience with being in a development team.
    Yes,I have experience with being in developement team.With My classmates we developed many web sites.
    In case of open source,I got in touch with many orgs.Sometimes I just surfed around many projects in Github.

Github id: hodorNight [3] ,dextar101010 [4] I worked under Coala,Octave most,to say.

  • 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.
    • The biggest project I did was a website building.

During that project,I faced many problems from which I learned many thing. Like code reusablity,design of code etc.

    • I was main developer in that project.
  • Please state the commits and patches you already contributed to Octave.
    As I am new to octave I contributed very less.

But in the main IRC channel #octave I help many people(mostly newcomers)But in the main IRC channel #octave I help many people(mostly newcomers)

  • Bug reported by me:
  • [5] (bug regarding auto-completion)
    [6] (Opened a important bug)
    [7] (Opened bug got as additional topic in Oct-conf)
    [8] (Opened a bug related to pager which is solved now)
    [9] (Reported a warning/error bug (fixed by me))
    [10] (Asked for a feature,now implemented)
    [11] (Reported bug for factor.m)(fixed by my patch)
    [12] (reported bug for magic.m)(fixed by my patch)
    [13] (reported bug for nextpow2.m)(fixed)
    [14] (Requested a feature)
    [15] (Reported a loophole)
    [16] (Reported bug)(fixed)
    [17] (base2dec: missing a warning) (fixed)
    [18] (bitor.m)
    [19] (bitxor.m)
    [20] (or)(fixed)
    [21] (bitset.m)
    [22] (performance)
    [23] (different result than MATLAB)(fixed)
    [24] (different result log1p)
    [25] (pie : fails for infinite or no input)(fixed)
    [27] (area)
  • Patch submitted:
  • [28] (Submitted a patch/npermutek function)
    [29] (patch for ismissing function)
    [30] (patch for rms function of signal package)
    [31] (patch for peak2rms function of signal package)
    [32] (Submitted solution/patch (Merge now))
    [33] (submitted patch for bug #53425)(fixed)
    [34] (Submitted patch for bug #53441)
    [35] (Submitted patch for bug #53463)
    [36] (Submitted patch for bug #53472)
    [37] (submitted patch for bug #53477)
    [38] (I submitted a patch here,which admin maybe ignored)

F: Feeling fine[edit]

  • Please describe (in short) your experience with the following tools:
    • IRC and mailing lists
      I really prefer IRC as a mode of communication.I use them frequently and take help from there if I face any problems.
      My registered IRC nick is hodor123456.I use mailing list no less than IRC.There is an account in nabble,Dildar Sk


    • Mercurial or other source code management systems
      I am very comfortable using git. I have started learning Mercurial and do understand the basics of generating a patch in Octave.
    • Mediawiki or other wiki software
      I started using Mediawiki when I started writing this application. I am comfortable contributing to wiki pages.
    • make, gcc, gdb or other development tools
      I am very comfortable in using make tool, gcc, and gdb. Furthermore, I am always pumped up in learning new tools if my project demands for it (or even just out of curiosity).
  • What will make you actively stay in our community after this GSoC is over?
    I see lots of places where I can help.I will keep active in #octave IRC channel to help people.
    And certainly I will be always upto dated with mailing lists and bug tracker.
    There I will also implement missing functions.

O: Only out of interest[edit]

  • Did you ever hear about Octave before?
    Yes, I have heard of GNU Octave before.
    • If so, when and where? How far have you been involved already?
      I started using Octave for my online Machine Learning Course by Andrew Ng in Coursera.
  • What was the first question concerning Octave you could not find an answer to rather quickly?
    Complete steps to build Octave from source. The reason for that is that there is not much in the Octave docs.
    It is overwhelming as there exists more than one wiki explaining similar steps in various ways.
    It might be better to update the Octave docs frequently with latest installation instructions.
    Here is what the octave docs show now: link.
    Apart from this, the Octave manual has been very helpful with useful examples to understand concepts.

P: Prerequisites[edit]

  • Please state the operating system you work with.
    Ubuntu 16.10 and Windows 8.1
    • If you have access to more than one, please state them and the conditions under which you are granted this access.
      I have complete access to both the operating systems. However, I prefer using Ubuntu for software development.
  • Please estimate an average time per day you will be able to access
    • an internet connection
    • a computer
    • a computer with your progressing work on
  • Please describe the degree to which you can install new software on computers you have access to.
    I have complete root/administrator access.
    If you are asking about how good I am at installing softwares,then,yes I have installed every softwares without a problem.

S: Self-assessment[edit]

  • Please describe how useful criticism looks from your point of view as committing student.
    I think constructive criticism plays a vital role in developing a good product.
    I like receiving criticism because it means that my work matters to someone and I take that as motivation to make my work better.
  • How autonomous are you when developing:
    While assessing myself I observed that I try to code first and then try to find bugs and remove the inefficiencies in my code.
    I am quite autonomous and can start work on my own.

But if I get to know what should I do,where to start or a hints,I do work much smoother and quicker.

  • I think this methodology is what makes me learn more. I understand this might turn out to be a slow process, but I think this is what makes me more experienced.
    Thomas Edison said, " I haven't failed, I've just found 10,000 ways that won't work. "
    With that said, I will also absolutely make sure that I take regular weekly feedback from my mentors so that I don't end up in a wrong path.

Y: Your task[edit]

  • Did you select a task from our list of proposals and ideas?
    Yes, I would like to work on the project: "Make Specfuns special again" [40]
  • Please provide a rough estimated timeline for your work on the task.
    During Google Summer of Code, I would work 60 hours per week. This is my rough estimated timeline:
    1. community bonding period (Before May 14):
  • i) Start to know the other guys,developer and mentors.Will start to interacting with them.
    ii) Will try to strengthen knowledge on GDB,make auto-tool.
    iii)Will try to implement some missing functions which is not available in Octavebut on MATLAB.
    iv) Will try to Become more comfortable with specfun package by using through the full documentation and try using it more.
  • I will work weekly 60+ hours before August.So in each week whenever I will get time
    I will use that in testing functions and it's accuracy.
  • Week 1 (May 14 - May 21):
  • Week 2 (May 22 - may 29):
  • i) Solving issue #53433 (inaccurate result :
    ii) Submit my proposal to the mentor that which function needs to be implemented After evaluation of each function.
  • Week 3 & 4 (May 30 - june 11):
  • i) Checking specfun packages each function's accuracy.
    ii) Functions like:Ci,cosint,dirac,laplacian,lambertw,zeta,Si,expint,lagurre,erfcinv etc.
      Will try to make specfun special again in these weeks.
  • iii) There somewhere Octave lacks good documentation.If get time
    Will try to improve documentations.
  • June 15  : Phase 1 evaluation.
  • Week 5 (june 16 - june 23):
  • i) Writing tests as there still need many good test suites.
    ii) Writing documentations
    iii) Writing some missing functions.
  • Week 6 (June 24 - June 30):
  • Week 7 (July 1 -July 6):

taking help from gammainc.

  • ii) Testing more functions’ accuracy
  • July 13  : Phase 2 evaluation.
  • Final phase :
    Week 9 & 10 (July 14 - July 27):
  • Week 11 & 12 (July 28 - Aug 14) :
  • i) Testing rigorously more functions accuracy.
  • ii) Buffer period for anything that may go unintended direction.

Wrap up the week with remaining documentations and tests.

  • iii) Aug 7 - Aug 14: Submitting the final product to the mentor.
    This is a very rough timeline. The exact steps will become clearer when I do some more discussion with the mentors.