Google Summer of Code proposals open TODAY!

I posted previously about JRuby being accepted to the Google Summer of
Code 2012. Student proposals can be submitted starting TODAY, and we
really want to make a good showing for both JRuby and Ruby. Tell your
friends, tell your neighbors, pass this on to anyone you think would
be a good student or mentor!

This content is also available at http://jruby.org/gsoc.

We’re looking for good mentors and students to come together and help
make JRuby even more awesome. JRuby has great potential to expand Ruby
and to improve the state of Ruby development, and at the same time it
represents a number of interesting and unique challenges.

Ideas

Ideas for JRuby’s GSoC fall into a few categories:

Working on JRuby itself
JRuby always has challenges keeping up with CRuby/MRI on features, and
it’s through user contributions that we’ve managed to maintain such a
high level of compatibility. There are also many interesting technical
challenges implementing JRuby, like optimization, monitoring,
debugging, and integrating with the Java platform. We welcome students
interested in helping improve JRuby.

Working on libraries and tools for JRuby
Because JRuby runs on the JVM, many libraries from CRuby/MRI don’t
work, either because they depend on features the JVM can’t support
(like fork(2)) or because they use native extensions. This can make it
more difficult for users to migrate to JRuby. We welcome students
interested in helping fill out JRuby’s support for common CRuby/MRI
libraries.

Building on the JVM, its languages, and its libraries
The JVM is a huge platform with many languages and libraries that all
have unique features and interesting solutions to software problems.
JRuby can leverage those features through its Java Integration
capabilities, but often they need extra work to really have that “Ruby
feel”. We welcome students interested in helping JRuby leverage the
features of the JVM and the languages and libraries it hosts.

How to Get Involved

Students and mentors should join the JRuby development mailing list

Students

If you are a student and interested in working on a JRuby GSoC project
this summer, join the mailing list above and let us know what project
you have in mind. When the call for GSoC proposals opens, submit your
idea!

GSoC will be open for student proposals on March 25th (US time).

To apply, visit the the JRuby GSoC Page. If you don’t have a GSoC
profile, there’s a big Register link to create one. Once you have a
GSoC profile, you can apply.

Students should have the following skills:

Solid knowledge of Ruby. JRuby knowledge is a plus but not necessary.
Good work ethic. We want students that will carry projects to
completion.
Strong interest in the problem domain for their project. For example,
if you want to work on JRuby’s compilers, you should have an interest
in compilers.
We don’t know how many GSoC slots we’ll get, but the more proposals we
have the more likely we’ll get slots. Submit proposals as soon as
possible!

Mentors

If you are a mentor and would like to help a student work on some
project this summer, now is the time to apply at the GSoC page. We are
looking for folks that will be able to educate and encourage students
during the summer and help keep them to a solid schedule.

Mentors will be accepted any time during the proposal process.

To apply, visit the the JRuby GSoC Page. If you don’t have a GSoC
profile, there’s a big Register link to create one. Once you have a
GSoC profile, you can apply.

Mentors should have the following characteristics:

Some experience mentoring junior developers, either professionally or
academically.
Strong knowledge of Ruby, and solid knowledge of JRuby.
Knowledge of the Java platform and/or the JVM are recommended, since
many students will be new to them.
Highly accessible. Students will participate from all over the world
and frequent, consistent communication is the best way to guarantee
success.

We’ve had a lot of good discussions on IRC, and IM and twitter about
possible proposals…

This is an update that we’ve got one week left for proposals, and I
encourage students to get proposals in sooner rather than later so
they’re in the system.

So far we have interesting proposals for working with JRuby’s IR,
Android/Ruboto work, Shoes, benchmarking, Kilim integration, EM on
Netty…but few are submitted to the GSoC tool.

Don’t be afraid to submit…you can edit the proposal afterwards, and
there’s a commenting system where we can discuss the content and help
you put together a great proposal.

For non-students out there: we’d really appreciate you passing this
information along to any students you know that might want to be paid
to work on JRuby-related OSS projects this summer. The more proposals
we get, the more slots we’re likely to have!

  • Charlie

