On 2013-12-20 00:35, Clem Cole wrote:
I remember having this discussion about 30 years ago with a couple of
the VMS implementors. Im not going to argue with you - other thanks to
say - at the end of the day we decided just what I said -- there are
pros/cons to each solution - you pointed out some of the pros for logicals.
It's an endless discussion, and one I hoped we would not need to have once more. It's pretty pointless. I can't do with environment variables what I'm now doing with logical names for my resolver in RSX.
It's sad (and boring) when people try to convince me that I'm wrong. I know very well how it all works.
As for a universal resolver vs having each client do a lot of work in
the library, that was and is an implementation choice - left over from
how it was the original DNS was implemented (at Berkeley on the VAX at
the time). It is interesting that the UNIX idea of a small program was
sort of lost by many of my brethren at UCB when large address spaces
showed up.
I suspect that if the DNS had been written for PDP-11 UNIX it might have
been a separate process.
At which point, environment variables would not have been possible anyway, since they are always local to the process.
The fact that the resolver works the way it do is indeed just a choice, but I can't see what other choice that would have made sense in that world. Doing it in a separate process is what the DNS server gives you. So it's not that this has not been done. It's just a question of what makes sense and is convenient.
Johnny
On Thu, Dec 19, 2013 at 6:18 PM, Johnny Billquist <bqt at softjar.se
<mailto:bqt at softjar.se>> wrote:
Hi.
On 2013-12-20 00:07, Clem Cole wrote:
logical names have a unix equiv. in environment variables.
Sortof, but not completely.
there are some differences and advantages to both but the idea
and practice ends up being the same IMO
I disagree.
what you are doing in resolve$foo could just as easily be put in
the environment and get the same result
No. Because I have (obviously) system wide logical names, which
provides the system defaults for this. Any user defined logical
names will override the system ones.
This concept of having logical names on several levels (system,
group, login, session, task) do not have an equivalent form in Unix.
There are more aspects of environment variables that differs from
logical names as well. Which also is a part of the reason you don't
use environment variables for some things, and instead do have the
small text files. (And I love small text files, by the way, so don't
misunderstand me.) It's just that in some situations, other
solutions can give a different bias, which might make some things
easier.
that said you are correct that unix often used small txt files
for some set up and configuration but some programs used the env
too. truth is sna files were used in some of the dec OSes too -
it was just a matter of taste.
I don't think one is better than the other -- I do think when in
Rome I would want to use the scheme that is the operational
standard under the least astonishment principle
I'm not even going to get into an argument about which is better, or
which thing was done in different places. That is a totally
different question.
Both ways work, they provide different pros and cons.
I just totally love the solution I have come up with for name
resolving in RSX, which allows me to easily solve some details which
I have found very hard to do in a simple, clean and nice way with
the resolver solution that exists under Unix.
Johnny
Clem
On Dec 19, 2013, at 5:14 PM, Johnny Billquist
<bqt at softjar.se <mailto:bqt at softjar.se>> wrote:
On 2013-12-19 21:07, John Wilson wrote:
From: Johnny Billquist <bqt at softjar.se
<mailto:bqt at softjar.se>>
To get more on topic - I'm working on a name
resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix
(or even VMS) had
something similar.
Me too! Port?
To Unix? Not likely. Logical names just don't have a good
equivalent. The Unix way is text files with configurations
instead. But the form of that is already established, with
the /etc/resolv.conf and /etc/nsswitch.conf (and /etc/hosts)
files. Hard to change, and those do unfortunately not easily
allow user overrides at any level.
(Now I just need to finish the DNS part of it.)
Details. Sounds like good engineering so far. Nice going!
Yeah. The DNS part is not really difficult. It's just a
question of setting up and sending out UDP packets, and then
parsing the responses. Although I must admit that DNS have
some bits that I'm not too happy about.
Working on building the DNS query right now. That is
actually really simple. Doing the parsing will probably take
a few days of work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se <mailto:bqt at softjar.se> ||
Reading murder books
pdp is alive! || tryin' to stay hip" -
B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se <mailto:bqt at softjar.se> ||
Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
I remember having this discussion about 30 years ago with a couple of the VMS implementors. Im not going to argue with you - other thanks to say - at the end of the day we decided just what I said -- there are pros/cons to each solution - you pointed out some of the pros for logicals.
But reality is that what people use them for is pretty much the same and from a programmer stand point - about the same amount of work to get the values.
I point out - that Cutler added to winders whatever he needed from VMS that did not really support. He used env's since thats what they had -- they could have added them if they had wanted too. But in fact what they already had a solution - yup it came from C and UNIX but it was good enough.
As I said - its really an issue what is native for each system -- you should use that solution of you can. I do not fault you for using logicals for a tool targeted to a RSX or VMS. I'm just not going to grant that they really all that different.
As for a universal resolver vs having each client do a lot of work in the library, that was and is an implementation choice - left over from how it was the original DNS was implemented (at Berkeley on the VAX at the time). It is interesting that the UNIX idea of a small program was sort of lost by many of my brethren at UCB when large address spaces showed up.
I suspect that if the DNS had been written for PDP-11 UNIX it might have been a separate process.
Clem
On Thu, Dec 19, 2013 at 6:18 PM, Johnny Billquist <bqt at softjar.se> wrote:
Hi.
On 2013-12-20 00:07, Clem Cole wrote:
logical names have a unix equiv. in environment variables.
Sortof, but not completely.
there are some differences and advantages to both but the idea and practice ends up being the same IMO
I disagree.
what you are doing in resolve$foo could just as easily be put in the environment and get the same result
No. Because I have (obviously) system wide logical names, which provides the system defaults for this. Any user defined logical names will override the system ones.
This concept of having logical names on several levels (system, group, login, session, task) do not have an equivalent form in Unix.
There are more aspects of environment variables that differs from logical names as well. Which also is a part of the reason you don't use environment variables for some things, and instead do have the small text files. (And I love small text files, by the way, so don't misunderstand me.) It's just that in some situations, other solutions can give a different bias, which might make some things easier.
that said you are correct that unix often used small txt files for some set up and configuration but some programs used the env too. truth is sna files were used in some of the dec OSes too - it was just a matter of taste.
I don't think one is better than the other -- I do think when in Rome I would want to use the scheme that is the operational standard under the least astonishment principle
I'm not even going to get into an argument about which is better, or which thing was done in different places. That is a totally different question.
Both ways work, they provide different pros and cons.
I just totally love the solution I have come up with for name resolving in RSX, which allows me to easily solve some details which I have found very hard to do in a simple, clean and nice way with the resolver solution that exists under Unix.
Johnny
Clem
On Dec 19, 2013, at 5:14 PM, Johnny Billquist <bqt at softjar.se> wrote:
On 2013-12-19 21:07, John Wilson wrote:
From: Johnny Billquist <bqt at softjar.se>
To get more on topic - I'm working on a name resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar.
Me too! Port?
To Unix? Not likely. Logical names just don't have a good equivalent. The Unix way is text files with configurations instead. But the form of that is already established, with the /etc/resolv.conf and /etc/nsswitch.conf (and /etc/hosts) files. Hard to change, and those do unfortunately not easily allow user overrides at any level.
(Now I just need to finish the DNS part of it.)
Details. Sounds like good engineering so far. Nice going!
Yeah. The DNS part is not really difficult. It's just a question of setting up and sending out UDP packets, and then parsing the responses. Although I must admit that DNS have some bits that I'm not too happy about.
Working on building the DNS query right now. That is actually really simple. Doing the parsing will probably take a few days of work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
By the way - to expand a little on why this will not be easily doable under Unix:
Name resolution in RSX is done by one task, and not separately by each task. This is an important feature, as the resolver cache will be able to be shared by all programs on the system. In Unix, each program does name resolution individually, and any data extracted is only available cached by that process. To get around this in Unix, you need to run a local domain name server, which you go though, and which cache things.
However, if you run a local domain name server, that process obviously will *not* be able to access your environment variables.
So the whole thing just will not allow itself to be done easily.
Under RSX, moving a program over to run as a specific user on a specific terminal is actually supported, and when this happens, you also gets the same logical name hierarchy as anything else running on that terminal. So there it do work, and I don't even need to run a full DNS server, as I can let this be done as a part of just the resolver side.
Johnny
On 2013-12-20 00:18, Johnny Billquist wrote:
Hi.
On 2013-12-20 00:07, Clem Cole wrote:
logical names have a unix equiv. in environment variables.
Sortof, but not completely.
there are some differences and advantages to both but the idea and
practice ends up being the same IMO
I disagree.
what you are doing in resolve$foo could just as easily be put in the
environment and get the same result
No. Because I have (obviously) system wide logical names, which provides
the system defaults for this. Any user defined logical names will
override the system ones.
This concept of having logical names on several levels (system, group,
login, session, task) do not have an equivalent form in Unix.
There are more aspects of environment variables that differs from
logical names as well. Which also is a part of the reason you don't use
environment variables for some things, and instead do have the small
text files. (And I love small text files, by the way, so don't
misunderstand me.) It's just that in some situations, other solutions
can give a different bias, which might make some things easier.
that said you are correct that unix often used small txt files for
some set up and configuration but some programs used the env too.
truth is sna files were used in some of the dec OSes too - it was
just a matter of taste.
I don't think one is better than the other -- I do think when in Rome
I would want to use the scheme that is the operational standard under
the least astonishment principle
I'm not even going to get into an argument about which is better, or
which thing was done in different places. That is a totally different
question.
Both ways work, they provide different pros and cons.
I just totally love the solution I have come up with for name resolving
in RSX, which allows me to easily solve some details which I have found
very hard to do in a simple, clean and nice way with the resolver
solution that exists under Unix.
Johnny
Clem
On Dec 19, 2013, at 5:14 PM, Johnny Billquist <bqt at softjar.se> wrote:
On 2013-12-19 21:07, John Wilson wrote:
From: Johnny Billquist <bqt at softjar.se>
To get more on topic - I'm working on a name resolver for RSX right
now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar.
Me too! Port?
To Unix? Not likely. Logical names just don't have a good equivalent.
The Unix way is text files with configurations instead. But the form
of that is already established, with the /etc/resolv.conf and
/etc/nsswitch.conf (and /etc/hosts) files. Hard to change, and those
do unfortunately not easily allow user overrides at any level.
(Now I just need to finish the DNS part of it.)
Details. Sounds like good engineering so far. Nice going!
Yeah. The DNS part is not really difficult. It's just a question of
setting up and sending out UDP packets, and then parsing the
responses. Although I must admit that DNS have some bits that I'm not
too happy about.
Working on building the DNS query right now. That is actually really
simple. Doing the parsing will probably take a few days of work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Hi.
On 2013-12-20 00:07, Clem Cole wrote:
logical names have a unix equiv. in environment variables.
Sortof, but not completely.
there are some differences and advantages to both but the idea and practice ends up being the same IMO
I disagree.
what you are doing in resolve$foo could just as easily be put in the environment and get the same result
No. Because I have (obviously) system wide logical names, which provides the system defaults for this. Any user defined logical names will override the system ones.
This concept of having logical names on several levels (system, group, login, session, task) do not have an equivalent form in Unix.
There are more aspects of environment variables that differs from logical names as well. Which also is a part of the reason you don't use environment variables for some things, and instead do have the small text files. (And I love small text files, by the way, so don't misunderstand me.) It's just that in some situations, other solutions can give a different bias, which might make some things easier.
that said you are correct that unix often used small txt files for some set up and configuration but some programs used the env too. truth is sna files were used in some of the dec OSes too - it was just a matter of taste.
I don't think one is better than the other -- I do think when in Rome I would want to use the scheme that is the operational standard under the least astonishment principle
I'm not even going to get into an argument about which is better, or which thing was done in different places. That is a totally different question.
Both ways work, they provide different pros and cons.
I just totally love the solution I have come up with for name resolving in RSX, which allows me to easily solve some details which I have found very hard to do in a simple, clean and nice way with the resolver solution that exists under Unix.
Johnny
Clem
On Dec 19, 2013, at 5:14 PM, Johnny Billquist <bqt at softjar.se> wrote:
On 2013-12-19 21:07, John Wilson wrote:
From: Johnny Billquist <bqt at softjar.se>
To get more on topic - I'm working on a name resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar.
Me too! Port?
To Unix? Not likely. Logical names just don't have a good equivalent. The Unix way is text files with configurations instead. But the form of that is already established, with the /etc/resolv.conf and /etc/nsswitch.conf (and /etc/hosts) files. Hard to change, and those do unfortunately not easily allow user overrides at any level.
(Now I just need to finish the DNS part of it.)
Details. Sounds like good engineering so far. Nice going!
Yeah. The DNS part is not really difficult. It's just a question of setting up and sending out UDP packets, and then parsing the responses. Although I must admit that DNS have some bits that I'm not too happy about.
Working on building the DNS query right now. That is actually really simple. Doing the parsing will probably take a few days of work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
logical names have a unix equiv. in environment variables.
there are some differences and advantages to both but the idea and practice ends up being the same IMO
what you are doing in resolve$foo could just as easily be put in the environment and get the same result
that said you are correct that unix often used small txt files for some set up and configuration but some programs used the env too. truth is sna files were used in some of the dec OSes too - it was just a matter of taste.
I don't think one is better than the other -- I do think when in Rome I would want to use the scheme that is the operational standard under the least astonishment principle
Clem
On Dec 19, 2013, at 5:14 PM, Johnny Billquist <bqt at softjar.se> wrote:
On 2013-12-19 21:07, John Wilson wrote:
From: Johnny Billquist <bqt at softjar.se>
To get more on topic - I'm working on a name resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar.
Me too! Port?
To Unix? Not likely. Logical names just don't have a good equivalent. The Unix way is text files with configurations instead. But the form of that is already established, with the /etc/resolv.conf and /etc/nsswitch.conf (and /etc/hosts) files. Hard to change, and those do unfortunately not easily allow user overrides at any level.
(Now I just need to finish the DNS part of it.)
Details. Sounds like good engineering so far. Nice going!
Yeah. The DNS part is not really difficult. It's just a question of setting up and sending out UDP packets, and then parsing the responses. Although I must admit that DNS have some bits that I'm not too happy about.
Working on building the DNS query right now. That is actually really simple. Doing the parsing will probably take a few days of work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
On 2013-12-19 21:07, John Wilson wrote:
From: Johnny Billquist <bqt at softjar.se>
To get more on topic - I'm working on a name resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar.
Me too! Port?
To Unix? Not likely. Logical names just don't have a good equivalent. The Unix way is text files with configurations instead. But the form of that is already established, with the /etc/resolv.conf and /etc/nsswitch.conf (and /etc/hosts) files. Hard to change, and those do unfortunately not easily allow user overrides at any level.
(Now I just need to finish the DNS part of it.)
Details. Sounds like good engineering so far. Nice going!
Yeah. The DNS part is not really difficult. It's just a question of setting up and sending out UDP packets, and then parsing the responses. Although I must admit that DNS have some bits that I'm not too happy about.
Working on building the DNS query right now. That is actually really simple. Doing the parsing will probably take a few days of work.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
From: Johnny Billquist <bqt at softjar.se>
To get more on topic - I'm working on a name resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar.
Me too! Port?
(Now I just need to finish the DNS part of it.)
Details. Sounds like good engineering so far. Nice going!
John Wilson
D Bit
On Dec 19, 2013, at 2:23 PM, Dave McGuire <mcguire at neurotica.com> wrote:
On 12/18/2013 05:43 PM, Johnny Billquist wrote:
To get more on topic - I'm working on a name resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar. So it resolves names. Nothing spectacular about that.
But instead of having a resolv.conf, like Unix, I instead use a
RESOLV$ORDER logical name to tell what kind of resolving I want. This
has a comma separated list, and understands LOGICAL, FILE and DNS.
FILE uses the file "HOSTS" to lookup IP address and name mappings.
LOGICAL uses logical names for the mapping.
DNS uses the domain name system. (With logical names giving the address
of the DNS server, as well as what domain name to use.)
So far, so good. Now, the neater part is that any user can (of course)
override any part of this by having their own logical names for the
resolve order, the HOSTS filename, add their own name resolutions
through logical names, as well as having a different DNS server, or
default domain name.
And it uses almost no memory in the user process. Instead the interface
goes through the I/O system to the TCP driver, which in turn invokes a
separate ACP for the name resolving, and that ACP adopts the UIC and
logical name tables of the process who did the call.
Furthermore, the resolver ACP is multithreaded, and it do caching, even
between different users (when applicable) and different programs.
Sorry, I just had to brag a little on how cool that is. :-)
(Now I just need to finish the DNS part of it.)
Ok, now that really does sound cool!
I need to get back into RSX. I haven't run it in a very long time.
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
Ditto, and ditto. Kudos, Johnny.
Michael Young
young at ecn.purdue.edu
On 12/18/2013 05:43 PM, Johnny Billquist wrote:
To get more on topic - I'm working on a name resolver for RSX right now.
It's a totally awesome thing, and I only wish Unix (or even VMS) had
something similar. So it resolves names. Nothing spectacular about that.
But instead of having a resolv.conf, like Unix, I instead use a
RESOLV$ORDER logical name to tell what kind of resolving I want. This
has a comma separated list, and understands LOGICAL, FILE and DNS.
FILE uses the file "HOSTS" to lookup IP address and name mappings.
LOGICAL uses logical names for the mapping.
DNS uses the domain name system. (With logical names giving the address
of the DNS server, as well as what domain name to use.)
So far, so good. Now, the neater part is that any user can (of course)
override any part of this by having their own logical names for the
resolve order, the HOSTS filename, add their own name resolutions
through logical names, as well as having a different DNS server, or
default domain name.
And it uses almost no memory in the user process. Instead the interface
goes through the I/O system to the TCP driver, which in turn invokes a
separate ACP for the name resolving, and that ACP adopts the UIC and
logical name tables of the process who did the call.
Furthermore, the resolver ACP is multithreaded, and it do caching, even
between different users (when applicable) and different programs.
Sorry, I just had to brag a little on how cool that is. :-)
(Now I just need to finish the DNS part of it.)
Ok, now that really does sound cool!
I need to get back into RSX. I haven't run it in a very long time.
-Dave
--
Dave McGuire, AK4HZ
New Kensington, PA
On 2013-12-18 23:52, Sampsa Laine wrote:
On 19 Dec 2013, at 00:45, Johnny Billquist <bqt at softjar.se> wrote:
On 2013-12-18 23:37, Sampsa Laine wrote:
On 19 Dec 2013, at 00:34, Johnny Billquist <bqt at softjar.se> wrote:
On 2013-12-18 23:20, Dave McGuire wrote:
Where are the topic nazis today??!
My god. That was a quick Godwin!
But yeah, you are right. This is drifting very off-topic. Let's call it quits, especially since Godwin have been (sortof) invoked. :-)
VMS don't speak arabic. 'Nuff said.
This thread wasn't Godwined as such - there was no comparison to the Third Reich or Holocaust brought up.
I did say "sortof". Nazi's were mentioned. :-)
You gotta admit that was one of the better OT threads for a while :)
It did actually contain facts and not just ramblings...
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol