From: John (Watching the Wheels) Mackin <john@physiol.su.oz.au>
To: rc@hawkwind.utcs.toronto.edu
Subject: Clean design pays dividends -- and stupid kludges don't
Date: Thu, 2 Nov 1995 23:30:40 -0500 [thread overview]
Message-ID: <199511031530.18948.software.babaz@physiol.su.oz.au> (raw)
Hi. Those of you who have been on this list for a while may remember
me -- fond greetings to all old-timers! I haven't resubscribed (I can't
at this stage) but I have come across something in recent months that I
have decided cries out to be mentioned here.
You see, I now have a computer at home -- something I resisted through
all the many years of my professional life (with computers). But now that
I am no longer working, I really need something at home to do writing on, and
keep track of my (paper) files, and like that. Of course the fact that I am
no longer working also means that I have nothing to spend on such a computer,
so I am (still, after two years) building one out of parts I can scavenge.
That one, when finished, will be big enough to run FreeBSD so I will be
able to use rc as my shell as always, and there will be no problem.
But it is taking so long to build that I really needed a stopgap, and
I had enough hardware to build a stopgap machine. The thing is that
it (on which I am indeed typing this mail! -- I will sneakernet it
in to University later in order to send it) is only a 286, so it can't
run any reasonable kind of Unix. So I'm stuck with MS-DOS -- and therefore
I cannot use rc (as far as I know! -- I'd be _delighted_ as well as astonished
to hear that someone has done a DOS port). But I do at least have the some
command binaries that make the thing look enough like Unix most of the time
that I am much more comfortable than I would be with raw DOS.
Now we are getting to the point of this posting: the shell I have is a port
of ksh. I never used ksh on Unix but was basically familiar with its
offerings. Now, I use it all the time, and of course I do not like it.
But the worst thing is its history. Not only does it not (seem to,
perhaps I just can't figure out how) offer any way to preserve your
history effectively from one login session to the next -- something I
always do with my rc history files on Unix, and which I like very much;
and of course with a true external history file, it's your option --
but worse still, it has stupid "features" that interact badly
(read: don't interact at all). Consider this real example: I've been
writing a letter to someone. I think I have finished:
$ spell theletter
...
The spell output looks all right. I'll print it now:
$ lpr $_
For those list-readers who are lucky enough to not know, this is a ksh
idiom. $_ is set to the last argument of the previous command. It's a
handy kludge, since a lot of the time in Unix the last argument is the
file you're currently doing something or other to, as in this case.
All right, it's printing now. Gee, I wonder what time it is?
$ date
...
Oh, not too late. I'd better print another copy of the letter to
go into the filing cabinet, so I use the built-in ksh history,
expecting to re-execute the command I did a moment ago: it's
(in this case) vi-like, so I type <ESC>, then "k" once -- and see
$ date
then "k" again, and see:
$ lpr $_
and then I think "Bugger! If I type <RET> now to execute this, I
know damn well what I would get -- yes, you guessed it, I'd get
`lpr date'."
(let ((sarcastic #t))
Wonderful, wonderful work, guys. Well-designed, clean interface.
)
I will be very happy indeed when I can give ksh the big flick, and
go back full-time to my best friend in shells, rc.
OK,
John.
reply other threads:[~1995-11-03 4:41 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=199511031530.18948.software.babaz@physiol.su.oz.au \
--to=john@physiol.su.oz.au \
--cc=rc@hawkwind.utcs.toronto.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).