The Modernization of Emacs

B

blmblm

[ snip ]
I find these anecdotes liberally sprinkled into this thread frankly
unbelievable. Either they are not using the same software I understand
"emacs" to refer to,

I think this may be the explanation. The other people's anecdotes
seem pretty plausible to me in the context of emacs as it currently
exists. You, however, appear to be talking about -- well, I'm not
quite sure, but perhaps emacs as it existed at some earlier point
in its history? The first emacs I used (in 1980-something) didn't
have a GUI either. But the ones currently available to me do.
or someone somewhere is simply lying. Or maybe
there's a bunch of prodigies around and they all picked now to pipe
up? We can't design software or any other tool to cater exclusively to
a handful of Mozarts, though, unless there's no reason to believe
anyone outside that small and exclusive club will ever have a use for
it.

[ snip ]
 
B

blmblm

(e-mail address removed) writes:

[ snip ]
It appears that you still have not bothered educating yourself, years
after you were pretty much universally derided in comp.text.tex for
making a spectacle of your self-chosen ignorance.

Ah, I *thought* this discussion was starting to sound familiar.
"This is where I came in"?

(Reverting to the original set of newsgroups on the purely selfish
grounds of not wanting to follow an additional newsgroup, comp.emacs,
in order to read any replies.)
 
R

Robert Uhl

And both of them, though especially the latter, regarding what a
feeping creature emacs is.

I like it. Every new version has great new abilities.
I don't suppose there's also a kitchen sink in there somewhere? Or is
that just nethack?

Check out nethack.el <http://www.nongnu.org/nethack-el/>. You can run
nethack within emacs. This, of course, means that there _is_ a kitchen
sink within emacs (when it's running nethack within itself)...
 
T

Twisted

However, there's a case he missed, probably through never using a CAD
system. All the good ones can be driven either by mouse, or by
non-chorded key sequences or any combo the user likes. The essence of
CAD is very accurate pointing but all too many mice move slightly when
clicked. Fortunately a decent CAD system offers the possibility of
purely pointing with the mouse and doing everything else with the other
hand on the keyboard. The result is both fast and extremely accurate.

Actually, what I prefer in (2D and 3D) visual design apps is the
ability to snap to some kind of grid/existing vertices, and to zoom in
close. Then small imprecisions in mouse movement can be rendered
unimportant.
An interface design point that nobody has yet mentioned here is that
there are four different types of user that map onto a grid:

casual dedicated
untrained 1 2
expert 3 4

I first ran across grid this in "Design of Man-Computer Dialogs" by
James Martin and its been very useful in systems interface design.

The problem with almost all current GUIs is that they are aimed at types
1 and 3 users - this certainly applies to Windows, OS X and Gnome
desktops with the emphasis on type 1. vi and microEmacs, OTOH, are aimed
at type 3 and 4 users.

The problem of course being the complete exclusion of type 1 users.
Everyone starts out as type 1, and I don't think type 2 occurs in
practise. You'd have to be some kind of religious nut to be
"dedicated" while still "untrained", rather than only as a result of
experience. Apps that provide no traction for a type 1 user will not
see much adoption except in an environment of immersion, mentoring, or
desperation. I wonder which of the three explains the majority of
emacs users, and of vi users, and whether those prove to be the same
one. :) (Actually, there'll be a single or a small number of class-2
users: the original developers, who presumably became dedicated before
having much experience *using* the tool. Their experiences are
atypical however, and their knowledge of the internals probably means
they're type 4 by the time they actually use it to do more than debug
it. Unsurprisingly, never experiencing it as a type 1 themselves they
tend to be inconsiderate of future type 1 users...this is normal, and
requires effort to avoid, in much the way blinkered views of stuff and
seeing what you want to see can be normal, and efforts like using
double-blind studies may be needed to avoid bias in evaluating, say, a
new drug. That such efforts are needed should not be seen as
disparaging the programmer or the drug-studier, but as merely
reflecting human nature, and as a simple pragmatic requirement if one
is to maximize utility.)
Its very difficult indeed to design an interface that suits both
untrained and expert users.

One with a bog-standard UI but also a "console" or command prompt,
scripting language, and customizable bindings?

Funnily enough I can count the software I've seen with that range of
capabilities (so able to satisfy type 1, 3, AND 4 users) on one hand.
Here's the list, in fact:

ROM BASICs and QBasic (on any really ancient microcomputer, and old
pre-Windows PCs, respectively; the former came with printed manuals
and you could just run prepackaged software from disks very easily;
QBasic had mouse and menu support, but an immediate mode command line.
You might not count ROM BASICS as as friendly, due to the lack of
menus and such, but then at that time in history NOTHING had menus and
such! And comprehensive introductory use manuals came with those, and
with pre-Windows PCs (DOS also had a decent and easy to navigate help
system). Most other BASICs and programming environments more generally
lack an integrated environment with an immediate mode prompt. Eclipse
actually sort of does, but the evaluate line can't be used really
arbitrarily and I've found it touchy, and rarely use it.

Hypercard (found commonly on old Macs; had a command prompt you could
access to directly communicate to an interpreter).

Fractint (fractal graphics making software for old pre-Windows PCs;
had a similar prompt, accessed by typing 'g', but also had extensive
help and menus readily controlled by stock keyboard commands such as
the arrow keys, and later a Windows port with menus and mouse
support).

Quake and descendants (yes, the games. Easy to just use the menus and
play the game. Advanced users could hit ~ to drop down a console and
do a few things. Really advanced ones made config files to rebind
weapons and make chat macros to fire off a taunting sentence with a
single keystroke -- no more embarrassment getting fragged while typing
it in longhand in mid-game. Super-advanced ones got at the QuakeC and
made bots, flag-capture mode mods, and other enhancements and
utilities. And sometimes cheats.)

There's probably some more out there, but I've yet to see such
desirable things as:

* The paint program with the usual interface, except you can also do
stuff like hit ~ and type "resample files:c:\foo\*.jpg width:640
height:480 preserveAspectRatio:true doNotEnlarge:false"
* The word processor with the usual interface, except you can also do
stuff like hit ~ and type "format leftIndent 2 where paragraph begins
'Quotation: '"
* The word processor with the usual interface where I can define
logical styles, then change them in only one place and affect every
pre-existing occurrence retroactively.
* The word processor with the usual interface where I can also view an
underlying markup representation and hand-hack that, and which likely
has the capabilities of the first two as a direct consequence of the
implied architecture. Only please, proper functional markup, not
macros like LaTeX or (shudder) winword. I don't want it to be possible
for documents of dubious origin to make it start sneezing, or any of
the general ugliness that follows TeX around like its shadow.
Documents that look as nice when displayed and printed, sure, but just
as nice under the hood if you please.
* Something as powerful as Mathematica, but with a more
straightforward basic-use interface as well as access to a fancy
interpreter.
* The operating system where you can do powerful stuff with a command
line and a script or two, but can also get by without either. (Windows
fails the former. Linux fails the latter.)
* For that matter, the operating system whose GUI takes the concept
behind OLE to its logical conclusion, and lets the user separately
choose and configure their text editing, this-editing, that-editing,
whosit-viewing, and the like components, and those components are used
in building more complex applications. All the alternatives would of
course adhere to a common interface for a particular sort of
component, of course. (An OO language like Java lends itself to this,
what with interfaces and inheritance and dynamic class loading!)
When I run my browser and go to GG to make a post I'd get a text entry
field that was actually my choice in a box, with the usual
capabilities such as spellchecking available, and its own little menu
bar at the top and suchlike. I'd be able to save the contents to disk
without futzing around with the clipboard and launching Notepad, and
later reload, in case the web site was prone to eating the odd
submission. My Jave IDE would display code in the same editor (the
interface should therefore support the using application externally
driving coloring/highlighting, as well as jump-to-line and similar
capabilities). Of course the editor wouldn't itself be Java-aware,
which might not be useful, for example composing a usenet post.
Instead it would provide a variety of abilities to the embedding
application, which may or may not use them. What it would provide
being its particular internal search, spell check, key bindings, etc.
About the closest I've seen have been
keyboard driven menu structures which have been designed so the user can
build their own "command sequences" that traverse menu levels without
showing the menus, as long as items are selected correctly from each
level. Many CAD systems approximate to this but I've yet to see a
graphical desktop, IDE, or editor menu structure that came close.

The bog-standard alt, this, that sequences on Windows "come close";
they do make the menus display, but otherwise they do exactly what you
want, and you can ignore the menus blinking around in your peripheral
vision. When I go to save a file with unsaved changes my first
inclination is ctrl+S; if the app doesn't support that the very next
thing I try is alt, f, s, before resorting to the mouse.
 
T

Twisted

Of course, emacs doesn't take years of mastery. It takes 30, 40
minutes.

I gave it twice that, and it failed to grow on me in that amount of
time.
That sounds like vi, not emacs.

That sounds like any application where you need to read the help, but
"f1" does not bring up a separate help window, switchable with the
main one using alt-tab or the mouse, and navigable using arrows,
pageup, pagedn, and the mouse. The result of that is invariably that
when the document has the focus, the help is open to "help on
switching windows" rather than whatever you need it to be on once the
document has the focus. You can read the help on doing what you want
to do with the document, but to apply it you need to transfer focus
back to the document. If doing that isn't second-nature, you have to
navigate the help away from where you need it to get the focus back to
the document. Now the focus is on the document, but the help you need
isn't displayed next to it anymore. Frustrating? You can't begin to
imagine, I suspect. Apparently, some people are born somehow able to
avoid this problem without having to memorize one or the other piece
of help. You're clearly one of those. I am equally clearly NOT one of
those. Of course, if emacs let you keep THREE windows open and visible
at the same time, instead of being limited to one or a horizontally
split two ... and a cramped 80x10 or so each, at that ...
a) emacs doesn't 'eschew normal methods of navigation'; it's been doing
its own thing since before there _were_ Mac OS or Windows

