On Wed, 22 Mar 2006, Marc Hadley defenestrated me:
> Hi,
>
> I was going to take a crack at implementing String#unpack for 'u',
> 'm' and 'M' as requested in bugs 911493 and 911497 but it seems that
> someone already beat me to it - perhaps someone should close those
> bugs ?
Yes. Thanks for pointing these out.
> Are there any other bugs/features that someone new to the codebase
> (i.e. me) could profitably spend their time on ?
Well I thought about proposing 1121928 since it is working with
fixing a method implementation. It may be a little challenging though.
With the recent interest in JRuby recently I will try and start
converting various TODO/Fixme's in our code into tasks that I think
new developers can sink into. I thought I had a few in the bug database
but someone already fixed them :)
Also, here is a draft of a document I have written, but not added to the
website yet:
If you want to help make JRuby a better piece of software there are many ways
you can help. This document is divided into three areas:
1. Ruby coders
2. Java coders
3. Documenters
Most people interested in JRuby qualify for all three areas. Please
consider each area as they are all important to the success of the project.
Ruby Coders
As a Ruby coder you can help JRuby by finding areas where JRuby is not
behaving properly. This generally involves trying to use JRuby in place
of Ruby and seeing if your software runs. When you find something which
is behaving incorrectly (or not at all), then you should:
a. Reduce the problem as small as you can. Hopefully it ends up being
a couple of line test case
b. See if you can find a bug report on jruby's sourceforge site
c.i. If so, then you can comment on the bug if you think you have something
to add which may be helpful in correcting/diagnosing the problem.
Especially, if you have a better test case.
c.ii. It not, then you should send an email to jruby-devel with the test case,
and if helpful, what module you noticed the problem in.
d. A Java developer will triage the problem and either:
i. Fix the problem
ii. Ask you to add a bug report
iii. May add the bug report themselves (they may have some insight that
makes this a better choice)
Java Coders
As a Java code you contribute by fixing problems or missing functionality
in the JRuby implementation of Ruby. Additionally, you can contribute time
to improving the java integration or embedding features of JRuby.
The first thing you should do is create a working sandbox and make sure you can
compile and run JRuby. See {getting a working sandbox} for more information
on this.
The next thing you should do is figure out what you want to work on. Largely,
most frequent contributors generally contribute to itch their own scratch.
This means they want some ruby software to run and they have found problems
that are impairing their progress. What if you don't have any current
itches? We have plenty of tasks you can work on:
a. Any open bug on the sourceforge site is fair game
b. Any TODO/Fixme in the source may be fair game. If the TODO is an obvious
error in Ruby behavior then you can just fix it. If it is a refactoring
TODO which was written by someone who would like a section rewritten, then
you should send a message to jruby-devel and inquire about the item.
c. Any missing native library in Ruby which JRuby does not have yet (e.g.
zlib, socket, digest, etc...). We are trying to write all these libraries
in Ruby using Java integration. You can look at digest.rb in our source
distribution for an example of how this can work.
d. Try making a script to exercise a standard library in Ruby with JRuby. For
example, require matrix.rb and do some matrix operations and see if Ruby
and JRuby match.
e. Try running against unit tests in Ruby source tests directory against
JRuby.
f. Look for missing methods in JRuby's implementation of core libraries.
In some cases we have TODO's indicating these and in others we don't.
The Pickaxe book is useful in this case
g. Find something undesirable/missing about JRuby's java integration features
and propose something.
h. You can always ask the jruby-devel mailing list. You may or may not
get an answer depending on the winds direction.
When you do find something to work on, follow the following process:
a. Make sure no one is already working on your new found task. To do this:
i. Look for bug report on JRuby's sourceforge bug list
ii. Send a message to jruby-devel saying what you are working on. Someone
may have input that can help you out. Having a reduced test-case when
possible is always desired to limit the scope of discussion.
b. Become a code monkey and fix the problem (or add the feature)
c. Add test case(s) in the tests directory to exercise the problem
d. Make sure you did not create any regressions
i. via built-in unit tests
ii. via rubicon test suite
d. Generate a patch from the root of the project tree
e. Submit the patch to jruby-devel
f. pat your self on the back and find another thing to work on
After a trial period where we get used to your contributions, personality,
and general commitment (read this as you did not submit two patches and then
quit the project), we will make you a full contributor.
Documenters
JRubys documentation is sorely lacking. Almost any idea for better
documentation would be helpful. Ideas for documentation include:
a. Introductory documents on topics like:
i. Embedding JRuby into a Java application
ii. Example using JRuby's Java integration features
b. Better core API documentation:
i. java integration features (low-level and high-level docs)
ii. BSF documentation
c. Example code with commentary
If you want to help make JRuby a better piece of software there are many ways
you can help. This document is divided into three areas:
1. Ruby coders
2. Java coders
3. Documenters
Most people interested in JRuby qualify for all three areas. Please
consider each area as they are all important to the success of the project.
Ruby Coders
As a Ruby coder you can help JRuby by finding areas where JRuby is not
behaving properly. This generally involves trying to use JRuby in place
of Ruby and seeing if your software runs. When you find something which
is behaving incorrectly (or not at all), then you should:
a. Reduce the problem as small as you can. Hopefully it ends up being
a couple of line test case
b. See if you can find a bug report on jruby's sourceforge site
c.i. If so, then you can comment on the bug if you think you have something
to add which may be helpful in correcting/diagnosing the problem.
Especially, if you have a better test case.
c.ii. It not, then you should send an email to jruby-devel with the test case,
and if helpful, what module you noticed the problem in.
d. A Java developer will triage the problem and either:
i. Fix the problem
ii. Ask you to add a bug report
iii. May add the bug report themselves (they may have some insight that
makes this a better choice)
Java Coders
As a Java code you contribute by fixing problems or missing functionality
in the JRuby implementation of Ruby. Additionally, you can contribute time
to improving the java integration or embedding features of JRuby.
The first thing you should do is create a working sandbox and make sure you can
compile and run JRuby. See {getting a working sandbox} for more information
on this.
The next thing you should do is figure out what you want to work on. Largely,
most frequent contributors generally contribute to itch their own scratch.
This means they want some ruby software to run and they have found problems
that are impairing their progress. What if you don't have any current
itches? We have plenty of tasks you can work on:
a. Any open bug on the sourceforge site is fair game
b. Any TODO in the source may be fair game. If the TODO is an obvious error
in Ruby behavior then you can just fix it. If it is a refactoring TODO
which was written by someone who would like a section rewritten, then you
should send a message to jruby-devel and inquire about the item.
c. Any missing native library in Ruby which JRuby does not have yet (e.g.
zlib, socket, digest, etc...). We are trying to write all these libraries
in Ruby using Java integration. You can look at digest.rb in our source
distribution for an example of how this can work.
d. Try making a script to exercise a standard library in Ruby with JRuby. For
example, require matrix.rb and do some matrix operations and see if Ruby
and JRuby match.
e. Try running against unit tests in Ruby source tests directory against
JRuby.
f. Look for missing methods in JRuby's implementation of core libraries.
In some cases we have TODO's indicating these and in others we don't.
The Pickaxe book is useful in this case
g. Find something undesirable/missing about JRuby's java integration features
and propose something.
h. You can always ask the jruby-devel mailing list. You may or may not
get an answer depending on the winds direction.
When you do find something to work on, follow the following process:
a. Make sure no one is already working on your new found task. To do this:
i. Look for bug report on JRuby's sourceforge bug list
ii. Send a message to jruby-devel saying what you are working on. Someone
may have input that can help you out. Having a reduced test-case when
possible is always desired to limit the scope of discussion.
b. Become a code monkey and fix the problem (or add the feature)
c. Add test case(s) in the tests directory to exercise the problem
d. Make sure you did not create any regressions
i. via built-in unit tests
ii. via rubicon test suite
d. Generate a patch from the root of the project tree
e. Submit the patch to jruby-devel
f. pat your self on the back and find another thing to work on
After a trial period where we get used to your contributions, personality,
and general commitment (read this as you did not submit two patches and then
quit the project), we will make you a full contributor.
Documenters
JRubys documentation is sorely lacking. Almost any idea for better
documentation would be helpful. Ideas for documentation include:
a. Introductory documents on topics like:
i. Embedding JRuby into a Java application
ii. Example using JRuby's Java integration features
b. Better core API documentation:
i. java integration features (low-level and high-level docs)
ii. BSF documentation
c. Example code with commentary
--
+ http://www.tc.umn.edu/~enebo +---- mailto:[EMAIL PROTECTED] ----+
| Thomas E Enebo, Protagonist | "Luck favors the prepared |
| | mind." -Louis Pasteur |
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Jruby-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jruby-devel