Ruby Weekly News 8th-14th November 2004

http://www.rubygarden.org/ruby?RubyNews/2004-11-8

(Ed Note: Chad Fowler has given me an account on RubyGarden so I can maintain
the old weekly news site at http://rubygarden.org/rurl/html/index.html.
I haven't got around to doing anything yet. I welcome suggestions on what to
do with this. Do people like these being on a Wiki or not?)

                    Ruby Weekly News 8th-14th November 2004

···

---------------------------------------

   A summary of the week's activity on the ruby-talk mailing list / the
   comp.lang.ruby newsgroup. There were around 918 messages in 181 threads.
   This summary is brought to you by Tim Sutherland (TimSuth).

Articles and Announcements

     * [Copland to Needle article on RubyGarden]

           Chad Fowler pointed out [an article by Jamis Buck] describing his
           journey into dependency injection (inversion of control). The
           article was posted to RubyGarden.org; Chad is working to establish
           regular articles and tutorials for RubyGarden.

     * [Rubymine.org]

           David Ross announced [Rubymine], a site containing articles,
           blogs, forums and so on for Ruby. It is also the home of the Ruby
           Windows QA team, a group of Ruby hackers who will improve the Ruby
           experience on Windows by providing pre-build extensions and giving
           support.

     * [Rails, Injected]

           Jamis Buck wrote an article citing "the Benefits of Dependency
           Injection in a Web Framework". It describes an experiment of his
           to introduce [Needle] to the [Rails] web framework.

     * [ruby-dev summary 24628-24740]

           Masayoshi Takahashi gave the latest summary of the Japanese list
           ruby-dev. Changes to Oni Guruma (the regular expression engine for
           Ruby 1.9) were discussed.

New Releases

     * [Weft QDA - (Wx)Ruby application for qualitative data analysis]

           Alex Fenton introduced [Weft QDA], a qualitative data analysis
           tool "for use in various kinds of social science research to
           analyse unstructured textual data, such as interview transcripts,
           newspaper articles, ethnographic fieldnotes etc."

     * [One-Click Installer 1.8.2-14 RC9 with RubyGems built-in]

           Curt Hibbs announced a new release candidate of the Ruby One-Click
           Installer for Windows. It now includes RubyGems.

     * [rq-1.0.0]

           Ara.T.Howard declared version one-dot-oh-dot-oh of [rq] (ruby
           queue), a tool used to create "instant" Linux clusters for
           distributed computing.

     * [win32-file 0.3.0]

           Daniel Berger presented a new release of [win32-file] on behalf of
           the Win32Utils team. There are now methods for modifying file
           attributes, for example File#hidden=.

     * [ParseTree 1.0.0 Released]

           Ryan Davis made known a new major version of [ParseTree], a C
           extension that presents a representation of the parse tree for a
           specified class or method.

     * [Needle 1.1.0]

           Jamis Buck released a new version of [Needle], a "dependency
           injection container" library.

     * [RubyPants 0.2]

           Christian Neukirchen made the first public release of [RubyPants].
           This is a Ruby port of [SmartyPants], used to transform ordinary
           punctuation like " into "smart punctuation" like ``.

     * [RedCloth 3.0.0 -- Textile and Markdown Elope!]

           why the lucky stiff delivered version three of [RedCloth]. This is
           a library for turning Textile markup into HTML. It now has
           preliminary support for Markdown markup as well.

     * [Ruby-GNOME2-0.11.0]

           Masao Mutoh announced a new release of [Ruby-GNOME2], a bundle of
           Ruby bindings for GNOME libraries. New in this release is
           Ruby/GnomePrint (a binding for libgnomeprint-2.8.0),
           Ruby/GnomePrintUI and Ruby/RSVG. Other improvements and bugfixes
           were made.

     * [MinDI: Minimalist Dependency Injection]

           Joel VanderWerf was inspired by [Needle] to produce [MinDI], a
           library that attempts to map dependency injection concepts into
           standard Ruby constructs like classes and modules.

     * [MemCache 0.0.1]

           Michael Granger was "happy to announce the initial release of a
           Ruby client library for memcached, a high-performance distributed
           memory cache." ([Ruby-MemCache]) Memcached improves the
           performance of dynamic web sites by adding a caching layer to
           database requests, with a global cache that can be shared between
           many machines. Websites using memcached include LiveJournal (for
           which it was developed) and Slashdot.

     * [Arachno Ruby 0.3 (patch 2)]

           Lothar Scholz put out a new version of the commercial, proprietary
           IDE [Arachno Ruby]. There was also a [thread discussing Arachno],
           including some very positive comments on its debugger.