I'll admit that it didn't USED TO 'eschew normal methods of
navigation', but at a certain point in time there began to be 'normal
methods of navigation' and emacs naturally began eschewing them
promptly and has done so ever since.
b) I believe you've never used the emacs tutorial, which is quite
definitely designed for you _not_ to have to fumble around between
windows

If I haven't, it must be the case that finding this tutorial (or even
discovering that it exists) was nontrivial, or it wasn't built into
emacs, one or the other. My memory is somewhat fuzzy after all these
years so you'll forgive me if I don't make a definite statement about
which. On the flip side, if I have, the tutorial can't have been all
it's cracked up to be. Especially given I can program Java
proficiently, including some fairly sophisticated network-using tools,
and clearly am not an idiot or untalented in technically demanding
areas involving substantial amounts of arcana. Of course, I might have
put more effort into learning effective Java; effort like that in
learning some language is necessary to being a programmer. Thanks to
modern editors and IDEs, putting a comparable amount into learning the
mere mechanics of operating a text editor is not necessary, and I
chose to spend the time and effort elsewhere, where it was necessary,
such as on learning a programming language.

The technical term for managing limited resources, such as time and
effort, first where needed and never where avoidable, is "efficiency",
in case you were unaware.
That doesn't even make sense. Either your memory is faulty
Impossible

you've never actually used emacs
Untrue

or you're just making things up.

Also untrue, and you've just accused me of incompetence once and of
lying twice, which in a formerly civil discussion constitutes behavior
that I consider to be in poor taste.
If I'm browsing the manual
online, I can switch from said manual to my document buffer without
making the manual scroll to the documentation for switch-to-buffer.

Apparently because you find the switch second nature, despite its not
being the obvious (which is ctrl-tab, to switch between documents in
an MDI app). Cheat sheet? Memorized with painstaking months of hard
effort? Thanks for proving my point, either way.
In fact, I am not aware of any package which auto-changes the *info* or
*Help* buffers to reflect the last keyboard command.

I didn't say it auto-changes. It manual-changes. The exact sequence of
events that causes this with a novice user being:
* Need to do X, and the usual command doesn't work (e.g. go to save
document and get search prompt)
* Now nothing much works (typing stuff bleeps), hit esc a bunch of
times
* Now it complains of hitting esc too many times, but typing into the
document at least works again
* OK, time to resort to *gulp* the help.
* Oh, great, now what did it do? I hit F1 and ...
* Eh. Try random stuff. Help starts with h. Alt-h? Ctrl-h? ...
* Oh, right. I seem to remember the help popping up unwanted when I
tried to backspace over a typo earlier, so I'll just do that.
* Hrm, now how to search the bloody thing?
* <Hours pass, some spent trying ctrl+f and ctrl+s, mostly
fruitlessly, followed by a load of scrolling>
* Ah. "How to do Foobar to your open document". Perfect!
* Oh crap. How do I do anything to my open document, when the focus is
on the help instead of the document?
* <Scrolling for ten minutes>
* Ah, I hit this. It worked!
* Oh, fudge. Where did "How to do Foobar to your open document" go?
The help's open to "How to switch windows". For shame.
* Switch back, scroll ... there it is.
* Crap, now I don't remember how to put the focus back on the document
window.
* More scrolling.
* Oh, fudge. Where did "How to do Foobar to your open document" go?
The help's open to "How to switch windows". For shame.
* <however many repetitions of the preceding 4 lines>
* Error: Stack overflow. Dumping core.

I trust you get the picture.

[snip]

Whoa, what did you just say? Page 899 of the ... good Christ. Er ...
Run! Flee! It's a monster! Head for the hills! Sound the civil defense
sirens, tornado TORNADO! *runs*
This is no different from emacs. There's a menu bar

What are you blithering about? Oh, great, now I'm using the term
"blithering". :p But ...

WHAT menu bar? We're discussing emacs. As in, a text-mode editor. As
in a cramped little 80x24 grid of letters, numbers, spaces, and
punctuation with no menus, no concept of a pointing device, and a bad
attitude.

Actually, the big thing the GUI and mouse did was rescue us from
escalating UI problems with tasks complex enough to require modes. You
needed either separate components with separate associated
functionality and a "focus" to move among them, or you needed commands
and keyboard-toggled modes. The former got you an emacs and the "can't
switch back from the help" syndrome, and the latter got you ...
something vile.

Until the GUI-with-pointing device, which made user control of a
"focus" a snap requiring virtually zero learning curve, and better
yet, what little learning there was being transferred readily across
applications. Unified windowing systems, with Macs and Windows,
cemented the victory of the pointing device over the problem of focus
management. Point at the thing you want to use next and click; that
simple. A child can do it. Using a GUI is like doing a job yourself,
such as washing the car. Using something from the dinosaur age,
especially afterwards, feels like sitting back and directing some
hired help. Help that happens to be blind as a bat as well as having
the usual poor grasp of English. "Left, Senor. Right, Senor. No not
THAT far right! Now you've gotten it all into the open drivers-side
window, and those documents I left on the front seat are ruined!"
Ouch. Yet trying to control old text-mode tools is pretty much exactly
the same, only the flawless English it speaks belies an even dodgier
grasp of same, or even the need to speak to it in some obscure dialect
of Greek full of "meta" instead...and it doesn't apologize when
there's a screwup a more hands-on interface would easily have
prevented.

