home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 1 / AU_CD1.iso / internet / starterpak / Docs / FAQs / Guide1_21 < prev    next >
Text File  |  1994-12-13  |  62KB  |  1,428 lines

  1. This is a guide to the installation and use of the various versions of ka9q
  2. for the Archimedes.  Because the different versions have been produced by
  3. two people who collaborate and merge changes only occasionally, there are
  4. some differences in the implementation of some of the commands.  This guide
  5. attempts to cover general principles, and will point out most of the major
  6. differences, but when in doubt, read the documentation accompanying your
  7. version of ka9q.
  8.  
  9. This file is copyright  1993 Paul L. Allen & The ARM Club.
  10.  
  11.  
  12.  
  13. REVISION HISTORY
  14. ================
  15.  
  16.     Version 1.0: 22/9/1993.  Initial release.  Note that this was written to
  17.     a deadline with no opportunity to verify details with Jonathan Naylor or
  18.     Anthony Frost (who are responsible for the various versions of Arc ka9q)
  19.     so you are advised to look for updates (corrections) to this file on
  20.     ftp.demon.co.uk and Arcade BBS.
  21.  
  22.     Version 1.1: 3/10/1993.  Many corrections, both major and minor.  Thanks
  23.     go to the DIS support team, Anthony Frost, Jonathan Naylor, John Stonier
  24.     and Julian Bewick.
  25.  
  26.  
  27.  
  28. GENERAL INFO
  29. ============
  30.  
  31. Some of the earliest versions floating around do not handle usenet news -
  32. the latest version can be obtained by ftp from ftp.demon.co.uk or downloaded
  33. from Arcade BBS (this version uses the serial block drivers, so is RISC OS 3
  34. only).
  35.  
  36. Ka9q commands may be abbreviated to the minimum length which remains
  37. unambiguous, so `smtp kick' and `sm k' have the same effect.  In this
  38. document I will use the unabbreviated form for clarity.
  39.  
  40.  
  41. ESTABLISHING AN ACCOUNT
  42. =======================
  43.  
  44. Pick a site name (between 4 and 8 characters), and phone Demon Internet
  45. Services during office hours on 081 349 0063 to subscribe.  Give them your
  46. site name (it's best to have a couple of alternates ready in case somebody
  47. else has already chosen that name), personal details and credit card number
  48. (you can order by letter and pay by cheque, but credit card gets you
  49. connected immediately).
  50.  
  51. Choose a password (you don't tell the DIS people, but use your first login to
  52. let the system know which p/w you've chosen).  Requirements may change, but
  53. you will probably need to choose something which doesn't contain a valid word
  54. and you will probably need to incorporate one or more numbers.  You may even
  55. find that passwords composed of key clusters (such as `qwas' or `qwerty')
  56. will also be rejected.
  57.  
  58. Use your comms program to dial a suitable DIS site (London 081 343 4848,
  59. Edinburgh 031 552 8883, Warrington 0925 411383).  When it asks you to login
  60. enter your site name.  You will then be asked for your password - it is not
  61. echoed to your screen, so you will be asked to enter it a second time to make
  62. sure you didn't mistype.
  63.  
  64. The screen will then display your site's IP address - take care to note it
  65. down.  The connection will close after 30s.
  66.  
  67. Note that this procedure applies *only* to your first call - subsequent
  68. connections will require the use of ka9q.
  69.  
  70.  
  71.  
  72. INSTALLATION
  73. ============
  74.  
  75. Although the program announces itself as ka9q, the application is called
  76. !TCPIP.  Unpack it from the Sparkive to a convenient place on disc.  You
  77. should also get an application called !MailDir - this is not an application
  78. as such but a repository for mail and news.
  79.  
  80. n the examples that follow, I will use my site name (sktb) and my IP
  81. address ([158.152.9.18]) - you should replace them with your own site name
  82. and IP address (see previous section on establishing an account).
  83.  
  84. Be careful to retain the original versions of all files that you modify - if
  85. you have problems you can return to a known starting point.
  86.  
  87. You should check the following files in the !TCPIP folder:
  88.  
  89.  
  90. !TCPIP.Autoexec
  91. ---------------
  92.  
  93. This is a file of ka9q commands which are executed when ka9q starts.  Like
  94. any other commands they can be abbreviated, but it is probably best to use
  95. the long form.  A #-sign is used to indicate a comment to ka9q.
  96.  
  97. Remember that wherever you see `sktb' you should use your own site name, and
  98. wherever you see [158.152.9.18] you should use your own IP address.
  99.  
  100. There will be a sample file !TCPIP.Autoexec, but in some versions this is
  101. for packet radio use - if you see the letters TNC throughout then delete it,
  102. look for a file called Autoslip and rename it as Autoexec.
  103.  
  104. Some of the commands mentioned below are not supported by all versions of
  105. ka9q.  Usually if a command is supported it will appear in the sample
  106. autoexec provided, although it may be commented out (the exceptions to this
  107. are the commands dealing with Usenet news which may not be present even
  108. if they are supported).  If you try and use a command that your version
  109. doesn't understand it will complain...
  110.  
  111.                                   ---
  112.  
  113. Versions of ka9q which support the serial block drivers (RISC OS 3 only)
  114. allow you to pipe the display to your favourite comms program (this will
  115. let you use various terminal emulations such as VT100 which can be very
  116. useful with some services).  The command will look something like:
  117.  
  118.     window terminal external pipeb
  119.  
  120. or
  121.  
  122.     window terminal internal
  123.  
  124. to use ka9q's in-built display routines.  The default is internal.
  125.  
  126.                                   ---
  127.  
  128. With older versions of ka9q, any time it displayed some text in its window
  129. it would grab the input focus (so if you were editing something at the same
  130. time you'd suddenly find your keystrokes going to ka9q).  Newer versions
  131. allow you to use:
  132.  
  133.     window cursor off
  134.  
  135. which means that no caret will be displayed by ka9q, but that way it won't
  136. give you nasty surprises.  You can turn it back on with:
  137.  
  138.     window cursor on
  139.  
  140.                                   ---
  141.  
  142. Change the hostname line to reflect your site name, e.g.:
  143.  
  144.     hostname sktb.demon.co.uk
  145.  
  146.                                   ---
  147.  
  148. Change the ip address to reflect the number allocated by DIS, e.g.:
  149.  
  150.     ip address [158.152.9.18]
  151.  
  152.                                   ---
  153.  
  154. Modify the attach command to reflect your baud rate.  Depending upon the
  155. version of ka9q this may take one of the following forms:
  156.  
  157.     1)  attach asy internal slip ax0 2048 1500 19200
  158.  
  159.     2)  attach asy internal slip 0 ax0 2048 1500 19200
  160.  
  161.     3)  attach asy internal slip ax0 1500 19200
  162.  
  163. Here `asy' indicates that the interface is an asynchronous serial port.
  164.  
  165. The word `internal' specifies that the internal port be used.  For some
  166. versions of ka9q (form 1 and 3) this is the *only* port which may be
  167. specified, but those versions which understand the serial block drivers
  168. (RISC OS 3 only) use form 2 where the port can be one of:
  169.  
  170.     internal 0
  171.     II_dual 0
  172.     II_dual 1
  173.     sp_dual 0
  174.     sp_dual 1
  175.  
  176. to indicate use of the internal port or the dual serial port cards from
  177. Intelligent Interfaces or The Serial Port.  Note that the version which
  178. supports the serial block drivers will not work correctly *if* you have an
  179. II card and something else is using another port (including the internal
  180. serial port).  This is of particular concern for BBSs as the BBS software
  181. will poll ports at regular intervals (even if nobody is using the BBS) - the
  182. fix is to shutdown the Board software and Binkley (this problem may be fixed
  183. in a future version of ka9q).
  184.  
  185. The word `slip' indicates that the SLIP protocol should be used (Arc ka9q
  186. does not support any other protocol).
  187.  
  188. The word `ax0' is a label used by other commands to refer to this port (use
  189. anything you like, but remember to be consistent - we'll stick with ax0 in
  190. these examples.
  191.  
  192. The figure of 2048 is a buffer size, but the Arc version of ka9q ignores it.
  193. Some versions of Arc ka9q require it be present (forms 1 and 2) even though
  194. it is ignored, whilst some versions (form 3) require it to be absent - be
  195. guided by the example autoexec provided.
  196.  
  197. The figure of 1500 is the maximum IP packet size - this is probably the
  198. optimal value for internet usage (lower values values in some versions derive
  199. from ham-radio usage).
  200.  
  201. The figure of 19200 is the speed of the serial port - set this accordingly
  202. Some versions of ka9q may ignore this figure entirely and not change the
  203. serial port speed - they rely on your comms/dialer program setting things
  204. up.  Put it in anyway...  Note that older machines (A300 and A400 series)
  205. running RISC OS 3 may have problems with speeds above 9600 (there is a
  206. patch which fixes the problem in most cases).  It is a good idea to ensure
  207. that the speed given here matches the speed your dialler/comms program uses
  208. to establish the connection to demon - some modems can handle a speed-change
  209. mid-call but some can't.
  210.  
  211.  
  212.                                   ---
  213.  
  214. Check that the default route is given as follows:
  215.  
  216.     route add default ax0 [158.152.1.65] 1
  217.  
  218. The address is that of gate.demon.co.uk, and need not be changed even if
  219. you dial in to a different node.  The value of 1 at the end represents a
  220. routing `cost' - versions of ka9q from Jonathan Naylor do not use this (and
  221. may complain if it is present).
  222.  
  223.                                   ---
  224.  
  225. Check that the IP time-to-live is given as:
  226.  
  227.     ip ttl 64
  228.  
  229. This determines the maximum number of hops a packet can take (the maximum
  230. number of routing sites it passes through).  Older versions of ka9q may have
  231. a lower figure here - you should change it to 64 as the Internet has grown
  232. quite a bit since that version was released.
  233.  
  234.                                   ---
  235.  
  236. Check that the TCP maximum segment size is 40 bytes smaller than the IP
  237. packet size given in the attach command - if you attached with an IP packet
  238. size of 1500 you would have
  239.  
  240.     tcp mss 1460
  241.  
  242.                                   ---
  243.  
  244. The value used for the initial round-trip time is a guess which is used until
  245. ka9q can measure the actual round-trip time.  Ka9q assumes packets which
  246. take longer than the average round-trip time to arive have gone missing, so
  247. setting a high value initially will prevent a flurry of retransmissions.
  248. Typically this is given as
  249.  
  250.     tcp irtt 30000
  251.  
  252.                                   ---
  253.  
  254. The value for tcp window defines the maximum number of words of data can
  255. handle - in essence it defines a buffer size.  Each time ka9q requests a
  256. packet from a remote site it tells it how much room is left in the buffer.
  257. This should be larger than the figure given in the `tcp mss' command or
  258. transfers will be inefficient, especially over slow links.  Some versions of
  259. ka9q have the same value here as for tcp mss, and should be changed to:
  260.  
  261.     tcp window 15000
  262.  
  263. Note that different versions of ka9q have some very strange and conflicting
  264. ideas for the values of tcp window, tcp mss and the IP packet size specified
  265. in the attach command.  I've chosen a value which is 10 times the IP packet
  266. size specified in the attach command.  It is possible you may have to
  267. increase the value of WimpSlot set in !TCPIP.!Run to accomodate this,
  268. although I have had no problems with the existing value of WimpSlot.
  269.  
  270.                                   ---
  271.  
  272. Some versions of ka9q have a hangup command, if so you will see
  273.  
  274.     tcp hangup 15 3
  275.  
  276. which hangs up the modem if there have been 3 consecutive idle periods of 15
  277. seconds.  The hangup is achieved by toggling the DTR line for one second, so
  278. you must configure the modem to respond to this.  If you want to turn the
  279. timer off, use `tcp hangup 0 0'.  Note that finger and ping commands do not
  280. count as activity, but that various wait states do - so if you are very
  281. unlucky ka9q may not hangup automatically.  DIS also have an inactivity
  282. timer (which, for reasons of legal liability, they do NOT guarantee to
  283. operate), so you have to be extremely unlucky for the connection not to
  284. close.  However, if you are planning unattended operation you may want to
  285. invest in a time-switch as well...  Note to BBS sysops, a `tcp exit' command
  286. may appear in the next release to allow BBSs to automatically communicate
  287. with demon in the small hours and then return to BBS operation.
  288.  
  289.                                   ---
  290.  
  291. Check that the domain suffix is correct:
  292.  
  293.     domain suffix demon.co.uk
  294.  
  295.                                   ---
  296.  
  297. Decide if you want a logfile recording connections and activities.  This
  298. file can grow very large if you forget to clear it out regularly, and a large
  299. logfile will slow things down quite a bit.  If you want logging, use the
  300. command:
  301.  
  302.     log <TCPIP$Dir>.logfile
  303.  
  304. Or remove the command/comment it out if you don't want logging.
  305.  
  306.                                   ---
  307.  
  308. Start the echo server with:
  309.  
  310.     start echo
  311.  
  312. This will allow your machine to echo characters to incoming telnet sessions
  313. if requested.
  314.  
  315.                                   ---
  316.  
  317. Start the discard server with:
  318.  
  319.     start discard
  320.  
  321. I'm not sure what this does, but every autoexec file I've seen has it in...
  322.  
  323.                                   ---
  324.  
  325. If you wish to allow people to ftp to your machine to send you files or to
  326. take copies of your files, then start the ftp server:
  327.  
  328.     start ftp
  329.  
  330. Note, you should edit the FTPusers file to reflect the degree of security
  331. you require - see later.
  332.  
  333.                                   ---
  334.  
  335. You should start the smtp server so you can receive e-mail:
  336.  
  337.     start smtp
  338.  
  339.                                   ---
  340.  
  341. If you would like other sites to be able to finger your machine to see which
  342. usernames exist and possibly get some info on you or your setup, start the
  343. finger server:
  344.  
  345.     start finger
  346.  
  347. You will need to create information files for each user in the finger
  348. directory - see later.
  349.  
  350.                                   ---
  351.  
  352. If you would like other sites to be able to telnet in for a chat, start the
  353. telnet server:
  354.  
  355.     start telnet
  356.  
  357.                                   ---
  358.  
  359. During the initial stages of setting up you may wish to have the trace window
  360. appear for debugging purposes:
  361.  
  362.     trace ax0 112
  363.  
  364. Note that ax0 is the label given in the attach command.  The trace window
  365. will slow things down tremendously - it is fairly undecipherable, but you
  366. should watch for error messages.  You may see a `bad packet' message on
  367. startup, but there should be no errors after that.  Closing the window kills
  368. the trace activity.
  369.  
  370.                                   ---
  371.  
  372. When you telnet or ftp to a remote machine it is preferable to have the
  373. remote machine echo what you type rather than perform the echo locally.
  374. However, remote echoing of commands can slow command entry quite a bit.
  375. You turn remote echoing on with:
  376.  
  377.     echo accept
  378.  
  379. or turn it off with
  380.  
  381.     echo refuse
  382.  
  383.                                   ---
  384.  
  385. Define post.demon.co.uk to act as a mail-router with:
  386.  
  387.     smtp gateway [158.152.1.72]
  388.  
  389.                                   ---
  390.  
  391. It's useful to get some feedback as the sending of outgoing mail progresses,
  392. as well as to get a message when all mail has been sent:
  393.  
  394.     smtp trace 1
  395.  
  396.                                   ---
  397.  
  398. To make outgoing mail be sent automatically when ka9q starts up, use:
  399.  
  400.     smtp kick
  401.  
  402.                                   ---
  403.  
  404. If you are going to receive Usenet news, it's useful to see when news starts,
  405. what groups are being downloaded and when the session finishes:
  406.  
  407.     nntp trace 2
  408.  
  409.                                   ---
  410.  
  411. To tell ka9q where to get Usenet news from, put in:
  412.  
  413.     nntp addserver news.demon.co.uk 1800 Dem
  414.  
  415. The figure of 1800 means that the ka9q will check for news every 1800s
  416. (30min).  The `Dem' is an abbreviation prefixed to certain filenames used
  417. by to get Usenet news, it should consist of a maximum of 4 characters which
  418. are valid in a filename - in the remainder of this document we will stick
  419. with `Dem' in the examples.
  420.  
  421. Note that you should be able to set up several different news servers, or
  422. drop a server and switch to another.  In practice, none of this works on any
  423. existing version of ka9q - you're limited to a single news server.
  424.  
  425.                                   ---
  426.  
  427. To start a news download initially, use:
  428.  
  429.     nntp kick Dem
  430.  
  431.  
  432. The very first version of ka9q which supported news downloads required the
  433. the full name of the news server be used instead of the abbreviation - so
  434. if you have that version you would use `nntp kick news.demon.co.uk'.
  435.  
  436. News downloads can take a long time, so if you want to login between 13:00
  437. and 18:00 to check for mail (something you might want to do if you work
  438. from home or the site belongs to a company) then you don't want news starting
  439. up and running up the phone bills, so leave this line out and enter it
  440. manually when you're on the cheap rate.
  441.  
  442.                                   ---
  443.  
  444. Now to check for errors...  Just run !TCPIP (no need to dial out first, it
  445. will work quite happily).  If you've mistyped the name of a command ka9q will
  446. complain about an unknown command and tell you which line of Autoexec
  447. contains the error.  Note that you should ignore the message `NNTP - No mail
  448. ID archive' if it appears - this is nothing to do with autoexec.
  449.  
  450.  
  451. !TCPIP.Domain
  452. -------------
  453.  
  454. This is a list of sitenames and their IP addresses.  The purpose of it is
  455. to allow you to refer to sites by their sitename rather than by the IP
  456. address - it's much easier to remember micros.hensa.ac.uk (the microcomputer
  457. section of the Higher Education National Software Archive) than
  458. [148.88.8.84], so it's worthwhile building up this file.  You must maintain
  459. this file manually - this is a bit of a pain whenever you want to ftp to a
  460. site you've never used before, and can cause problems when the name/address
  461. relationship changes.  As with autoexec, a #-sign means the rest of the line
  462. is a comment.
  463.  
  464. If you know a sitename but not the IP address you can use finger to look
  465. it up (see the section on the finger command) and enter it into this file.
  466. However, you should note that this file is read in by ka9q only on startup,
  467. so modifications to it will *not* be recognised until the next time you start
  468. up ka9q (the way around this problem is also discussed in the section on
  469. the finger command).
  470.  
  471. Whichever ka9q you have, you should ensure it contains the following entries
  472. (note that the format is *not* the same as that described in the user
  473. manual).  A future version of ka9q may support automatic address queries, at
  474. which point the only entries you need add by hand will be your own and the
  475. DIS machines.
  476.  
  477. First ensure your sitename/address appears in both of the following formats
  478. (as usual, I will use my sitename/address as an example):
  479.  
  480.     sktb.demon.co.uk.        IN A 158.152.9.18
  481.  
  482. Note that the `.' on the end of the sitename is a necessary part of the
  483. syntax, and that the square brackets normally associated with IP addresses
  484. are not used in this file.  The `IN A' stands for `Internet Address' - PC
  485. versions of ka9q allow other types of record such as `MX' (mail alias).
  486.  
  487.     .                        IN A 158.152.9.18
  488.  
  489. The single `.' here ensures that the local site is used if no sitename is
  490. given in a command.
  491.  
  492.                                   ---
  493.  
  494. It is useful to have the Points of Presence (dial-in sites), so you can
  495. finger them and see who's on.  The name/address is unlikely to change.
  496.  
  497.     gate.demon.co.uk.        IN A 158.152.1.65   # London PoP
  498.     clootie.demon.co.uk.     IN A 158.152.6.65   # Edinburgh PoP
  499.     hel.demon.co.uk.         IN A 158.152.5.194  # Warrington PoP
  500.  
  501.                                   ---
  502.  
  503. The news server is necessary for the nntp addserver command, and the mail
  504. server is handy so you can finger yoursite@post and see how many messages
  505. are waiting.  The password server allows you to change your password if you
  506. think it may have been compromised. The addresses for these functions have
  507. changed in the past (when mail and news handling was offloaded from gate
  508. onto separate machines) and it is possible that news may change again during
  509. the next twelve months.
  510.  
  511.     news.demon.co.uk.        IN A 158.152.1.69  # news server
  512.     post.demon.co.uk.        IN A 158.152.1.72  # mail server
  513.     password.demon.co.uk.    IN A 158.152.1.68  # password server
  514.  
  515.                                   ---
  516.  
  517. There are many useful files held by demon, so it is useful to have the
  518. address of the ftp server.  The Internet Relay Chat host is fun, but may
  519. give you a heart attack when you see your phone bill.  The addresses of these
  520. two sites are a little more volatile.  Ftp access may be shunted to the
  521. machine with the biggest free disc space, whilst irc may move to follow
  522. spare CPU capacity.  This is no great problem - if things break then
  523. finger ftp.demon.co.uk@gate.demon.co.uk (or irc...) to see what the new
  524. address is and change the entry in the file (this will not take effect until
  525. the next time you start up ka9q).
  526.  
  527.     ftp.demon.co.uk.         IN A 158.152.1.68  # ftp server
  528.     irc.demon.co.uk.         IN A 158.152.1.74  # irc host
  529.  
  530.  
  531. !TCPIP.Finger
  532. -------------
  533.  
  534. This directory is used to hold textfiles relating to users on your system.
  535. When somebody fingers your site the names of the files in this directory
  536. are displayed on their screen as usernames.  So, if you finger
  537. sktb.demon.co.uk (and sktb happens to be logged in to demon at the time) you
  538. will see a user called `pla' because I have a file called !TCPIP.Finger.pla.
  539. If you then finger pla@sktb.demon.co.uk the contents of the `pla' file is
  540. displayed on your screen.
  541.  
  542. You can put any info you want in here - full name, whether your site is
  543. your home connection or a company, the equipment you use, interests, etc.
  544. It is not a good idea to put in your full address - I don't know if any
  545. burglars use the internet, but why risk telling them where to go for
  546. computer equipment?
  547.  
  548. You can finger your own site to see what the display will look like to
  549. others.  Of course, for this directory to be of use, you must have started
  550. the finger server.
  551.  
  552. Note that the usernames in this directory are for informational purposes
  553. only - you do not need an entry in this directory for people to be able to
  554. e-mail a username.  However, by having a list of usernames in this directory
  555. you allow people to find out what your *preferred* usernames are.
  556.  
  557.  
  558. !TCPIP.FTPusers
  559. ---------------
  560.  
  561. This file controls who can ftp to your site (provided you have started the
  562. ftp server).  Be *very* careful with this as you can leave your private
  563. files wide open.  The file contains lines describing who can ftp to your
  564. site and what they can do, as follows:
  565.  
  566.     username password path permissions
  567.  
  568. the user manual says there must be exactly one space between fields.  A
  569. #-sign in column 1 denotes a comment.  You can give access to many different
  570. users, such as guest, or anonymous.  The password can be * (a single
  571. asterisk) which means that any password is acceptable.  The path determines
  572. the effective CSD for that user - there are some important points to note:
  573.  
  574.   1) You cannot specify a filing system in the path.
  575.   2) Unless the path exists on the currently-selected drive/filing system
  576.      it won't be found, so you must ensure that the current drive/FS is
  577.      correct if you want people to ftp to your machine.
  578.   3) Ka9q should prevent users changing directory to anywhere which does
  579.      not start with the specified path, although it is rumoured that some
  580.      early versions of Arc ka9q did not enforce this.
  581.  
  582. The permissions field is a decimal number which determines access for
  583. read, create and write operations.  The number is interpreted as a bit-mapped
  584. mask with the following interpretation:
  585.  
  586.             Decimal value   Access
  587.  
  588.     Bit 0         1         File read
  589.     Bit 1         2         File create/write (cannot overwrite an existing
  590.                             file)
  591.     Bit 2         4         File create/write/overwrite existing file/delete
  592.                             existing file
  593.  
  594. A value of 1 allows read-only access, 3 allows read/write/create access (but
  595. existing files may not be overwritten) and 7 allows read/write/create/delete
  596. access.
  597.  
  598. For instance, to allow anonymous ftp to a directory $.ftp giving permission
  599. to download and upload files but not overwrite/delete existing files you
  600. would have
  601.  
  602.     anonymous * $.ftp 3
  603.  
  604. You might like to also have the commonly-used alternative of
  605.  
  606.     ftp * $.ftp 3
  607.  
  608. so people don't have to type `anonymous'...
  609.  
  610. You can run ka9q without calling demon and ftp to yourself to check your
  611. setup and gain some familiarity with ftp.
  612.  
  613.  
  614. !TCPIP.DemGroup
  615. ---------------
  616.  
  617. This is a file you create containing a list of Usenet newsgroups you wish
  618. to receive.  Note that the `Dem' part of `DemGroup' was the abbreviation
  619. specified in the `nntp addserver' command in autoexec - if you chose a
  620. different abbreviation (4 chars max), you will need to change the name of
  621. this file accordingly.
  622.  
  623. The simplest way of specifying groups is to put each group on a new line.
  624. Note that you should not leave any blank lines in the file or ka9q will
  625. get upset.
  626.  
  627.     comp.binaries.acorn
  628.     comp.sys.acorn
  629.     comp.sys.acorn.advocacy
  630.     comp.sys.acorn.tech
  631.     demon.announce
  632.     demon.ip.support
  633.     demon.ip.support.archimedes
  634.     demon.local
  635.  
  636. However, this format is not conducive to news.demon.co.uk finding articles
  637. very quickly as it will perform a linear search of the news database for
  638. articles in the first group, send them, search for articles in the second
  639. group...  Things can be speeded up quite a bit by using wildcards:
  640.  
  641.    comp.binaries.acorn
  642.    comp.sys.acorn*
  643.    demon*
  644.  
  645. Note that if you had put comp.sys.acorn.* (a `.' before the `*') then you
  646. would not receive comp.sys.acorn itself.
  647.  
  648. There is another speed-up which can be performed, and that is to put the
  649. group names on one line, separated by commas.  E.g., the previous example
  650. could be given as:
  651.  
  652.    comp.binaries.acorn,comp.sys.acorn*,demon*
  653.  
  654. There should be no spaces anywhere on the line - although spaces would make
  655. it easier to read, it just won't work if you have:
  656.  
  657.     comp.binaries.acorn, comp.sys.acorn*, demon*
  658.  
  659. Note that there is a limit on the maximum length of a groups line.  Although
  660. the recommended limit is supposed to be 512 characters, Arc ka9q seems to
  661. be stuck with 256.  You can't even use the full 256 because ka9q adds control
  662. information to the list, so a safe figure to use is 200 characters (2.5 rows
  663. in a full-width !Edit window).  If your line is longer than ka9q can accept
  664. it will crash with a bad memory access - you have been warned.
  665.  
  666. Although I have not tried it, you should also be able to use the `!'
  667. wildcard to negate matches.  If you wanted all the comp.sys.acorn* groups
  668. except comp.sys.acorn.advocacy you should be able to use:
  669.  
  670.     comp.sys.acorn*,!comp.sys.acorn.adv*
  671.  
  672. Note that this will *only* work if the two group specifications are on the
  673. same line and are therefore processed as part of the same request.
  674.  
  675. If you want to know what groups are available, there are listings of all the
  676. groups in the seven main hierarchies and the mainstream alternative
  677. hierarchies (but not the national ones like uk or scot) posted monthly to
  678. news.announce.newusers - these listings have a brief (one or two line)
  679. description of what each group is about.  If you want to know all the groups
  680. that DIS carry (but without descriptions), then you should ftp to
  681. ftp.demon.co.uk and get the file active.zip from the /pub/news directory.
  682.  
  683.  
  684. !TCPIP.DemLast
  685. ---------------
  686.  
  687. This file holds the date and time of the start of your last *successful*
  688. news download (again, the `Dem' in `DemLast' is the abbreviation you gave
  689. in the `nntp addserver' command).  When you ask for news, ka9q will use the
  690. information in this file to request all news which has appeared since that
  691. time.  When your download finishes successfully this file is updated - that
  692. way, if news crashes in mid-download you can start again without missing
  693. anything.
  694.  
  695. If this file is not present, ka9q will request all news since the first day
  696. of the current month - you don't *have* to create it, but if you don't your
  697. first news download could be *very* big...
  698.  
  699. The file consists of two lines, the first for the date and the second for the
  700. time, as folllows:
  701.  
  702.     yymmdd
  703.     hhmmss
  704.  
  705. So, if your last news download was on the 21st of September 1993 at half-past
  706. seven (and a few seconds) in the evening the file would contain:
  707.  
  708.     930921
  709.     193004
  710.  
  711.  
  712.  
  713. USING KA9Q
  714. ==========
  715.  
  716. Logging in
  717. ----------
  718.  
  719. Ka9q is not capable of dialling DIS or logging in for you, so you must use
  720. your favourite comms program (or a dialler program) to do this *before*
  721. starting ka9q.
  722.  
  723. Use your comms program to dial whichever DIS Port of Presence results in the
  724. cheapest phone charges.  When you see the `Login:' prompt enter your site
  725. name (e.g., I would enter sktb).  When you see the `Password:' prompt
  726. enter your password (it will not be echoed).  Next you will see a `Protocol:'
  727. prompt - enter slip.  Wait until you see the word `HELLO', then quit your
  728. comms program (with some comms programs like HearSay you can select the
  729. `off-line' option instead) and start up ka9q by double-clicking on !TCPIP.
  730. If you forget to quit your comms program or take it off-line it will `eat
  731. up' incoming data and nothing will work.  You may experience problems if
  732. your comms program establishes the connection at a different speed to the
  733. one given in !TCP.Autoexec - some modems can cope with a speed change in
  734. mid-call, but many cannot.
  735.  
  736. Note that if you have a smart comms program which allows login sequences to
  737. be handled automatically, the *only* words it should look for/act upon are
  738. Login, Password, Protocol and HELLO.  Demon actually advise that you look
  739. for `ogin:', `word:', `ocol:' and HELLO as the checks are usually
  740. case-sensitive and you might get `Login' or `login', depending upon who last
  741. fiddled with the login software at the DIS end...
  742.  
  743. Also note that ka9q assumes that you are using ReaderS to read news messages
  744. (mainly because Anthony Frost who wrote ReaderS added the support for news
  745. to Arc ka9q), and relies upon ReaderS's message history file to avoid
  746. downloading the same messages twice (this happens because you request new
  747. articles which arrived since the *start* of your last news download, so there
  748. can be overlaps).  If you don't have ReaderS you will get the warning
  749. message `NNTP - No mail ID archive', which you can ignore.
  750.  
  751.  
  752. Entering commands
  753. -----------------
  754.  
  755. To enter commands, ensure the ka9q window has the input focus and type away.
  756. There is a problem with Acorn's `txt' routines in the C library which
  757. surfaces in programs which handle character-echoing themselves instead of
  758. allowing the `txt' routines to perform the echoing - sometimes you type a
  759. character and it doesn't appear until you type the next one.  This can be
  760. confusing (did I press the key hard enough?) and there can be occasions
  761. (see section on finger) where you don't want another character to be
  762. entered - the answer is to press one of the cursor keys, this causes the
  763. missing character to show up without any side-effects.
  764.  
  765. You will not see any modem activity as you type - you are entering a command
  766. to ka9q which then interprets it.  If it is a command which results in ka9q
  767. sending data to the DIS Point of Presence (possibly to be passed on to a
  768. distant machine), then there will be a brief burst of modem activity when
  769. you press return.  If you want to check your connection then the ping command
  770. is a quick and easy way of finding out if everything is working.
  771.  
  772. If you use a command which requires a sitename to be specified (telnet,
  773. finger ping or ftp), and the site is in the demon.co.uk subdomain (i.e., DIS
  774. machines or subscribers) you can omit the `demon.co.uk' part.  E.g., to
  775. change your password you could use `telnet password' instead of
  776. `telnet password.demon.co.uk'.  Sitenames which do not end in `demon.co.uk'
  777. must be specified in full.  If you see the error message `host <sitename>
  778. unknown' this means that there is no entry for <sitename> in !TCPIP.domain -
  779. if you know the numeric address you can use that instead - e.g.,
  780. `finger @[158.152.9.18]' instead of `finger @sktb.demon.co.uk'.
  781.  
  782. Ka9q will run perfectly happily even if you haven't dialled into DIS - the
  783. only difference is that no site other than your own will answer.  This way
  784. you can learn how the various commands work and what sort of responses to
  785. expect without running up your phone bill.  You can ftp to your own site
  786. and learn to how to find and transfer files, finger your own site to see how
  787. the !TCPIP.finger.<user> files you have set up will appear to other people,
  788. etc. You'll also catch any errors in your !TCPIP.Autoexec.
  789.  
  790.  
  791. Special Keys
  792. ------------
  793.  
  794. Ka9q recognises the following special keys:
  795.  
  796.   F10 and Ctrl-] return you to the net prompt when a session is active (see
  797.   later for a discussion of sessions).  F10 works only with ka9q's own
  798.   window (window terminal internal) whilst Ctrl-] works when you pipe ka9q's
  799.   I/O through your comms program.
  800.  
  801.   <-| The backspace key deletes characters from the line you've typed.
  802.  
  803.   <Escape> empties the line buffer - if you're typing a line and realise you
  804.   made a mistake at the beginning, this is a lot quicker than using the
  805.   backspace key.
  806.  
  807.   Ctrl-W deletes the last word in the line buffer - this is quicker than the
  808.   backspace key but not as brutal as <Escape>.
  809.  
  810.   Ctrl-R repeats the line you're entering.  This is useful when ka9q gives
  811.   an informational message just as you fumble and are not sure what you
  812.   typed.
  813.  
  814.   F3 recalls the last line you entered.  This is handy if you want to repeat
  815.   commands.  Unfortunately it `loses' @-signs, so is not very useful with
  816.   the finger command.  It only works with ka9q's internal window.
  817.  
  818.  
  819. Help
  820. ----
  821.  
  822. The help command (or just ?) will list the available commands.  You can get
  823. further help on most, but not all, commands which take arguments by
  824. following the command name with a space then a question mark, e.g.:
  825.  
  826.     smtp ?
  827.  
  828. will list the possible arguments for the smtp command.
  829.  
  830.  
  831. Ping
  832. ----
  833.  
  834. A useful way of checking your connection is to ping the PoP you've dialled
  835. into - if you phoned the London PoP then `ping gate' should give you some
  836. modem activity and return the round-trip time (typically 250ms under light
  837. loading, up to a couple of seconds under heavy loading).
  838.  
  839.  
  840. Mail
  841. ----
  842.  
  843. Incoming mail is delivered automatically as soon as you login (it can take
  844. up to a minute under heavy loading to start up).  Outgoing mail created
  845. before you started ka9q will be sent as soon as you login, provided you have
  846. the command `smtp kick' in your autoexec.  If you create mail whilst
  847. connected, or the mail appears to be stuck, you can enter the `smtp kick'
  848. command manually.  You can check how much incoming mail is waiting for you
  849. with the finger command (see section on finger).
  850.  
  851. You can also use the smtp timer command to cause the mail queue to be
  852. scanned automatically at fixed intervals.  I wouldn't advise using this -
  853. too long an interval and you'll have logged out before it kicks in, too
  854. short and ka9q will waste a lot of time repeatedly checking for outgoing
  855. mail.
  856.  
  857. Mail to a particular username appears as a file in !MailDir.spool.mail.text
  858. and the filename is the same as the username (so mail to pla@sktb... appears
  859. as a textfile called `pla').  The upshot of this is that you *must* choose
  860. usernames which are valid RISC OS leaf-names (so paul.allen@sktb... would not
  861. work).  In fact a DOS limitation has been retained and usernames must have
  862. no more than 8 characters (the required user called postmaster is handled as
  863. a special case and converted to `postmast').  I don't advise you to try
  864. reading mail with Edit - bad as the BM mailer is at creating mail, it's
  865. better than Edit for reading mail.
  866.  
  867. There is no way of defining which usernames are acceptable and which aren't
  868. for incoming mail - as long as it's a valid leafname of 8 characters or less,
  869. people can send mail to it.  However, you can indicate your preferred
  870. username(s) by creating entries for them in the !TCPIP.finger directory.
  871.  
  872. Outgoing mail is placed in !MailDir.spool.mqueue.text - each message gets a
  873. unique number, and each message requires a correspondingly-numbered work file
  874. in !MailDir.spool.mqueue.work.  I won't go into the formats of these files
  875. as I *definitely* wouldn't advise trying to create outgoing mail with Edit.
  876. However if you create e-mail you have the opportunity to tweak or delete it
  877. before firing up ka9q - just remember to remove the work file as well as the
  878. text file if you want to delete a message.
  879.  
  880. Mail can only handle 7-bit characters, and some IBM machines have a habit
  881. of getting the ASCII/EBCDIC conversion wrong and mangling the odd character
  882. even then, so you can't mail Sparkives or other binary files to people.
  883. However, you can uuencode the file (an option Spark offers) which encodes
  884. the file so it will survive.  The file will increase in size, but at least
  885. it can be sent.
  886.  
  887. Arc ka9q differs from the PC versions in that all outgoing mail is routed
  888. via the smtp gateway defined in !TCPIP.Autoexec.  Prior to this modification
  889. mail was sent directly to the site concerned (which meant that mail to other
  890. demon subscribers could not be sent unless they were logged on to DIS at the
  891. same time).  Although this change means that mail takes slightly longer to
  892. reach its destination, it also means that you (generally) spend less on-line
  893. time sending it.
  894.  
  895.  
  896. News
  897. ----
  898.  
  899. News downloads are started using `nntp kick Dem' (assuming `Dem' was the
  900. abbreviation you used in the `nntp addserver' command in your autoexec).
  901. You will either have this command in your autoexec if you want news every
  902. time you login, or enter it manually to only collect news during cheap rates.
  903. No further interaction should be required on your part.
  904.  
  905. Downloaded news appears in !MailDir or !MailDir.spool, depending on which
  906. version of ka9q you have.  The file will be called DemNews (again assuming
  907. you used `Dem' as the abbreviation in the nntp addserver command), and there
  908. will also be a file called DemNG which lists all the new groups which have
  909. been created since you last downloaded news.  You should look at DemNG to
  910. see if there's anything of interest, add the groups to !TCPIP.DemGroup as
  911. required then delete it (information is appended to DemNG, so if you don't
  912. delete it it will slowly grow and grow).  You can read news with an editor,
  913. but if you want to see it presented more logically, and have the opportunity
  914. to reply you should get hold of a newsreader.
  915.  
  916. You may notice that after ka9q requests a list of groups that activity is
  917. rather slow at first.  This is because the news-server is searching an index
  918. to find articles in the appropriate groups which have arrived since your
  919. last news download - it passes the unique message-ID of each matching
  920. article to ka9q which puts the IDs in a temporary workfile !TCPIP.DemNew
  921. (see previous comments about `Dem').  Once the list is complete ka9q then
  922. requests each article in turn and there will be a lot of activity as the
  923. articles come down.  If news terminates unsuccessfully (say you get cut
  924. off) then !TCPIP.DemNew may be left hanging around - don't worry about it.
  925.  
  926. Note that if you've been on holiday you can reset the time in !TCPIP.DemLast
  927. so you don't get deluged with news - that's if you can live without it.
  928.  
  929. Outgoing news articles are actually sent as e-mail.  Depending on which
  930. newsreader you use they will be addressed either to
  931. mail2news@post.demon.co.uk (which allows cross-posting) or
  932. <newsgroup>@post.demon.co.uk (where the article is posted only to the
  933. group given in the address, e.g., comp.sys.acorn@post.demon.co.uk to post
  934. to comp.sys.acorn).  Either way, you have the opportunity to tweak or remove
  935. them before firing up ka9q (see the section on Mail).  By the way, there's
  936. a little more to creating a valid news posting than just addressing mail to
  937. mail2news, so don't be tempted to do it by hand...
  938.  
  939. If news.demon.co.uk is heavily loaded it will refuse further connections -
  940. if there appears to be no activity use the tcp status command (explained
  941. later) to see if socket 119 is in use.  If not, try the nntp kick command
  942. again, or logout and try later.
  943.  
  944. Telnet
  945. ------
  946.  
  947. Telnet allows you to login to remote sites - just `telnet <site>' e.g.,
  948. `telnet archie.doc.ic.ac.uk' to connect to the `archie' Internet archive
  949. listing service at Imperial College.  For some sites a telnet session will
  950. behave as if you were logging in at a local terminal on that machine - you
  951. will be asked for a username and password (if you don't know a valid
  952. combination you won't get very far).  If you telnet to information services
  953. you will usually be told a username and password to enter, or logged on
  954. automatically.  Some sites may react to telnet connections in a special way:
  955. for instance you change your site's password by `telnet password.demon.co.uk'
  956. and following the instructions.
  957.  
  958. You can even use telnet to explore the hidden depths of some protocols which
  959. build upon telnet by adding a `socket number' to the command, but that is
  960. outside the scope of this document.
  961.  
  962. Most single-user machines (as used by many demon subscribers) will enter
  963. a chat mode if you telnet to them - you can talk to your friends whilst
  964. news downloads.  If the person you're chatting to is using a PC you should
  965. telnet to socket 87 by `telnet <site> 87' or they will have a hard time of
  966. things.
  967.  
  968. Telnet is one of the ka9q commands which runs in its own `session' - you
  969. should read the next section to see what this means.  Depending on what
  970. you telnet to, you might need to use logout, logoff, quit or exit to
  971. finish (if you telnet to someone for a chat you have to return to the
  972. net prompt and close the session - see next section).
  973.  
  974. If ka9q complains of an unknown host you will have to find the IP address
  975. (see section on finger) and telnet to that instead until you update your
  976. domain file.
  977.  
  978.  
  979. Sessions
  980. --------
  981.  
  982. Some ka9q commands (such as telnet and ftp) create a `session' - you
  983. can have several sessions running simultaneously and switch between them
  984. (*only* if you're using the `internal' window and not piping i/o through
  985. your comms program).
  986.  
  987. If you've entered a telnet command the title of the ka9q window will change
  988. from `NET <version>' to `Telent - <site>'.  Also the command prompt `net>'
  989. will no longer be present.  Anything you type now will be sent to the remote
  990. site (after you press return).  You can return to the ka9q command line by
  991. pressing F10 (this *only* works with the `internal' window, if you pipe
  992. i/o through your comms program use Ctrl-] instead) - the `net>' prompt
  993. returns and the window title reverts to `Net <version>'.  Back at the `net>'
  994. prompt you can enter ka9q commands again, but the telnet session isn't dead -
  995. it's just hiding.  If you type the command `session' at the net prompt it
  996. will list all active sessions - they each have a number and you can return to
  997. them by entering `session <number>'.  One of the sessions will have an
  998. asterisk by it - that is the session you were most recently using, and
  999. pressing return at the `net>' prompt will (usually) return to it.
  1000.  
  1001. If you close the session (say by logging out of a telnet session or
  1002. quitting an ftp session) once the remote site has acknowledged you will
  1003. be returned to the `net>' prompt.  If you can't work out how to finish a
  1004. particular session (you can't logout if you're using telnet to chat to
  1005. someone), you can kill a session with the `close' command - e.g., F10
  1006. followed by `close <session number>'.
  1007.  
  1008. Note that whilst you are in a session you will still see informational
  1009. messages from ka9q (for instance mail and news progress) - this is useful
  1010. because you don't have to return to the `net>' prompt to see how things
  1011. are going, but it's also a bit of a pain because they appear in the middle
  1012. of what you're typing.  Sometimes the `net>' prompt doesn't appear after
  1013. you press F10 - check the window title to see where you are.
  1014.  
  1015. Sessions buffer information sent from the remote machine whilst you're in
  1016. another session or at the `net>' prompt - to a degree.  I don't know what
  1017. the limit is - certainly 1 line, maybe 2.  It might even be more, but I have
  1018. a vague feeling that it isn't very much.
  1019.  
  1020. If someone telnets to you for a chat, you will see a message like `Incoming
  1021. Telnet session 2 from 158.152.9.18:1003'.  The `2' in the example is the
  1022. session number (so use `session 2' to connect to it), the `158.152.9.18' is
  1023. the IP address of the site telnetting to you, and the `:1003' is a
  1024. sequentially-assigned socket number (which you can ignore).  If you don't
  1025. feel like chatting to that person, just ignore the message...
  1026.  
  1027.  
  1028. Ftp
  1029. ---
  1030.  
  1031. Ftp connections run as ka9q sessions and start out a little like telnet
  1032. sessions in that you usually have to login.  After that you send commands to
  1033. the remote ftp server to change directories, examine directory listings, get
  1034. files, etc.  Usually you will be using anonymous ftp - that means you give a
  1035. username `anonymous' (some sites accept ftp as an alternative) and give your
  1036. full e-mail address as a password (some sites ask for an `ident' - then you
  1037. need only give your username).  One site which is handy to try for test
  1038. purposes is ftp.demon.co.uk, which you can connect to with the command
  1039.  
  1040.     ftp ftp.demon.co.uk
  1041.  
  1042. or even just ftp ftp.  Another thing you can try is to ftp to yourself with
  1043. the modem offline (keeps the phone bills down whilst you familiarize yourself
  1044. with the commands).
  1045.  
  1046. If ka9q complains of an unknown host you will have to find the IP address
  1047. (see section on finger) and ftp to that instead.
  1048.  
  1049. Most ftp sites use a restricted Unix style syntax (though there are
  1050. variations).  You will also find that with most ftp sites you can give the
  1051. minumum unique abbreviation for a command, e.g., `c' can be used instead of
  1052. `cd'.  Useful commands (which are usually accepted):
  1053.  
  1054.     quit    this quits the ftp session, and will (after the remote machine
  1055.         acknowledges it) return you to the `net>' prompt.  Be careful that
  1056.         you only enter this command when you are connected to an ftp session,
  1057.         if you type it at the `net>' prompt ka9q will exit.  This command
  1058.         cannot be abbreviated.
  1059.  
  1060.     ls    brief directory listing giving names of files and directories, but
  1061.         you probably won't be told which is which.
  1062.  
  1063.     dir    full directory listing, giving file sizes, ownerships and
  1064.         some method of distinguishing ownership (on Unix you will see a
  1065.         string of letters denoting access permissions - `r' for read-only,
  1066.         etc. - directories have a `d' in there somwhere).
  1067.  
  1068.     cd    change directory.  Usually you change to a subdirectory with
  1069.         `cd <subdirectory>'.  You can move back up the directory tree with
  1070.         `cd ..' (sometimes you can also use `cdup').  The usual directory
  1071.         separator on unix systems is `/' and you can traverse more than one
  1072.         level if you wish, e.g.:
  1073.  
  1074.             cd foo
  1075.             cd bar
  1076.             cd fubb
  1077.  
  1078.         could be replaced by
  1079.  
  1080.            cd foo/bar/fubb
  1081.  
  1082.         The root directory is specified as `/', so `cd /' will take you to
  1083.         the root directory, whilst `cd /pub' will take you to the `pub'
  1084.         (public) directory (on the Arc this would be called $.pub).
  1085.  
  1086.         Many ftp sites make /pub your CSD when you connect, and those which
  1087.         do often prevent you straying - frequently if you type `cd /' you
  1088.         will end up in /pub.  Note that when you ftp to ftp.demon.co.uk
  1089.         you will be placed in the `real' root directory.
  1090.  
  1091.     get    get a file.  The file will be placed in your CSD, wherever that
  1092.         happens to be when you issue the file.  The format is `get <file>'.
  1093.         Ka9q will try to create a file with the same name - which will fail
  1094.         if you try and get something which isn't a valid RISC OS leafname
  1095.         (like name.ext, verylongfilename or $^@).  To fix this problem you
  1096.         can specify a local filename in the command, e.g.:
  1097.  
  1098.             get verylongfilename$.zip localfile
  1099.  
  1100.         which will copy the remote file to `localfile'.
  1101.  
  1102.         Arc ka9q does not support the `mget' (multiple get) command which
  1103.         allows you to transfer several files at once by using wildcards, so
  1104.         you'll have to do it the hard way.
  1105.  
  1106.     type    this shows or sets the type of file to be transferred.  Different
  1107.         OSs have different conventions about end-of-line markers for text
  1108.         files (as you will realise if you've ever seen a DOS textfile in
  1109.         a Spark archive).  You can tell ftp to convert end-of-line markers
  1110.         from the conventions on the remote system to Archimedes conventions
  1111.         with:
  1112.  
  1113.             type a
  1114.  
  1115.         where the `a' stands for ASCII (do this *before* you use the get
  1116.         command).  Obviously you don't want this conversion to take place if
  1117.         you are transferring an archive, executable or similar binary
  1118.         (non-text) file, so for this you use:
  1119.  
  1120.             type i
  1121.  
  1122.        where the `i' stands for image.  On most systems you can also use
  1123.        `type b' instead of `type i' (the `b' stands for `binary') and
  1124.        sometimes you can enter just `image' or `binary' (sometimes even
  1125.        `i' or `b').  Similarly you can often enter `ascii' to select ASCII
  1126.        transfer.  The default type is usually ASCII, but you can check by
  1127.        just entering `type' without an argument.  You may forget to set the
  1128.        type at first, but once you've transferred a big Sparkive in ASCII
  1129.        mode you'll not forget again...  Unix compressed file (readable with
  1130.        Spark) normally end in `.Z' - so if you grab one of these you need
  1131.        type i.
  1132.  
  1133.     put    this transfers a file *to* the remote site.  Obviously sites are
  1134.        a little more sensitive about this sort of thing.  DIS allow uploads
  1135.        (of *useful* software, usually having some relevance to their
  1136.        subscribers - e.g., an improved mailer) to /incoming - you should
  1137.        then e-mail a description of the file, what machine it's for, etc. to
  1138.        uploads@demon.co.uk.
  1139.  
  1140.     abort   when you realise you've started to get the wrong file, or you've
  1141.        set the wrong type, or conditions mean the transfer has slowed to a
  1142.        crawl, abort will kill the transfer.  Some ftp servers are rather
  1143.        antisocial and perform a quit when you abort (so if you aborted
  1144.        because you had the wrong file you then have to start a new ftp
  1145.        session to get the right one.
  1146.  
  1147.     hash    this is a very useful command which puts a #-sign on the screen
  1148.        every time a block of data has been transferred so you can estimate
  1149.        progress.  This just doesn't work on the Arc, so when people tell you
  1150.        about it, ignore them.
  1151.  
  1152. Whenever you type an ftp command you will (eventually) receive an
  1153. acknowledgement message (usually prefixed by something like `220-', which
  1154. you can ignore).  This can be confusing during a get operation as the
  1155. acknowledgement that the get command is being processed can come well into
  1156. the file transfer, and the wording is such that it is easy to mis-interpret
  1157. it as meaning the file transfer is complete.  One way to check is to enter
  1158. `xxx' - if the transfer is in progress you will be told that the only
  1159. acceptable command is abort (though quit will often also be accepted), whilst
  1160. if the transfer has actually completed you will be told that the command
  1161. `xxx' is not understood.  Actually, and somewhat perversely, the message
  1162. telling you that the file transfer is complete can appear while there are
  1163. still blocks of data in the pipeline - so check the modem lights before
  1164. quitting...
  1165.  
  1166. Most ftp sites have a textfile in the root directory which lists all the
  1167. files available for transfer.  On Unix systems this is called `ls-lR'
  1168. (Unix filenames are case-sensitive) because the command to recursively list
  1169. all files is ls-lR.  Other systems may have something called
  1170. 000directory.list - you'll just have to look in the root directory until
  1171. you spot something that looks like it might be the file listing.
  1172.  
  1173. The DIS ls-lR listing is just under a megabyte, so if you want Archimedes-
  1174. related files (what few there are) just cd to /pub/archimedes and do an ls.
  1175.  
  1176. If you are looking for DOS files (why?) DIS mirror (keep an automatically-
  1177. updated copy) of the famous SIMTEL-20 archive of PD DOS files (this is
  1178. maintained by the US military, although it is in the process of being
  1179. moved from the White Sands Missile Range).
  1180.  
  1181. Note that you receive no warning message if someone is ftp-ing to you, so
  1182. be careful about security (see the section on the FTPusers file).
  1183.  
  1184.  
  1185. Finger
  1186. ------
  1187.  
  1188. Finger also runs as a session, but it is transitory in nature and once
  1189. the (limited quantity of) information has been provided the session will
  1190. close automatically.  Note that if it's taking finger a long time to return
  1191. the information and you leave the session then the information will be lost
  1192. if it comes in whilst you're away.
  1193.  
  1194. Do not type anything into a finger session - for some reason this prevents
  1195. the information ever being sent (remember the display bug where characters
  1196. appear to get lost - this can affect the carriage return at the end of the
  1197. command - the solution is to press one of the cursor keys).  Finger sessions
  1198. can also get confused if you set more than one in motion at once...
  1199.  
  1200. If someone fingers you, you will see a message like `You're being fingered
  1201. by 158.152.9.18:1005!'.  The `158.152.9.18' is the IP address of the site
  1202. telnetting to you, and the `:1005' is a sequentially-assigned socket number
  1203. (which you can ignore).
  1204.  
  1205. Demon have a modified finger server running on gate and post: if you finger
  1206. <site>@gate it will tell you the IP address and other (possibly) useful info.
  1207. Note that when <site> is a DIS address you give the *full* sitename - e.g.,
  1208. finger sktb.demon.co.uk@gate will give you the IP address [158.152.9.18].
  1209. Remember that even if you modify your domain file this will not take effect
  1210. until the next time you start ka9q, so if you wanted to telnet in for a chat
  1211. during that connection you would need to use the numeric form of the address
  1212. (telnet [158.152.9.18] instead of telnet sktb).
  1213.  
  1214. The modified finger server on post also serves another function when used
  1215. with *abbreviated* sitenames of DIS subscribers - it tells you how many
  1216. mail messages are waiting for that site.  E.g., finger sktb@post will tell
  1217. you how many messages are waiting for sktb.  If you finger your own sitename
  1218. you will also be told who each message is from and to.
  1219.  
  1220.  
  1221. Hanging up
  1222. ----------
  1223.  
  1224. Enter the `quit' command or select the quit option from ka9q's icon-bar
  1225. menu, then use your comms program to hangup the modem.  Most versions of
  1226. ka9q scramble the serial port when they exit (which persists even though
  1227. both Jonathan and Anthony changed the code to try and fix it) - you can send
  1228. data out (which is why you can use your comms program to hangup), but
  1229. incoming data vanishes into thin air.  The only cure is to quit your comms
  1230. program and reinstall it (occasionally you may have to do this a couple of
  1231. times). It is possible that the version of ka9q which supports serial block
  1232. drivers does not suffer from this problem, but I've never used it so can't be
  1233. sure.
  1234.  
  1235.  
  1236. Other Commands
  1237. --------------
  1238.  
  1239. Other useful commands include:
  1240.  
  1241.     Record    this allows you to record a telnet session to a file.  Use:
  1242.  
  1243.             record <file>
  1244.  
  1245.         to record the current session (the one marked with the asterisk when
  1246.         you use the `session' command into <file>.  When you're finished,
  1247.         use `record off' to finish.  Note that you cannot record ftp
  1248.         sessions.  Theoretically you can record finger sessions, but in
  1249.         practice the incoming information usually vanishes before you can
  1250.         start recording.
  1251.  
  1252.     asystat    shows how many characters have been transmitted/received and
  1253.         how many overruns occured.
  1254.  
  1255.     ip status    shows how many ip packets have been transmitted/received
  1256.         and how many errors of various sorts have occured.  It is a good idea
  1257.         to check this (and asystat) during your first-ever connection to DIS.
  1258.         If there are lots of overruns or errors then you may have a problem
  1259.         with your serial port not coping with the speed (a problem which
  1260.         occurs frequently with RISC OS 3 - get hold of the serial port
  1261.         patch).
  1262.  
  1263.     tcp status    this lists all the tcpip connections.  Even if you
  1264.         aren't doing anything, connections will be shown for the various
  1265.         servers you started in autoexec (like start smtp, echo, discard,
  1266.         etc.) but if the number against the `remote socket' for a
  1267.         connection is 0.0.0.0:0 then that connection is not in active use.
  1268.  
  1269.         You can use this as a way of checking that it's safe to logoff, or
  1270.         if you see unexplained disc activity you can check if someone is
  1271.         ftp-ing to you (remember you get no warning message) - look for
  1272.         a local socket number ending in :21 with a remote socket number
  1273.         other than 0.0.0.0:0.
  1274.  
  1275.  
  1276. Bugs
  1277. ----
  1278.  
  1279. Apart from problems already mentioned, there is a bug which until recently
  1280. affected all versions of ka9q on all platforms - this concerns the transfer
  1281. of mail and news in both directions (the latest PC ka9q has fixed the bug
  1282. for mail but not for news).
  1283.  
  1284. Any outgoing news/mail message which has a line starting with a full stop (.)
  1285. should have another full stop appended to it by ka9q before that line is sent
  1286. to the remote site.  Any incoming news/mail message which has one or more
  1287. full stops at the start of the line should have the first full stop removed.
  1288. The net effect is that as long as both sites perform these actions, the
  1289. messages will end up the same as they started (why this has to be done at all
  1290. is to do with the mechanics of the message transfer).
  1291.  
  1292. Unfortunately ka9q does not do either action, so outgoing news/mail which
  1293. has a full stop at the start of the line will end up without one, whilst
  1294. incoming news/mail which ought to have a a single full stop at the start of
  1295. a line will have two.  This is not usually a serious problem, with one
  1296. exception.  Uuencoded files (see the section on Mail) sometimes have the
  1297. penultimate line start with a dot (only the penultimate line can ever start
  1298. with a dot, and even this is rare) - the dot gets doubled and the archive is
  1299. corrupted.
  1300.  
  1301. I found this problem when I obtained a uuencoded archive from the Newcastle
  1302. info-server and it was corrupted - it took a long time for all concerned to
  1303. figure out what had gone wrong.
  1304.  
  1305.  
  1306.  
  1307. BM
  1308. ==
  1309.  
  1310. BM is the horrible mailer which comes with ka9q (on the occasions Anthony
  1311. Frost actually remembers to include it).  It is a real pain to use, and is
  1312. something you only perservere with until you get something better (like
  1313. ReaderS).
  1314.  
  1315.  
  1316. Installation
  1317. ------------
  1318.  
  1319. You need to modify !BM.BMconfig to reflect your details.  As an example,
  1320. mine looks like:
  1321.  
  1322.     host sktb.demon.co.uk
  1323.     user pla
  1324.     fullname Paul L. Allen
  1325.     reply pla@sktb.demon.co.uk
  1326.  
  1327. You should replace the sktb.demon.co.uk with your own fully-specified site
  1328. name.  The user is the username you will use to send/receive mail (remember
  1329. the username must be a valid RISC OS leafname, and have a maximum of 8
  1330. chars).  Fullname is your own name (or a pseudonym if that's what you want).
  1331. Reply is the address which is inserted into the `Reply-to:' field of your
  1332. messages - try and get this one right or you won't get any replies.
  1333.  
  1334. BM can only handle a single user (so remember to check the postmast mailbox
  1335. by hand occasionally), but you can get round this by having several config
  1336. files named after users, and using obey files to delete BMconfig and copy
  1337. the appropriate config file to BMconfig.
  1338.  
  1339. Some versions of BM allow you to create a file !BM.Sig, the contents of
  1340. which are appended to the end of any mail message you create.  This usually
  1341. holds some informative or witty comment - it is considered bad taste and a
  1342. waste of bandwidth to have more than 3 lines of signature.
  1343.  
  1344.  
  1345. Using
  1346. -----
  1347.  
  1348. BM has many problems.
  1349.  
  1350.     1)  Lines do not automatically wrap, so you must insert carriage returns
  1351.         manually at the end of each line.  If your lines are longer than
  1352.         80 characters (because you forgot to press return) you will annoy
  1353.         people, if they're longer than 1024 characters they will be
  1354.         truncated en-route and people will miss your words of wisdom.
  1355.  
  1356.     2)  It isn't a cursor-driven text editor.  You can type, and you can
  1357.         use the delete key - that's all.  And once you've pressed the
  1358.         return key that line is cast in stone.
  1359.  
  1360.     3)  You can't quote bits of other people's messages when you reply.
  1361.  
  1362.     4)  There is a command (~r) that allows you to include a pre-prepared
  1363.         text file, but it doesn't seem to work.
  1364.  
  1365. It is possible to work around some of these problems (but if you do this
  1366. make *sure* you haven't used ka9q's `smpt timer' command to have ka9q scan
  1367. for mail every so often or a half-formed message may go out).
  1368.  
  1369. For new mail use BM to set up the address and subject, and send a blank
  1370. message (no text).  Then go to !MailDir.spool.mqueue.text and use Edit to
  1371. write the body of the message into the blank.
  1372.  
  1373.  
  1374. For replies, use BM's save option to save the incoming message.  Then use
  1375. the reply option to reply to the message, but again send a blank message.
  1376. Use edit on the saved message to `quote' it and compose your reply.  So if
  1377. the incoming message said:
  1378.  
  1379.     Hello Paul.
  1380.  
  1381.     How are you?
  1382.  
  1383. The first stage would be to `quote' it (indicate which bits came from the
  1384. original message - this is conventionally done by prefixing the lines with
  1385. a `>' character:
  1386.  
  1387.  
  1388. Then indicate that you are in fact replying by adding something along the
  1389. lines of:
  1390.  
  1391.     In message <1234@foo.bar.com> you wrote:
  1392.  
  1393.     > Hello Paul.
  1394.  
  1395.     > How are you?
  1396.  
  1397. Next, insert your own comments, and trim out any excess quoting
  1398.  
  1399.     In message <1234@foo.bar.com> you wrote:
  1400.  
  1401.     > How are you?
  1402.  
  1403.     I'm fine thanks.  How are you?
  1404.  
  1405. Note that the `> Hello Paul' was deleted - the sender doesn't want to see
  1406. that again, but the `> How are you?' was retained to jog his memory as to
  1407. what your answer refers to.
  1408.  
  1409. Finally use Edit to take your composed message and insert it into the blank
  1410. message in !MailDir.spool.mqueue.text.
  1411.  
  1412.  
  1413. Alternatives
  1414. ------------
  1415.  
  1416. After you get fed up with BM (which will be very shortly after you start
  1417. playing with it), you might want to consider using ReaderS which handles
  1418. both mail and news.  Send 10 (the bulk of which is divided between the RNLI
  1419. and the Cornwall Air Ambulance Trust) to
  1420.  
  1421.     Anthony Frost
  1422.     VCS Kernow
  1423.     10 Whiterocks Park
  1424.     St Anns Chapel
  1425.     Gunnislake
  1426.     Cornwall
  1427.     PL 18 9EF
  1428.