Willing to work for octave.

classic Classic list List threaded Threaded
32 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Willing to work for octave.

Priyank Bhatt
I want to work for octave . I'm a third year undergraduate Student , I have done my elimentary course on machine learning algorithm . I am also familiar with C/C++ and basis Python,HTML,CSS,Javascript and also familiar with octave .
Please suggest what all do I need to learn or read so as to start
contributing to the open source community of octave. As an amateur and as per your free slots what project form the idea's page should I work on ?
Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Priyank Bhatt
I have been following Maintainers List for quite a while but i am finding difficult to find start point. So can you direct me to some code snipppets or fixing small bugs So I get used to Octave.


On 29 December 2013 04:43, fgnievinski <[hidden email]> wrote:
Please start here: <http://wiki.octave.org/Summer_of_Code_Project_Ideas>.
-F.




--
View this message in context: http://octave.1599824.n4.nabble.com/Willing-to-work-for-octave-tp4660415p4660418.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
Can you program in Octave/Matlab or C?
-F.
Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Juan Pablo Carbajal-2
In reply to this post by Priyank Bhatt
On Thu, Jan 9, 2014 at 7:51 PM, Priyank Bhatt
<[hidden email]> wrote:

> I have been following Maintainers List for quite a while but i am finding
> difficult to find start point. So can you direct me to some code snipppets
> or fixing small bugs So I get used to Octave.
>
>
> On 29 December 2013 04:43, fgnievinski <[hidden email]> wrote:
>>
>> Please start here: <http://wiki.octave.org/Summer_of_Code_Project_Ideas>.
>> -F.
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://octave.1599824.n4.nabble.com/Willing-to-work-for-octave-tp4660415p4660418.html
>> Sent from the Octave - Maintainers mailing list archive at Nabble.com.
>
>

If you are looknig for suggestions I would direct you to the current
version of pkg.m as oyu can see is a monolithic bastard. We have been
working on a encapsulation and segmentation of the function here
https://bitbucket.org/carandraug/octave/commits/d670ed4e5ae64541056dec352af0901270a381c9?at=pkg#chg-scripts/pkg/pkg.m

It is an easy start and gets you to know the basics of adding
functionality to GNU octave via packages. It is really easy work
(hence I can work on it) and it may provide a nice entry point.
Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Carnë Draug


On 9 Jan 2014 18:57, "Juan Pablo Carbajal" <[hidden email]> wrote:
>
> On Thu, Jan 9, 2014 at 7:51 PM, Priyank Bhatt
> <[hidden email]> wrote:
> > I have been following Maintainers List for quite a while but i am finding
> > difficult to find start point. So can you direct me to some code snipppets
> > or fixing small bugs So I get used to Octave.
>
> If you are looknig for suggestions I would direct you to the current
> version of pkg.m as oyu can see is a monolithic bastard. We have been
> working on a encapsulation and segmentation of the function here
> https://bitbucket.org/carandraug/octave/commits/d670ed4e5ae64541056dec352af0901270a381c9?at=pkg#chg-scripts/pkg/pkg.m
>
> It is an easy start and gets you to know the basics of adding
> functionality to GNU octave via packages. It is really easy work
> (hence I can work on it) and it may provide a nice entry point.

I really don't think this is a good project. While the coding part may be simple, it requires to know how packages are, and what is needed by users and developers.

There are lists of missing functions that you could pick to start but really, first of all, the question is "why do you want to work for Octave?"

Carnë

Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Juan Pablo Carbajal-2
On Thu, Jan 9, 2014 at 10:05 PM, Carnë Draug <[hidden email]> wrote:
> I really don't think this is a good project. While the coding part may be
> simple, it requires to know how packages are, and what is needed by users
> and developers.

What better place to start to know the Octave community? Easy to code
you do not dig immediately in the complexity and in the meanwhile you
pick up style, requirements, preferences, etc.
Anyways I am not trying to convince you, but I think you might be
biased because you have been working in Octave for long already. I
have found that an experience developer sometimes is the last guy you
want to ask for advice on where to start.
Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
The missing functions seemed like a good idea, 
but without showing the list itself, it becomes 
a circular problem.

How about writing test cases for existing functions?
Would any of them benefit from more testing?






On Thu, Jan 9, 2014 at 7:23 PM, Juan Pablo Carbajal-2 [via Octave] <[hidden email]> wrote:
On Thu, Jan 9, 2014 at 10:05 PM, Carnë Draug <[hidden email]> wrote:
> I really don't think this is a good project. While the coding part may be
> simple, it requires to know how packages are, and what is needed by users
> and developers.

What better place to start to know the Octave community? Easy to code
you do not dig immediately in the complexity and in the meanwhile you
pick up style, requirements, preferences, etc.
Anyways I am not trying to convince you, but I think you might be
biased because you have been working in Octave for long already. I
have found that an experience developer sometimes is the last guy you
want to ask for advice on where to start.