If you want a job right, do it yourself. With a mouse, you can; no
need to speak an obscure variant of Swahili into a keyboard just to
get the focus to the document from the help or wherever. And to top it
off, every Windows app understands tab and alt-tab and most understand
ctrl-tab. Actually, the OS GUI components themselves understand alt-
tab, and the applications just get told the focus went elsewhere or
came back, making it one less area for application designers to screw
things up. (All too often, they screw up ctrl-tab in tabbed/MDI apps,
or screw up tab by using a dodgy tab order or controls with no visual
indication of focus, mind. And then you can just resort to the mouse,
rather than throw up your hands or find something non-electronic to
sob into so as to avoid ruining another $40 keyboard.)
You've actually hit on another advantage of emacs: consider emacs itself
as an operating system hosting multiple applications, in which the vast
majority of commands are the same.

It's an "operating system" to precisely the extent Windows 3.1 was.
It's like Windows 3.1 in a number of other ways too, including size
and aesthetics, though not stability. Even more like its predecessor
DOSShell.

Take that however you wish.

At least Windows 3.1 had most apps have the same keys for the vast
majority of commands, and those were the right keys. Emacs has all the
applications have the vast majority of their commands use the same
WRONG keys. Including whatever you'd use to rebind them. And the help
you'd use to find out what the damn keys are in the first place. ;)

And let's not forget that to someone with a 17" LCD monitor and a
blisteringly fast graphics card, 80x24 text in a terminal emulator is
somewhat underwhelming, and doesn't provide anything like the
information density needed to make truly complex software interfaces
usable. The human optic nerves have about 100Mbps of bandwidth *each*;
that's a couple of ethernet cables directly into the cortex. Even a
large, high resolution, big-color-gamut display with a decent refresh
rate doesn't use more than a fraction of that capacity to deliver
information to the user, even when the display is used to maximum
advantage by the software to provide state information and navigation
cues (and document views!).

Those dim old greenly-glowing 80x24 terminals flickering at 20-odd Hz,
by contrast ... barely adequate to design their own replacements on,
though necessary for same. It's a good thing some people are
apparently very good at maintaining most of the state information in
their head that that tiny little box of text isn't displaying to them,
and "reading between the lines" to make use of even fairly complex
applications through such a tiny interface. Or those replacements
might never have been built.
I can use the same text-editing
commands for reading & writing emails, reading & writing Usenet posts,
reading & writing code, browsing the web, organising my schedule and so
forth.

I'm not sure that's such an advantage. Sometimes, unifying tasks too
much creates security holes, especially when some of those tasks are
network-facing and some are not. Some proposed or actual Windows
features result in an unclear boundary between "my computer" and "the
net out there", and that's bound to result in leaked passwords and
credit-card numbers and all manner of other accidental breaches, as
well as enable a variety of new social engineering attacks to
purposely compromise more of the same. Phishing and similar attacks
already pose a problem, but if the "phishing" looks like it's local
applications or content instead of online, it's even more likely to be
mistakenly trusted.

One sometimes wonders if Microsoft has more sinister motives than "get
rich with as shoddy and cheap a product as possible" in light of
things like this. I do hope the unified stuff you describe in emacs
isn't the open source equivalent. There's frank danger in making it
too easy to mix up local stuff and online stuff while at work at a
computer.
The vast majority of what we do on a computer is reading & writing
text--wouldn't it be cool to have a full-fledged text editing
environment always available for that sort of thing?

Define "we". It can't be "people", because a substantial fraction of
people use computers heavily for image or even 3D manipulation, or
sound, rather than text, or a mixture with text not predominant, and a
much larger fraction use computers for absolutely nothing at all.

"Programmers" maybe. Even so, some people program from time to time
but do a lot of, say, image manipulation.

I expect even most programmers like to be able to see what the heck
they're doing, rather than resorting to fumbling around with a
flashlight or grunting terse instructions to a blind butler with an IQ
in the mid-zeros.
Wouldn't it be cool not to have one program implement search in one way, and another a
second way, and yet another a third? Wouldn't it be cool to have access
to a proper text editor when editing text on a web page?

Search is usually ctrl+f, type something, hit enter in my experience.
And I can use any text editor I want to edit HTML.
That's how I learnt emacs. I was 13, and had only ever used Mac
software up until that point. I had a fairly limited command set
(basically, C-x C-f, C-x C-s & C-x C-c).

That looks like three commands, although I can't be sure -- my Swahili
is a little rusty from years of disuse. ;)

I'd normally use at least eight -- open, save, quit, find/find next,
replace, cut, copy, and paste. That's not counting arrows, page up,
page down, del, backspace, and the like, and unixy tools don't let you
take even THOSE for granted. And if I needed more, add help. Add the
four arrows, page up, page down, delete-forwards, backspace, and help
to the original eight and we now have 17 commands. I seriously doubt
that your short chunk of Swahili up above encompasses all of them.
Do you realise that emacs has a GUI these days? I'm writing this in a
70-line window, with gtk+ widgets. Which means full-resolution,
full-colour.

What are you talking about? Clearly not emacs, which is a console app
for unix systems (with the inevitable MS-DOS ports and others). Some
sort of bastardized Windows port I suppose? I've seen the occasional
attempt at a Windows port of a unix tool, and the results are fairly
uniformly awful. Everything looks mostly right, and nothing works
quite right. They're often actually more unstable than native Windows
apps, probably because the porters don't know half as many of the
landmines littering the windoze APIs as real Windows application
programmers do (and *they* only know maybe half of the total, to judge
by the stability of even higher-quality Windows apps) and because they
are bolting on a thin layer of Windows widgets onto a core that works
in ways fundamentally alien to those same APIs. No real Windows app
dares to try spawning around 700 threads to service a request to copy
two lines of text to the clipboard, for example. :)
 
T

Twisted

Once again I am forced to wonder if you have _ever_ actually used
emacs. find-file has tab completion: hit tab without anything typed, and
it displays _everything_ in the directory; type a few characters to
narrow it down; hit tab to complete the filename and be done with it.

Or of course you could use directory mode, which enables you to navigate
around a directory tree, performing actions on files (including editing
them).

Then of course there's ido.el, which is even better: type a few
characters from anywhere in the name, and it displays files matching
those characters.

Really? None of this happens if you just do the straightforward file-
open command, which should obviously at least provide a navigable
directory tree, but definitely does not. One sounds like it involves
managing a separate open window on each directory you're interested in
(versus having a file...open dialog that falls open to the last place
you'd left it and doesn't clutter up any space when you're not opening
a file); the other sounds like it involves actually installing a
plugin of some kind, which is obviously well beyond what a beginner
should need to do just to get a freaking directory listing. :) Tab
completion is a poor cousin to a real directory tree navigator, as I'm
sure most would agree. Even if it will show all matches to a partial
name instead of none, it's the textual equivalent of navigating a
directory tree made into menus instead of provided by a proper folder
view window. Windows users unfortunately have the experience
regularly: the notorious Start menu. You have to expand submenus to
find stuff, and you can't leave it idling to do something somewhere
else and come back to it because it's a menu. Moreover, clicking an
item may display a large number of items the next level down, which
runs into screen display space issues. Even a large video mode can't
hide the fact that menus weren't really designed to list hundreds of
sibling items or for scrolling or finding stuff in a large set of
files, unlike folder windows. I can only imagine the pain of trying to
navigate an equivalent way in an 80x25 box of text information. That
would be like navigating the Windows start menu from outside your
house by peeking through a keyhole and reaching through a window with
a repurposed straightened out coathanger. Clumsy AND the neighbors'll
see you and call the cops well before you find the item you're looking
for. :) (Navigating the Windows start menu in safe mode, at 640x480,
is about as close as most Windows users are ever likely to come to the
nightmare of opening a file in emacs when you don't already know its
exact path.)
 
