home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / vmsnet / decus / journal / 5 next >
Encoding:
Text File  |  1993-01-12  |  210.8 KB  |  4,745 lines

  1. Path: sparky!uunet!noc.near.net!eisner.decus.org!frey
  2. Newsgroups: vmsnet.decus.journal
  3. Subject: DECUServe Journal, January 1993
  4. Message-ID: <1993Jan5.215046.19@eisner.decus.org>
  5. From: FREY@Eisner.DECUS.Org
  6. Date: 5 Jan 93 21:50:28 -0500
  7. Organization: DECUS
  8. Approved: FREY@Eisner.DECUS.Org
  9. Lines: 4734
  10.  
  11.                             The DECUServe Journal
  12.                             =====================
  13.                                 January 1993
  14.  
  15.  
  16.     Hello!  I'm glad to present the first Internet issue of the DECUServe
  17. Journal.  This issue is jam-packed with technical information on everything
  18. from Datatrieve to C to VMS to DECstations.  I hope that you find this issue
  19. of the Journal interesting and helpful.
  20.  
  21. Sharon Frey
  22. frey@eisner.decus.org
  23.  
  24.  
  25.                               Table of Contents
  26.                               -----------------
  27.  
  28.     Contents and Credits ........................................  1
  29.     Technical Information ....................................... 82
  30.     Articles
  31.        DTR Wizard Needed: Join Counting the MANY Relation .......  2
  32.        Document Quotas ..........................................  3
  33.        TK50Z-FA => TK50Z-GA .....................................  5
  34.        How does one attach an LP25 to a VAX 4000? ...............  7
  35.        Macintosh and PC share Files via Pathworks/VAX? .......... 10
  36.        Decrease pipeline quota for PC performance? .............. 15
  37.        Communications wiring for a new house? ................... 16
  38.        C Pros & Cons ............................................ 23
  39.        Needed - REGIS-capable terminal emulator ................. 35
  40.        Can process use 2 or more pagefiles? ..................... 39
  41.        V5 performance slowdown .................................. 42
  42.        SYS$SETDDIR system service problem? ...................... 44
  43.        How are quotas for STARTUP set? .......................... 46
  44.        Can you put OPCOM on a DECTERM/Noprocess? ................ 49
  45.        Automatic Menu Startup ................................... 51
  46.        Collected Notes on VMS 5.5 ............................... 57
  47.        Control over scrolling speed in DECterm? ................. 61
  48.  
  49.  
  50. Editorial Staff
  51. ---------------
  52.                   Editor:    Sharon Frey  (vmsnet.decus.journal moderator)
  53.         Assistant Editor:    Bruce Bowler
  54.     Contributing Editors:    Alan Bruns
  55.                              Pierre Hahn
  56.                              Jack Harvey
  57.                              Larry Kilgallen
  58.                              Jeff Killeen
  59.                              Marc Kozam
  60.                              Don Roberts
  61.  
  62. The DECUServe Journal             January, 1993                       Page   2
  63.  
  64.  
  65.              DTR Wizard Needed: Join Counting the MANY Relation
  66.              --------------------------------------------------
  67.  
  68.         This is an extract of the DECUServe 4GLS_AND_QUERY_TOOLS 
  69.         conference topic 164.  The discussion took place on 
  70.         September 1, 1992.  This article was submitted for 
  71.         publication by Jeff Killeen, DECUServe Contributing Editor.
  72.         Ed.
  73.  
  74. By Linwood Ferguson, Damon Brownd
  75.  
  76.  
  77. (Ferguson)
  78. ----------
  79.     There is probably some simple answer to this, but we know enough Datatrieve 
  80. to be dangerous only:
  81.     I have two files, X and Y.  For each record in X there are many records in 
  82. Y, related by field A.
  83.     I need to form a collection (in order to report) that includes the records 
  84. in X (or certain fields) and the COUNT of the records in Y related to them.  
  85. Sort of:
  86.     
  87. FIND X REDUCED TO X_KEY, COUNT OF Y WHERE X.A = Y.A
  88.     
  89.     Now this actually runs (well, with the right field, tables, etc.) but seems 
  90. to ignore the COUNT part.
  91.     This is easy in SQL, but these are RMS files.  I know I can also CROSS 
  92. these and use SUM, but I see no way to SUM to a collection.  The best I can 
  93. think of is CROSS them and then in the report use RUNNING COUNT or something, 
  94. but I was looking to be a bit more elegant.
  95.  
  96.  
  97. (Brownd:  My favorite solution)
  98. -------------------------------
  99.     Try this:
  100.     
  101. DTR> DECLARE Y_COUNT COMPUTED BY COUNT OF Y WITH Y.A = X.A.
  102. DTR> FIND X REDUCED TO X_KEY
  103. DTR> PRINT X_KEY, Y_COUNT OF CURRENT
  104.     
  105.     I try to avoid using CROSS because it will completely drop a record from 
  106. domain X if there are no matching records in domain Y.
  107.  
  108.  
  109. (Ferguson:  Thank you -- DECUServe does it again!)
  110. --------------------------------------------------
  111.     Neat.
  112.     Sure not obvious to me how that works syntactically, but it works.  In my 
  113. case for a collection I used:
  114.     
  115. FIND X REDUCED TO X_KEY, Y_COUNT OF CURRENT
  116. REPORT CURRENT ...
  117.  
  118. The DECUServe Journal             January, 1993                       Page   3
  119.  
  120.  
  121.                                 Document Quotas
  122.                                 ---------------
  123.  
  124.         This article is an extract of the DECUServe All-In-1
  125.         conference topic 396.  This discussion occurred between
  126.         August 8, 1990 and February 17, 1991.  This article was
  127.         submitted for publication by Don Roberts, DECUServe 
  128.         Contributing Editor.  Ed.
  129.  
  130. By David Butterwort, Don Plorde, Chris Simon, Mark Hyde, Edward Hald, Les Paul,
  131. Bruce Burson
  132.  
  133.  
  134. (Butterwort)
  135. ------------
  136.     I've been playing with enforcing document quotas and something seems to be 
  137. missing.  Sure enough, when I run the CDQ housekeeping utility with my user's 
  138. "Enforce Quota?" flag set to yes, anyone who has gone over their magic number 
  139. gets locked into OVERQUOTA.
  140.     But even if they delete messages, empty their wastebaskets and re-count 
  141. their documents, up comes OVERQUOTA again when they log in the next time.  
  142.     I have noticed that an entry is being placed in the "Document Count" field 
  143. of their user profile which matches the total number of filed documents 
  144. *before* they D, EW and RC.  Of course I can blank it out for them and things 
  145. are then OK, but should I have to?
  146.     Sorry if this has been asked before (SHOW KEYWORD/FULL came up empty).
  147.  
  148.  
  149. (Plorde:  That's a known bug)
  150. -----------------------------
  151.     This is a known "bug".  We don't use the document quotas (the bug was one 
  152. of the reasons).  I believe the workaround is that you have to run the 
  153. maintenance routine again to get the "flag" cleared that allows the user to 
  154. escape the OVERQUOTA form.  Not a quick solution by any means.
  155.     I don't know if this one has been fixed in v2.4 or not.  I'm not holding 
  156. my breath on 2.4 or I'll be long dead for doing so.  We will likely update to 
  157. v2.4 next century :-(
  158.  
  159.  
  160. (Simon:  Pointer to 207)
  161. ------------------------
  162.     See topic 207 for document quota info.  The short answer is yes, it's a bug 
  163. in 2.3.  Don't know yet whether it's fixed in 2.4.
  164.  
  165.  
  166. (Hyde:  should be fixed)
  167. ------------------------
  168.     I've not tested/witnessed it personally, but the word here in the CSC is 
  169. that it is fixed in V2.4.
  170.  
  171.  
  172.  
  173. The DECUServe Journal             January, 1993                       Page   4
  174.  
  175.  
  176. (Hald:  Check on 2.4 fix)
  177. -------------------------
  178.     I had the same problem when we first went to 2.3 last summer. I tried to 
  179. write some code which would modify the profile quota fields when the user ran 
  180. the recount option on the OVERQUOTA form but ran into a dead end. I could get 
  181. it to work from a priviledged account but got an access violation on 
  182. profile.dat when I ran it from a normal user account.  Due to lack of time I 
  183. never tried to follow up on finding a fix.
  184.     I just finished installing 2.4 on a test system last week and have not had 
  185. a chance to see if this problem has been fixed. I will be doing some testing 
  186. this week and will post any findings.
  187.     I hope this has been fixed because we are desperately trying to find a
  188. painless (from the system manager standpoint) way of enforcing quotas.
  189.  
  190.  
  191. (Simon:  2.4 document quotas okay)
  192. ----------------------------------
  193.     I apologize for not getting back to this thread with an answer sooner,
  194. but...
  195.     Version 2.4 DOES do the recount documents correctly (i.e. writes the new 
  196. document count to the user's profile for him).
  197.  
  198.  
  199. (Paul:  Not counting . . .)
  200. ---------------------------
  201.     I have different problem. When I run the CDQ housekeeping procedure,
  202. starting at a certain record, all document counts are recorded as "No Document 
  203. Count Made". Atlanta CSC has been unable to help.  Any ideas?
  204.  
  205.  
  206. (Burson:  Check CHANNELCNT (and reboot if necessary))
  207. -----------------------------------------------------
  208.     Try upping SYSGEN parameter CHANNELCNT to be at least 20 more than the 
  209. number of entries in PROFILE.DAT.  There is a DSIN article describing this as 
  210. causing errors with both CDQ and PT procedures. They say the following errors 
  211. may be seen in the log file, but I've never seen them in the log.  If you run 
  212. QUOTA.EXE from the ALL-IN-1 subprocess, you'll see the errors then.   
  213.  
  214.   Error  162  at line  310    ?Cannot open file
  215.   %DEBUGBOOT-W-CHN, assign channel system service request failed
  216.   %BAS-F-ERRTRANEE, ERROR trap needs RESUME
  217.   -BAS-I-FROLINOEG, from line 510 in error handler at 510 in module DOCDB_COUNT
  218.   -BAS-I-FROLINMOD, from line 1 in module QUOTA
  219.   %BAS-E-FATSYSIO_, Fatal system I/O failure
  220.   -BAS-I-ON_CHAFIL, on channel 0 for file SYS$OUTPUT:.; at user PC 000355E9
  221.   -RMS-F-CHN, assign channel system service request failed
  222.   -SYSTEM-F-NOIOCHAN, no I/O channel available"
  223.  
  224.  
  225. (Paul:  You got the right one, BABY!)
  226. -------------------------------------
  227.     YEP, got that error message. Will try your suggestion. THANKS!
  228.  
  229. The DECUServe Journal             January, 1993                       Page   5
  230.  
  231.  
  232.                              TK50Z-FA => TK50Z-GA
  233.                              --------------------
  234.  
  235.         This article is an extract of the DECUServe Hardware_Help
  236.         conference topic 1226.  This discussion occurred between
  237.         August 7, 1992 and September 21, 1992.  This article was
  238.         submitted for publication by Jeff Killeen, DECUServe 
  239.     Contributing Editor.  Ed.
  240.  
  241. By Bruce Dow, Brian Schenkenberger
  242.  
  243.  
  244. (Dow)
  245. -----
  246.     There is a FCO to upgrade a TK50Z-FA to a -GA (so it can be used on a
  247. VS4000/VLC and other SCSI devices).  Will the BC19J cable still work?
  248.  
  249.  
  250. (Schenkenberger:  FCO ye. real need no?)
  251. ----------------------------------------
  252.     Yes there is or Was...
  253.     I have a TK50Z-FA which I have modified to a pseudo TK50Z-GA and it works
  254. file on 3100.  Despite what others may have to say about its no implementing
  255. full SCSI.
  256.  
  257.     If you want to know how its quite simple. 
  258.  
  259.     1) open the box.
  260.  
  261.     2) there is a board on the top of the drive mechanics held by four plastic
  262. standoffs.  Carefully pull back the retaining tabs and free the board.  You 
  263. may wish to remove the ribbon cable to make access easier.
  264.  
  265.     3) you will find 3 reddish/orange resistor packs (with 11 leads) in sockets.
  266. These are the SCSI terminators. The FA was terminated internally.  Carefully 
  267. pull them from the socket (as you may want to  make your box an FA again and 
  268. its harder than %&!! to find the same resistors if you break them)
  269.  
  270.     4) in the corner of the board are a set of 5 shorting jumpers.  The first 
  271. three (from back of board) define the scsi address.  A TK50Z-FA is addressed as 
  272. SCSI Address 1.   The addressing is a binary count.  1 is represented by 
  273. REMOVAL of a jumper  a 0 is repersented by INSERTING the Jumper.  Your 
  274. TK50Z-FA should have the first removed and the next two inserted.  (I have 
  275. added a short ribbon cable to a dip switch epoxied on the rear of my box for 
  276. ease of changing the SCSI address.
  277.  
  278.     5)  You need a terminator on the machine now since you will have pulled the
  279. internal terminator.
  280.  
  281.     6)  the other two of 5 jumpers are for test/troubleshooting functions.
  282.  
  283.     I have had mine working on 3100 VAXstations of several flavors, and other 
  284. 3100 â•¡VAXes up thru and including a 3100m80 VAX.  I don't see why the same
  285. thing shouldn't work on the 4000.
  286.  
  287.  
  288. The DECUServe Journal             January, 1993                       Page   6
  289.  
  290.  
  291. (Schenkenberger:  I'm using the old cable!!)
  292. --------------------------------------------
  293.      BTW,  I still using the same cable.  Off the top of my head I'm not sure
  294. of the number BC19J.  If that's the cable for connecting the TK50Z-FA to a 
  295. VAX/VAXstation 2000 then it should still work.
  296.  
  297. (Dow:  Need FCO number)
  298. -----------------------
  299.     Does anyone know the FCO number for the -FA => -GA change?  The FS rep
  300. hasn't found it yet.
  301.  
  302.  
  303. (Schenkenberger:  Checked BC19J is OK)
  304. --------------------------------------
  305.     In reference to [my previous reply]:
  306.     I just got home and looked at my cable.  It IS a BC19J-06.  So to answer
  307. your question, YES.  You can still use your BC19J.
  308.     Also, think you should consider the information in [the first reply].  
  309. It will save a lot of $$$ and time.  In fact, you can use the TK50Z-FA as is 
  310. on your SCSI if its the  
  311.     1) last on the bus (since its internally terminated and 
  312.     2) of you can accept it addressed at SCSI addr 1.  (refer [to the first 
  313.        reply] to address to something else.)
  314.  
  315.  
  316. (Dow:  TK50Z-FA => -GA part number)
  317. -----------------------------------
  318.     Actually, according to the FS rep, it is not an FCO, but rather you need 
  319. to order 3 proms to be replaced, part number 23-453E6-00 from DEC Direct.  
  320. Price ~$30.
  321.  
  322.  
  323. (Schenkenberger:  Keep the $30.00)
  324. ----------------------------------
  325.     I still find no problem with the -FA on the SCSI except for the need to 
  326. open  box to address SCSI id.  Try the box before you swap the ROMS (as per 
  327. [the first reply]).  I don't think the prom's do anytyhing more than change 
  328. the devices HWID.  (And you can put the $30 in your pocket!!)
  329.  
  330.  
  331. (Dow:  DECUServe saves $$$ again)
  332. ---------------------------------
  333.     Thanks Brian for your help.  I did order the PROM from DECdirect (my 
  334. system manager recommended we do that), but with the help from your notes
  335. I installed the prom myself and removed the three orange internal SCSI 
  336. terminators (DEC wanted $200/hour to install with a two hour minimum; thanks 
  337. for saving us $$$).
  338.     Here are a few differences I discovered on my particular TK50Z-FA.
  339.     
  340. > 3) you will find 3 reddish/orange resistor packs (with 11 leads) in sockets.
  341. >    These are the SCSI terminators. The FA was terminated internally.
  342.     
  343.     My resistors had 8 leads.  They were the only orange resistors in sockets.
  344.  
  345.  
  346. The DECUServe Journal             January, 1993                       Page   7
  347.  
  348.     
  349. > 4) in the corner of the board are a set of 5 shorting jumpers.  The first three
  350.     
  351.     My board has 6 shorting jumpers in the corner of the board.  It's original 
  352. configuration was:  --
  353.                     --
  354.                     ==
  355.                     --
  356.                     ==
  357.                     ==        == is jumper on back of board
  358.     
  359.     I tried changing the last three to jumpered, no jumper, jumpered but the 
  360. system didn't recognize the TK50.  So I changed it back to the original 
  361. configuration and it worked as SCSI id 1.
  362.     Of course, now that I reread your instructions to my reply, I see that the key 
  363. is that JUMPER OFF means 1.  oops.  I already had a device 2.  Well, 
  364. everything is working and I know how to change it in the future if I need to.
  365.     
  366.     Thanks again.
  367.     
  368.     WARNING:  For the blind who skim notes and assume that the jumpers
  369.               work the normal way in selecting the scsi id -- think again.
  370.     
  371.               REMOVE JUMPER to represent a 1.
  372.               INSERT JUMPER to represent 0.
  373.     
  374.  
  375. (Schenkenberg:  Memory lapses???)
  376. ---------------------------------
  377.     Still 3 res. packs?  I did [in first reply] speak from memory.  I knew it 
  378. had some odd numbering of pins relative to the norm for these inlines (10).
  379.     When I first ripped mine apart, I too was confused by the jumpering. But, 
  380. the VS2000's rom based tests and its T50 command status help me figure that out
  381. quickly.  Again, sorry about the number of pins, I modified the box about a
  382. year and a half ago.   I think I'm suffering from "Anheuser's" disease!!
  383.     I have heard rumours that the tk50z-fa configure as I described _might_
  384. hang the scsi bus on other nonVAX2000 boxes.  I've carried mine from 
  385. Portsmouth NH to Decatur IL to load/test/backup/etc. on many varied systems.
  386. I have yet to find any 'hanging'.  
  387.     By the way, the carrying handle on those boxes make it a nice little piece 
  388. of carry on luggage and fits nicely under the seat of most commercial airliners.
  389. Although its a little hard (sometimes) to get the idiots at the security check
  390. (x-ray) to understand its a computer tape drive and not a BOMB!.
  391. glad you took my word and saved the $$$'s.
  392.  
  393.  
  394.                   How Does One Attach an LP25 to a VAX 4000?
  395.                   ------------------------------------------
  396.  
  397.         This article is an extract of the DECUServe Hardware_Help
  398.         conference topic 1235.  This discussion occurred between August
  399.         19, 1992 and September 8, 1992.  This article was submitted for
  400.         publication by Jeff Killeen, DECUServe Contributing Editor.  Ed.
  401.  
  402. By Saul Tannenbaum, Frank Nagy, Linwood Ferguson, John Burnet, Tom McIntyre,
  403. Terry Kennedy, Nick Donovan
  404.  
  405. The DECUServe Journal             January, 1993                       Page   8
  406.  
  407.  
  408. (Tannenbaum)
  409. ------------
  410.     I have an old LP25 that is currently connected to the "printer port" of a 
  411. DMF-32 on a VAX-11/785.
  412.     The VAX-11/785 is going away, soon to be replaced by a VAX 4000 Model 500.
  413. How does one attach an LP25 to a VAX-4000? 
  414.     P.S. I'm looking for a cheap solution.
  415.  
  416.  
  417. (Nagy:  LPV11 Line Printer controller?)
  418. ---------------------------------------
  419.     I think the Q-Bus version of the LP11 controller (which is basically what 
  420. the parallel port of the DMF32 is) is the LPV11.
  421.  
  422.  
  423. (Ferguson:  Some possibilities)
  424. -------------------------------
  425.     Yes, we've done this often, at least for LP26's which should be the same.
  426.     I always get confused however between "short line" and "long line" and 
  427. which is which and whether the DMF32 and the LPV11 are the same.  There is a 
  428. conversion we've often used available from Data Products, installable and 
  429. servicable by DEC, with no visible side effects (i.e. it is still a "DEC" 
  430. printer and works just fine without any finagling with the queues or settings).
  431.     If the LPV11 is viable for you (I do not think it is exactly cheap) and 
  432. you need to know for sure, let me know and I'll find out if the long->short 
  433. or short->long is needed (actually someone will probably have already posted 
  434. the right answer by then  :-)
  435.     Another cheaper possibility is a serial to parallel converter, which 
  436. should be available relatively cheaply from Black Box or others.  Since the 
  437. LP25 is 300 lpm (I think) speed should not be an issue.  Obviously needs a 
  438. serial port.
  439.     And a final possibility if you have a LAN is the DECserver 250 (at least I 
  440. think that's the name) that will control several printers including I think 2 
  441. parallel ones).  Probably the most expensive of the three choices, but offers 
  442. a lot of growth and configuration flexibility.
  443.  
  444.  
  445. (Burnet:  Serial->parallel converters)
  446. --------------------------------------
  447.     We did this on a 4000 with a DEC LXY12 (Printronix 300).  Since our P300 
  448. originally had a Dataproducts interface, my first attempt used the Black Box 
  449. serial->parallel converter for Dataproducts printers.  Then I found that that 
  450. particular device won't work reliably at high speeds without hardware flow 
  451. control, which DEC *almost* supports on the CXY08 (via SET TERM/COMMSYNC), 
  452. but not quite, as of VMS 5.5.  So I then ordered the Centronics cable for the 
  453. P300 from Printronix (no jumper changes or even termination changes were 
  454. required), and got a very good, inexpensive ($100) serial-to-Centronics 
  455. converter from Telebyte that does XON/XOFF flow control.  This combination has 
  456. been working well for the last few months, and with the port set to 19,200 bps, 
  457. the P300 does print at 300 lpm.
  458.   As [the previous reply] mentions, the DECserver 250 is the preferred 
  459. solution, but it's expensive.
  460.  
  461.  
  462. The DECUServe Journal             January, 1993                       Page   9
  463.  
  464.  
  465. (McIntyre:  Second hand LPV-11 is not expensive)
  466. ------------------------------------------------
  467.     The last time I looked at the Midwest used computer catalog, the LPV-11 was 
  468. $250.  A new one from DEC would cost quite a bit more of course.
  469.  
  470.  
  471. (Burnet:  But was it an -S?)
  472. ----------------------------
  473.     The question is, can an LPV11-S (skunked) be had for that low a price?  
  474. It's always possible to cheat by using the old-style board and letting the 
  475. cable hang out of the cabinet, but that's ugly and you lose the RFI shielding.
  476.  
  477.  
  478. (McIntyre:  FCC is for sissies)
  479. -------------------------------
  480.     Well... Unless you are near an airport, the FCC probably won't come looking 
  481. for you.  Short answer the cheap boards are the old standard duals I believe.
  482.  
  483.  
  484. (Kennedy:  More on Dataproducts)
  485. --------------------------------
  486.     Various random answers:
  487.  
  488.     All DEC LPxx are "standard" Dataproducts. CSS offered a version with the
  489. "long line" interface, which was retired and replaced by the LLF01 extender, 
  490. which is itself retired now.
  491.     Older Dataproducts / DEC printers used a Winchester MRAC connector. The
  492. newer models (Bx00, LP2x) use a DB-50.
  493.     The supported controllers are:
  494.  
  495.     LP11 - older Unibus
  496.     DMF32 - newer Unibus
  497.     LPV11 - older Q-bus
  498.     LPV11-SA - newer (S-box) Q-bus
  499.     DS250 - LAT/Ethernet
  500.  
  501.     Don't buy Black Box Dataproducts converters - they're a rip-off at $435.
  502. Dataproducts is the same as Centronics except that the strobe is inverted and 
  503. the termination is _lots_ stiffer. You can convert Centronics to DP w/3 chips 
  504. (1 7404, 2 7407's) and some resistors. Schematics available on request.
  505.  
  506.  
  507. (Burnet)
  508. --------
  509.     Also DMB32 (VAXBI).
  510.     When I mentioned that no termination changes were required on the P300, I 
  511. should have said that I was expecting that changes would be required, but I 
  512. found that the cable was short enough that the printer worked fine with the 
  513. resistors that were in place (1k-ohm instead of 220/330-ohm).
  514.  
  515.  
  516. (Kennedy)
  517. ---------
  518.     I have heard conflicting things about this board. I _know_ it doesn't have
  519.  
  520. The DECUServe Journal             January, 1993                       Page  10
  521.  
  522.  
  523. all the same stuff as a DMF32, but was unsure which parts were missing. Thanks
  524. for clearing this up.
  525.     You mean that the P300 had "loose" termination (1K) already, right? In
  526. that case things should work fine. LP2x printers are "stiff" and won't work
  527. properly without a change.
  528.  
  529.  
  530. (Burnet:  DMB32 should be fine for a Dataproducts-interface printer)
  531. --------------------------------------------------------------------
  532.     Well, all I can say for sure is that we have used P300, P600, and LG02
  533. printers on DMB32s for a long time, and they all work fine (one was even moved 
  534. directly from a DMF32 to a DMB at one point).
  535.     I think that what's missing is the general-purpose parallel-I/O port.  The 
  536. DMB32's parallel port is LP32 only and won't do DR11-C (bidirectional) as the 
  537. DMF32 will.
  538.  
  539.  
  540. (Tannenbaum)
  541. ------------
  542.     Ask a simple question, get a prompt, detailed Decuserve response.
  543.     We'll probably let Black Box rip us off for Dataproducts protocol converter 
  544. - the GSA discount for it renders it less of a rip off and I wouldn't know 
  545. what to do with a 7404 and 2 7407s...
  546.     Thanks for the answers, folks.
  547.  
  548.  
  549. (Donovan:  Try an Emulex box)
  550. -----------------------------
  551.     As an alternative to the DECserver 250.
  552.     Emulex makes a LAT-Ethernet to Parallel box for under $1000.  We have been 
  553. quite please with the one that we have.
  554.  
  555.  
  556.               Macintosh and PC Share Files via Pathworks/VAX?
  557.               -----------------------------------------------
  558.  
  559.         The following article is an extract of the DECUServe 
  560.         Pathworks conference topic 393.  This discussion 
  561.         occurred between May 20, 1992 and July 23, 1992.  This 
  562.         article was submitted for publication by Jeff Killeen, 
  563.         DECUServe Contributing Editor.  Ed.
  564.  
  565. By Bart Lederman, Mike Lampson, Nick Donovan, Shawn Chapla, Ta Fuh Chiam
  566.  
  567.  
  568. (Lederman)
  569. ----------
  570.     One of the things which Digital has demonstrated using Pathworks is to have 
  571. a Macintosh put a file into a disk server (or virtual disk, or whatever) on 
  572. the VAX, and then an IBM-type PC picks it up and uses it.
  573.     We would like to do that here.  The person trying to set up the PC end of 
  574. things is having a lot of trouble.  The Macintosh has no problem getting to 
  575. it's AppleShare volume.
  576.  
  577. The DECUServe Journal             January, 1993                       Page  11
  578.  
  579.  
  580.     Has anyone done this (defined a disk and/or file service on the VAX which 
  581. is access from both Macintoshes and PC)?  Could you explain briefly how it is 
  582. done?
  583.  
  584.  
  585. (Lampson: Can do, sometimes a little painful)
  586. ---------------------------------------------
  587.     There are detailed steps for doing this documented in the PATHWORKS for 
  588. VMS (Macintosh) Server Administrator's Guide (AA-PBFFC-TE), Appendix C.
  589.     In short, you need to define the root directory of your shared file 
  590. service from both the Macintosh server and DOS server administration utilities.
  591. Then, you need to set up ACLs on the directory structure so that all current 
  592. and future files have these ACLs on them.  Then you can grant the VMS accounts 
  593. that your PC and Macintosh users are using these identifiers. 
  594.     Note that Macintosh files have something called data forks and resource 
  595. forks.  These "forks" are stored as separate files on a VAX (the resource fork 
  596. is in a [.MSAF$RESOURCE] subdirectory).  Therefore, DOS users can only access 
  597. the data fork of a Macintosh file.  This is fine for most data sharing as text 
  598. files, word processing documents, etc. store their data in the data fork.  If 
  599. there is a resource fork for these files, it would hold information such as 
  600. font names and word processor preferences.
  601.     Also note that a DOS user can only see a file on this shared disk if the 
  602. name has less characters than the 8.3 file name limit for DOS files.  Also, if 
  603. the Macintosh user uses non-DOS (and non-VMS) usuable character in the file 
  604. name, then the name is adjusted slightly by PATHWORKS (e.g. My Resum.wpc looks 
  605. like MY_RESUM.WPC on the DOS machine).
  606.     Let me know if you don't have the Server Admin manual and I'll type in the 
  607. most significant commands.  However, I recommend you get the manual as it is 
  608. quite useful.
  609.         
  610.  
  611. (Lederman:  By golly, it works!)
  612. --------------------------------
  613.     Just having the pointer to the correct location in the correct manual saved 
  614. me at least an hour of searching, and probably more.
  615.     The instructions there are fairly clear, though some of the steps are a bit 
  616. redundant.  And they don't give the steps which have to be done in ADMIN/PCSA 
  617. to set up all of the PC side of it: after creating the service, you still have 
  618. to start the service, make it known, and then grant each individual user 
  619. access to it (that last step escaped us for a while), and you have to be 
  620. certain that anyone who needs to write to the shared file gets write access.
  621.     I really do not understand why I need two entirely separate sets of 
  622. controls on the disk: one using VMS and ACLs, the other buried within 
  623. Pathworks.  The Macintosh seems to work fine with just one set of controls, 
  624. though the PCFS* ACLs seem to take precedence over the ACL identifiers I 
  625. created according to the Appendix C instructions, and I don't know why I need 
  626. two sets.  (I don't like ACLs much to begin with.)
  627.     But it is working, and seems to work well now that we set it up.  And it 
  628. isn't all that much trouble, once you know what has to be done.
  629.  
  630.  
  631. (Donovan:  Don't have to use PCSA security)
  632. -------------------------------------------
  633.     A common question/complain.  PCSA maintains its own security database. 
  634. When a tries to mount a service, the PCSA file server checks its database to 
  635.  
  636. The DECUServe Journal             January, 1993                       Page  12
  637.  
  638.  
  639. see if the user has access to the service.  This would have been setup with 
  640. the PCSA_MANAGER> GRANT command.  The file server then uses the ACLs that it 
  641. put on the directory so it can have access.  You do not have to use this 
  642. method, but DEC does not do a very good job of explaining the alternative.  A 
  643. file service does not have to have been exported for a PC to mount it, ie:
  644.  
  645. USER ?: \\VAX7\DUA0:[WP_FILES]%JSMITH *
  646.  
  647. will mount the directory [WP_FILES] without a service having to be created.  
  648. In this case standard VMS security is used.  There are other notes about this 
  649. in the conference.
  650.  
  651. >(I don't like ACLs much to begin with.)
  652.  
  653.     If you play with ACLs you will find that they are very useful.  The key is 
  654. to set them up correctly.  For example, if you put the following ACL on a 
  655. directory:
  656.  
  657. UAF> ADD/ID WP_FILES
  658.  
  659. EDIT/ACL WP_FILES.DIR and add:
  660.  
  661. (ID=WP_FILES,ACC=R+W+E+D)
  662. (ID=WP_FILES,ACC=R+W+E+D)
  663. (ID=[*,*],ACC=NONE)
  664. (ID=[*,*],ACC=NONE)
  665.  
  666. and then if you want to grant access to it, use the command:
  667.  
  668. UAF> GRANT/ID WP_FILES JSMITH
  669.  
  670. or to another user later:
  671.  
  672. UAF> GRANT/ID WP_FILES BJONES
  673.  
  674. ACLs are very flexible!
  675.  
  676.  
  677. (Chapla:  Is pathname supported?)
  678. ---------------------------------
  679.     If you use COMMON file services for the DOS users (instead of APPLICATION 
  680. services), then the PCFS* ACE's don't propagate down to files and 
  681. subdirectories under the root. Then, standard RMS protections (i.e. ACL's) 
  682. handle the protection for your DOS users (though you still need to register 
  683. them with access to the service).
  684.     
  685. >A file service does not have to have been exported for a PC to mount it, 
  686. >ie:
  687. >USER ?: \\VAX7\DUA0:[WP_FILES]%JSMITH *
  688. >will mount the directory [WP_FILES] without a service having to be 
  689. >created.  In this case standard VMS security is used.
  690.     
  691.     That's true that this works, but this isn't supported by DEC, is it? Even 
  692. so, a drawback is that it requires your users to know full file pathnames to 
  693.  
  694. The DECUServe Journal             January, 1993                       Page  13
  695.  
  696.  
  697. get to the service. If you have to move the service to another disk, your 
  698. users have to be notified of its new location. If you stick with the service 
  699. names, the users are blissfully ignorant (and isn't that the way we like them?).
  700.  
  701.  
  702. (Lederman:  Even works with VMS files.)
  703. ---------------------------------------
  704.     Actually, things are working fairly well now.  I can even transfer files 
  705. between PCs and Macs and the VAX now by just copying them to/from the correct 
  706. directory.  I can even put a VMS text file into the directory, and it shows up 
  707. with the proper TeachText Icon and resource idendifiers on the Mac.
  708.     It's just that, for our particular application, UIC based protection would 
  709. do everything we need with less work on the system manager's part than ACLs.
  710.     The big stumbling block now is going to be having the users (especially on 
  711. the Mac side) save the files with attributes and file names that the MS-DOS 
  712. people can read.
  713.     I haven't tried to read the virtual disk with PCDISK, but I agree with the 
  714. previous sentiment: it's really useful for reading and writing PC diskettes on 
  715. the one VAXstation we have which has a floppy drive.  Not all of our machines 
  716. are going to have Pathworks, and this is a handy option to have around.
  717.  
  718.  
  719. (Donovan:  Use logicals)
  720. ------------------------
  721. >That's true that this works, but this isn't supported by DEC, is it?
  722.     
  723.     I think that it is supported.  I know of some big users that do not want to 
  724. export thousands of services, one for each directory that they have.  If DEC 
  725. changes this, they will have some major complaints from many sides.
  726.     
  727. >Even so, a drawback is that it requires your users to know full file
  728. >pathnames to get to the service. If you have to move the service to
  729. >another disk, your users have to be notified of its new location. If
  730. >you stick with the service names, the users are blissfully ignorant
  731.     
  732.     Not a problem.  Use logicals.  I was just using an example that anyone
  733. could understand.  The real service (at our site) might be:
  734.     
  735. USE J: \\VAX7\AREA$MARCOM:[MARCOM]%JSMITH *
  736.     
  737. The logical AREA$MARCOM points to the correct disk.
  738.  
  739.  
  740. (Chapla:  Connection to directories will go away?)
  741. --------------------------------------------------
  742. >>That's true that this works, but this isn't supported by DEC, is it?
  743. >I think that it is supported.  I know of some big users that do not
  744. >want to export thousands of services, one for each directory that they
  745. >have.  If DEC changes this, they will have some major complaints from
  746. >many sides.
  747.     
  748.     Since I originnaly made the point about support of a connection to a
  749. specific VMS directory rather than a service name, we had a conference call 
  750. with some DEC PATHWORKS development managers (arranged by our eager local 
  751.  
  752. The DECUServe Journal             January, 1993                       Page  14
  753.  
  754.  
  755. sales reps) on PATHWORKS futures. One thing they mentioned is not to get too 
  756. in deep with this technique. DEC's goal is to make PATHWORKS as LAN 
  757. Manager-like as possible, and since this is not appropriate LAN Manager format, 
  758. it is *very* likely to go away in a near-term release (though they conceded 
  759. they will keep the personal file service capability).
  760.  
  761.  
  762. (Donovan:  Another silly idea from DEC...)
  763. ------------------------------------------
  764. >One thing they mentioned is not to get too in deep with this technique.
  765. >DEC's goal is to make PATHWORKS as LAN Manager-like as possible, and
  766. >since this is not appropriate LAN Manager format, it is *very* likely
  767. >to go away in a near-term release (though they conceded they will keep
  768. >the personal file service capability).
  769.  
  770.     This is the silliest thing that I have heard in a long time.  If a VAX 
  771. looks like nothing more than a big PC, then why the hell would I buy a VAX and 
  772. not a much cheaper PC?
  773.     The value of Pathworks is that I can integrate a VAX file system with a PC 
  774. network filesystem and keep a unified environment.  If I wanted a pure PC 
  775. network, I would buy Novell, not Pathworks.
  776.  
  777. Grumble....
  778.  
  779.     With brilliant minds like this "managing" the Pathworks group, no wonder
  780. DEC is losing billions...
  781.  
  782.     Did you raise any objections?  What was the response?
  783.  
  784.     Again to re-iterate my complaints.  I have thousands of .DIRs on my
  785. VAXcluster any one of which, a PC user could want to access.  If DEC removes 
  786. the VMS filename capability from Pathworks, then I would have to export 
  787. thousands of file services (one for each .DIR) (I guess that a user could learn 
  788. to use SETDIR, but this does not sound like "standard LAN MAnager" either and 
  789. I assume that it would go away also).  I use ACLs to control access to these 
  790. .DIRs and PCSA has its own security database, so my entire security database 
  791. would have to be replicated (and maintained) within the Pathworks security 
  792. database.  This would take weeks, even with automation, and all for what?  So 
  793. I can be "LAN Manager compliant".  Who cares?
  794.  
  795.     How do I register my complaint?
  796.  
  797.  
  798. (Chiam:  Business_Practices?)
  799. -----------------------------
  800.     BUSINESS_PRACTICES? It is gaining more and more topics nowadays.
  801.  
  802. The DECUServe Journal             January, 1993                       Page  15
  803.  
  804.  
  805.                  Decrease Pipeline Quota for PC Performance?
  806.                  -------------------------------------------
  807.  
  808.         This article is an extract of the DECUServe Pathworks 
  809.         conference topic 418.  This discussion occurred on 
  810.         July 24, 1992.  This article was submitted for 
  811.         publication by Jeff Killeen, DECUServe Contributing 
  812.         Editor.  Ed.
  813.  
  814. By Rick Davis, Jamie Hanrahan, Alan Striegel
  815.  
  816.  
  817. (Davis)
  818. -------
  819.     In the VMS P/W 4.1 release notes, section 2, there's a short section called 
  820. "improving performance".  In it DEC states you should decrease the DECnet 
  821. pipeline quota to something between 2304 and 3455 IF you are using a VAX 4000 
  822. or other VAX using the SGEC (second generation ethernet controller) AND you 
  823. have PC ethernet cards with (1) no multibuffering support and (2) <16k memory.  
  824. This is supposed to allow the PC NIC to keep up with the SGEC, and prevent the 
  825. SGEC from initiating waits.
  826.     We use 4000's, and have a fair number of WD8003e and Interlan 5210 cards 
  827. which fit the description.  I've talked to DEC about this issue, and haven't 
  828. gotten a satisfactory answer as to whether I should pay attention to changing 
  829. the pipeline quota.  Performance not always being what we'd like it to be, 
  830. this seems like something to consider.
  831.     Can anyone shed any light on this?  Is this a valid suggestion?  What side 
  832. effects does decreasing pipeline quota cause?  DOES IT HELP?
  833.  
  834.  
  835. (Hanrahan:  Take DEC's advice with several grains of salt...)
  836. -------------------------------------------------------------
  837.     I infer from this that they are talking about reducing the pipeline quota 
  838. on the VAX side.  (I'm not sure if it's even configurable on the PC side.)
  839.     This may result in a severe performance hit for other DECnet applications 
  840. (those talking to nodes other than Pathworks).   Here's why:
  841.  
  842.     When an application under VMS writes to a DECnet logical link, it is told 
  843. that the write is done (ie the $QIO to the network link completes) as soon as 
  844. the data has been copied to a buffer in local nonpaged pool.  Eventually DECnet 
  845. moves it to a buffer in the destination node, at which time the local buffer 
  846. is freed. The pipeline quota determines the amount of pool that you can use 
  847. for this, on a per-logical-link basis.  This gives you the benefit of multiple 
  848. queued writes with write-behind cacheing with no extra effort on the part of 
  849. the application programmer!  This benefit vanishes if you make the pipeline 
  850. quota small.  (Many DECnet experts advise you to *increase* the pipeline quota, 
  851. from its default of 10000 bytes to several times that value, to increase 
  852. performance on most applications!) 
  853.     The pipeline quota is also used to determine the initial size of the 
  854. transmit window at the NSP (logical link) layer.  The transmit window is the 
  855. amount of data that can be sent before stopping and waiting for an ACK from 
  856. the far end.  It is init'd to 2/3 of the pipeline quota, and adjusted up or 
  857. down from there depending on acks, credits, etc., received; it can never be 
  858. larger than the pipeline quota (for obvious reasons).  As anyone who has used 
  859. old Kermit implementations can tell you, a small transmit window really hurts 
  860. performance if you have a lot of data to move.  
  861.  
  862. The DECUServe Journal             January, 1993                       Page  16
  863.  
  864.  
  865.     Another aspect of this is ... what are you trying to improve the 
  866. performance of? If it's virtual disk or file services, forget it. These use 
  867. the LAD protocol, which in turn is layered on LAST, which is layered directly 
  868. on Ethernet... ie DECnet is not involved!  (Take a look in NCP> SHOW KNOWN 
  869. LINKS :  do you see logical links for PC disk or file services?)  In which 
  870. case, forget DEC's advice about pipeline quota completely!  (Unless there's a 
  871. pipeline quota for LAST, settable in LASTCP?  I haven't looked.) 
  872.     DECnet is only involved in Pathworks file transfers when you are running 
  873. FAL or NFT on the PC.  Homegrown applications that talk from the VAX to 
  874. programs running on Pathworks nodes of course also use DECnet.  If you do a 
  875. lot of these things, then you might consider DEC's advice... but you will be 
  876. hurting the performance of VAX-to-VAX DECnet applications, including remote 
  877. file access. 
  878.     The real trouble, I guess, is that you can't tell DECnet/VMS to use a 
  879. different pipeline quota for different nodes (ie larger values for VMS nodes, 
  880. smaller for Pathworks). 
  881.  
  882.  
  883. (Striegel:  Well... let's not assume too much)
  884. ----------------------------------------------
  885. >DECnet is only involved in Pathworks file transfers when you are running 
  886. >FAL or NFT on the PC.  Homegrown applications that talk from the VAX to 
  887. >programs
  888.  
  889.     Not entirely true all the time.  File services only use LAST if you 
  890. explicitly configure the client node for that (it is not the default) then it 
  891. tries to connect using LAST first.  If it fails, it used DECnet instead.  LAD 
  892. applies only to Disk services and CD-ROM services.  Note also that neither 
  893. LAST nor LAD can be used on token ring networks or across wide area 
  894. connections.  (Even in some ethernet configurations it may not work if traffic 
  895. or bridge delays make LAST unreliable.)
  896.  
  897.  
  898.                     Communications Wiring for a New House?
  899.                     --------------------------------------
  900.  
  901.         This article is an extract of the DECUServe Shop_Talk
  902.         conference topic 37.  This discussion occurred between
  903.         July 30, 1992 and August 6, 1992.  This article was 
  904.         submitted for publication by Alan Bruns, DECUServe 
  905.         Contributing Editor.  Ed.
  906.  
  907. By Keith Hare, Curtis Reid, Bill Mayhew, Jamie Hanrahan, Linwood Ferguson,
  908. Charlie Luce Jr., Ed Bailey, Jack Harvey, Arnold DeLarisch, John Burnet, 
  909. Jack Stevens, Rob Brown
  910.  
  911.  
  912. (Hare)
  913. ------
  914.     I am in the process of building a new house, and am looking for comments 
  915. and/or suggestions on data communications wiring.  I figure that it is better 
  916. to wire now, than wire later, even if I have no immediate needs.
  917.     I am thinking in terms of a star configuration, where I basically run wires 
  918. to most rooms, but just drop them into the basement for the moment.
  919.  
  920. The DECUServe Journal             January, 1993                       Page  17
  921.  
  922.  
  923.     My questions (so far) are:
  924.  
  925.     Is it possible to run tv and data over the same wire, either at the same 
  926. time, or not?  The house is nowhere near a tv-cable line (or anything else, 
  927. for that matter), but a satalite dish is a remote possibility.  Is it possible 
  928. to run tv over rg58 cable?
  929.     
  930.     What is cheapest - thinwire or something like 10baseT over twisted pair?  
  931. Which is going to have the most support in 10 years?
  932.     
  933.     Is it worth running fiber at this point or is the cost of the cable
  934. prohibitive?
  935.     
  936.     Is there something else I should consider?
  937.  
  938.  
  939. (Reid)
  940. ------
  941.     In my house, I have a twisted 3-pair telephone cable (I forget which kind) 
  942. connected in each room in the house and each all drop to the basement to be 
  943. connected on a 66-block.  This way, I can control certain rooms such as guest 
  944. room from making excessive long distance calls or (heaven forbid) 900 numbers.  
  945. Another feature is that it is easier to troubleshoot which line is bad.
  946.     As for the tv cable, it is in similar setup like I did for the phone cable.
  947.  
  948.  
  949. (Mayhew:  Soooo much cheaper now than later!)
  950. ---------------------------------------------
  951.     Relatively speaking, cable is cheap.  Labor isn't.  In new construction, 
  952. while the labor is also cheap (i.e. before the walls go up), I would string 
  953. something like 12- or 25-pair cable to each room.  You never know when you're 
  954. going to decide to turn one room into an office with a need for N serial ports 
  955. or N unshielded-twisted-pair links and it is oh-so-easy to take advantage of 
  956. them when they're already there :-)
  957.     I would simultaneously string at least one thinwire Ethernet link and at 
  958. least one coax TV line... more, maybe, depending on the wall layouts.
  959.     In our 70-year-old house we are retrofitting as time and $$ allow.  The 
  960. first floor rooms, except the kitchen, now have at least two loaded DECconnect 
  961. wall plates each.  The second floor is a whole lot more trouble and is mostly 
  962. serviced by a Rabbit for TV (you know... the thing that will retransmit your 
  963. "VCR" (or cable, but of course they don't advertise that) signal from your 
  964. main TV to 'satellites'; ours uses mini untwisted single-pair wire, there are 
  965. new ones that do it over the house wiring, which I wouldn't trust in a house 
  966. with lots of competing electronics).  Data service to the upstairs rooms is 
  967. either by modem ;-} or by the throw-a-cable-down-the-stairs method.  I wish it 
  968. were better and it will have to be some day.
  969.     And don't skimp on the electrical service or number-of-outlets, either
  970.     :-)
  971.  
  972.  
  973. (Hanrahan)
  974. ----------
  975. >Is it possible to run tv and data over the same wire, either at the same 
  976. >time, or not?  
  977.  
  978. The DECUServe Journal             January, 1993                       Page  18
  979.  
  980.  
  981.     Sure.  It's called "broadband".  In essence you have transceivers that 
  982. take the Ethernet info and put it on a carrier, and vice versa.  Since the 
  983. carrier is at a different frequency than any of your TV channels, it can 
  984. coexist on the same wire, just as multiple TV channels do.  Sorta expensive 
  985. for home use though. 
  986.     It'd also be lovely if there were PBX systems that could ride on broadband
  987. Ethernet, so that you wouldn't have to run phone wires as well as cable, but
  988. I don't think that exists yet.
  989.  
  990. >Is it possible to run tv over rg58 cable?
  991.  
  992.     Not unless you like lots of ghosts.  rg58 is 50 or 52 ohm impedance, TV 
  993. cable (RG59, RG6) is 72.  
  994.     
  995. >What is cheapest - thinwire or something like 10baseT over twisted pair?  
  996.  
  997.     For a star configuration thinwire is more expensive for the cable, but
  998. twisted pair will need a hub in the basement.  otoh, if you really want a star 
  999. configuration, thinwire will need a "hub" like a DEMPR as well, or else two 
  1000. cables to each room (one going, one coming back).  
  1001.  
  1002. >Which is going to have the most support in 10 years?
  1003.  
  1004.     Your guess is as good as mine.  Actually my guess is that 10 years is a 
  1005. VERY long time in this business and new installations at that time will be 
  1006. done with something that's unheard of now. 
  1007.  
  1008. >Is it worth running fiber at this point or is the cost of the cable
  1009. >prohibitive?
  1010.  
  1011.     The cost of the cable isn't that bad, but if you do this without intending 
  1012. to use it right now, you run the risk of your fiber not being compatible with 
  1013. whatever you do end up using. 
  1014.     
  1015. >Is there something else I should consider?
  1016.  
  1017.     The previous reply about power is good advice.  Especially with regard to 
  1018. your "computer room".  The manual for my HP LaserJet III, for example, says 
  1019. that it should be on its own circuit.  I would run no fewer than four separate 
  1020. 20-amp circuits to this room.  
  1021.     Similarly, if you are planning a "media room" with something formidable in 
  1022. the way of TV projectors, high-power audio amps, etc., use at least one 
  1023. separate circuit for this equipment -- maybe more.  (Real audio nuts will put 
  1024. the power amp on its own circuit, the other audio gear on another circuit, and 
  1025. video gear, if any, on yet a third.) 
  1026.  
  1027.  
  1028. (Ferguson:  Belt and suspenders)
  1029. --------------------------------
  1030.     After you do all the wiring, go back and put some conduit in.  Put in a 
  1031. box in each room (or ones you might *ever* want something in) and stub the 
  1032. conduit off in the crawlspace or attic.  Then in a couple of places run some 
  1033. all the way from the crawlspace to the attic so you can get stuff up and down.
  1034.     If you never need these you spend about $5 per room.  If you ever need 
  1035.  
  1036. The DECUServe Journal             January, 1993                       Page  19
  1037.  
  1038.  
  1039. them you save hours and hours and lots of sheetrock repair.
  1040.     If you never need these you guessed exactly right on all the wiring; go 
  1041. directly to Vegas and start playing.
  1042.  
  1043.  
  1044. (Luce:  Dissenting Experience)
  1045. ------------------------------
  1046. >I would simultaneously string at least one thinwire Ethernet link and
  1047.     
  1048.     For the record, I wouldn't -- 10BaseT is far easier to work with.  If you 
  1049. keep an eye on the CDDI (Copper, as opposed to Fiber, Distributed Data 
  1050. Interface) and run some proper shielded twisted pair you will be able to 
  1051. upgrade from 10 to 100Mbps if you ever feel the need (and want to spend the 
  1052. $$$ on new hub and interfaces, of course).
  1053.  
  1054.  
  1055. (Mayhew:  Maybe I'm underinformed about new developments, but...)
  1056. -----------------------------------------------------------------
  1057. >For the record, I wouldn't -- 10BaseT is far easier to work with.
  1058.     
  1059.     Isn't 10BaseT limited to one station per segment?
  1060.     In any case I will disagree about it being easier to work with.  Admittedly 
  1061. you need to make an investment in tools (or beg/borrow them), and that may be 
  1062. an obstacle in itself, but once you have 'em -- and I think we're talking 
  1063. under $100 here -- thinwire is no problem, compared to unshielded twisted 
  1064. pair.  Either one is easier to deal with than shielded twisted pair IMO.
  1065.     I much prefer the notion of shielded cable carrying those high frequency 
  1066. signals around the rooms where I and potentially my family and kids spend the 
  1067. bulk of our lives.  Am I being paranoid?
  1068.  
  1069.  
  1070. (Bailey:  Put in conduit!)
  1071. --------------------------
  1072.     I'd have to agree with - uh, drat, I forgot their name; sorry! - about
  1073. putting in conduit.  There's no telling what the preferred method of hooking 
  1074. stuff together will be in ten years (I'd bet on some sort of wireless 
  1075. technology myself), so why not concentrate on a method that will give you the 
  1076. most flexibility?  Conduit doesn't care if it has rusty coathangers soldered 
  1077. together or a bundle of fiber in it, so put the conduit in now, fill it with 
  1078. whatever is best for your needs right now, and enjoy.  Later, you can add more 
  1079. stuff in, or rip it out and put in the latest and greatest...
  1080.     Some thoughts on conduit.  (I just installed a satellite dish in the
  1081. backyard and ran conduit to it, so I'm an expert...:-)   )  I'd use the nice 
  1082. grey PVC conduit instead of the steel stuff - it cuts easily, you don't have 
  1083. to worry about bending it (you buy prebent sections), and assembly is a snap.  
  1084. Also, if you want to take a break while "gluing" the stuff together, simply 
  1085. take a good whiff of the solvent, and you'll be in another world for a 
  1086. while... :-) :-)
  1087.  
  1088.     Some other thoughts:
  1089.     You can never have conduit that is too big (there once was a person that 
  1090. thought they put in conduit with too large a diameter, but after walking 
  1091. through it, and looking around, he changed his mind... :-)   )  Bigger conduit 
  1092. lets you stuff more cable through it, and (as long as you don't put *too* much 
  1093.  
  1094. The DECUServe Journal             January, 1993                       Page  20
  1095.  
  1096.  
  1097. stuff in it) makes pulling cable easier.  For a house with typical 2X4 stud 
  1098. construction, you should be able to get away with something on the order of 
  1099. inch and a half to 2 inch conduit.
  1100.     You will probably want to add cable to it after some time, so it never 
  1101. hurts to pull a hunk of rope/good twine along with your initial bundle (and 
  1102. with every subsequent bundle).  The electricians have a name for this, but I 
  1103. forgot it.
  1104.     Stubbing the conduit up to the attic and down to the basement is a good
  1105. way of doing it (though if there's a floor in the middle you will have some 
  1106. challenges); just make sure you will be able to get to the attic and/or 
  1107. basement end of the stubs when the house is complete.  My attic is mostly 
  1108. covered with a couple feet of blown fiberglass; I'd not relish going through 
  1109. it very much.  Oh, and you will need to talk to your builder about leaving you 
  1110. a good size "core" from the top of the house to the bottom, so that you can 
  1111. put in a large hunk of conduit, and connect the basement and attic stubs.  I'd 
  1112. go at least double the size of the stubs on the core.
  1113.     If you do this, you'll never have a problem connecting anything in your 
  1114. house.  Then, when everything goes wireless, you can use the conduit for a 
  1115. central vacuum system!  :-)
  1116.     
  1117. Ed_who_missed_his_chance_at_installing_conduit,_and_regrets_it_still...  :-(
  1118.  
  1119.  
  1120. (Harvey:  A vote for Thinwire in this case)
  1121. -------------------------------------------
  1122. >Isn't 10BaseT limited to one station per segment?
  1123.  
  1124.     Yes.  What may be confusing is that prior to the 10BaseT standard, there 
  1125. were some low cost twisted pair to RG58 baluns that allowed you to directly 
  1126. interconnect Thinwire and twisted pair.  This is VERY HAIRY.  
  1127.     True 10BaseT has full Ethernet reliability, but requires a non-trivial hub 
  1128. box at the center of the star to feed each arm going to a single node.  Unless 
  1129. you have such a box for free, RG58 will probably be far cheaper for a ten room 
  1130. house.  Don't buy made-up cables.  Buy the parts and make them for about $30 
  1131. per room.
  1132.  
  1133.  
  1134. (Luce)
  1135. ------
  1136. >Isn't 10BaseT limited to one station per segment?
  1137.     
  1138.     I prefer to think of it as only being able to wipe out one node at a time 
  1139. :-)  Besides, [the original question] specified a star configuration.
  1140.  
  1141. >I much prefer the notion of shielded cable carrying those high frequency 
  1142. >signals around the rooms where I and potentially my family and kids spend the 
  1143. >bulk of our lives.  Am I being paranoid?
  1144.     
  1145.     I'm not an expert on EMI, but given that DEC has proposed FDDI speeds over 
  1146. UTP I suspect that Etherspeed isn't leaking all that much.
  1147.     OTOH, I question of a wiring scheme that lets Junior (or Spot) trash the 
  1148. net at any node by playing with the T.
  1149.  
  1150.  
  1151. The DECUServe Journal             January, 1993                       Page  21
  1152.  
  1153.  
  1154. (DeLarisch:  Residential FCC regulations are stricter than commercial) 
  1155. ----------------------------------------------------------------------
  1156.     Just a small point:
  1157.     I believe that the FCC rule in residential areas are stricter then in 
  1158. commercial buildings. Standard RS-232 cables wreak havoc with FM reception.
  1159. There is even some splatter from good shielded RG58.
  1160.     If it were me, it would be either fiber (assuming I hit at least on 
  1161. jackpot in Las Vegas) or good ol' RG58.
  1162.     Remember, whatever they get to work over shielded/unshielded twisted pair
  1163. will be much easier to do over coax (Yes, I know ... gross oversimplification
  1164. OK, High Freq. EE's begin trouncing 8-{) but I think its very close to reality).
  1165.  
  1166. P.S. I believe that the FCC has no sense-of-humor about rf/emi radiation
  1167.      in residential areas. Cease and desist is what is their normal solution.
  1168.  
  1169.  
  1170. (Harvey)
  1171. --------
  1172. >I much prefer the notion of shielded cable carrying those high frequency 
  1173. >signals around the rooms where I and potentially my family and kids spend the 
  1174. >bulk of our lives.  Am I being paranoid?
  1175.                                 ^^^^^^^^
  1176.     Yes.  The high frequency signals from the horizontal sweep circuits of
  1177. your TV sets are far stronger.
  1178.     However, this is a religious issue, with no answer.  Some people won't eat 
  1179. food from microwave ovens because it has been exposed to "radiation".
  1180.  
  1181.  
  1182. (Burnet:  Some near-field non-ionizing radiation can be a health hazard)
  1183. ------------------------------------------------------------------------
  1184.     Agreed, but...
  1185.     The second part (not eating food from microwave ovens) is obviously silly,
  1186. but I disagree that there is "no answer".  First, it's necessary to specify
  1187. explicitly what range of frequencies you're talking about.  And then, with
  1188. certain frequencies of non-ionizing radiation, the answers have been
  1189. deliberately obscured for decades by stonewalling on the part of computer and 
  1190. CRT manufacturers, the newspaper industry (a major CRT user with vested 
  1191. interests in keeping its employees ignorant), the big power utilities, and 
  1192. especially the U.S. regulatory agencies like OSHA, under the Reagan and Bush 
  1193. regimes.
  1194.     The certain frequencies that I'm referring to, of course, are in the 60-Hz 
  1195. neighborhood (power-line frequencies) and the 15-kHz neighborhood
  1196. (flyback-transformer frequencies in video monitors).
  1197.  
  1198.  
  1199. (Hanrahan:  obligatory skeptic's reply)
  1200. ---------------------------------------
  1201. >Some near-field non-ionizing radiation can be a health hazard
  1202.  
  1203.     This simply has not been proven.  At best there is a lot of anecdotal 
  1204. evidence and some studies that *may* show correlation between exposure to such 
  1205. radiation and health problems, depending on how you look at the data.  
  1206.     But correlation is not proof of cause-and-effect.  You might as well claim 
  1207. that the CRT evidence shows that long-term exposure to trace amounts of ozone 
  1208.  
  1209. The DECUServe Journal             January, 1993                       Page  22
  1210.  
  1211.  
  1212. causes problems.  There is also good reason to suspect that the correlations 
  1213. that have been shown between living near high-tension powerlines and incidence 
  1214. of certain cancers has a lot more to do with exposure to PCBs (used in older 
  1215. distribution transformers), to the defoliants often used around power poles, 
  1216. and to the wood preservatives used on wooden utility poles, than with exposure 
  1217. to ELF radiation.  
  1218.  
  1219.  
  1220. (Mayhew)
  1221. --------
  1222.     Hey, I'm a card-carrying skeptic, too.  I agree with Jamie in [the previous
  1223. reply], e.g.
  1224.     But, when I wire my house, I have control over it.  That means I get to
  1225. make the decision -- I don't have to live with the decision made by a power 
  1226. company or TV manufacturer that is *possibly* more concerned with profit than 
  1227. with my family's personal health.
  1228.     In addition, the TV flyback frequencies only happen while the TV is on. 
  1229. Ethernet would be running 24 hours a day, and hidden in the walls where it's 
  1230. easily forgotten.
  1231.     So even if I am paranoid, I am inclined to be cautious when I'm readily 
  1232. able to.  Particularly if there are very young children in the picture.
  1233.     As to the risk of Bobby unhooking the T connector ... isn't that what the 
  1234. fancy make-before-break dual-cable Ethernet wallplate jacks are for?
  1235.  
  1236.  
  1237. (Harvey:  <:-}=  )
  1238. ------------------
  1239.  
  1240.  
  1241. (Hare:  Summary, RG58, RG59, and lots of circuits)
  1242. --------------------------------------------------
  1243.     Sounds to me like the best bet is to pull rg58 for data and rg59 for tv
  1244. (I'm more likely to use the rg58 than the rg59).
  1245.     I'm not overly concerned about fm interference and the FCC - this house
  1246. will be in the middle of 15 acres.
  1247.     And, plenty of circuits, and some extra conduit, just in case.  Shouldn't 
  1248. be a problem, since my brother, the electrical contracter, will be helping me 
  1249. wire.
  1250.  
  1251.     
  1252. (Stevens:  Home Busses Are Being Designed)
  1253. ------------------------------------------
  1254.     Since I don't have a copy of Popular Science handy, I can't give details, 
  1255. but there are a couple of house-specific wiring systems (cables, faceplates, 
  1256. protocols) you may want to evaluate.  They include the things one would expect 
  1257. in a house:  power, communications, entertainment, and smart-appliance bus.  
  1258. Naturally, there is no agreement among appliance manufacturers about which one 
  1259. to use, but you may want to look them up and see what they bundle together.
  1260.  
  1261.  
  1262. (Brown:  A pointer to the Articles conference)
  1263. ----------------------------------------------
  1264.     19.49 in the articles conference may be of interest (or it may not).
  1265.  
  1266.  
  1267. The DECUServe Journal             January, 1993                       Page  23
  1268.  
  1269.  
  1270.                                   C Pros & Cons
  1271.                                   -------------
  1272.  
  1273.         The following article is an extract of the DECUServe Shop_Talk
  1274.         conference topic 41.  This discussion occurred between August
  1275.         19, 1992 and October 6, 1992.  This article was submitted for
  1276.         publication by Jeff Killeen, DECUServe Contributing Editor.  Ed.
  1277.  
  1278. By Dana Schwartz, Brian Schenkenberger, Mike Terrazas, Bart Lederman, 
  1279. Eric Husby, George Merriman, Jane Furze, Jack Harvey, Jeff Killeen, Dale Coy,
  1280. Bill Wood, Frank Nagy, Bob Hassinger, Bill Mayhew, Matt Holdrege, 
  1281. Charlie Luce Jr., Bruce Bowler, Jack Patteeuw, John Burnet, Curt Snyder,
  1282. Wayne Steffen, Larry Kilgallen
  1283.  
  1284.  
  1285. (Schenkenberger:  Calling all C haters)
  1286. ---------------------------------------
  1287.     Hello,
  1288.     I saw your disclaimer that you added to the bottom of a reply on keeping 
  1289. TECO on AlphaVMS in the VMS conference.  I just had to say hello.
  1290.     I too find great disdain of the C language.  Possibly for several reasons, 
  1291. of which you too may confer (and add onto if you wish.) 
  1292.  
  1293. 1) Its ridiculously (and intentionally) designed and written to be cryptic!
  1294. 2) It reeks of UNIX (a four letter word in my book)
  1295. 3) Sophomoric concepts of file access and architecture. 
  1296. 4) Its being sold (thrust down the thoughts of) corporate management as the
  1297.    portable language to end all languages.
  1298. 5) If you're on VMS->WHY C?   C is to UNIX what Bliss is to VMS (I'm certainly
  1299.    no Bliss advocate!! Give me Macro or give me death!)
  1300.  
  1301.     Maybe like the Little Rascal's Women Haters Club, we could start a 
  1302. C hater's club.  ???
  1303.  
  1304.  
  1305. (Terrazas:  C the language people love to hate.)
  1306. ------------------------------------------------
  1307. >1) Its ridiculously (and intentionally) designed and written to be cryptic!
  1308.  
  1309.     Yes it is intentionally designed.  It is not written to be cryptic, it is 
  1310. written to be concise.  Many C newbies make it cryptic, based on bad habits 
  1311. from languages like Fortran and early versions of BASIC where variables had 
  1312. limitations on length.
  1313.  
  1314. >2) It reeks of UNIX (a four letter word in my book)
  1315.  
  1316.     Since C came first, perhaps it would be better to say that Unix reeks 
  1317. of C.
  1318.  
  1319. >3) Sophomoric concepts of file access and architecture. 
  1320.  
  1321.     Any portable language cannot expect to find the rich file structure you 
  1322. find on ODS2 disks or under RMS control.  The price for portability is 
  1323. over-generalization.  The careful programmer has a file handling subsystem 
  1324.  
  1325. The DECUServe Journal             January, 1993                       Page  24
  1326.  
  1327.  
  1328. that uses the features of the operationg system s/he is on, and re-writes that 
  1329. subsystem for the different platforms that s/he is running on.  If you choose 
  1330. a language that covers that for you, then you're at the mercy of the compiler 
  1331. implementers as to the behaviors you see.  I'd love to tell you about the 
  1332. frustrations our COBOL programmers are having trying to get the same 
  1333. application to have the same temporal characteristics on our Amdahl, Cyber, 
  1334. and VAX machines.  They can't even find an acceptable compiler on some other 
  1335. platforms (DECsystem, HP-UX, PCs and others).
  1336.  
  1337. >4) Its being sold (thrust down the thoughts of) corporate management as the
  1338. >   portable language to end all languages.
  1339.  
  1340.     Interesting.  Our management views C as the language of choice only when 
  1341. more productive tools fail to meet requirements.  Some of the tools they 
  1342. prefer are 4GLs, authoring languages and the like.  These tools seem to all 
  1343. have a C interface.  Not so with any other language we've looked at.
  1344.  
  1345. >5) If you're on VMS->WHY C?   C is to UNIX what Bliss is to VMS (I'm certainly
  1346. >   no Bliss advocate!! Give me Macro or give me death!)
  1347.  
  1348.     Indeed.  How long are you going to remain purely VMS?  How long is Macro 
  1349. going to sustain your needs?  Decisions about what technical corner you paint 
  1350. yourself into should be made with an attempt to look at least 5 years down the 
  1351. road.  Preferably 10-20.  I don't have that kind of faith in Macro, VMS or 
  1352. even DEC.  If you do, I hope you're right.
  1353.  
  1354.     MikeT who was DECUS' representative to X3J11 (C Language Standard) 
  1355. until last week.
  1356.  
  1357.  
  1358. (Lederman:  It's not the computer, it's us.)
  1359. --------------------------------------------
  1360.     I've switched my "3GL" programming from FORTRAN to C over the past few 
  1361. years, and looked at a lot of programs.
  1362.     I find the biggest problem with C programs being cryptic isn't the 
  1363. language, it's the programmers.  People trying to show how "clever" they are, 
  1364. how many odd "tricks" they can put into a program, how many statements they 
  1365. can collapse into one, etc.  [As usual, of course: it's almost always not the 
  1366. tools that are at fault, it's the people using them.]
  1367.     I wouldn't want to be forced to use a language which is so rigid you can't 
  1368. do any 'tricks' at all: I wrote programs in RPG when I had to (it was the only 
  1369. tool available), and it's a language where you simply cannot have any unusual 
  1370. language constructs.  But there is a lot it simply will not do.
  1371.     Not that I think C is perfect either, but I don't think the majority of bad 
  1372. C programs can be blamed on the language.
  1373.  
  1374.  
  1375. (Schenkenberg:  put it in perspective)
  1376. --------------------------------------
  1377. >>Indeed.  How long are you going to remain purely VMS?  How long is 
  1378. >>Macro going to sustain your needs?  
  1379.  
  1380.     If the application is targeted for a platform (ie. some program just chock-
  1381. full-o'-VMS-system-services) then use a language more adapted to the job.
  1382. I've written in C as well as many others from Ada to Pascal.  I can't see why
  1383.  
  1384. The DECUServe Journal             January, 1993                       Page  25
  1385.  
  1386.  
  1387. you would contort yourself with a language in which you must bend over back-
  1388. wards to solve a problem.  Try calling the SMG menu functions in VAX C and
  1389. VAX Fortran and then tell me its easier in C.
  1390.     And I agree that the programmer has a lot to do with its cryptographic 
  1391. nature.  But then that's the nature of the beast.  Its a mindset which has 
  1392. been promulgated throughout the UNIX community where C first reared its head 
  1393. from the murky primorial waters.
  1394.  
  1395. >> MikeT who was DECUS' representative to X3J11 (C Language Standard) 
  1396. >> until last week.
  1397.  
  1398.     Every Mother loves her child!
  1399.  
  1400.  
  1401. (Husby:  In defense of C)
  1402. -------------------------
  1403.     I'm no real fan of C although I've used it to make a living for the past 5 
  1404. years.  But had to answer this.  The secret to using C to call routines in 
  1405. other languages ( an all VMS RTL's and System Services are other languages) is 
  1406. to use a wrapper. Either a macro or a routine that translates C to the other 
  1407. language.  This way you only do the "translation" once, not every time you use 
  1408. the function. This is similar to the comment a previous poster made about a 
  1409. record management system, which, incidentatly is not ODS-2.  
  1410.     With proper coding styles, C can be as easy to read as any language.  The 
  1411. coding mistakes that C programmers make can be made in any language.
  1412.  
  1413.  
  1414. (Terrazas:  Beginners code is always bad.)
  1415. ------------------------------------------
  1416.     [Regarding the previous reply by Brian Schenkenberger]
  1417.  
  1418.     Eric's reply in [the previous reply] answered your first point very well.  
  1419. I've done LOTS with SMG and other system services in C.  I have no problems.  
  1420. It is quite a bit easier than in Fortran for me, because I can't read Fortran, 
  1421. and the one program I had to do in it took me 8 times as long as it should.  
  1422. It was probably very bad Fortran, too.  That doesn't make Fortran bad, though, 
  1423. just useless to me.
  1424.  
  1425. >And I agree that the programmer has a lot to do with its cryptographic nature.
  1426. >But then that's the nature of the beast.  Its a mindset which has been prom-
  1427. >ulgated throughout the UNIX community where C first reared its head from
  1428. >the murky primorial waters.
  1429.  
  1430.     Again, Unix came from the C, the source of all life ;-}
  1431.  
  1432.     But germane to your point: in general, the good programmers on Unix write 
  1433. very readable C code.  Problem is that a lot of the C programs people look at 
  1434. come from college students.  Students never code with the thought that someone 
  1435. else will have to look at this code.
  1436.  
  1437. >>MikeT who was DECUS' representative to X3J11 (C Language Standard) 
  1438. >>until last week.
  1439. > Every Mother loves her child!
  1440.  
  1441.  
  1442. The DECUServe Journal             January, 1993                       Page  26
  1443.  
  1444.  
  1445.     I have some criticisms for C that are a lot more substantive than I've ever 
  1446. seen on this system.  I spent an hour once discussing them with Dennis Ritchie, 
  1447. and he agrees.  I use C a lot.  I know some of the biggest warts as good 
  1448. buddies.  The point of my replies here is that the usual complaints against C 
  1449. can be leveled at any other programming language, particularly if you look at 
  1450. student code or entry-level programmer code.
  1451.  
  1452.  
  1453. (Merriman:  Recommended reading)
  1454. --------------------------------
  1455.     I suggest anyone who wants to take other people's money to write C code 
  1456. get a copy of a Digital Press book called "DEC Guide to Software Engineering" 
  1457. or some such. It contains a C coding style guide, which if followed carefully, 
  1458. produces very maintainable C code. It makes your code look a lot like Pascal, 
  1459. in fact.
  1460.  
  1461.  
  1462. (Furze:  C is powerful, not cryptic)
  1463. ------------------------------------
  1464.     Everyone talks about C being portable then complains about the differences 
  1465. in the implementation of the RTLs on different platforms.  One day I finally 
  1466. realized the virtue of C.  It is the only language I have used (abused?) 
  1467. that is guaranteed to produce bug free code every time if you use it in it's 
  1468. pure, vanilla, unenhanced form - that means no added RTLs.  Vanilla C has no 
  1469. input or output instructions; these are implemented via RTLs.  If you cannot 
  1470. get any data out then, obviously, you cannot get any errors so the code must 
  1471. be bug free!
  1472.  
  1473. >the Little Rascal's Women Haters Club
  1474.  
  1475.     Don't forget who's note you are replying to!
  1476.  
  1477. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
  1478. sarcasm hat firmly in place but with a smile >
  1479. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
  1480.  
  1481. >Many C newbies make it cryptic
  1482.  
  1483.     I took a C night course in college from a fellow who spends his days in the 
  1484. real world writing C code for American Express.  In his first lecture he 
  1485. repeated, at least once every 5 minutes, that well written C code is not and 
  1486. should not be cryptic.  The rest of the semester was spent learning all of the 
  1487. neat things you could do with one line of C code because it is so powerful.  I 
  1488. got a B in the course when I thought I would get an A.  I have always thought 
  1489. that this was directly related to the 1/2 hour argument he and I had one night
  1490. over whether the instruction 
  1491.     
  1492.     if ((++x != ERROR) && (x-- != ERROR)) then x++
  1493.  
  1494. is 'powerful' or 'cryptic'.
  1495.  
  1496. >The price for portability is over-generalization.  
  1497.  
  1498.     Think of how much simpler things would be in the auto industry if only 
  1499.  
  1500. The DECUServe Journal             January, 1993                       Page  27
  1501.  
  1502.  
  1503. someone would design one 'portable' engine that could be installed in any and 
  1504. all makes of cars - whether it be a VW BUG or a Jaguar.  The designer would 
  1505. make a fortune because customers would insist that every auto manufacturer 
  1506. use that standard, portable engine.
  1507.  
  1508. >How long is Macro going to sustain your needs?  
  1509.  
  1510.     One C proponent explained to me that it's easier to think in C if you 
  1511. think of it as a high-level language designed by and for PDP-11 machine-level 
  1512. programmers.
  1513.  
  1514.     So instead of
  1515.  
  1516.     (R3)++  
  1517.  
  1518. C lets me say  
  1519.  
  1520.     x++ 
  1521.  
  1522.     Oh, gee, I see the light now.  That's a lot less cryptic and by 
  1523. programming in C I can, essentially, have the power and flexibility of PDP-11 
  1524. machine code when I program my HP-900.  Hey, this is really terrific.  Do I see 
  1525. a merger of DEC & Motorola in the offing?  GREAT RUMOR. Let's start it!
  1526.  
  1527. >MikeT who was DECUS' representative to X3J11 (C Language Standard) 
  1528. >until last week.
  1529.  
  1530.     Glad to hear you finally returned to reality, Mike.  Welcome.
  1531.  
  1532.  
  1533. (Harvey:  Macro is passe)
  1534. -------------------------
  1535. >5) If you're on VMS->WHY C?   C is to UNIX what Bliss is to VMS (I'm certainly
  1536. >   no Bliss advocate!! Give me Macro or give me death!)
  1537.                                                  ^^^^^
  1538.     You've got it!  I have written tens of thousands of lines of both Macro-11
  1539. and Macro-32, and I love both.  This Spring, I took to calling Macro-32 a dead 
  1540. language, like Latin.  Recently, I decided to start calling it a zombie 
  1541. language.  Why all this "attitude" about Macro?  
  1542.  
  1543.                                       Alpha.
  1544.  
  1545.     1. You can't count on Macro-64 as a high performance implementation
  1546. language on Alpha.  You would probably have to recode for each new model of 
  1547. Alpha in order to achieve maximum performance, and the coding will be a 
  1548. statistical nightmare.  Machine code is something best left to the new 
  1549. generation of super compilers for high level languages on Alpha.
  1550.  
  1551.     2. A Macro-32 compiler will be available on Alpha, but:
  1552.            a. It isn't an optimizing compiler.  You may take a performance
  1553.               hit over a program written for Fortran or C.
  1554.            b. You frequently need to revise your Macro-32 code to get it to
  1555.               work right, or so say the Digital developers.
  1556.            c. There is no promise it will be supported in the future.
  1557.  
  1558. The DECUServe Journal             January, 1993                       Page  28
  1559.  
  1560.  
  1561.     At first glance, it might appear that any sensible programmer could write a 
  1562. compiler that will turn out good error-free Alpha code.  The hitch is the 
  1563. combination of "good" and "error-free", and this is because the Alpha machine 
  1564. does not have physical status bits which your Macro-32 code may very well 
  1565. expect, in tricky ways, to exist.
  1566.     I am not criticizing the Digital developers when I call Macro-32 on Alpha a 
  1567. zombie language.  It's dead and they have done an amazing thing: they got it 
  1568. to work!  Just don't expect it to be warm and friendly.
  1569.     So, as much as I love Macro, I have decided to write off that part of my 
  1570. skill set and get on with becoming proficient in C.
  1571.  
  1572.  
  1573. (Wood:  Use the "right" language for the job at hand.)
  1574. ------------------------------------------------------
  1575.     Can one language really be all things to all people?  Would anyone really 
  1576. want to write a device driver in COBOL?  Isn't it really easier to read a 
  1577. database, keep some totals and sub-totals, and format 132 column business 
  1578. reports in COBOL than C?
  1579.     C is good for writing utilities, drivers, system level code, etc.  C 
  1580. programs are only maintainable if they're written by good, well disciplined, 
  1581. programmers.  C is a horrible choice for our shop, since we mostly use 
  1582. contract programmers who are neither good, nor well disciplined.
  1583.     I believe the concise nature of the C constructs encourages C programmers 
  1584. to write in a concise nature.  Unfortunately what appears concise when it was 
  1585. written looks quite cryptic to someone else, or even to the author several 
  1586. years after writing it.  In contrast the more verbose style of the COBOL and 
  1587. PASCAL languages encourages a more verbose coding style which can be easier to 
  1588. maintain several years later.  I find it amusing that an earlier note used a 
  1589. phrase like "code which looks like PASCAL" to describe a good C coding style.
  1590.     I also believe in the value of strongly typed languages, such as PASCAL.  
  1591. Most people, and I am clearly one, have bugs in our code.  I like my computer 
  1592. to do as much work as possible.  I much prefer having my compiler catch my 
  1593. typoes to having my users catch my typoes because they ran a code path I 
  1594. didn't completely test (since we can't test all code paths completely in 
  1595. medium or large applications.)  
  1596.     On the portability argument, FORTRAN makes pretty portable code if the
  1597. coder sticks to standard FORTRAN.  It also provides less opportunity to shoot 
  1598. oneself in the foot than C.  Of course that is because it is less powerful.  
  1599. But many application development efforts don't need, and shouldn't have access 
  1600. all that extra power.  The principle is much like using a cannon to swat a fly.
  1601.  
  1602.  
  1603. (Schenkenberg:  Help Jane!  Stop this crazy thing!!!)
  1604. -----------------------------------------------------
  1605.     The reference to the 'Little Rascal''s episode was not intended to offend
  1606. the women or to be sexist but... more an analog (you know - pre-digital).  
  1607. I happen to like women... even married one!!!  Also, my current supervisor is 
  1608. a woman.  Understanding, intelligent, and willing to listen.  180â–‘ from my past 
  1609. male supervisors.  
  1610.     Glad to see I was able to 'RAKE up the MUCK' about C.  
  1611.     Like the Idea of the Standard engine! Fits in anything from a VW to a 
  1612. J(ust) A(t) G(arage) U(ndergoing) A(nother) R(epair).  Will it be a 500+ cu.in. 
  1613. V8 configuration or a 750 cc salad oil fueled 4 banger? 
  1614.     Personally, I won't give up my King-of-the-Road.
  1615.  
  1616.  
  1617. The DECUServe Journal             January, 1993                       Page  29
  1618.  
  1619.  
  1620. (Terrazaz:  Shouldn't this be moved?)
  1621. -------------------------------------
  1622. >vanilla, unenhanced form - that means no added RTLs.  Vanilla C has no input 
  1623. >or output instructions; these are implemented via RTLs.  If you cannot get 
  1624. >any data out then, obviously, you cannot get any errors so the code must be 
  1625. >bug free!
  1626.  
  1627.     This used to be true.  Since the ANSI Standard there is an RTL with 
  1628. documented behavior that is part of the language.  stdio happens to be one of 
  1629. those libraries.  I realize the paragraph was supposed to be a joke, but I was 
  1630. afraid someone might believe your statement.
  1631.  
  1632. >I took a C night course in college from a fellow who spends his days in the 
  1633. >real world writing C code for American Express.  In his first lecture he 
  1634. >repeated, atleast once every 5 minutes, that well written C code is not and 
  1635. >should not be cryptic.
  1636.  
  1637.     Just because someone gets paid for something and just because s/he 
  1638. professes something doesn't mean they're good at it...
  1639.  
  1640. >    if ((++x != ERROR) && (x-- != ERROR)) then x++
  1641.  
  1642.     Is the type of code that's typical of the beginner.  In my book, a 
  1643. beginner is one who doesn't code for the maintenance programmer.
  1644.  
  1645. >Think of how much simpler things would be in the auto industry if only 
  1646. >someone would design one 'portable' engine that could be installed in 
  1647. >any and all makes of cars - whether it be a VW BUG or a Jaguar.  
  1648. >The designer would make a fortune because customers would insist that 
  1649. >every auto manufacturer use that standard, portable engine.
  1650.  
  1651.     I agree.  I'm not arguing that C is the only language one should use.  By 
  1652. the same token, to rule it out because one has Macro is very much like saying 
  1653. that no other car should be used besides a Peterbilt cab-over with back bench.
  1654.  
  1655. >Can one language really be all things to all people?
  1656.  
  1657.     No.
  1658.  
  1659. >Isn't it really easier to read a database, keep some totals and sub-totals, 
  1660. >and format 132 column business reports in COBOL than C?
  1661.  
  1662.     Not for me, I've never done any COBOL.  I do have a set of report function 
  1663. primitives that allow me to read databases and format reports in as little 
  1664. time (or less) than most of our COBOL programmers.  Those primitives did take 
  1665. me some time to develop, and I wish I was at liberty to put them in the SIG 
  1666. Tapes, but I'm very productive now.
  1667.  
  1668. The DECUServe Journal             January, 1993                       Page  30
  1669.  
  1670.     
  1671. >C is a horrible choice for our shop, since we mostly use contract programmers 
  1672. >who are neither good, nor well disciplined.
  1673.  
  1674.     It's also a rotten choice for many of our programmers.
  1675.     
  1676. >later.  I find it amusing that an earlier note used a phrase like "code which 
  1677. >looks like PASCAL" to describe a good C coding style.
  1678.  
  1679.     Remember, the person who made that comment was George Merriman.  George 
  1680. has posted several notes on this system about how much better Pascal is than C.
  1681.     
  1682. >I also believe in the value of strongly typed languages, such as PASCAL.  
  1683. >Most people, and I am clearly one, have bugs in our code.  I like my computer 
  1684. >to do as much work as possible.  I much prefer having my compiler catch my 
  1685. >typoes to having my users catch my typoes because they ran a code path I 
  1686. >didn't completely test (since we can't test all code paths completely in 
  1687. >medium or large applications.)  
  1688.  
  1689.     If you like strong typing, you can pass your C code through Lint, or you 
  1690. can use C++.  But even strongly typed languages don't catch all your bugs.
  1691.  
  1692.  
  1693. (Furze:  Is anyone really serious about C?)
  1694. -------------------------------------------
  1695.     I suppose some might say the arguments presented border on political 
  1696. disagreement.  If so, then I have been a DECUserve-badgirl since we do not 
  1697. discuss/argue politics here.  But when it 'some-how' migrated to my WHO_AM_I 
  1698. note, I couldn't resist the temptation to respond.  You might say  "The devil 
  1699. made me do it."
  1700.     Since some people insist on treating this topic seriously (How can anyone 
  1701. take "C" seriously?) and sharing legitimate information perhaps the discussion 
  1702. belongs in a more meaningful conference.  If someone suggests a better home 
  1703. for it, I will do the move (and then try to keep my opinions on the subject to 
  1704. myself).
  1705.  
  1706.  
  1707. (Coy:  Languages are fair game)
  1708. -------------------------------
  1709.  
  1710.  
  1711. (Nagy:  My experience with C)
  1712. -----------------------------
  1713.     Take my comments here in context - I'm not a manager and have written only
  1714. a couple of pages worth of code in the last couple of years...
  1715.     I came to C from Fortran (one roommate accused me of speaking Fortran in my 
  1716. sleep - just to set the tone).  I did so in the context of the Fermilab 
  1717. Accelerator Control system.  Having just finished the central alarm processing 
  1718. system - a totally asynchronous, dynamic memory, queue-driven program handling 
  1719. heterogeneous data structures -- and written in Fortran, I was looking for a 
  1720. new language to provide data structures and better dynamic memory support 
  1721. (pointers basically).  In addition to Fortran, we had VAX Pascal V1 - a 
  1722. useless product for doing anything useful.  I considered Bliss (having been 
  1723. exposed to it in my dim dark undergraduate days) but the compiler cost was 
  1724. more than twice that of VAX Fortran.  Just at this time, Digital came out with 
  1725. VAX C and I jumped on that.  It solved my problem and was an easy transition
  1726.  
  1727. The DECUServe Journal             January, 1993                       Page  31
  1728.  
  1729.  
  1730. (I was already familiar with C but hadn't written any) in that I could get 
  1731. "down and dirty" when I needed to; Pascal, on the other hand, restricted me to 
  1732. such an extent that I was unable to call system services and RTL routines I 
  1733. needed.
  1734.     Since then, we've used C as a major implementation language at Fermilab.
  1735. The new EPICURE beam line control system is mostly written in C, at least for 
  1736. the support subsystems and such.  The applications programs are written in a 
  1737. mix of C and Fortran (a particular program is in one or the other language).
  1738.     I've really had little problem reading my own C code.  Others have since
  1739. taken over my code with few problems.  I do extensively comment my code (as I 
  1740. write it, not afterwards).  This is especially true of any tricky code 
  1741. (written for the sake of run-time efficiency) which usually has a large 
  1742. comment block preceeding it telling the reader what I've done.
  1743.     In summary, I've found C to be productive for me and not a burden for
  1744. people taking over my code.
  1745.  
  1746.  
  1747. (Hassinger)
  1748. -----------
  1749.     I'll bet you wrote good, understandable FORTRAN code.  With that discipline 
  1750. as your background, I think it is far more likely that you would tend to write 
  1751. clear, understandable C.
  1752.     I think there are really two problems with C.  One is that it makes it too 
  1753. attractive and easy to write dense, obscure, tricky code.  The other is the 
  1754. culture that has grown up around the language that seems to perpetuate and 
  1755. encourage that kind of code.
  1756.     FORTRAN II was not very "powerful" (I know, I used it with punch cards and 
  1757. on a 4K PDP-8!), but modern Fortran is really quite powerful, particularly in 
  1758. it's VAX/VMS incarnation.  In fact, I will argue that it is at least as 
  1759. "portable" as C.  In its standards compliant form it includes effective I/O as 
  1760. well as the rest of the tools you need.  Because it has been in place and 
  1761. _standardized_ for a long time, there are many standards compliant, solid 
  1762. compilers available on nearly all platforms.  Indeed, modern OS's are designed 
  1763. to accommodate the needs of Fortran I/O.  This is not so true for C (note 
  1764. VAX/VMS C and its less than satisfactory RTL and accommodation to the VMS 
  1765. environment for example).
  1766.     In just about any compiled language comments cost nothing in execution
  1767. performance.  Source formatting designed to reveal the structure and flow cost 
  1768. nothing in execution performance.  And typically, expressing the program as a 
  1769. series of simple steps rather than folding as much as possible into one 
  1770. complex statement cost very little at execution time.  These principles apply 
  1771. equally well to FORTRAN, C, Macro and just about every other language.
  1772.  
  1773.  
  1774. (Mayhew:  Historical perspective on portability)
  1775. ------------------------------------------------
  1776.     Several comments appear in [earlier replies] indicating that C 
  1777. gave birth to UNIX.
  1778.     Not so.
  1779.     UNIX was originally born on the PDP-7 and -9 (in 1969-70, for those of you 
  1780. who think UNIX is newer and therefore better than VMS).
  1781.     The PDP-11 version became operational in February, 1971 on the PDP-11/20.
  1782.     The third version ran on other PDP-11s and used memory management.
  1783.     In the summer of 1973, the first licensed installation of UNIX, using this 
  1784. version, was installed outside the Bell System.  I did the installation, along 
  1785.  
  1786. The DECUServe Journal             January, 1993                       Page  32
  1787.  
  1788.  
  1789. with a colleague named Brent Byer.
  1790.     C was developed for the PDP-11 in 1972.
  1791.     Version 4 was the first version written in C.  It was written during the 
  1792. summer of 1973 at Bell; we installed it late that year.
  1793.     This history (documented, in addition to my memory, in "The UNIX 
  1794. Time-Sharing System", Bell System Technical Journal, July-August 1978) also 
  1795. demonstrates that portability was not the original goal of UNIX.  In fact, 
  1796. Dennis Ritchie, one of the originators of C, states as much in his paper, "A 
  1797. Retrospective", in the same journal: "An extremely valuable, though ORIGINALLY 
  1798. UNPLANNED, benefit of writing in C is the portability of the system."
  1799.     The first known ports of UNIX were to a virtual-machine partition under
  1800. VM/370 on an IBM System/370 in 1976-77, to an Interdata 7/32 at the University 
  1801. of Wollongong in Australia in approx. 1977-78, and to an Interdata 8/32 at 
  1802. Bell in 1977-78.  Thus the first portability exercises for a system that is 
  1803. said to be so portable were not completed until nearly a decade after the 
  1804. system was introduced, 4 years after it was first publicly available, and 5 
  1805. years after the ostensibly-more-portable-than-anything-else C language was 
  1806. developed.
  1807.     We now return you to your regularly scheduled program. ;-)
  1808.  
  1809.  
  1810. (Schenkenberg:  Vindicated at last!)
  1811. ------------------------------------
  1812.     Thank-you for setting it straight!
  1813.     And... As somewhat the perpetrator of this whole thread... I am amazed to 
  1814. see that what was originally intended as "let's poke fun at C" humor has turned
  1815. into such a sensitive (to some) topic.
  1816.     I find it rather entertaining!!!  Keep it up!
  1817.  
  1818.  
  1819. (Holdrege:  Fascinating history)
  1820. --------------------------------
  1821. >UNIX was originally born on the PDP-7 and -9 (in 1969-70, for those of you who 
  1822. >think UNIX is newer and therefore better than VMS).
  1823.     
  1824.     Interesting! What language was it written in? Macro 7?
  1825.  
  1826.  
  1827. (Mayhew:  A little more history)
  1828. --------------------------------
  1829. >Interesting! What language was [original UNIX] written in? Macro 7?
  1830.     
  1831.     C evolved from BCPL and from the language B, which Ken Thompson wrote in 
  1832. 1970 for early UNIX systems on the PDP-7 and -11.  B did not last long.  
  1833. Neither B nor C are dialects of BCPL, so perhaps "evolved from" is too strong, 
  1834. but they share a number of attributes with it.
  1835.     The B compiler ran in fewer than 4K 18-bit words on the PDP-7 and was
  1836. limited to word-access to memory -- but in that era there was not yet a
  1837. standardized notion of "byte" and memory was commonly measured in words.
  1838.     (Above from "The C Programming Language" in the same edition of the Bell 
  1839. System Technical Journal, written by Dennis Ritchie, S.C. Johnson, M.E. Lesk, 
  1840. and Brian W. Kernighan.)
  1841.     The "UNIX Time-Sharing System" paper mentioned earlier states that early 
  1842. versions were written in assembly language, until 1973 when it was rewritten 
  1843. in C.
  1844.  
  1845. The DECUServe Journal             January, 1993                       Page  33
  1846.  
  1847.  
  1848.     As late as at least 1977, the UNIX kernel consisted of about 10,000 lines 
  1849. of C and 1,000 lines of PDP-11 assembler (NOT Macro-11 btw, but a simple 
  1850. assembler called "as"), about 200 lines of which were for efficiency's sake 
  1851. and 800 lines to perform hardware functions not possible in C (e.g. executing 
  1852. various memory management hardware instructions that don't exist in the C 
  1853. language).  [Ref: "UNIX Implementation" by Ken Thompson in the same issue of 
  1854. the BSTJ.]
  1855.  
  1856.  
  1857. (Luce:  "FORTRAN 77, the only true universal assember")
  1858. -------------------------------------------------------
  1859. >FORTRAN II was not very "powerful" (I know, I used it with punch cards and on 
  1860. >a 4K PDP-8!), but modern Fortran is really quite powerful, particularly in 
  1861. >it's VAX/VMS incarnation.  In fact, I will argue that it is at least as 
  1862. >"portable" as C.  In its standards compliant form it includes effective I/O 
  1863. >as well as the rest of the tools you need. 
  1864.  
  1865.  
  1866. (Nagy:  Today's VAX Fortrn much, much better now!)
  1867. --------------------------------------------------
  1868. >>Frank,
  1869. >>  I'll bet you wrote good, understandable FORTRAN code.  With that
  1870. >>  discipline as your background, I think it is far more likely that you would 
  1871. >>  tend to write clear, understandable C.
  1872.  
  1873.     Thanks for the compliment, the poor ego needs all the egoboo it can get
  1874. (egoboo == ego boost).
  1875.  
  1876.     One amplification of my previous comment.  That project would be a lot
  1877. simpler to have done in C, but could also be done in today's VAX Fortran almost 
  1878. as easily.  The reason is, of course, that modern Fortran now provides 
  1879. flexible definition and manipulation of heterogeneous data structures 
  1880. (STRUCTURE and RECORD statements).  The only tricks I would need to use 
  1881. concern the use of dynamic memory and this would be easily accomplished with 
  1882. %VAL statements.
  1883.  
  1884.  
  1885. (Bowler)
  1886. --------
  1887. >(egoboo == ego boost).
  1888.  
  1889.     I thought EGOBOO would have meant "Boot from device EGO"  :-)
  1890.  
  1891.  
  1892. (Nagy:  Do that other funny thing you do...)
  1893. --------------------------------------------
  1894. >>I thought EGOBOO would have meant "Boot from device EGO"  :-)
  1895.  
  1896.     Nah, that would have to be "BOO EGO".  Besides, one never boots from the 
  1897. EGO, one always boots from the ID.
  1898.  
  1899.  
  1900. (Patteeuw)
  1901. ----------
  1902.     Interesting topic!
  1903.     I haven't had the chance to "plow" through [the earlier replies] but I too 
  1904.  
  1905. The DECUServe Journal             January, 1993                       Page  34
  1906.  
  1907.  
  1908. must admit that I'm not a C lover!
  1909.     In our area of the company some people (including myself in the past) must 
  1910. maintain assembly language programs that are several thousand lines long 
  1911. (automotive electronic fuel injection).  Management has a big problem in 
  1912. hiring (either as full time employees or as contractors) people who are 
  1913. competent assembly language programmers (especially for Intel 8096).
  1914.     We are moving to a new CPU architecture and part of that move will include 
  1915. using a high level language.  The "company" made a decision to use C without 
  1916. investigating any other languages (Ada may have been a good alternative, but 
  1917. we'll never know).
  1918.     "Management" likes C because "lots of people know it", and this is exactly 
  1919. what scares me !  I don't care how many 19 year old have written how many 
  1920. Windows Apps using MicroSoft C or Borland C, I want programmers that are 
  1921. experienced in Real Time Embedded Controls and know how to write structured 
  1922. code that is easily maintainable.
  1923.     Notice I didn't say that this couldn't be done in C, just an observation 
  1924. that most C programmers I have talked are NOT experienced in my type of 
  1925. application.  I would expect that most Ada would be experienced in RT EC.
  1926.     Also most C programmers I have met, seem to have the "UN*X" attitude that 
  1927. "I can hack something together with awk and grep and yacc to do that for you 
  1928. real fast"  (where did I see that description of C programmers being like pick 
  1929. up trucks with a bunch of tools bouncing around in the back).  These solutions 
  1930. are usually not easy to maintain.
  1931.  
  1932.  
  1933. (Burnet:  Yikes)
  1934. ----------------
  1935. >We are moving to a new CPU architecture and part of that move will include 
  1936. >using a high level language.  The "company" made a decision to use C without 
  1937. >investigating any other languages (Ada may have been a good alternative, but 
  1938. >we'll never know).
  1939.  
  1940.     I can just imagine what a conversation with a Ford dealer might have been 
  1941. like, circa 1997:  "Yes, not only does this new model have all the latest 
  1942. computer-controlled dashboard features and efficiency monitoring, but you can 
  1943. also plug in your PC to access the 16-megabyte Ada run-time library in ROM!"
  1944.  
  1945.  
  1946. (Snyder:  Picking on C?  You nuts?)
  1947. -----------------------------------
  1948.     Sigh. I'm a relatively experience C programmer who has NEVER worked on a 
  1949. UNIX platform.  C, like any other language, can be written well or poorly.  
  1950. Make sure when Ford hires their programmers that they don't hire those 19 year 
  1951. olds you mentioned. An experienced programmer will write legible, 
  1952. easily-maintainable code. How much of that assembler language code was easily 
  1953. maintainable?  Almost all of it, IF it was written by a knowledgeable 
  1954. programmer.  And maintained by same.  So quit your griping and start coding! ;-}
  1955.  
  1956.  
  1957. (Steffen:  The Future Past)
  1958. ---------------------------
  1959. >I can just imagine what a conversation with a Ford dealer might have
  1960. >been like, circa 1997:  "Yes, not only does this new model have all
  1961.  
  1962.     Might have been in like in 1997... You have read "The Restaurant At The
  1963.  
  1964. The DECUServe Journal             January, 1993                       Page  35
  1965.  
  1966.  
  1967. End of the Universe" too many times or will have been reading too many
  1968. times. 
  1969.  
  1970. >the latest computer-controlled dashboard features and efficiency
  1971. >monitoring, but you can also plug in your PC to access the 16-megabyte
  1972. >Ada run-time library in ROM!"
  1973.  
  1974.     How does the DoD do RT EC with Ada? Or isn't Ada being used in that way?
  1975.  
  1976.  
  1977. (Kilgallen:  In support of higher level languages)
  1978. --------------------------------------------------
  1979.     Of course I am a Bliss-bigot when it comes to lower level languages, but
  1980. I think the real answer to long-term maintainability is the use of higher level 
  1981. languages.
  1982.     I have a lot of experience revisiting code which has been written years
  1983. ago -- by me.  Maintaining a Pascal or Ada program correctly is _much_ easier 
  1984. than a program written in Bliss, Macro or TECO.  The compiler is able to alert 
  1985. you about many errors which would be "legal" in lower level languages.
  1986.     Additionally, high level languages are much better for those who switch
  1987. languages.  The chances that "thinking in another language" will result in an 
  1988. error-free compile is much lower.
  1989.  
  1990.  
  1991.                   Needed - REGIS-capable Terminal Emulator
  1992.                   ----------------------------------------
  1993.  
  1994.         The following article is an extract of the DECUServe Unix_Os
  1995.         conference topic 100.  This discussion occurred between July
  1996.         31, 1991 and August 2, 1991.  This article was submitted for
  1997.         publication by Jeff Killeen, DECUServe Contributing Editor.
  1998.         Ed.
  1999.  
  2000. By Dale Coy, Richard DeJordy, John McMahon, Terry Kennedy
  2001.  
  2002.  
  2003. (Coy)
  2004. -----
  2005.     My boss now has a MIPS box on his desk.  He _used_ to be able to use his 
  2006. PC to acces the VAX, and get graphics output on his screen from an
  2007. application that uses DECGraph.  That was because REFLECTION knows how to do 
  2008. REGIS.
  2009.     Now he is in the situation where the VAX knows perfectly well that he
  2010. doesn't have a REGIS-capable terminal.  So he can't get graphics.
  2011.     Is there a "terminal emulator" for UNIX that will run over TCP/IP and will 
  2012. do REGIS?
  2013.  
  2014.  
  2015. (DeJordy:  DECterm?)
  2016. --------------------
  2017.     I would think you should somehow be able to get a DECterm window open over 
  2018. TCP/IP that will support ReGIS....
  2019.  
  2020.  
  2021.  
  2022. The DECUServe Journal             January, 1993                       Page  36
  2023.  
  2024.  
  2025. (Coy:  Somehow?)
  2026. ----------------
  2027.     I guess I need some education (guess?).  This is a MIPS box running MIPS 
  2028. software.  Are you saying I can get DECTerm to somehow run on it?  If so, that 
  2029. would be an ideal solution.
  2030.  
  2031.  
  2032. (McMahon:  Xwindows!)
  2033. ---------------------
  2034.     Well, I have never seen a MIPS box... however...  If you can get the MIPS 
  2035. to run Xwindows, and you have TCP/IP on the VAX you can do the following:
  2036.  
  2037.     1)  On the MIPS, authorize (via XHOST) the VAX to be able to open
  2038.         windows on the MIPS.
  2039.     2)  On the VAX, issue a SET DISPLAY command... /TRANSPORT=TCPIP
  2040.         /NODE=mips-node-name
  2041.     3)  On the VAX, issue a CREATE/TERMINAL
  2042.  
  2043.     Hope this helps...
  2044.  
  2045.  
  2046. (Coy:  Who would have looked at CREATE?)
  2047. ----------------------------------------
  2048.     It is running Xwindows (it says).  Slowly (but that's another story).
  2049.     Well, I knew about SET DISPLAY.  Useful for lots of stuff on my
  2050. VAXStations.  I had played around with it a bit this afternoon, with no
  2051. success.  The missing hints were:
  2052.     
  2053. > 1)  On the MIPS, authorize (via XHOST) the VAX to be able to open
  2054. >     windows on the MIPS.
  2055. > 3)  On the VAX, issue a CREATE/TERMINAL
  2056.     
  2057.     I'll let you know how it works.
  2058.  
  2059.  
  2060. (Coy:  Almost?)
  2061. ---------------
  2062.     Well - 
  2063.     I did all of that, as suggested.  No errors on the XHOST or the SET DISPLAY.
  2064.     
  2065.     CREATE/TERMINAL
  2066.     
  2067.     Outer space for about 2 minutes (The VAX had obviously done something
  2068. and was waiting).  No visible effect on the MIPS (that is, no new windows).
  2069.     Finally, 
  2070.         NONAME message   Message number 02DBC002
  2071.         System-F-IVLOGNAM, invalid logical name
  2072.     
  2073.     Any clues as to where I should look?  Or how to diagnose?  It looks very 
  2074. much like it's _trying_ to _almost_ work.
  2075.  
  2076.  
  2077. (Kennedy:  How about this?)
  2078. ---------------------------
  2079.     Sounds like a problem translating DECW$DISPLAY. Try adding /PERM and
  2080. /EXECUTIVE_MODE to your SET DISPLAY/CREATE command and try again.
  2081.  
  2082. The DECUServe Journal             January, 1993                       Page  37
  2083.  
  2084.  
  2085. (Coy:  Making progress - but no cigar)
  2086. --------------------------------------
  2087.     That changes the behavior.  It used to take about 2 minutes to come back 
  2088. with the 02DBC002 message.
  2089.     It now takes about 4 minutes to come back with a 02DBC072 message.
  2090.     BTW - I can telnet in using a VAXStation and do the commands suggested
  2091. before (without /perm/exec), and it brings up a DECTerm window on the
  2092. VAXStation just *FINE*.  Seemingly proving that the problem lies somewhere in 
  2093. the MIPS box.  [Thanks, folks - at least I can now do it on my VAXStation 
  2094. using TCP/IP if I need to]
  2095.     Question: The XHOST command being used on the MIPS (per local advice)
  2096. is 
  2097.         XHOST +
  2098. which, we are told, should allow "anything".  Should I be suspicious of that?  
  2099. (other than the fact that I suspect "everything")?
  2100.     
  2101.  
  2102. (McMahon:  Can't Open Display)    
  2103. ------------------------------
  2104. >   I did all of that, as suggested.  No errors on the XHOST or the SET DISPLAY.
  2105.  
  2106.     FYI: SET DISPLAY has no error checking...
  2107.  
  2108. >Finally, 
  2109. >     NONAME message   Message number 02DBC002
  2110. >     System-F-IVLOGNAM, invalid logical name
  2111.  
  2112.     *Sigh* Typical DECwindows...
  2113.  
  2114. Message File: SYS$COMMON:[SYSMSG]DECW$TERMINALMSG.EXE;1
  2115. ---> %DECW-E-CANT_OPEN_DISPL, Can't open display
  2116.  
  2117.     Which isn't a very descriptive error.  I am assuming this is your MultiNet 
  2118. VAX.  If it is, and you are running V3.0 try the following command:
  2119.  
  2120.     MU X11DEBUG/LOG
  2121.  
  2122. It will try to diagnose the problem for you.
  2123.  
  2124.  
  2125. (McMahon:  A very, very long note that will save the Bacon)
  2126. -----------------------------------------------------------
  2127.     FYI:  SET DISPLAY creates a logical name DECW$DISPLAY which points to a 
  2128. WSA device.  Typically this logical is in the Job or Process table.  It is a 
  2129. good idea to do a SHOW DISPLAY when debugging a DECwindows problem to make 
  2130. sure that the logical exists in the same context where you are issuing the 
  2131. command.
  2132.     
  2133. >It now takes about 4 minutes to come back with a 02DBC072 message.
  2134.  
  2135. Message File: SYS$COMMON:[SYSMSG]DECW$TERMINALMSG.EXE;1
  2136. ---> %DECW-E-TIMEOUT_CONTROL, Timeout waiting for DECterm controller to start
  2137.  
  2138.     One of the more annoying DECterm errors...
  2139.     The way DECterms work is a "Controller" process is established as a 
  2140. multiplexer between the network and the user processes.  This controller 
  2141.  
  2142. The DECUServe Journal             January, 1993                       Page  38
  2143.  
  2144.  
  2145. process is running the image DECW$TERMINAL and typically has the process name 
  2146. of DECW$TE_X.  It communicates to the user processes through a psuedoterminal 
  2147. device.  The user end is TWDRIVER, the controller end is PYDRIVER.
  2148.     Anyway, what has happened here is that your terminal controller tried to 
  2149. start up and crashed.  A method of debugging it is to do the following:
  2150.  
  2151. $ SET DISPLAY /TRANS=TCPIP/NODE=foo/CREATE
  2152. $ SPAWN/NOWAIT RUN SYS$SYSTEM:DECW$TERMINAL ! Start the controller as a 
  2153.                                               subprocess
  2154. $ CREATE/TERMINAL
  2155.  
  2156.     Now watch for errors.  I'll bet that the Controller subprocess crashes 
  2157. after a complaint about missing fonts.
  2158.  
  2159.     Three ways to solve this...
  2160.  
  2161. 1)  Modify the resource files to force DECterm to use fonts that you know 
  2162.     the MIPS box has.  This works most of the time but is totally unsupported
  2163.     :-)
  2164.  
  2165.     Create a file SYS$LOGIN:DECW$TERMINAL.DAT containing:
  2166.     #
  2167.     # Large font search list
  2168.     #
  2169.     *bigFontSetName:    -*-*-*-*-*--24-*-*-*-c-*-*-*
  2170.     #
  2171.     # Small font search list
  2172.     #
  2173.     *littleFontSetName: -*-*-*-*-*--14-*-*-*-c-*-*-*
  2174.  
  2175.     This particular file tells the Xserver to choose a non-proportional font
  2176.     (the "c") in either 24 point or 14 point depending on the "Big/Little Font"
  2177.     switch.  All other font criteria is wildcarded.
  2178.  
  2179. 2)  Take the FONTS.ALIAS file from DECW$EXAMPLES and FTP to the MIPS box.
  2180.     Merge this file with the fonts.alias file on the MIPS.  This will map 
  2181.     the Digital specific font requests to MIT equivalents.  This is probably
  2182.     your safest bet.
  2183.  
  2184. 3)  Get copies of the DEC fonts, FTP them to the MIPS and install them.
  2185.     This (probably) costs a lot of money.
  2186.  
  2187. >   XHOST +
  2188. >which, we are told, should allow "anything".  Should I be suspicious of that?  
  2189.  
  2190.     Suspect everything...  that is about the only problem with "XHOST +".
  2191.  
  2192.     Some potentially good references on this material:
  2193.  
  2194. VAX Professional (V13 #2 - April '91)  "A Remote DECterm Client and Server"
  2195.  By: John McMahon
  2196.  
  2197.  
  2198. The DECUServe Journal             January, 1993                       Page  39
  2199.  
  2200.  
  2201. Atlanta Spring 91 DECUS:  Session GR001/UN123 "Customizing DECwindows
  2202.  Applications via the DECW$*.DAT files" By: John McMahon
  2203.  
  2204. Atlanta Spring 91 DECUS:  Session GR032 "Can't Open Display:  Debugging X
  2205.  Transport Problems" By: John McMahon
  2206.  
  2207. Atlanta Spring 91 DECUS:  Session UN(I Forgot) "DECwindows on Non-DEC
  2208.  Equipment" By:  John McMahon
  2209.  
  2210.     Obviously, I have a vested interest in the VAX Pro Article...
  2211.  
  2212.  
  2213. (Coy:  OK)
  2214. ----------
  2215.     Thanks, John.  We'll try this Monday (my boss has already gone home, and 
  2216. I'm half-out-the-door).
  2217.     
  2218. >FYI:    SET DISPLAY creates a logical name DECW$DISPLAY which points to a WSA
  2219. >    device.  Typically this logical is in the Job or Process table.
  2220.     
  2221.     Yep.  All of the fine references you folks pointed me to helped out.   I've 
  2222. been using SHOW DISPLAY every time (in debugging-mode, check _everything_ 
  2223. - and then verify it).
  2224.  
  2225.  
  2226.                       Can a Process Use 2 or More Pagefiles?
  2227.                       --------------------------------------
  2228.  
  2229.         The following article is an extract of the DECUServe VMS
  2230.         conference topic 1159.  This discussion occurred between
  2231.         November 13, 1990 and November 17, 1990.  This article was
  2232.         submitted for publication by Jeff Killeen, DECUServe 
  2233.         Contributing Editor.  Ed.
  2234.  
  2235. By Ernest Bisson, Linwood Ferguson, Stuart Fuller, Dan Esbensen, Ed Bailey,
  2236. Seton Droppers, Pat Scopelliti
  2237.  
  2238.  
  2239. (Bisson)
  2240. --------
  2241.     Can a process have virtual pages reside in 2 or more pagefiles or must 
  2242. they all be in the same one?
  2243.     Many moons ago I thought I had read that under VMS V5.x this was true, but 
  2244. I can't find the reference to it. Am I dreaming?
  2245.     I ask this because we are getting "page file badly fragmented" problems on 
  2246. our Vaxstation II. It has a primary pagefile of 2000 blocks on the system disk 
  2247. and a secondary one of 20000 blocks on another disk. I have seen the primary 
  2248. file go to 0 free pages, while the secondary file still has several thousand 
  2249. free.  If the above is true why should we get this error?
  2250.  
  2251.  
  2252. (Ferguson:  Install pagefile early)
  2253. -----------------------------------
  2254.     I don't know the answer to the real question, but have a suggestion.  Are 
  2255. you installing the pagefile very early in the boot process?  If you wait until 
  2256.  
  2257. The DECUServe Journal             January, 1993                       Page  40
  2258.  
  2259.  
  2260. alot of the overhead processes start, they might be consuming the only 
  2261. pagefile at the time.
  2262.  
  2263.  
  2264. (Fuller:  Nuke the small pagefile)
  2265. ----------------------------------
  2266.     You'd be better off to not bother with the 2k pagefile on the system disk, 
  2267. and just use the 20k pagefile on the other disk.  Just make sure the 20k 
  2268. pagefile is installed in SYPAGESWAPFILES.COM (or however it's spelled).  This 
  2269. is as I understand it from VMS Engineering.  I don't recall the details, but 
  2270. it has something to with the processes that get started up early in the 
  2271. system's life all mapping to the small pagefile. 
  2272.  
  2273.  
  2274. (Esbensen:  Check out "Reserve page count" parameter)
  2275. -----------------------------------------------------
  2276.     There is a "special" sysgen parameter for controlling when VMS moves
  2277. pagefile allocation information to a new pagefile.  The name of the parameter 
  2278. is something like "RSVPGCNT"...anyway, the REAL name can be seen by:
  2279.     
  2280.        $ mcr sysgen
  2281.         sysgen> show/special
  2282.              .
  2283.              .  the last parameter on the screen is the one I mentioned
  2284.              .
  2285.     
  2286.     The CURRENT value will be 2048...(decide which pagefile to use next every 
  2287. 2048 pages for a given process).  Change this value from 2048 to 512... and 
  2288. VMS will do a much better job of "guessing" which pagefiles to use.
  2289.     
  2290.  
  2291. (Bailey:  I'd go the SYPAGSWPFILES.COM approach...)
  2292. ---------------------------------------------------
  2293.     Neat info, Dan.  My personal preference tends towards nuking the small
  2294. primary on the system disk, however.  Here's how to do it:
  2295.     
  2296.     Edit SYS$MANAGER:SYPAGSWPFILES.COM to perform the following tasks:
  2297.     
  2298.     o  Check to see if the drive holding your page (and optionally swap) files 
  2299.        exists.  This is probably not necessary for any system that is *not* 
  2300.        part of a cluster (clusters need this check because the CONFIGURE 
  2301.        process was *just* started prior to running this command procedure, and 
  2302.        it takes a while to find things like HSC-connected drives).  If the
  2303.        drive isn't there yet, wait a while and try again...
  2304.     
  2305.     o  Mount the desired drive(s).  Probably want to have some error checking 
  2306.        and retry logic here as well...
  2307.     
  2308.     o  Issue the necessary SYSGEN commands to get your page/swap files 
  2309.        installed.  Make sure it worked correctly.
  2310.     
  2311.     o  If any of the above steps failed, or the SYSGEN parameter STARTUP_P1 is 
  2312.        equal to the string "MIN", attempt to install the pagefile 
  2313.        SYS$SYSTEM:PAGEFILE.MINIMUM.  (If you got here by errors, you probably 
  2314.        want to print out errors messages with bells, etc., and do whatever is 
  2315.  
  2316. The DECUServe Journal             January, 1993                       Page  41
  2317.  
  2318.  
  2319.        necessary to prevent your full production environment from coming up on 
  2320.        a wimpy pagefile...
  2321.     
  2322.     Then, create the appropriate files/directories on the appropriate drive(s), 
  2323. and rename SYS$SYSTEM:PAGEFILE.SYS to SYS$SYSTEM:PAGEFILE.MINIMUM.  Reboot, 
  2324. and you're in business!
  2325.     I hope I got the message across that this code should really be
  2326. bullet-proof, as if it fails, you aren't going to be able to get very far.
  2327.  
  2328.  
  2329. (Droppers:  Dump file can be used too)
  2330. --------------------------------------
  2331.     We use the dump file as an alternative "minimum" file.  This only works
  2332. if you have a dump file ;-).
  2333.     Don't forget the bells and whistles -- We print nearly three pages of xxx's 
  2334. in a row with the message about missing page/swap files.  You wouldn't believe 
  2335. how big a help this is when you boss is breathing down you back because 100 
  2336. users can't do anything...
  2337.  
  2338.  
  2339. (Bisson:  Where is RSRVPAGCNT documentation?)
  2340. ---------------------------------------------
  2341. >                 -< Check out "Reserve page count" parameter >-
  2342.  
  2343.     Where is this parameter documented? I can't find it in the V5.0 SYSGEN 
  2344. manual.  Is it a new feature with V5.2? I didn't find any mention of it in 
  2345. the V5.2 New Features manual or Release Notes. Unfortunately, we don't get 
  2346. documentation updates for the manual set. It also doesn't appear with the 
  2347. SHOW/ALL command within SYSGEN, but does appear with SHOW/SPECIAL.
  2348.  
  2349. >    The CURRENT value will be 2048...(decide which pagefile to use next
  2350. >every 2048 pages for a given process).  Change this value from 2048 to
  2351. >512...and VMS will do a much better job of "guessing" which pagefiles to use.
  2352.  
  2353.     Anyway, I decreased it to 512 and about half of the primary pagefile is 
  2354. still free after reboot. Before the decrease next to nothing would be free. 
  2355. It seems this parameter also controls the amount of pagefile reserved for a 
  2356. process when it is created, as well as which pagefile to use. Is this true?
  2357.     I think I will get rid of the pagefile on the system disk [as suggested].
  2358. Does anyone see any problems if I also decrease RSRVPAGCNT to 512?
  2359.  
  2360.  
  2361. (Ferguson:  Only in the fiche, probably)
  2362. ----------------------------------------
  2363.     SPECIAL parameters are generally not documented.
  2364.  
  2365.  
  2366. (Scopelliti:  Even KDBs take a while...)
  2367. ----------------------------------------
  2368. >    o  Check to see if the drive holding your page (and optionally swap) 
  2369. >       files exists.  This is probably not necessary for any system that is 
  2370. >       *not* part of a cluster (clusters need this
  2371.     
  2372.     Oh yes, it _IS_ necessary!  We have an 8800 with three KDB50s and it takes 
  2373. a while for the second and third to finish initializing and recognize their 
  2374. attached disks.
  2375.  
  2376. The DECUServe Journal             January, 1993                       Page  42
  2377.  
  2378.  
  2379.     How long is "a while"?  Longer than it takes to get to the MOUNT command 
  2380. in SYPAGSWPFILES.COM; and shorter than it takes for you to login after system 
  2381. startup gets trashed, successfully mount the disk and wonder "Why does it work 
  2382. now?"  Yeah.. well, we all have our own set of scars ;-}
  2383.  
  2384.  
  2385. (Esbensen:  SYSGEN "help" tells about "special" parameters!)
  2386. ------------------------------------------------------------
  2387.     $ mcr sysgen
  2388.     sysgen> help par rsvpgcnt
  2389.     
  2390.     The HELP file in SYSGEN most always has something to say...even about
  2391. "special" parameters!
  2392.  
  2393.  
  2394. (Ferguson:  So that's where they [some of them] are)
  2395. ----------------------------------------------------
  2396.     Learn something new everyday.  However, at least on 5.3-0...
  2397.     They're not here.  They seem to be:
  2398.     
  2399.              SYSGEN> help par special etc.
  2400.     
  2401.     And RSRVPAGCNT isn't in there even then.  A few others are that I didn't 
  2402. know where documented, however.  The "Special_params" topic is underneath the 
  2403. "Params" topic, and at the bottom of a LONG list where I never noticed it 
  2404. before.
  2405.  
  2406.  
  2407.                             V5 Performance Slowdown
  2408.                             -----------------------
  2409.  
  2410.         The following article is an extract of the DECUServe VMS
  2411.         conference topic 1187.  This discussion occurred between
  2412.         December 13, 1990 and December 19, 1990.  This article was
  2413.         submitted for publication by Jeff Killeen, DECUServe
  2414.         Contributing Editor.  Ed.
  2415.  
  2416. By John Briggs, Saul Tannenbaum, Wayne Bruzek, Bob Graham
  2417.  
  2418.  
  2419. (Briggs)
  2420. --------
  2421.     We have a performance problem under VMS 5.2 on a VAX 6410, clustered.  
  2422. With two compute bound processes (one I/O every two seconds or so) running at
  2423. interactive priority, the rest of the users on the system get terrible response.
  2424.     I was able to reproduce the behavior by running two compute bound 
  2425. processes and setting up two user processes doing wild-card directories on one 
  2426. of our disks. ($ DIR disk:[*...]).
  2427.     Watching one of the users, I saw it at priority 4, computable most of the 
  2428. time (this is from $ SHOW PROCESS /CONTINUOUS).  
  2429.     The directory display would sometimes scroll at full speed and at other 
  2430. times slow greatly -- to about 25% of full speed.  I was able to restore full 
  2431. speed by increasing priority of the user process (thus discrediting any 
  2432. argument that the performance slowdown was based on locking contention).  I 
  2433. was also able to restore full speed by changing QUANTUM from 20 down to 2.
  2434.  
  2435. The DECUServe Journal             January, 1993                       Page  43
  2436.  
  2437.     At elevated priority, the simulated user processes would chew 16-20% of the
  2438. CPU each.  Without priority elevation, the two compute-bound processes would
  2439. consume almost 50% of the CPU each and the user processes got almost nothing.
  2440.     Can someone out there explain why this is happening?  Alternatively, just 
  2441. give me a feel for what I am giving up by reducing quantum to this level.  
  2442. Could I get similar effects by disabling the V5 scheduling algorithm change?
  2443.  
  2444.  
  2445. (Tannenbaum:  Scheduler preemption changed)
  2446. -------------------------------------------
  2447.     You are most likely suffering from a change in the scheduler preemption
  2448. algorithm. Somewhere in the early 5.n's, the scheduler was changed to require 
  2449. that, for process_1 to preempt computable process_2, process_1 would have to 
  2450. be 3 (?) priority levels higher.  Otherwise, it would wait for process_2 to 
  2451. come to quantum end (or otherwise go out of the computable state).
  2452.     Version 5.4 makes this priority difference settable through a system
  2453. parameter.
  2454.     This changed really killed sites that had (what they thought were) low 
  2455. priority batch queues (priority 3) that suddenly were hogging systems. In that 
  2456. case, the fix is easy; set the base priority of the que to zero or 1. 
  2457.     I'm not sure what I would do in your situation (if you can't lower the 
  2458. priority of the compute bound processes, that is). Lowering quantum step by 
  2459. step until performance is acceptable would be a good first start.
  2460.  
  2461.  
  2462. (Bruzek:  Between a rock & a hard place!)
  2463. -----------------------------------------
  2464.     Some while back, we lowered our batch que priorities to 1, and found that 
  2465. a batch job, while logging in, lost CPU with SYSUAF locked open, blocking other 
  2466. users from logging in, etc. CSC slapped our wrists, and told us to keep batch 
  2467. queues at 3!
  2468.  
  2469.  
  2470. (Graham:  patch the scheduler)
  2471. ------------------------------
  2472.     I agree, it sounds like your problem is with the scheduler preemption
  2473. change that showed up in v5.2.  We had the same problem on our 8550.
  2474.     After asking around at a DECUS symposium, I finally found the DEC
  2475. developer that was in charge of that part of the scheduler.  He wasn't able to 
  2476. explain exactly why it should have behaved that way, but the patch that he 
  2477. gave me to the PROCESS_MANAGEMENT.EXE image to disable the preemptive boost 
  2478. did the trick.  When v5.3 came out, I had to change the patch a little to make 
  2479. it work (the table the patch zeroed moved by 1 page).
  2480.     I think I've still got the patch procedures somewhere (even though we've 
  2481. gone to v5.4, which make the preemption a SYSGEN parameter).  If I get a 
  2482. change to get back to my system,I'll try to copy the patches here.
  2483.  
  2484.  
  2485. (Briggs)
  2486. --------
  2487.     Thanks.  I'd like to give that a try.
  2488.  
  2489.  
  2490. (Graham:  v5.2 & v5.3 patches)
  2491. ------------------------------
  2492.     Here's the patch for v5.2 [and the v5.3 patch].  Use this at your 
  2493. own risk.  And make sure you keep a copy of the original, unpatched
  2494.  
  2495. The DECUServe Journal             January, 1993                       Page  44
  2496.  
  2497.  
  2498. PROCESS_MANAGEMENT.EXE.  You'll want to put it back before performing any VMS 
  2499. updates.
  2500.  
  2501. |------------ v5.2 -------------|------------- v5.3 ----------------|
  2502.  
  2503. process_management.exe        process_management.exe
  2504. examine 3158:31d8        examine 3358:33d8
  2505. repl 3198            repl 3398
  2506. 1fff                1fff
  2507. 0fff                0fff
  2508. 07ff                07ff
  2509. 03ff                03ff
  2510. 01ff                01ff
  2511. 00ff                00ff
  2512. 007f                007f
  2513. 003f                003f
  2514. 001f                001f
  2515. 000f                000f
  2516. 0007                0007
  2517. 0003                0003
  2518. 0001                0001
  2519. 0000                0000
  2520. 0000                0000
  2521. 0000                0000
  2522. exit                exit
  2523. 7fff                7fff
  2524. 3fff                3fff
  2525. 1fff                1fff
  2526. 0fff                0fff
  2527. 07ff                07ff
  2528. 03ff                03ff
  2529. 01ff                01ff
  2530. 00ff                00ff
  2531. 007f                007f
  2532. 003f                003f
  2533. 001f                001f
  2534. 000f                000f
  2535. 0007                0007
  2536. 0003                0003
  2537. 0001                0001
  2538. 0000                0000
  2539. exit                exit
  2540. update                update
  2541. exit                exit
  2542.  
  2543.  
  2544.                        SYS$SETDDIR System Service Problem?
  2545.                        -----------------------------------
  2546.  
  2547.         This article is an extract of the DECUServe VMS conference
  2548.         topic 1236.  This discussion occurred between February 15,
  2549.         1991 and February 23, 1991.  This article was submitted for
  2550.         publication by Mark Kozam, DECUServe Contributing Editor.  Ed.
  2551.  
  2552. By Jean-Francois Mezei, Jamie Hanrahan, Stu Fuller, Chris Rhode, Jack Pattueew,
  2553. Larry Kilgallen
  2554.  
  2555. The DECUServe Journal             January, 1993                       Page  45
  2556.  
  2557.  
  2558. (Mezei)
  2559. -------
  2560.     Is there a known problem with the SYS$SETDDIR system service ?
  2561.     It seems to change the default directory, but not the default device.
  2562.     
  2563.     (eg: current directory:   USER1:[name1.name2]
  2564.          specify in SETDDIR:  USER2:[name3.name4]
  2565.     
  2566.     Result afterwards:  USER1:[name3.name4]
  2567.  
  2568.     Is there something I am doing wrong ? The status code returned from
  2569. SETDDIR is success. Is there a system service to change the default device 
  2570. also ?
  2571.     VMS 5.4 (no -1, that site doesn't feel it is important to install !).  The 
  2572. disks are shadowed on an HSC. the USER1 and USER2 are logical names.
  2573.  
  2574.  
  2575. (Hanrahan:  use logical sys$disk to define default device)
  2576. ----------------------------------------------------------
  2577.     That's all it's supposed to do. 
  2578.  
  2579. >Is there a system service to change the default device also ?
  2580.  
  2581.     Not exactly.  What you need to do is redefine the logical name SYS$DISK.  
  2582. That's the "device" part of the "default device and directory".  
  2583.  
  2584.  
  2585. (Mezei:  Thanks for the hints)
  2586. ------------------------------
  2587.     So, in essence, the equivalent of SET DEF is to 1- change the logical name 
  2588. SYS$DISK to point to the device in the target directory, and the call 
  2589. SYS$SETDDIR to change the directory portion.
  2590.     The VMS documentation should have a warning. I spent many hours trying to 
  2591. figure out why it didn't work. (by default, I assume problems are my fault...)
  2592.     Thanks for the hints !
  2593.  
  2594.  
  2595. (Fuller)
  2596. --------
  2597.     Well, the name of the service is "SET DEFAULT DIRECTORY".  It doesn't
  2598. claim to set the default device.
  2599.     However, you're correct in that the manual should have a mention (I would 
  2600. consider "warning" to be too strong) that one should also diddle with the 
  2601. SYS$DISK logical.
  2602.  
  2603.  
  2604. (Rhode:  I think SYS$DISK+SYS$SETDDIR is far from intuitive)
  2605. ------------------------------------------------------------
  2606.     I didn't find it intuitive that one changes your default disk/directory by
  2607. calling a somewhat obscure RMS routine and redefining a logical name ...
  2608. especially after many months of experience exclusively with system service
  2609. calls (I wasn't smart enough to figure out that a set default function wouldn't
  2610. be a system service call, seemed at the time that you could do ANYTHING with
  2611. system services :-) Fortunately the first time I wanted to do this, I had
  2612. existing sample code to go from.  I -am- somewhat surprised that you didn't get
  2613. some sort of error out of SYS$SETDDIR ...
  2614.  
  2615. The DECUServe Journal             January, 1993                       Page  46
  2616.  
  2617.  
  2618. (Patteeuw:  DCL lets you SET DEF to a non existent directory !)
  2619. ---------------------------------------------------------------
  2620.  
  2621.  
  2622. (Kilgallen:  It's a feature!)
  2623. -----------------------------
  2624.  
  2625. $ SET DEFAULT [VERY.OBSCURE.DEEPLY.NESTED.DIRECTORY.SPECIFICATION]
  2626. $ CREATE/DIRECTORY []
  2627.  
  2628. lets you perform the complicated typing just once.
  2629.  
  2630.  
  2631.  
  2632.                          How Are Quotas for STARTUP Set?
  2633.                          -------------------------------
  2634.  
  2635.         The following article is an extract of the DECUServe VMS
  2636.         conference topic 1300.  The discussion occurred between April
  2637.         8, 1991 and April 12, 1991.  This article was submitted for
  2638.         publication by Alan Bruns, DECUServe Contributing Editor.  Ed.
  2639.  
  2640. By Larry Stone, Stu Fuller, Terry Kennedy, Mark Hyde
  2641.  
  2642.  
  2643. (Stone)
  2644. -------
  2645.     Where does the STARTUP process (the one that runs STARTUP.COM at boot time) 
  2646. get its quotas. Is it the PQL_Dxxxx SYSGEN parameters?
  2647.  
  2648.  
  2649. (Fuller:  Yep)
  2650. --------------
  2651.  
  2652.  
  2653. (Stone:  Well I'm not so sure now)
  2654. ----------------------------------
  2655.     If only what I'm seeing now would let me believe that. To fill in the story 
  2656. (now that I have time to write it :-) ), our SYSTARTUP_V5 invokes a command 
  2657. procedure that starts our primary application. This command procedure includes 
  2658. an RDO OPEN on the application's database. The RDO OPEN sometimes causes an 
  2659. RDB bugcheck (and yes that is sometimes as in not always).
  2660.     A review of the bugcheck dump indicates that the problem is "exceeded
  2661. enqueue quota." OK - I can deal with that - let's up ENQLM. But where?
  2662.     The bugcheck is even nice enough to tell you what the original quota for 
  2663. the process was - in this case it says 100. Well PQL_DENQLM is 60 and the 
  2664. SYSTEM account ENQLM is 20,000. WHERE IS THE 100 COMING FROM?
  2665.     Is this hard coded into the boot?
  2666.     I would expect the quotas to be the PQL_Dxxx parameters. If I understand 
  2667. things right, when the STARTUP process is created, VMS (such as it exists at 
  2668. that point) wouldn't even know where to find SYSUAF to get the SYSTEM account 
  2669. quotas.
  2670.     
  2671.     Details:
  2672.     VMS V5.3-1
  2673.     VAXcluster with two 8530s and two 3500s (the machines with the
  2674.  
  2675. The DECUServe Journal             January, 1993                       Page  47
  2676.  
  2677.  
  2678.     bugchecks were 1 8530 and 1 3500)
  2679.  
  2680.  
  2681. (Fuller:  What's PQL_MENQLM set to?)
  2682. ------------------------------------
  2683.  
  2684.  
  2685. (Kennedy:  PQL's, mostly)
  2686. -------------------------
  2687. >Where does the STARTUP process (the one that runs STARTUP.COM at boot time) 
  2688. >get its quotas. Is it the PQL_Dxxxx SYSGEN parameters?
  2689.  
  2690.    It copies them from the "system PQL" area (per the listings for SYSINIT).
  2691. I'm unsure if they mean the _D's or the _M's. All quotas are created that way 
  2692. except for WSEXTENT (built from SYSGEN WSMAX) and WSQUOTA (built from
  2693. min[SYSGEN WSMAX, 64K-1]). That last bit seems to be recent (added in 1989).
  2694.  
  2695.  
  2696. (Stone:  4)
  2697. -----------
  2698. >What's PQL_MENQLM set to?
  2699.  
  2700.  
  2701. (Hyde:  fixed values)
  2702. ---------------------
  2703.     At system boot time, the SYSINIT process creates the STARTUP process which 
  2704. executes the SYSTARTUP_V5.COM file and any other startup files specified in 
  2705. SYSMAN etc. When SYSINIT sets up the $CREPRC system service call to create 
  2706. the STARTUP process, it specifies *all* the limits and quotas for the process 
  2707. as arguments to the $CREPRC call. The values that it uses are values from a 
  2708. system data structure called PQL$AB_SYSPQL, the SYStem Process Quota List. 
  2709. These are hardcoded, fixed values.  I'm at home and don't have the list handy. 
  2710. They are defined in SWAPPER.LIS.
  2711.  
  2712.  
  2713. (Stone:  Sounds like I need to go detached or batch)
  2714. ----------------------------------------------------
  2715.     So in other words, if something in SYSTARTUP_V5 needs higher quotas than 
  2716. these fixed values, I need to create a detached process or a batch job. Are 
  2717. there any other options?
  2718.  
  2719.  
  2720. (Hyde:  not really)
  2721. -------------------
  2722.     Just set the PQL_Mxxxx values to your needed values.
  2723.     Here's a more complete explanation. I just happen to have this handy 
  2724. because I had to write it up to explain some of the behaviour seen during 
  2725. MAILbus startup. Forgive the MAILbus specifics but the same kind of behaviour 
  2726. happens to other things as well.
  2727.     Maybe this can help clear up the mystery surrounding the use of PQL 
  2728. parameters. MAILbus requires that specific PQL parameters be set, but it 
  2729. has not been clear exactly how the PQL_Dxxxx values are related to or interact 
  2730. with the PQL_Mxxxxx values.
  2731.     (The following is adapted from the VMS Internals and Data Structures Book.)
  2732.     When a process is created, the system uses two tables in the executive to 
  2733. set up quotas for the new process: a minimum quota table and a default quota 
  2734.  
  2735. The DECUServe Journal             January, 1993                       Page  48
  2736.  
  2737.  
  2738. table. Each quota or limit in the system has an entry in both tables. The 
  2739. contents of the minimum table are determined by the SYSGEN parameters whose 
  2740. names are of the form PQL_Mquota-name; the contents of the default table are of 
  2741. the form PQL_Dquota-name. The following is a list of steps used to determine 
  2742. the value for each quota or limit during process creation.
  2743.     PQB = Process Quota Block, a temporary data structure used during process 
  2744. creation that holds various values that will be copied into the Process Header 
  2745. after the process has come into existence.
  2746.  
  2747.         1. The default (PQL_Dxxxxx) values are copied into the PQB as
  2748.            the initial values.
  2749.  
  2750.         2. If any quotas or limits are specified as arguments in the
  2751.            $CREPRC system service, (how this whole thing got started
  2752.            anyway), they are copied in the PQB, replacing the corresponding
  2753.            values from Step 1.
  2754.  
  2755.         3. Now, all values in the PQB are checked against the PQL_Mxxxxx
  2756.            values and forced to be at *least* the minimum. If the value at
  2757.            this point is already larger than the PQL_Mxxxx value then it is
  2758.            left alone.
  2759.  
  2760.         4. Sometime after this the process will come into being and the
  2761.            PQB values will be copied into the Process Header.
  2762.  
  2763.         5. If this is an interactive user process, the LOGINOUT image
  2764.            will run and copy the values for the quotas/limits from the
  2765.            SYSUAF record into the Process Header, overwriting whatever is
  2766.            there from the setup of the PQB.
  2767.  
  2768.     One of the questions then is why will the MAILBUS startup procedures 
  2769. sometimes complain about quotas and limits during a system boot but not when 
  2770. you manually run the startup procedures after the system is booted.
  2771.     At system boot time, the SYSINIT process creates the STARTUP process which 
  2772. executes the SYSTARTUP_V5.COM file and any other startup files specified in 
  2773. SYSMAN etc. When SYSINIT sets up the $CREPRC system service call to create the 
  2774. STARTUP process, it specifies *all* the limits and quotas for the process as
  2775. arguments to the $CREPRC call. The values that it uses are values from a 
  2776. system data structure called PQL$AB_SYSPQL, the SYStem Process Quota List. 
  2777. These values are hardcoded, fixed values (see SWAPPER.LIS sources).
  2778.     So in the scheme of things above, at Step 2, these values are supplied by 
  2779. the $CREPRC system service call, over-writing all the PQL_Dxxxx values from 
  2780. Step 1.  At Step 3, if the PQL_Mxxxx values are NOT set properly, the STARTUP 
  2781. process winds up with incorrect values for it's quotas and limits.  The STARTUP
  2782. process does not run as a user process and does not use Step 5 from above so 
  2783. whatever it has in the PQB at the end of Step 3 are the ones copied into the 
  2784. Process Header and in use while the startup procedures are running. When the 
  2785. MAILBUS startup procedures run, they use a DCL loop of F$GETJPI's to get the
  2786. current value of the quotas and limits that it cares about.  These are 
  2787. compared with the values coded into the procedure and can result in the 
  2788. infamous,
  2789.  
  2790.         "%MB-E-QUOLOW, The following quotas for MR....may be too low."
  2791.  
  2792. message. 
  2793.  
  2794. The DECUServe Journal             January, 1993                       Page  49
  2795.  
  2796.  
  2797.     For example,  the SYSPQL list has a value of 10 for ASTLM, but
  2798. MB$$MS_START.COM checks for a value of 24 or larger. Likewise for DIOLM, 
  2799. SYSPQL sets it to 10, MB$$MS_START.COM wants 18 or more.
  2800.     Later when you login as SYSTEM and execute the startup procedures you may 
  2801. not get message. This could be because of Step 5. When you logged in as SYSTEM 
  2802. the LOGINOUT image eventually ran and filled in the process quotas and limits 
  2803. from the SYSTEM account SYSUAF record. Normally, these are large enough to 
  2804. satisfy the MAILBUS startup procedures.
  2805.     So it is important that the PQL_Mxxxx values be set as required by MAILBUS. 
  2806. Most of the PQL parameters are DYNAMIC so it is tempting to set them on the 
  2807. fly, however you then find them changing back to their default values when you 
  2808. run AUTOGEN.  So it is also important that these be placed in MODPARAMS.DAT so
  2809. they will be set whenever AUTOGEN runs and consequently be set correctly for 
  2810. the next system reboot.
  2811.  
  2812.  
  2813.                   Can You Put OPCOM on a DECTERM/Noprocess?
  2814.                   -----------------------------------------
  2815.  
  2816.         The following article is an extract of the DECUServe VMS
  2817.         conference topic 1341.  This discussion occurred between
  2818.         May 25, 1991 and May 28, 1991.  This article was submitted
  2819.         for publication by Don Roberts, DECUServe Contributing 
  2820.         Editor.  Ed.
  2821.  
  2822. By Alan Bruns, Glenn Zorn, Ed Bailey
  2823.  
  2824.  
  2825. (Bruns)
  2826. -------
  2827.     I have a VT1200 and would like to bring up a DECTERM window, preferably
  2828. without a separate process attached to it, that would do nothing but display 
  2829. OPCOM messages.  I'd rather not reinvent the wheel, though.  Since this seems 
  2830. like such an obvious thing to do, _somebody_ out there has this already.  
  2831. Probably something like
  2832.     
  2833.             1 Set up a /Noprocess DECTERM window
  2834.             2 Set an AST from DCL to trap broadcast messages
  2835.               and redirect them to said window
  2836.             3 REPLY/ENABLE
  2837.     
  2838.     Having "New Mail" notices mixed in doesn't bother me.
  2839.     Being rather frugal, I'd just as soon not waste a process to do this.  And 
  2840. it's rather tiresome to have to get up and go the 50' or so over to the 
  2841. console every time the printer doesn't have the sound of a "normal" message.
  2842.     I asked the DECwindows folks at DSNlink about this.  The first reply I got 
  2843. suggested that VCS would take care of this.  I was polite when I replied to 
  2844. that sillyness, and their second message contained a command procedure that 
  2845. directs OPCOM messages to the Session Manager window.  I'll probably fool 
  2846. around with that and see if it can be adapted to my purpose.  But if somebody 
  2847. out there has the code to do what I want you'll save me some trouble by 
  2848. posting it...
  2849.  
  2850.  
  2851.  
  2852. The DECUServe Journal             January, 1993                       Page  50
  2853.  
  2854.  
  2855. (Zorn:  Put it into the Session Manager window)
  2856. -----------------------------------------------
  2857.     Yes. Put it into your Session Manager window since that is used very little 
  2858. otherwise. The code below will do it if spawned from DECW$LOGIN.  (I got the 
  2859. code from Ed Bailey before he left CUC, hope you don't mind) (Before anyone 
  2860. comments on the date of this note: 1) I am oncall this weekend, 2) Our 
  2861. production cluster needs to be rebooted at midnight and I am coordinating the 
  2862. downtime)
  2863.     
  2864. $ !
  2865. $ ! DECwindows OPCOM Option...
  2866. $ !
  2867. $       SET PROC/PRIV=ALL
  2868. $       SET PROC/NAME="Xopcom"
  2869. $ !
  2870. $ ! Get the name of our session manager window...
  2871. $ !
  2872. $ GET_DEVICE:
  2873. $       DEVICE = F$GETJPI(F$GETJPI(0,"OWNER"),"TERMINAL")
  2874. $       IF DEVICE .NES. ""
  2875. $       THEN
  2876. $               WAIT 00:00:30
  2877. $               ASSIGN/USER 'DEVICE' SYS$COMMAND
  2878. $               REPLY/ENABLE
  2879. $               ASSIGN/USER 'DEVICE' SYS$COMMAND
  2880. $               REPLY/DISABLE=(SECURITY, CENTRAL, NETWORK)
  2881. $               EXIT
  2882. $       ENDIF
  2883. $ !
  2884. $ ! The session manager isn't there yet, wait and try later...
  2885. $ !
  2886. $       WAIT 00:00:10
  2887. $       GOTO GET_DEVICE
  2888.  
  2889.  
  2890. (Bailey)
  2891. --------
  2892.     No problem, Glenn; although I should be honest - I got this (if I remember 
  2893. correctly) from a DSNlink article.  I did massage it a bit, though...
  2894.     Seems like some things never change at ol' CUC, eh? :-)
  2895.  
  2896.  
  2897. (Bruns:  Did it myself.. code included here.)
  2898. ---------------------------------------------
  2899.     OK, so I decided to try to do this myself.  About time I posted some code 
  2900. up here, anyway.
  2901.     This code will create a window /noprocess and direct OPCOM messages to it.  
  2902. It works fine on my VT1200.
  2903.     
  2904. $!
  2905. $!            O P C O M - W I N D O W
  2906. $!
  2907. $!    Hang a DECTERM window on the current process, and REPLY/ENABLE
  2908. $!    to send OPCOM messages to the new display.
  2909. $!
  2910. $!    DEALLOCATE OPCOM_Window to turn it off.
  2911.  
  2912. The DECUServe Journal             January, 1993                       Page  51
  2913.  
  2914.  
  2915. $!
  2916. $!    Alan Bruns  May '91
  2917. $!
  2918. $ CREATE/TERMINAL/LITTLE_FONT/DEFINE=(TABLE=LNM$Job,OPCOM_Window)-
  2919.    /NOPROC/WINDOW=(ROWS=5,COLUMNS=132,ICON="opcom",TITLE="OPCOM Window",-
  2920.    X_POSITION=5,Y_POSITION=800,INITIAL_STATE=ICON)
  2921. $ ALLOC OPCOM_window
  2922. $ DEFINE/USER Sys$Command OPCOM_window
  2923. $ REPLY/ENABLE
  2924. $ EXIT
  2925.  
  2926.  
  2927.                             Automatic Menu Startup
  2928.                             ----------------------
  2929.  
  2930.         The following article is an extract of the DECUServe VMS
  2931.         conference topic 1379.  The discussion occurred between
  2932.         July 15, 1991 and August 21, 1991.  This article was 
  2933.         submitted for publication by Jeff Killeen, DECUServe
  2934.         Contributing Editor.  Ed.
  2935.  
  2936. By Jack Harvey, Geoff Bryant, Michael Baydoun, John Osudar, Mark Shumaker,
  2937. Jon Jones, Dale Coy, Gary McCready, Chuck McMichael, Brian Tillman, 
  2938. John Burnet
  2939.  
  2940.  
  2941. (Harvey)
  2942. --------
  2943.     As we all know, SYLOGIN.COM runs before the user's LOGIN.COM.  This is a 
  2944. good place for the system manager to do things in the user's process that can 
  2945. be common to all users.  This paragraph is sort of to set your thinking frame.
  2946.     Now, how can the system manager get a command file, let's call it
  2947. SYLOGIN_2.COM to execute *after* LOGIN.COM?  It needs to do things after 
  2948. LOGIN.COM has altered the process environment and completed. (The case of a 
  2949. LOGIN.COM that never completes prior to logout probably isn't significant at 
  2950. this site.)
  2951.     Obviously, if LOGIN.COM itself executed SYLOGIN_2.COM, the problem is 
  2952. solved, but the system manager can't count on that happening.
  2953.     Any ideas?
  2954.  
  2955.  
  2956. (Bryant:  Try this...)
  2957. ----------------------
  2958.     SYLOGIN_2 does:
  2959.     
  2960.         $ IF F$SEARCH("SYS$LOGIN:LOGIN.COM") .NES. "" THEN -
  2961.           @SYS$LOGIN:LOGIN
  2962.         $ POST_LOGIN_STUFF
  2963.     
  2964.     Then in SYSUAF don't point LIGCMD to LOGIN...
  2965.  
  2966.  
  2967. (Baydoun:  Heres a thought)
  2968. ---------------------------
  2969.     How about renaming your all your users login.com files to something else, 
  2970. ie user.com.
  2971.  
  2972. The DECUServe Journal             January, 1993                       Page  52
  2973.  
  2974.  
  2975.     Then have sylogin.com do something like this:
  2976.  
  2977.     Run sylogin normal commands
  2978.     Figure out who the user is, process name maybe?
  2979.     @[user.directory]user.com 
  2980.     The rest of your post login.com commands
  2981.     
  2982.     As far as VMS is concerned, the user will not have a login.com.  You
  2983. probably do not even have to rename them, just go into authorize and modify 
  2984. LGICMD = (null).  The only difficulty might be determining who is logging in 
  2985. and what their directory should be, depends on your sites standards.
  2986.  
  2987.  
  2988. (Osudar:  null LGICMD won't do it?)
  2989. -----------------------------------
  2990.     Modifying LGICMD to be null won't work, as I recall; a null value causes 
  2991. LOGIN.COM to be executed from the user's default directory.  What you may want 
  2992. to do is set LGICMD to something like NLA0: instead.  Then have your SYLOGIN 
  2993. look for the user's LOGIN.COM, execute it, and do the post-LOGIN stuff.
  2994.     (The next question is, what will you do when your users want a LOGIN_2.COM 
  2995. to execute after your SYLOGIN_2.COM, so they can change some of the things you 
  2996. do there? :-)
  2997.  
  2998.  
  2999. (Shumaker:  Post-login may not run when expected)
  3000. -------------------------------------------------
  3001.     Well, you can plug something like SYS$SYSTEM:USER_LOGIN.COM into LGICMD in 
  3002. SYSUAF, and have USER_LOGIN look for a LOGIN.COM in the user's directory and 
  3003. execute it if there, then do your stuff (as in [the previous reply]); BUT, if 
  3004. the user's LOGIN.COM sets up some stuff and then invokes the program in which 
  3005. the user normally does his work (like a CAD system, for example), then your 
  3006. post-login commands won't run until the user leaves that program.  Would this 
  3007. be a problem?
  3008.  
  3009.  
  3010. (Jones:  The bratwurst approach)
  3011. --------------------------------
  3012.     We use SYS$SYLOGIN to point to those things that absolutely shouldn't be 
  3013. skipped, not even for a username/NOCOM.  We then point all the LGICMDs to 
  3014. another logical that "wraps" the call to LOGIN.COM within before and after 
  3015. commands (like the menu system).
  3016.  
  3017.  
  3018. (Harvey:  DECUServe Does It Again!)
  3019. -----------------------------------
  3020.     Thanks very much, people.  You have answered my question perfectly...
  3021. which really was, "Am I overlooking something?"  The somewhat bizarre notion 
  3022. (it seems to me) of perverting LGICMD had occurred to me.  My version was to 
  3023. have it *be* SYLOGIN_2.COM, with SYLOGIN.COM assigned the duty of executing 
  3024. SYS$LOGIN:LOGIN.COM, if found.
  3025.     That others might want such a feature seemed pretty obvious, and like so 
  3026. many things in VMS, it might already have been implemented, documented and 
  3027. then overlooked by me.  It seems that in this case, I managed to keep up.
  3028.     How come something like this hasn't been codified?  I expect John put his 
  3029. finger on it:
  3030.  
  3031.  
  3032. The DECUServe Journal             January, 1993                       Page  53
  3033.  
  3034.  
  3035. >(The next question is, what will you do when your users want a LOGIN_2.COM to 
  3036. >execute after your SYLOGIN_2.COM, so they can change some of the things you 
  3037. >do there? :-)
  3038.  
  3039.     VMS Engineering knows better than to go down that rat hole.
  3040.  
  3041.  
  3042. (Harvey:  Restated Problem)
  3043. ---------------------------
  3044.     The system manager I have in mind is Dale Coy and the system is DECUServe.  
  3045. (This may be a surprise to Dale, but I doubt it.)
  3046.     We have been looking into ways to offer "options" to DECUServe subscribers 
  3047. that they can select or de-select as easily as clicking on a menu item.  The 
  3048. idea is to try to eliminate complex instructions such as "edit your login.com 
  3049. to include DEFINE BARF NEW_MAGIC to enable this dandy new service for you".   
  3050. Readers of this conference won't benefit, of course, but such an instruction 
  3051. upsets some, who reply: "But you don't have vi!  I *can't* edit login.com, 
  3052. whatever that is."
  3053.     Now, some options can be controlled in the grandly simplified manner I'm 
  3054. looking for without the postulated SYLOGIN_2.COM.  I expect enabling OneKey 
  3055. Noting will be offered without requiring editing in the future.  But how about 
  3056. a menu system itself?
  3057.     Suppose that the next time you log into DECUServe, Dale has converted it 
  3058. to Ultrix.  A few reading this might be comfortable or even pleased.  I expect 
  3059. the rest would be forming a lynching party.  No, it isn't about to happen. 
  3060. Although, come to think of it, there is an ominous announcement about 
  3061. something happening on July 26.  However, people with a strong taste for Unix 
  3062. probably have about the same reaction to DECUServe *now* as you might have on 
  3063. July 27. 
  3064.     So I'd like to be able to *offer* a $-free environment - where the
  3065. subscriber is swaddled in menus from start to finish, never having to try to 
  3066. guess what the magic DCL (or csh) command might be to accomplish today's 
  3067. objective.  (Please note I said OFFER, not establish, and a menu item would be 
  3068. an escape to DCL (or csh), if I still have any say in the matter.)
  3069.     So I am looking for a way to bridge the gap between the end of LOGIN.COM 
  3070. (which we can't control) and menu startup.  So let me rephrase the question:
  3071.  
  3072.     1. How can I get a menu scheme to start automatically on login without
  3073.     depending on login.com to do it?
  3074.  
  3075.     2. Is there anything really wrong with perverting LGICMD to do this as
  3076.     suggesting by earlier notes in this thread?
  3077.  
  3078.  
  3079. (Coy:  Who, me?)
  3080. ----------------
  3081.     [Regarding question #2 above:]
  3082.     
  3083.     Nothing inherently wrong.  One caution: there are some subscribers on
  3084. DECUServe who (I believe) essentially give their Username and Password, and 
  3085. that's the last thing they do.  An automatic procedure takes care of all of 
  3086. their "work".  
  3087.  
  3088.  
  3089. The DECUServe Journal             January, 1993                       Page  54
  3090.  
  3091.  
  3092. (Jones:  Computing with a mixed bag of users)
  3093. ---------------------------------------------
  3094.     We do this routinely.  We use identifiers with clever names like DCLUSER, 
  3095. MENUSER, CUSTUSER, MEN2USER to split the exection of the joint login file.  
  3096. So programmers get dropped to DCL, most users into generic menu system, 
  3097. customers into a specialized menu system, etc.  I don't find this a perversion 
  3098. of LGICMD any more that "IF F$MODE() .EQS. ..." is.
  3099.     With VMS 5.4, you can use f$getjpi to find out if an identifier is held by 
  3100. the process.  (Prior to 5.4, we used a special image.)
  3101.     Here, though, you'd probably want to make this user selectable, so you'd 
  3102. need some way for users to change their default identifiers.
  3103.  
  3104.  
  3105. (McCready:  Finding a pre 5.4 ID holder via DCL)
  3106. ------------------------------------------------
  3107.     Pre-v5.4 I Kludged DCL - the only real trick is that the identifier has
  3108. to have the DYNAMIC attribute - the code follows:
  3109.     
  3110.     $saved_message=f$environment("MESSAGE")
  3111.     $set mess/noident/notext/noseverity/nofacility
  3112.     $saved_privs=f$setprv("NOCMKRNL")!have to turn off if present
  3113.     $                               !or else always returns "success"
  3114.     $set noon
  3115.     $set rights/enable 'id_to_check'
  3116.     $saved_status=$status
  3117.     $set message'saved_message'
  3118.     $set proc/priv=('saved_privs') !restore it if it was there
  3119.     $!
  3120.     $!if below is true then user had identifer granted to them
  3121.     $!
  3122.     $if  saved_status
  3123.     $       then enabled="Y"
  3124.     $       else enabled="N"
  3125.     $endif
  3126.     
  3127.  
  3128. (McMichael:  Grail?  We already got one!)
  3129. -----------------------------------------
  3130. >    1. How can I get a menu scheme to start automatically on login without
  3131. >    depending on login.com to do it?
  3132.  
  3133.     Our installation has set up command files to do that.  If you're 
  3134. interested, I can see about trying to upload them for your perusal.
  3135.  
  3136.  
  3137. (Harvey:  Yes!)
  3138. ---------------
  3139.     Most certainly, if you have a improved technique over those already
  3140. discussed in this thread.
  3141.  
  3142. The DECUServe Journal             January, 1993                       Page  55
  3143.  
  3144.  
  3145. (McMichael:  They're here!)
  3146. ---------------------------
  3147.     I've put the following files in USR_SCRATCH:[MCMICHAEL]
  3148.  
  3149. AAAREADME.TXT
  3150. MASTER_MENU.COM
  3151. MASTER_MENU_ITEMS.COM
  3152. MASTER_MENU_START.COM
  3153. MASTER_MENU_USERS.COM
  3154.  
  3155.  
  3156. (Harvey:  Concrete)
  3157. -------------------
  3158.     Hey, thanks, Chuck.  As I see it, your scheme works by having SYLOGIN
  3159. execute LOGIN.COM (if found) and then start a menu if appropriate for the 
  3160. username. 
  3161.     This is a very nice package, and I shall certainly study it for details
  3162. and to see how it handles things.  I snarfed a copy of it.  Thanks.
  3163.     However, what you have here is an essentially complete submission,
  3164. including the AAAREADME.TXT, for the DECUServe Tape Library.  Why not submit 
  3165. it?  It certainly has general interest.
  3166.     To find out how, type:  Notes> help decuserve tape
  3167.     
  3168.     It's fun!  :-)
  3169.  
  3170.  
  3171. (McMichael:  Try again.)
  3172. ------------------------
  3173.     Thanks for the complement.  If I can find a way around the "feature" that
  3174. makes it execute LOGIN.COM whether or not a normal login would, I'll submit it.
  3175.     Also, for documentation purposes, can anyone say which version of VMS had
  3176. the session manager process of DECwindows change from "username_VUE" to
  3177. "username_SM"?
  3178.  
  3179.  
  3180. (Harvey)
  3181. --------
  3182.     Except for some trick accounts related to mail and not individuals, I
  3183. believe every account on DECUServe has LGICMD pointing to SYS$LOGIN:LOGIN.COM.  
  3184. So this is not an issue on DECUServe.
  3185.     What is an issue is that I'd like our menu (if it were to happen) to be
  3186. able to exit to the DCL prompt.  If the menu is running via SYLOGIN.COM, when 
  3187. the menu exits, SYLOGIN.COM exits, and then LOGIN.COM runs a second time.  
  3188. This creates a requirement that LOGIN.COM be able to do that safely.
  3189.  
  3190.  
  3191. (McMichael:  It's in there!)
  3192. ----------------------------
  3193.     As you wish.  If you'll check the bottom of MASTER_MENU.COM, you'll see 
  3194. that in the case where P1 is true (which should only be at login) and 
  3195. LOGIN.COM was run, the procedure issues a STOP command to prevent LOGIN.COM 
  3196. from running again. The procedure also sets up the symbol MENU to reinvoke the 
  3197. menus without rerunning LOGIN.COM when the user gets tired of DCL. 
  3198.  
  3199.  
  3200.  
  3201. The DECUServe Journal             January, 1993                       Page  56
  3202.  
  3203.  
  3204. (Harvey:  STOP!)
  3205. ----------------
  3206.     DECUServe does it again!  This never occurred to me.  If SYLOGIN.COM ends 
  3207. with a STOP, the LOGINOUT image is what stops, right?  That prevents whatever 
  3208. is being pointed to by LGICMD from being executed.  We don't have to point it 
  3209. to the null device or other strangeness.
  3210.     I *think* this solves all the problems I have been concerned about for this 
  3211. particular application.
  3212.     Now, Chuck, if I give you a program to define a DCL symbol containing
  3213. LGICMD, will that solve your problem?  :-)
  3214.  
  3215.  
  3216. (McMichael:  Serendipity)
  3217. -------------------------
  3218.     Strangely enough, the latest VAX PROFESSIONAL has an article dealing with 
  3219. $GETUAF.  I'll get back to you folks in a week or so.
  3220.  
  3221.  
  3222. (Harvey)
  3223. --------    
  3224.     Two versions of this have been submitted to the librarian.
  3225.  
  3226.  
  3227. (Tillman:  Doesn't STOP just terminate the current command procedure?)
  3228. ----------------------------------------------------------------------
  3229.     Jack, I don't think that having STOP in SYS$SYLOGIN stops LOGINOUT. 
  3230. According to the documentation (HELP) for STOP, having STOP merely stops the 
  3231. command procedure containing it.  Did you test to see in, in fact, LOGINOUT 
  3232. does stop?
  3233.  
  3234.  
  3235. (Burnet:  No but yes)
  3236. ---------------------
  3237.     Right -- at the point the SYLOGIN procedure runs, LOGINOUT.EXE has already
  3238. passed control to DCL, so the STOP has no effect on it.  In any case, if DCL 
  3239. is interpreting a command procedure, then (almost by definition) no image is 
  3240. active except the ones that the command procedure invokes.
  3241.     However, putting the STOP in the SYLOGIN procedure does prevent the user's
  3242. LGICMD from being run, so this story should have a happy ending.
  3243.  
  3244.  
  3245. (Harvey:  Needs more investigation...)
  3246. --------------------------------------
  3247.     Brian, I didn't test it exhaustively, but I did find out that a command 
  3248. file pointed to by LGICMD doesn't execute. That's just not a full answer.  
  3249.  
  3250.  
  3251. (McMichael:  Full STOP)
  3252. -----------------------
  3253. >According to the documentation (HELP) for STOP, having STOP merely stops the 
  3254. >command procedure containing it.
  3255.  
  3256.     And in the case of nested command procedures, it stops all the levels 
  3257. above it.
  3258.  
  3259.  
  3260.  
  3261. The DECUServe Journal             January, 1993                       Page  57
  3262.  
  3263.  
  3264. (Harvey:  Clarification)
  3265. ------------------------
  3266.     Brian Tillman, former MoS here, has been jostling my elbow. :-)
  3267.     I may have implied earlier that on DECUServe, LGICMD contains
  3268. SYS$LOGIN:LOGIN.COM.  (Because I thought it did.)
  3269.     In fact, it's blank.  Loginout (or whatever) executes
  3270. SYS$LOGIN:LOGIN.COM by default for normal accounts.
  3271.     I also want to assure people that we aren't thinking of *requiring* that 
  3272. they keep a login.com file.  My whole concern has been to be able to offer 
  3273. options such as an automatic menu with minimum or zero impact on users.
  3274.  
  3275.  
  3276. (McMichael:  Revised Standard Version)
  3277. --------------------------------------
  3278.     The revised version of MASTER_MENU is now in USR_SCRATCH:[MCMICHAEL]
  3279. This one uses MM_LGICMD.EXE to compute the login command file name.
  3280.  
  3281. There are two files you need
  3282.  
  3283. MM.TLB text library containing
  3284.         AAAREADME.TXT
  3285.         MASTER_MENU.COM
  3286.         MASTER_MENU_ITEMS.COM
  3287.         MASTER_MENU_START.COM
  3288.         MASTER_MENU_USERS.COM
  3289.         MM_LGICMD.EXE
  3290.         MM_LGICMD.FOR
  3291.         MM_LGICMD.LIS
  3292.         MM_LGICMD.OBJ
  3293. EXTRACT_TLB.COM to decompose the text library
  3294.  
  3295.     [Editor's note:  If you are interested in a copy of the files mentioned
  3296. in this article, try looking in the DECUS Library Tapes, or on the DECUShare
  3297. CDROM library.]
  3298.  
  3299.  
  3300.                             Collected Notes on VMS 5.5
  3301.                             --------------------------
  3302.  
  3303.         This article is an extract of the DECUServe VMS
  3304.         conference topic 1800.  This discussion occurred between
  3305.         July 7, 1992 and August 7, 1992.  This article was 
  3306.         submitted for publication by Pierre Hahn, DECUServe
  3307.         Contributing Editor.  Ed.
  3308.  
  3309. By Chris Rhode, Don Roberts, Mike Mattix, Tyler Mainquist, Matt Rollinson
  3310.  
  3311.  
  3312. (Rhode)
  3313. -------
  3314.     The following was compiled from DECUServe, and other sources.  References 
  3315. to DECUServe VMS conference note numbers are in [] at the end of bulleted 
  3316. items.  I worked forward mid-June from 1604.x in the VMS conference to compile 
  3317. this (there may be material from earlier than that because I also used notes 
  3318. taken from DECUServe, USENET, our LUG etc. over the past few months which are 
  3319. not always great in pointing out where the material came from :-)   I reviewed 
  3320.  
  3321. The DECUServe Journal             January, 1993                       Page  58
  3322.  
  3323.  
  3324. the source material with an eye towards items of interest to our site, and 
  3325. thus may have omitted certain areas (such as DECwindows, problems discovered 
  3326. with unsupported areas of VMS, etc.).  These notes are not guaranteed to be 
  3327. accurate (though I put some effort into proofing the stuff I drew from 
  3328. DECUserve, which is the vast majority of the material) or complete.  You can 
  3329. use the note number cross references to get more detail on things you are 
  3330. concerned about or don't believe -}.  Your mileage may vary.
  3331.     I hope this is useful to somebody ... I put it together for somebody that 
  3332. was thinking about upgrading to 5.5.  I think some of this material will be 
  3333. useful even for people going to 5.5-1 or beyond ...
  3334.     If anybody reads this and can point out inaccuracies, provide new details,
  3335. etc., please do ...
  3336.  
  3337. o If you are running LAT get the latest version of patch kit 0511 (V3.2 or
  3338.     later) and install it ASAP after the upgrade.  There were also separate
  3339.     ECOs (#1 and 2) for LATSYM in conjunction with V3.0 of this patch kit,
  3340.     find out if they are needed. TEST LAT SERVER ALL may crash the
  3341.     system even under latest patch revs.  [1699.13, 1725.4, 1657.0 etc.]
  3342. o STOP/NEXT on a queue follow by START on that queue is broken in that
  3343.     the queue must actually stop fully before START will work.  Change in
  3344.     behavior. [1604.51]
  3345. o The queue manager data files are not properly saved as part of a BACKUP
  3346.     operation, even under standalone backup.  Backup and restore of a 5.5 
  3347.     system disk will result in lost queue information.  Workaround: stop the 
  3348.     queue manager, do backup, then restart 
  3349.     the queue manager.  [1604.59, .64, .76 etc.].  [Note: it's never been 
  3350.     "safe" to try to backup the queue files with the queue manager running, 
  3351.     but now it appears you have NO chance of recovery, even from a 
  3352.     standalone backup.]
  3353. o Do NOT convert the queues as part of the upgrade procedure.  Just Say No,
  3354.     and after the upgrade run @SYS$UPDATE:VMS$UPGRADE_A55_V55 [1604.27]
  3355. o The VMS 5.5 upgrade procedure destroys the password history list file;
  3356.     preserve a copy of this file before the upgrade and restore it manually
  3357.     after the upgrade. [1604.1]
  3358. o Disks that go into Mount Verify may cause a system crash.  Fixed in 5.5-1.
  3359.     [1604.3]
  3360. o Pathworks for Mac V1.1 DAL will not work under VMS 5.5
  3361. o Pathworks for DOS V4.0 breaks under 5.5.  Get patch kit 3018, or wait
  3362.     for Pathworks V4.1.  Make sure you get a patch kit with a version of
  3363.     S4.0N or later. [1604.4, .5, .6]
  3364. o See Chapter 5 of the release notes, you must have the QMAN$MASTER logical
  3365.     name defined in SYLOGICALS before upgrading. [1604.23]
  3366. o MONITOR DISK/ITEM=QUEUE may be broken (only on SMP machines?) [1604.29]
  3367. o CPU limits will be ignored on batch queues [1604.31]
  3368. o If running DQS 1.2 get patch 0554.  The installation procedure for this
  3369.     patch may be buggy, there is a workaround [1604.41]
  3370. o See section 6.5 of installation guide, there is a mistake, SYSUAF must be
  3371.     in SYS$COMMON:[SYSEXE] [1604.44]
  3372. o Batch jobs present in queues and submitted with the /PRINT qualifier
  3373.     will be lost during the queue file upgrade. [1604.45]
  3374. o Carefully check the system date/time after each reboot during the upgrade,
  3375.     including after MUPs etc, it may drift by days or years.  Stop accounting
  3376.     and all queues before the upgrade and disable anything that might start
  3377.     them during the upgrade.  Fix the system time before restarting them
  3378.     and before installing layered products. [1604.45, .90, .91]
  3379.  
  3380. The DECUServe Journal             January, 1993                       Page  59
  3381.  
  3382.  
  3383. o Under VMS 5.5, one-to-one mapping of characteristic names to number is
  3384.     enforced.  A workaround exists [1604.46, .54]
  3385. o Apparently the queue manager is supposed to "remember" that it was started
  3386.     across reboots and restart itself on reboot (no more need for
  3387.     START/QUEUE/MANAGER in SYSTARTUP).  Actually this doesn't work. [1604.71]
  3388. o Queue manager may run out of virtual memory and die, corrupting your queue
  3389.     file. [1604.72]
  3390. o Get CSCPAT 1011 - patch for crash scenario (with locks?) [1604.74]
  3391. o Under VMS 5.5, there are changes in lock performance due to POSIX, ENQ/DEQ
  3392.     are 6% faster but CONVERT is 12% slower [1604.75]
  3393. o DELETE/ENTRY on a job that was submitted /NOTIFY will no longer send the
  3394.     "job deleted ..." broadcast message to the submittors terminal [1604.79]
  3395. o SET AUDIT/SERVER/NEW_LOG may result in a corrupted new audit server file.
  3396.     Get CSCPAT_0061. [1604.80]
  3397. o ANALYZE/AUDIT under VMS 5.5 does not handle some flavors of V5.4 audit
  3398.     records [1604.80]
  3399. o Force TMSCP_LOAD to 0 in MODPARAMS on nodes without local tape drives or
  3400.     on nodes where you don't want to serve the tape drives.  If you don't
  3401.     do this, you may get %TMSCPLOAD-E-SERVE_ERR errors on reboot, among other
  3402.     things.  You should force TMSCP_LOAD to 0 in the Standalone Backup
  3403.     parameter set.  See the VMS 5.5 Cover Letter. [1604.85, .86]
  3404. o You can't upgrade from 5.0 thru 5.3-n to 5.5 in a cluster.  There is a
  3405.     workaround [1604.88]
  3406. o If you are running ACMS, see DEC about a patch for a mailbox problem
  3407.     [1604.93]
  3408. o Possible problems upgrading from the InfoServer, with workarounds
  3409.     [1604.97, .99, .108]
  3410. o If non-Decwindows Debugger seems to want DECW$TRANSPORT_COMMON loaded, try
  3411.     installing the image manually.  DECW$STARTUP may have tried to do this
  3412.     and failed due to an exceeded quota (try increasing PQL_MBYTLM to 65000)
  3413.     or DECW$STARTUP may be partially or fully inhibited
  3414.     depending on system/startup configuration. [1604.104, .116, .117]
  3415. o There is a patch for 6610 systems, #1000, but it may cause "hideous
  3416.     performance loss" [1606.0]
  3417. o Read the New Features Manual for VMS 5.5 carefully, especially regarding
  3418.     the new batch/print queue system.  Also check out the new SET PREFIX
  3419.     command.
  3420. o CSCPAT_1012 for queue manager, get latest version.  Helps with but does
  3421.     not eliminate queue stalling problems. [1725.x]
  3422. o If running WordPerfect, get latest version/patch set from vendor
  3423.     [1706.x, 1725.5]
  3424. o Get CSCPAT_1101 for BACKUP, supersedes old _0101 [1734.0]
  3425. o If running DECserver 200s, get "BL37B" patch (talk to field service) [1737.2]
  3426. o Keeping times of cluster nodes in synch is now even more critical for
  3427.     queueing system, set up a procedure to do this several times a day.
  3428.     [1766.x]
  3429. o Check with DEC for latest news on 5.5 if you are an All-in-One shop,
  3430.     there are potentially major problems. [1604.44, .52 (background formatter),
  3431.     1757.4 (patch #1012 may fix)]
  3432. o Check with Multinet vendor ... patch needed ... 3.0 Rev H is okay
  3433. o If running a DEBNA get patch 0543
  3434. o A default LRPSIZE of 1504 is now okay
  3435. o Ignore p. 2-13 on increasing BYTLM by 320 for users if all users
  3436.     currently have over 10K BYTLM (which they should anyway).  A BYTLM
  3437.     of 20480 is a good number for most users. [1661.x]
  3438. o Custom print symbionts -may- break.  [1692.x]
  3439.  
  3440. The DECUServe Journal             January, 1993                       Page  60
  3441.  
  3442.  
  3443. o Check into patch 1001 for VERIFY utility
  3444. o A POSIX -license- is included with the VMS 5.5 license.  You must purchase
  3445.     a media kit.  Get POSIX patches, 1021.
  3446. o If you have a SYSMANINI file which includes a SET FILE/CLUSTER command, this
  3447.     may cause problems for AUTOGEN. [1579.0]
  3448. o Check into patch 0059 for TUDRIVER [1710.6]
  3449. o VPA becomes unsupported under VMS 5.5, use DECps instead [1604.44]
  3450.  
  3451. 1604.44 - General warning about 5.5
  3452. 1604.47 - ditto
  3453. 1604.95 - good writeup on autostart queue mechanism
  3454. 1604.96 - one site's project plan for 5.5 upgrade
  3455. 1757.2  - list of patches
  3456. 1757.3  - list of patches
  3457.  
  3458.  
  3459. (Roberts:  Thanks for compiling this Chris!)
  3460. --------------------------------------------
  3461.     Well, I just found out that some third party print symbionts will fail with 
  3462. 5.5, and you need patches 1012 (listed before) and 1022 (not listed) to fix 
  3463. this.
  3464.     This looks like a very thorough list, Chris.  I just wish you had posted 
  3465. it two weeks ago, before I upgraded :-(
  3466.  
  3467.  
  3468. (Mattix:  I have not seen this mentioned before??)
  3469. --------------------------------------------------
  3470.     Just adding one thing.  Let's see if I can get this right...
  3471.     If you have a heterogenous cluster (more than one SYSUAF) and you convert 
  3472. to the new Queue system you will be in for a rude awakening.  It seems that the 
  3473. new Queue Manager looks for an entry in the SYSUAF.DAT on the node that starts 
  3474. the Queue Manager for any batch jobs submitted.  Even if the Queue the job is 
  3475. submitted to is running on an another node with a different SYSUAF.DAT file. 
  3476. This bit us this last weekend when merging two clusters into one.  One was 
  3477. 5.4-2 and the other was 5.5.  DEC CSC claims this is the way it is planned to 
  3478. work and has no intention of fixing(??) it.  It has caused us to put duplicate 
  3479. entrie on the 6520 that is running the master queue manager for all accounts
  3480. on a VAX4300 running a totally separate application suite.
  3481.     This is obviously progress..
  3482.  
  3483.  
  3484. (Mainquist:  New (5.5) queue manager on heterogeneous cluster)
  3485. --------------------------------------------------------------
  3486.     The issue in [the previous reply] bit us hard, too, and we were told the 
  3487. same story: 
  3488.  
  3489. "The queue manager was not intended to support a heterogeneous cluster, and 
  3490. this has been true for quite awhile."
  3491.  
  3492.     At the time we had somewhere between 12 and 14 nodes in the cluster with 
  3493. about 5 different UAF environments.  We had the luxury of being able to choose 
  3494. which of the 5 UAFs to run on the queue managing node, so we took the one with 
  3495. the most users submitting jobs.
  3496.     BTW(1):  This affects more than just batch queues. We are running ALL-IN-1
  3497. and the jobs sent to OA$FORMATTER (server queue) were failing left and right 
  3498. after the 5.5 upgrade weekend.  Doesn't it report a "record not found" error 
  3499. or something like that?  I can't remember if straight PRINT jobs were affected.
  3500.     BTW(2):  If users choose to "correct" this situation by adding UAF entries 
  3501. on the queue managing node, the entries do not have to be "usable."  All that 
  3502.  
  3503. The DECUServe Journal             January, 1993                       Page  61
  3504.  
  3505.  
  3506. is required is that the queue manager process be able to find a (any) record 
  3507. for the user in its SYSUAF file.  You can make them DisUser, no privs, no 
  3508. access, etc., so set up a template account and UAF> COPY it.
  3509.     We had considered going back to the old queue manager, but the performance 
  3510. gains we experienced made the UAF effort WELL worth keeping the new.
  3511.  
  3512.  
  3513. (Rollinson:  v5.5, queueing and multiple uafs)
  3514. ----------------------------------------------
  3515.     Some additional info on what we did on Mike's system.
  3516.  
  3517. 1)  Tracked down usernames not on the Queue manager's node.
  3518. 2)  Added all of those usernames regardless of original UIC to a single
  3519.     DISUSERed UIC.
  3520.  
  3521.     The queue manager just wants to see ANY record with the appropriate
  3522. username.  (At least on v5.5...)
  3523.  
  3524. 3)  Started chewing on how we are going to combine UAFs and appropriately
  3525.     change our security scheme.
  3526.  
  3527.  
  3528.                    Control Over Scrolling Speed in DECterm?
  3529.                    ----------------------------------------
  3530.  
  3531.         This article is an extract of the DECUServe Workstations
  3532.     conference topic 204.  This discussion occurred between 
  3533.         March 13, 1992 and April 17, 1992.  This article was submitted
  3534.         for publication by Jeff Killeen, DECUServe Contributing 
  3535.         Editor.  Ed.
  3536.  
  3537. By Mark Katz, John Burnet, Jack Harvey, Bart Lederman, Eric Husby, Bill Mayhew,
  3538. Geoff Bryant, Jamie Hanrahan, Duncan Brown, Simon Szeto, Bob Koehler, 
  3539. Bill Wood, Linwood Ferguson, Matt Holdrege, Larry Kilgallen, Keith Chadwick,
  3540. Patrick Mahan, Gail Walker
  3541.  
  3542.  
  3543. (Katz)
  3544. ------
  3545.     Is there any way to control the scrolling rate in a DECterm window 
  3546. (running V5.5, MOTIF, VS4000 Mod 60)?
  3547.     On my character cell terminal I always used 9600 baud and jump scroll 
  3548. which was just right for most cases. I didn't have to wait a painfully long 
  3549. time for things to display, but I could react fast enough to stop the 
  3550. scrolling with the info I wanted somewhere in the middle of the screen.
  3551.     Now with this workstation, I don't have a serial line to throttle things 
  3552. and this CPU spits stuff out so fast that its off the screen before I can stop 
  3553. it.  I know, I can always scroll back and see it but stopping and backing up 
  3554. gets tiring after a while.
  3555.  
  3556.  
  3557. (Burnet:  Probably no easy answer)
  3558. ----------------------------------
  3559.     Part of the problem is that X is normally an asynchronous protocol.  By the 
  3560. time the DECterm code receives notification of the key-press event, several 
  3561. more lines (possibly a couple dozen more lines) have scrolled by.  This can 
  3562.  
  3563. The DECUServe Journal             January, 1993                       Page  62
  3564.  
  3565.  
  3566. also be affected by Ethernet loading, if the particular DECterm isn't running 
  3567. on the same system as the keyboard/mouse/display server.
  3568.  
  3569.  
  3570. (Harvey:  It is a real problem, though)
  3571. ---------------------------------------
  3572.     I expect smooth scrolling (or even jumpy scrolling) could be emulated but 
  3573. with considerable difficulty with existing hardware.  Hence it isn't.  
  3574.     It would seem that the developers decided the scroll bar and mouse is an 
  3575. adequate workaround, which in my opinion, is dead wrong.  I understand later 
  3576. versions of Windows/Motif have provided a keyboard way to switch window 
  3577. keyboard focus.  Has anything been done about a keyboard way of reverse 
  3578. scrolling?  Like Prev Screen, for example?  That would be a big improvement 
  3579. over the scroll bar, I think.
  3580.     DECterm function is a sore point with me.  I have much need of character 
  3581. cell terminals in my work.  I wanted a VT420; instead I got a DECstation 3100.  
  3582. The monochrome display is terrific - much better than a VT420 - but it is a 
  3583. terribly poor substitute for a proper terminal.  It lives in its box and I 
  3584. have two VT220s on my desk to approximate VT420 capability.  
  3585.  
  3586.  
  3587. (Lederman:  I think there is an easy answer.)
  3588. ---------------------------------------------
  3589.     I agree completely.  I am constantly amazed at some of the (in my opinion, 
  3590. very stupid) things DECwindows does.  I don't understand why the programmers 
  3591. who implemented this stuff would be willing to use it themselves.
  3592.     The least that should happen is that the window on the local station should 
  3593. stop scrolling immediately, even if the client is still sending data (which 
  3594. can be buffered locally).
  3595.  
  3596.  
  3597. (Harvey)
  3598. --------
  3599.     I think Erik Husby said somewhere here that he seldom if ever uses
  3600. DECterms.  It's my guess that the Windows developers don't use DECterms either, 
  3601. and that the workstation/windows product managers consider DECterms to be a 
  3602. temporary workaround which will disappear when we are all windowized.
  3603.     Erik, what do you think?
  3604.  
  3605.  
  3606. (Husby:  A workstation is much more than a couple of terminals)
  3607. ---------------------------------------------------------------
  3608.     Since you asked, my feeling is if you want the performance of a traditional 
  3609. terminal, use a traditional terminal.  They are not that expensive. One could 
  3610. easily have two or more for the same price as a workstation. I used to be very 
  3611. productive with a VT220 hooked to a terminal server.  Between kept subprocesses
  3612. and the terminal server session switching commands, I could keep very busy.
  3613.     But with my workstation, I am learning to work differently.  Now, not only 
  3614. can I keep different sessions going.  But I can link them together in ways 
  3615. that are just not possible with a VT220.  For instance, I can browse my list 
  3616. of files in FileView.  Select one of them, and then have LSE open it.  My 
  3617. DECwindows mail knows how to trigger my existing LSE session to edit a message.
  3618. I can link my mail messages to calendar entries. On and on.
  3619.  
  3620.  
  3621.  
  3622. The DECUServe Journal             January, 1993                       Page  63
  3623.  
  3624.  
  3625. (Lederman:  Can't give up DECterms for a long, long time.)
  3626. ----------------------------------------------------------
  3627.     It isn't possible to give up DECterm (though I'm sure the users here would 
  3628. like to).
  3629.     It's the only interface to DCL.  Lots of things run as command procedures 
  3630. or batch jobs.  DECterm is the only way to get this work done.
  3631.     Also, while development may be done on the workstation, a lot of the "real" 
  3632. work runs on a 3600.  The workstation have to SET HOST to the 3600 to do stuff 
  3633. in DCL.
  3634.     So we're stuck with DECterms, and they don't work right.  They need to be 
  3635. fixed.
  3636.     P.S.: even if Digital came up with a windowed replacement to DCL, I doubt 
  3637. if anyone here would use it.  They have tried FileVue and loathe it intensely.  
  3638. And they are NOT DCL "bigots".  They all come from a Macintosh background, and 
  3639. would much rather use a windowed interface, if the utilities are anything less 
  3640. than abominable.
  3641.  
  3642.  
  3643. (Burnet:  X over DECnet may be preferable to CTERM over DECnet)
  3644. ---------------------------------------------------------------
  3645.     A short side trip here...  :-)  If you're using CTERM-flavor SET HOST (as 
  3646. opposed to SET HOST/LAT), you may get better results if you scrap that method 
  3647. and instead have the 3600 create a DECterm window directly on the workstation 
  3648. with CREATE/TERMINAL.  From the workstation, you can use either SUBMIT/REMOTE 
  3649. or DECnet task-to-task to request the CREATE/TERM/DETACH.
  3650.  
  3651.  
  3652. (Husby:  DECTerm is a terminal emulator, not a terminal)
  3653. --------------------------------------------------------
  3654.     My comment about the workstation not being a terminal has not seem to have 
  3655. struck home.  DECTerm is a terminal emulator, hence, as in all emulators, will 
  3656. have differences from the real thing.  That being that, learn to use the 
  3657. workstation the way it works best.
  3658.     In regards to controling the scrolling rate via XON/XOFF (i.e. 
  3659. Control-S/Control-Q), that is a technique appropriate to a RS232 communication 
  3660. path.  It is not appropriate technique on an X communication path.  What is 
  3661. appropriate in X is to capture the output in a file or memory like DECterm 
  3662. does, and then use editor like controls to view it.
  3663.     In regards to FileView, I agree, the Macintosh Finder is nicer.  However, 
  3664. with a little (and I mean little) bit of work it is possible to make one's 
  3665. life very easy with FileView.
  3666.  
  3667.  
  3668. (Mayhew:  Do you really mean...?)
  3669. ---------------------------------
  3670. > [^S/^Q] is not appropriate technique on an X communication path.  What is 
  3671. >appropriate in X is to capture the output in a file or memory like DECterm 
  3672. >does, and then use editor like controls to view it.
  3673.     
  3674.     But wait. (Note that I have not yet used one of these beasts yet; I'm
  3675. happy with VWS for the time being but I do see Father Time's shadow on the 
  3676. wall.)
  3677.     It is often the case that I want to look at the beginning of the output
  3678. from some program and, based on what I see, decide to let it continue or to 
  3679. abort it.  It is often the case that the programs in question will generate 
  3680.  
  3681. The DECUServe Journal             January, 1993                       Page  64
  3682.  
  3683.  
  3684. enough output, or short-enough lines, that relying on the bandwidth of the 
  3685. data link, or the scroll rate of the terminal, is not sufficient; I need to be 
  3686. able to say "stop displaying NOW".  I don't mind if some (moderate) amount of 
  3687. additional output piles up in a buffer somewhere, but having to wait for it 
  3688. all to finish and then scrolling back-and-forth is unacceptable.
  3689.     Are you saying that (e.g.) the Hold Screen key, or ^S/^Q, on a VAXstation
  3690. running DW/Motif essentially has no effect?  That's unacceptable from a
  3691. "terminal emulator".  Silly me, I expect it to *emulate* the terminal,
  3692. including this fundamental behavior of "stop displaying NOW".
  3693.     Am I misreading something, or am I really going to detest switching to the 
  3694. X environment?
  3695.  
  3696.  
  3697. (Bryant:  Scroll bars are the answer)
  3698. -------------------------------------
  3699.     DECterm is actually better at this than my VT!  Sure the HOLD-SCREEN or the 
  3700. ^Q may be slow, but you get these nifty scroll bars to back with!
  3701.     I find now that when I'm at home I have a harder time since I can't be
  3702. lazy with the noscroll key and go back with a scroll bar.  My Vt100 just won't 
  3703. do that.
  3704.  
  3705.  
  3706. (Harvey:  A Broken UI)
  3707. ----------------------
  3708. >DECterm is a terminal emulator, hence, as in all emulators, will have 
  3709. >differences from the real thing.  
  3710.  
  3711.     Yes, but these are serious bad differences.  Any decent PC based terminal 
  3712. emulator will emulate far better.
  3713.  
  3714. >In regards to controlling the scrolling rate via XON/XOFF (i.e.
  3715. >Control-S/Control-Q), that is a technique appropriate to a RS232 communication 
  3716. >path.  It is not appropriate technique on an X communication path.  
  3717.  
  3718.     The communication technology is quite beside the point.  I have a Hold
  3719. Screen key on my x-windows keyboard *and it doesn't work!*  This is a failure 
  3720. of the User Interface. 
  3721.     The ability to use the mouse to scroll back through a couple of hundred
  3722. lines of text is valuable (and I even use it sometimes) but this is not a 
  3723. substitute for a working Hold Screen key, or even a practical workaround.  The 
  3724. two features are quite different.
  3725.  
  3726.  
  3727. (Hanrahan:  DECterms really aren't that bad.)
  3728. ---------------------------------------------
  3729.     The Hold Screen key *does* work.  It's just a little slow.  
  3730.     (I'm told that the delay is due more to the "hardware buffering" in smart
  3731. display devices like GPX and SPX cards than to the DECwindows client/server
  3732. implementation.  Supposedly if you run DECwindows on the old single-bit 
  3733. graphics card (QVSS? something like that) in a Q-bus backplane, even with
  3734. a 3600 processor dropped in, "hold screen" becomes near-instantaneous.  )
  3735.     I suppose that "hold screen" could compensate for the speed of the display
  3736. hardware and automatically "back up" the display to compensate.  
  3737.  
  3738.     However....
  3739.  
  3740.  
  3741. The DECUServe Journal             January, 1993                       Page  65
  3742.  
  3743.  
  3744.     Frankly, I hear the echoes here of many, many old arguments.  For example,
  3745. programmers who were used to working on ASR-33 teletypes and on their 30 cps
  3746. counterparts (thermal printing terminals, daisywheel printing terminals, etc.)
  3747. complained, when CRTs came in, that they couldn't see as much "history" of
  3748. their session as they were used to.  And make no mistake, they were *right*.
  3749.     What happened?  Two things.  One, our work habits changed.  Two, we got
  3750. different tools -- screen-based text editors, for example.  With the new tools
  3751. and new work habits it turned out that we didn't *need* to see that much of
  3752. "past history" at once.  And lo and behold, the new terminals were more useful
  3753. than the old ones. 
  3754.     The same applies here.  The fact that "hold screen" doesn't work *quite* 
  3755. fast enough to be useful is (imho) far overshadowed by :
  3756.  
  3757.     You can now have a 48 line by 132 col terminal.  Or larger!
  3758.     And many of the size increases do not require a condensed type font.
  3759.  
  3760.     You can have FOUR 24 x 80 terminals without overlapping them!  (At least
  3761. you could before Motif came along)
  3762.  
  3763.     You can use the mouse to cut and paste between windows.  e.g., do a 
  3764. DIRECTORY in one window.  Want to edit a file that you see there? Does it have 
  3765. a huge, long directory spec and file name?  No problem.  Either in that window 
  3766. or another, type EDIT and then "pick up" the directory-and-device spec from 
  3767. the directory header, and then the file name from the directory listing.  
  3768. Almost as good as FileView might be if I ever get used to using it.  
  3769.     Displays happen MUCH faster. In fact I'm not sure that part of the
  3770. "problem" with "hold screen latency" wouldn't go away if the display was 
  3771. loafing along at the ~480 char/sec or so you would typically get out of a VT100.
  3772.     You can trivially scroll back to display a previous screen -- or even save 
  3773. a whole screen to a file.  (Don't want to save in Postscript form?  Go to 
  3774. another window and type   CREATE SAVESCREEN.TXT at the DCL prompt.  Go back to 
  3775. first window, use the mouse to select the part or all of a display (there's a 
  3776. SELECT ALL under the Edit pulldown if you want everything), go to second 
  3777. window, paste, type ^Z.)
  3778.  
  3779.     Note to DEC:  There really oughtta be a menu option for this.  
  3780.                   Sun has it!  And you should have the option of retaining 
  3781.                   display attributes like bold, reverse video, etc.)
  3782.  
  3783.     And all of that is without using any new tools like FileView.  Personaly
  3784. I'm just not used to FileView yet, but I do (finally) use the 'more' that
  3785. Don Roberts put up here, and that has made life a WHOLE lot simpler.  If you 
  3786. get in the habit of typing 'more' instead of 'type', you may come to never use 
  3787. your hold screen key... or miss it.
  3788.     OTOH, if you *really* miss "hold screen", try setting your DECterm to 48 
  3789. lines.  I then find the "hold screen" to be quite fast enough; that is, the 
  3790. 24 lines I "wanted to see" are still on the screen by the time it stops.
  3791.     Bottom line:  Yes, DECterms are different from real CRT terminals.  And, 
  3792. yes, some of those differences will require us to adopt some new work habits 
  3793. and some new tools before we will stop missing some of the old functionality. 
  3794. But that's nothing new; it's been going on since the dawn of technology. You 
  3795. might as well complain that your buggy whip isn't very useful on your car! 
  3796.     And once the new tools become part of your work habits, I promise you that
  3797. a few DECterms on your workstation screen will be much handier than a bunch of 
  3798. *real* terminals.*  Besides, you don't have to have space on your desk for all 
  3799. those CRTs... and all those keyboards!
  3800.  
  3801. The DECUServe Journal             January, 1993                       Page  66
  3802.  
  3803.  
  3804.     But if you really have no use for that workstation that's still sitting its
  3805. box, why don't you throw it away?   Just give me a bit of advance notice.  I
  3806. promise you, it'll never hit the ground.  
  3807.     *Unless, of course, you really need to make a hardwired RS232 connection to 
  3808. something without going through your workstation's CPU and Kermit or whatever!
  3809.  
  3810.  
  3811. (Harvey:  Maybe we are broke...)
  3812. --------------------------------
  3813. >The Hold Screen key *does* work.  It's just a little slow.  
  3814.  
  3815.     On my DECstation 3100, the time it takes to work is apparently infinite.  
  3816. I have never seen it work. The DECterm also doesn't understand about most of 
  3817. the LK201 upper row function keys - F10 for example.  I have to use CTRL Z.
  3818.  
  3819. >But if you really have no use for that workstation that's still sitting its
  3820. >box, why don't you throw it away?   Just give me a bit of advance notice.  I
  3821. >promise you, it'll never hit the ground.  
  3822.  
  3823.     I tried to get rid of it several ways - the boxes are big and clutter
  3824. up my office.  My boss won't let me.  Sorry.
  3825.     Jamie, you make a good point that workstations do represent major
  3826. technology improvements, and I agree - I wish I could use the large screen 
  3827. capability of the one I have.  The broke DECterm prevents it, however.  There 
  3828. is just too much wrong.
  3829.     I guess your TPU/EVE/EDT is broke too, since you still use EDT.EXE. :-)
  3830.  
  3831.  
  3832. (Brown:  But don't investigate this- just send me the DECstation...)
  3833. --------------------------------------------------------------------
  3834. >On my DECstation 3100, the time it takes to work is apparently infinite.  I 
  3835. >have never seen it work. The DECterm also doesn't understand about most of 
  3836. >the LK201 upper row function keys - F10 for example.  I have to use CTRL Z.
  3837.     
  3838.     I've never seen a DECstation, but it sure sounds like your DECterm is
  3839. acting as a VT100 emulator!  Is it possible there's a setting somewhere that 
  3840. needs to be tweaked?  Or maybe the Unix DECterms aren't as nice as the VMS 
  3841. DECterms....?
  3842.  
  3843.  
  3844. (Hanrahan)
  3845. ----------
  3846. >On my DECstation 3100, the time it takes to work is apparently infinite.  I 
  3847. >have never seen it work. The DECterm also doesn't understand about most of 
  3848. >the LK201 upper row function keys - F10 for example.  I have to use CTRL Z.
  3849.  
  3850.     Do you mean DECstation or VAXstation?  And, yes, F10 works for ctrl-Z 
  3851. here (VAXstation).  
  3852.     The upper row function keys are supposed to be programmable, just like on a 
  3853. real VT(>220).  If all else fails you could set them up yourself...
  3854.  
  3855. >I guess your TPU/EVE/EDT is broke too, since you still use EDT.EXE. :-)
  3856.  
  3857.     Yes, I still use EDT.EXE, for reasons I explained elsewhere.  And this is
  3858. more of the same thing -- sluggishness to adapt to new tools.  
  3859.  
  3860. The DECUServe Journal             January, 1993                       Page  67
  3861.  
  3862.  
  3863.     I know that TPU/EVE with EDT keypad would give me lots of things I don't 
  3864. have now, like support for those 48-line DECterms, not to mention CALLability 
  3865. (my EDT is customized in ways that require it to be invoked by code of my own,
  3866. hence I'm using SPAWNed, not CALLable, EDT form NOTES).  
  3867.     But, just as i haven't taken the time to get used to FileView, I haven't 
  3868. taken the time to translate my customizations to TPU and to otherwise use EVE.  
  3869. And my fingers are very used to those customizations.  I'm far more productive 
  3870. than I could ever be with satandard EDT.  
  3871.     (Oh, otoh, it isn't quite the same thing -- I'm not going around saying 
  3872. "TPU/EVE/EDT is broke", just "I haven't had time to switch over".  Stop putting 
  3873. words in my fingers.)
  3874.  
  3875.  
  3876. (Harvey:  DECstation)
  3877. ---------------------
  3878. >Do you mean DECstation or VAXstation?  
  3879.     
  3880.     As in MIPS Ultrix.  Maybe my boss is hoping it will turn out to be an Alpha 
  3881. in disguise.  :-)
  3882.     I've tweeked everything in sight.  Atlanta, who were absolutely tops
  3883. helping me stumble through getting ULtrix, DECnet, LAT, etc., up and working, 
  3884. seem to think it's doing what it's supposed to do.  It's a DECterm.  :-}
  3885.  
  3886.  
  3887. (Szeto:  cultural difference in function keys?)
  3888. -----------------------------------------------
  3889.     Well, I never had the pleasure (yet) of using a DECstation, but I do
  3890. believe that F10 and F6 as ^Z and ^Y are VMS-isms.  Unless you are displaying 
  3891. back to your DECstation from your VMS system, your DECterm probably doesn't 
  3892. know about F10 and F6.
  3893.  
  3894.  
  3895. (Mayhew:  emulate: to imitate with effort to equal or surpass)
  3896. --------------------------------------------------------------
  3897.     I concede Jamie's point; I don't want to be stuck in the horse-and-buggy 
  3898. era forever.
  3899.     What I find annoying though is that my VWS VAXstation gives me all of the 
  3900. attributes Jamie mentioned in .-5 or so, PLUS an instantaneous Hold Screen and 
  3901. ^S (which behave slightly differently from each other, for rational reasons).
  3902.     Moving into the future is only useful if you can drag your customers
  3903. along with you.  In my case, selling workstations or even X terminals to my 
  3904. clients is about as likely as DEC selling me a personal 9000-210.  Some day, 
  3905. when the price comes down and I can afford an Alpha that runs as fast as 
  3906. today's 9000-210, I'll buy it.  Clients tell me the same thing about 
  3907. workstations and X terminals today.
  3908.     Consequently I am trying to use new tools to maintain and develop "old
  3909. technology" (character-cell-interface software).  If I have to have a separate 
  3910. VT on my desk, then I maintain that DECterm isn't doing its job as an emulator 
  3911. and should be advertised instead as a "DCL window" or some such thing (a 
  3912. VMS-centric definition to be sure but you get the point).
  3913.     BTW the definition in the title is from the Random House Dictionary.
  3914.  
  3915.  
  3916.  
  3917. The DECUServe Journal             January, 1993                       Page  68
  3918.  
  3919.  
  3920. (Koehler:  add a scroll bar)
  3921. ----------------------------
  3922. >On my DECstation 3100, the time it takes to work is apparently infinite.
  3923.     
  3924.     The default setup under ULTRIX does not seem to be as robust as VMS.  To 
  3925. start with, you probably need to customize in a vertical scroll bar and save 
  3926. the customization.
  3927.     ULTRIX DECwindows seems to be an effort to prove that a single GUI can be 
  3928. great on one machine and poor on another.  I use FileView on my VAX all the 
  3929. time, and with a little customization, I rarely bring up a DECterm.  UE on 
  3930. ULTRIX use fairly useless, and I cannot find any customization that allows 
  3931. prompting for data and getting the user's response in a shell variable.  (Or 
  3932. am I missing something?) The developers I talked to just shrugged and said 
  3933. they don't use UE.
  3934.     Looks like VMS was easier to do well early. (Gee, wow, big surprise :-))
  3935.  
  3936.  
  3937. (Wood:  DECterm works just grand here.)
  3938. ---------------------------------------
  3939.     Thanks Jamie, I was really beginning to wonder what these guys have been 
  3940. talking about.  My VAXstation 3100 with monochrome (not grey scale) monitor 
  3941. has never been slow in responding to the Hold Screen key.
  3942.     I do notice that when I run the EWS software (essentially as a DECwindows 
  3943. terminal) served from a DECstation Hold Screen is a bit sluggish.  Using SET 
  3944. DISPLAY and CREATE/TERM/WINDOW/DETACHED does better.
  3945.     I also notice that if I use DLOGIN from a DECstation to a VMS machine VMS 
  3946. doesn't know a terminal type until I Set it.  Obviously the upper row function 
  3947. keys don't work until VMS knows I am a VT3xx emulation.
  3948.     Maybe the reason I have never spent the time to make a Fileview environment 
  3949. which will work well for me is that DECterms are working so well.  (It may 
  3950. also be because I keep 13 DECterms active on 9 nodes across 3 clusters and I 
  3951. don't know where to begin customizing Fileview to support me.)
  3952.  
  3953.  
  3954. (Burnet:  Ultrix 4.2 DECterm is flaky -- use the VMS one instead)
  3955. -----------------------------------------------------------------
  3956.     Jack, there may be a very simple solution, *if* what you want is one or
  3957. more DECterm windows giving you access to one or more VMS systems.  Yes, the 
  3958. Ultrix DECterm is busted in many ways, but that should only affect you if you 
  3959. want to use Ultrix.  If you want to use VMS, *don't use the Ultrix DECterm* 
  3960. except to start up VMS DECterms (via dlogin or rsh or DECnet task-to-task or 
  3961. whatever other method you prefer).  On the VMS system of your choice, just 
  3962. type
  3963.  
  3964.         $ create/terminal/display=node::0
  3965.  
  3966. to get your very own VMS DECterm, displaying on your Ultrix DECstation.  You 
  3967. will need to use "session manager -- customize -- security" to allow access to 
  3968. the X server from the VMS node and username that you will be using.
  3969.     In the CREATE/TERM command, you can also specify the window title and
  3970. icon name.
  3971.  
  3972.  
  3973.  
  3974. The DECUServe Journal             January, 1993                       Page  69
  3975.  
  3976.  
  3977. (Burnet:  CREATE/TERM/DETACH)
  3978. -----------------------------
  3979.     Sorry, I forgot to add /DETACH.  Also, it's best to set up some easy way
  3980. of executing the command remotely so that you don't even have to dlogin to the 
  3981. VMS system.  I'm being intentionally vague here -- although I've done this for 
  3982. VMS-to-VMS connections, I haven't yet got around to doing it for our few 
  3983. Ultrix workstations.  rsh or its DECnet-Ultrix equivalent, if any, might do 
  3984. what you want.
  3985.  
  3986.  
  3987. (Harvey:  Hey, maybe I can get rid of my twin VT220s!)
  3988. ------------------------------------------------------
  3989. >Jack, there may be a very simple solution, *if* what you want is one or more 
  3990. >DECterm windows giving you access to one or more VMS systems.  
  3991.  
  3992.     Bingo!  I'll drag the blamed thing out and try your suggestions.  Who 
  3993. knows?  Maybe I'll end up with the world's most expensive X-term.
  3994.  
  3995. >Yes, the Ultrix DECterm is busted in many ways, but that should only affect
  3996. >you if you want to use Ultrix.  
  3997.      ^^^^^^^^^^^^^^^^^^^^^^^^^
  3998.  
  3999.     Bite your tongue!  Why would anyone who knows VMS want to do that?  :-)
  4000.  
  4001.     Anyway, thanks, John, for the confirmation that it has problems.  
  4002.  
  4003.  
  4004. (Burnet:  OK, so I was wrong... there *is* an easy answer :-) )
  4005. ---------------------------------------------------------------
  4006.     Back to the scrolling-speed problem...
  4007.  
  4008.     I just happened to be browsing through the DECwindows Motif user's manual,
  4009. and I ran across this gem in Appendix E:
  4010.  
  4011. There is a DECterm resource (under Decw$terminal.Main.Terminal) called
  4012. syncFrequency that can be changed in DECW$XDEFAULTS.DAT and that
  4013.  
  4014.         "Specifies the number of lines scrolled before DECterm
  4015.         synchronizes with the server.  This number limits the
  4016.         rate of scrolling.  The higher the number, the faster
  4017.         DECterm scrolls.  The default is 10."
  4018.  
  4019.  
  4020. (Husby:  X seems to have more resources than VMS has sysgen parameters!)
  4021. ------------------------------------------------------------------------
  4022. >OK, so I was wrong... there *is* an easy answer  :-)
  4023.  
  4024.     Glad that you were able to gain control of your DECterm (I've recently 
  4025. switched jobs and the new one is not quite up to Motif yet so I don't have 
  4026. access to the new manuals).
  4027.     I was also pleased to see my opinions generate a little discussion.
  4028.  
  4029.  
  4030.  
  4031. The DECUServe Journal             January, 1993                       Page  70
  4032.  
  4033.  
  4034. (Ferguson:  Possibilities)
  4035. --------------------------
  4036. >$ create/terminal/detach/display=node::JACK
  4037. >%NONAME-E-NOMSG, Message number 02DBC002
  4038.     
  4039.     That message is "Can't open display".
  4040.     Were you logged in to node at the time?  If not, you need separate security 
  4041. settings (DECW$SERVER_ACCESS_ALLOWED.DAT in SYS$MANAGER).
  4042.     Also, I'm not familiar with the format "node::JACK".  What I had been doing 
  4043. is:
  4044.         set display /create/node=node
  4045.         create term/detach
  4046.     
  4047.     I can't say the SET DISPLAY is needed, but it works when I used it.  I 
  4048. don't know what to use for "node::JACK" to make it work that way.
  4049.  
  4050.  
  4051. (Burnet:  Node/server/screen specifiers)
  4052. ----------------------------------------
  4053.     The format of a display name (using DECnet) is node::server.screen -- for
  4054. example, FOO::0.1 to specify the second screen of the first server on node 
  4055. FOO.  On single-screen systems, the server and screen area always 0.0, which 
  4056. is the default.  So "node::JACK" is incorrect (I presume that JACK is the 
  4057. username?) -- try "node::0" instead.
  4058.     FWIW, "set display/create" followed by "create/term" (without a /DISPLAY
  4059. qualifier) is equivalent to "create/term/display", all other things (node, 
  4060. server, screen, and transport) being equal.
  4061.  
  4062.  
  4063. (Harvey:  I'm in over my head)
  4064. ------------------------------
  4065.     First some explanation.  Linwood was responding to a note I deleted out 
  4066. from under him.  I realized what one major mistake was and tried to hide my 
  4067. goof by deleting the stupid note.  I should know better. 
  4068.      
  4069.     This was *exactly* my command.  The nodename is JACK.     |-}
  4070.     
  4071. >    $ create/terminal/detach/display=node::JACK
  4072.     
  4073.     So I went back and tried:
  4074.     
  4075.     $ create/terminal/detach/display=JACK::0
  4076.     
  4077.     where JACK is the nodename of the VMS workstation.  This didn't work
  4078. either, and I can't reproduce what happened the first time I tried it.  I got 
  4079. a message about an invalid logical name, DWS$?.  Now it just hangs and never 
  4080. completes.  I broke it.
  4081.     
  4082. >    %NONAME-E-NOMSG, Message number 02DBC002
  4083. >    That message is "Can't open display".
  4084.     
  4085.     How did you get the message text?  My host system and the workstation can't 
  4086. translate 02dbc002.  Maybe something is missing here.
  4087.     
  4088.     $ create/terminal/detach/display=JACK::0
  4089.     
  4090.  
  4091. The DECUServe Journal             January, 1993                       Page  71
  4092.  
  4093.  
  4094.     This command now just hangs forever on both the host and the workstation.  
  4095. (Still pure VMS - no Ultrix yet.)
  4096.  
  4097.  
  4098. (Ferguson:  5.4-3?  Need 0.0)
  4099. -----------------------------
  4100.     What VMS?  I just noticed in 5.4-3 there is a note in the release notes
  4101. that you must include the screen number (i.e. jack::0.0).
  4102.     I tried the above (though substituted LEF for JACK) and it worked (above = 
  4103. 0.0 on 5.4-2).
  4104.     
  4105. >How did you get the message text?  My host system and the workstation can't 
  4106. >translate 02dbc002.  Maybe something is missing here.
  4107.     
  4108.     I use this wonderful routine someone posted on DECUServe to look at all 
  4109. the message files.  Since I can't find it right now, here it is (it's short).  
  4110. Do @MESSAGE <hex-string>
  4111.  
  4112. $       set noon
  4113. $       on control_y then goto exit
  4114. $       file = "<default>"
  4115. $       goto middle
  4116. $
  4117. $loop:
  4118. $       file = f$search("sys$message:*.exe")
  4119. $       if file.eqs."" then exit
  4120. $       set message/noid/notext/nofac/nosev
  4121. $       set message 'file'
  4122. $       stat = $status
  4123. $       set message/id/text/fac/sev
  4124. $       if .not. stat then goto loop
  4125. $
  4126. $middle:
  4127. $       x = f$message(%x'p1')
  4128. $       y = f$element(0,",",f$element(2,"-",x))
  4129. $       if y.eqs."NOMSG" then goto loop
  4130. $       write sys$output file
  4131. $       write sys$output x
  4132. $
  4133. $exit:
  4134. $       set message/id/text/fac/sev
  4135. $       exit
  4136.  
  4137.  
  4138. (Holdrege:  Try from a DECwindows node)
  4139. ---------------------------------------
  4140.     I get the invalid logical name and the NONAME error message when I try
  4141. the CREATE/TERM command from a non-DECwindows node. (a node that does not have 
  4142. decwindows started and the decwindow logicals defined.)
  4143.     Are you sure you are trying this from a node with DECwindows FULLY enabled?
  4144.  
  4145.  
  4146. (Harvey:  Progress!)
  4147. --------------------
  4148.     This is what I think the situation is.  I have two VMS 5.4-2 nodes, let's 
  4149. call them HOST and JACK.  They are LAVC clustered and DECnetted.   HOST is a 
  4150.  
  4151. The DECUServe Journal             January, 1993                       Page  72
  4152.  
  4153.  
  4154. 4000-200, no graphics device, and probably did *not* have DECwindows enabled, 
  4155. but does now.  JACK is a VS3100 with a display, and is running DECwindows. 
  4156.     I'm not sure about *anything* in this area, but I think I've stumbled on 
  4157. how to do this.  Doing:
  4158.     
  4159.     $ create/terminal/detach/display=JACK::0    !on HOST
  4160.  
  4161. produces a hang.  The "hung" process is logged in via a terminal server.  Node 
  4162. name JACK, username HARVEY (me), under DECwindows, is where I did the session 
  4163. manager -- security stuff.  However, Linwood provided the clue:
  4164.  
  4165.     $ create/terminal/detach/display=JACK::0.0    !on HOST
  4166.  
  4167. works, *provided* username HARVEY is logged into a window session on JACK.  
  4168. That isn't immediately obvious, until it becomes obvious.  :-)  Now I'm off to 
  4169. find a piece of RG58 to splice in so I can connect the Ultrix beast in my 
  4170. office.  That's something I know how to do!
  4171.  
  4172.  
  4173. (Harvey:  DECUServe Does It Again!)
  4174. -----------------------------------
  4175.     Hey, I'm logged in via a GOOD VMS DECterm running on the worlds most
  4176. expensive X-terminal - the DECstation 3100 on my desk.  Now we know what these 
  4177. things are good for.  VAXstation 2000 replacements.  :-)
  4178.     The function keys all seem to work, including Hold Screen.  What a pleasure!
  4179.     Thanks to all, many, many thanks.
  4180.  
  4181.  
  4182. (Ferguson:  More off-topic stuff on creating DECterms)
  4183. ------------------------------------------------------
  4184.     The security settings you said you changed are YOUR security settings, and 
  4185. apply only while you are logged in.  The default security settings (which 
  4186. apply when noone is logged in) do not allow the random user to display things 
  4187. on the workstation (i.e. Joe in the other room can't put up a login-like 
  4188. screen).
  4189.     The file DECW$SERVER_ACCESS_ALLOWED.DAT in SYS$MANAGER can be used to allow 
  4190. access when noone is logged in.  I keep mine with:
  4191.     
  4192.     * * *
  4193.     
  4194.     Which means from all nodes, all users, all transports (not sure which 
  4195. * is which actually).
  4196.     DOING SO IS A SECURITY RISK, but simplifies mucking around with putting
  4197. things up on different displays when noone is logged in. 
  4198.     I haven't tried this explicitly with a Decterm, but it applies to the 
  4199. login screen.
  4200.     BTW, I'm not sure what you're trying to do, but it sounds like you might 
  4201. want to do what I do with my 4000-200.  I go into my VaxStation and STOP/ID 
  4202. the loginout process, then go to the 4000-200 and do:
  4203.     
  4204.         SET DISPLAY/CREATE/EXEC/NODE=vaxstation
  4205.         R SYS$SYSTEM:DECW$STARTLOGIN
  4206.     
  4207.     This puts up a new login screen (it went away when I STOP'd the other
  4208. process) but running from the 4000.  You can then log in, and all sessions and 
  4209. everything else are running from the 4000, but displayed on the workstation.
  4210.  
  4211. The DECUServe Journal             January, 1993                       Page  73
  4212.  
  4213.  
  4214. (Harvey:  On to the next problem)
  4215. ---------------------------------
  4216.     Yeah, I'm going to get around to fooling with the scrolling speed and
  4217. report results here.
  4218.     In the meantime, my purpose for this exercise was two replace my twin
  4219. VT220s with a single machine.  I haven't done that, because (and I know I 
  4220. didn't tell you people this) one of the VTs was being my debugger DBG$INPUT and 
  4221. DBG$OUTPUT.  That terminal must be logged out so the debugger can use it for 
  4222. terminal I/O.  (I'm working on screen forms, and I *hate* to debug the 
  4223. software drive the form on the same terminal that is displaying the debugger.)
  4224.     So, moderators, where should I ask about solving this problem?  I.e.,
  4225. how do I get DBG$INPUT and DBG$OUTPUT to another window on my workstation?  
  4226. I've still got one VT220 too many.
  4227.  
  4228.  
  4229. (Brown:  Try it- I think it can do what you want...?)
  4230. -----------------------------------------------------
  4231.     I'm a DECWindows neophyte, but the one time I fired up the native
  4232. DECwindows debugger, it sure looked like it could do all you want and more!  
  4233. (Separate windows for each of the debugger functions).  I think you're going 
  4234. to like this X stuff once you use it for a while!
  4235.  
  4236.  
  4237. (Burnet:  You can do it even with the CCT debugger interface)
  4238. -------------------------------------------------------------
  4239.     [The previous reply] is probably right -- the DECwindows flavor of the VMS 
  4240. debugger will do what you want.  However, if you want to stick with the 
  4241. tried-and-true VT interface (line mode or screen mode), you can do that too.  
  4242. Just use CREATE/TERMINAL/NOPROCESS, which will create the terminal window on 
  4243. your screen but will not associate a process with it or log it in.  I recommend
  4244. using the /DEFINE_LOGICAL qualifier as well, so that you never have to mess 
  4245. with WSAn: or FTAn: physical device names (or TWAn:, if you're using DECwindows 
  4246. V2).  Then you can define DBG$INPUT and DGB$OUTPUT to point to that window.  
  4247. You can even create two windows and use one for input and one for output if 
  4248. you want.
  4249.     This is in addition to your previously-existing logged-in DECterm windows,
  4250. of course.
  4251.     Ain't life fun when everything's virtual?  8-}
  4252.  
  4253.  
  4254. (Burnet:  Expensive, but a *great* X terminal!)
  4255. -----------------------------------------------
  4256.     Jack, I just wanted to point out that the DECstation itself doesn't have 
  4257. to be completely wasted, even if you hate Ultrix.  You can use it to run 
  4258. clients locally that don't have to run on VMS.  This might amount to a small 
  4259. fraction of what you use every day, but at least the clock and calculator and 
  4260. puzzle and stuff won't take up memory on your VAX systems or consume network 
  4261. bandwidth.  CPU-bound programs will probably run much faster on the DECstation 
  4262. anyway.  :-P
  4263.  
  4264.  
  4265. (Harvey:  /NOPROCESS, of course!)
  4266. ---------------------------------
  4267. >DECwindows debugger, it sure looked like it could do all you want and more!  
  4268. >(Separate windows for each of the debugger functions).  I think you're going 
  4269. >to like this X stuff once you use it for a while!
  4270.  
  4271. The DECUServe Journal             January, 1993                       Page  74
  4272.  
  4273.  
  4274.     DECwindows debugger?  Canon violation!  It's too full of mice and bugs.
  4275. I've done quite a bit of X stuff, using and writing, and I hate it.  I like 
  4276. software that returns error messages when I screw up, instead of just ignoring 
  4277. me.
  4278.     Anyway, thanks for the tips, John, I'll probably get this all cleaned up 
  4279. by tomorrow.  I like using the tried-and-true debugger in a big window, by the 
  4280. way.  It knows what to do with it.  The big breakthrough for me here, is 
  4281. learning that I can get a real VMS DECterm on the MIPS box.  This is amazingly 
  4282. *faster* than the Ultrix DECterm, too.
  4283.  
  4284.  
  4285. (Harvey:  Off and running)
  4286. --------------------------
  4287.     I sent the following this morning on my work system:
  4288.     
  4289. From:   nnn::HARVEY       "Jack Harvey" 20-MAR-1992 08:46:37.71
  4290. To:     xxx    
  4291. Subj:   You had your chance, and you blew it!
  4292.  
  4293. My DECstation 3100 workstation is no longer available for sale or for    
  4294. reassignment elsewhere.  My friends on DECUServe showed me how to use it as a
  4295. VMS workstation.  It is now a superior X-terminal, and considerably better than
  4296. a VT420.  
  4297.     
  4298.                  ~~~~
  4299.     
  4300.     I'm still having lots of beginner problems with this, but they are things 
  4301. that Digital telephone support can handle.  So I won't need to bother the 
  4302. experts here anymore.  Again, thanks.
  4303.  
  4304.  
  4305. (Kilgallen)
  4306. -----------
  4307.     Let's see, if expert advice costs $60 per year, then TSC must be cheap :-).
  4308.  
  4309.  
  4310. (Harvey)
  4311. --------
  4312.     Nice thought, Larry, but Xcom knows the truth.  The $60 per year is silly 
  4313. nonsense.  The true cost of getting the benefit of all this expertise is far 
  4314. higher.  First, there is the communication cost, which can run up around one 
  4315. or two grand a year for someone who really digs in here and uses all the 
  4316. available goodies.
  4317.     Second, there is the cost of the member's own time.  People reading
  4318. DECUServe conferences are not *simultaneously* solving immediate problems for 
  4319. their boss.
  4320.     In my particular case, I was greeted this afternoon by a smiling vice
  4321. president joking about my sudden protective behavior towards the X-terminal 
  4322. (a.k.a. DECstation 3100) I was trying to get him to get rid of, but which is 
  4323. now proudly occupying the seat of honor on the typing-table side-arm of my 
  4324. desk.  
  4325.     I've got some mechanical fiddling to do to get this dressed up to my
  4326. satisfaction, but that will happen.  With a hole here and there, the thick 
  4327. pizza box MIPS cpu in the DECstation 3100 will be under my desk and I will be 
  4328. able to get this gorgeous monochrome very high resolution (sorry for you poor 
  4329. suckers with color) display down to where Jack thinks it should be.  I've got 
  4330.  
  4331. The DECUServe Journal             January, 1993                       Page  75
  4332.  
  4333.  
  4334. a VT4200, at least!  I have 52 lines when I read VAX Notes, and I'm being 
  4335. conservative!
  4336.     *Two* clean classic VT220s are available for disposition to many needy
  4337. desks.  (Yes, I've got the debugger running reliably [I hope] in one {or two} 
  4338. windows.)  I still have to battle the stupid mouse technology, but there is 
  4339. hope.  I'll try a track-ball, and who knows?  Maybe X-windows will grow up.
  4340.  
  4341.  
  4342. (Harvey:  Aye of Newt...)
  4343. -------------------------
  4344. >I'm still having lots of beginner problems with this, but they are things 
  4345. >that Digital telephone support can handle.  
  4346.  
  4347.     Okay, I was right about this.  I'm trying to make this point in
  4348. BUSINESS_PRACTICES also.  Digital Telephone Support is tuned for dummies, 
  4349. (like me in this case) and you general-purpose DECUS wizards just shouldn't be 
  4350. allowed to complain (Jack's rule) if Telephone Support can't answer 
  4351. wizard-level questions. 
  4352.     I had some real sillies:  why does an attempt to save the session
  4353. attributes fail on permission?  Answer: I'm a campus wheel at this site.  Real 
  4354. Answer?  The DECstation 3100 trying to save session setup parameters into a 
  4355. file in my SYS$LOGIN: can only use the owner authority on SYS$LOGIN:.  I 
  4356. didn't own my own SYS$LOGIN.  My having bypass didn't solve this (entirely 
  4357. correctly, from a Security viewpoint) so rewrite of the options file into my 
  4358. directory failed properly.  By correcting the ownership, suggested by Atlanta, 
  4359. the problem is solved.  
  4360.     Second dumb problem.  I wanted a 52 line DECterm.  I fiddled with the
  4361. create/TERM command (/window_attributes=rows=52) and with the default file and 
  4362. got exactly the same:  I would get a 52 line window, which then after a few 
  4363. seconds shrank to 24 lines.  Dumb explanation suggested by Atlanta:
  4364.     I had a SET TERM/INQUIRE in my LOGIN.COM.  It looked at the DECterm, saw 
  4365. it was a VT320, and set the page to 24 lines.  My window box clamped down to 
  4366. therefore 24 lines.  !Comment out the SET TERM/INQUIRE in my LOGIN.COM and 
  4367. Atlanta wins again.  (This guy was good.)
  4368.     Now, you people don't want to be bothered with that level of nonsense,
  4369. right?  THAT'S the level of nonsense we pay Digital to support, and rightly so, 
  4370. because there are far more dummies like me than there are wizards like you.  
  4371. But wait.
  4372.     Can you imagine Digital telephone support people, no matter how skilled 
  4373. they are,  being able to  handle a complaint along the lines of:
  4374.  
  4375.     "I think the DECstation 3100 stinks and I am trying to get my
  4376.     management to get it out of my office.  Aren't they silly for not doing
  4377.     this?"
  4378.  
  4379.     Yet, this is pretty much what I gave this conference as a problem, not even 
  4380. knowing it myself.  DECUServe people were able to see underneath my 
  4381. frustration and reveal the truly creative solution: turn my DECstation (MIPS) 
  4382. into a super X-terminal, thereby benefiting everybody involved.
  4383.     This is the magic of DECUServe.  Larry, we can't put a price on magic.
  4384. Well, maybe we could, but none of us would be able to afford it.  Let's just 
  4385. rejoice that it's here.
  4386.  
  4387.  
  4388.  
  4389. The DECUServe Journal             January, 1993                       Page  76
  4390.  
  4391.  
  4392. (Ferguson:  DEC should refund money if I am "not allowed")
  4393. ----------------------------------------------------------
  4394.     I'll stop complaining as soon as they provide support for what you (not me) 
  4395. call "wizard level questions".  Some of the questions I ask that they cannot 
  4396. answer , I think, do not fall in that category, but let your definition stand. 
  4397. WHY SHOULD DEC NOT BE ABLE TO ADDRESS THIS AUDIENCE.  WHY SHOULD I NOT BE 
  4398. ALLOWED TO COMPLAIN, since DEC does not complain about accepting "wizard level" 
  4399. money?
  4400.     But [token effort to try to stay on topic], Jack, I'm glad you summarized 
  4401. the problems here because now the next person will be able to get their 
  4402. solution from DECUServe and never have to bother CSC.  
  4403.  
  4404.  
  4405. (Burnet:  Not quite infinitely customizable, but almost...)
  4406. -----------------------------------------------------------
  4407. >I've got a VT4200, at least!  I have 52 lines when I read VAX Notes, and I'm 
  4408. >being conservative!
  4409.  
  4410.     Are you using the DECwindows interface, or just Notes in a DECterm?  Try 
  4411. the DW interface -- you'll like it.  For local conferences, I mean -- I don't 
  4412. think you can get it to work for DECUServe connections over a serial line.  
  4413. :-(  The same goes for VMS Mail: you might prefer the DW interface to just 
  4414. running Mail in a DECterm.
  4415.  
  4416. >I still have to battle the stupid mouse technology, but there is hope.  I'll 
  4417. >try a track-ball, and who knows?  Maybe X-windows will grow up.
  4418.     Two thoughts about that:  First, I assume that your DS3100 has the old 
  4419. VSXXX-AA "corporate mouse" (round).  If you don't like it, get one of the 
  4420. newer models (can't remember the model number, but I think it just has a 
  4421. different suffix).  You might like the new design better.  Both mice are made 
  4422. by Logitech, but the new one is the standard new Logitech ergonomic design 
  4423. that's more comfortable to use.
  4424.  
  4425.     Second, remember that Motif has key bindings for most window and menu 
  4426. actions.  Take a look at Appendix A of the VMS DECwindows Motif User's Guide.  
  4427. Motif is available for Ultrix too.
  4428.  
  4429.  
  4430. (Harvey:  Key driven window hopping)
  4431. ------------------------------------
  4432.     Motif is what I need to be able to use a key to move the keyboard focus
  4433. between windows, right?
  4434.     
  4435. >Motif is available for Ultrix too.
  4436.     
  4437.     Does this mean I need to install Motif on *both* the VMS system and my
  4438. Ultrix X-terminal?
  4439.  
  4440.  
  4441. (Burnet:  Motifying your DECwindows is recommended)
  4442. ---------------------------------------------------
  4443. >Motif is what I need to be able to use a key to move the keyboard focus
  4444. >between windows, right?
  4445.  
  4446.     Yep.
  4447.     
  4448.  
  4449. The DECUServe Journal             January, 1993                       Page  77
  4450.  
  4451.  
  4452. >Does this mean I need to install Motif on *both* the VMS system and my Ultrix 
  4453. >X-terminal?
  4454.  
  4455.     I don't think so, although it depends on what version of DECwindows (and 
  4456. thus what version of Ultrix) you're running on the DECstation.  Motif requires 
  4457. an X11R4-compliant server.  I don't know whether the Ultrix 4.2 DECwindows 
  4458. (DECwindows V2?) server is R4-compliant... can someone else here say whether 
  4459. this is the case?
  4460.  
  4461.     There are discussions in USER_INTERFACES-WINDOWS about mixing DECwindows V2
  4462. and V3 (pre-Motif and Motif).
  4463.  
  4464.     For ordering information for Ultrix Motif, see topic 135 in the UNIX_OS
  4465. conference.  If you have Ultrix 4.2A (or maybe 4.2 is good enough), you don't 
  4466. need a license, just the H-kit.
  4467.  
  4468.  
  4469. (Kilgallen:  Why I haven't considered DECwindows interfaces)
  4470. ------------------------------------------------------------
  4471. > Are you using the DECwindows interface, or just Notes in a DECterm?
  4472.  
  4473.     Have either of these products fixed previous problems requiring that
  4474. editors be spawned (editors which can be called in a normal process)?
  4475.  
  4476.  
  4477. (Burnet:  Don't know, myself... anyone?)
  4478. ----------------------------------------
  4479.  
  4480.  
  4481. (Chadwick:  VSXXX-GA)
  4482. ---------------------
  4483. >old VSXXX-AA "corporate mouse" (round).  If you don't like it, get
  4484.  
  4485.     The new mouse part number is VSXXX-GA.
  4486.  
  4487.  
  4488. (Holdrege:  Irish mice)
  4489. -----------------------
  4490.     Are you sure the mice are from Logitech? They are made in Ireland and they 
  4491. don't say Logitech anywhere on them. I realize Logitech could have OEM'd them 
  4492. for Digital, but I didn't think they were in Ireland.
  4493.  
  4494.  
  4495. (Mahan:  Give it a try!)
  4496. ------------------------
  4497. >Does this mean I need to install Motif on *both* the VMS system and my
  4498. >Ultrix X-terminal?
  4499.  
  4500.     Depends.  Chances are the X window server that is running under Ultrix is 
  4501. X11R4.  If it is still at X11R3, then there are some problems when running an 
  4502. X11R4 client to an X11R3 server.  Most of these problems are due to ICCCM 
  4503. non-conformance.
  4504.  
  4505.  
  4506.  
  4507. The DECUServe Journal             January, 1993                       Page  78
  4508.  
  4509.  
  4510. (Szeto)
  4511. -------
  4512. >    Are you sure the mice are from Logitech? They are made in Ireland and
  4513.     
  4514.     I don't know any more than you do about this, so ignore my place of
  4515. employment.  Could it be that only the design was Logitech's?
  4516.  
  4517.  
  4518. (Szeto:  That's no editor; that's the text widget)
  4519. --------------------------------------------------
  4520. >Have either of these products fixed previous problems requiring that
  4521. >editors be spawned (editors which can be called in a normal process)?
  4522.     
  4523.     No, Larry, they both use the Text Widget still.  I understand that some
  4524. part of the NAS architecture would make it possible for these two applications 
  4525. to call the editor of the user's choice, but I don't think that either 
  4526. DECwindows Motif Mail or VAX Notes V2.2 supports it.
  4527.     By the way, if you do use the Text Widget instead of doing your editing in 
  4528. another window that has your favorite editor, I suggest you turn off auto-wrap.
  4529. (No, I haven't followed my own advice; I'm also not a heavy user of DECwindows 
  4530. Mail, except for reading and short replies, and I seldom use DECwindows Notes.)
  4531.  
  4532.  
  4533. (Brown:  Even DEC says it's a Logitech)
  4534. ---------------------------------------
  4535. >Are you sure the mice are from Logitech? They are made in Ireland and they 
  4536. >don't say Logitech anywhere on them. I realize Logitech could have
  4537.     
  4538.     We wondered about that- we compared it to a Logitech mouse we have and they 
  4539. appear IDENTICAL...yet it doesn't say Logitech anywhere on it.  But if you 
  4540. look in the docs- I believe it's the packing list- it says "Logitech mouse" !!
  4541.     DEC may indeed make it (using Logitech's design, if not also tooling),
  4542. since it has the previous-DEC-mouse-compatible connector on it.
  4543.  
  4544.  
  4545. (Harvey:  SHOW SERVER)
  4546. ----------------------
  4547. >Depends.  Chances are the X window server that is running under Ultrix is 
  4548. >X11R4.  
  4549.     
  4550.     Any idea how to determine if I have X11R4?  I've got the full Ultrix doc 
  4551. set unstashed on a shelf behind me, but I haven't a clue where to look.
  4552.  
  4553.  
  4554. (Mahan:  Some solutions that should help)
  4555. -----------------------------------------
  4556.     Jack, I believe you will need to load the unsupported tape that came with 
  4557. the Ultirx OS.  This contains a lot of X applications, most notably, 
  4558. "xdpyinfo" (quotes are mine).  If that is not a possiblity, then check for the 
  4559. server log on the Ultrix box (not sure exactly where they are).  Basically, if 
  4560. it says something about Motif or bug compatiblity mode, the X server is at 
  4561. X11R4.
  4562.     Failing all the above, I will post the X11R4 xdpyinfo here and you can 
  4563. make a stab at building on the Ultrix, or go ahead and load DECwindows/Motif 
  4564. and you can build it under VMS.
  4565.  
  4566. The DECUServe Journal             January, 1993                       Page  79
  4567.  
  4568.  
  4569.     If you do use "xdpyinfo" the basic rule of thumb is that if it reports 
  4570. anything about X Server extensions, then it is an X11R4 server.
  4571.  
  4572.  
  4573. (Harvey:  X11R4 xdpyinfo)
  4574. -------------------------
  4575.     I have checked my Ultrix node and find no mention of xdpyinfo in the
  4576. unsupported section of the doc set.  I'll also look for the other indications 
  4577. you mentioned, and try Atlanta. I don't want to try altering the node at this 
  4578. time, so no need to post for me.
  4579.     At any rate, my "workstation" has now become a real workstation; both
  4580. VT220s are shelved, the classic debugger window (but 50 lines) is great.  I'll 
  4581. be summarizing what I needed to do to get it all going shortly. 
  4582.  
  4583.  
  4584. (Walker:  xdpyinfo results on Ultrix 4.2)
  4585. -----------------------------------------
  4586.     I have xdpyinfo in /usr/bin/X11, I'm pretty sure it came off the
  4587. unsupported tape. When I run it I do get information about 8 extensions so I 
  4588. guess it is based on X11R4.
  4589.     I'm running Ultrix 4.2 on a DECstation 5000 model 120.
  4590.  
  4591.  
  4592. (Husby:  Why do you need to spawn?)
  4593. -----------------------------------
  4594. >Have either of these products fixed previous problems requiring that
  4595. >editors be spawned (editors which can be called in a normal process)?
  4596.         
  4597.     But with a X based system, why do you need to spawn an editor.  My editor 
  4598. is always running, so I simply switch to it and edit a way. One can either 
  4599. write a file or cut/paste to get into Notes or Mail.  Note, that you can have 
  4600. TECO running in a DECterm window and use the DECterm cut/paste capablities.
  4601.  
  4602.  
  4603. (Kilgallen)
  4604. -----------
  4605.     I want the editor to automatically start up with the text in it (and the
  4606. quotation margin inserted) when I do something simple in the communications
  4607. tool.
  4608.  
  4609.  
  4610. (Harvey:  DECterm 3100 Hold Key)
  4611. --------------------------------
  4612.     My DECstation 3100 serving as an "X-terminal" for VMS DECterms is working 
  4613. out very well.  As reported earlier, the Ultrix version of DECterms apparently 
  4614. has no support for the Hold Screen key, but a VMS originated DECterm does.
  4615.     However, there is an anomaly which once understood is no big problem.
  4616.     In this setup, the Hold Screen key (F1) is a repeater.  That is, if you
  4617. hold the key down, the Hold Screen LED on the LK201 keyboard rapidly cycles on 
  4618. and off.  
  4619.     Until I understood this, I was getting some *very* strange behavior.  The 
  4620. time interval for holding it down before the Hold state starts cycling on and 
  4621. off is pretty short - maybe 100 milliseconds.  If the current state is hold, 
  4622. and you press the key to release the screen, but forget to release it quickly, 
  4623. the screen advances a few lines and the hold state comes back on.  Weird, 
  4624. until understood.
  4625.  
  4626. The DECUServe Journal             January, 1993                       Page  80
  4627.  
  4628.     
  4629.     I haven't found a use for this yet - I expect it was done on purpose - but 
  4630. once I learned to just tap the key quickly, the behavior seems to be fine.  :-)
  4631.     Oh, yes, I guess I have the only terminal that needs disk backups. :-}
  4632.  
  4633.  
  4634. (Katz:  Thanks for scrolling slowdown help)
  4635. -------------------------------------------
  4636.     Interesting thread started by my "simple" question. I haven't had a chance 
  4637. to try out the solution John presented in .24, but I think that is what I 
  4638. need.  Right now, my WS has been taken off it's own system disk and is using a 
  4639. system disk off on an HSC elsewhere in the cluster (A5.5 vs. V5.5 issue), so 
  4640. the network slows things down enought that it isn't as much of a problem.
  4641.     Once I can run on my own again, I'll try it out.
  4642.  
  4643.  
  4644. (Harvey:  Command File for DECterms)
  4645. ------------------------------------
  4646.     Early we had some chat about /DISPLAY=<nodename>::0 vs.
  4647. /DISPLAY=<nodename>::0.0
  4648.     
  4649.     Linwood, I think, reported the second form [0.0] as a new syntax, and I
  4650. said it was required.  I lied.  The old form works too. For someone needed a 
  4651. working example, here is the command file I execute when I dlogin to VMS from 
  4652. my RISC workstation.  RISC is also the DECnet nodename.
  4653.  
  4654. $       !DECterm.com create three named DECterms on RISC
  4655. $   create/terminal/detached/display=RISC::0/window_attributes=( -
  4656.      x_position=100,y_position=10, -
  4657.      rows=48, -
  4658.      title="Debug Top1",icon_name="Debug Top1",initial=icon)
  4659. $   create/terminal/detached/display=RISC::0/window_attributes=( -
  4660.      x_position=200,y_position=20, -
  4661.      rows=24, -
  4662.      title="Top2",icon_name="Top2",initial=icon)
  4663. $   create/terminal/detached/display=RISC::0/window_attributes=( -
  4664.      x_position=300,y_position=30, -
  4665.      rows=52, -
  4666.      title="Modem",icon_name="Modem",initial=icon)
  4667.  
  4668.  
  4669. (Harvey:  Debugger in DECterm Window)
  4670. -------------------------------------
  4671.     This is the command file I execute to creat a window on RISC that will be 
  4672. used by the VMS debugger.
  4673.     
  4674. $       create/terminal/display=risc::0/detach/noprocess -
  4675.         /window=(rows=50,title=debug,icon_name=debug,init=icon, -
  4676.                  x_position=300,y_position=60) -
  4677.         /define_logical=(debugit)
  4678. $       allocate debugit
  4679. $define/nolog dbg$output debugit:
  4680. $define/nolog dbg$input debugit:
  4681.  
  4682.  
  4683.  
  4684. The DECUServe Journal             January, 1993                       Page  81
  4685.  
  4686.  
  4687. (Burnet:  node::server.screen (for DECnet & LAT transports, anyway) )
  4688. ---------------------------------------------------------------------
  4689. >Linwood, I think, reported the second form [0.0] as a new syntax, and I said 
  4690. >it was required.  I lied.  The old form works too.
  4691.  
  4692.     The first number (before the dot) is the server number, and the second is 
  4693. the screen number.  The screen number should always default to zero if it's 
  4694. omitted, so "foo::0" should be equivalent to "foo::0.0".  You would only need 
  4695. to be concerned about the screen number if you were working with a two- (or 
  4696. more-) headed display, where one server controls more than one screen.
  4697.  
  4698.  
  4699. (Ferguson:  Bug)
  4700. ----------------
  4701.     Actually, it was that I had read somewhere (some release notes, but I 
  4702. cannot find it now) that for some version(s) of VMS and/or DECwindows and/or 
  4703. Motif the ".x" part was required due to a bug (or restriction or some such).
  4704.     That I cannot find it now may mean this happened in one of those dream 
  4705. worlds, of course.
  4706.  
  4707. The DECUServe Journal             January, 1993                       Page  82
  4708.  
  4709.  
  4710.  
  4711.                    The DECUServe Journal - Technical Information
  4712.                    =============================================
  4713.  
  4714.  
  4715. Publication Information
  4716. -----------------------
  4717.     Topic threads in the DECUServe VAXNotes conferences are selected for
  4718. publication on the basis of strong technical content and/or interest to a wide
  4719. audience.  They are submitted to the editor by a team of Contributing Editors
  4720. who are DECUServe Moderators, Executive Committee members and other volunteers.
  4721. Articles in the DECUServe Journal are downloaded to a 286 PC and formatted 
  4722. using a standard text editor.
  4723.  
  4724.  
  4725. Editorial Content Disclaimer
  4726. ----------------------------
  4727.     Opinions and information presented here belong to each individual author.
  4728. No inferences should be made that the authors are expressing the policies of
  4729. their employers unless specifically stated.  Content has been deemed acceptable
  4730. by the Moderators of DECUServe according to the DECUServe Canons of Conduct.
  4731.  
  4732.  
  4733. How can I use DECUServe?
  4734. ------------------------
  4735.     DECUServe is available 24 hours a day, 7 days a week, except for Fridays
  4736. between the hours of 7am to 9am Eastern time for backups.  Membership is by
  4737. individual subscription only, and subscriptions are sold on a yearly basis
  4738. currently for $75.00.  Subscription forms are always included in DECUS New 
  4739. Member packets and Symposia registration packets.  Free six-month subscription 
  4740. forms are often distributed at symposia as well.
  4741.     Also subscription forms can be downloaded directly from DECUServe by dialing
  4742. 1-800-521-8950 with the username INFORMATION.  Set your modem to 2400 or 9600,
  4743. no stop bits, 8 bits, 1 parity bit.  Other access modes are Tymnet, PC pursuit,
  4744. and Internet.
  4745.