Resolv.rb - documentation and its name

Hi group.

I'd like to test resolve.rb, but I have troubles.

First of all, where can I get some documents on resolv.rb? I use
http://ruby-doc.org/stdlib, but there's none.

Second of all, why is it named resolve instead of Net::DNS? It doesn't
seem to be good choice to me. Don't you think this is incoherent?

Sincerely,
Minkoo Seo

Minkoo Seo wrote:

Hi group.

I'd like to test resolve.rb, but I have troubles.

First of all, where can I get some documents on resolv.rb? I use
RDoc Documentation, but there's none.

Second of all, why is it named resolve instead of Net::DNS? It doesn't
seem to be good choice to me. Don't you think this is incoherent?

Sincerely,
Minkoo Seo

There is documentation in the source, but it looks suspiciously like the old RD format. Perhaps that explains why ruby-doc didn't pick it up.

There's also this project:

http://rubyforge.org/projects/net-dns/

However, there hasn't been a release yet.

Regards,

Dan

First of all, where can I get some documents on resolv.rb? I use
RDoc Documentation, but there's none.

The head branch of Ruby has resolv.rb documentation in RDoc format:

$ ri19 Resolv

---------------------------------------------------------- Class: Resolv
      Resolv is a thread-aware DNS resolver library written in Ruby.
      Resolv can handle multiple DNS requests concurrently without
      blocking. The ruby interpreter.

      See also resolv-replace.rb to replace the libc resolver with #
      Resolv.

      Resolv can look up various DNS resources using the DNS module
      directly.
[...]

Second of all, why is it named resolve instead of Net::DNS? It doesn't
seem to be good choice to me. Don't you think this is incoherent?

Resolv is not just a DNS resolver. It also reads from /etc/hosts.

···

On Mar 28, 2006, at 10:28 AM, Minkoo Seo wrote:

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com

Eric Hodel wrote:

> First of all, where can I get some documents on resolv.rb? I use
> RDoc Documentation, but there's none.

The head branch of Ruby has resolv.rb documentation in RDoc format:

$ ri19 Resolv

---------------------------------------------------------- Class: Resolv
      Resolv is a thread-aware DNS resolver library written in Ruby.
      Resolv can handle multiple DNS requests concurrently without
      blocking. The ruby interpreter.

      See also resolv-replace.rb to replace the libc resolver with #
      Resolv.

      Resolv can look up various DNS resources using the DNS module
      directly.
[...]

> Second of all, why is it named resolve instead of Net::DNS? It doesn't
> seem to be good choice to me. Don't you think this is incoherent?

Resolv is not just a DNS resolver. It also reads from /etc/hosts.

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com

Thank you. This will be of great help.

But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
resolver library written in Ruby", so it is DNS resolver and I accuse
resolve.rb of misnomer because it does not follow Net::xxx rules.
Futhermore, reading /etc/hosts does not justify its name, because I
believe that its name, resolve, was named after DNS resolver. (BTW, do
you really think reading /etc/hosts is not related to dns resolver's
own job?)

Actually lack of naming coherency in Ruby is quite annoying more often
than not.

Sincerely,
Minkoo Seo

···

On Mar 28, 2006, at 10:28 AM, Minkoo Seo wrote:

Thank you. This will be of great help.

But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
resolver library written in Ruby", so it is DNS resolver and I accuse
resolve.rb of misnomer because it does not follow Net::xxx rules.
Futhermore, reading /etc/hosts does not justify its name, because I
believe that its name, resolve, was named after DNS resolver. (BTW, do
you really think reading /etc/hosts is not related to dns resolver's
own job?)

It may be illuminating to study the functionality of the resolver
library found on most Unix systems. "man resolver" gives some
information on Linux systems -- other systems will vary. If you note
the name of the library that gets linked in, the name of the module
will make much more sense to you.

Actually lack of naming coherency in Ruby is quite annoying more often
than not.

Sincerely,
Minkoo Seo

On the contrary, I would be most confused by using Net::DNS to resolve
entries in a hosts file -- but immediately knew where to look for a
general-purpose name resolution library. Sometimes historical reasons
are good ones.

Cheers,

kjw

···

On 28/03/06, Minkoo Seo <minkoo.seo@gmail.com> wrote:

Eric Hodel wrote:

Second of all, why is it named resolve instead of Net::DNS? It doesn't
seem to be good choice to me. Don't you think this is incoherent?

Resolv is not just a DNS resolver. It also reads from /etc/hosts.

Thank you. This will be of great help.

You're welcome. I converted it from RD to RDoc.

But, as you quoted, resolve.rb says "Resolv is a thread-aware DNS
resolver library written in Ruby", so it is DNS resolver and I accuse
resolve.rb of misnomer because it does not follow Net::xxx rules.
Futhermore, reading /etc/hosts does not justify its name, because I
believe that its name, resolve, was named after DNS resolver. (BTW, do
you really think reading /etc/hosts is not related to dns resolver's
own job?)

Actually lack of naming coherency in Ruby is quite annoying more often
than not.

The DNS portion of Resolv should probably go under Net, but it has broader functionality than just DNS resolution. Resolv is a good name for the glue that the library provides between DNS and /etc/hosts, along with the automatic configuration.

···

On Mar 28, 2006, at 11:53 AM, Minkoo Seo wrote:

On Mar 28, 2006, at 10:28 AM, Minkoo Seo wrote:

--
Eric Hodel - drbrain@segment7.net - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com