T

Twisted

REPOST: first post was "successful" according to GG, but failed to
appear.

Well if "It stinks!" is not incentive enough for him to change his
underwear, what will?

It's clearly not incentive enough for you to change your editor. ;)
 
T

Twisted

Because there is a menu called "HELP" and because the "standard"
keybinding for help, f1, brings up help? And because there is that
standard GNOME icon of a lifesaver which you can click?

Not to mention that there is an initial splash screen pointing most of
this out?

A menu? F1? A splash screen? In what, winword.exe? Because it sure
isn't emacs.
 
T

Twisted

[Twisted <[email protected]>]
|
| That sort of negative-sum thinking is alien to me. Software being easy
| for beginners to get started using does not in and of itself detract
| from its value to expert users.

the fact that you imply that this is my argument tells me that either
you have not paid attention, or you have a raging inferiority complex.
given the sum of your postings so far I'd say that you neither are,
nor consider yourself, a cerebral sort of person, so this narrows it
down somewhat (although not to the exclusion of you not having paid
attention).

That ... makes no sense. Sorry. Previously, I said:
Being beginner-friendly doesn't have to be at the expense of power or
expert-user usability

and you said that depended on the definition of "expert". Apparently
you believe there is a type of "expert" for whom beginner-friendly
software is intrinsically less usable than beginner-hostile software.

Given that beginner-friendliness does not preclude any kind of expert
level functionality being available (consider something configurable
enough that an advanced user can start it up and open an advanced-uses
window and immediately do advanced stuff, and a real expert can make
it start up with that window already open and focused by default), it
follows that these experts' perceptions of decreased usability are a
psychological result of simply knowing beginners can easily become
proficient in using basic functions of the software in question,
rather than a material result of some compromise necessarily made in
the software's design, as there is no such compromise that can't in
practise be avoided.

An expert who feels software is less suitable for his use *purely*
because the unwashed masses can actually use it to accomplish
something is quite obviously some type of elitist jerk.

I rest my case.
 
T

Twisted

Oh, but that just means that _YOU_ will have to stop posting such a
high volume here.

No, it means YOU will. It's not fair to force someone to fight without
leveling the playing field. Since Google has effectively required me
to fight with a broken arm, you will all have to tie one hand behind
your backs. In the interests of fairness.

It's also inconvenient to navigate to page 8 or 9 of the thread one
link at a time. GG obviously didn't consider making their interface
scale well when working with large threads. (Which is odd, since
jumping by any amount up to 5 in either direction in Google search
results was made possible.) It doesn't help that GG is apparently
hosted on a 386 with a dial-up Internet connection, to judge by the
page loading speeds, which bring back nostalgic feelings from the
1980s and makes me forget I have a 5MB/s broadband downlink and all
the latest computer and network goodies and all that other modern
crap. :)

I bet that 386 doesn't even have a 387 co-processor. For shame.

Oh, and please stop trying to hijack my postings to disappear into the
wrong newsgroup, arsehole. If you want to have the last word you
should at least be honest about it instead of sneaky.
How about making _summary_ answers then?

I've done that a few times, when three or four posts said basically
the same thing, and elsewhere too.

[snip a variety of insulting, reason-free twaddle I can't be bothered
to respond at length to]

[snip second link to screenshots of something that can't possibly be
emacs AND fit the given description simultaneously. Three things that
certainly never belong together in any combination of two, let alone
all three, are emacs, LaTeX, and WYSIWYG. Well, emacs and LaTeX might
be combined, I suppose. Some people are also into whips and chains, or
so I hear.]

[by the way I never followed that link; if I followed every link I saw
on usenet I'd be doing so 20 hours each day and probably cleaning
spyware off my machine for the remaining four, given how many links
are spammed links to highly questionable sites.]
 
D

David Kastrup

Twisted said:
That sounds like any application where you need to read the help, but
"f1" does not bring up a separate help window, switchable with the
main one using alt-tab or the mouse, and navigable using arrows,
pageup, pagedn, and the mouse.

Well, f1 brings up a prompt: f1 (type ? for further options)-
Typing ? brings up a separate window (and instructions how to scroll
it) with a variety of help options, among them the tutorial. If you
want a separate window, File/New Frame will give you that. Of course,
switchable with the main one using alt-tab or the mouse, and navigable
using arrows, pageup, pagedn and the mouse.
The result of that is invariably that when the document has the
focus, the help is open to "help on switching windows" rather than
whatever you need it to be on once the document has the focus. You
can read the help on doing what you want to do with the document,
but to apply it you need to transfer focus back to the document. If
doing that isn't second-nature, you have to navigate the help away
from where you need it to get the focus back to the document.
Nonsense.

Now the focus is on the document, but the help you need isn't
displayed next to it anymore. Frustrating? You can't begin to
imagine, I suspect. Apparently, some people are born somehow able to
avoid this problem without having to memorize one or the other piece
of help. You're clearly one of those. I am equally clearly NOT one
of those. Of course, if emacs let you keep THREE windows open and
visible at the same time, instead of being limited to one or a
horizontally split two ...

Which it does...
and a cramped 80x10 or so each, at that ...

Emacs frames can certainly be resized and repositioned at will using
the mouse...

You are really babbling a lot of nonsense that is, at best, somewhat
relevant for prehistoric versions of Emacs without GUI support.

Just shut up until you have installed and worked with a modern version
of Emacs.
If I haven't, it must be the case that finding this tutorial (or
even discovering that it exists) was nontrivial, or it wasn't built
into emacs, one or the other. My memory is somewhat fuzzy after all
these years so you'll forgive me if I don't make a definite
statement about which.

"After all these years"... You really should not rely on 10-year old
memories about an application.
On the flip side, if I have, the tutorial can't have been all it's
cracked up to be. Especially given I can program Java proficiently,

Apparently, at the time you last looked at Emacs, Java did not yet
exist.
including some fairly sophisticated network-using tools, and clearly
am not an idiot or untalented in technically demanding areas
involving substantial amounts of arcana.

Up to now you have not delivered any discourse that would warrant the
"clearly" in this sentence. Not that using Emacs involved
"substantial amounts of arcana".
The technical term for managing limited resources, such as time and
effort, first where needed and never where avoidable, is
"efficiency", in case you were unaware.

Sure, but babbling about a system you have never seen in its present
state for 10 years, and consequently putting your foot in your mouth
in hundreds of postings requiring hours of times spread over several
months, when it would take all of 10 minutes to get your information
somewhat up to scratch, is called "stupidity", in case you were
unaware.
Also untrue, and you've just accused me of incompetence once and of
lying twice, which in a formerly civil discussion constitutes
behavior that I consider to be in poor taste.

Well, so what is it about you accusing people of lying that report
experiences about a system you have never looked at in its current
state? You even accused me of lying when I posted _screenshots_ from
a publicly accessible site, suspecting me of forgery.
Apparently because you find the switch second nature, despite its
not being the obvious (which is ctrl-tab, to switch between
documents in an MDI app).

And which works fine when using Emacs frames. Look, you are making a
complete spectable of yourself. Get a current version of Emacs and
actually try it.
Cheat sheet? Memorized with painstaking months of hard effort?
Thanks for proving my point, either way.

You are babbling. Not that this is new.
I didn't say it auto-changes. It manual-changes. The exact sequence of
events that causes this with a novice user being:
* Need to do X, and the usual command doesn't work (e.g. go to save
document and get search prompt)

Try the File/Save menu.
* Now nothing much works (typing stuff bleeps),

Typing letters will search (the I-search: prompt in the message area
is pretty obvious). Typing other stuff (like cursor keys) will abort
the search and do their normal work. Clicking with the mouse into the
main window will abort the search and reposition the cursor. Quite
easy.
hit esc a bunch of times *

