User:Dildar Sk

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]
    Gmail: dildarsk101010@gmail.com
  • 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.
    C++
    • 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.
    Python
    • 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)

  • 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)
    [26]
    [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

[39]

    • 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
      24X7
    • a computer
      24X7
    • a computer with your progressing work on
      24X7
  • 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: "Command line suggestion feature" [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:
  • community bonding period (Before May 14):
  • i) I will try to refresh my idea of Octave's codebase first.Start to know the
    other guys,developer and mentors.Will start to interacting with them.
    ii) I will study readline library thoroughly.Will try to strengthen knowledge
    on GDB,make auto-tool.
    iii) Will try to implement some missing functions which is
    not available in Octave but on MATLAB.
  • Phase 1 (May14-june15)
  • week 1 (May 14-21):
  • Week 2 (May21-28):
  • Week 3 & 4 (May 28-june 11)
  • week 3 (May 28-june 4):
  • Week 4 (june 5-11):
  • June 11-15 :

Phase 1 evaluation.


  • Phase 2 (June 16-july 13)
    Week 5 (june 16-june22):
  • Before this everything will have implemented for both GUI and CLI but this is only for GUI.
    Will implement a pop-up using QT to auto-complete.User will be able to interact with a pop
    up of a multiple choice,if he press double tab.
    I will implement if there is no auto-completion available it will show "No Completion Available"
  • Week 6 (June 22-29):
  • A frequency based(No of times it's used) hash map will be implemented.
    This will be another parameter choosing the closest between multiple choice('acox' between 'acos' and 'acot').
    Different users will get difference suggestion based on this parameter.
  • Week 7 (June 30-july 6):
  • frequency base hash map parameter will be used in all 3 implementations.
    Creating a API to select any of 3 mechanism according to user choice and requirement.
  • Week 8 (July 7-13):
  • i) Writing documentations.
    ii)Writing tests.
  • Phase 2 evaluation (July 9-13)
  • Final phase (July 14-Aug 14)
  • Week 9 (July 15-21):
    Implementing a pop-up based on QT which allow to choose number of suggestions in
    the pop-up.It will be either top-1,top-2,top-3,top-5.
  • Week 10 (July 22-29):
    i) Checking if something is left and implementing that.
    ii) Testing the pop-up.Testing other implementation.
    iii) writing documentation.
  • Week 11 (July 30-Aug 6):
  • Target:selecting default implementation.
    Comparing the efficiency of Trie,Hash and LCS based.
    Test will be made on different sizes same data.
  • Week 12 (Aug 7-14):
    i) Testing if there is any build issue.
    ii) Writing documentations.
    iii) Checking if there need something to implement.
  • iv) Final submission of work product.



  • This is a very rough timeline. The exact steps will become clearer when I do some more discussion with the mentors.