If you reply to this email, your message will be added to the discussion below:
http://octave.1599824.n4.nabble.com/Willing-to-work-for-octave-tp4660415p4660875.html
To unsubscribe from Willing to work for octave., click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
In reply to this post by Priyank Bhatt
Python offers an "easy" tag for bug reports:
<http://docs.python.org/devguide/fixingissues.html>
How about doing the same for Octave?
-F.
Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

msander
In reply to this post by fgnievinski
fgnievinski wrote
How about writing test cases for existing functions?
Would any of them benefit from more testing?
Like the OP i have been poking around looking for something to dig into.  I have looked at tests in existing code for inspiration.   What needs to be tested, and the requirements for such tests is (to me) rather vague.  

could you suggest a few functions for which tests should be written.   some tips on what should be tested for each, at least as a starting point, would be helpful.
Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Jordi Gutiérrez Hermoso-2
In reply to this post by fgnievinski
On Thu, 2014-01-09 at 17:12 -0800, fgnievinski wrote:
> Python offers an "easy" tag for bug reports:
> <http://docs.python.org/devguide/fixingissues.html> How about doing
> the same for Octave?

Sure, this hardly is a novel idea. Want to do it?

- Jordi G. H.


Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Jordi Gutiérrez Hermoso-2
In reply to this post by msander
On Thu, 2014-01-09 at 18:24 -0800, msander wrote:
> could you suggest a few functions for which tests should be written.
> some tips on what should be tested for each, at least as a starting
> point, would be helpful.

Compile Octave and run the test suite with "make check". There are
still some things that don't have tests. You can also look at the
tests that are failing, maybe you can make some of them should pass!

- Jordi G. H.


Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
In reply to this post by msander
Ideally tests should cover 100% of the code of the function under test.
AFAIK Octave doesn't have a code coverage tool, so you'd have to gauge coverage by eye...

Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
In reply to this post by Jordi Gutiérrez Hermoso-2
This assumes a C/C++ programmer.
Ideally we'd have easy tasks for Octave programmers...


On Fri, Jan 10, 2014 at 12:34 AM, Jordi Gutiérrez Hermoso-2 [via Octave] <[hidden email]> wrote:
On Thu, 2014-01-09 at 18:24 -0800, msander wrote:
> could you suggest a few functions for which tests should be written.
> some tips on what should be tested for each, at least as a starting
> point, would be helpful.

Compile Octave and run the test suite with "make check". There are
still some things that don't have tests. You can also look at the
tests that are failing, maybe you can make some of them should pass!

- Jordi G. H.





If you reply to this email, your message will be added to the discussion below:
http://octave.1599824.n4.nabble.com/Willing-to-work-for-octave-tp4660415p4660885.html
To unsubscribe from Willing to work for octave., click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
In reply to this post by Jordi Gutiérrez Hermoso-2
Sure.  Though now that I tried it, I can't seem to find a tags field in the bug tracker -- am I missing it?


On Fri, Jan 10, 2014 at 12:31 AM, Jordi Gutiérrez Hermoso <[hidden email]> wrote:
On Thu, 2014-01-09 at 17:12 -0800, fgnievinski wrote:
> Python offers an "easy" tag for bug reports:
> <http://docs.python.org/devguide/fixingissues.html> How about doing
> the same for Octave?

Sure, this hardly is a novel idea. Want to do it?

- Jordi G. H.



Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Jordi Gutiérrez Hermoso-2
On Fri, 2014-01-10 at 00:58 -0200, Felipe G. Nievinski wrote:

> On Fri, Jan 10, 2014 at 12:31 AM, Jordi Gutiérrez Hermoso
> <[hidden email]> wrote:

>> On Thu, 2014-01-09 at 17:12 -0800, fgnievinski wrote:

>>> Python offers an "easy" tag for bug reports:
>>> <http://docs.python.org/devguide/fixingissues.html> How about
>>> doing the same for Octave?

>> Sure, this hardly is a novel idea. Want to do it?

> Sure.  Though now that I tried it, I can't seem to find a tags field
> in the bug tracker -- am I missing it?

There's no tags field. Sadly, only project admin can manipulate bug
metadata after it's been created. But if you go and compile a list of
bugs you think that are easy, that's a good step.

- Jordi G. H.



Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Jordi Gutiérrez Hermoso-2
In reply to this post by fgnievinski
On Thu, 2014-01-09 at 18:56 -0800, fgnievinski wrote:
 
> On Fri, Jan 10, 2014 at 12:34 AM, Jordi Gutiérrez Hermoso-2 [via Octave] <
> [hidden email]> wrote:
>
> > On Thu, 2014-01-09 at 18:24 -0800, msander wrote:
> > > could you suggest a few functions for which tests should be written.
> > > some tips on what should be tested for each, at least as a starting
> > > point, would be helpful.
> >
> > Compile Octave and run the test suite with "make check".

> This assumes a C/C++ programmer.