The splash screen already explains that C-g is used for aborting
operations.
Now it complains of hitting esc too many times,

No, it says "Quit" since it has quit the search.
but typing into the document at least works again * OK, time to
resort to *gulp* the help. * Oh, great, now what did it do? I hit
F1 and ... * Eh. Try random stuff.

No, F1 works fine for entering the help.
Help starts with h. Alt-h? Ctrl-h? ... * Oh, right. I seem to
remember the help popping up unwanted when I tried to backspace over
a typo earlier, so I'll just do that. * Hrm, now how to search the
bloody thing? * <Hours pass, some spent trying ctrl+f and ctrl+s,
mostly fruitlessly, followed by a load of
scrolling>

Well, what kind of help did you select? The tutorial explains about
Searching some point down in the document, certainly not requiring
hours of paging. But you could, of course, also click on the
Edit/Search menu. Or on the "Search" button in the toolbar: after
all, Emacs is a modern GUI application.
* Ah. "How to do Foobar to your open document". Perfect!
* Oh crap. How do I do anything to my open document, when the focus
is on the help instead of the document?
* <Scrolling for ten
minutes> * Ah, I hit this. It worked! * Oh, fudge. Where did "How
to do Foobar to your open document" go? The help's open to "How to
switch windows". For shame. * Switch back, scroll ... there it is.
* Crap, now I don't remember how to put the focus back on the
document window. * More scrolling. * Oh, fudge. Where did "How to
do Foobar to your open document" go? The help's open to "How to
switch windows". For shame. * <however many repetitions of the
preceding 4 lines> * Error: Stack overflow. Dumping core.

I trust you get the picture.

Yes. You don't have a clue what you are talking about. Your
experience is, self-admitted, at least 10 years old and completely
irrelevant to the modern state of Emacs. And, of course, the "Stack
overflow. Dumping core." nonsense bears no relation to _any_ behavior
_any_ version of Emacs, prehistoric or not, ever showed.
[snip]

Whoa, what did you just say? Page 899 of the ... good Christ. Er ...
Run! Flee! It's a monster! Head for the hills! Sound the civil
defense sirens, tornado TORNADO! *runs*

You are getting delirious.
What are you blithering about? Oh, great, now I'm using the term
"blithering". :p But ...

WHAT menu bar? We're discussing emacs. As in, a text-mode editor. As
in a cramped little 80x24 grid of letters, numbers, spaces, and
punctuation with no menus, no concept of a pointing device, and a
bad attitude.

We are discussing Emacs. An editor tightly integrated into the GUI
of, at choice, Windows, MacOSX, X11 Athena, X11 Gtk+, its own Lucid
widget set, with mouse navigation, toolbar, multiple resizable frames,
menubars, support of graphics, proportional and different-sized fonts
in the frame. The one displayed in the screenshots
<URL:http://www.gnu.org/software/auctex/screenshots.html> on the
AUCTeX web site.

You, on the other hand, are not "discussing Emacs" but talking
nonsense based on fuzzy memories of passing decade-old experiences
with an early predecessor.
Actually, the big thing the GUI and mouse did was rescue us from
escalating UI problems with tasks complex enough to require
modes. You needed either separate components with separate
associated functionality and a "focus" to move among them, or you
needed commands and keyboard-toggled modes. The former got you an
emacs and the "can't switch back from the help" syndrome,
and the latter got you ... something vile.

Get an update. Emacs started supporting window systems with Emacs 19
(a very long time ago), at first just under X11. But current versions
of Emacs support all modern GUIs with all features they offer.
Until the GUI-with-pointing device, which made user control of a
"focus" a snap requiring virtually zero learning curve, and better
yet, what little learning there was being transferred readily across
applications. Unified windowing systems, with Macs and Windows,
cemented the victory of the pointing device over the problem of
focus management. Point at the thing you want to use next and click;
that simple. A child can do it. Using a GUI is like doing a job
yourself, such as washing the car. Using something from the dinosaur
age, especially afterwards, feels like sitting back and directing
some hired help. Help that happens to be blind as a bat as well as
having the usual poor grasp of English. "Left, Senor. Right,
Senor. No not THAT far right! Now you've gotten it all into the open
drivers-side window, and those documents I left on the front seat
are ruined!" Ouch. Yet trying to control old text-mode tools is
pretty much exactly the same, only the flawless English it speaks
belies an even dodgier grasp of same, or even the need to speak to
it in some obscure dialect of Greek full of "meta" instead...and it
doesn't apologize when there's a screwup a more hands-on interface
would easily have prevented.

Again, you are babbling based on decade-old passing exposure to an
early predecessor of modern Emacs.

It is not like you have not been told a hundred times, over a duration
of several months. You could have downloaded, tried and _learnt_ a
modern version of Emacs in half the time you used for spewing about
it. You choose ignorance, and showing off what an idiot incapable of
rational behavior you are.
If you want a job right, do it yourself. With a mouse, you can; no
need to speak an obscure variant of Swahili into a keyboard just to
get the focus to the document from the help or wherever. And to top
it off, every Windows app understands tab and alt-tab and most
understand ctrl-tab.

As does Emacs. Or rather, it does not need to. Instead it reacts,
like other applications, to the frame and focus switching commands
from the window system which in itself interprets alt-tab.
Actually, the OS GUI components themselves understand alt- tab, and
the applications just get told the focus went elsewhere or came
back, making it one less area for application designers to screw
things up. (All too often, they screw up ctrl-tab in tabbed/MDI
apps, or screw up tab by using a dodgy tab order or controls with no
visual indication of focus, mind. And then you can just resort to
the mouse, rather than throw up your hands or find something
non-electronic to sob into so as to avoid ruining another $40
keyboard.)

And your point was?
And let's not forget that to someone with a 17" LCD monitor and a
blisteringly fast graphics card, 80x24 text in a terminal emulator is
somewhat underwhelming, and doesn't provide anything like the
information density needed to make truly complex software interfaces
usable.

You are talking about Emacs 18, or (in a DOS box, likely) at best
Emacs 19.

[Rest of the nonsense assuming that Emacs is a terminal application
only deleted]
Those dim old greenly-glowing 80x24 terminals flickering at 20-odd Hz,
by contrast ... barely adequate to design their own replacements on,
though necessary for same.

Again, you parade your incompetency even about the decade-old
experiences you choose to talk about. No terminal ever flickered at
less than 50Hz. The normal frequency for US built terminals was 60Hz.
"Programmers" maybe. Even so, some people program from time to time
but do a lot of, say, image manipulation.

I expect even most programmers like to be able to see what the heck
they're doing, rather than resorting to fumbling around with a
flashlight or grunting terse instructions to a blind butler with an
IQ in the mid-zeros.

The latter sounds like a description of you. Current versions of
Emacs 22 even offer browsing through directories with images (use the
image-dired function) and applying basic operations like rotating
them. Good for managing a photograph collection.
That looks like three commands, although I can't be sure -- my
Swahili is a little rusty from years of disuse. ;)

I'd normally use at least eight -- open, save, quit, find/find next,
replace, cut, copy, and paste.

All of those are on the toolbar (not to mention in the menus).
That's not counting arrows, page up, page down, del, backspace, and
the like, and unixy tools don't let you take even THOSE for
granted.

All of those work with Emacs.
And if I needed more, add help. Add the four arrows, page up, page
down, delete-forwards, backspace, and help to the original eight and
we now have 17 commands. I seriously doubt that your short chunk of
Swahili up above encompasses all of them.

All of that is available by clicking on icons, using scrollbars and
dedicated arrow/pageup/dn keys.
What are you talking about? Clearly not emacs, which is a console
app for unix systems (with the inevitable MS-DOS ports and
others). Some sort of bastardized Windows port I suppose?

