Ruby Weekly News 8th-14th November 2004

T

Tim Sutherland

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.
 
J

James Edward Gray II

[[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
 
G

gabriele renzi

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 :)
Oh, and thanks for this summary.
 
T

Tim Sutherland

James said:
[[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.
 
T

Tim Sutherland

Tim Sutherland 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 :)
Oh, and thanks for this summary.

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.
 
G

Gavin Sinclair

Tim Sutherland ha scritto:

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 :)

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
 
D

Dave Burt

Gavin Sinclair said:
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
 
G

gabriele renzi

Gavin Sinclair ha scritto:
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 :)
 
A

Austin Ziegler

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

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top