31st October - 6th November 2005

Ruby Weekly News is a summary of the week’s activity on the ruby-talk mailing list / the comp.lang.ruby newsgroup, brought to you by Tim Sutherland.

Articles and Announcements

User Group News

  • Chicago.rb Meetup
  • John W. Long announced the November 7th 2005 meeting of the Chicago Area Ruby Group.

    “I may even give people a sneak peak at some of the stuff we are working on for the ruby-lang.org redesign.”

  • Any OKC Rubyists?
  • James Edward Gray II (of Ruby Quiz fame) asked if anyone else was interested in having meetings in the Oklahoma City area.

  • Toronto Ruby User Group Nov 6 Meeting
  • The Toronto Ruby User Group (TRUG) met on Sunday November 6. Watir, RubyConf and PDF::Writer were all discussed.

Threads

Haiku Challenge

Jabari Zakiya:
Ruby, Python, Perl.
For me, Ruby easiest.
But I like Forth too.
Bill Kelly:
FORTH LOVE IF HONK THEN
RUBY MATZ CREATE JOY DOES>
CHERRY-BLOSSOM !

! is pronounced ‘store’.

PDF with Arabic

Tobin Harris asked what the best option was for creating multi-lingual PDFs, in “English, Arabic, Dutch and Danish”.

Austin Ziegler said that support is being added to PDF::Writer for this, but it is not yet ready. “I have a number of font issues to figure out, but I expect sometime early next year we will have full multilingual PDF”.

Andreas S. said that an alternative option is to use Ruby to create LaTeX files, from which a PDF can then be generated. ERb can be used to process templated LaTeX documents.

See also Japanese font patch for pdf-writer-1.1.3.

Ruby making inroads at big corporation... small anecdote.

Stephen Waits asked for a show of hands at a talk for how many people used Ruby. One of them worked for Qualcomm and “mentioned that historically, they’ve done lots of PERL stuff, but now Ruby is slowly being phased in, gaining momentum as a choice over PERL.”

James Britt: “Perhaps the real sign of Big Corporate Acceptance will be when people start referring to RUBY.”

“Then we’ll have to invent a backronym for it.”

Rapid Understanding Before Yesterday
Really Ugly Bastards Yodeling
RUBY: Uplifting Beautiful Yammering
RUBY unmasks brutal youth
Rarely unnatural block yielding

“RUBY: Upholding the Beauty of YAML” – Jacob Fugal
“RUBY ultimately begets YARV” – James Britt
“Ranguage Undertaken By Yukihiro” – Hal Fulton
“RUBY Ultimately Bedazzles You” – Lloyd Zusman
“Radically Utopian Block Yields” – Nicholas Van Weerdenburg

Devin Mullins:

Really, U Better Yoose-it
Rapid Usage’s Banned, Yes?
Run it Until it Begs You
Rapid Understanding, Block Yielding
Released Under a Branch of Yggdrasil
Remember, Understand, Believe, Yield
Rough Underneath, But Yummy
Relentless Use Brings Youth
RUBY Usually Believes You
Rarely Usurped By Yacc
$refreshing unless brain { yield }
$ruby.untaint { bias… yo }
Ruby Un-Bring Your (Love To Town)?

create Date from Monthname

Hardy Henneberg asked how to turn a string like ‘28/Sep/2005’ into a Date.

Hirofumi Watanabe gave the answer: date = Date.strptime("28/Sep/2005", "%d/%b/%Y")

Stefan Lang added that documentation for the formatting symbols like %Y can be viewed by running ri Time#strftime.

ruby-dev summary 27393-27541

Minero Aoki posted the summary of the Japanese list ruby-dev.

In it, Shugo Maeda’s proposed syntax for selector namespaces received a lot of discussion (YACC was again villainous) and Matz announced Ruby 1.8.4 preview1.

Some comments on new 1.9 features

This thread discussed some of the new features in Ruby 1.9. (Thanks to Mauricio Fernandez’s excellent analysis and documentation.)

New Releases

traits-0.8.0 - better living through meta-programming

Ara.T.Howard: “traits.rb is set of attr_* like methods on steroids, caffeine, and botox. it encourages better living through meta-programming and uniform access priciples.”

This release features the addition of hooks, for example pre/post the setting of an attribute.

Ruby/GD2 alternative to Ruby/GD

Rob Leslie posted an alternative interface to the GD graphics library.

“I wrote it because I wasn’t satisfied with the original; in particular, there was no support for creating images from JPEG or PNG data already in memory. My alternative is 100% Ruby, relying on Ruby/DL to link with the gd shared library.”

urirequire: I got yer Web 2.0 right here

Francis Hwang:

How many times have you thought to yourself: “If only there was a more elegant way to download and execute code from all over the internets!” Well, urirequire is the lib for you. By hijacking Kernel.require, urirequire makes it a snap to include code from anywhere on the World Wide Whatever. Sure, eval’ing code that you don’t own might be dangerous; for all you know, that remote Ruby file could be undefining Class or emailing your ex-girlfriends. But I say it’s time to get with the bleeding edge! Control of your own code is so February 2005.

require 'urirequire'
require 'http://fhwang.net/urirequire_test' 

“urirequire: It’s not just a solution looking for a problem. It’s a solution looking for a victim.”

CommandLine-0.7.10

Jim Freeze updated the CommandLine library, which is used to provide command-line option processing for your applications.

The API was tweaked so that you can access objects as opt.myoption as an alternative to opt['myoption'].

rubyforge-0.0.0

Ara.T.Howard released the first version of a script that automates some RubyForge functions, such as creating a new release.

_why shouted out “YES.”

See also auto rubyforge releasing.

lazy.rb 0.1

MenTaLguY released another version of his lazy-evaluation library.

Exception handling was improved, Lazy::DivergenceError added, as well as “nearly seamless implicit evaluation, thanks to Pit Capitain”.

Rant 0.4.8

Stefan Lang announced the release of Rant, version 0.4.8.

Rant is a flexible build tool written entirely in Ruby, similar to Rake.

Because of this similarity, he also wrote a Rake/Rant comparison, although he “can’t guarantee that it is 100% objective… ;)”

getopt-1.3.0

Daniel Berger let out another getopt release, a “sane replacement for command line parsing libraries like getoptlong and optparse”.

Rubyipq v0.1.0: Bindings for Netfilter's libipq

Leonardo Eloy wrote a binding for Linux’s netfilter (via libipq – IP Queue Library), making it possible to write Ruby programs that determine whether a packet is accepted or not.

Reiserfs for ruby 0.2

Adam released RReiserfs version 0.2, an implementation of the Resierfs3 filesystem in Ruby.

File sizes are now shown, and files can be streamed instead of having to be always loaded into memory.