You are so clueless. Take a look at the web page for AUCTeX
I've seen the occasional attempt at a Windows port of a unix tool,
and the results are fairly uniformly awful. Everything looks mostly
right, and nothing works quite right. They're often actually more
unstable than native Windows apps, probably because the porters
don't know half as many of the landmines littering the windoze APIs
as real Windows application programmers do (and *they* only know
maybe half of the total, to judge by the stability of even
higher-quality Windows apps) and because they are bolting on a thin
layer of Windows widgets onto a core that works in ways
fundamentally alien to those same APIs. No real Windows app dares to
try spawning around 700 threads to service a request to copy two
lines of text to the clipboard, for example. :)

The Windows port of Emacs is full-quality and full-functionality and
tightly integrated with Windows' GUI. You can get it with an
installer from the EmacsW32 web page
<URL:http://ourcomments.org/Emacs/EmacsW32.html>, for example, or from
the main Emacs distribution site from the FSF.

You are babbling uninformed outdated nonsense, and have been pointed
to the relevant info dozens of times over months. Yet you choose to
stay ignorant and continue looking like an uneducatable idiot.

Uneducatable idiots should not choose to work in the computing
business since things move fast there, and uneducatability (and the
unwillingness to reevaluate decade-old experience) are plainly a
hinderance.
 
D

David Kastrup

Twisted said:
Really? None of this happens if you just do the straightforward file-
open command, which should obviously at least provide a navigable
directory tree, but definitely does not.

It definitely _does_ when you are using the mouse to open your file
dialog. Again, _try_ a current version of Emacs before showing your
ignorance.

[Other nonsensical speculation deleted]
 
T

Twisted

[snipped most of unending megabytage of insults, typos, questionable
grammar, and rudeness]
[fixed yet another hijacking attempt; give it up already!]
The splash screen already explains that C-g is used for aborting
operations.

Emacs doesn't have a splash screen, and Esc is supposed to be used for
aborting operations, and in any sane user interface that is precisely
what it does. :)
No, it says "Quit" since it has quit the search.

I'm fairly sure it says M-Esc Esc: invalid command, or something along
those lines. Or did when I ran into this behavior.
after all, Emacs is a modern GUI application.

*sputters*

There simply isn't any point in continuing this debate. When you're
not resorting to ad hominem tactics and other sleazy ways to try to
win a debate (such as making his opponents replies mysteriously
disappear), you're making it clear that we're not even talking about
the same piece of software. Which makes your defenses inapplicable to
the software I'm criticizing. If you really are describing some
distant branch off the emacs family tree, this is akin to someone
reading a criticism of George H.W. Bush's administration and Gulf War
by praising George W. Bush, or Jeb Bush, or some such shrub. And, I
suspect but dearly hope not, actually honestly believing Bush Jr. is
running his Gulf War better than Sr. did ... but I've seen the results
of bolting a lip-service GUI onto a unix commandline/terminal-oriented
app, often in the name of having a Windows port, and it's generally
not pretty. :) (For starters, it's usually obvious that it's not a
native Windows application within 2 seconds of trying to use it -- I
can spot a Windows port of an X-aware version of a terminal app a mile
away, even if I don't notice a 43 megabyte X emulation layer appearing
in the task manager process list when I launch it. Oh, for the days
when an app being "eight megabytes and constantly swapping" was
considered worth moaning about! Moore's Law has a somewhat lackluster
corollary: bloat also doubles every year or two. Correspondingly, how
big something has to be before very many people start complaining of
bloat also doubles every year or two.)
Yes. You don't have a clue what you are talking about. Your
experience is, self-admitted, at least 10 years old and completely
irrelevant to the modern state of Emacs. And, of course, the "Stack
overflow. Dumping core." nonsense bears no relation to _any_ behavior
_any_ version of Emacs, prehistoric or not, ever showed.

To clarify slightly: that is the user's stack overflowing and the user
dumping core, not emacs.

I've only ever seen that happen under two circumstances. One of those
is when someone is confronted by emacs. The other is when someone
stumbles onto a posting on Usenet by one David Kastrup. :)

This one is a real doozy, too, rambling on and on with mostly content-
free insulting blather, dodgy grammar like using the word "modern"
within a few words of the word "emacs" in the same sentence, and
things like that. The one thing that jumps out in the bit I last
quoted as at all comprehensible being "Emacs, prehistoric". That I can
relate to. ;)
You are getting delirious.

Software that comes with a nine-hundred-page tome the size of an
Encyclopedia Britannica volume and twice as technical bearing a big
sticker that says "CAUTION: Read fully before attempting to use
accompanying product" can have that effect on you.
You, on the other hand, are not "discussing Emacs" but talking
nonsense based on fuzzy memories of passing decade-old experiences
with an early predecessor.

