Indeed,
I've been known to type significant amounts almost
completely open-loop. This paragraph, for example, I got two lines
into before the display got past "Indee". (This is mostly because
of quadratic behaviour in some screen updating code; someday I may
have another crack at improving it.)
You wrote your own editor?
No. It's a derivative of a very old Gosling emacs, and, while I've
done nontrivial amounts of work to it, it is still mostly not my code.
The display update code is marked with
/****************************************************************
/-------------\
/ \
/ \
/ \
| XXXX XXXX |
| XXXX XXXX |
| XXX XXX |
\ X /
--\ XXX /--
| | XXX | |
| | | |
| I I I I I I I |
| I I I I I I |
\ /
-- --
\-------/
XXX XXX
XXXXX XXXXX
XXXXXXXXX XXXXXXXXXX
XXXXX XXXXX
XXXXXXX
XXXXX XXXXX
XXXXXXXXX XXXXXXXXXX
XXXXX XXXXX
XXX XXX
**************
* BEWARE!! *
**************
All ye who enter here:
Most of the code in this module
is twisted beyond belief!
Tread carefully.
If you think you understand it,
You Don't,
So Look Again.
****************************************************************/
And it's not kidding. I once tried to improve that code and succeeded
only in both slowing it down significantly and introducing new bugs.
-spc (And that's either a slow computer, or
you're a very fast
typist ... )
Both, though probably the former more so. The computer is fairly fast
by my standards, but those standards are quite old (it's a SS20, and
each keystroke is being handled by four processes, with output being
handled by the same four processes in the other direction, all of this
running on the same machine). And yes, I do type fast, probably
somewhat over 100wpm when I don't have to stop and think about what to
type next. (I just now timed myself retyping the previous two
sentences - "The computer...type next" - which is 37 words according to
wc; it took me about 15 seconds, plus a few seconds to fix two typos.)
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse at rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B