Hi –
I don’t know what Simon thinks, but I really do think that exactly. It
took me a while to find NArray. The only reason why I can find it in RAA
now is because I already know it exists.
Right. I believe there are decent Ruby modules for handling MIME mails;
of course, I can’t find them, because they’re not sensibly named.
Any package that doesn’t turn up on an RAA search for “mime” doesn’t
deserve to be found. Even if it’s called “marcel”, it should have
“mime” in its description.
- what if i have installed, say, 150 packages from RAA. i forgot which
modules are the mime modules. of course i can search RAA again, or i can
do a “grep -r” on my site_ruby/ directory. but with perl modules i can
do “man -k MIME” or just know that it will be below the MIME/ subdirectory.
I was talking specifically about searching on RAA, which I thought was
what Simon meant.
I think that somehow my advocacy of the idea of getting “missing”
modules written sooner rather than later (even if naming/hierarchy
issues haven’t been worked out yet) has been taken to mean that I
advocate some kind of chaos and non-searchability among Ruby modules.
I don’t; I just advocate finding a way that will work, and that can
happen soon, to put an end to the “not enough libraries” rap on Ruby.
Judging from what people have been saying, it’s sounding to me like
that process will be a mixture of writing modules and continuing to
make it easier to search RAA on different views.
As for searching on one’s system: I think it’s a given that it’s good
to be able to do very high-level things to get information about
modules, and to retrieve modules. Whether it’s man -k or something
else (rpkg -something, or whatever), there’s no question that easy
indexing and searching are key.
- what if i have several ruby packages tarballs laying around in my
download directory…
I guess you’d use a package analyzing utility (of which there are
several in the works, I believe
to analyze the contents.
- what if i am looking at someone else’s ruby code and see “require
‘marcel’”, “require ‘bobbit’”, “require ‘hamster’”, …
encoding some metada (esp. the categorical one) into the
namespace/filename itself will make things much easier, much more
predictable, much more organized. take a look at RPM packages for
another example (in this case, an RPM filename include the
architecture/type/version/release metadata).
My main qualm about this has always been at the last link in each
chain – that is, the “c.rb” in “a/b/c.rb”. One problem is that if
there’s one franchise holder for each potential module space, then if
that person’s module isn’t very good, there are all sorts of problems.
(I’m undiplomatic enough to suggest that this might happen, but would
probably be too diplomatic and/or cowardly to flag it publicly if it
did 
Another problem is that more than one person might well write
perfectly useable modules in the same domain, which might differ from
each other in matters of API but each be to some people’s taste.
There has to be room for these.
That’s why, at the very least, I would advocate naming along the lines
of text/soundex/dbsndx.rb and text/soundex/marcel.rb, rather than
text/soundex.rb.
(I have no problem with the latter style for things in the standard
distribution.)
I admit too that I have a distaste for this kind of categorization,
because it freezes a particular, sometimes unconvincing snapshot of
how the pie is sliced. But I haven’t come up with any way to do away
with it entirely.
David
···
On Sat, 25 Jan 2003, David Garamond wrote:
dblack@candle.superlink.net wrote:
–
David Alan Black
home: dblack@candle.superlink.net
work: blackdav@shu.edu
Web: http://pirate.shu.edu/~blackdav