On Sat, Mar 24, 2012 at 11:51 PM, Charles Oliver N.

I am interested in working on the IR, either on the optimising or Dalvik
back end. Could I get more details about either of these?

Thanks
Lynne

I am interested in working on the IR, either on the optimising or Dalvik
back end. Could I get more details about either of these?

Thanks
Lynne

I think Tom or Subbu can give better information about the IR, but
I’ll offer what I can.

JRuby’s new IR is basically a complete intermediate representation +
runtime for executing Ruby code. The IR provides a more optimizable
view into Ruby code, allowing us to do simple things like dead code
elimination and more complex things like inlining, type propagation,
and large-scale static optimization.

The IR runtime is a register-based system, which makes it very
suitable for translation to Dalvik bytecode. There are now tools for
emitting Dalvik bytecode that can work on-device, so we’re interested
in possible making our first Dalvik compiler use the IR as its
mechanism.

If you work on the optimization side, you’d work with Subbu and Tom.
If you were to work on the Dalvik side, you’d work with me and/or a
mentor very familiar with Android, and Tom and Subbu would provide
extra support.

Do you have a background or special interest in compilation?

  • Charlie

My general background in compilers:
A few months ago I implemented both the front and back end of a small C
to JVM compiler using the ASM bytecode generation library (which I have
seen JRuby has at least used in the past). It was really interesting and
fun to do so I would like to do more in the general compiler area, be it
optimising or new back ends.

On the Dalvik side:
I interned for a mobile apps company last year in which I worked on
creating Android apps, so Dalvik interests me in the sense that I would
love to know more about how it works from a developers point of view.
There is also a chance that my research project for the next 2 years
will be in extending the JIT compiler in Dalvik to exploit parallel
architectures so anything Dalvik related ties in really well with my
interests.

On the optimising side:
The theory behind compilers is really interesting so any opportunity
learn more is what I’m after.

Thanks for the info,
Lynne

This sounds like a perfect background!

I suggest you submit a proposal based on your interests, and we can
revise it in the GSoC tool up until proposals close this weekend.

Based on your background, it sounds like something Dalvik-oriented
that heavily utilizes the IR (and probably improves it in the process)
would be a great project. Dalvik backend would drive improvements to
IR, which would improve Dalvik backend, and so on.

  • Charlie

Great I’ll get on to it, thanks for the help.

Last chance!

GSoC proposals close TODAY at 19:00UTC, 12:00PDT!

We can (and will) continue to discuss the proposals – and we can
continue to revise them – during the two-week review period, so
last-minute entries are acceptable.

If you’ve been waiting for the last minute…THIS IS IT. Get your
proposals in ASAP!

http://jruby.org/gsoc

  • Charlie

On Sat, Mar 24, 2012 at 11:51 PM, Charles Oliver N.

Just appending onto Charlie’s post because it sounds like you guys
hashed this out enough to get started on a proposal…

This sounds like a great project idea. A couple of outcomes I think
that should be added to the proposal:

  1. Abstracting current IR JIT and Dalvik backend to find common ground
    in bytecode generation facilities.
  2. Identifying missing implicit state in the current IR instruction
    set which would be need to make a Davlik backend easy to compile to.

-Tom

On Mon, Apr 2, 2012 at 11:08 AM, Charles Oliver N.
[email protected] wrote:

  • Charlie

I interned for a mobile apps company last year in which I worked on creating
Thanks for the info,
view into Ruby code, allowing us to do simple things like dead code
If you were to work on the Dalvik side, you’d work with me and/or a
back end. Could I get more details about either of these?
We’ve had a lot of good discussions on IRC, and IM and twitter about

Code 2012. Student proposals can be submitted starting TODAY, and we

high level of compatibility. There are also many interesting technical
Because JRuby runs on the JVM, many libraries from CRuby/MRI dont

Mentors will be accepted any time during the proposal process.


To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


blog: http://blog.enebo.com twitter: tom_enebo
mail: [email protected]