# JRuby Extras - making Ruby apps spectacular in the Java worl

**URL:** <https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185>\
**Category:** Ruby\
**Created:** [August 3, 2006, 2:23pm UTC](https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185 "2006-08-03T14:23:38Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Charles\_O\_Nutter](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/aeb1de/32.png) [@Charles\_O\_Nutter](https://www.ruby-forum.com/u/Charles_O_Nutter)\
**Post date:** [August 3, 2006, 2:23pm UTC](https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185/1 "2006-08-03T14:23:38Z")

</div>

I’m happy to announce the JRuby Extras project, on RubyForge as  
jruby-extras. This project is intended to be a community-maintained  
nursery  
of plugins and extensions to extend JRuby’s capabilities and to provide  
Java-based versions of many popular C extensions. Here’s a short list of  
projects to be nurtured under the JRuby Extras banner:

- A Mongrel for JRuby, with Java-based http11 and tst extensions
- An ActiveRecord JDBC adapter, which will eventually promise full  
database  
independence for Rails apps
- A set of Java-aware Rake tasks to finally allow poor, sad Java  
developers  
to eliminate ten-thousand-line Ant scripts for their builds
- An “AntBuilder” project, to allow defining those ten-thousand-line ant  
scripts in something less similar to angle-bracket insanity
- And much more to come!

JRuby opens up a whole new world to Rubyists, but there are little gaps  
to  
fill to support all the popular apps. JRuby Extras will be the answer to  
those gaps. Success for Ruby on the JVM means more success for Ruby  
overall…and that’s what we all want, isn’t it?

Anyone interested in porting an extension to Java or making their  
favorite  
Ruby app run under JRuby should join the project! Visit jruby-extras at  
RubyForge:

[http://rubyforge.org/projects/jruby-extras/](http://rubyforge.org/projects/jruby-extras/)

And for those of you interested, JRuby has moved to Codehaus as of this  
week. We’re blazing ahead on performance and compatibility initiatives,  
and  
the future is looking great for Ruby on the JVM.

Visit [http://www.jruby.org](http://www.jruby.org)

Thank you!

---

<div class="post-metadata">

**Author:** ![Charles\_O\_Nutter](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/aeb1de/32.png) [@Charles\_O\_Nutter](https://www.ruby-forum.com/u/Charles_O_Nutter)\
**Post date:** [August 3, 2006, 2:24pm UTC](https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185/2 "2006-08-03T14:24:44Z")

</div>

On Thu, 2006-08-03 at 14:40 +0900, Charles O Nutter wrote:

> I’m happy to announce the JRuby Extras project, on RubyForge as  
> jruby-extras. This project is intended to be a community-maintained nursery  
> of plugins and extensions to extend JRuby’s capabilities and to provide  
> Java-based versions of many popular C extensions. Here’s a short list of  
> projects to be nurtured under the JRuby Extras banner:
> 
> - A Mongrel for JRuby, with Java-based http11 and tst extensions

The tst is going away. 0.4 won’t have it so you’re better off doing an  
alternative to http11. The code for this is in the svn, ask me for help  
getting it.

Also, please please please please please please please please please  
please please please please please please please don’t don’t don’t don’t  
don’t don’t don’t don’t don’t don’t … hand code the HTTP parser.

Use a parser generator.

Anyway, feel free to hit me up for help.

---

<div class="post-metadata">

**Author:** ![Charles\_O\_Nutter](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/aeb1de/32.png) [@Charles\_O\_Nutter](https://www.ruby-forum.com/u/Charles_O_Nutter)\
**Post date:** [August 3, 2006, 2:24pm UTC](https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185/3 "2006-08-03T14:24:45Z")

</div>

Zed S. wrote:

> alternative to http11. The code for this is in the svn, ask me for help  
> getting it.
> 
> Also, please please please please please please please please please  
> please please please please please please please don’t don’t don’t don’t  
> don’t don’t don’t don’t don’t don’t … hand code the HTTP parser.
> 
> Use a parser generator.
> 
> Anyway, feel free to hit me up for help.

Well, the TST took only 1 hour to port, so I believe it’s OK to waste  
that time. Regarding the parser, we’ve discussed it back and forth. The  
problem is that Ragel isn’t available on Java yet. But hand coding it  
was never an option (I’ve read your statements about how many security  
holes get fixed by having a parser generator). Right now Danny Lagrouw  
have created a JavaCC version which seems really good.

No worries, we want Mongrel on JRuby because it’s _good_ at what it  
does, so it would defeat our purposes to change any of that.

–  
Ola B. ([http://ola-bini.blogspot.com](http://ola-bini.blogspot.com))  
JvYAML, RbYAML, JRuby and Jatha contributor  
System Developer, Karolinska Institutet ([http://www.ki.se](http://www.ki.se))  
OLogix Consulting ([http://www.ologix.com](http://www.ologix.com))

“Yields falsehood when quined” yields falsehood when quined.

---

<div class="post-metadata">

**Author:** ![Charles\_O\_Nutter](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/aeb1de/32.png) [@Charles\_O\_Nutter](https://www.ruby-forum.com/u/Charles_O_Nutter)\
**Post date:** [August 3, 2006, 2:24pm UTC](https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185/4 "2006-08-03T14:24:45Z")

</div>

On 8/3/06, Zed S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 

Ola already replied, but we’re definitely better of as you say using a  
parser generator, even if it is JavaCC-based. The best way you could  
probably help us is paving the way for this to be included in  
mongrel-core  
at some point. Ideally we’d eventually like Ruby and JRuby users alike  
to  
just install the same gems, knowing they’ll come along with the  
appropriate  
native bits for the target implementation. That’s the big goal,  
anyway…avoiding JRuby forks of all the same projects.

---

<div class="post-metadata">

**Author:** ![Charles\_O\_Nutter](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/aeb1de/32.png) [@Charles\_O\_Nutter](https://www.ruby-forum.com/u/Charles_O_Nutter)\
**Post date:** [August 3, 2006, 2:24pm UTC](https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185/5 "2006-08-03T14:24:45Z")

</div>

On Thu, 2006-08-03 at 16:20 +0900, Ola B. wrote:

> > The tst is going away. 0.4 won’t have it so you’re better off doing an
> 
> Well, the TST took only 1 hour to port, so I believe it’s OK to waste  
> that time. Regarding the parser, we’ve discussed it back and forth.

That’s cool, but the problem isn’t how easy it is to write, the problem  
is that \_why wrote a completely different URI classifier that allows for  
nicer notifiers and registrations and all in pure Ruby. It’s in the 0.4  
code, so your work was basically for nothing really.

We should maybe coordinate on this a bit so that you folks get the right  
code to base your work on and we can sync up with the 0.4 release.

---

<div class="post-metadata">

**Author:** ![Charles\_O\_Nutter](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/aeb1de/32.png) [@Charles\_O\_Nutter](https://www.ruby-forum.com/u/Charles_O_Nutter)\
**Post date:** [August 3, 2006, 2:24pm UTC](https://www.ruby-forum.com/t/jruby-extras-making-ruby-apps-spectacular-in-the-java-worl/101185/6 "2006-08-03T14:24:45Z")

</div>

On 8/3/06, Zed S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> We should maybe coordinate on this a bit so that you folks get the right  
> code to base your work on and we can sync up with the 0.4 release.

Absolutely…I think the jruby-extras devs involved in the mongrel  
effort  
should connect with y’all and do it up right. Thanks for the help!
