Hi,

Somewhat in the spirit of Hal's self-replicating Ruby programs, I've
been thinking for some time about what sort of Ruby application would
facilitate the multiplicative propagation of Ruby. The primary/initial
target audience for this application is the huge pool of intermediate
Perl users who would like a better programming language, and whose first
practical workplace hurdle will be demonstrating that they can quickly
get Ruby doing useful stuff. Moreover, I would like it to be possible to
develop such a Ruby application  in the near-to-medium term on a part
time basis, and in such a way that even its prototype would be
immediately useful for such candidate Ruby newcomers. This rules out big
projects like IDEs and such. But I think some sort of cross between the
Tk widget demo and a system configuration GUI/shell that is highly
modification-friendly might fit the bill.

What I have in mind is RIG-IT, the Ruby's Integrating GUI-based
Innovator's Toolkit. (Although the program name is rigit, I write it
rig-it to reflect its intended pronunciation, which in turn reflects the
intended purpose of helping new users to rapidly rig up useful tasks to
demonstrate the utility of Ruby to their co-workers and managers) The
idea of rig-it is to provide an interface to let users view, run, copy,
clone, and customize lots of useful code examples (i.e. the same sort of
stuff that I was thinking of putting into the Ruby Cookbook FAQ, if I
ever got around to it). Think of rig-it as an executable demo FAQ that
is designed and commented to help you to easily customize it for your
own purposes. This same framework could also serve as a hybrid GUI/shell
for launching user programs/scripts. By judiciously modifying rig-it
itself (or another copy thereof), many fairly mundane but common sorts
of programming/scripting tasks could readily be developed, with a
tolerable GUI for their non-programming end-user clients to use.

Any thoughts or comments?

(By the way, where is the Ruby version of the Tk widget demo? Guess why
I asked about this previously.)

--
Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)