Threads

   Interesting threads this week included:

  [Ruby and Mozilla?]

   Hal Fulton asked whether anyone had written Ruby code to interact with
   Mozilla. He wanted to use Mozilla Mail but have his spam filtered with a
   Ruby script. Todd Bradley suggested he have Ruby connect to his POP server
   and act as a proxy for Mozilla Mail, only passing on those messages it
   determined were not spam. [rbXPCOM] was also discussed. This is a Ruby
   binding for XPCOM, the automation interface provided by Mozilla. Posters
   were wary of using this since its last release was in 2001 and Mozilla has
   had many changes since. Another idea was to use fetchmail, procmail and a
   local mail server to do the filtering. Fetchmail would connect to the
   ISP's POP server, procmail would use the Ruby code to filter the mail and
   then Mozilla Mail would connect to localhost to fetch mail.

  [A Wiki/Spam Report], [Another Wiki/Spam Update]

   Jim Weirich reported on the fight against spam on the RubyGarden wiki. Now
   that external links require a non-standard presentation that most bots
   will not know about, he believes that the only spam getting through is
   being posted by humans rather than by bots. A new anti-spam measure is to
   wrap all external URLs with a redirection service Google has provided for
   this purpose. It means that external links on RubyGarden will not get any
   "PageRank" benefit with Google - the main motivation for people spreading
   links over many wiki pages.

  [Re: value provided for argument with default value - how to check inside
  method?]

   This is a thread from last week discussing how a method body can tell
   whether a parameter was specified by the user or whether a default value
   was used. Nobu Nakada gave a delightful solution: (Comments added by your
   editor.)

  def foo(x=(a=true; nil))
     # a=true means the default value (nil) was used for x.
     # a=nil means the caller specified the value.
  end

  [Trivial trick for looking at complex code]

   Hal Fulton found the following useful for quickly seeing the structure of
   a Ruby source file:

  grep -E "^ *(class|module|attr|def)" file.rb

   Curt Hibbs mentioned that FreeRIDE has a navigation pane with this
   information in a collapsable tree (and best of all, you can click the
   navigation pane to go straight to the code in the editor). Brian Schro:der
   gave an rdoc command that provides a similar overview.

  [[SUMMARY] GEDCOM Parser (#6)]

   James Britt summarised last week's [Ruby Quiz] (to write a parser for the
   GEDCOM genealogical data format).

  [[QUIZ] Countdown (#7)]

   Brian Candler gave this week's [Ruby Quiz]. The problem was to write a
   program which can take a list of integers and a desired result, and output
   ways that operations like + and * could be used with the input list to
   generate the result we want. The idea comes from a UK TV show called
   Countdown. After the usual 48 hour delay, Brian Schro:der [posted his
   solution], which uses top-down dynamic programming (memoization). [Dennis
   Ranke's solution] worked by composing sub-terms in a bottom-up manner as
   opposed to Brian's top-down solution. [Hans Fugal asked] what the trick
   was people were using to get such efficient solutions and some answers
   were provided.

Actually, I summarized that one. If the first line of the message isn't a "by..." line, it was me.

James Edward Gray II

···

On Nov 16, 2004, at 6:18 AM, Tim Sutherland wrote:

  [[SUMMARY] GEDCOM Parser (#6)]

   James Britt summarised last week's [Ruby Quiz] (to write a parser for the
   GEDCOM genealogical data format).

Tim Sutherland ha scritto:

http://www.rubygarden.org/ruby?RubyNews/2004-11-8

(Ed Note: Chad Fowler has given me an account on RubyGarden so I can maintain
the old weekly news site at http://rubygarden.org/rurl/html/index.html\.
I haven't got around to doing anything yet. I welcome suggestions on what to
do with this. Do people like these being on a Wiki or not?)

I guess that having something like a wiki page for people to contribute may be enough. Maybe just a thing like "RWN this week is in preparation at rubygarden.org/ruby?ThisWeek, add there if you want to contribute" on the RWN main page. this way you could still get help easily when needed :slight_smile:
Oh, and thanks for this summary.

In article <B780BEF6-37DA-11D9-B1B3-000A95BA45F8@grayproductions.net>, James
Edward Gray II wrote:

···

On Nov 16, 2004, at 6:18 AM, Tim Sutherland wrote:

  [[SUMMARY] GEDCOM Parser (#6)]

   James Britt summarised last week's [Ruby Quiz] (to write a parser
for the
   GEDCOM genealogical data format).

Actually, I summarized that one. If the first line of the message
isn't a "by..." line, it was me.

James Edward Gray II

Ah, thanks. I'll secretly go and change the wiki and pretend it was always
correct.

Yes, it was great that when I needed help for the 2004-11-1 edition you were
simply able to go to the wiki and edit it without me needing to do anything.
Much easier than having to send you some magic undocumented scripts.

···

In article <%Ypmd.35792$Ni.1273109@twister1.libero.it>, gabriele renzi wrote:

Tim Sutherland ha scritto:

http://www.rubygarden.org/ruby?RubyNews/2004-11-8

(Ed Note: Chad Fowler has given me an account on RubyGarden so I can maintain
the old weekly news site at http://rubygarden.org/rurl/html/index.html\.
I haven't got around to doing anything yet. I welcome suggestions on what to
do with this. Do people like these being on a Wiki or not?)

I guess that having something like a wiki page for people to contribute
may be enough. Maybe just a thing like "RWN this week is in preparation
at rubygarden.org/ruby?ThisWeek, add there if you want to contribute" on
the RWN main page. this way you could still get help easily when needed :slight_smile:
Oh, and thanks for this summary.

Tim Sutherland ha scritto:

http://www.rubygarden.org/ruby?RubyNews/2004-11-8

(Ed Note: Chad Fowler has given me an account on RubyGarden so I can maintain
the old weekly news site at
http://rubygarden.org/rurl/html/index.html\.
I haven't got around to doing anything yet. I welcome suggestions on what to
do with this. Do people like these being on a Wiki or not?)

I prefer a read-only page to a wiki for this kind of thing. The
presentation and interface can be tuned, it becomes a specific Ruby
reosurce, which it deserves, and it preserves the original content for
posterity.

I guess that having something like a wiki page for people to contribute
may be enough. Maybe just a thing like "RWN this week is in preparation
at rubygarden.org/ruby?ThisWeek, add there if you want to contribute" on
the RWN main page. this way you could still get help easily when needed :slight_smile:

The gains made from accepting help in the task of preparing RWN would
be outweighed by the losses incorporated in coordingating those
contributions, IMO. In other words, preparing RWN is a lot of work,
and there's not much anyone can do about that.

Oh, and thanks for this summary.

Indeed; it's a blessing.

Cheers,
Gavin

···

On Wednesday, November 17, 2004, 3:33:21 AM, gabriele wrote:

"Gavin Sinclair" <gsinclair@soyabean.com.au>:

I prefer a read-only page to a wiki for this kind of thing. The
presentation and interface can be tuned, it becomes a specific Ruby
reosurce, which it deserves, and it preserves the original content for
posterity.

Can/should these wiki pages be frozen (say, after a week for corrections to
come in)?

Cheers,
Dave

Gavin Sinclair ha scritto:

I guess that having something like a wiki page for people to contribute
may be enough. Maybe just a thing like "RWN this week is in preparation
at rubygarden.org/ruby?ThisWeek, add there if you want to contribute" on
the RWN main page. this way you could still get help easily when needed :slight_smile:

The gains made from accepting help in the task of preparing RWN would
be outweighed by the losses incorporated in coordingating those
contributions, IMO. In other words, preparing RWN is a lot of work,
and there's not much anyone can do about that.

I fail to see the complication. People look at the page, they think "hey, this was announced too" or "this long thread has been omitted" and they add it.
Anyway, I was not suggesting to get rid of the real page, I like the ide of it staying there for the posterity. I just thought of a simple rwn-kitchen before the final presentation :slight_smile:

When we convert to Ruwiki ... which is further down the road than I
want it to be (it's taking a bit longer to prep Ruwiki 0.9.0 for
release than I wanted, because I get about an hour of programming a
night right now) ... yes.

-austin

···

On Wed, 17 Nov 2004 10:48:18 +0900, Dave Burt <dave@burt.id.au> wrote:

"Gavin Sinclair" <gsinclair@soyabean.com.au>:
> I prefer a read-only page to a wiki for this kind of thing. The
> presentation and interface can be tuned, it becomes a specific Ruby
> reosurce, which it deserves, and it preserves the original content for
> posterity.

Can/should these wiki pages be frozen (say, after a week for corrections to
come in)?

--
Austin Ziegler * halostatue@gmail.com
               * Alternate: austin@halostatue.ca