I've seen/heard of various stories about how people update their
nodename databases on their machines, hacking together scripts, and
processing files. So I figured I should write a small mail about the
topic (I should create a web-page with this information as well).
The main/basic point is that people are creating work for themselves
they really don't need.
Exactly how you update your nodename database on your machine depends on
what OS you are running, but there are basically prepared tools and
scripts already existing for pretty much any scenario. And if you happen
to have a system or need not currently covered, I can easily create one
for you as well.
But before going into the solutions, let me explain a bit about the
source of the data here.
DECnet phase IV do not have a centralized nodename system like DNS. Each
node in the DECnet network has its own nodename database, and every
machine can have its own name for another machine, independent of what
that other machine thinks its own nodename is.
However, in order to make it easier for multiple people and machines to
talk, it helps if everyone have a somewhat similar database. And here is
where the nodename database in MIM comes it. The nodename database that
I have on MIM is not the regular DECnet nodename database. Instead I'm
using DATATRIEVE to maintain a nodename database, which contains more
information than just the number and name. It contains the owner,
information about the software and hardware of the node, the location,
and when things were updated. This database is what is queried when
someone goes to http://mim.stupi.net/nodedb . And that page is generated
by just making queries in DATATRIEVE. If someone have a host with
DATATRIEVE on it, it is even possible to remotely access this DATATRIEVE
database over DECnet (you'll only have read-only access).
I have been considering possibly adding a web interface for people to
possibly be able to update their own information remotely, but so far
that's been a low priority thing. Maybe one day...
From this DATATRIEVE database I can then generate the DECnet nodename
database on MIM. This is a simple makefile actually. Whenever I run it,
it will create a bunch of different files (I'll get to that in a
moment), and detect if any changes have happened on the DECnet level of
things. If so, it will send a mail to people who have requested it,
informing them that the nodename database have been updated, and they
should update the nodename database of their own machines.
I hope this makes it apparent that creating various files based on the
nodename database is actually very simple. This is in a sense what
DATATRIEVE is good at. Creating reports is sortof what all these output
files are.
So - what files do I create today? Well, here is a short list:
FIX.CMD - This is a script file suitable for RSX systems using CFE.
However, it's sortof specially tailored for MIM, so it's not a file I
would recommend anyone else to use.
FIX.COM - This is a script for VMS systems using phase IV.
FIX.PHV - This is a script for VMS systems using phase V.
FIX.IMP - This is a script for VMS for anyone using DECdns.
FIX.T20 - This is a script for TOPS-20.
HECNET.PY - This is a definition file for PyDECnet.
FIX.RST - This is a script for RSTS/E.
NODENAMES.DAT - This is basically just the basic information is a simple
output form from DATATRIEVE. It exist mostly for historical reasons, but
I understand that lots of people actually take this file, and then write
code to process, extract and apply information from this file.
In addition, some systems can directly import nodenames from another
machine on DECnet, meaning you do not have to fetch and run any scripts
at all.
So here is the actioins you need to do on each system in a summarized form:
RSX:
In RSX, there is a tool called NNC which copies definitions from another
node. Copy over MIM::HECNET:NNC.BAT which is a batch file you can use
which does all the work of importing the latest definitions from MIM and
updating your local system. All you need to do is just "SUBMIT NNC.BAT"
and you are done.
VMS:
With phase IV, the node copy capability is build into NCP. All you need
to do is: "NCP COPY KNOWN NODES FROM MIM TO BOTH" and you are done.
With phase V, copy over FIX.PHV and run it, or just directly run it from
MIM like this: "@MIM::HECNET:FIX.PHV"
If you run DECdns, grab FIX.IMP, and run it with whatever tool is used
to manage this (sorry that I can't help more, I don't really have any
experience with DECdns).
TOPS-20:
Grab MIM::HECNET:FIX.T20 and run in in the NCP submode of OPR (if I
remember the setup correctly).
RSTS/E:
Grab MIM::HECNET:FIX.RST, and run it with "@FIX.RST".
PyDECnet:
Fetch hecnet.py by doing "wget mim.stupi.net/hecnet.py". Place that
where you have configured PyDECnet to get the nodenames from, and you
are good (not sure if you need to restart PyDECnet).
Now. If you have some other system with some specific format you need,
just let me know, and I'll create such a file as well. It's trivial for
me to do this from DATATRIEVE. If you spot something wrong/bad in some
file created today, let me know, and we'll fix it. If you see any errors
or omissions in the information in this mail, let me know, and I'll get
it corrected. I will create a web page with this information as well.
If you want to get a mail whenever the nodename database is updated,
just let me know and I'll add you to the list.
And HECnet is slowly growing. Occasionally a completely new person/site
gets connected. Occasionally people add more nodes. The online presence
seems pretty constant. At the moment 19 areas are online. In area 1,
currently there are 19 machines online. Looking at Paul's HECnet map
(http://akdesign.dyndns.org:8080/map), there are machines online in
quite different locations, covering a large part of the world. I find
this cool, and even though there isn't a lot being done, it's still fun.
Well. Have a nice weekend everyone, and I hope some people find this
information useful.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
Hi,
I've been using narkive.com in readonly mode to look at comp.os.vms until fairly recently.
Now my browser is making the connection and it's being dropped by the other end.... that is, when I'm calling from a UK IP address.
If I change my location (access to several UK and non-UK points of presence) to an non-UK address, I can connect without a problem.
So far 8 uk-based ISPs (mobile and residential) are being dropped and 6 non-uk (US E, US W, Lux, Japan and Aus) are ok.
Pinging works from all.
Has narkive.com blocked connections from UK addresses?
Keith
I had been making some efficiency tweaks to a few things, particularly
GLXLIB, the Galaxy Object Time System when I began to notice that
programs sometimes appeared to not be using any processor time at all.
I found that the normal JSYS that returns fork run time (RUNTM%) only
gives millisecond resolution.
Tops-20 exposes a 100 Khz interface via the HPTIM% JSYS. 'High
precision' in this case meant the maximum internal clock rate of the
DK10 real time clock. So, although the KL10 had a megahertz clock,
Tops-20 lops off a decimal order of magnitude, presumably to remain
compatible with TENEX. The maximum resolution is thus 10 microseconds,
a hundred times the RUNTM% resolution.
Unfortunately, the HPTIM% JSYS only works for your own process, not
others. So, I modified the monitor code to be able to get high
precision run times for any forks in the job. I then modified the EXEC
to display the high precision times if requested. What I also found out
was that, by default, the EXEC will only display a tenth of a second,
whereas RUNTM% will return two decimal orders of magnitude more.
The comparisons below are perhaps of interest. About the shortest I've
seen is 1.5 ms (0.00015). Given the increasing speed of simulations,
one assumes that DK10 resolution will be exceeded at some point.
------------------------------------------------------------------------
$i fork ORION (1): Background, SLEEP at 767721, 0:00:00.1 QUASAR (2):
Background, SLEEP at 767721, 0:00:00.0 MOUNTR (3): Background, SLEEP at
2420, 0:00:00.0 BATCON (4): Background, SLEEP at 767723, 0:00:00.1
NMLT20 (5): Background, SLEEP at US%DES+165, 0:00:00.0 => FAL (6):
Background, SLEEP at 767721, 0:00:00.0 Fork 13: SLEEP at 767723,
0:00:00.0 Fork 12: SLEEP at 767723, 0:00:00.0 Fork 11: SLEEP at 767723,
0:00:00.0 Fork 10: SLEEP at 767723, 0:00:00.0 Fork 7: SLEEP at 767723,
0:00:00.0 $ $i fork /high-precision ORION (1): Background, SLEEP at
767721, 0:00:00.12459 QUASAR (2): Background, SLEEP at 767721,
0:00:00.05135 MOUNTR (3): Background, SLEEP at 2420, 0:00:00.06751
BATCON (4): Background, SLEEP at 767723, 0:00:00.19957 NMLT20 (5):
Background, SLEEP at US%DES+165, 0:00:00.09560 => FAL (6): Background,
SLEEP at 767721, 0:00:00.08322 Fork 13: SLEEP at 767723, 0:00:00.01310
Fork 12: SLEEP at 767723, 0:00:00.01577 Fork 11: SLEEP at 767723,
0:00:00.00381 Fork 10: SLEEP at 767723, 0:00:00.00362 Fork 7: SLEEP at
767723, 0:00:00.00320