As near as I can figure out after blanking out the insulting parts and
attempting to parse some kind of sentences out of what remains, I am
discussing emacs and you are discussing AUCTeX. And neither of them is
especially relevant here in comp.lang.java.programmer. :p My memory
for exact details of software encounters from a few years (but nowhere
near 10) ago may be a little fuzzy, but my memory of how this started
a few days ago is crystal clear -- I simply piped up that Xah Lee made
a bit of sense for once. I suppose I should have known then that it
might not be such a good idea. Dammit. The other thread ("Java
editor") didn't explode like a small nuclear device when I pointed out
that someone's suggestion that a beginner's first choice of editor be
emacs or vi was insane.

Eh, who's that at my door? Oh, hello, Homeland Security. I guess it's
mentioning "George Bush" and "nuclear device" in the same Usenet post
that twigged something in your Echelon systems. Well there's nothing
to see here; it's just an editor flamewar on usenet, and you know how
those can get political. Haven't you got some terrorists to catch or
something? Goodbye.

Er, where were we?

Oh, yes. [snips a load of additional paragraphs, mostly repetitive,
mostly repeating the same few ad-hominem attacks in fact]

Oh look.

There's nothing left.
 
T

Twisted

[snip]

You bastard. You managed to sneak one past me and cause massive data
loss. I hope you feel proud of yourself, you prick. I replied to this
one at considerable length and it simply vanished. Something you did
makes Google try to redirect replies to comp.emacs, as usual lately
with your postings, as you try to have the last word by making replies
disappear instead of by winning through logic and reason.

Of course I looked in comp.emacs and the posting you hijacked does not
appear there, either. The thread is a full 30 posts bigger there, so
you've obviously sidelined a lot of other peoples' replies with this
tactic, though not most of mine. That one, however, is apparently just
*gone*. That is a substantial fraction of my time and effort you
destroyed you piece of shit. This will be my last reply to any of your
postings here or elsewhere. It is obvious that you will not fight
fair, and insist on resorting to dirty tricks to silence opponents and
delete their responses to you, even after being repeatedly called on
blatant attempts at scummy tricks and asked to stop. That is not the
mark of a mature person or one worth debating the best choice of a
phpBB theme for a board with a whopping six members with, let alone
discussing anything actually important.

Data destruction, apparently unrecoverably (at this point, it has
definitely not appeared at GG or the text-only-read-only nntp server I
sometimes use, in either cljp or comp.emacs), is crossing a very
serious line, at that. You keep this kind of tactic up and sooner or
later you'll probably be hearing from someone's lawyers. Not mine,
though -- I have bigger fish to fry; you just aren't worth that kind
of effort to me.

Good-bye.
 
T

Timofei Shatrov

I gave it twice that, and it failed to grow on me in that amount of
time.


That sounds like any application where you need to read the help, but
"f1" does not bring up a separate help window, switchable with the
main one using alt-tab or the mouse, and navigable using arrows,
pageup, pagedn, and the mouse. The result of that is invariably that
when the document has the focus, the help is open to "help on
switching windows" rather than whatever you need it to be on once the
document has the focus. You can read the help on doing what you want
to do with the document, but to apply it you need to transfer focus
back to the document. If doing that isn't second-nature, you have to
navigate the help away from where you need it to get the focus back to
the document. Now the focus is on the document, but the help you need
isn't displayed next to it anymore. Frustrating? You can't begin to
imagine, I suspect. Apparently, some people are born somehow able to
avoid this problem without having to memorize one or the other piece
of help. You're clearly one of those. I am equally clearly NOT one of
those. Of course, if emacs let you keep THREE windows open and visible
at the same time, instead of being limited to one or a horizontally
split two ... and a cramped 80x10 or so each, at that ...

What an idiot. At least get yourt facts straight before posting such bullshit.
 
D

David Golden

Timofei said:
What an idiot. At least get yourt facts straight before posting such
bullshit.

I think at this stage it's quite reasonable to assume he's trolling, and
recycling old trolls, too. Certainly looks like someone very like him
used to haunt rec.games.roguelike.development as "Neo" and "Twisted
One", in the 2005 era. Of course, by bothering to point this out, I'm
giving him more attention, the recognition he presumably craves, my
bad.

http://groups.google.com/group/rec.games.roguelike.development/msg/6f0fac979ef1d117
"""

Message-ID: <[email protected]>
Date: Tue, 22 Mar 2005 19:00:06 -0500
From: Twisted One <[email protected]>

Emacs doesn't let you do that either. It lets you have exactly two
panes.

"""


http://groups.google.com/group/rec.games.roguelike.development/msg/cfd723fbdc4a93f8
"""

From: David Damerell <[email protected]>
Date: 23 Mar 2005 13:22:00 +0000 (GMT)
Message-ID: <4Vw*[email protected]>

Quoting Twisted One said:
Emacs doesn't let you do that either. It lets you have exactly two
panes.

No, this is completely false.

"""


.... So, probably deliberately trolling, or just maybe a learning
difficulty - literally (corrected on multiple occasions, still
failed to learn).
 
M

Martin Gregorie

Twisted said:
On Jun 23, 10:36 am, Martin Gregorie <[email protected]>
wrote:

Actually, what I prefer in (2D and 3D) visual design apps is the
ability to snap to some kind of grid/existing vertices, and to zoom in
close. Then small imprecisions in mouse movement can be rendered
unimportant.
That might work for visual design apps, but it doesn't for CAD, where
you may want to point to an arbitrary position with a (scaled) accuracy
of microns.

The fact remains that mechanical mice do jump when you click them,
though optical mice are better in this respect.
The problem of course being the complete exclusion of type 1 users.
>
Totally untrue. They are the people that all the standard GUIs are
designed for and some (e.g Mackintosh) are very fast to learn. The
exclusion is down to the way that the purveyors of GUIs keep spreading
bullshit about how any untrained person can use a computer and never
mess it up or loose data. Thats not true and never can be: a computer is
the most complex device the average person will own or use and is likely
to retain that title for the foreseeable future.

I grant you that type 2 users are rare, but I think flight simulators
may fit this case when used for training.
One with a bog-standard UI but also a "console" or command prompt,
scripting language, and customizable bindings?
Not really. What's needed is a single interface that can be used by
anybody from beginner to expert and that, in the case of an error, shows
precisely where it got, what caused the action to fail to complete and
that allows the user to continue from that point without having to
undo/redo the bits that were successful. Its not easy, but it can be done.
ROM BASICs and QBasic (on any really ancient microcomputer, and old
pre-Windows PCs, respectively; the former came with printed manuals
and you could just run prepackaged software from disks very easily;
>
Hang on: you don't read manuals. You object to using tutorials and to
buying books, so its a bit precious to claim this example.
* The word processor with the usual interface where I can define
logical styles, then change them in only one place and affect every
pre-existing occurrence retroactively.
>
Thats been in Word since DOS days and is part of OpenOffice. Its called
a "style sheet". The only WPs I've used that didn't use them were
Wordperfect, WordStar, DEC WPS+ and the Wang dedicated WP systems. All
were horrid to varying degrees, with Wordperfect and Wordstar tying for
worst.
* The word processor with the usual interface where I can also view an
underlying markup representation and hand-hack that,
>
You're thinking of Wordperfect and its 'Reveal Codes' function. That was
the worst idea I've ever seen in a WP, matched only by the illogically
arranged set of 12 function keys, each with 4 shifts.
and which likely has the capabilities of the first two as a direct
> consequence of the implied architecture.
>
It didn't. 'Reveal codes' could only let you inspect the current
document. Unfortunately it was essential to use it because some input
sequences could completely mess up the formatting and the only way to
recover was via 'Reveal codes'. The effect was similar to making a data
entry clerk use a hex editor on a database to fix keyboarding errors.

NOTE: I'm not talking about secretaries using WordPerfect. Those that
used it hated it. I'm talking about the experience of IT professionals
writing structured text, e.g. system specifications.
* The operating system where you can do powerful stuff with a command
line and a script or two, but can also get by without either. (Windows
fails the former. Linux fails the latter.)
>
Here you're talking about two different interfaces again. The nearest
I've seen to good solutions at OS level were the CL interface provided
by ICL's VME mainframes and IBM's AS/400 systems. The latter was
particularly good, with a single unified text screen interface which
provided help screens, menus and a command line. You could search for
and find commands via a menu structure, and then use form filling to
provide the arguments, with help available at any stage. If you were
writing a script the entire menu and form filling system was available
from within the text editor - but when you hit ENTER the completed
command was written into your script instead of being executed.

Both OS/400 and VME were very consistent in the way they assigned
command names and argument keywords. In both OSen it was possible to
think "if there's a command to do this it will be called BLAHBLAH", type
the name, hit the command completion key and have the argument entry
screen pop up ready to be filled in.

BTW, in both OSen this capability applied to user-written scripts and
programs as well as to the standard command set. Both could claim to be
object oriented: the VME command language was derived from Algol-68,
arguably the granddaddy of all OO programming languages.
* For that matter, the operating system whose GUI takes the concept
behind OLE to its logical conclusion, and lets the user separately
choose and configure their text editing, this-editing, that-editing,
whosit-viewing,
>
The AS/400 editor did exactly that. There was only one, but it swapped
personality to match the task and was language-aware as well as
application aware. It produced form-filling interfaces to help you write
command scripts. If you were writing a program it gave language-specific
prompts and could run syntax checks on each statement as it was entered.
If you didn't want any of that, it would just quietly accept input like
any other text editor.
The bog-standard alt, this, that sequences on Windows "come close";
they do make the menus display, but otherwise they do exactly what you
want, and you can ignore the menus blinking around in your peripheral
vision.
No they don't: you can't easily string them together to act as a single
command and the error diagnosis and reporting is remarkably poor. Same
goes for Gnome, so I'm not particularly bashing Windows here.
 
M

Martin Gregorie

Twisted said:
At least Windows 3.1 had most apps have the same keys for the vast
majority of commands, and those were the right keys. Emacs has all the
applications have the vast majority of their commands use the same
WRONG keys. Including whatever you'd use to rebind them. And the help
you'd use to find out what the damn keys are in the first place. ;)
You're mis-remembering this.

Apple, first with the Lisa and then with the Mackintosh, had extremely
consistent menus, menu shortcuts and other key assignments. It was
possible to teach almost anybody to use them in 15 minutes flat. A major
reason for the consistency was the Programmer's Toolbox, a piece of ROM
that contained all the stuff an application needed to handle keyboard,
mouse and menus. It was there and easy to use, so of course all
applications programmers used it.

Windows 3 and 3.1 were the first usable Windows versions. Windows 1 and
2 were a bad jokes. Win/286 worked but had no applications. Win 3.x
worked a lot better. However, it lacked any equivalent of the
Programmers Toolbox and as a result the applications were anything but
consistent. MS applications were self-similar, but other apps used
wildly divergent ideas about menu structures, shortcuts and key
assignments. Compare 3.x versions of Word with Wordperfect, or the
Borland IDEs and this is obvious.

MS finally kicked applications providers into more-or-less consistency
but that wasn't before Win 95 appeared and they then spoilt the record
by arbitrary and capricious menu changes as each version of MS Office
appeared.
 
L

Lars Enderin

David Kastrup is right on all counts. You are wrong on all counts.

I have been using emacs, or clones of emacs (for DECsystem-10 and
DECSYSTEM-20), for more than 30 years, and have had no problems.
I have done all C, C++, and Java development using emacs.

In an earlier post, you used somebody's unawareness of a recent emacs
library (tramp), which for example enables root operations inside emacs,
to denigrate emacs. This was completely uncalled for - I did not have
that library in my version 21 emacs - it's a very recent development.
You don't need to know everything about emacs to use it effectively.
 
T

Twisted

That might work for visual design apps, but it doesn't for CAD, where
you may want to point to an arbitrary position with a (scaled) accuracy
of microns.

I didn't mention that you should be able to zoom and make the grid
fine to whatever limit is reasonable given the application? The issue
being, how accurate is "accurate enough"? Pinpoint precision isn't
possible, unless it's an integer or a functionally derived value like
pi or some arithmetic result of that. Grids are good for getting
rational numbers exactly, and nothing will hit the irrational ones
exactly, save if you can enter a formula for it to use to compute the
point's location to any desired precision. A mouse click (sans grid)
will always introduce some error; the zoom level lets you limit the
magnitude of the error. So does a grid, and to zero if the desired
point is a grid vertex, and to half the grid size more generally.
The fact remains that mechanical mice do jump when you click them,
though optical mice are better in this respect.

Ultimately, the button has to be non-mechanical for this sort of thing
to really work. Or else not physically part of the mouse. Being able
to "click" from the keyboard makes sense given such requirements. So
does being able to snap to a grid.
Totally untrue.

I'm not talking about in general. I'm talking about the specific sorts
of unixy applications that are under discussion here. Those
emphatically cater solely to type-3s and type-4s, aside from newer
graphical apps for KDE and Gnome, which are emerging as a third group
of type-1-accessible tool alongside Mac applications and Windows
applications.
Thats not true and never can be: a computer is
the most complex device the average person will own or use and is likely
to retain that title for the foreseeable future.

What about the fabrication devices? Oh, but I suppose the "foreseeable
future" has already ended by the time those trickle down to widespread
consumer use.
I grant you that type 2 users are rare, but I think flight simulators
may fit this case when used for training.

Anything you have to use to meet some important external goal, I
suppose. But most usually there are options. A programmer needs a text
editor but it need not be emacs. Jobs requiring the use of specific
software (for training, or just on the job) maybe, of which your
example is a subset.
Not really. What's needed is a single interface that can be used by
anybody from beginner to expert and that, in the case of an error, shows
precisely where it got, what caused the action to fail to complete and
that allows the user to continue from that point without having to
undo/redo the bits that were successful. Its not easy, but it can be done.

Why do those who have the skills, talent, knowledge, and thus
capability to do this insist on making cruft like emacs then? I've
never seen a classic-unix tool that didn't barf unhelpful and
uninformative error messages at the drop of a hat (just like Windows!)
and present a piss-poor UI, or even no UI at all (unless "usage: blah
blah blah" qualifies as a UI, to which my response is one word. "Non-
interactive.") When the error messages are informative, they're still
cryptic, and only someone with knowledge of the software's internals
has a hope in hell of fixing the problem as a rule. Of course, the
number one rule of interface design is to speak the user's language
and the language of the problem domain, and remain mute (except to
developers invoking debug modes) about the implementation details and
the language of the solution domain. Especially given that a different
version of the same software, nevermind a different app with the same
usage, is probably going to use a different implementation anyway. One
exception can be to expose a specific scripting language for advanced
users to use to automate tasks. Emacs does this, and it's one thing I
don't have a problem with. As long as knowledge of its arcana is not
needed to either do straightforward stuff, or fix the errors that
occur attempting to do straightforward stuff, anyway. If the beginner
can safely ignore the thing's existence (e.g. the VB-based scripting
language in some office and paint programs) it's fine.
Hang on: you don't read manuals. You object to using tutorials and to
buying books, so its a bit precious to claim this example.

The manuals came with the computers, at no additional charge. It was a
different time. This isn't going to be true of any separately-
purchased book or user-made printout concerning emacs. Also, the
manuals provided a basic introduction for the beginning user. A
traditional-unix-tool providing anything resembling that would
genuinely shock me.
Thats been in Word since DOS days and is part of OpenOffice. Its called
a "style sheet".

I distinctly remember Winword circa 2002 not being able to
retroactively change all of a bunch of like-formatted paragraphs
easily. Not without delving into VBscript or something, anyway.
You're thinking of Wordperfect and its 'Reveal Codes' function. That was
the worst idea I've ever seen in a WP, matched only by the illogically
arranged set of 12 function keys, each with 4 shifts.
Why?

It didn't. 'Reveal codes' could only let you inspect the current
document. Unfortunately it was essential to use it because some input
sequences could completely mess up the formatting and the only way to
recover was via 'Reveal codes'. The effect was similar to making a data
entry clerk use a hex editor on a database to fix keyboarding errors.

Oh, because the implementation (of "reveal codes" and of everything
else) was awful, not because of any intrinsic flaw in the idea itself.

Would you want to edit a Web page without being able to hand-hack the
HTML? Use a GUI builder for Swing without being able to hand-hack the
Java? Thought not.

[Snip description of an advanced-for-its-time interface]

What happened to the guys that did all this stuff after it became
obsolete? Microsoft offer them $300 grand a year to mop floors or sit
in on various board meetings without a vote or something to get them
out of the way, being unable to use their talents competently and
equally unable to stand having them work for a competitor, or worse,
contribute to open source? Or offer a mob type $100 grand once to
whack them maybe?
No they don't: you can't easily string them together to act as a single
command and the error diagnosis and reporting is remarkably poor. Same
goes for Gnome, so I'm not particularly bashing Windows here.

You can string them together manually, or use a keyboard macro
recording and playback tool (they exist, though one doesn't come
standard with Windows; I think maybe one does with MacOS). It would be
nice if straightforward macro recording was standard in Windows
though.

On the other hand, I've not always been 100% sure of that sort of
thing. Even seemingly straightforward search-and-replace can suffer
from Sorceror's Apprentice Syndrome even at the best of times. And if
the thing treats every individual replace as a separate undoable
action instead of the one batch-of-replaces, and has a buffer of only
10 undos, and 13 items match, and one of them was unexpected and
shouldn't have been replaced...

Macro capabilities might be a dream, but macros running amok are a
nightmare. Maybe a real programmability would be better. I think the
scripting language capabilities in some apps provide that, with more
ability to control and constrain it from going into Sorceror's
Apprentice mode, but every app tends to have its own scripting
language and API and no real introduction-to-scripting type stuff,
leading us back to "the emacs problem" -- an arcane interface that
begins and ends in midair, with nowhere for the beginning user to
climb aboard, and differing from application to application so
limiting the value of investing much time in any one of them versus if
a single universal one were used (say Lua, or even elisp, or even
*gag* VB...)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,444
Messages
2,571,709
Members
48,796
Latest member
Greg L.
Top