# Rubygems-sing 1.0.0 Released

**URL:** <https://www.ruby-forum.com/t/rubygems-sing-1-0-0-released/181930>\
**Category:** Ruby\
**Created:** [January 20, 2010, 11:08am UTC](https://www.ruby-forum.com/t/rubygems-sing-1-0-0-released/181930 "2010-01-20T11:08:57Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [January 20, 2010, 11:08am UTC](https://www.ruby-forum.com/t/rubygems-sing-1-0-0-released/181930/1 "2010-01-20T11:08:57Z")

</div>

rubygems-sing version 1.0.0 has been released!

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

“Sings” a gem’s implementation.

Changes:

### 1.0.0 / 2010-01-20

- 1 major enhancement

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [January 21, 2010, 6:58am UTC](https://www.ruby-forum.com/t/rubygems-sing-1-0-0-released/181930/2 "2010-01-21T06:58:48Z")

</div>

> “Sings” a gem’s implementation.

What does it do, exactly?  
Thanks.  
-r

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [January 26, 2010, 12:45am UTC](https://www.ruby-forum.com/t/rubygems-sing-1-0-0-released/181930/3 "2010-01-26T00:45:08Z")

</div>

On Wed, Jan 20, 2010 at 07:08:17PM +0900, Ryan D. wrote:

> rubygems-sing version 1.0.0 has been released!
> 
> - [http://rubyforge.org/projects/seattlerb](http://rubyforge.org/projects/seattlerb)
> 
> “Sings” a gem’s implementation.

Ryan, this is awesome. Thank you :-).

/me ponders writing a gem just so it will ‘sing’ something interesting.

enjoy,

-jeremy

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [January 26, 2010, 1:03am UTC](https://www.ruby-forum.com/t/rubygems-sing-1-0-0-released/181930/4 "2010-01-26T01:03:16Z")

</div>

On Mon, Jan 25, 2010 at 3:39 PM, Jeremy H.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> /me ponders writing a gem just so it will ‘sing’ something interesting.  
> Or perhaps a gem that, given, a MIDI file with a melody in it,  
> generates the source for ANOTHER gem that’ll sing the melody. Ready,  
> go! First person to write this gets bought drinks by at least two  
> members of Seattle.rb at the next RubyConf.

~ j.

---

<div class="post-metadata">

**Author:** ![aguynamedryan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/43a26b/32.png) [@aguynamedryan](https://www.ruby-forum.com/u/aguynamedryan)\
**Post date:** [January 26, 2010, 1:26am UTC](https://www.ruby-forum.com/t/rubygems-sing-1-0-0-released/181930/5 "2010-01-26T01:26:40Z")

</div>

On Jan 25, 2010, at 15:58 , John B. wrote:

> Or perhaps a gem that, given, a MIDI file with a melody in it,  
> generates the source for ANOTHER gem that’ll sing the melody. Ready,  
> go! First person to write this gets bought drinks by at least two  
> members of Seattle.rb at the next RubyConf.

The original idea that I got this from was an article in Communications  
of the ACM called “Siren Songs” (iirc). The idea was more along the  
lines of “Peter and the Wolf” where each thread (or process, or AST node  
type, or or) has its own musical theme. That way you can start using ear  
to differentiate who’s doing what. You can then end up debugging just by  
listening and using our pattern matching skills to notice that something  
went divergent. You can even tell WHAT went divergent by using themed  
music.

I think it is a great idea. Something pretty easy to do with ruby\_parser

- ruby2ruby + some actual midi skills. In case you can’t tell, I’m good  
with the first two, and suck on the last one. 🙂
