# New Ruby Implementation - Rhinestone

**URL:** <https://www.ruby-forum.com/t/new-ruby-implementation-rhinestone/133601>\
**Category:** Ruby\
**Created:** [April 2, 2008, 12:04am UTC](https://www.ruby-forum.com/t/new-ruby-implementation-rhinestone/133601 "2008-04-02T00:04:25Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![johnnybutler7](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8491ac/32.png) [@johnnybutler7](https://www.ruby-forum.com/u/johnnybutler7)\
**Post date:** [April 2, 2008, 12:04am UTC](https://www.ruby-forum.com/t/new-ruby-implementation-rhinestone/133601/1 "2008-04-02T00:04:25Z")

</div>

Rhinestone version 1.0.0 has been released!

- [http://geeksomnia.com](http://geeksomnia.com)
- [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

I am happy to annouce the first release of Rhinestone, my new fork of  
Ruby. Rhinestone’s design removes millions of unnecessary, useless  
bytes from Ruby.

Ruby is badly managed. The core developers have ignored my frequent  
requests to deal with this inexcusable inefficiency, often spamming me  
with “responses” written in a bizarre, incomprehensible nonsense  
language. I’m a uniter, not a divider, but this sort of behavior  
leaves me with very little choice.

Though I’ve inexplicably been denied access to Ruby’s source  
repository, I’ve decided to store Rhinestone on top of Ruby’s trunk.  
To extract the most up-to-date version of Rhinestone:

$ svn co [http://svn.ruby-lang.org/repos/ruby/trunk](http://svn.ruby-lang.org/repos/ruby/trunk)  
$ find trunk -type f -name ‘\*.rb’ | grep -v svn | xargs ruby -pi -e  
‘$_.gsub!(/[]{2,}/, " "); $_’  
$ make && mv ruby rhinestone

Though I’ve done my best to make Rhinestone integrate cleanly, Ruby’s  
current core cabal are likely to retaliate. If Rhinestone is broken,  
please file a ticket in Ruby’s bug tracker.

In subsequent releases, I’ll leverage the tens of millions of bytes  
Rhinestone removes to add innovative, community-driven, in-demand  
features. While the initial Rhinestone development push has consumed  
most of my time, I’ve included one commonly requested feature:

# Geoff Grosenbach will sing you a lullaby.

$ rhinestone --geoff

~ j. // Rhinestone cowboy.

---

<div class="post-metadata">

**Author:** ![johnnybutler7](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8491ac/32.png) [@johnnybutler7](https://www.ruby-forum.com/u/johnnybutler7)\
**Post date:** [April 2, 2008, 4:10am UTC](https://www.ruby-forum.com/t/new-ruby-implementation-rhinestone/133601/2 "2008-04-02T04:10:19Z")

</div>

Hi,

At Wed, 2 Apr 2008 07:00:39 +0900,  
John B. wrote in [ruby-talk:296690]:  
— Rhinestone~  
+++ Rhinestone  
@@ -19,6 +19,5 @@

$ svn co [http://svn.ruby-lang.org/repos/ruby/trunk](http://svn.ruby-lang.org/repos/ruby/trunk)

- $ find trunk -type f -name ‘\*.rb’ | grep -v svn | xargs ruby -pi -e
- ‘$_.gsub!(/[]{2,}/, " "); $_’

- $ find trunk -type f -name ‘\*.rb’ | xargs ruby -pi -e ‘$_.gsub!(/[  
]{2,}/, " "); $_’  
$ make && mv ruby rhinestone

Files under .svn directories are suffixed with .svn-base.

---

<div class="post-metadata">

**Author:** ![johnnybutler7](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8491ac/32.png) [@johnnybutler7](https://www.ruby-forum.com/u/johnnybutler7)\
**Post date:** [April 2, 2008, 4:55am UTC](https://www.ruby-forum.com/t/new-ruby-implementation-rhinestone/133601/3 "2008-04-02T04:55:07Z")

</div>

Hi,

On Tue, Apr 1, 2008 at 7:09 PM, Nobuyoshi N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Files under .svn directories are suffixed with .svn-base.

Thanks very much for your patch. As my Rhinestone implementation was  
initially perfect, this bug was undoubtedly introduced by Ruby’s core  
developers. Please open a ticket at  
[http://rubyforge.org/tracker/?func=browse&group\_id=426&atid=1698](http://rubyforge.org/tracker/?func=browse&group_id=426&atid=1698).

Thanks!

~ j.
