Ron'sWeek'n'ADAM February 22, 1998

      There were several possibilities for this week, but all
they seemed to do was to illustrate the complete lack of focus
around here.  I was going to do a 'rant and whine' about how 
QTERM seems incapable of proper VT100 emulation, screwing up only
slightly,  but enough to make browsing with Lynx an annoyance. My
remarks at ADAMCON09 notwithstanding, Lynx on the ADAM is not 
pretty enough to warrant attention from any ADAMite who doesn't 
have scads of patience.

              The arrow keys don't work
              
              Lines two and/or three of every screen are missing
              from where they ought to be and somehow end up at 
              the top of the screen
              
              Inverse highlighting doesn't work
              
              Some lines are are started improperly about 2/3 of
              the way across the screen, and wrapped to the next 
              line, creating a rather incorrect screen appearance

      Now it is often said that comparisons are odious, but around 
here the state of my coomputer collection invites comparisons. So 
I have to say that Lynx from any of the servers I hang around 
(Ottawa's National Capital Freenet, Campbell River Community Net-
work, and my local Digital Ark) work with perfection on the MAC SE 
and the Commodore 128. The arrow keys work as they should and 
highlights are highlighted.

      What to do. It runs in my mind that Compuserve's ADAM CP/M
Sysop, Rob Friedman (76402.417@compuserve.com) produced a patch 
to Qterm that changed keyboard output from ADAM's keyboard so as 
to generate key codes that would be recognized by VT100 emulation 
as UP, DOWN, RIGHT, and LEFT. I'm going to have to check that out
      The only other option I can see is to prepare a version of
TDOS where the output from ADAM's arrow keys is changed from the
standard Wordstar settings to whatever is required to satisfy 
LYNX's requirements on whatever server I happen to be using.

      The question is, change from what to what? I find myself
wishing that I had a better knowledge of how screen emulations are 
accomplished. If there's anyone out there who can point me to some 
material on the subject, I'd mightily appreciate it.  Qterm's 
shortcomings aside, it's rather remarkable that a Heath19 emul-
ation can be turned into a semi-passable VT100 with a simple 
pair of keystrokes (ESC V). The only comm program available to 
ADAM users that's capabile of doing it, so far as I know,
is QTERM. How does that happen, I wonder. And why doesn't it 
happen 100%.
      Food for the curious.
Speaking of which, the program presented last week was missing a
number of things. One of them was a way of reading the file which 
you created. Try this. Add some kind of break after line 270 and 
insert the following:

              271 stuff$="": REM clear variable stuff$ so it has
                  no value
              272 print d$; "open phyle"
              273 print d$; "read phyle"
              274 print: print
              275 input stuff$
              276 print d$; "close phyle"
              277 home: print "here's what is recorded in your
                  file"
              278 print: print stuff$

      All of this of course is covered in greater detail in just
about any text available on SmartBASIC programming. Most sections
on the subject of reading and writing from and to media highlight 
two things when discussiong this topic:

              1)  Make sure you close the file your reading from
                  or writing to;
              2)  before opening, reading, or writing a file,
                  make sure the cursor is re-positioned to the 
                  leftmost column; ie to a carriage return and a 
                  line feed as part of your routine. (Don't ask 
                  me why this is so, it just is.)

      I ignored and neglected point 1 above on my first attempt
to create a new file, and ended up with a file that was only a
few characters in length but which, according to the directory,
occupied all the remaining space on my hard drive volume, 967K. 
Not pretty. I had no more room for anything else on that disk and
had to use Filemanager to delete my new file. Worse yet, I had to
crunch the volume to get back to where I was before. 

      Other things to watch for in routines that read and write
to your media. 
               1) Most of them include some sort of error check-
                  ing routine to make sure that what is sent from
                  the computer actually makes it to disk. 
               2) There are commands in SmartBASIC that allow you
                  to 'monitor' date being written to or read from 
                  a disk or data pack.

                  MON C,I,O,L

                  This command actually shows you what is being
                  sent or received and is useful in debugging. And 
                  debug you will, sooner or later.

      All of these things are presented even though I know there
is not much interest out there about matters related to programm-
ing. I'm reviewing them myself preparatory to some totally
unorganized excursions into SmartBASIC 1.x where I will do 
something.....sooner or later...... stay tuned.

      Meanwhile, back to the department of blurred focus.
I have recently installed Linux on my 486 just to make sure that
Bill Gates doesn't have the whole thing to himself. For those who
don't know it, Linux is the public domain version of Unix, which 
is an operating system that pre-dates CP/M MS-DOS, Windows 95, 
and just about everything else in computer history. Linux comes
with something called XFree86 which I installed last night. It's
a windows system that has not much to do with Microsoft. It's
supported by hobbyists. Now I know where all  old CP/M hands have 
gone. This thing is supported on the Internet by a group of 
people who have dedicated themselves to the task of making sure
there is an alternative out there to Windows 95. Looks very
comprehensive  and can be made to look like whatever the user 
wants it to look like. Scary!

      A guru I knew in Ottawa once told me that if a monkey
walked across a keyboard, the result would probably be a UNIX
command. Those of you who have trouble with TDOS or CP/M syntax
better not go near Linux. Same problem there.

      All of this, of course, is beside the point. What jumped
out at me this past week was a couple of paragraphs in a gigantic
book that I bought on Linux, Using Linux - 3rd Edition by Jack
Tackett Jr and David Gunter (QUE Corp. 1997, ISBN 0-7897-1132-x).
There is a short section on clients and servers which went a long 
way toward explaining a concept that has been hazy in my head 
since Richard Drushel first started talking about ADAMserve. For 
those who are interested, here's a partial quote:

      "Client/Server is one of the major buzzwords used in the
computer industry today. Like most basic concepts in the industry, 
client/server has been overplayed and overused to the point of 
confusing the average computer user. In the traditional sense, a 
server is a machine that just provides resources - disk drive 
space, printers, modems, and so on - to other computers over a 
network. A client is the consumer of these services - in other 
words, a client uses the disk space, printer, or modems
provided by a server."
      Hence, you have an IBM providing hard drive space, comm
ports, printer capability, etc. for an ADAM. Now it makes sense
..... or at least it did for a while, until the authors of this
particular book started talking about both a client and a server
existing on the same machine. 

      Ya win some, ya lose some. Guess I'll have to keep reading.


