# Ruby Weekly News 6th - 12th December 2004

**URL:** <https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289>\
**Category:** ruby-talk\
**Created:** [14 December 2004 08:57 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289 "2004-12-14T08:57:21Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tim\_Sutherland1](https://avatars.discourse-cdn.com/v4/letter/t/8e7dd6/32.png) [@Tim\_Sutherland1](https://rubytalk.org/u/Tim_Sutherland1)\
**Post date:** [14 December 2004 08:57 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289/1 "2004-12-14T08:57:21Z")

</div>

[http://www.rubygarden.org/ruby?RubyNews/2004-12-06](http://www.rubygarden.org/ruby?RubyNews/2004-12-06)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ruby Weekly News 6th - 12th December 2004

> **···**
>
> -----------------------------------------
> 
> &nbsp;&nbsp;&nbsp;A summary of the week's activity on the ruby-talk mailing list / the  
> &nbsp;&nbsp;&nbsp;comp.lang.ruby newsgroup. This summary is brought to you by Tim Sutherland  
> &nbsp;&nbsp;&nbsp;(TimSuth).
> 
> Articles and Announcements  
> --------------------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [Duck Images Weekly News]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[whytheluckystiff] parodied the Ruby Weekly News in response to a  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;comment from Dave Burt that [last week's RubyNews] failed to  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include the [Duck Images thread]. Your editor gets the last  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;laugh(?) though, the second post in that thread wasn't until the  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6th of December, meaning it falls inside this week's summary. See  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Threads for more duck news.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [RMagick pre-requisite changes]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tim Hunter gave a "heads up" that future versions of the image  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;library [RMagick] (a Ruby interface to ImageMagick and  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GraphicsMagick) will no longer be tested with versions of  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageMagick earlier than 6.0.0 and may cease to work with them.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [ruby-dev summary]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SASADA Koichi posted the latest English summary of the Japanese  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list ruby-dev, covering messages 24959-25044.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [RSS, Ruby, and the Web]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tom Copeland reported that this month's Dr. Dobb's Journal has an  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;article by Dave Thomas on [RSS, Ruby, and the Web].  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Pay-subscription required to view the article on the web.)
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [Dynamic Java: Sun explores dynamic languages]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;James Britt noticed that Sun is [exploring] how to better support  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dynamic languages on the Java platform. There was a meeting which  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;included creators/maintainers from Perl, Python, Jython, Groovy  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and Parrot. No Ruby representative, but Ruby will benefit from any  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;improvements in this area.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [Want to Write a Book?]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dave Thomas wants to launch a series of books from the Pragmatic  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bookshelf called "Facets of Ruby". These will be small, focused,  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;technical books on different aspects of Ruby. He's looking for  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writers for them - this is your opportunity to become an author!  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"The intent is to create a series of books with a deeply practical  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;focus. We won't just document APIs. Instead, we want to show how  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to get \_value\_ from those APIs---how to solve real-world problems.  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The books will probably be 100-250 pages long, and full of code."
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [A neat article on Rails performance...]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tom Copeland drew the group's attention to an article [Session  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Container Performance in Ruby on Rails] by "Scott Barron of  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EliteJournal fame".
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [Development Assistance]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Austin Ziegler asked for volunteers to help enhance some of the  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries he maintains: MIME::Types, Diff::LCS and PDF::Writer.
> 
> Threads  
> -------
> 
> &nbsp;&nbsp;&nbsp;Interesting threads this week included:
> 
> &nbsp;&nbsp;[Duck images]  
> &nbsp;&nbsp;-------------
> 
> &nbsp;&nbsp;&nbsp;Dave Burt wrote:
> 
> &nbsp;&nbsp;"Phil Tomson recently suggested developing a duck image to represent ruby  
> &nbsp;&nbsp;instead of the standard red stone thing.  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;Nikolai Weibull said this has been proposed before, but copyright  
> &nbsp;&nbsp;encumbrance has been an issue."
> 
> &nbsp;&nbsp;&nbsp;The duck, of course, refers to DuckTyping (coined by Dave Thomas), the  
> &nbsp;&nbsp;&nbsp;notion that the "type" of an object in Ruby should be seen in terms of the  
> &nbsp;&nbsp;&nbsp;capabilities and methods it supports rather than its class - if it walks  
> &nbsp;&nbsp;&nbsp;like a duck and quacks like a duck then it's a duck. (This is a well-known  
> &nbsp;&nbsp;&nbsp;saying in the English language.)
> 
> &nbsp;&nbsp;&nbsp;Dave Burt continued, announcing that whytheluckystiff had heard the cries  
> &nbsp;&nbsp;&nbsp;for help and used his artistic skills to create [The Only Copyrightless  
> &nbsp;&nbsp;&nbsp;Duck In Recent History].
> 
> &nbsp;&nbsp;&nbsp;The thread began with a small ASCII-art version of whytheluckystiff's  
> &nbsp;&nbsp;&nbsp;duck. Dave also posted a larger version using a short program he wrote  
> &nbsp;&nbsp;&nbsp;(img2ascii.rb) that used the [ruby-gd] library to automatically convert  
> &nbsp;&nbsp;&nbsp;the original image to ASCII. T. Onoma gave an alternative that was  
> &nbsp;&nbsp;&nbsp;constructed with [Jave] (Java ASCII Versatile Editor).
> 
> &nbsp;&nbsp;&nbsp;whytheluckystiff:
> 
> &nbsp;&nbsp;"I'm amazed at the progress that has been made in just the last 12  
> &nbsp;&nbsp;hours. If you'd like to start using any of these ducks, in the form of  
> &nbsp;&nbsp;a one-line signature, here's a DRb line:  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;ruby -rdrb -e  
> &nbsp;&nbsp;'DRb.start\_service;duck=DRbObject.new(nil,  
> &nbsp;&nbsp;"druby://whytheluckystiff.net:6503");puts duck.daves'  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;Several other ducks are available at this service, try "puts duck.toms"  
> &nbsp;&nbsp;or "puts duck.on\_the\_water". For a complete list: "puts duck.list".  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;Think of it. In time, we could amass ducks to use them as currency on  
> &nbsp;&nbsp;the global markets. I think we can take Switzerland."
> 
> &nbsp;&nbsp;&nbsp;Combining duck images with the idea of Ruby code in signatures for email  
> &nbsp;&nbsp;&nbsp;and newsgroups (see the Previous RubyNews), Florian Frank gave three lines  
> &nbsp;&nbsp;&nbsp;of Ruby that produce an animated duck swimming on water and quacking. Many  
> &nbsp;&nbsp;&nbsp;people began going back and forth making it shorter. Jannis Harder posted  
> &nbsp;&nbsp;&nbsp;one in 108 characters:
> 
> &nbsp;&nbsp;i=1;loop{puts"\e[2J\e[;11H\_\n%9s(\*)\_\_\_\_,\n%9s(` =~~/  
> &nbsp;&nbsp;#{'~^~'[i%=2,2]\*9}"%[i\>0?'\<':'Quack! \>',''];i+=sleep 1}
> 
> &nbsp;&nbsp;[Ruby (quiz?) simulation idea]  
> &nbsp;&nbsp;------------------------------
> 
> &nbsp;&nbsp;&nbsp;Hal Fulton had an idea for a future Ruby Quiz: write a program that models  
> &nbsp;&nbsp;&nbsp;a population of living creatures (similar to Conway's Life) as a grid of  
> &nbsp;&nbsp;&nbsp;squares with moving critters who can mate and produce offspring with  
> &nbsp;&nbsp;&nbsp;different genes. The program would determine when (if ever?) the genotype  
> &nbsp;&nbsp;&nbsp;frequencies of the population stabilised, using two different methods - by  
> &nbsp;&nbsp;&nbsp;running the simulation and also by using mathematics to predict the time  
> &nbsp;&nbsp;&nbsp;when equilibrium occurs. James Edward Gray II (the Ruby Quiz organiser)  
> &nbsp;&nbsp;&nbsp;thought that coming up with the mathematics could be left for  
> &nbsp;&nbsp;&nbsp;"extra-credit", saying "Some of us are easily pleased and would be content  
> &nbsp;&nbsp;&nbsp;watching little dots move around and multiply."
> 
> &nbsp;&nbsp;&nbsp;Brian Schröder had heard of an example of evolution using bats:
> 
> &nbsp;&nbsp;"I'd like to propose something a bit different that stresses the fact that  
> &nbsp;&nbsp;evolution is \_not\_ survival of the \_strongest\_ but survival of the \_fittest  
> &nbsp;&nbsp;population\_.  
> &nbsp;&nbsp;...  
> &nbsp;&nbsp;A bat may share the blood it has gathered through the night with another bat  
> &nbsp;&nbsp;that had no success. But why should it? If it shares, it needs to gather  
> &nbsp;&nbsp;successfully the next night, otherwise it will starve. So it diminusishes its  
> &nbsp;&nbsp;strength and helps a rival, whose genes will have a better chance to spread.  
> &nbsp;&nbsp;Wouldn't it be better off being egoistic and increasing its survival  
> &nbsp;&nbsp;possibility?  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;In practice, the bats developed some kind of "tit for tat" algorithm. So it is  
> &nbsp;&nbsp;\_for the population with this trait\_ an evolutionary positive trait to be  
> &nbsp;&nbsp;altruistic."
> 
> &nbsp;&nbsp;&nbsp;Ducks, bats, [foxes]! What other animals will be co-opted for nefarious  
> &nbsp;&nbsp;&nbsp;Ruby uses next?
> 
> &nbsp;&nbsp;[[SUMMARY] Crosswords (#10)]  
> &nbsp;&nbsp;----------------------------
> 
> &nbsp;&nbsp;&nbsp;James Edward Gray II summarised the solutions to last week's Ruby  
> &nbsp;&nbsp;&nbsp;Quiz (turning a crossword layout description into an ASCII-art  
> &nbsp;&nbsp;&nbsp;format). One interesting solution was Pit Capitain's, whose code  
> &nbsp;&nbsp;&nbsp;includes a method String#gsub2! which uses two-dimensional regular  
> &nbsp;&nbsp;&nbsp;expressions!
> 
> &nbsp;&nbsp;[[QUIZ] Learning Tic-Tac-Toe (#11)]  
> &nbsp;&nbsp;-----------------------------------
> 
> &nbsp;&nbsp;&nbsp;The latest installment in the adventures of [Ruby Quiz] began with our  
> &nbsp;&nbsp;&nbsp;narrator (James Edward Gray II)...
> 
> &nbsp;&nbsp;"This week's Ruby Quiz is to implement an AI for playing Tic-Tac-Toe, with a  
> &nbsp;&nbsp;catch: You're not allowed to embed any knowledge of the game into your  
> &nbsp;&nbsp;creation beyond how to make legal moves and recognizing that it has won or  
> &nbsp;&nbsp;lost.  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;Your program is expected to "learn" from the games it plays, until it masters  
> &nbsp;&nbsp;the game and can play flawlessly."
> 
> &nbsp;&nbsp;&nbsp;Jannis Harder posted a special signature for the occasion. You'll have to  
> &nbsp;&nbsp;&nbsp;run it to see what it does!
> 
> &nbsp;&nbsp;"bp6siZmijp5CiZlCiW5CgAAChpbiiZYiiZZCi5aCZ2bs".unpack("m")[0].  
> &nbsp;&nbsp;unpack("C\*").map{|x|x.chr}.join.unpack("B\*")[0].scan(/.{24}/){i=7  
> &nbsp;&nbsp;$&.scan(/..../){print"\e[3#{i-=1};1;40m ";$&.each\_byte{|z|  
> &nbsp;&nbsp;print" #"[z-?0,1]\*2}};puts"\e[0m"}
> 
> &nbsp;&nbsp;&nbsp;People posted their solutions under the same thread.
> 
> &nbsp;&nbsp;[IOWA book ideas]  
> &nbsp;&nbsp;-----------------
> 
> &nbsp;&nbsp;&nbsp;Stefan Schmiedl received positive feedback on his idea of writing a book  
> &nbsp;&nbsp;&nbsp;on the [IOWA] web application framework. He invited more comments on what  
> &nbsp;&nbsp;&nbsp;chapters people want in the book, listing some ideas he had.
> 
> &nbsp;&nbsp;[Wiki Spam Report]  
> &nbsp;&nbsp;------------------
> 
> &nbsp;&nbsp;&nbsp;Jim Weirich reported on the status of efforts to free the RubyGarden Wiki  
> &nbsp;&nbsp;&nbsp;from spam.
> 
> &nbsp;&nbsp;"Spammers are automatically routed to a wiki tarpit. The tarpit is an  
> &nbsp;&nbsp;(almost) exact copy of the real RubyGarden wiki. Making changes to  
> &nbsp;&nbsp;the tarpit looks as if you are making changes to the real wiki. And  
> &nbsp;&nbsp;since spammers get their pages from the wiki, it looks like (to them)  
> &nbsp;&nbsp;that they have successfully spammed our site."
> 
> &nbsp;&nbsp;&nbsp;This technique appears to be working very well.
> 
> &nbsp;&nbsp;[Hash freezes String keys are returns copy]  
> &nbsp;&nbsp;-------------------------------------------
> 
> &nbsp;&nbsp;&nbsp;Michael Neumann noticed that Hashes seem to behave differently with keys  
> &nbsp;&nbsp;&nbsp;that are Strings compared to other objects. If you try to get back the  
> &nbsp;&nbsp;&nbsp;String (e.g. with Hash#each or Hash#keys) a frozen-copy of the original  
> &nbsp;&nbsp;&nbsp;String is returned.
> 
> &nbsp;&nbsp;&nbsp;ts explained:
> 
> &nbsp;&nbsp;"this is made volontary for efficienty : otherwise each time that you  
> &nbsp;&nbsp;modify an object, used as a key, ruby will need to re-hash the hash if you  
> &nbsp;&nbsp;don't want to have strange result like the example that I've given  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;In reality when you write  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;&nbsp;&nbsp;a = "test"  
> &nbsp;&nbsp;&nbsp;&nbsp;hash[a] = "test"  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;the key and `a' share the same string, but `a' is marked copy-on-write"
> 
> &nbsp;&nbsp;&nbsp;Robert Klemme added:
> 
> &nbsp;&nbsp;"Yes, it's a special optimization for string keys. You can get your original  
> &nbsp;&nbsp;out if you freeze it before putting it into the hash. 🙂 In fact, that  
> &nbsp;&nbsp;might be a performance optimization if you put \*a lot\* string keys into the  
> &nbsp;&nbsp;hash.  
> &nbsp;&nbsp;&nbsp;  
> &nbsp;&nbsp;Because copying an instance is relatively expensive this pattern was not  
> &nbsp;&nbsp;adopted generally, i.e. you have to take care of Array and other keys  
> &nbsp;&nbsp;yourself. Note also, that you need to rehash if you change your array  
> &nbsp;&nbsp;instance after using it as Hash key."
> 
> New Releases  
> ------------
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [RubyGems 0.8.3]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jim Weirich announced the latest version of the [RubyGems] package  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;management system, fixing some annoying bugs, including a  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;workaround for the "string contains null byte" error several  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;people have reported seeing. Over 150 Ruby libraries or  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;applications are now available as gems.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [ParseTree 1.3.0]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ryan Davis wrote "[ParseTree] is a C extension (using RubyInline)  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that extracts the parse tree for an entire class or a specific  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method and returns it as a s-expression (aka sexp) using ruby's  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;arrays, strings, symbols, and integers." This release features  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;improved debugging messages and more nodes.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [RubyScript2Exe 0.2.0]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Erik Veenstra updated [RubyScript2Exe]. This is a tool that  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transforms a Ruby program into a single executable that includes  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it along with the Ruby interpreter and necessary libraries,  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;simplifying deployment. It works in Windows and Linux. There was  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;some discussion on how to make this work with libraries that are  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loaded with RubyGems.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [Ruby/Extensions v0.6.0]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gavin Sinclair was pleased to announce a new version of  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Ruby/Extensions], a set of additional methods for Ruby's standard  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classes. New methods in this release include Array#rand for  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;selecting a random item from an Array, Array#one? and Array#none?.  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require\_relative was also added.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [RPA completion for bash: 12/08/04]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Brian Schröder issued an improved [RPA Completion], a tool that  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allows the bash shell to do tab-completion for RPA packages.  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Within an hour of the announcement, Mauricio Fernández had  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;included the new version in RPA. An interesting feature of the  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[RPA Completion homepage] is an animated image at the top which  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;demonstrates the use of RPA Completion. This is something that  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;other developers may find useful for their sites.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [Jabber-RPC] [Jabber-RPC 0.1.0]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Massimiliano Mirra created a new library called [Jabber-RPC]. This  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;makes it easy to do RPC (remote-procedure-calls) over the Jabber  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;instant-messaging system. An update was later [announced], fixing  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the example code and removing the dependency on expat.  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Subsequently, version 0.1.0 was released with further changes.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [ruby-sphere-0.1.0]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Daigo Tomono announced the first release of [ruby-sphere], a set  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;of libraries and tools for calculating the apparent position of  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stars. This can be used for planning astronomical observations.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [TeX::Hyphen 0.4.0]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Austin Ziegler had great pleasure in announcing a new version of  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[TeX::Hyphen]. This is the last planned release of the library - a  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;replacement will be created to enable support of non-US  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hyphenation definitions.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [Nitro 0.6.0]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;George Moschovitis announced a preview of the next version of the  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Nitro] web application framework. George invited people to email  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;him concerning the new logo (see the top of the [Nitro homepage]).
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [DBus/Ruby 0.1.7] [DBus/Ruby 0.1.8]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Leon Breedt fixed some bugs that could result in crashes in  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[DBus/Ruby], a Ruby interface to the D-BUS message bus system.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [FreeRIDE 0.9.2]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Laurent Julliard announced version 0.9.2 of the Free Ruby IDE  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[FreeRIDE]. A number of bugs have been fixed. In the thread Curt  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hibbs lists possible enhancements that the community could  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contribute to FreeRIDE.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [ruby-growl]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Eric Hodel created [ruby-growl], a platform-independent system for  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;generating [Growl] messages. Growl is a notification system for  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MacOS X. Applications use it to display messages on the screen.
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\* [vflow 0.2 beta]
> 
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jm wrote "[Vflow] is a netflow processing library for ruby similar  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to Cflow (perl) and pyflowtool (python) for use with flow-tools".  
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stability problems have been fixed in this release.

---

<div class="post-metadata">

**Author:** ![Tim\_Sutherland1](https://avatars.discourse-cdn.com/v4/letter/t/8e7dd6/32.png) [@Tim\_Sutherland1](https://rubytalk.org/u/Tim_Sutherland1)\
**Post date:** [14 December 2004 09:07 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289/2 "2004-12-14T09:07:23Z")

</div>

> [http://www.rubygarden.org/ruby?RubyNews/2004-12-06](http://www.rubygarden.org/ruby?RubyNews/2004-12-06)

[...]

> [Hash freezes String keys are returns copy]

[...]

> &nbsp;&nbsp;&nbsp;&nbsp;\* [ruby-growl]

[...]

> &nbsp;&nbsp;&nbsp;&nbsp;\* [vflow 0.2 beta]

I was a bit "naughty" this week and included some posts that were from  
\_this\_ week (Monday/Tuesday) rather than the Monday-Sunday of last week. I  
blame the google groups beta!

Watch for next week's RubyNews when I forget all about this and accidently  
repost some of these 🙂

> **···**
>
> In article \<slrncrtafk.klv.timsuth@europa.zone\>, Tim Sutherland wrote:

---

<div class="post-metadata">

**Author:** ![Dave\_Burt2](https://yyz1.discourse-cdn.com/flex029/user_avatar/rubytalk.org/dave_burt2/32/2036_2.png) [@Dave\_Burt2](https://rubytalk.org/u/Dave_Burt2)\
**Post date:** [14 December 2004 09:27 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289/3 "2004-12-14T09:27:19Z")

</div>

Thanks again for the news, Tim.

Just to correct a couple of factual errors, all in this paragraph:

Tim Sutherland, Ruby Weekly News 6th - 12th December 2004:

> &nbsp;&nbsp;The thread began with a small ASCII-art version of whytheluckystiff's  
> &nbsp;&nbsp;duck. Dave also posted a larger version using a short program he wrote  
> &nbsp;&nbsp;(img2ascii.rb) that used the [ruby-gd] library to automatically convert  
> &nbsp;&nbsp;the original image to ASCII. T. Onoma gave an alternative that was  
> &nbsp;&nbsp;constructed with [Jave] (Java ASCII Versatile Editor).

I've changed the paragraph on RubyGarden to the following:

The thread began with a small ASCII-art version of whytheluckystiff's duck.  
T. Onoma posted a larger ASCII-art version, generated from  
whytheluckystiff's image. Dave posted a short program ([img2ascii.rb]) that  
used the [ruby-gd] library to automatically convert the original image to  
ASCII, and an alternative big ASCII-art duck that was constructed with  
[Jave] (Java ASCII Versatile Editor).

The latest Ruby Weekly News is still at:

> **[WebMD - Better information. Better health.](https://www.webmd.com/?RubyNews%2F2004-12-06)**
>
> The leading source for trustworthy and timely health and medical news and information. Providing credible health information, supportive community, and educational services by blending award-winning expertise in content, community services, expert...

Cheers,  
Dave

---

<div class="post-metadata">

**Author:** ![T\_Onoma](https://avatars.discourse-cdn.com/v4/letter/t/c2a13f/32.png) [@T\_Onoma](https://rubytalk.org/u/T_Onoma)\
**Post date:** [14 December 2004 12:05 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289/4 "2004-12-14T12:05:08Z")

</div>

That's good. But why did you not credit yourself? Isn't that final large-ascii  
version your doing?

T.

> **···**
>
> On Tuesday 14 December 2004 04:27 am, Dave Burt wrote:
> 
> > I've changed the paragraph on RubyGarden to the following:
> > 
> > The thread began with a small ASCII-art version of whytheluckystiff's duck.  
> > T. Onoma posted a larger ASCII-art version, generated from  
> > whytheluckystiff's image. Dave posted a short program ([img2ascii.rb]) that  
> > used the [ruby-gd] library to automatically convert the original image to  
> > ASCII, and an alternative big ASCII-art duck that was constructed with  
> > [Jave] (Java ASCII Versatile Editor).
> > 
> > The latest Ruby Weekly News is still at:  
> > [http://www.rubygarden.org/ruby?RubyNews/2004-12-06](http://www.rubygarden.org/ruby?RubyNews/2004-12-06)

---

<div class="post-metadata">

**Author:** ![Dave\_Burt2](https://yyz1.discourse-cdn.com/flex029/user_avatar/rubytalk.org/dave_burt2/32/2036_2.png) [@Dave\_Burt2](https://rubytalk.org/u/Dave_Burt2)\
**Post date:** [14 December 2004 12:32 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289/5 "2004-12-14T12:32:19Z")

</div>

"trans. (T. Onoma)" \<transami@runbox.com\> wrote...

> \> ... Dave posted a short program ([img2ascii.rb]) that  
> \> used the [ruby-gd] library to automatically convert the original image  
> to  
> \> ASCII, and an alternative big ASCII-art duck that was constructed with  
> \> [Jave] (Java ASCII Versatile Editor).
> 
> That's good. But why did you not credit yourself? Isn't that final  
> large-ascii  
> version your doing?

I don't know how much credit I can take for "Dave's duck":  
ruby -rdrb -e "DRb.start\_service;duck=DRbObject.new(nil,  
'druby://whytheluckystiff.net:6503');puts duck.daves"

Why the lucky stiff drew it, and some software I found turned it into ASCII  
with a bit of configurification by me.

But I did claim to have posted it:  
"Dave posted ..., and an alternative big ASCII-art duck that was ..."

Feel free to improve this text if it's unclear.

Cheers,  
Dave

ruby -rdrb -e "DRb.start\_service;duck=DRbObject.new(nil,  
'druby://whytheluckystiff.net:6503');puts duck.squirrel"  
# it's mine, all mine, ya hear!

> **···**
>
> > On Tuesday 14 December 2004 04:27 am, Dave Burt wrote:

---

<div class="post-metadata">

**Author:** ![T\_Onoma](https://avatars.discourse-cdn.com/v4/letter/t/c2a13f/32.png) [@T\_Onoma](https://rubytalk.org/u/T_Onoma)\
**Post date:** [14 December 2004 12:38 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289/6 "2004-12-14T12:38:00Z")

</div>

Oops. Never mind. I misread as:

&nbsp;&nbsp;ASCII. And an alternative big ASCII-art duck was constructed with  
&nbsp;&nbsp;[Jave] (Java ASCII Versatile Editor).

Silly me.

T.

> **···**
>
> On Tuesday 14 December 2004 07:32 am, Dave Burt wrote:
> 
> > "trans. (T. Onoma)" \<transami@runbox.com\> wrote...
> > 
> > \> On Tuesday 14 December 2004 04:27 am, Dave Burt wrote:  
> > \> \> ... Dave posted a short program ([img2ascii.rb]) that  
> > \> \> used the [ruby-gd] library to automatically convert the original image  
> > \>  
> > \> to  
> > \>  
> > \> \> ASCII, and an alternative big ASCII-art duck that was constructed with  
> > \> \> [Jave] (Java ASCII Versatile Editor).  
> > \>  
> > \> That's good. But why did you not credit yourself? Isn't that final  
> > \> large-ascii  
> > \> version your doing?
> > 
> > I don't know how much credit I can take for "Dave's duck":  
> > ruby -rdrb -e "DRb.start\_service;duck=DRbObject.new(nil,  
> > 'druby://whytheluckystiff.net:6503');puts duck.daves"
> > 
> > Why the lucky stiff drew it, and some software I found turned it into ASCII  
> > with a bit of configurification by me.
> > 
> > But I did claim to have posted it:  
> > "Dave posted ..., and an alternative big ASCII-art duck that was ..."
> > 
> > Feel free to improve this text if it's unclear.

---

<div class="post-metadata">

**Author:** ![why\_the\_lucky\_stiff1](https://avatars.discourse-cdn.com/v4/letter/w/898d66/32.png) [@why\_the\_lucky\_stiff1](https://rubytalk.org/u/why_the_lucky_stiff1)\
**Post date:** [14 December 2004 16:16 UTC](https://rubytalk.org/t/ruby-weekly-news-6th-12th-december-2004/15289/7 "2004-12-14T16:16:29Z")

</div>

Dave Burt wrote:

> I don't know how much credit I can take for "Dave's duck":  
> ruby -rdrb -e "DRb.start\_service;duck=DRbObject.new(nil, 'druby://whytheluckystiff.net:6503');puts duck.daves"
> 
> Why the lucky stiff drew it, and some software I found turned it into ASCII with a bit of configurification by me.

I know how thankless a job rendering ducks is. Believe me, we're all applauding. And this cheering throng is looking at you, Dave. You.

Geesh. Humility on ruby-talk is so old school.

\_why