I'm not sure what part "this assumes" refers to, but if you are
referring to compiling Octave, that does not require a C++ programmer
(C and C++ are different languages, and we no real C to speak of in
Octave, only some from gnulib).

Compiling Octave does, however, assume a non-Windows programmer or an
expert Windows programmer, because Windows is a difficult environment
for compiling Octave in. That's why we have MXE, because it's actually
easier to cross-compile Octave into Windows from GNU/Linux than to
install GNU tools on Windows in order to make it usable for Octave.
But that's ok for GSoC students, because there's a bigger pool of
possible mentors for our GSoC students if without Windows.

You don't have to know C++ in order to compile Octave, but you do
need to work with the dev version if you're to be working for GSoC.
Even if you're only writing m-code, you need to work with the
Mercurial version. Ideally, since GSoC is also about learning,
acquiring some C++ knowledge is also desirable.

Lastly, C++ is not *that* hard to learn. It's possible to quickly
learn enough C++ to do some basic Octave hacking. I know it's possible
because I have seen relatively inexperienced students do it, for
example, Benjamin Lewis in 2012.

- Jordi G. H.









Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

fgnievinski
In reply to this post by Jordi Gutiérrez Hermoso-2

On Fri, Jan 10, 2014 at 1:07 AM, Jordi Gutiérrez Hermoso <[hidden email]> wrote:
On Fri, 2014-01-10 at 00:58 -0200, Felipe G. Nievinski wrote:

> On Fri, Jan 10, 2014 at 12:31 AM, Jordi Gutiérrez Hermoso
> <[hidden email]> wrote:

>> On Thu, 2014-01-09 at 17:12 -0800, fgnievinski wrote:

>>> Python offers an "easy" tag for bug reports:
>>> <http://docs.python.org/devguide/fixingissues.html> How about
>>> doing the same for Octave?

>> Sure, this hardly is a novel idea. Want to do it?

> Sure.  Though now that I tried it, I can't seem to find a tags field
> in the bug tracker -- am I missing it?

There's no tags field. Sadly, only project admin can manipulate bug metadata after it's been created. But if you go and compile a list of bugs you think that are easy, that's a good step.

Will do.  How about the project tasks section in savannah?  It doesn't seem to be much used nowadays.  Would extracting tasks out of the bug reports be undesirable duplication?

Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

Jordi Gutiérrez Hermoso-2
On Fri, 2014-01-10 at 01:21 -0200, Felipe G. Nievinski wrote:

> How about the project tasks section in savannah? It doesn't seem to
> be much used nowadays. Would extracting tasks out of the bug reports
> be undesirable duplication?

No. That actually seems like a really good idea to me. Since we're not
using the tasks for anything, we could use it to explain easy bugs.
It's a bit or redundancy, but some redundancy is good for communication.

-Jordi G. H.






Reply | Threaded
Open this post in threaded view
|

Re: Willing to work for octave.

John W. Eaton
Administrator
In reply to this post by Jordi Gutiérrez Hermoso-2
On 01/09/2014 10:07 PM, Jordi Gutiérrez Hermoso wrote:

> On Fri, 2014-01-10 at 00:58 -0200, Felipe G. Nievinski wrote:
>
>> On Fri, Jan 10, 2014 at 12:31 AM, Jordi Gutiérrez Hermoso
>> <[hidden email]> wrote:
>
>>> On Thu, 2014-01-09 at 17:12 -0800, fgnievinski wrote:
>
>>>> Python offers an "easy" tag for bug reports:
>>>> <http://docs.python.org/devguide/fixingissues.html> How about
>>>> doing the same for Octave?
>
>>> Sure, this hardly is a novel idea. Want to do it?
>
>> Sure.  Though now that I tried it, I can't seem to find a tags field
>> in the bug tracker -- am I missing it?
>
> There's no tags field. Sadly, only project admin can manipulate bug
> metadata after it's been created. But if you go and compile a list of
> bugs you think that are easy, that's a good step.

Apart from whether it can be edited by non-admins, Savannah does allow
us to create an effort field.  It's a single line text box that's
intended to be an estimate of the time required but doesn't force you
to actually write particular text like "1 hour", so anything could go
there.

It's also possible to create a custom select box.  I assume that means
you get to choose the label that is displayed in the tracker along
with a set of custom menu items.  If so, then we could create one that
has options like "trivial" (fix a typo), "easy" (modify a function or
two), "difficult" (requires refactoring), "impossible" (requires
rewriting everything).

If there's interest, I'll add it.  But I think estimating effort for
any non-trivial tasks is complicated and I suspect that most trivial
or even easy bug reports have been dealt with.  But feel free to prove
me wrong.  There are 500 to select from, but I'd guess that you'll
find no more than 25 or so that could be classified as "easy".

In my experience, the proper fix for the "easy" ones is often somewhat
complex.  Sure, there may be an "easy" fix, but it can sometimes just
make things worse in terms of overall code quality and future
maintenance cost.

jwe
12