Interface Zen
The following was written by Slashdot Reader and Perl God Tom Christiansen .
He stands like a statue, becomes part of the machineWhen was the last time you really zenned out on a pinball machine? You know what I'm talking about: that transcendent state of consciousness in which you're no longer carefully calculating what to do and when to do it. You're completely oblivious of anything in the universe except for the ricochets of that silver ball. You're so totally in the groove that those extra balls and replays just keep racking up. Spectators and would-be players come and go, but their presence barely registers in your mind. Hours later, when it's all over and you finally step away from the machine, you find that words come haltingly; you've gone a bit nonverbal. Drifting off to sleep that night, instead of getting darker when you close your eyes, the world gets brighter as hypnagogic flashes from today's games explode in your mind's eye like comets dancing with lightning.
Feeling all the bumpers, always playing clean
Plays by intuition, the digit counters fall
That deaf, dumb and blind kid sure plays a mean pinball.
from Pinball Wizard, sung by Elton John in Who's "Tommy"
It's a pretty neat feeling, isn't it? You were in an altered mental state--a high, if you would. And like any other high, pinball zen is a bit addicting. Not only will this high leave you a lot less poor than plenty of others would, the only physical side-effects are apt to be some sore pects the next day.
This pleasant state of mind is hardly limited to pinball. You can become one with your skis and the powder you're flying over. You can become one with your musical instrument of choice. And, if you're a hacker, you can become one with your computer.
I'm not talking about sitting for hours on end, clicking from one web page to the next as trivia trickles passively in. I'm talking about actually creating or seriously manipulating something, not just impersonating the couch potatoes down the hall in the TV room. You're in the groove; you've got all the right moves down so pat you don't even think about doing them. The world again fades away. There is the computer. There is you. There is nothing else. And this is good.
This blissful state of being one with your computer doesn't actually have much to do with your computer. Paradoxically, the computer just gets in the way, a constant reminder of irrelevant physical constraints and realities. As long as your brain needs to spend time thinking about hardware, like the keyboard or the mouse or a flickering monitor or a whining disk drive, you will be forever denied access to the altered states. That's because it's not the computer itself you're trying to become one with. It's the software world that you're trying to enter. Only when the physical world recedes from conscious awareness can enlightenment become possible.
When you're learning a new piece of music, bringing it up to performance tempo and committing it to memory, a funny thing happens. After enough practice, it feels as though your fingers themselves remember how to play the piece. You don't even watch them. They've a job to do, and once they've it, can go about that job remarkably free of direct supervision. The key to clearing the mind of the outside world so that the program becomes the dominant reality is what a musician would call "finger memory". (You might have heard athletes or dancers refer to it as muscle memory, but when we're talking about using the computer, it really is the fingers that count.)
Of course, that's not really what's going on; it only seems to be. Your fingers don't really remember. But a part of your brain that controls them does, even though "you" don't realize it. What's happened is that you've so successfully assimilated the moves needed that conscious direction is no longer required. The little lighthouse keeper behind your forehead can worry about other things, assured that your fingers will do the job you've trained them to do. Your eyes are on the screen, the program in your head, and your head is in the program. Your fingers become an unnoticed extension of your will. They're are no more a conscious concern when typing commands than are your feet when you decide to walk across the room. That's probably just as well, because if you ever thought too much about how walking is really just perpetual falling and nick-of-time rescue, you'd probably stop being able to do it as well as you can now.
It's a shame, but many people never achieve the same zenning out with a program that they may with a pinball game or a musical instrument. Still, it can and does happen, and although it's something of an uncanny thing to witness someone else doing, it's a beautiful one to experience personally. In this satori-like state of experiencing knowledge without thought, the program's commands have become so deeply etched into your wetware that low-level tasks no longer require conscious direction. Your fingers seem to remember to do on their own. Now on automatic pilot, they dance across the keyboard as quickly and as accurately as any performing pianist's fingers move, and just as automatically.
This isn't to say that the keyboard is the sole path to blindingly efficient computer use. Far from it! To be honest, the keyboard is sometimes the worst possible choice. It's entirely dependent on the task. For example, if you're playing xbill, the hacker's favorite video game, you certainly don't want to try use the keyboard instead of the mouse. It's just going to slow you down. But neither does that mean that the mouse is always the best choice for all interactions.
Here's another example. I once tried using xmame to play millipede. Using the keyboard for movement was excruciatingly painful, but the mouse wasn't all that much better. I realized that I would never become one with the millipede using either access device. But just a few feet away stood a real millipede game (yes, I actually do own one). I have no problem becoming one with that version, even though as far as the software goes, it's the same as what xmame is running. Why? Because the real game has a trackball, that's why! No longer tied to a clunky input device, I could sail along so fast that the non-rational part of my brain could take over, and like Tommy, play by intuition alone. After the first 200,000 points, you get to play with eight darting spiders simultaneously. Try it sometime. It's a real trip.
There's no question that certain tasks, the keyboard is clearly the optimally efficient input device. Consider the game of rogue or one of its more recent incarnations. You wouldn't want to use anything but a keyboard there. The command set is just too rich. Trying to play the game with a mouse and menu interface instead of a keyboard one would slow you down by at least two orders of magnitude. It would be as bad as trying to play millipede with a keyboard, if not worse. As someone who at times spent most of his non-hacking waking hours at university playing rogue, srogue, larn, moria, and nethack, you'll just have to take my word on this. I certainly became one with the game. My fingers flew across the keys; my eyes never left the screen. I never had to think about how to do what I wanted to do, because no sooner did the desire enter my head than my finger memory took care of it.
When I wasn't playing rogue at university, I was hacking on code, for which I used a popular rogue-variant called vi. Yes, I know you probably think of vi as an editor, but I've always found people more receptive when I explain that it's actually a video game that gets a job done, too. In any event, the command set and design philosophy of the two programs overlap well enough to permit cross-competence between them. And as with rogue, I could zen out on vi. I was tremendously lucky I could, too, because most of the classes in my compsci program required more than 10,000 lines of code for each course. Now, try taking two or three of those classes in one term. You had to have a powerful and super-efficient editor, and you had to let the mechanics of the editor fade into the background, or else you just didn't survive. By zenning out, you ascended to a higher plane of productivity and did things that you normally couldn't do.
It sometimes seems that as time marches on, fewer and fewer people will get the chance to experience the sublime joy of becoming one with their computer. It's as though hardware and software manufacturers were all conspiring to render this good, clean high an unattainable one. It's not illegal, at least as far as I know, but for most people, it might as well be. In pursuit of the dubious goal of producing idiot-proof, zero-learning-curve programs, even programs intended for long-term, heavy-duty use such as an editor--arguably the most important piece of software you'll use--have been turned into children's toys, effectively expert-proofed. In mindless and unexamined pursuit of false efficency, the programs' authors have sacrificed all the design attributes that let our fingers go about their proper business, got our faces up out of the mundane mechanics, and let our minds transcend the hardware and get into the program. They installed, if not outright roadblocks, then velocity regulators and gratuitous speedbumps.
How did this ever happen? Let's start with why the current crop of keyboards are suboptimal in the extreme. There's a general rule (Fitts's Law) that says that the farther away something is, the larger it needs to be for equally swift access. This is true even if you are looking at the keys (but don't do that--see below), and fatal if you aren't. Distant keys like SHIFT, ENTER, TAB, CONTROL, and the spacebar used to be larger, but they keep getting smaller as more and more vanity keys get added to your main keyboard. Look at an old Sun keyboard. Notice how SHIFT is bigger than CONTROL, and CONTROL is bigger than TAB. This size corresponds to how much relative use you make of those keys. Oh, and the CONTROL key is both large and conveniently located on a Sun keyboard. What a joy.
Now go look on the cretinous keyboard that came with some poor sot's Wintel box. The spacebar, the most important key on the whole keyboard, is but a shrivelled and shrunken vestige of its former self. The ESCAPE key has been moved to the penalty zone, the CONTROL key is both distant and small (that's two strikes), and there's a CAPSLOCK key that's just as big as the TAB key. Hello? What are these people thinking? That I want to hit CAPSLOCK as often as I do tab, and that I don't care about CONTROL or ESCAPE? This is all nuts. The proper place for a CAPSLOCK key is in a different hemisphere from you. If we ever manage find out who invented that abomination, we're all going to show up for the lynching party, but we'll have to wait our turn in a line of programmeers stretching all the way from Boston to Mountain View.
If it were only the outlandishly rococo keyboards they were shoving at us, we hackers might still have a chance to become one with our computers. After all, we could always get a real keyboard instead, one with a decent layout and sans penalty zone.
But really, this is but the least of our many problems. First of all, there's no end of brain-damnged programs these days which both expect and require you to constantly enter and exit the penalty zone. This destroys your concentration, because you can no longer get there and back again while still looking at the screen. You incur a context-switch penalty that feels like a speedbump in your typing. It slows down your hands, and it interrupts your eyes. Once that happens, your concentration takes a severe blow as you're forced to deal with mechanics, once which you cannot internalize or omit.
The next gross inconvenience is requiring chorded key combinations. Any time you have to hold two or more keys down at the same time, this becomes more difficult to finagle. Compare how difficult it is to type a CONTROL-G chorded combination with a simple, unshifted `g'. If you ever need to hit a chord with more than two keys, such as CONTROL-ALT-SHIFT-F11, you're in serious, serious trouble. This kind of thing is especially arduous on keyboards lacking duplicated left and right versions of the modifer keys. There's a very good reason we have two SHIFT keys. We should have two control keys as well, and these should be easily accessible without looking. It's a lot easier on the hand to use the right-hand SHIFT key with a letter like `e' or `g'. Why should it be any different with CONTROL, ALT, or the vanity keys?
If you're striving for efficiency, it's best to stay away from chords entirely. If you look at the way popular video games like rogue and vi work, their command structure consist mainly of single, non-chorded keystrokes, or sequences of single keystrokes. That's why those games are inherently easier on the typist than games like emacs are, where all your most valuable real estate has been thrown away, and every command is now a chord. Chorded commands are harder to type because you have to hold down the SHIFT or CONTROL key, but in a program designed for efficient use, these are relegated to rarer activities, so the impact is minimized. The easy stuff is easy, and you never have to slow down, or even look down.
Consider how much easier it is to type a `/' to start a search than it is to start a search instead of a ALT-S, or horrors, pulling down a menu. There's no reason that a slash can't mean a search in context where it makes sense. This wouldn't mean that if you were typing in a path name in some text box that a search window would pop up. You simply make it context sensitive. Humans, you know, are really very good at context. Check out this sentence: "Can you please can the can-can while I'm in the can, man?" No problem. You see, our brains don't work off of a context-free grammar, and there's no reason that commands, keystroke or otherwise, should. In fact, because our brains do not work off of a context-free grammar, making our command set context free would be running against our inner natures. It's just not how we think.
Besides the useless vanity keys stealing invaluable real estate from the main keyboard, we are saddled with an ever-growing number of extra keys in the penalty zone, such as function keys, INSERT and its friends, arrow keys, and relics out of the shrouded mists of antiquity such as SysRQ and Scroll Lock. I'm sure there will be more in a year or two.
Can you imagine how painful it would be if you were typing in some code or a letter, and every time you wanted to go to the next line, you had to use ENTER key way over on the numeric keypad? That would be nuts, wouldn't it? So can anyone tell me why programs expect you to switch back and forth between the real keyboard and the penalty zone? Apparently nobody ever told them that the closer something is, the easier it is. According to Fitt's Law, something right underneath you is infinitely large, and, consequently, the most readily accessible. Proximity combined with non-chorded keystroke commands is why the rogue-style movement ("hjkl") is easier on the hand than emacs-style movement (CONTROL-B, CONTROL-N, CONTROL-P, CONTROL-F), and both of these are easier by far than using arrow keys over there in the penalty zone.
The much vaunted arrow keys, ostensibly easier to use for cursor motion, are in fact tremendously harder to use. First of all, if you're mixing commands over in the penalty zone with other commands which are on the keyboard, you're never going to achieve keyboard satori. You've got too much back-and-forth going on to find your grove. Your eyes act as a bridge linking two virtual worlds, one inside your head and the other inside your computer's memory. With arrow movements, they have to desert their post as vicar and go slumming in the real world for a while to play tour guide long enough to get you there and back again.
The second reason the arrow keys are inherently evil is that they are set in an arrangement designed by a masochist, probably the same nimrod who stuck us with the CAPSLOCK key. Even if all you were doing was keeping one hand poised above the arrow keys and never switching keyboard domains, you still would be slowed unacceptably. That's because the up arrow and the down arrow are directly aligned vertically. Your hand despises this, which is why the rest of the main keyboard has no such configuration on it anywhere. To see what I mean, try using the `j' and `k' keys in rapid succession, back and forth as though you were executing a trill. It's quite easy to go up three, down one, up two, etc. But now try playing your trill on the up and down arrows. Whoops! You have to turn your hand completely sideways, or use the same finger to do both jobs. Either way you play it, you lose.
Does the visible label on the arrow keys truly offset the gross inefficiencies of being placed in the penalty zone and being stacked vertically? After all, the argument runs, someone who doesn't know the key command to move around can just use those. In the shallow and ephemeral world of zero-learning-curve and one-shot programs, this might have a scant of iota of reason behind it. But really, for just how long do you expect your users to remain ignorant? Once they learn what the motion key is, they're not going to forget it from one moment to the next. If you assume that users cannot or will not learn, you thereby guarantee this very outcome. That hardly seems either fair or productive.
The third reason that arrow keys are inherently evil is that they support navigation based characters alone. You'll never move on to higher abstractions, like words, sentences, or paragraphs, or in the programming world, to tokens, expressions, statements, blocks, or functions. By relying upon arrow use alone for movement and discouraging other kinds of information chunking, you lock your poor users into a tedious monotony and forever bar them from making the jump to light speed.
In any program designed for heavy use, the penalty zone should be not merely strenuously avoided, but completely banned. The keys there interfere with your prospects of ever becoming one with the computer. But isn't the numeric keypad in the penalty zone, and isn't it great for accountants? Don't they become one with their keypad? Well, sure they do. That's because they're staying in the same area. If all you're doing is entering numbers, then it's actually a good bit quicker to use the numeric keypad, because it fits under the hand better. The keypad also optimized for numeric data entry: see how much larger the `0' key is there, and the `+' key? If you don't know why, watch a bean counter entering numbers on it some time. Now go to your keyboard manufactures and demand the return of the your CONTROL key to it proper place and the restoration your wimpy spacebar to its proper size.
Don't expect to switch between numeric keypad and the main keyboard with anything resembling speed or accuracy. Unlike a normal clavier, where you can feel where you are in the scale because of the alternating two-three sets of raised keys, on a computer keyboard, no such sign posts exit. That means that while, the musical keyboardist can often make tremendous leaps in complete confidence without bothering to engage his eyes, the computer keyboardist cannot. Sure, you've probably got little nibs on your `F' and `J' keys, and on the `5' over on the numeric keypad, and it's a good thing that they're there, but really, they don't help that much compared with a real keyboard's cues.
The lesson is that if you're going to change domains so radically that your hand has to move somewhere else, you absolutely need to stay right where you are for a good while in order to amortize the extreme cost of movement. Otherwise the context-switch latency issues will just kill you. And this is where the true root of all keyboard evil rears its ugly head: the mouse.
The mouse is the single greatest obstacle standing in the way of becoming one with your keyboard and the dramatically higher productivity levels which that state promises. That's because, of course, it has nothing to do with your keyboard. Compared with the mouse, even a high density of chorded commands in quick succession becomes fast and easy. Chorded they may be, but at least they're still on the keyboard. The mouse might as well be in Timbuktu for how convenient it is to get your hand over to it and then safely home again.
Unlike the arrow keys, that doesn't mean the mouse is inherently wicked for all things. (Well, unless you're an RSI victim, that is, or if you'd prefer not to become one. Mice, you see, destroy your wrists, and much more quickly than keyboards.) The mouse is only evil when you have to repeatedly switch between mouse and keyboard. That's because it knocks you out of the groove just as badly as an CONTROL-ALT-SHIFT-F11 chord would. (I call that one a demented eleventh.)
Let's go back to that wonderful, angst-purging video game, xbill. You think of yourself as a Jedi sharpshooter, the last, lone defender against that creeping darkness which seeks to pollute and assimilate the free world into its hive mind. Reflexes are everything. You must walk the path of knowledge without thought, of action without contemplation. Anything less than complete dedication to your sacred duty will see another sun lost to the Evil Empire. In the back of your mind, you know that if you set down your laser rifle, you could program up a smart bomb to encase the Bills in a treacle and slow them down for a file. This you would do by taking your hand off the mouse, moving over to the keyboard, and typing the mystic words, "Department of Justice Anti-Monopoly Litigation". But in the time it would take to do that, untold numbers of worlds would be lost, assimilated into the collective. So the smart bomb of slowness remains untriggered. The price is too great to justify putting down your laser rifle.
So you see, there's certainly a place for a mouse. And contrary to popular mythology, that place is not simply any system that provides the user with something more sophisticated than a 24-by-80 character display. Mouse doesn't mean GUI, you know (nor, for that matter does GUI mean mice and menus). And a keyboard doesn't mean a CLI. A keyboard means efficient input of diverse commands covering a vast domain. A mouse means efficient selection of points and areas. Even if we temporarily tolerate the mistaken notion that CLI=text and GUI=pixels, a keyboard should not be limited to the world of command-lines and pipes, nor should a mouse limited to the world of pixels and pop-up menus. Those are not the effective criteria for the most effective use of those two input devices.
If you don't believe me, just think for a minute about gpm, the mouse package for virtual consoles on Linux operating systems. It sure is a nice program to have around, isn't it? You don't have individual pixels, but you still appreciate having a mouse for certain tasks. Now think about your favorite pixel-addressable program, like xv or eterm. They have keyboard-accessible keystroke commands as alternatives to tedious mouse hunting. Aren't you glad those are there, too?
I'll say it again for the logic-impaired: keyboards aren't just for CLIs, and mice aren't just for GUIs. There's no good reason whatsoever that even in what's commonly referred to as the GUI world, that you should eschew the keyboard. For many problem domains (xbill and its ilk notably excepted), the keyboard remains the fastest, most efficient, and most powerful input device available, and it would be the height of folly to avoid it.
Have you ever tried to play a piano using a stick that's clenched tightly between your teeth? Oh, you can do it, sort of--if you call that playing. The percentage of your brain devoted to the hand, and in particular, the support structures for the fingers, is incredibly huge compared to the amount devote to nearly any other physical activity. By avoiding the full potential of Man's wondrous capacity for prestidigitation (in the literal sense), you cut him off from one of his greatest assets, one near and dear to his neural biology--he was made for.
There's just no way you'll ever zen out on a keyboard when all you've got is a one-bit stick stuck in your mouth and your hands are tied effectively behind your back. Perhaps you prefer it this way, but you should understand the consequences of that choice. You'll never reach the point where your fingers know what to do on autopilot. You'll never get your face completely up off your desk. And you'll never savor the pleasures of having your mind firmly ensconced in the virtual reality of the program you are manipulating. The higher levels of mastery will be forever forbidden to you, and you shall dwell in the House of Clumsiness and Inefficiency all the days of your life.
Software engineers need to pay attention to both the keyboard and the mouse, irrespective of whether the program is running in a terminal or in a full-display environment. They should maximize locality of operations to faciliate eyes-free operation of the program. Above all, careful attention must be given to programs destined for heavy use so that they offer an upward path for users so that experts are not hampered by zero-learning-curve demands from non-users. Don't require infelicitous input combinations that would hamper finger memory in accomplished speed demons. Only when the speed limits are removed can a programmer hope to reach that transcendent state of zenning out.
No fair padding your homework by repeating the same text over and over.
I count 10 occurrences of the paragraph that begins "How did this ever happen?". Methinks an editing goof has occurred.
-- Brian
The most rabid believers in American Exceptionalism are the exact same people whose policies are destroying it.
Or maybe we need better editing, instead of four (five) repeated segments?
George
There is not logical notion that human kind has any implied fuzzy quasi-telepathic state wherin they gain "mystical" powers. I think that happiness requires a direct ability to perceive that happiness and translate it into something more comphrensible.
Slashdot social engineering at it's finest
was it just me, or were a lot of those para's repeated constantly? kinda poetic, no doubt, but very strange.
His main point seems to be that PC keyboards suck and Unix (Sun) style keyboards are great. So why is this piece so long? I take exception to his criticism of Emacs keyboard sequences. Emacs is the most magical program of all time. What else would you expect from a Perl simpleton?
Several hours later, the geek quietly logs out and stands up. It is now 11:30 at night, and he has work tomorrow. It is dark... the only illumination coming from the LEDs of his four computers and 19" inch monitor. He steps back, crashing into a tower of spent mountain dew containers. He thinks to himself "Ah, the real world... I was wondering where that went", and winces as he removes the remains of a microwave pizza from his foot and trots across the room. He sinks into his bed, pulls the covers up over his head, and dreams of his job - "How much I would like to have Quad Damage to deal with customers..." .. his last parting thought before he drifts off into a world of carnage and C code.
In english poetry and literature you can find something called a refrain. A literary device that is used to emphasize a point or a basic theme that is moving through the whole piece.
Slashdot social engineering at it's finest
The caps lock key is as important to AOL users as the little windows key is to all our 9x-using chums. Don't diss it.
I don't care how small the space bar gets as long as I can hit it with my right thumb. My old five-year-old dell space key is quite dirty, except for a 1-cm length that I've tapped millions of times. I've a dirty thumb, though.
Despite the repeated sections (Rob... PLEASE fix this!), this is pretty informative. But I still have a few nits to pick.
CAPSLOCK. Why? Well, some people don't touch type. Other people have physical deformities that makes hitting SHIFT plus another key difficult, and "accessibility" wasn't something that was thought about in previous generations of systems.
CONTROL. Yes. It should be where PC keyboards put the CAPSLOCK key, but it isn't. Same with the ESCAPE key being sent to Siberia. Frustrates the heck out of us VI users (um... EMACS users use those keys too... no flame wars please).
Those of us with X have xmodmap and xkeycaps and other utilities for redefining our keyboard layouts. I imagine that there are similar utilities for Macs and Windows... so there are people aware of the problem and who have some solutions.
Using the right input device for the right job is crucial. Otherwise we will never be able to get the non-initiated to use them.
People not "in the know" still wonder how a Palm Pilot can survive without a keyboard. The answer is really simple: the software is written such that using the stylus becomes second nature. Same as with the Millipede example... the software was written for a specific input device.
Maybe neurocomputing will allow people to get information into a computer faster than is currently possible (I doubt so, but I'm willing to be proven wrong!), but that is not available right now. Keyboards have worked for a nice long time and will probably be ubiquitous for a time being.
Remember that laptops were thought of as toys (with "chiclet keys!") originally until the TRS-80 Model 100 came out with a FULL SIZE KEYBOARD. We've progressed past that humble 8K RAM beginning, and now laptops are so common that even the people at the airport detectors barely look at them except to tell you to turn them on.
--
"May I have ten thousand marbles, please?"
To go along with this excellent essay:
an old wired article by Brian Eno
-nme!
If you still have your old keyboard that you used with your XT, get it out of the garage and use it. These things are priceless. If you don't have one, it's time to check eGay and buy one. There are some suckers out there that don't know what treasure they have, and will gladly get rid of it for a few bucks.
You can drive nails into cement with this thing, and it will still work. You can spill hot coffee and sweet sticky soda on it. It will work for years after that. Don't use the wimpy $5 keyboards. They will do major damage to your fingers.
On this thing, it takes virtually no effort to press a key. Therefore, I type much faster.
Yadda yadda yadda... I've become an old fart before becoming an adult.
First: I'm sure there's something quite zen about reading the same paragraphs several times in a row ;-)
Second: I've found Tetris a great gateway to programming satori. I play a game or two, and my mind is buzzing, and elevated beyond the actions of the game, or the computer. I then fire up an editor, and get to work, no longer distracted by the physical actions of interfacing with the computer. Perhaps in the future I'll have trained myself to enter that state without the game, but for now, it really helps me focus. Who says video games aren't productive!
Third (and final, I swear): I don't have a problem with the "penalty zone". Perhaps it comes from growing up with pc keyboards instead of unix keyboards. I use the numeric keypad without missing a beat too. Or at least I don't THINK I miss a beat (as that I'm not too aware of typing). I agree the big caps lock and small ctrl keys are just damn stupid (but I do like the placement of ctrl . . . maybe switch tab down, and caps lock up where esc is?), but the great thing about humans is our ability to adapt and train ourselves. If you think of typing as just finger motions instead of hand motions, yeah, it's going to be awkward and slower.
Carrying the music metaphor, it's like playing a guitar solo in one hand position as opposed to moving up and down the neck. It's easy to learn to play in one position, and you can be brilliant doing nothing but that. But once you learn to move hand positions without checking yourself, you'll be a much more versitile player.
I'll shut up now.
Bad things often happen to good people,
It is up to them to see that they remain good.
Related Links
Linux
Slashdot
Tom Christiansen
Pinball Wizard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Fitts's Law
real keyboard
Tom Christiansen
More on News
Also by CmdrTaco
Funny.
Back when I had a brief gig selling computers back in the late '80s, I used to tell people that for the most part, computers worked the same on the inside. Once you have chosen your feature set, you need to pick something that is almost, if not maybe more important...your interface to the system: The Keyboard, the Monitor, and Nav Tool (mouse, trackball, clitorus, pad, etc.). Get a keyboard that you are comfortable with, a monitor that gives good contrast and resolution, and a device that you feel confortable with.
.22 dot-pitch philips display.
Personally, I like both the Marble Mouse by Logitech and the IBM clitorus for nav tool, since both are handedness agnostic, and I change what han I use every couple of months.; I always remap my keyboard to put the ctl key to the left of the "a" key, and I have a nice, crisp
BTW, I still prefer the Wordstar keyclusters for editors...I recently amazed a co-worker on how fast I could get around and edit a text file with Joe in WS emulation mode. And he has been using VI for a decade...
ttyl
Farrell
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
Though I've never visited said IRC channel, and am therefore unfamiliar with its general ethos and atmosphere, I have to say that being kicked for asking a question sounds rather harsh. Was it meant in jest? Is #Perl the Wrong Place for new Perl programmers to go to ask questions?
-Stephen
should have 2000 keys - all of them either '$', '(' or ')'
While he puts the smack down on apps that require frequent changes between the mouse and the keyboard, I've had a pretty good solution to that one for a while now. I broke my right hand (my mouse hand) about 3 years ago, forcing me to have it in a cast for 13 weeks cause of the stupid pins they had to put in it. Well, that forced me to learn to type one & mouse one handed. After I got my right hand back in working shape, I then had a very high one-handed typing speed, and can keep my hand on the mouse for mouse operations, with out having to switch at all. Normally this is for MMI development packages, but, also applies to some programing cases, and to some other things like AutoCAD.
Someone else mentioned that they don't belive in that 'zoned feeling'. You may not be a programmer then, or at very minimum, you've never been one of those people who's initals are at the top of the score board at the arcades. In that environment, being 'in the zone' isn't just an option, it's almost the only way to be numero uno on 'em.
I still get that feeling, however, setting and programing, and even more so, setting and playing something like Quake2 or Unreal Tournament. He makes a very good case about layout of the keyboard affecting the ability to get 'in the zone' - any first person shooter I play gets the keyboard portion of the mappings changed completely, so that I don't think about the keys anymore. I'm just at one with the game (and slaughtering people left and right.) Over all, keyboard isn't the greatest interface, but, the ability to remap applications to get that same 'effiency' I get in UT and Q2 would be awsome, and help capture that 'zoned' feeling much easier!
Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org
That "Real Keyboard" looks just like the keyboard on the original Mac's. Wish I had a link with a pic. At any rate, they're pretty similar. And certainly no Windows key.
Using keyboard and mouse, never looking at the keyboard, using almost all 104 keys (bound & aliased) Zen is acheived for me.
For some reason, I heard my grandmother's voice saying, "You don't know where that thumb has been." :)
More On-Topic: There seems to be a fair amount of hatred for CapsLock. I use it quite a bit for #define constants and macros in C. Do Perl programmers not use ALL_CAPS for much?
Save the whales. Feed the hungry. Free the mallocs.
The problem isn't limited to input devices. This article got me thinking about something I've been wondering about for awhile -- the recent tendency to use a 'standard' interface for various tasks, rather than a purpose-built, optimal interface.
It seems like there are dozens of companies these days that want their interface design to be the One True Interface to All Things. The best example of this is Microsoft, which every couple of years makes noise about how toasters and refrigerators should be controlled with some variant of Windows. But MS isn't the only offender -- lots of Internet companies do this too, by forcing you to use an HTML front-end to their resources rather than designing software for the purpose.
Don't get me wrong, I can see the reason for this approach -- once you've learned the One True Interface, you're set, you don't have to learn anything else. The problem is that trying to force all devices to share the same interface means that some of those devices are going to feel clunky -- or, worse, be downright unusable.
Take, for example, the whole WinCE vs. PalmOS war. On its face, you'd think people would prefer WinCE devices, since they're already familiar with the Windows interface. But (based on my observations, not any hard research) it seems to me that people vastly prefer the Palm interface, which is optimized for handheld devices, rather than Windows, which really wants you to have a big, roomy display to work well. In other words, people are willing to learn a new, unfamiliar interface if doing so offers them substantive productivity benefits -- which would seem to give savvy product developers an incentive to follow Mr. Christiansen's advice to optimize the interface for the task.
This trend is only going to get worse as computing intelligence is embedded in more and more consumer devices. The temptation will be very strong for those developing software for such embedded systems to leverage interface designs they already have, rather than create from scratch. With more and more of a car, for example, being run by software, it's not hard to imagine MS someday proposing that you run your AutoPC through a modified Windows interface, even though such an interface would be totally inappropriate for the task at hand. Let's hope that more product & software designers take note of the evidence that people prefer optimized interfaces and don't automatically rule them out.
-- Jason A. Lefkowitz
Read my blog.
Who said anything about special powers? Think of zen as the focusing of mental ability. Rather than spreading our capacity over a large range of tasks, our mind becomes focused on a single task (or set of tasks), allowing for a dramatic performance increase (i.e. the mental version of distributed processing).
I agree with a lot of what Tom is saying, though not with the arrow keys -- I have no problem moving my hand slightly to get to them, and I can move one word at a time with the Ctrl key.
Of course the right editor is key. I can use vi, bt not fluently. I use nEdit, which I find extremely efficient and also easy.
But all of this is minor. In the end most of typing in code would work fine in pico. The real critical path is the keyboard. Here at school they seem to buy a lot of Dells with the cheapest keybaord, Dell's horrendous "Quietkey". It's squishy, you can nver tell if you've hit a key.
Sun's Type 5 keyboards are very nice -- good feel, intelligent key location. I use Suns for this reason when I'm not using my computer.
But ah, on my computer, I have a big old IBM PS/2 keyboard. Super tactile click. Indestructible (still working perfectly since '87!). The key doesn't actually contact till exactly on the click, and the peripheral keys are nice and big. The Ctrl key is in the wrong place, but that can be remapped pretty quickly...
I've seen IBM keyboards refurbished going for $50-80, and they're worth it. I'm just glad my highschool had a pile of them on really old machines, so we could just help ourselves when they finally junked 'em.
That's not to say that I dislike Perl; it's just an observation.
early in the morning, listening to some heavy industrial, I start reading a slashdot article. I begin to slip into a transcendendal state.. and then I realize that I haven't suddenly jumped out of time.. I'm just reading the same few paragraphs over and over.
damnit.
Interesting article. I agree that the state of keyboards today is just pitiful, but that "Happy Hacking" keyboard IMHO is an ergonomic nightmare.
I also agree that the mouse is a bigger cause of RSI than the keyboard...I see people all day long mashing their wrist down into a wrist pad while working with the mouse...not good. Of course, keyboard or mouse, if you don't have proper posture or an correctly configured workstation, you are going to have problems....
I got to the point fairly quickly via bbs multitasking where my automatic typing was fairly quick (though often terminally dyslexic), but I've found that I tend to avoid using the arrow keys, penalty box, etc. as much as possible, much as that hampers my work, simply because it's such a PITA to bother with, distracting me from the work at hand.
On the other hand, in the realm of control and alt keys that are too small and inconveniently located, I do wish there were some easier way to do curly braces and such so that I wouldn't wear out my pinky holding down the shift key while tagging, but that seems a terminal fate of the current keyboard. Help?
Vi was interesting, in the few unix enabled jobs I've been in, but not being from a programming background ("you need to swim, so we're dropping you into the Unix Ocean, tell us next week if you drown.."), but the learning curve on that sort of thing, when done on one's own, seem rather steepish. But I can dream...
I myself attain zen via keyboard more often when I'm in the midst of a discussion or story (being a bit of a writer) and my brain takes off and my fingers desperately attempt to keep up with my current passionate discourse. But it's appreciable just the same, you look up suddenly at the clock and the time has vanished, but the movement of temporal dislocation was more than worthwhile, you feel inside. Or at least, I do.
Nice article, thanks for the thoughts.
Todd
Listen to me Peter, I want this bench. You go sit on that bench over there, and if you're good I'll tell you the rest of
He said it took approx. 2 weeks to master the Art, but it was worth it. The advantages were about the same as what was mentioned in the article as drawbacks with the mouse. The advantages were:
One doesn't have to take eyes off the screen while mouse is required,
One doesn't have to move the hand away from the keyboard when mouse is required,
No one at the workplace wants to borrow his mouse.
I ain't gonna try it (since I like to keep my feet in my shoes while at work), but at least some hardcore zen-wannabe could try this one for kicks. :)
-kooma
"Sure, you've probably got little nibs on your `F' and `J' keys"
;Qua wms i[ ru[omf ;olw" (translation: "I always end up typing like")
Tom seems to diss those little nibs as largely insignificant...and in the realm of the types of movements he's talking about...they largely are...but I tell you...this is the single biggest thing that I hate about typical Mac's...they have the nibs on "d" and "k". I know it sounds insignificant, but I always end up typing like, "O
Jeff
This article.
This article is.
This article is minimalist.
This article is very minimalist
The minimalist article is.
The minimalist article is repetitive.
The minimalist article is not repetitive.
The minimalist article appears repetitive.
The minimalist article topics appear repetitive
The minimalist article topics repetitively appear.
The minimalist article topics repetitively change.
Topics repetitively change minimaly.
Topics change minimaly.
Now look at that text and compare it to Tom's article. He says the same thing over and over-- ALMOST. This is the zen of writing. At the end, he's brought up a totally different point than what he started with, except for one common theme. In my example, the theme is "minimal". In his article, the theme is "Zen".
Here's a brief summary for those who don't want to read the article.
Starting idea: Zen interfacing is good.
Ending idea: Bad use of input devices stops Zen.
Hope this helps.
-Ted
I got a new NT box serving only as a control unit to some sophisticated biological device. Not only is the keyboard cruelly castrated by Dell (halved "Enter" key, so I constantly push "backspace"), but the UI is more then s*wed, its badly sc*wed. You have to use mouse, even though most of your actions is typing data into a spreadsheet - sorry, to go from one cell to another you have move you mouse, push one of that buttons, then a pop-up menu comes, then you have to click with the mouse pointer in the only input field (otherwise press tab three times), and type in the data. I mean, OK, I am stupid, I am a biologist, but what do they take me for? A four year old AOL user?
Regards,
January
Here is my /etc/X11/xinit/Xmodmap to get control instead of caps lock
!
! Swap Caps_Lock and Control_L
!
clear Lock
remove Control = Control_L
!remove Lock = Caps_Lock
keycode 0x1A = e E currency
keycode 0x36 = c C cent
keycode 66 = Control_L
keycode 37 = Control_L
keycode 115 = Caps_Lock
add Lock = Caps_Lock
add Control = Control_L
keycode 0x40 = Alt_L Meta_L
keycode 0x71 = Alt_R Meta_R
Also, changing the keyboard map to emacs2 fits with this. The above changes the dreaded window$ key to caps lock... Far enough out of the hemisphere?
-Rich
Who said anything about special powers? Think of zen as the focusing of mental ability. Rather than spreading our capacity over a large range of tasks, our mind becomes focused on a single task (or set of tasks), allowing for a dramatic performance increase (i.e. the mental version of distributed processing).
Ok but why is this suddently so special to people? Because of it's literary merit?
P.S. Why does good ol Taco have such "fond" memories of this man. Seems quite trivial.
Slashdot social engineering at it's finest
I have Quickcam connected to a machine running Windows that updates a picture on my web site. Which sucks, because it's the only machine I own that doesn't recover gracefully from a reboot. For some reason, there is no way to put the little Quickcam applet into the Startup Folder so that it starts up in Autocapture mode. Everytime the machine reboots, I have to go up to the keyboard and type "Alt-F, down, down, return, return" to get it to start taking pictures. I have sent Connectix technical support a few emails about this, and here is the (rather curt) reply that I finally received:
> Is there a way to put the quickpict applet in the startup folder
> so that it starts up automatically in the autocapture mode?
Unfortunately, not at the moment. Thanks.
The menu in the Color QC applet claims that spacebar is the keyboard short cut for "start capturing", but that doesn't even work.
You know, this touches on one of my pet peeves. Say what you want about graphical user interfaces making computers "easier to use", sometimes they make computers less useful. This is a perfect example. Here's a perfectly good program, that these guys spent time on, but they were so wrapped up writing a GUI for Windows that they forgot to make any command line options available. Give me a break! This autocapture function was written for a web server (obviously), yet it explicitly requires user intervention at startup. How smart is that? Shouldn't servers be able to reboot in the background without user intervention?
A friend of mine works for a company that recently bought a specialized piece of scientific software for $50,000. It has a beautiful graphical user interface, but no batch mode. So if they had some 10,000 data files that they wanted to run through it (and they do), they'd have to paid somebody to sit there for a month clicking with the mouse. They're sending it back. Like I said, easier to use, but less useful.
My word processor was written by Stanford Professor Donald Knuth. Who wrote yours?
jeep, how can your post be redundant if it's the first one?
You will, practice and give it time. I've fired up a new disk, closed my eyes for a moment to think about disk layout and opened them to find I've logged in as root and started fdisk on the appropriate device. Similarly with many other things outside of computers. You have got to be comfortable with yourself and what you are doing.
Of course, I tend to use more modern software than 'vi', such as Windows based software, and UNIX software that is GTK or QT based. I don't use the control key all that much, and I almost never use the alt key. I think Tom's preferences (and they are just that, preferences) are colored by the rather oldish software he uses, which was designed to be efficient on what people were using at the time. I don't fault him for using oldish software, if that's what works for him, but I'd ask him to please refrain from making sweeping generalizations and calling them fact, based on his own preferences.
Nobody said anything about mystical powers, it has more to do with focusing your whole being on the task at hand. The way tchrist describes it as being where thought and action are one is very good IMNSHO. I believe in it for the same reason I believe in gravity, because I've experienced it. I've experienced it on 4 different occasions, in three different circumstances.
:)
1. twice while programming
2. once while just lying in the sunlight relaxing
3. once while kneeing my friend in the groin - very long story (sorry ken)
And while it was happening, I was indeed in 'another place', and it felt damn good. A place where motion, thought, & deed were all the same. Though of course after I was finished with #3 there were some problems to deal with
Actually, the great CapsLock/Ctrl switch came about because touch typists, trained on typewriters, were accustomed to Shift Lock being above the left Shift key. (You do remember typewriters, don't you? :-) ) When placed in front of old-school XT keyboards, they kept hitting Ctrl, expecting CapsLock, and getting something other than what they expected. Their finger memory was already burned-in. I guess they just shouted louder than the hackers.
What I'd like to know is this: What poorly-trained chimpanzee decided that the F-Keys belonged across the top of the keyboard?
I miss my old Gateway AnyKey keyboard. No Winkeys, F-Keys down the left and across the top (independently reprogrammable, no less), and an arrow key cluster that would not satisfy Tom, but was absolutely awesome for games. Alas, a poorly placed pop bottle brought it to an untimely end. If I could go back in time, I'd tell myself, "No, fool! Don't put that bottle of Sprite there while playing Jedi Knight!"
Keith Russell
OS != Religion
This sig intentionally left blank.
What I want in a keyboard:
AFAIK the dvorak keyboards were designed statistically with the most frequently used keys closer to the fingers.
why not do this now, using programmers as the sample?
It could run a bit like the SETI programme, with users installing a little daemon that just records how many of each key was pressed and then sends that back to a central server...
There should be no security risk as all that would be sent would be statistics, not something like the output from "script"...
Or maybe I need to think this through more
----- Documentation is worth it just to be able to answer all your mail with 'RTFM' - Alan Cox.
Excellent article, though it's a bit repetitive, though it's a bit repetitive, though it's a bit repetitive, though it's a bit repetitive.
Personally, I don't think the keyboard matters as much as the working environment, and how well it and the programmer are attuned to each other. This is probably why people are so religiously bound to their choices of development tools, in particular their editors. People who can find that zone do so because they work well with their tools, because they know the tools well enough that the tools themselves fade into the background, and the code and programmer come to the fore. Having a bad keyboard will certainly get in the way of this experience, but having to use bad tools will get in the way more.
For the programmer to be able to adapt to the tool can be as effective as the tool being able to adapt to the programmer. This is why people are able to reach the zone with editors like vi that aren't as programmable and as extensible as editors like emacs. That's not a judgment of either editor, just an observation that the highly touted customizibility of emacs doesn't necessarily help its users reach the zone, nor does the lack of a built-in programming language prevent vi users from reaching the zone. It simply means that the choice of editor as a matter of taste.
It probably also means that programmers who use detestable IDEs such as Visual C++ can probably also reach the zone.
--JT
Does anyone here have any experience with the datahand keyboards?
I read slashdot for the articles.
-foxxz
Just curious, did he have anything worth saying
after he he paste 42 times?
Nothing like providing evidence to prove
ones thesis, eh?
Fins Up, and to the Left... Any dive you come up from with air in reserve was a great dive. Nothing but bubbles left o
My Nascom II keyboard (Nascom was one of those solder it yourself together Z80 stuff. After writing an appropriate BIOS for it including terminal emulator and diskette drivers, I could even run CP/M on it) was one of the best I ever used. The keys were springed and had a hard limit (the steel plate on which they were mounted) when banging them down. There were no mechanical contacts, they worked with magnetic Hall effect. Indestructible. The keyboard had no penalty zone whatsoever. The 4 Cursor keys were arranged in the best manner I have ever encountered: left and right from the (sumptious) space bar, in order: You could access them without the leave/return effect, they were in just one row, you could easily use both hands for navigating all across without ever contorting your fingers or pulling them off the keyboard. Left and right cursor movement were pretty mnemonic, up and down you soon learnt. I had several games using those keys, and you could pretty much zen in on them without twisting or hurting fingers and getting RSI (of course, you usually used the thumbs on the space bar for shooting).
Apart from the redundant section in the middle, this was very well put. As someone who has been typing on all sorts of keyboards (including manual typewrites) for years, I can agree almost completely. When I'm typing, I DO NOT want to touch the mouse or move my fingers off of the center keys, even when I'm entering mostly numbers, I don't reach for the numeric keypad.
I find myself enjoying "ergonomic" keyboards very much.
The QOTD that appeared at the bottom of the screen while I was reading this article was quite appropriate: "Philosophy: A route of many roads leading from nowhere to nothing. -- Ambrose Bierce."
I have to say that the whole zen thing is a bit overblown. I do agree that you enter a sort of state of mind where you are unaware of what else is going on around you. If that is what you're calling Zen, then so be it. I don't think that there is anything truly mystical about it. It's just a state of hyperconcentration.
Man, this Dell keyboard is bugging me. I miss my Adesso (which is at home)!
Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
My Nascom II keyboard (Nascom was one of those solder it yourself together Z80 stuff. After writing an appropriate BIOS for it including terminal emulator and diskette drivers, I could even run CP/M on it) was one of the best I ever used. The keys were springed and had a hard limit (the steel plate on which they were mounted) when banging them down. There were no mechanical contacts, they worked with magnetic Hall effect. Indestructible. The keyboard had no penalty zone whatsoever. The 4 Cursor keys were arranged in the best manner I have ever encountered: left and
right from the (sumptious) space bar, in order:
You could access them without the leave/return effect, they were in just one row, you could easily use both hands for navigating all across without ever contorting your fingers or pulling them off the keyboard. Left and right cursor
movement were pretty mnemonic, up and down you soon learnt. I had several games using those keys, and you could pretty much zen in on them without twisting or hurting fingers and getting RSI (of course, you usually used the thumbs on the space bar for shooting).
My office uses accounting software in Windows that requires entering many numbers from paper (invoices, purchase orders, etc) into a dialog full of entry fields. The staff has gotten pretty adept at entering the numbers quickly using the numeric keypad, but in order to move to the next entry field, they have to either reach across the keyboard and hit the tab key, or they have to fiddle with the mouse and click on the next field.
... hell, their whole arm gets sore. It seems that a very elegant solution to this problem would be to make one of the keys on the numeric keypad (like enter or "+") a tab button.
Needless to say, after an hour of this, their hand, wrist,
I tried finding a software solution, but none that I have found work, not even the Kernal Toys package. The weird thing is that while pressing tab moves you to the next field, hitting Ctrl-I or Alt-009 won't. Windows 95 grabs the keyboard scan code for the tab key before it's decoded into ASCII.
Finally, I found ZDKeyMap (whoever said nothing useful every came out of Ziff Davis?). I use it to redefine one of the unused numeric keypad keys (the "plus" key) to be a tab button. Now we can enter a whole dialog full of entry fields without moving an arm. So far, it works in all the software that we use, and we're feeling better.
My word processor was written by Stanford Professor Donald Knuth. Who wrote yours?
Before I had my Bar Mitzvah I was required to attend Hebrew School every Wednesday. At the beginning of it we would have a service, reciting all the normal prayers. When it came time to prepare for my Bar Mitzvah it was like I already new all the prayers and suprisingly, could recite them from memory. I can't understand Hebrew and I only know a small amount of it's grammar, but it was like I was wired for the prayers. I didn't have to think about them. This is exactly like how we speak english or move our body. It is very hard to induce, although I suppose it helped that I was that young. It still required a lot of repitition. And yet it is all really so simple. In pinball, all you really have to do is hit the flipper when the ball come towards the hole. Yet no one can keep it up for ever. There seems to be something impeding our minds from performing such a basic task. Some people area able to get around this. That is where tha high comes from. I have always wondered why it feel so good to ski. It is because I am exercising my ability to eliminate all human blocks and become one with the task at hand. This is what the best of us do with programming. They reach a point where they are thinking and dreaming in programming languages. This is what the perl movement is really about. Larry has talked a lot about perl as being a language that is meant to adapt to the programmer and allow him to manipulate it. What a great peice of writin.
I'd have to argue that the arrow keys are useful, and not that awfully arranged. With chords like shift and control the arrow keys can easily be used to navigate tokens. I am ALWAYS using CTRL-ARROW to move around the tokens when I'm programming. Since programming languages are nicely broken up into words I can easily traverse a block, select a parameter list etc. With SHIFT-CTRL-ARROW it is easy to select multiple tokens.
/can/ switch to and use the arrow keys without looking down. In fact it is /convenient/ that "up" is directly above the "down" arrow because I use my index finder on left, my ring finger on right, and my middle finger hovers between up and down. It is very easy to push either up or down with my middle finger. Sure it may not be easy to "trill" the up and down with one finger, but what chords do you know of that contain both the up and down arrow keys?
On the other hand when I use vi, I am ALWAYS traveling to ESC-land to reset the context. Most of the editing functions I do can be contained within one "context", so breaking them out so as to have overlapping contexts puts a burden on my by having to unnecessarily go out and find ESC to switch contexts. This context switching is awful and I can't really get in the "zone" in vi. Perhaps if ESC was closer and I actually took time to memorize all the meanings of all the keys in all the contexts I could do things faster.
I use jEdit (http://www.gjt.org/~sp/jedit.html), and find the conventional use of the arrow keys and SHIFT and CTRL chords very convenient and inuitive. I
It's 10 PM. Do you know if you're un-American?
An argument by any other name...
Personally, I believe the benefits of a one key search function are offset heavily by the penalty of having to hit the escape key before searching. The mode changes in vi are tricky to get used to, even for someone like me, who's been through ed, edlin, countless embedded IDE editors, vi, joe, jed, pico, emacs, and epsilon. Most of the time, you are either inserting or deleting text. Anything else takes extra keystrokes to change modes, or chorded keystrokes, regardless of which editor you use. BTW, Tom was complaining about being unable to do scanning by word with the exiled arrow keys: most sane editors (since wp4.0) have word scanning wired to control+arrow keys. Also, the "trill" of the jkjkjkjkjkj in vi is mostly wasted effort, imho. Why on earth would you need to keep going back and forth between two lines, without doing anything to them? If you feel the need for useless exercise, trill the left and right arrows.
VI bigotry aside, I believe there were several valid points about the non-ergonomic design of modern keyboards.
One's editor of choice is largely a matter of what makes sense to your fingers. I've personally settled on xemacs, and am quite capable of programming "in the zone" with it, but whatever works for you, eh? It's just a tool. Does it make that much of a difference whether you use Black&Decker or a Makita power drill to build that dog house? Probably not.
How's my programming? Call 1-800-DEV-NULL
Great piece. I agree entirely with Tom's views on keyboards. But I'd like to add that the Zen of writing on a computer was realized by only one word processor -- WordStar! The WordStar "diamond" arranged the cursor control commands spacially; and once your fingers knew them, they knew them forever, and you could experience the oneness with the computer that Tom describes so well. If you have a DOS partition, go forth on the net and find VDE, a WordStar-inspired text editor (written in Assembler for speed!). It's a joy to use. The closest Linux equivalents are joe (as jstar) and jed (in WordStar mode). They're good editors and have a better feature set than VDE. But nothing beats VDE in the Zen department... Damn, I wish there were a Linux version.
Some very interesting keyboard designs here: http://www.dmb-ergonomics.com/
Peace and love, y'all
I didn't find that article very interesting at all. Neat ideas, but (even without the repeated areas) I think he could have made his point in 4 or 5 paragraphs. It was just a lot of rambling, IMO. This guy doesn't have a journalist background, does he? My prof would have ripped such a paper to shreds.
To actually comment on the meat of the article, I kinda like my Win keyboard. It took a while to relearn when I made the unfortunate move from the Mac to the PC for work, but not too long.
I agree the Caps Lock key could be totally relocated- swapped with the ESC key sounds good to me!
The only problem I have with the Windows key is hitting it once in a while while playing Quake, which minimizes the game and shows the desktop. NOT a good thing! Ack! Alt-Tab! Alt-Tab!
But I guess I could always bind it to something else (can you bind the Windows key in the Q2 config?).
I'm used to my PC keyboard, and work with it fine. I could remap using programs, but then any other computer I work on, I'd stumble. Nah. Of all the evils PC's have brought us, I havenno problem with the keyboard. I'm just waiting for solid speech rec- and no, I won't be implanting any freakin devices into my head so I don't have to move my hands!
Kinda like Moe, but just a little more Kool
If you compare your current keyboard to the keyboard of some old typewriters, you'll notice a lot a similarities. The Caps Lock is where it is because that's where it used to be on typewriters. The reason most keyboards are the way they are is because they are layed out just like the typewriters. It was left this way to make it easier for everyone that had learned to type on a typewriter first...why change what works?
I agree that the vast majority of keyboards these days suck. And those of us with jobs where our bosses don't know the slightest bit about what we do are stuck with those wretched keyboards. I'm surprised Tom didn't make mention of the keyboards you practically have to punch to type a letter. Sheesh, that spells carpal tunnel after five minutes.
But now, alas, I have to take exception to the comments on emacs. As any emacs user knows, you can define your own macros to do whatever you want. This means that everybody can have exactly the functions they need easiest to access. It's time vi died already.
About 3 stories for half the day with no comments to their name... Strange, even for us UK people, who have to wait until 2 for the USA to wake up...
/. people to hear about this stuff from a respectable source like this, because good design (versus complicated configurability) is what all the various software writers need to create a good desktop for the masses.
Then this story with the middle bit repeated about 5 times... Then I reload and it's gone! I hope the problem gets sorted, looks like an ugly bug!
Anyway, I think the fitt's law stuff is good if applied as one more generic rule, but it doesn't convince me the way it's put in the fitt's law link. Design concepts are sometimes so so prone to waffle, that I really need good proof before I believe that keeping the size equal is the solution to all design ills.
Answering all the questions with the same answer ldos not give sufficent credit to all the other aspects of design, like clutter and metaphor, or how intuitive it all is.
But it's good for
It's not mystical at all. It has nothing to do with telepathy. But I can tell you that the brain seems to enter a very different state when it is focusing on certain tasks. It happens to me often when I code and when I play videogames.
IANANeurologist, but I would guess that 'zenning' is the process of shutting down portions of the hundreds of inputs that the brain manages from moment to moment. You're allocating mental resources to the problem at hand, rather than wasting them on trivia like maintaining an awareness of your environment, checking for bodily requirements like food, water, or sleep, or even keeping your eyeballs moist. It stands to reason that ignoring these distractions will allow the brain to run at a faster, more productive pace.
Best user interface for zoning out I've seen so far is the old ViewLogix ECAD system. 1 letter commands, and mouse for connecting the parts. As a test, I decided to CAD the PC-XT, and it took 30 minutes. 30 minutes to CAD out a PC motherboard.
But, alas, they made the windows version. They got rid of middle mouse button support after a while. Then the command keys became chord combinations. All bad. I just couldn't get into it.
Many programs have this whole "mouse for drawing, and keyboard for entering command" thing going, but I just haven't found too many that do it well. AutoCAD, for instance... not being extremely familiar with it, but I just couldn't get into the whole picking from the palette thing, or type in the primitive you were trying to draw, and then moving hands to the keybaord to punch in parameters... there must be a better way...
And as for arrow keys, I'm going to have to disagree here... there is nothing intuative, or good about using 'hjkl' for movement. Except that your terminal software doesn't need to send extended control characters to make it work (very useful when using the M$ telnet abortion. VT100 emulation, and sends ANSI ID, what?!?).
And as a finaly note, I do agree with most of what the author is saying, but the big thing missing here is choice. I normally work a bunch of differnt editors, and I choose them based on suitability to task. XEMACS has it hands down when coding (for me). Syntax highlighting, auto tabbing, parenthases matching, and numerous other nifties make my life easier, and make the code roll out faster. This is because it takes care of crap that I don't want to deal with.
When editing text files, and long config files, and most other things.... vi rules. it has a faster search system (fewer keystrokes to get it to give you the love you need), and is so much faster to load. Doesn't use up megs of swap, either.
Summary: Utiliy, familiarity, and suitability should choose your editor, and input device. There is no absolute on any.
- Dan
I still hope that there will be a standard chord for copy & paste in every linux application. at the moment I have to learn for every application new chords :-/ anybody knows if there is something in development?
I would also like to see more standard accelerator keys (like in m$ windows) (f.e. alt+f for the file menu)
-- www.game-over.ch - Jesus rules!
In reading this article, I wondered why it was so long and repetitious. Out of curiousity, I read it under lynx (originally I used netscape). It's still long and repetitious, but not nearly as annoying. . .coincidence. . .I don't think so.
.bottom line: the paragraph was poorly formatted and therefore was difficult to read and comprehend.
As I write this, I'm reminded of two postings
I saw in the thread "How to Write Unmaintainable Code." One of the posters complained about lisp and received a response like (para.) the following:
Lisp can be written to be very maintainable. It can be harder to read because the code is so dense. .
The response (I don't know if it was from the same poster) just broke the previous response into paragraphs. As a result, it was much more readable.
I don't know if it was intentional or not, but if you've ever read a substantial amount of lisp code, you'd understand the irony/beauty found in the posts.
The origional mac keyboard didn't even have an escape key. The control key was also in the wrong place (it was in the lower left hand corner). The Happy Hacking keyboard is really nice compared to lots of PC keyboards, but I still like the Sun 5 unix kbd better...
-- Erich
Slashdot reader since 1997
There is not logical notion that human kind has any implied fuzzy quasi-telepathic state wherin they gain "mystical" powers.
Nobody is saying anything about mystical powers. This is one of the so-called altered states of consciousness, specifically one in which you can achieve and maintain high concentration for a long period of time. It is often called 'flow'. The existence of such a state is widely recognized and documented. For example, being able to go into 'flow' is one of the characteristics of a world-class athlete in individual-competiton sports (martial arts, tennis, etc.)
Kaa
Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.
First of all I'd like to point out that our current keyboards are designed for people who really write a lot, typists. Not for coders. People who have to write lot's of text with their keyboard. They don't want to become one with the computer, they want to get the text written.
;: and - where the USA -style has / (if I remember correctly), pressing / is not just one key. I have to press shift-7. Much harder than pressing ALT and S, which are quite near each other. Of course I could press / in the numeric keypad, but that would require moving my right hand, therefore I prefer pressing shift-7.
and there's a CAPSLOCK key that's just as big as the TAB key. Hello? What are these people thinking? That I want to hit CAPSLOCK as often as I do tab, and that I don't care about CONTROL or ESCAPE?
Yes. That's exactly what they are thinking. On my keyboard, which I like really much (many people would call it love, I have used it for 12 years now and I'm going to use it as long as it lasts) the Caps Lock key is a bit bigger than the TAB key. I probably do hit the tab key more often than the Caps Lock key, since it's used for all those file name completions etc., but e.g. my girlfriend, who's not a hacker, but still does work a lot with computers, she writes mostly all kind of documents etc., she uses the Caps Lock key much more often than the tab key. She can write a 10 pages long document and hit the tab key let's say 5 times, and hit the Caps Lock key for 40 times. (Remember, you should use Caps Lock if you're going to write more than 3 letters in capitals).
The other thing I'd like to point out is that not every lives in USA or has the kind of keyboard the author has:
If you ever need to hit a chord with more than two keys, such as CONTROL-ALT-SHIFT-F11, you're in serious, serious trouble.
No I'm not. On my keyboard the Control key is located on the bottom left (and on the bottom right as well) corner. The Alt key is right beside it. The shift key is right above the Control key. So I can press them simultaneusly with one hand. Even with one finger. Pressin F11 with the other hand should not be mission impossible for anyone.
Consider how much easier it is to type a `/' to start a search than it is to start a search instead of a ALT-S, or horrors, pulling down a menu
No it's not. On my keyboard, which is has those Finnish keys where the USA -style keyboard have
Ok, enough rant for now.. Just wanted to remind that there are other kind of keyboards than yours, and that the keyboards are not designed for coders but for typists.
--
It has to work - rfc1925
I spent some time studing human factors in college. Human factors in breifly design of interfaces to be useful. All GUIs should be built from human factors, but obviously few are.
This zen is a common misconception in human factors. Bruce Togniziky (the Guy Apple had doing most of their mac design) put expirenced uses in front of a comptuer, and had them select text with the keyboard, and then do the same thing again with the mouse. The users reported the keyboard was faster, but his stop watch reported the mouse was faster! (This was for a very specific example, and he admits it doesn't generalise. This however changed my thinking, I no longer hate the mouse, I use it when it is faster, and keyboard when that is faster)
We know how long it takes someone to move to the mouse make a selection and move back. We also know how long it takes someone to type a few keys to invoke a command. We know how to design user interfaces so they are useful. Few people apply this.
Human factors is NOT about getting rid of the keyboard or all those shortcuts. That is a misconception, human factors requires shortcuts! Human factors doesn't require zoning on the interface because the user zoned into typing is wasting time when moving to the mouse (which brakes concentration unless you do it all the time) is faster.
If you want to write comments like this, PLEASE PLEASE PLEASE read Donald Norman's Design of Everyday Things. This is a wonderful easy to read book that defines the field of human factors and could change your way of thinking.
I have to disagree somewhat regarding the removal of arrow keys from the "modern keyboard"
... CTL-ALT-Left, CTL-ALT-Right ... not a "nice" combination by any stretch, but it always works, and doesn't depend on what software is running at the moment.
The arrow keys give a wonderful point of control when the user is unsure of the machine's current context. A good example is switching desktops under windowmaker
Simply because those keys (along with escape, page up, etc.) don't have any other possible meanings, it makes them useful for those context free moments.
I've long held that AT-style keyboards killed WordPerfect.
Good ol' WP 4.2 for DOS was easy to use once you trained your brain to feel the necessary key combinations. When asked what the keystroke for Print, or Search & Replace or Reveal Codes were, I typically didn't know the names of the keys, but I knew their feel with my left hand.
I say my left hand, because my old XT-style keyboard arrayed its function keys on the far left of the keyboard.
Cursor keys were easy to navigate without looking, because the only cursor keys available were on the un-NumLocked numeric keypad, where they are much more usefully arranged than in today's dedicated cursor keypad area. My right index finder still does the HomeHomeLeft dance in its sleep.
Then new & improved keyboards arrived with function keys arrayed across the top, so that for most WP commands, two hands and a glance down were now required. Being able to keep NumLock on and have separate keypads for cursors and numbers was a nice enhancement, but why completely rearrange the relationship between the cursor keys and Home, End, etc? Good luck executing a HomeHomeLeft without looking down.
As the new keyboards arrived (with top fuction keys, new cursor keypad, and migrated Ctrl key), two things happened to WP for DOS users.
Given these constraints, is it surprising that many chose to learn a new app -- MSWord -- rather than relearn the old app? I think not.
Even now, if it weren't for e-mail and browsers, I'd be happy with my only computer being a Compaq 386LTE laptop w/ 1 MB of RAM, 20 MB disk space, DOS 3.3 and WP 4.2. I'd get a lot more work done more efficiently, which is supposed to be the whole point of computer enhancements, isn't it?
Most of this doesn't have anything to do with keyboards at all, but is just vi (vs. Emacs) advocacy. Bah. When I edit a file, I want an editor. Not a viitor, not an emacsitor, but an editor. Ed is the standard text editor.
Enough of that. The point about penalty zones on keyboards is relevant though. It's worth noting that Emacs was designed in an era when keyboards were such that it didn't force you in and out of the penalty zones. ESC was normally where backtick (`) is on peecee keyboards. Ctrl was large and normally where Caps Lock is on peecee keyboards. Starting to get the picture?
Now take a look at the Happy Hacking keyboard. (Link is in article) ESC in backtick position? Check. Ctrl in capslock position? Check. The only problem I see with the Happy Hacking keyboard is that it doesn't have sufficient bucky bits. I need at least control, alt, meta, super, and hyper. I have long fingers and I'm a touch typist, so most cases of going into the penalty zone are no penalty for me. Function keys are the exception, but I rarely use function keys for anything.Long-time emacs users have no trouble attaining the Zen of programming (or whatever -- I mostly write academic papers in Emacs with AUC-TeX mode) in Emacs. I find many of vi's features are optimal for quick edits to config files (home-row cursor movement, D, cw, etc), but it's line-oriented nature and aversion to filling and indenting makes it most pessimal for writing text or long stretches of code. As far as keyboard optimality and editors goes, it's probably much more important what your fingers get used to than what the actual keys used are.
--
The scalloped tatters of the King in Yellow must cover
Yhtill forever. (R. W. Chambers, the King in Yellow)
The scalloped tatters of the King in Yellow must cover
Yhtill forever. (R. W. Chambers, the King in Yellow
Then how would we drop into 'safe mode' in Linux? :)
Kernel hackers will know what I'm talking about.
So pressing a single key ('j', for example) in an editor is faster than a chorded combination like, oh, I don't know, CTRL-n? Not necessarily. How should you distinguish between 'j' to perform the special action, and 'j' to insert that letter?
If you introduce the concept of different modes, you need to switch between modes, and that has to require an extra keypress. In vi you must press ESC once before moving, and once after - that's three keystrokes instead of one. Those extra ESCs are a constant whether you move by one character or fifty, so it's arguable that for large movements the two-modes version is indeed better. But if you just want to move down a line, it's a lot more hassle.
-- Ed Avis ed@membled.com
But whatever it that helps a person achieve Zen is soon changed. Tom's example is that of the keyboard on computers.
For another example, look at cars. I learned to drive with a Geo Metro. Part of the interface is sound-- the engine is screaming; shift gears. The engine is rumbling and sputtering; shift gears. The radio? That's way down by the ashtray, where I will only reach it when I make a conscious effort to do so.
Today I drove a Mercury Villager-- automatic, naturally. Now I have a penalty zone-- the time just before the transmission shifts up a notch. It pulls me out, it shakes me. Not only that, but when I look down at the steering wheel, I see buttons for tuning the radio! The old buttons (right behind where the stick should be!) are still there, but now I have radio buttons. It's idiot-proof.
For another example, look at the portable phone I bought the other day. There are 12 speed-dial buttons (memory buttons, the manual calls 'em). They are placed more prominently than the actual numeric pad! I know that a lot of people don't attain Zen when dialing phone numbers, but it's been known to happen on occasion. But anybody wishing to Zen out as he dials Fiji will now be stuck trying to avoid the memory keys.
It's history, folks. It's the natural progression of things. Something is good. Hackers "Zen out". Suits see that hackers are more productive, decide that good thing should be made available to all. Suits change good thing and destroy Zen. Hackers move on.
Such is life. We shall soon move on, I suppose. Zen will be found somewhere, and hackers will follow. It's our drug of choice, and junkies don't do too well without it.
But I think Tom could have taken his article a bit farther. I do read up a lot on design, particularly human interaction with web design and such....and the stuff isn't obvious. Software has the same pitfalls as hardware. Creating an intuitive interface is very challenging. I expect in the coming years to see "interface experts" for software more common. Certainly they aren't needed as much as a software engineer, but there is more need for somebody with knowledge on creating an intuitive interface to help software engineers. Software engineers generally think in terms of function, not usability. There needs to be more thought in terms of usability and consistency to improve software quality.
okay, thats enough from me.
simon
"she gets what she wants and walks away.
and she doesn't give a fuck what you might say"
Keyboard preference is often a historical thing. I always use ` instead of ' for my apostrophes. This is because once upon a time I typed on an Amiga keyboard, which only had the one, which was in the position that ` is on PC keyboards. I also took quite a while to adjust to the repositioning of the capslock and ctrl keys too.
As to `the penalty zone`, I can actually see good ergonomic reasons for keeping it, mainly related to those people (the majority) who do not touch-type. By removing the less-commonly-used keys from the main array, it reduces confusion on the part of the hunt-n-pecker, who knows they don`t have to consider these keys as they search for the one they want. As for the arrow keys - well, it may be difficult for extended use, but you can`t say that the placement of the up key above the down key isn`t intuitive!
Please remember that most people these days can`t touch-type, and would be at a disadvantage on the sort of keyboard proposed here. And since the market depends on what `most people` want, it`s the non-touchtypers who have - and should have - most say in the design of our keyboards.
Almost everything that Tom rants about in this article is taken care of by the folks at PFU America, makers of the Happy Hacker keyboard. Though he doesn't mention it or them by name, his article is like a manifesto for the HH kbd.
I hope I get one or two of the keyboards for the holidays, they look excellent.
I do not actually believe, nor do I endorse the supposition, that Tom is in the pay of the PFU people. I just think it's interesting that there is a company that seems to be on the same Zen wave that he is on.
Bander
What we need more of is science!
There is not logical notion that human kind has any implied fuzzy quasi-telepathic state wherin they gain "mystical" powers.
There certainly is, although there's nothing "mystical" about it.
Some tasks are executed rarely, and are complex. Higher, conscious, parts of the mind are involved in performing them so it's a conscious mental effort. Other tasks (walking, running, playing soccer (for some of us)) OTOH, have become so ingrained that they really are almost automatic. A good interface gets far enough out of the way so that you can begin to learn this autonomic (?) response. Once you've acquired that (it takes both a good interface, and practice) then you'll see a vastly improved performance, even with far less effort.
I'm both an (occasional, and dismal) Zen practioner and a skier. I empathise completely with what Tom was talking about in that fine piece.
There's never a neurologist around when you need one...
This guy's right about Moria. As I began to read the article, the first thing that came to mind were my hours completely in tune with the game. Then he began to write about it. Everybody go out and put some good hours into a rogue variant, it'll be worth your time.
For people interested in what TC calls "zenning" and what is usually called "the flow" check out the work of a guy with the improbable name of Csikszentmihalyi (search on Google) who is usually credited with first researching the concept. One place to start is www.flownetwork.com.
Kaa
Kaa
Kaa's Law: In any sufficiently large group of people most are idiots.
My dream keyboard is a PFU-like compact keyboard with Sun action, HP layout and a Toshiba Accupoint device. Oh well, just a plain PFU would be far better than the keyboard I'm currently using, but they're kind of expensive. -- I wonder if cheaper Asian clones are available.
Has everyone forgot the power of BRIEF! The Ultimate programmers editor! I don't care if I had to visit the "penatly zone" every time I wanted to cut, copy or paste, it's so damned fast compared to any other system that I don't think I could live without it. Page Up, Page Down, Home, End....these are my home keys. The happy hacking keyboard is an abomination. It lacks all these things in an easily accesible manor.
Tom is absolutely right about the control key. The Unix/Sun layout with the control key is much better suited to doing work (even though I probably use it for typing ctrl-C 95% of the time).
:)
On a related note, my keyboard is a Northgate OmniKey Ultra that I found in a pile of surplus equipment last year. I highly recommend it if you are lucky enough to find one. 129 keys, 2 sets of F-keys, real clicking microswitches on every key, and of course control is in the right place
Best of all, it weighs about 10 pounds so it's hard to knock over or lose...
This is the first time in years I've heard anyone try to defend modal interfaces... *YUCK* Give me an alt key multiple modes any day of the week. I'd rather hit CTRL+ALT+SHIFT+PGUP six times a minute than suffer with vi.
It looks like you're responding to the first couple of comments about the article repeating itself. I'm pretty sure that at the time the article truly had some repeated text. I swear that the first time I tried to read it, there were several paragraphs (the one with the link about Fitts's Law caught my eye) repeated, verbatim, at least four or five times. The article seems to have been quietly (perhaps too quietly; an "update" notice would have been nice) fixed to remove the truly redundant paragraphs. I still find the article a little longwinded, but Your Mileage May Vary.
Weblogging Considered Harmful:
I really like Perl and just completed a fairly large website with PHP. Perl I learned from a book, PHP I learned browsing email lists and online sources. Each method has its strengths I guess.
What on earth are you doing, moving your hand off the keypad?
--
Fuck the system? Nah, you might catch something.
If you don't like the Windows key, then why did you bought such a crappy keyboard?
I swear that the first time I read this article, I scrolled past three or four identical copies of the paragraph with the "Fitts's Law" link, and it looked like a lot of other text was being repeated as well. I go back and look at it now, and I only find one iteration of the paragraph in question. Was I hallucinating, was my browser tripping out, or was the article text actually changed? If the last, an "Update" notice would have been nice.
Weblogging Considered Harmful:
One day I had this kind of vision about an alternative "keyboard"... you'd have 5 + 5 buttons, and with different keypress combinations you would get different characters, ie. left thumb + left index finger + right middle finger would be eg. 'A' and so on.
How would it look like? Maybe two tiny tube-like things which you just held in your hands with your hands on your lap. You would use your fingers kinda like playing a saxophone or something.
Take your hands away from the keyboard and put them in your lap, like those meditating zen monks do. Now think if you could type from this position! Also, I believe that this kind of system would be faster to type than with normal keyboards. Don't know about the learning curve though.
If anyone knows of alternative keyboard ideas such as this one, could you please post links. I for one think the current "one finger, one key"-paradigm sucks.
Hear Hear Tom! Some very good points, even though I disagree about some of them. (Darnit I like the Emacs editor. I also use vi for small editing jobs)
... grab the mouse ... look at the file menu ... move the cursor over and click the file menu ... find the save menu item ... then finally click on the save menu item. Completely ignoring the Ctrl+S that it displays to the right of the save menu item. They do this everytime they want to save. I once watched a person try to save three different documents in three different programs ... they all defined the Ctrl-S accelerator ... did he use it ... NO! And of course he had to exit out of all three programs, so there we go again with the File->Exit. Don't mention to them that Alt-F4 works just as good as Windows. Needless to say it drove me nuts. I couldn't say anything at the time because it was my manager doing it. Well enough about that.
Reading his article reminds me that I hate Minnies. The term was used by Alan Cooper in his book "About Face". These are the people who use the mouse for everything.
It drives me nuts when I am watching somebody editing a document in any Windows Editor and they want to save the document. After they are finished typing, what do they do to save the document? They take there hand off the keyboard
One pet peeve I have is that programs that do not have a good keyboard interface. We must forgive graphics programs since you can't really draw that well with just the keyboard. I mean some of the programs tout enhanced usability and an improved user interface. But they should have disclaimer that reads: The enhanced usability and improved user interface is only for minnies. If you use the keyboard as your main input device, sorry!
One example was when I was trying to find a good FTP program for Windows. You know the ones that resume downloads, can schedule downloads and uploads. Well I found some good programs that do these FTP tasks well, but they all had non existant keyboard interfaces. If you like working with the Windows Explorer for your file management tasks, you guys will love Absolute FTP. Does any real programmer use the Windows Explorer for file management now adays, instead of like an improved Command prompt like 4NT? Of course a lot of you probably don't use Windows at all so you guys can ignore that question.
Well enought rambling for now.
Man
Personally, I get a shitload more work done with EMacs than I do with vi, despite what some may consider a "brain-damaged" interface. I'm used to it. *I* can "zen out" with EMacs.
Just 'coz "Ctrl-S" isn't as easy to type as "/" doesn't mean you can't get as much work done with it, or even more. I know if I had to use vi all day long, I'd get much less work done.
YMMV.
-=-=-=-=-
-=-=-=-=-
My mom's going to kick you in the face!
Irrespective of one's opinion on editors and keyboards (although I agree with Tom on vi and the friggin' caps lock key) I certainly can relate to the "sports zen" thing.
I compete in a sport that's probably one of the most Zen-heavy out there. It's called Autocross (also called Solo2, and ProSolo).
Here's how it works: Get a hopped-up sports car. Get a big chunk of concrete, like an old B52 base. Lay out a race course on it using traffic cones. Drive through the course as fast as you possibly can. You get 3 tries - fastest time wins. Hit a cone, and you get 2 seconds added to your time.
No practice laps (although you do get an hour or so to walk the course and try to memorize it). The course is different every event. And while the ultimate speeds are fairly slow (70MPH) for an auto racing sport, the driver-event-per-second rate is higher than even F1.
When you're truely hot; in the zone, the feeling is incredible. You can place 3000lbs of sliding, slithering car within an inch of a cone. You are driving the course, but you're looking 2 to 3 turns ahead of where you actually are, while correcting the car's current attitude by raw feel.
Man, there's nothing you can do clothed that's as much fun as this.
For more information, check out My Team Home Page or The Street Modified Home Page
I agree with the argument that today's standard keyboard is rather lacking. For that reason, I only use original IBM brand extended keyboards (clackety, with a separate keypad, single-line enter, double-width backspace, and duplicate ctrl and alt keys in the correct size and location).
However, even these could stand for improvement, especially in this day of miniaturization for laptops, PDA's, etc. I'd like to explore Tom's complaint about chorded key combinations. Why do we have them at all?
Would it not be better to have mode keys instead? These would work sort of like caps lock, but they would be used for all modes, and there would be no default mode to "return to". To type Hello, World, you would thus hit upper, h, lower, e, l, l, o, symbol, comma, space, upper, w, lower, o, r, l, d. This way, there is no chording; mode keys are fire-and-forget, like everything else.
I would propose the following modes, which are mutually exclusive rather than additive. Pressing the control mode key then the alt mode key leaves you in alt mode, not ctrl+alt. This means that you never have to look at keyboard lights to ensure what mode you're in.
I'm not sure whether space, enter, backspace, and tab (in order of importance) should be on their own keys and work in all modes, should be on their own keys which have different meanings in different modes, or should be on the letter keys and get accessed in a single mode. I'm leaning towards the second option.
Ideas? Anybody want to build one?
Div.
But my grandest creation, as history will tell,
But my grandest creation, as history will tell,
Was Firefrorefiddle, the Fiend of the Fell.
I grew up playing games on the family's Kaypro II (then 286, 386...), and they all required the use of the wonderful keypad. My favorite was the PC version of spacewar, which required the use of all nine keys in order to use all of the functions. My hands still easily fit over the 8,4,6, and 2 keys. I can navigate around any document using home, end, pageup and pagedown.
I play quake with no less than 13 seperate keys (with my left hand, even), including seperate keys for every single weapon. The only drawback is that I use my thumb for both backwards and jump, so that combination is a little tough.
I certainly don't like having the keypad quite so far away from the main keyboard, but I don't agree with his assertion that having the arrows where you expect them to beis better than the HORRIBLE hjkl deal. I mean, what is up? Why is up to the side of down? that makes no sense! I also don't like the inverted-T deal, because the up and down keys are too close together.
Is there any way to enable the keypad in linux? Mine never works
As a regular windows user, I've gotten used to the "horrible" Windows button, that came not too long ago. When gotten used to... you realize that they are the best thing that has happened to keyboard layout (for those who are using windows) What I really miss in GNOME (never tried KDE), is the possibilities with one keystroke hit the mouse menus. But then, ofcourse... I miss every kind of keystrokes, since the makers of current GUI's and windowmanagers doesn't seem to be using those, only the mouse... //stalle
//stalle
..mental disorder? If you were to do things without concious thought that can be a sign of some form of mental disorder. I always believe in hard facts and take thing as using thought. I can recite the ABCs quite easily as I learned them a a small child however I must think about the task (small ammount) to form the sounds that allow me to produce the string of letters. While I am sure memorization is possible there must be a more precise term for the actions you could preform in such a manner. For me I rely on my eyes to do what I cannot immediately see and determine.
Slashdot social engineering at it's finest
Gee thanks people.
No such luck. I nearly lost my sanity trying to get anything done. The most glaring problem was the "B". I do not purport to type correctly -- just the way that gets the job done quickly (as Tom advocates here).
Upon slower reflection, I discovered that I normally (subconsciously) press the B with whichever pointer finger seems least busy. So, for example, "about" and "autoexec.bat" are right-handed Bs, but "blaster" and "obituary" are left-handed Bs. That choice is not given to natural keyboard users, and so when typing "autoexec.bat", I found my right pointer finger slamming into a ditch in the keyboard.
Ergonomics is a laudable goal, but it seems to ridiculous to make incremental improvements on the keyboard layout. It just ends up frustrating users by giving them the illusion of continuity or smaller learning curves, instead of just redesigning the whole thing and doing it The Right Way.
Then again, I have been known to try to honk the horn in my Ford Taurus by reaching for a non-existant thumb button (a habit from the Grand Marquis) while the horn is really in the center of the wheel. Sometimes I wonder how I shift from Sun keyword to Wintel keyboard with so few errors.
- Richie
but I still like the Sun 5 unix kbd better...
My favorite keyboard for layout and feel is not the current or first Mac keyboards, which were crap, but the model they originally sold with the Mac II in 1987, the 'Apple Extended Keyboard' or 'Saratoga' aka 'Keyboard of The Gods'. That sucker was huge, but it has exactly the right feel - great tactile feedback, short key throw and no clicky noise, and a hell of a lot of attention to detail including a concave shape to bring all the keys a little closer together. I still use mine with my G3 - it's too bad I never was able to find a PC keyboard as well laid out or constructed.
Thats funny... I'm working on a new video game port of galaga that I'm calling emacs. Galaga rocks
i agree, it is a kind of cult on #perl, with merlin the "little god" there with his pack of sycophants .. i was treated quite rudely while on #perl on what would have been an acceptable and polite mission on other channels. i guess merlin was having a bad day and started insulting and kicking me for no reason, and all his followers started insulting me as well... a couple of people msg'd me privately with sympathetic messages so I guess the clique is not without its dissenters. anyway so much for the "perl community" on irc anyway.
The only thing that grated a tad were the continuous comments about emacs - there's not that much difference between regularly switching modes and using meta-combinations. They're both just as automatic as the other after a while.
That said, I personally would love to have the movement commands in emacs changed to Ctrl-h, Ctrl-j, etc. I love the convenience of the hjkl controls, but I don't want to throw away all the wonderful things that emacs offers just for them . . .
On a broader note, I think a large part of the changes away from the keyboard result from `ordinary users' finding keyboards intimidating. Neal Stephenson made a really good point in his "In the beginning" essay: when you use a command line (and keyboard shortcuts are in the same league), you have to express your instructions in a completely non-ambiguos form, and that's hard work for most people. You can be really vague about searching through menus and so forth without losing any functionality, but if you're vague about your shell commands you get nothing done.
You can see this in all those Windows keyboards - they have half a dozen different keys that aren't shortcuts to any particular command, but instead to menus. Once you've got the menu up you can move over to the mouse and go back to your normal searching routine, or you can search using the arrows or whatever, but it's all still oriented toward searching for an option rather than giving explicit commands.
In fact, the whole thing with Windows' `user-friendliness' revolves around this point: you don't have to remember anything, all you have to do is recognise the option that you want to use from some menu. The biggest complaint you hear about command line interfaces is "all those things you have to remember". There seems to be a movement away from believing that you have to learn stuff in order to do useful things, to the attitude that if you have to learn stuff it's obviously the software's fault for not being easy enough. Which is moderately sickening, really (it'd make me physically ill, but I've had a long time to get used to it).
In the end I don't think you can blame the keyboard makers or the mouse manufacturers or whatever for the ergonomic stuffups you see - it's the people who quite simply aren't prepared to learn an efficient interface who are to blame. And the only thing to be done about them is . . . well, I was going to say take them out the back and shoot them, but I don't think there are enough bullets in the world. Maybe we should just leave them to use Windows.
A fitting punishment, I think . . .
himi
My, aren't I cynical today . . .
My very own DeCSS mirror.
If you've read your Oliver Sacks, it's a matter of proprioception, and whether one can develop it. If I'm thinking about which button to push, I'm not thinking about my problem, and the "Zen state" is one in which my problem is all I'm thinking about.
As for control keys, my personal opinion is irrelevant. The fact is that I am a system administrator and not a programmer. Therefore, I am constantly using different systems as I check things out and help people. So, I really need to have a keyboard on my own desktop which has the control key in the SAME PLACE as all those other keyboards. For me, that means down in the bottom left/right as on PC keyboards.
I am curious though, on the one hand Tom said that there should be two control keys, which their are on conventional PC keyboards, and they he said that he liked the placement at the left of the "A" key. Well, where would the second key go? If you put it on the right at the same level you'd conlfict with the return key...
As for arrow keys, I do find them useful, but would like them to be closer, so that they are easier to use. The best layout that I've ever come across was on old WYSE terminals that I used to use years ago. Wyse are still in business and you can see a keyboard layout here: www.wyse.com/terminal/specs/ascii.htm They have the arrow keys merged into the bottom right corner, and it worked really well for me.
Art Mulder
I believe the arguments against chording are specious. I often achieve this zen state while programming with emacs, which uses chorded combinations extensively. In optimizing my environments for myself, I tend to choose chords and sequences in roughly equal proportion. Heck, I've got my X modmap configured to let me use all five buckybits. I don't claim everyone should, just that I'm a counterexample.
This article combines a good point -- that a user interface should keep out of a user's way -- buried in a tremendous bulk of plugs for particular opinions in age old flamewars. I was surprised I didn't find any arguments for or against the use of keyclick. Without the pro-vi baggage, the article makes a good, but simple, point. (As a side note, this article brings to my mind the pro-ed diatribe distributed in the JOKES file with emacs. I recommend it to anyone who hasn't read it).
Interesting article. But:
:) Tab moves you between elements in a form, escape cancels. Do you really want the two next to each other? And I've still got something to cover the functionality of the Windows keys, as much as Tom may have ranted against them. Incidentally, I rather like them. Being stuck in Windows, it means I can navigate around the abomination that is the start menu VERY quickly.
;) There's the different coloured keys, to help emphasize that not all keys are the same. With the keyboard right on the periphery of your viewing, it means you can see much more easily whether you're on a standard key or a non-printing key without having to move the eyes as much. And there's a lovely soft, smooth action. A truly great keyboard design.
I would truly hate to have to work on that happy hacker's keyboard. I like have a proper row of function keys - they're useful. I like my numeric keypad - as Tom said, I can enter numbers way faster on that than I can on the row at the top, even if I'm just typing a phone number. Don't kill it. I use cAPS lOCK, too. It's nice when you're shouting at someone - saves having to leave a finger wedging a key down. And I like cursor keys...
Let's pull a quote out:
"... the up arrow and the down arrow are directly aligned vertically. Your hand despises this, which is why the rest of the main keyboard has no such configuration on it anywhere. To see what I mean, try using the `j' and `k' keys in rapid succession, back and forth as though you were executing a trill. It's quite easy to go up three, down one, up two, etc. But now try playing your trill on the up and down arrows. Whoops! You have to turn your hand completely sideways, or use the same finger to do both jobs. Either way you play it, you lose."
Actually, no. I'm a trumpetter so I'm well used to playing trills, but I can execute one FAR faster on the arrow keys than I can on j-k. Why? All to do with how the fingers work. Y'see, they don't move quite independently of each other. Sit there for a minute wiggling your fingers and you'll see what I mean. But, if the keys are in a vertical line, I can use my thumb and get entirely independent motion. Try a quick test - thumb on the down arrow, middle finger on the up. you should find that you can get a trill far faster than with fingers alone this way. Besides, stick me on that dreadful Happy Hacker keyboard and I lose them altogether unless I'm willing to use the option shift - which is something Tom's been arguing against from the start to my eyes, and would slow me down considerably.
Now, let's look back at that odd keyboard again. Oops, Escape's next to 1. Tom, for whatever reason, may well like that. But the average user? No way. Far too high a chance of hitting it accidentally. Think Windows for a moment. You can get therapy later if you want
I'm glad to see you value Ctrl so highly, Tom, but I don't actually use it all that often. I'm happy it's way down there. I wish my left shift were larger, like you, but I'm happy with my Ctrl key.
Spacebars - how many of us do anything other than rest our thumbs on them and hit them when necessary? So how large do they really need to be? Not very. This one's nearly 6 keys long, but that's plenty long enough and certainly no shorter than this ideal keyboard Tom seems to like, despite his protestations that they're too small now.
You talk about the penalty zone - but what would you prefer? If the cursor keys - VERY useful, even if they do give me cramp if I play games on them for too long - are moved in tighter, the chance of my hitting them accidentally and ending up with gibberish increases exponentially. Do I want to to accidentally hit Insert or Delete when I press Enter? Of course not. If you don't seem to like the keys being on the keyboard, surely the 'penalty zone' is the place to put them, so they don't infringe on your keyboard space? And, going back to the Happy Hacker, do I want an Enter key (Return belonging on typewriters, not computers...) that small? Of course not.
Mice, I will agree, cause problems. Over at KOSH we actually discussed whether it would be better to fit a left-handed numeric pad and cursor key set, simply to reduce the distance between the edge of the main typing area and the pointing device. Having borrowed a friend's laptop to fix it for them last week, though, I'd be perfectly happy if someone fits one of those little joysticks. Turn the acceleration off and they're lovely.
Quite what posessed Tom to write some of this, I'm not sure. I agree that many current Windows keyboards aren't very well designed, but I hardly see that suggestion as any better. It's worse in many significant ways, to be blunt.
What would I suggest? Well, I rather like the keyboard Commodore used with the Amiga - especially before they shrank the left-hand shift key to give you an extra key down there. It's got a Caps Lock, but it's the same size as an ordinary key, so allows a (smaller) Ctrl key to be fitted in next to it where Tom seems to like them. Who cares that it's small, though - the main shortcut keys are the Amiga keys beside the spacebar. There's that Help key, which most applications actually used - ideal for confused newbies. There's that truly huge spacebar for size queens
Greg
Greg
(Inside a nuclear plant)
Aaaarrrggh! Run! The canary has mutated!
I was recently lucky. I got a hold of two boxes full of those wonderful fully mechanical (clickety-clickety-clack-clack, annoys my wife to no end) IBM keyboards with PS/2 plugs on them (I think they were used with terminals of some kind...?)
It's almost worth buying a bunch of AT-to-PS/2 adapters to use them on all my systems. :-) In any event, I find myself using my slow, old laptop quite a bit now -- even at home! -- because I can plug one of those keyboards into it, whereas I can't plug one into my HP 720.
Goodbye mushy keyboards!
Ok, I admit I like the Sun KB layout and feel. In fact, it's the ONLY "soft-touch" keyboard I will tolerate. However, in the Wintel world, my favorite keyboard, for sheer durability and usability, has always been the 101-key IBM 'clicker.' Short of being hit by a baseball bat, or dunked in a tank of acid, the things are just about indestructible. Dell and the rest of the clone makers can have their mushy-feel crap. Give me something I can BANG on, dang it, without having it die on me! ;-)
I have no problem with the arrow keys. I've trained my fingers to find the home row without looking, and I can find it without looking. I've also trained them to find the escape key, the arrow keys, and the "six pack" without looking (don't get me started on that so-called "Natural" keyboard!) Function keys are still difficult, but only because they put that stupid gap between groups, and put them too far from the number keys.
I have no problem with chorded keys. Anyone who learned to touch-type also learned how to use shift, and control (at least now) is no different. Alt is a bit of a pain, but only because they moved the right one an inch to the left on the abominable Windoze keyboards.
That brings me to my main point. I use more than one keyboard, from different eras. On this keyboard, the alt key is in the wrong place. I can deal with that, usually - I've retrained, again. But I'm a DOS user (I know, I know, please put the rotten fruits away now) and I have to use the backslash key. You know, the one that's above the (smaller) enter key. Er, to the right of the (smaller) shift key. Er, no, to the left of the (smaller) backspace key. Damn, just where is the friggin' thing?
thinking: rd /s docs\temp /s docs[enter]temp
typing: rd
thinking: damned backslash!
Tom, you missed the single greatest problem facing touch-typists today: the backslash key.
As always Tom writes quite well but doesn't quite know when to stop. Reading this article I winced when it came to the various rants on the arrows and chorded command sequences. While I agree that examples like CNTL-ALT-SHIFT-F11 are bad, simple chords (CNTL-K, for example) are no worse than other chords that some editors use (SHIFT-Q, for example). Ah, did we forget that the SHIFT key combo is a chord?
/he/ learned to edit is the /only/ way to achieve the zen state he described. His arguments work both for and against because when it comes to editing we learn what works for us be it joe, [el|n]vi[is|m], [X]Emacs, etc, etc, etc.
Then there was how many paragraphs devoted to the concept of muscle memory yet he so flippantly dismisses the arrow keys by stating that the user must look down at the keyboard to find them and look again to regain his place on the keyboard. Can't have it both ways. I can attest that I can easily switch from main block to arrows and back again without looking using that very same muscle memory.
Speaking of arrows, oddly enough, the keyboard I use now doesn't have the up and down directly over one another. Even so it doesn't take a rocket scientist to do this simple thing to make all the keys accessable at once. Place middle finger on up arrow, index on left, ring on right. Now, the thumb naturally rests slightly below the index and to the left. Move it over 1", moving the hand up slightly. This is not moving the fingers up and down nor is it folding your hand in half.
As for moving fingers, why is it that moving the index from up to down and back again is not acceptable but moving the same infex from j to h for the vi movements acceptable? If you don't move the index then you're moving the whole hand over one. Why then is that acceptable and moving the hand to the arrows not?
Finally, the tired old "main block only commands" for "speed". Tom spent many paragraphs talking about getting into the zen state with the keyboard and how all these keys are "bad". However he never gave thought to the fact that being in modes is just as "bad"... IE, neither are bad or good, they are different.
I spent many years in Joesph Allen's "joe" editor. I moved my hands from main block to arrows and back. I've used chorded command characters constantly. Oddly enough, I got into that zen state where I could hammer out code, or newsgroup articles, or poetry. I could get into the zen state because I didn't have to deal with vi's stupidity. With joe I never had the following thoughts, "And now I'll just move over, damn, crap, crap, gotta get back into command mode!" If there ever was something which would throw someone out of their groove it is that, not moving their hands 5-6" to the arrows or hitting a simple chord just like the many chords I've used to write this.
Tom's article goes a long way because it defines a lot of what is wrong with keyboards in general as well as provides a very good distiction between GUI/CLI and using the right interface for the task at hand. However, he overstepped by stating that how
Just as a note, for the past 8 months I've been using vim, not joe. This isn't an editor flame against any editor. It is just pointing out that editor wars exist because people are different. We're all right in our choice of editor and it just saddened me to see someone like Tom apparently unable to grasp that.
-- Grey d'Miyu, not just another pretty color.
The d and k keys connect with your middle fingers, which are longest, and most often connect first for that reason.
Actually, they take some getting used to, but hjkl work suprisingly well for moving the cursor. Well, I like 'em, at least.
As far as ergonomic nightmares go, I have to wonder what people think of the split keyboards. I put my hands on one in an office store once and immediately felt nauseous, but I wonder... if they didn't have the Windoze keys (among others), would they help or hinder in achieving keyboard zen?
This article makes me shiver. It is not -- as billed -- an analysis of computer interface. Rather, it is a fervent piece of VI advocacy from someone who has been stuck on that interface so long that their mind has irrevocably wrapped around it. I do *not* view VI as a superior editor, and for the record, I've had a number of "transcendent" experiences with Emacs.
The basic argument for VI is: "You never have to move your hands! Isn't it amazing?". Well, that's all nice, I suppose, but I view the interface as archaic and clunky. He goes off on how control keys slow down an interface...CTRL slows me down a hell of a lot less than switching modes does. (Yes: I've used VI for more than 5 minutes at a stretch, and I'll confess it has its merits, but I've never liked editing "modes").
And arguments against arrow keys? Please...if you don't like them, then don't use them. I for one find them useful even if they are "exiled". And the argument that they can only operate on characters is wholly wrong. I have Emacs set up so that CTRL+ARROW skips words horizontally and paragraphs vertically. Very useful, that.
While I'll agree that CAPS LOCK deserves to be exiled and that the shrinking of SPACE BAR at the hands of the "vanity" keys is tragic, I like my function keys, and I like my arrow keys...even if they are a bit "out of the way". So up is stacked on top of down? Damn, I can't do trills all day long like I can in VI. But wait...I don't *need* to do up/down trills when editing code. Maybe VI users like them, but they've always struck me as unproductive.
Let me close this by saying I respect Tom and enjoy his books a lot. I can't believe that I am flaming him. However, I'm offended at VI propaganda being passed off as an interface analysis. Minimum finger movement is important, but it is far from the only thing one should be concerned about in an interface.
--Lenny
I know Windows at least used to come with a ``macro recorder'' of some kind that, it would seem, could automate this for you. But as I have been avoiding Windows innards religiously for some time I can't say for sure what the current state is...
You just described my life! I DO stop playing at eleven or so with about 5 Mnt Dew cans scattered across my desk, near my 19" monitor! oh but no microwave pizza..its generally pizza rolls. This is too eeri(sp?) I know most of us /.ers have lots of things in common but someone just wrote my biography :)
Oh and for the record, i went to a lan party over the weekend, first time i played q2 since q3test was released. I was totally zoned in a zen state fraging everything and doing jumps such that i was freaking out. I never noticed how much different q3 is from q2.
Such an interesting article I read it three time :-) Had a look at the 'proper keyboard' Tom suggested, it looks ~ok, but it's $139! You can nearly by a computer for that these days, methinks Tom must be getting a hefty kickback for advertising them.
J-aims
--
Yo, whatever happened to peas? Join T( H)GS
Well, everyone else has argued that what you don't believe in actually does exist, so I'll look at something else. This discussion has a supreme irony that no-one else seems to have noted. What TC described (and everyone else here) is actually the exact opposite of a Zen trance. It is actually much more like a yoga trance. In the yoga trance state the participant becomes oblivious to the outside world. In a true Zen trance, the participant becomes totally and unconditionally aware.
I read about an experiment (sorry, no references - too long ago) that studied these mental states. It involved three groups, on of untranced subjects, one of Zen-tranced subjects and one of yoga-tranced subjects. The experimenters measured brain activity with an EEG and then exposed the subjects to a series of loud surprise noises. In the untranced, the measured startle response was large for the first noise but died down and then died out with repitition - normal acclimatization. In the yoga-tranced, there was no measured reaction, even to the first loud noise. The big surprise was the Zen-tranced group who showed the same, large response as the untranced on the first loud noise and an unchanged response on each subsequent loud noise. Not only did the Zen-tranced respond to the sound, they did not acclimatize to it.
I believe I have experienced a similar state exactly once in my life. I was in Amsterdam in a video arcade, playing space invaders (yes, a *long* time ago). I had just bought a learning Dutch book and was having the game of my life. I definitely entered some kind of trance and became aware of everyone around me and on the street, as well as everything happening in the game. I was already way beyond my previous personal best when a Dutch youth quietly snatched my book and started to slip away. Normally I would not have noticed, but in this state I was able to take two steps and surprise the life out of him by clapping my hand down on his shoulder. He apologized, rather subdued, as he handed the book back. That was the end of the game, though, and that's what I really resented. Still, I didn't feel anything from my knees down for a good half-hour.
So, these altered states DO happen. Mystical? Bullshit! A combination of a severe addrenalin high and other neurological factors that I for one do not know or understand (and I suspect that applies for everyone else at the moment). You don't believe in unexplained but natural, if wierd, effects? Well, I'm sorry for you, Horation, but there are more things in Heaven and Earth than there are in your philosophy.
He abhors the chorded combos. But then he includes a link to a keyboard that eliminates the penalty zone entirely. I have no problem reaching for the keypad or the cursor keys without looking at them. They are just THERE, like the 90% of a piano that isn't right under your hand at any moment. (He despises the loss of the control keys, but says NOTHING about the morons who replaced a numeric keyboard with abstruse and specialized control functions and propagated that as "terminal emulation". Where'd the numbers go? Numbers do not belong in a thin stripe that takes BOTH hands!)
Vi may be a good video game for him, but I have other deep connections to my code. I like the low control because of the symmetry between the two hands. I want a keyboard with good feel, low control key, but drop the three vanity keys from my current one.
Sure you can go on about the bastage that is moving the backspace key to where the spacebar is being good. But you are a righty.... one of the freaks that does not conform to the true way of the lefties. If you are left handed then the "new" keyboard layout sucks goats and blows llamas.
I started, however, as an HTML jockey, and during my servitude with that miserable beast, I got so I can type in all caps, just by holding down the shift key, almost as fast as I can type without holding it down. I was always in the "HTML tags are capitalized and that's that" school. So, the caps lock key is thoroughly useless and should, indeed be banned outright. The only thing it appears to be good for is getting in the way of the tab key and making me capitalize a whole line instead of moving it four (that's pronounced "The One True Tab") spaces to the right.
----
Morning gray ignites a twisted mass of foreign shapes and sounds
There is no K5 cabal.
I am not the real rusty.
Given the build-up about the author, I expected the article to be deep, enlightning, and intellectually rewarding. Instead, I got a verbose diatribe about the wonders of vi and the evils of other editors and bad keyboards. I can make similar comments of my own in far less space:
1. I find emacs much friendlier and more convenient than vi, largely due to its modelessness and use of meaningful keys such as the arrows, Cut, Home, and End (on a Sparc 20). My only complaint is that the Del key defaults to uselessly duplicating backspace rather than deleting forward. But this can be fixed.
2. The keyboard on my Northgate 486/33 (from 1992) has two sets of Ctrl and Alt keys, with the F keys conveniently placed on the left side of the keyboard instead of across the top. It has survived having large piles of science fiction hardcovers fall on it numerous times and still works well.
--- Brian
Tom's point was thus proven elegantly.
I think it is understandable. Tom Christiansen et al spend enormous time writing great documentation for all of us to use. Then there are some people who don't read this documentation and instead join #perl and ask questions that would have been answered in the documentation.
;-).
/mill
From what I understand #perl is a channel for Perl programmers to hang out and sometimes even discuss Perl related stuff. It is not a help channel for people that don't want to read documentation and expect others to do their work.
Ask interesting questions and I am sure any hacker will be interested in finding solutions - even Perl hackers. In fact Perl hackers will probably give you several solutions - on one line
These things are obvios if one considers how many clueless newbies who have probably joined various programming language related irc channels to ask FAQs.
Off topic, but why refer to Elton John when referring to the song Pinball Wizard. He did play the role of the Pinball Wizard in the horrendous Tommy movie. However, let's give credit where credit is due (i.e. songwriter Pete Townshend).
That's why you're the judge and I'm the...uh...law-talkin' guy. - Lionel Hutz, Attorney at Law
Granted that I've gotta go from mouse/keyboard to keyboard/keyboard when I gotta type some stuff in, but there is no other way, and it has become second nature.
Neuro-Linguistic programming brings it down to 4 stages:
1) Unconscious incompetence -- A state where you don't know you cannot do something
2) Conscious incompetence -- The realisation that you can't do someting, usually after trying it.
3) Conscious competence -- The great amount of practice that brings us to:
4) Unconscious competence -- Doing things automagically : driving a car after a few months at it, Typing most words at a keyboard, playing the piano.
There is a point where we should fall out of state four for the sole reason of re-learning something from the ground up. When we open ourselves to learning anew, we generally walk away with more wisdom. You can also lose the grace of step four if you come under stress (like re-taking a drivers test) or through periods of inactivity in an area.
Lowmag.net
Great column, Tom (especially as I jammed the caps lock key at some point and kept getting a lowercase g on Great). I take issue, however, with the idea that you can't have a zen experience with the number keypad and the keyboard at the same time.
... (keyboard, obviously) access-list 110 permit ip *this keeps my hands near the keys when I do the 110, so I can quickly move back to permit ip*
... so if you are going to do it correctly, and reach that Zen state of routing, you find yourself moving seamlessly between keyboard and number pad.
When I was working at an ISP, I found myself consoled into 4 or 5 cisco routers on a regular basis, typing things like:
sh ip bgp 192.168.1.0
sh ip route 10.1.1.0
access-list 110 permit ip 172.31.10.0 0.0.0.255 10.1.1.0 0.0.0.255 eq any
ip route 192.168.20.0 255.255.255.0 10.14.21.10 1
ip route 192.168.20.0 255.255.255.0 null0 255
The typing would be
and then (number pad) 172.31.10.0 0.0.0.255 10.1.1.0 0.0.0.255
and back to the keyboard for permit/deny, etc.
There was absolutely no interruption in the flow of movement from keyboard to number pad and back, mostly because the action was repeated under extreme stress and network-down failures over and over until it was reflex. In the routing world, at least, the beautiful nearness and easy access to period (.) from the number pad allows the entry of IP addresses and masks with blazing speed. Still, a quick hand on the keyboard is necessary
Of course, I don't blame you for missing this possibility, as it wouldn't be apparent to anyone who didn't drill in a lot of IP addresses on a regular basis.
Just a thought. Cheers!
good. fast. cheap. (pick any two, you can't have all three)
My experience using Quatro Pro and Excel is that you don't have to use the tab key to move to the next cell. You can use the arrow keys to go to the cell up/down/left/right of the current cell. This eliminates the necessity of straying far from the keypad.
Am I the only one who knows this, or have the complainers just not realized it yet?
Caveat: this doesn't work on cells that you're changing the info in, but most data changing occurs long after the enter-next-enter-next rythm.
Who am I?
Why am here?
Where is the chocolate?
What is your Slash Rating?
I like to move caps lock to the scroll lock key, its far away and in my case next to the caps lock LED. I'm looking at a gateway keyboard and the LEDs are in the wrong order, weird.
I use the win keys to control things in my window manager like switching desktops or moving windows.
in the modmap: add Lock = Scroll_Lock
Anyway...I have to say that never having been a touch typist, I just don't find Mr. Christiansen's complaints all that moving.
If I'd bothered to take "Personal Use Typing" in high school (back when Apple IIe's with Z-80 cards running CP/M were The Coolest Thing In The World), I might share his objections. But my typing style (such as it is) grew up on a computer keyboard, arrow keys and all. (Mostly the old PC version with the arrows on the numeric pad, though). "hjkl" are no more special to my hands than "M-x" (that's emacsish for "alt-x") or the arrow keys. And given the realities of the modern keyboard interface, studying touch typing now would be, IMHO, counterproductive - it's now an outdated methodology.
So long as entry isn't too painful (as it sometimes gets on the Mac I'm typing this on - I loathe the feel of this keyboard), I can still get flowing on content.
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
18 buttons, mouse, keyboard.....
:)
sure it chords for almost everything
and its hard to get used to (i still haven't yet) but i'm sure if i spent a week typing exclusively on it, i would bitch about all the non-chording keyboards and their inefficency.....
plus its neat
Need a Catering Connection
On my Macintosh keyboard, Caps Lock is bigger than Tab. For shame!
I agree completely with what Tom said regarding the keypad's use in most apps... I like to use it for some FPSs where mousing is unavailable. As far as the banishment of the escape key, well... a lot of people have been known to hit it by accident... and it's being so isolated means, to me, that I can just toss my hand over there and slap it, and not worry about hitting anything else nearby. As opposed to the new USB mac [excuses for] keyboards which have an escape key that's half-sized. Fun.
And as regards the Zen of coding... it does exist. Those who say it does not have never felt the world melt away underneath the keyboard as they manipulate their own little digital world... It can be a hell of a feeling, and having ingested huge amounts of caffeine (as most of us do) sometimes adds a bit of an edge to it. If this feeling didn't exist, I wouldn't type in words, and I would never have started coding at age six with (I apologize in advance) the crappy little QBASIC that M$FT bundled with DOS.
(Can anyone explain to me why the HH keyboard costs $117?)
Conor
Programmer, Consultant, Geek, CTYer.
Alan Cooper is Da Man! I absolutely love "About Face : The Essentials of User Interface Design", but his new book "The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy and How To Restore The Sanity" just seems to rehash his old material. Check out his company's web site: www.cooper.com
cpeterso
I'm really going to miss it if it ever dies (no signs of it, though) or when I have to get a machine with no ADB :-(
Now if only I could switch control, capslock and escape, I'd be pretty happy. But capslock is a physical latch, so I doubt this would be as simple as xmodmap'ing.
The Matrix is going down for reboot now! Stopping reality: OK. The system is halted.
specifically because of that last stupid line in your post. So, I did bother to reply, and I am not putting my name behind it. What an ass you are.
- Has the up-and-down "clicky-clack" tactile feedback, without the audible (feel, not sound)
- Integrated Trackpoint (the "pencil eraser" pointing device)
- And black. Blacker than Zaphod's stolen spaceship. Blacker than James Brown. Etc.
Anyone aware of such a beast? The first two would be enough even, since I can paint it myself.Fuck Slashdot
"He's in the Zone, babee!"
A decidedly western concept, "the Zone", can be roughly the same thing. It is a state of oneness. Of being. Achievable in nearly all forms of action, including simple inaction (meditation). A fun place to be, but I wouldn't want to live there. (The stark realization of being in the zone usually happens at the same time you come out of it)
+&x
The "zenning out" you refer to is usually called "flow" I believe. It's discussed in Alan Cooper's "About Face" on page 127. Cooper is rather adamant about creating UI's that don't disrupt the flow. He's very much against useless modal dialogs, for example.
I'm a VI user myself (actually, I usually use VIM). I don't have any problem with where escape and control are on PC keyboards. The escape key is farther, but not much farther. It's on the corner though, which I find makes it much easier to find by feel. When I go to press escape, I just reach for the corner key with all four (non-thumb) fingers, without fear of hitting anything else. The key isn't bigger, but by using several fingers it balances out.
As for control, it's also in the corner on PC keyboards, which I find makes it relatively easy to find by feel. I do agree that caps-lock in in an exceedingly dumb place though. Having it be a littel "chiklet" up by the caps-lock light would probably be more appropriate.
Regarding your complaint that there should be control, alt and "vanity" keys on the right side of the keyboard too... huh? Every PC keyboard I've seen *does* have the shifting keys on both sides of the keyboard. That's part of the reason the space bar is smaller than it used to be. You can't have it both ways.
Finally you had several complaints about the cursor-key layout. I think the upside-down T is pretty good, actually. Moving my middle finger between the up and down keys is very easy, and I can keep fingers on the left and right keys in either position. I rarely want to go both up and down simultaneously...
Again, by being segregated, the cursor keys are fairly easy to find by feel, and the distinctive shape makes it easy to position your fingers on the keys without looking away from the screen. It's much better than the cluster of six keys above them.
Sun keyboards also have annoyingly small backspace keys. Maybe you never make a typo, but I use backspace quite frequently...
Finally, as for mice, yes there is a big lag involved in switching between the keyboard and the mouse. Well designed software takes that into account, and has keybindings wherever possible. Unfortunately, many X apps are worse about this that their MS-Windows counterparts.
Ideally, software should be designed such that if you *have* to use the mouse (ie: in a paint or drawing program), you should be able to keep your hand there for a long time, and have one-key accelerators for your non-mouse hand to use. Deluxe Paint III on the Amiga did this. Actually, Star Craft does this as well...
My big keyboard nit (this is actually a software one): why the #&!! are the default behaviour of the backspace and delete keys on Linux (at least, on all the distributions I've used) so screwed up? Backspace should be ^H, and delete should be ^?. Yes, I know how to fix it, but the default is dumb, IMHO.
Well, OK, it's an editor, not a word processor - but back on those days, how much difference, really, between the two. But EDT on a VT100 required no chording (ala EMACS), no context switches (ala vi), and the function keys were close enough to the main keyboard that there was no "penalty zone" in using them. Sliding over to the function keypad became as natural as shifting neck positions on a guitar or violin (good analogy there). Chording maybe was necessary back in the days of lisp machines, but since today's term drivers recognize escape sequences, why the need?
Oh, EDT had one "context" which was important forward/reverse mode. So, the same "move by word" key worked for moving backwards or forwards.
I achieved "keyboard zen" on the VT100. The replacement keyboard (VT200 and it's followers) killed that, because they moved the function keys too far away. Then EVE/TPU almost, but not quite got their EDT emulation correct - bummer.
So, is there a "real" EDT for Linux (not an emulated one.)
I remap the windows key to escape so I can hit escape with my right ring finger. No movement from homerow required.
OS wars aside, keyboard layouts seem to be the largest magnet for flamewars in existence. At the risk of contributing to the war, I'll add my comments.
I never did see the logic of having the Control key where the CapsLock key is. It is a shift-like key, so there should be TWO, one on either side of the keyboard. The same for ALT. Control and ALT, if we are going to have them, should be near the size of the shift keys since they are commonly used. Note that the article says at one point that there should be two Control and two ALT keys on the keyboard, then proceeds to praise having only one Control key. Does this make any sense or did I miss the point?
I don't see the CapsLock key as being overly useful for the most part and it should be relegated to somewhere further away from the main keyboard. How many times have you hit CapsLock while you were aiming for the A key or the shift key? This begs the question of what to put there. Maybe the Escape key? It is used quite a bit and has a fairly obvious function: "get me out of here!".
As for the arrow keys, why should they be considered evil? Is it so wrong to provide arrow key functionality? If I am not mistaken, arrow keys weren't used for applications initially because not all terminals had them. I am not, however, saying that the arrow keys are good for all cases; sometimes it is imperative to have fast access to all directions without moving one's fingers. Why not a split with up/down on one side and left/right on the other? (I've actually used such a keyboard and it is really nice for cases where that is required.)
Those are just my opinions, however. I think that what one finds the most comfortable is directly influenced by what one learned on. If one learned with hjkl for motion, then one will generally find that more intuitive than the arrow keys. If one is used to the Sun keyboard layout, one will probably prefer that over the PC keyboard layout. The same applies to Dvorak vs Qwerty.
That about sums up my contribution to the keyboard flamewar.
If it works in theory, try something else in practice.
Hang on to this piece... In a few years, when most computers have a pointing device and a microphone--and NO KEYBOARD!!! This piece will seem like arguing the merits of the paddle controller versus the joystick on an Atari. Archaic and quaint!
I can do alot better programming zened out on emacs than vi even though I know both pretty well. Emacs is simply better for codeing. (of course, I keep habitually using vi commands in emacs and emacs commands in vi arrgh!!)
I use keyboars that are 10+ years old because I like the feel ad they have no windows keys or little keys. These are good the way they are. We don't need the new ones with little and missing keys, nor do we need to move any keys. All the keys are logically grouped. By his ogic, we should have all the keys in a big square with more frequently used keys in the middle and keys that are farther away bigger. That would be an ugly, useless mess. The brain categorizes things and can multitask a bit so don't tell me it slows me down to move to a different logical block of the keyboard because it doesn't. I caould argue against every point in more detail but I don't feel like it, I've got better stuff to do that deflate his ego, assuming he'll ever see this comment. Oh, and the bit about RSI is worse in the mouse, then how come after many years its always the same, wrist feels sore from typing but never from using the mouse?
Neuro-Linguistic programming brings it down to 4 stages:
Cognitive scientists have studied this phenomenon extensively. It's called proceduralization.
Some neat things about procedural memory (as compared to declarative memory which is a memory for facts and events):
* Seems to be more resistant to forgetting than declarative knowledge (which is why you can still ride a bike or use an interface years after having done so). In fact, people with anterograde amnesia (inability to learn new stuff) can still learn (and improve) at skills such as reading backward text.
* You can maintain procedural memories without equivalent declarative representations (with your hands at your sides try describing how to tie your shoe)
* Skill acquisition follows a power law, and can be expressed as T=aP^-b where T= execution time, P= practice a and b are constants (a>0, b>=1).
* The best thing about proceduralization is that it reduces cognitive load, so you can allocate attention to important things like talking to a passenger while driving (although there are data that suggest that talking on a cell phone isn't the same, because the other person isn't reacting to the environment by shutting up during urgent situations)
I just like compare channels like #perl with channels like #c. On #c people aren't there to answer FAQs either. Yet usually they aren't overly nasty to you. They are occasionally encouraging and helpful and may even point you to where to look to find the information you need. (At least this was how it was a couple of months ago when I hung out there.) In my oh-so-humble opinion, efnet is becomming more and more of a cespool for egotistic dorks. This new attitude of elitism is a new thing to efnet, and did not exist when I first started around '91-92. I can only attribute this to the rapid expansion of the Internet. The sad thing is that most new programmers just need a little bit of encouragement before they can start being productive. Being harsh or rude will only cause them to get discouraged and perhaps give up Perl.
It was a JOKE!
I seem to have no problem with the arrow keys (I use the num-pad keys) or the ESC key. Believe me, I checked, and I am in the habit of hitting them directly without looking at them, and correctly everytime. Same with BACKSPACE (a really really tiny tiny little key on my keyboard). I seem to work subconsciously at copy-pasting and navigating using the shift, ctrl and arrow keys (with home, end, pgup and pgdn). Just like Mr. Christiansen is used to his vi interface, I am used to mine (though I accept that edit.com is nothing compared to vi - but brief could compare well).
I rather liked the keyboard, but it's not quite right, so I won't get one:
So I would like a slightly less radical keyboard than the Happy Hacking keyboard. Cut the function keys, cut the numeric keypad, leave everything else more or less the same. No windows keys of course, no caps lock, and make it compact so it doesn't take up too much space. Putting Ctrl next to A would let me have two Alt-Gr keys which would be a godsend on a Danish keyboard, where you need Alt-Gr for ${[]}|~\ ie all the time in programming.
Does such a keyboard exist
A foot-operated mouse would complete the picture.
I'm reading through the comments and I see many a 'he thinks Intel Keybaords Suck and Sun Doesn't' and something about how Zen Computing is ridiculous.
It's not all about the keyboard folks. It's about the interfaces that we're forced upon to meat the common user interface so joe blow will run out and buy a computer to 'surf the net' and it won't be 'hard to use'
Sit back, and think a bit to the late 80s early 90s. Remember Turbo Pascal and Turbo C, Remember Wordstar editing commands? I used to zone out for hours while coding 'mods' into my WWIV BBS system. I could dance on the keyboard and do whatever I needed without that &*(# mouse people were starting to shove down our collective throats.
Have you attempted to navigate a WIndows whatever system recently when your mouse doesn't work? With Windows 3.x it was tolerable, fairly easy to do. Win9x and Win NT 4.x it's doable, and when you do it, you usually awe anyone around you.
I personally use an older IBM keyboard that is their mainstay 101 Key keyboard, no windows key, no funky keys at all, just the 101 keys we used to know and love.
Tom
There are adb/usb adaptors, so I don't think this is an obstacle.
Here is a device built for that purpose: Link
I think a lot of keyboard preference comes from what you grew up on. I think this stems from the fact that a keyboard is an unnaturual interface. It is a device for entering a language, but built using letters. Oh, I can't think of a better way to do it, short of voice recognition, but that doesn't change the fact that a keyboard is never going to be natural.
:)
:-)
Thus, those who grew up with CONTROL to the left of A and ESC to the left of 1 will find modern PC keyboards useless. Myself, I grew up on the classic IBM 101-key layout, and that is what I use. I have zero trouble with CONTROL being where it is. In fact, the dual CONTROL and ALT keys allow me to use one hand for shifting and one hand for the prime key, whereas a single CONTROL key gets in the way.
I don't type using home row. I use what I term "Modified hunt-and-peck". I don't have to look at the keyboard anymore, buy my typing style appears somewhat random. I often comapre it to a line printer, which has a chain of letter faces in continuous rotation. Whenever the right letter is over the right spot, a hammer strikes. Likewise, I move my fingers around constantly, and when they are over the key I want, I press down. It works.
I find both vi and emacs to be not want I want. I grew up in DOS land, and am used to keybindings making heavy use of the cursor movement keys: Arrows, page up/down, HOME and END. Shift states (CONTROL, mainly) are used to move in larger steps (words, pages, etc.). (This doesn't worth a damn over Telnet, unfortunately.)
To someone like me, who grew up with this style, emacs seems like a random puzzle of control strokes, and vi fits the old joke: "vi has two modes: The one that beeps, and the one that doesn't." My mind thinks editors should not have states, and commands are single character shifted strokes (again, usually CONTROL, sometimes ALT).
The function keys are reserved for programmable macros or very infrequently used commands. With one exception: File commands get put on unshifted function keys. I still go for F2 whenever I want to save something.
I also find myself automatically adapting to the "penalty box", as Tom puts it. If I'm typing a lot of numbers, my right hand mindlessly migrates to the number pad. If I'm doing a lot of movement, it hovers over the cursor keys. If I'm using a lot of shifted strokes, one hand takes up station over CONTROL, the other punches keys. Thus, I get no big penalty for lots of shifts.
Of course, a typing teacher would likely have heart failure watching me, but hey, that's life.
But what I wouldn't give for Boxer on Linux!
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
Just because NT beats Linux in one specific benchmark does not mean that NT beats Linux in performing the tasks that most people want. This is especially true when the benchmark measures useless performance statistics on a completely unrealistic task.
The same is true for productivity studies. Productivity is measured by a calender, not by a stopwatch. Even if the mouse selection is 1 second faster, what if reaching for the mouse interrupts the person's train of thought by 2 seconds? You can time hand movement, but how do you measure the thoughts inside someone's head? The stopwatch seemingly shows that the first is faster, but play the task out over days and the calender tells the real story.
It may well be that the mouse is faster anyway, but a stopwatch study is not convincing evidence.
(sung to the tune of "Pinball Wizard" by the Who)
Ever since I was a young geek, I hacked the Linux code
From SuSE to RedHat, I musta hacked em all.
But I ain't grokked nothing like him, in any IRC Channel.
That deaf dumb and blind kid, Sure hacks a mean kernel!
He sits there at the puter, light he's never seen.
Loads the GNU compiler, always compiles clean.
Codes by intuition, no flow charts cast a pall...
That deaf dumb and blind kid, Sure hacks a mean kernel!
He's an OS Wizard.
Debugging is his trip.
An OS Wizard, no wonder his mind slips...
How do you think he does it?
I don't know!
What makes him so good?
Ain't got no marketing department
Can't hear no MP3's.
Can't see no modems flashing.
Releases when it works well
Always installs Linux... On Windows DELTREEs.
That deaf dumb and blind kid, Sure hacks a mean kernel!
I thought I was the GNU compiler King
But I just handed my C++ crown to him.
Even on my favorite distro his uptime beats my best
The caffeine keeps him awake, never needs any rest
He's got crazy typing fingers
Never made no bugs at all
That deaf dumb and blind kid, Sure hacks a mean kernel!
by Belgand (belgand@userfriendly.org), Beregond (beregond@bix.com), and #userfriendly
And not just on guitar. Consider the saxaphone, trumpet, Louis Armstrong, Bird, John Coltraine etc. If chording was really so bad, then presumably none of the great musicians - who have to hit chords far more strenuous than CTRL-ALT-whatever - would ever go into that zen state and I dare say that nobody is going to suggest that.
Been using a kinesis for months now, they are not perfect, but they are close.
:(
Kinesis keyboards are divided in half, with a large space in the middle, this allows your arms to rest naturally, unlike the crunched position that the coders keyboard forces you to use.
Kinesis keyboards make extensive use of the thumbs. To have two digits pressing one button is silly, maybe Tom just isn't good with his thumbs or something. I feel sorry for his SO
Penalty: coders keyboard gives a penalty for hitting the fucking ENTER, DELETE, {}, \, +, - keys for christ's sake! With a kinesis, ALL keys (excluding function and esc) are within immediate reach.
Coders keyboard has no hand rest and uses the dated crunched style which bends your arms unnaturally.
I'm sorry for posting all this, but this poor guy just hasn't experienced keyboard bliss.
If you like the excellent tactile feel of the original IBM keyboards and prefer to buy to new, you can apparently still get 'em. See: IBM Keyboards and select "Enhanced keyboard". I'm using an older version of the 'Space Saver' keyboard (see the same page), BTW. Not as good tactile action as the classic IBMs, but still better than 99.9% of the OEM PC keyboards on the market. Has an integrated pointing device (Trackpoint), but will pass-thru your mouse too. Decent size (no numeric pad, etc.). Neither of the above keyboards is likely to have the Control & Escape keys in the 'right' place, alas. *I have no relationship with IBM except as an occaional customer.*
Yes, MS is the Evil Empire. But the keyboard does some things right:
But there are problems, too:
I can, and do, type for hours and hours on this thing. It's the most comfortable keyboard I've used - and I've used pretty well all the keyboards mentioned in this thread extensively (Sun, PC, Mac, different ergo keyboards....).
Visit Best Buy or another store and try the display model. You might like it. The current version comes with a USB interface as well as PS/2 (PS/2 works with Linux; I'm not sure about USB).
W A S D owns you, bitch
For those who haven't seen them, the mouse is a little stick between the G, H, and B keys. It sticks up just a bit above the keys. The Left mouse button is just below the space-bar, the Right is below the left. I push the left mouse button with the tip of my right thumb, and the right button with my right thumb-knuckle. It takes a while to get used to it, and some people never do, but when you know how to do it, using the mouse becomes second nature, and it is very hard to go back to "regular" mice.
This enormous hyperbole, all 4697 words of it, IMO all boils to a few simple truths: Tom C. has been using certain tools for many years, knows them, likes them and can operate them well. But he has a peculiar need to demonstrate that his irrational preferences are somehow superior, and hence has confabulated all of these overstated arguments. In fact, it's all just a fluke of history. If emacs had come before vi, and hence Tom had learned and mastered emacs instead, we'd be reading an essay about "evil" design decisions inherent in vi.
Contrary to Tom's assertions, I can and do "Zen out" while using Emacs to write programs all the time. And I think that vi is an astonishing example of brain-death. (And yes, I know enough of vi to cope with it, because it's the only editor you can be certain to find on J. Random Customer's Unix machine.) But I'm not going to subject you to some dogmatic rationalizations for my tastes; I simply learned Emacs first, mastered it, and by now I can become "one with it". vi just frustrates me, because I haven't learned it and can't grok it. And that's all there is to it -- it's certainly nothing that needs 4697 words to explain.
Always keep a sapphire in your mind
This article brings to light why Windows keys
are so irritating. It's not really the MS logos
on my keyboards (although that kind of sucks too),
it's that the nice space that used to be between
control and alt that gave me subtle tactual
hints what I was pressing is gone. *sigh*
For every problem, there is at least one solution that is simple, neat, and wrong.
What you are saying tom is that overriding design criteria of software/hardware should be to account for people that after years of use on the product can do things mechanically without thinking. I would have to say that this is such a small subset of computer users in the world that it doesn't matter when thinking about design. More appropriately you should allow for ease of learning while accomodating in some fashion those who will reach a higher level of enlightenment with the software or hardware. You talk about zenning while using VI and I agree that its entirely possible, yet when I use VI I can barely type a sentence let alone fly through pages of code. I constantly have to worry what mode I'm in and whether what I'm doing is a command or edit. I am just slow as all hell with it. I think that if I were willing to drudge along for 2 or 3 years and only ever use VI for the tasks I am trying to accomplish I would reach the level of speed that you talk so highly about, but is this necessary or useful? I tend to think not because when I edit with my preferred editor (Xemacs) I can totally be one with what I'm doing. I would argue that I have attained a level of competance and speed with Xemacs that would equal or surpass what I what I would be able to do with VI. I think I got a little away from my point but anyways. The ability to fade away into the computer isn't important considering that most users of computers probably don't spend enough time on them to attain a level of competance to allow it. I do, however, think that allowing for this other level of operation is important, though it should be somewhat hidden so that those not initiated don't have to stay into the field of mushrooms and get lost.
"You can now flame me, I am full of love,"
I notice Tom flames EMACS for unintuitive key sequences like ^N and ^P. I think he forgets that you can program very context-dependent macros into EMACS; it should even be possible to invoke every command by some sequence of the asdfjkl; keys so that you never even have to pick up your fingers! Come to think of it, I'm not so sure Tom (and Brett Glass) haven't programmed macros into their editors to automatically whip up their repetitive anti-GPL posts.
I've only used VC++ for a little while, but I don't think it's the kind of program you could use intuitively. By that I mean, when I'm doing perl in gvim, I can enter stuff as fast as i can type. In VC++, I can't do that. I'll go to where I need something, type two lines, go to a menu, do something else, and so on. It's not that the VC++ interface makes it impossible to enter code without moving your hands off the keyboard, but it's that when you're using VC++, you aren't really entering code most of the time. You're inheriting from some other class and copying and pasting some code, or linking a dialog box to a class, or stuff like that, which is not done with a keyboard. Programming in C or Perl in a unix environment is pretty much a two dimensional process -- you have an array of files (all your code and headers or modules) and you have an array of characters within the files. Programming in VC++ seems to be different, like you're working on a single 3 dimensional object, going inside to ad something, coming outside to run a wire around, glueing another part on here. It's not that the interface is different (it is, but that's beside the point), it's that the tasks you're performing are totally different.
I also find that I work on web pages in a different way depending on whether I'm using gvim (windows) or BBEdit (macintosh) as the editor.
Some would be inclined to say that's the very definition of "mystical" (compare to linguistically similar word "mysterious"). Webster's comfirms this use of the word. So, in fact, unless you believe all possible knowledge is already known, you do believe in the existence of mystical things.
I think the word you're looking for to ridicule as bullshit is "supernatural". I believe in mystical states, but I have no belief in the supernatural...
--
"Convictions are more dangerous enemies of truth than lies."
Ahhh, me public. ;)
/. effect for a good cause - attracting people to SM and the SCCA.
/. audience and the intended SM audience?
Just trying to generate a little
I wonder just how much crossover there is betwixt the
Only the server logs know for sure...
Think of us, poor second level hackers that have to cope with a non-US keyboard. I am often locked up with an italian keyboard, but other European keyboards are no more different. For an instance, our beloved slash "/" is above number 7 - yes! we have to press SHIFT-'7' to get it! But that's only the beginning. Colon and semicolon are not in the same key but they are placed over the point and the comma. So, a colon for us becomes SHIFT-'.'. In the italian keyboard, also, the curly braces are non-existant. MS users can get them with the ALT-XXX trick (123 and 125), Linux users (as myself) can use RIGHTALT-'8' and RIGHTALT-'9' or '9' and '0', depending if you are on the console or X. Already sick of it? Well, also the reverse apostrophe is banned from the keyboard, again, MS users can do the ALT-XXX trick, Linux users can work it with RIGHTALT-''' (apostrophe is right of '0'). Angle braces are in the same positions, but, sigh! condemned to be invoked with RIGHTALT. The "@" is right to the 'l', but again, treated as a secondary character, so you must press RIGHTALT with that key. The same destiny has been ruled for the '#'. The backslash key is intact, with the "pipe" over it, but it is way left of the keyboard (next to the '1'), where the ESC should stand sovereign. What we get in return? a lot (4) keys with accented letters. What a waste of keys! The spanish keyboard instead, uses a special key (the one next of 'p') to put the accents. Like on a typewriter, you press that key first, then the vowel you want accented.
Things change, really, and usually for worse. I changed my keyboard recently. I bought a cheap one, mede of what it seems recycled plastic. The first days where a pain. These brand-new keyboard has a miniature RIGHTSHIFT, which I often miss. Also, a miniature replica of the space bar, just to make room for the Windoze keys! Double sigh!
Reading of the "intuitiveness" of the cursor keys cited on the article made me grin. Years ago, when coding my first programs in BASIC on my then-proud-C64, I did a nibbles clone and made the movement keys redefinable. The default set included 'b' for down and 'n'for up. And that was eons before I knew Un*x or vi. ;)
Anyway, seems that we have to cry for real keyboards or we won't get any.
Regards,
AJH
I use the PC Concepts Express Remote Pro wireless keyboard for my home computing experience, and I'd just like to say that I really like it. It's a much smaller keyboard (it doesn't have the keypad, and the insert-delete-home-end-pgup-pgdown-end row is "squished" to the right of the normal end of the "letter-pad". It's very laptopish, and has a very light sounding click whenever you hit a key. A big bonus is that you don't have to "push" down on they keys - all you need is a very light tap. That, in combination with a Dvorak layout makes my feel like my fingers are kind of "flying" over the keyboard - it's a great feeling. It also has a tiny mouse built into the keyboard, if you're into that sort of thing.
They have an ugly webpage, but their keyboards are great, I suggest checking them out! I really wish I had one at work, where I have to type on these new IBM keyboards, and I can feel the strain on my wrist everytime I have to push them down.
Mina Inerz [N. Reinking]
As an avid (rabid?) vi user, I'm frustrated by the huge distance to the Esc key. Luckily, my terminal program (SecureCRT) lets me turn on an "Emacs mode", where Alt+X sends ESC X. After inserting some text, I just Alt+Enter or Alt+NextCommand and my fingers never need to leave the real keyboard.
Since when is an offtopic flamebait troll considered informative?
Merlin a resident godlet? Give me a break. He's not even a good programmer. He's just the resident drunk and convicted cracker felon that everybody has heard of. Big deal.
Of course, if Windows had any decent scripting abilities like UNIX or MacOS, this wouldn't be a problem. This is the second flaw in your QuickCam software/Windows OS- not allowing scripted access or control. Same thing with the scientific software- with MacOS at least, I can easily automate programs with AppleScript, MacPerl, KeyQuencer, or another macro/scripting utility.
One of my off-the-wall ideas is the idea of a "mouse" keyboard. Controllers like the spaceball work not by having the controller move (much), but by interpreting forces exterted on them as motion. Build a keyboard with a wristrest, with depressions in them where the heel of the hand goes. Then have mouse moves correspond to the user pushing with the heel of the hand(s), forwards or backwards for up and down, left and right for the mouse to move left or right.
Unless you're playing rogue or something, I can't see being able to switch quickly between up and down being much of an issue. I personally find having page up/page down/home/end together with the cursor control keys (when numlock is off) makes for extremely fast navigation. I rarely have to enter many numbers though. My preferred keyboard would probably have both a numeric keypad and an eight key cursor navigation pad.
Alternatively I'd consider a chord keyboard or gesture glove for one hand and a mouse for the other.
Ooh, a sarcasm detector. Oh, that's a real useful invention.
I think that the previous post confuses the opinions of a "vi" user with "vi" advocacy.
TC's essay does not come across to me as a "vi"-mercial. To me the message of the essay is that the current keyboard is a menace to the feeling of "oneness" that is prized by humans around the world. He points out that the keyboard restricts his ability to attain oneness and uses example that are close to his heart. This does not mean he is advocating "vi", but rather that he is using "vi" to illustrate a problem.
The feeling of being at one with your task is something that cannot be explained. I hope that everyone can experience the feeling sometime. When it comes to hacking, the keyboard makes this oneness very difficult to achieve.
This nugget of information might be of interest to some.
I think I read this in the New Scientist - it basically discussed methods by which paralysed and/or crippled people may be able to walk again. It was discovered that, as opposed to traditional belief that the mind is fully responsible for one's ability to walk at all times, the mind only need send a signal down to the lower region of the body, and from then on, it already knows how to walk somehow.
The details of the discovery, and how accurate certain aspects of it are, I'm sketchy on unfortunately. But doctors were said to be looking into this to find ways that they need only open minor nerve connections to the lower body in order to allow someone to walk again.
The experiments were performed on rats, so there is more research to be done. But basically, the rats spinal cords were severed, and minor reconnections made suggesting that brain plays a smaller part in such operations, once the body has 'learned' them.
An interesting point, I thought, and a reminder that entrenched ideas and concepts are not to be confused with the mythical notion of truth.
i've been using the ibm standard 101 key keyboard for about 15 years now so i guess i've learned to deal with the shortcomings the author mentioned. i can fly from the keyboard to pgup/pgdown to cursor keys and back again without giving any thought to the process. so i suffer none of the drawpacks of the keyboard design itself. what i truely loath though is the new so-called win keyboards with that horrible windows key, the misplaced pipe/backslash key and undersized backspace key. (because the pipe/backslash key is taking up half the space ) the keyboard im using is nearly ten years old. an old keytronics 101 with dip switches to make it XT compatable because in my opinion, keyboards for windows suck pretty bad and standard 101 keyboards are harder to find.
I think along the same lines as Tom. I've spent too much time thinking how I like my keyboard set up too. before I got into linux, I started to write what I considered the ultimate editor 'navigation' system (going on the concept that the most used functions were navigation and cuting and pasting blocks) I might just do this as a macro in whatever editors i end up using. the idea is to use the semicolon key + wordstar diamond for navigation and the ' key for cuts and pastes. Which makes the ; ' sort of like "meta"keys (control) with logic to let you still type ; and ' of course. in windows since most all programs use the same keys for navigation (arrows) and shift-arrow to select... one could in a keyboard driver add some logic and mapping to these keys and it would then be nearly universal. it still remains an idea. The basis of the idea was from some wordperfect macros i stubled onto some time ago, then extended. I mostly forgotten about it until I read toms article.
When you play nethack, do you use the GUI version? I do. And I still use the keyboard even though it's a GUI. It's a hell of a lot faster.
This discussion has renewed my interest in a keyboard that doesn't have the vanity keys, but still has CTRL keys on both sides. I checked out the Happy Hacker keyboard, but it only seems to have one CTRL key. I use emacs heavily, and I rather like the chording, but I do it from both sides of the keyboard.
Incidentally, It should be noted that with chording, your hands don't need to leave the home position. Its all a matter of preference I suppose. I had an SGI keyboard for a while, but they don't seem to sell just parts.
t
You complain about the size of the backspace key. Why are you using a backspace key? ^H is much easier to get to, and it's always in the same place. Backspace is a useless key. Just xmodmap it awayand put backtick and tilde there.
If you think this is an emacs flame, you're missing the point. Look what he said about "horrors". It's the mixed mouse and keyboard use that he's dissing. You sure take things too personally! Did he say that emacs was evil? No. He just said all chording is harder than no chording. And he saved the real flames for the mouse crap.
Some LISP machine keyboards (notably the TI explorer and I believe the Symbolics as well) had a large key immediately to the left of the 'a' key marked "Rubout". This was the backspace key. The first time I sat down in front of an Explorer I thought, "this is insane..." After about a week of coding, I didn't want to live without it. Compare backspacing by sliding your left pinky one key to the left with sending your right pinky off to who knows where in search of a backspace key, which usually requires you to move your right fingers off the "home" keys. Using the "Rubout" key, you could correct typos and keep on going with hardly any interruption at all. Very slick.
It's not just with hand-held devices that the desktop/window analogy falls down. It seems to me to be that this is an absurd way of organising programs on a normal pc.
Multiple applications all on top of each other, plus dialog boxes, leaves you hunting for your program. I resort to simply switching to an empty virtual desktop every time I start an application and I think that a lot of other people do as well. This situation in windows is even worse, with just the one desktop getting cluttered up.
I would love to have a kind of 'scrolling desktop' on my pc where all the programs were stacked on one after the other in a sort of vertical column, with no windows even partially hidden behind other windows.
I'm thinking of something more like the structured documents in Zope, the settings menus in 3d studio max (maybe not such a clever example) or the wheels of a fruit-machine/one-armed-bandit. I think maybe I could do this by tinkering with a window manager - is it possible to set rules such as these?
I'm sure that whenever the current GUI standards were developed, the 'desktop' seemed pretty cool. In fact I'd love to have one on a desktop sized display (8000 x 6000 pixels should do it nicely) arranged like my old drawing board. The fact is that most computers never will have a desktop sized display, there simply isn't going to be room for them.
I could go on, I'll shut up now.
The reason is that juggling requires that Zen state. Think about it.
As a kid you were taught to keep your eye on the ball. You can't keep your eye on three balls simultaneously, nor can you mentally focus on each ball.
I keep a set of juggling balls by my desk at work. It raises some eyebrows, but it really works well for instantly inducing that zen state.
I used to use a keyboard with hunt-and=peck. I thought I was pretty good. At least good enough for writing BASIC scripts. And then my JHS offered a typing class, so I took. I can't believe I ever got anything done before that. Touch typing absolutely rules. If you spend an hour a day on the computer, you sure as hell better learn to type. And if you spend more than that, well, go figger. I can't believe most programmers are handicapped the way I used to be, so it doesn't make any sense to punish people who can actually use a keyboard just because a few people are too lazy to learn.
My favourite key navigation system is Windows's.
arrows- move by characters
ctrl left/ight - move by words
ctrl up/down - move by paragraphs
home/end - move by lines
ctrl home/end - start and end of document
pgup/pgdn - move by pages
shift and any of the above - move and select
It has a conceptual unity that eludes vi and definately eludes emacs (except in it's pc-select mode)
computers, she writes mostly all kind of documents etc., she uses the Caps Lock key much more often than the tab key. She can write a 10 pages long document and hit the tab key let's say 5 times, and hit the Caps Lock key for 40 times. (Remember, you should use Caps Lock if you're going to write more than 3 letters in capitals).
Is your girlfriend in the military or something? Most normal people typing normal documents type three capital letters in a row far less often than programmers do. People in the military, though, tend to have a jargon laced with many abbreviations that are typed in all-caps. If you should only use the caps lock key when typing three or more caps characters in a row, then normal people have far less use for the key than programmers.
Also, I disagree with the statement that you should use the Caps Lock if you're going to write more than three letters in caps. I write a lot, and I've found that if I hit the caps lock key, then attempt to write 4 capital characters, I end up with 4 lowercase characters! The silly key turns any attempt to enter a capital character into lowercase! Now, for someone who doesn't write a lot, they may find they don't have a constant urge to reach for the shift key while typing in capital letters, but I just instinctively without thinking about it depress shift while typing something I know should be caps. Once you reach the typing proficiency level where you no longer think about the keys, trying to type capital letters while the caps lock is on becomes very difficult and slow, since you have to conciously override what your hands will do if you aren't exerting effort to prevent them from doing it. At least, that's been my experience...
--
"Convictions are more dangerous enemies of truth than lies."
I like me arrows... never had trouble with them, until I got my new Apple Mini-Keyboard. Still, the Mac arrow-chords (opt to move 1 word, cmd to move beg/end of line, ctrl to move to next intercap) keep me away from my mouse. (And with my mouse, that's a good thing.)
Check out Project Upper/Mute, an all-around awesome compiler fra
If you think that the normal Windoze keyboard are bad then you probably haven't tried to write C code on a German keyboard. To get a "{" you have to press AltGr + 7. AltGr + 0 gives you "}" Try working like this for some time and you'll become mad. :)
I'd like to meet the person who designed this keyboard layout. That would surely be a nice lynching party
"If that makes any sense to you, you have a big problem." -- C. Durance, Computer Science 234
Of course, under Windows, I have to use those parts of the keyboard because the Windows keybindings are so awful. On UNIX, of course, keybindings are usually very programmable and often optimized for skilled keyboard users.
One aspect of human/computer interaction I do find pretty awful is the mouse. But I bought Trackpoint keyboards for all my computers and hardly use the mouse anymore. A pointing stick device like that also lets me avoid using the inconvenient keybindings under Windows. Keyboards with a trackball under the thumb also seem very effective to me, and you can get them a lot cheaper.
If key shape rather than pointing device is your biggest problem, there are some manufacturers of older keyboards. In terms of key shapes and feel, the Symbolics Lisp machine keyboard was very good: it had solid keys, and all the peripheral keys were very big.
So, I think you can get the keyboards you want. With IBM PC keyboards, just ignore the useless keys or get one without them. I'd pay attention to the pointing device; Trackpoint (not the imitations) and trackballs under the thumb seem very efficient to me. And, try to use software that was designed for keyboard use and prefereably allows reasonable remapping.
It only needs 3 keys, CTRL-ALT-DEL
There's another UI-related lesson I learned from Quake. Back when Quake 1 deathmatches were beginning to become popular, there was always a crucial turning point in everyone's gameplay: the point when they set up the Correct Bindings.
The details varied from person to person, but there are some things that all Correct Bindings had in common. One hand was on the mouse, which was permanently in mlook mode. The other was on the keyboard. The keyboard hand could strafe left or right without repositioning; often, the "strafe" keys simply replaced the "turn" keys, since the mouse was perfectly adequate for turning. For Quake 1, this was the right tool for the job. Nothing else provided the speed, precision, and flexibility needed for deathmatch play.
Now, there's someone I know who didn't like using the mouse, even for Quake. I argued the point with him, and he claimed that the keyboard was perfectly good and easier to control. He didn't do deathmatch, but he had played through the entire game in single-player mode.
I watched him play. When he wanted to aim up or down, he stopped stock-still and tapped the turn-upward and turn-townward keys lightly several times, often overshooting and tapping the opposite key. It looked incredibly awkward, and would have gotten him killed in deathmatch play, but - and this is the point - he was completely unaware of it.
As far as he was concerned, he had a desire to do something, and this translated directly into action. It just so happened that the action was awkward and slow and only worked because the monsters were stupid, but it worked, and that was enough. His brainstem was satisfied.
There's a lesson in this for all of us who think our familiar user interfaces are "good enough". (Too bad there's no deathmatch mode for text editors. We'd settle the emacs vs. vi issue in a hurry then.)
Choosing shortcuts based on which keys are easies accessible on an american keyboard is not clever, at least if you care about the usability of your program outside the United States (most of the world). Using '/' as a shortcut is a good example. In many european keyboard layouts '/' is shift+'7'. '7' is the key farthest from any shift key, and it is hard to type without looking at the keyboard. It may be easier to hit '/' on the numeric keyboard. How Zen is that?
sun is unscalable, unreliable, and just plain shitty!!! thiEr keybords dont have fuckin windows keyz!!! fuck that shit windoZe is K1nG!!!
programmin is just for idiots. let microsoft do all yer programmin for ya!!! microsoft could slap any of u 'tards around with their programmin n e day!!!!
People have been saying that vi's alleged speed is nulled out by the need to switch out to command mode first by hitting escape. Well, with all due respect, anyone who says that is using vi the "wrong" way around. You're supposed to stay in command mode most of the time and only switch into insert mode when you have something new to type. A programmer spends most of his editor time altering code he wrote rather than typing in something brand new. Typically when I am editing 'in the zone', my thoughts go something like this: "Stick in a new line there. Type type type - okay, done. But I just made a new variable so I gotta declare it, first lets memorize where I am [mark 'a'], now jump back to the top of this function "[[", lesse -down, down,down,down - There's a good place to put it - insert line - type type type done. okay, go back to where I was [tick 'a']. Now, I wanted to take those next 15 lines and stick 'em in an 'if', so lets block them out first and indent, (using vim: Vjjjjjjjjjjjjjjj>O{[esc]jjjjjjjjjjjjjjo}[esc] ). Now figure out the wording of the 'if' - lesse - uhm, open line above, type...type...(thinking)...type...type. done
What was the point of this rambling? Well, I just wanted to point out that regular vi users don't generally stay in insert mode. They stay in command mode without even thinking about it. It just comes naturally. In the example above, every time I said done I hit escape. This is so hardwired into my head now that I am not even consiously aware of it while typing.
There is a feeling that every switch into insert mode is like opening a file for writing - you need to accompany it with a close to finish it off. This is so ingrained that I cannot walk away from my editor and leave it in insert mode - it feels like leaving the refrigerator door open. There is a real feeling that insert mode is temporary and command mode is the default.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
Or rings, or scrolls, or whichever translations you like :)
Miyamot Musashi was an undefeated duelist who lived in Japan near the end of the samurai era. He is certainly not the only one who used zen in combat, but he probably used it to the largest effect. Near the end of his carreer, he even gave up using weapons and defeated (and killed) a rumored seven armed and trained samurai with no weapons other than his body. That's what zen can do for you! Now that this sounds like a bad commercial, I'll explain a few ideas.
One of the main ideas behind zen is to not actually focus on anything. This is the reason that most people cannot attain 'no thought'because they try to focus on something. The way (sounds like The Matrix, in fact that's where the Matrix stole some of their stuff) only comes to those who free their mind from concious thought.
The zennist programing as tcrhist explains is achieving the state of mind that samurai of ancient japan worked toward. Its really interesting and is real stuff, you can do incredible things when you work with zen
Juggling is good for hackers. Music is arguably better. Now, it doesn't matter so much what instrument it is for making your brain better, but if it's a keyboard, you'll be able to develop keyboard skills as well. Keyboardists are all touch-typists automatically.
I always xmodmap every keyboard I sit at into my favorite keyboard's layout. It doesn't matter where I am: what's under my hands is invariant. This is, however, admittedly hard on those who sit down and try to type on my keyboard. But that's ok, because it keeps them away. I love their face when backspace generates backticks and they can't figure out that they should use Ctrl-H because they're win-damaged.
I can see why it'd be useful on windows (even
though it's position on the keyboard kind of
bites), but what about people using other OS's
on their computer?
For every problem, there is at least one solution that is simple, neat, and wrong.
Thank God the PoewrMac G3 has an ADB port. Anyone who's used the Apple Extended Keyboard II knows what I'm talking about. I actually saw an Apple rep drive a nail with one once.
Too bad I'm using a Compaq POS here at work...
He didn't mention them by name, but he *did* present a URL that went to their site, and said that he prefers using their keyboards.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
Oh for cryin' out loud. People in the computer age who don't touch type are as pitiful as folks who can't pump their own gas! Get with it. I have never met a programmer who couldn't touch type.
Must get off my chest: I think the key that deserves the most insults is that stupid backslash! (Insert your own MS-DOS hatred here.)
>>
CAPSLOCK. Why? Well, some people don't touch type. Other people have physical deformities that makes hitting SHIFT plus another key difficult, and "accessibility" wasn't something that was thought about in previous generations of systems.
Ah, grasshopper, you make some excellent guesses which apply to the survival of the "caps lock" key, however its creation was not as you guess.
On ancient manual typewriters, and I mean manual in that all the energy came from your own hands, pressing the "shift" key meant using your weakest finger to press with a kilo or maybe more to get all the mechanisms "shifted." Whole ranks of levers were displaced, all from pinky power.
The "caps lock" key is where it is because it engaged the pressed "shift" mechanism and kept it down, freeing the tortured pinky and its hand.
Yes, there was a world before electricity. It sucked.
less or most are two nice unbraindead mores. Less is standard on most Linux distros.
--
"L'IT c'est moi!"
If this is because physically attaching the Sun keyboard to the PC is difficult, this can be overcome. NCD sell Sun layout keyboards for X-Terminals that have PS/2 connectors, and with a recent kernel you can get them to work under Linux. You can also build a Sun -> serial converter and use Vojtech Pavlik's input patch to make the serial device equivalent to the standard keyboard. See Vojtech's site for more info.
One letter shortcuts for all common commands. extensive use of contextual menus and 3 modifier keys. As an interesting side-effect, I can now type pretty fast with just my left hand [mouse in right]...
GOD DAMN I AM SO ELITE!!! I POSTED BEFORE ALL OF YOU!!! BOW BEFORE MEEEE!!! oh shit, I just realized I had my caps lock on the whole time I was typing that. Damn.
Well, while I respect the author enormously, I agree that he went a little overboard in his praise of the VI-type editor. I've used vi, I've used Emacs, I've used TECO, I've used ed, I've even punched cards on an IBM 026, and I'm very glad I'll never have to do any of those again. Modes in a text editor - even a source code editor - are anathema. (And usually anywhere else, too...)
I recall - in a long-ago cover article of DDJ (IIRC) that text editors are governed by the "ducky imprinting principle". In other words, one tends to imprint on the first full-featured text editor one has occasion to use intensively, and after that no other editor looks right to you.
That said, many of the other points he makes are quite valid, and it's a great article overall.
Well, he also talked about rogue (or nethack). I bet if he had spent more time on rogue than on vi, you wouldn't be pissing at him like this. And guess what? It's the same interface!
Tom Christiansen is obviously a smart, thoughful guy. But this self-inconsistent essay is little more than a combination of "think about human factors" and "damn, weren't the '70s great!" I got news for you. The '70s were pretty good, but they weren't the end-all, be-all, particularly where computer input technology is concerned.
Now, let me get out all my biases right up front. I love Perl, but I HATE VI. And I hate moving my cursor with the ^@#$ hjkl keys. And I hate editing modes. And I hate trying to remember 200,000 non-mnemonic single-key commands.
What's so bad about the inverted-T cursor keys? I have a keyboard whose arrow keys are arranged in a straight line, and I hate it. How often do you want to cursor up-down-up-down? Nearly never, I'd wager. With hjkl, you get really funky finger-pairs on complementary keys, which I have never gotten used to. It also takes my hand off the home position, which bugs the hell out of me.
Now, if you really want awful keyboard usage, we can talk about Tom's cherished NetHack. Moving with hjklyubn? You get your index finger doing 62.5% of your moves, every single one away from its home position. THAT gives me Fitts.
Give me the numeric keypad any day of the week. Right hand for movement and a few most common commands, left hand for all complex commands. Distribute the burden of cursoring around across your three strongest three fingers.
NetHack is a poor example anyway, because there are so many occasions where you need to compose long phrases or expressions. Pick up $(]*=[%/, anyone? Sure, it may look like Zen, but it doesn't feel like it.
Tom doesn't like chording, either... so why does he point us to the Happy Hacking keyboard? You have to chord it just to reach the cursor or F-keys! He's the VI guru, he should positively love the way Windows software is operated by poking F-keys. I doubt he'd be happy if he had to reach down to that option key every time he wanted to take a step in his debugger. Oh, I forgot. We're supposed to enter an editing mode and do it all from the hjkl keys.
And what's wrong with the Caps-Lock key? I thought Tom didn't like chording. Doesn't he ever write programs with #defined macros or symbolic constants? Caps-Lock is golden for those. Oh, right. He's a Perl programmer. His symbols are all lower-case, and Caps-Lock doesn't even work for @#$%&.
Problem with editing modes is, you have to learn different command sets just to use the same program. VI is especially bad in this regard. It's bad enough when there's no consistency from one program to the next. (How many mutually incompatible ways are there to cut/copy/paste text in X?) It's criminal to have that degree of inconsistency in one app!
Love 'em or hate 'em, Apple Computer delivered to the world one of the most valuable innovations in all of computing: A user command vocabulary (keystrokes and mouse gestures) that is standard across all applications! This doesn't work if the same key (combination) doesn't do the same thing all the time.
I agree with Tom about frequently used keys being sent out to the penalty zone. But if this happens a lot... then you're probably using the wrong tool for the job. I think he also exaggerates both the cost and frequency of context-switching.
I have to context switch all the time. I use keyboards with differing layouts, mice and trackballs (left-hand and right-hand), different OS platforms... and once I get into the groove, I find that all combinations are ultimately efficacious. I can enter that "programmer's trance" on any of them. I do not feel that my productivity is impacted.
Think-time is sufficiently greater than UI time that minor things like key command chords (or even typed command words like M-x revert-buffer) make no consequential difference. When your input devices are appropriate to your command language, you can Zen. That includes the F keys, the arrow keys, the number pad, and yes, even the mouse.
So, back to my title. I think Tom's discussion has some good points and some bad points. No net gain, but I had fun making the journey.
My favorite alternative to the mouse is the pointing "stud" found on some laptop PC keyboards. On my Toshiba laptop this stud is located above the "b" key. Moving my index finger to point with it is as easy as pressing "b". It takes only a little practice to become proficient, and suddenly you are interposing keyboard and mouse events "in the zone".
Check out the Win32::GuiTest module for Perl. This will allow you to automate the process that you are describing.
I'm sure that there are lots of other programs that can do similar things (WinBatch springs to mind...).
I think you're reading too much into his vi stuff. That doesn't seem to be the critical point.
Scott
"Can you please can the can-can while I'm in the can, man?"
I sure hope he's on the can and not in it!
I like this article . . . it almost motivates me to want to really learn the art. Where will speech recognition factor into this? Sometimes I am not interested in speed however. Sometimes I just want the quality of my one keystroke . . . Its like the difference between one note of david gilmour's guitar playing and ten thousand of 's notes. My hand does hurt after using the mouse too much though ;-) Let's just say that no one of us has exactly the same vibrational frequency and that we therefor do not have exactly the same attractions. Different strokes for different folks . . . and two for your mama!
For an experience guaranteed to drive an anglophonic hacker stark raving mad, go try typing in C code on a German keyboard. It does matter much if you're a hunter or a pecker, but the touch typist goes quickly postal. And it's not just that Y and Z have swapped places. All your coding keys are off somewhere else.
You call it a stud. I call it a clit. I guess it's just a matter of what you're wishing you had in your fingers. :-)
hjkl are ok in nethack for movement. Much easier than what Tom calls arrow keys. (Why doesn't he call them cursor keys?) But the other movement stuff, for angle motion, are really hard on me. I think it's because when I try them in vi, I don't actually move. :-(
Rogue isn't a text game. You're thinking of Adventure. Rogue is a screen game.
Um, and this is a problem how? One could more effectively argue that some people's problem is that they obviously have not learned to touch-type.
I'll have to dissagree with you all - the ultimate keyboard is the TI-85 or TI-92 (depending on how I feel). Try coding for a while on a TI-85 and you'll soon learn it's layout - and miss it when you have to go back to your qwerty keyboard. As for a good qwerty keyboard, I can type on my TI-92 as fast as on a standard keyboard - no caps lock key, convienient shift/diamond (control)/second (alt) keys, and a sensibly placed delete key (where the right-hand win/penguin key is).
Visit
Funny, I was thinking about this Zen state yesterday
However, I think the real problem is the keyboard and mouse themselves. While we've made great leaps in every field of computer technology, interface has remained unchanged. We still use Keyboards and mice, my first computer did too. Why??? Take a console gaming system, for instance. It actually provides a much better method for interfacing, if you've ever used ones (the new ones can be a pain,with too many buttons and controller stances). That's much of the advantage with them.
Why do we still use these primitive devices? The output hasn't changed much, either. Sure, we have speakers and surround now, but still, the monitor has remained almost the same (sure, the res is up- but it's still a TV-like device). And why oh why do we use the keyboard, still? Isn't there anything better? It is one of the reasons I've hoped so strongly that implants will be possible, to acheive a far smoother interface with the machine.
Furthermore, the interface is far too generalized. Unlike a car, or a console gaming system, computers are designed to do everything. They're supposed to be typing machines, programming boxes, game stations, communications centers. It is not possible to have the specialization needed in such a wide package, without advancement in technology. We have things like force feedback joysticks (a truly rare use of the touch sense), pedals, voice activated things,, and other devices, but these are rarely used, as they are too specific.
Anyway, that's just what I think.
I don't understand the flaming of the poor CAPS LOCK key. This is useful. Or how do you type things like GL_FRONT_AND_BACK and all the other
constants? With the shift keys, this is a nightmare.
His criticism of the keyboard is well thought out, but if programmers (specifically *nix ones) cannot maintain some sort of standard short cuts, and i have to learn different ones for every program it is just a nice idea. Even the idiot friendly win programmers cannot conisistantly agree that Ctrl + A should select all, some geniuses insist on using Ctrl + L Grumpy, Hungry, => food + sleep needed
Two ways: one is you have an editor that does completion. You should try it some time. Another way is type it in lower case and then as you hit the end, hit a command that flips the case of the preceding word. In nvi, that's just ~b, if you have tildeop set. No reason to ever use caplock, really.
Don't forget the damn tick (') on the (older I think) Sun keyboards! Damn annoying design...
Solution: if you use Zsh:
setoption sunkeyboardhack
;-)
engineers never lie; we just approximate the truth.
The original Mac keyboard doesn't have a control key. Instead, it has a command (squiggly symbol) key. Later Mac keyboards had both command and control.
I have my 1984 Mac sitting next to me now as I dig it out once a year to do my taxes. It is still my favourite keyboard because it is so small although I am now so inured to arrow keys that I miss them.
Neil
You can't use a foot mouse. You really can't. The coordination with your brain isn't good enough. Whether that's because of the much longer distance from the foot to the brain than from the hand, or whether it's because you've got a zillion times more brain mass devoted to the hand than to the foot, or whether it's just because your hand-eye coordination is so much more practiced, that I can't tell you. But foot mice have been tried, and they just aren't good enough.
Inherent in Mr. Christiansen's discourse is the ability to touch type. Touch typing allows one to compose at the keyboard without thinking about the mechanics of entering the characters. I remember reading in the O'Reilly guide to vi that vi was designed so that a touch typist need not lift his hand from the keyboard. It's why I like vi and I venture it's why Tom does too. Touch typing is a funny thing. In my experience, those who do not will swear (sometimes vehemently) that it is not needed. Yet those who do know how much more productive it makes them. IMHO, to achieve Zen with a computer, touch typing is the key.
I believe the Microsoft Approved solution is to write a small (100k-ish?) Visual Basic program that calls the SendKey command a few times.
This will emulate the necessary key presses to start your autocapture, and you can put a shortcut to this program in the startup folder.
Of course, this procedure won't work if anyone changes the menu layout, if any other application rudely decides to mess with the keyboard at the same time, or on alternate Tuesdays.
But hey, you can at least put a pretty icon on your new app and marvel at the beautifully integrated COM technology and laugh at all those dumb Linux geeks who would have to write a one line shell script to do the same thing.
Nonono, you're thinking of the Apple IIGS's keyboard. It ruled.
Back in the 50s, the boss couldn't touch type, so he hired a secretary. Today... well, you know.
What's wrong with writing a one-line shell script? Please don't tell me you believe in all this compile-time-only perfect-foreknowledge combinatorically-complicated RPC crud from the Evil One?
What is he advertising the Happy Hacking Keyboard?
and by the way, there is a Ctrl key on both sides
the one everybody loves -Malik- (no im not a muslim)
This zen is a common misconception in human factors. Bruce Togniziky (the Guy Apple had doing most of their mac design) put expirenced uses in front of a comptuer, and had them select text with the keyboard, and then do the same thing again with the mouse. The users reported the keyboard was faster, but his stop watch reported the mouse was faster!
This experience occurs for the exact reason that I tend to drive on backroads on my way home from work when there is a great deal of traffic. Even though taking the 25 mph road actually takes longer (I know because I've timed it) than just sitting through the traffic on the highway, I prefer to keep moving instead of constant stop-and-go motion -- It keeps my subconscious occupied and gives the rest of my mind a chance to zone out and think about other things.
Anyone who has driven great distances alone could probably tell you the same thing. I drove 4,000 alone last Spring Break and only travelled during non-peak traffic hours. I keep a digital recorder handy for sudden inspirations this zen state drives out of me. I've figured out quite a few problems and have have thought up many new features for various programs while driving at 2 am through a new city or state...
-Cycon
Your Brain + EEG + LEGO Robots = Brainstorms
If you think that the current keyboards found on a typical WinTel system are horrid, you should try to get ahold of one of the keyboards for the original IBM-PC. When I had to sit down at thing for the first time (Using PC-DOS 1.0) I was truly disgusted. The enter key was stuck in a really awkward place, and the left-shift key was just another normal key. There was no numeric keypad, and in general was a simply terrible design. In fact, it was so bad that one of the early after-market hardware products for the PC's was a replacement keyboard, where you could throw out the PC keyboard made by IBM.
If that wasn't bad enough, anybody remember the chicklet keyboard on the PC jr? It was so bad that IBM ended up recalling the entire line and replacing every keyboard on every computer for that line. Just before they shut down the assembly line that actually made the computers.
Oh the early days!!
Even before I had my chance to use a PC (including stuff from Comodore, Apple, Tandy, Atari, Sinclair, Acorn and the other 70's computer manufacturers) I used a CRT teletype terminal that only included very basic keys. I'm not sure how old that beast was, but it used vacuum tubes instead of transistors for some of the circuitry. Anyway, at 110 baud you didn't have to type that fast to keep up with the computer. If I remember right, the terminal didn't even have a shift key for lower case letters, nor even a backspace key. I had to learn the basic control letters like control-H for backspace, control-F for a form feed (which blanked the CRT) and a couple of other letters that I've since forgotten but were quite useful at the time. The truth is that I got quite proficient at using that terminal and when I finally had to start using the Apple ][s, I was rather disapointed that the same control functions wouldn't work. I guess you could say that I "zoned" in with that terminal, cruising around the original Collosal Cave and shooting buffalo on the Oregon trail (with a text-only interface...never mind). I guess that I why I still enjoy text-only muds.
...I was so damn fast with that thing, and could perform the most bizarre filespec operations without thinking (I was working as a QA manager at the time, and was always wobbling files around networks). I use Win98 for work now, and Explorer is _soooooo_ slow in comparison, all because of the lowest common denominator "idiot proofing" approach.
"Are you sure you want to delete these 3 item(s)?"
Arrgh!!!!!!!! No, I just pressed [Delete] to see what would happen!
They made a Windows (3.1) version of XTree, but I couldn't use it because _they changed the keyboard shortcuts_. Insanity.
BTW, I fully endorse the zen analogy. I don't think it's a misapplication of the term "zen" at all. After all the traditional response to the question "what is zen?" is to choose an item immediately in front of you and say "zen is (that item)". Zen is that 17" Samsung monitor.
Also, just to really cover the bases here, Kurt Vonnegut makes an interesting observation that reading is "Western meditation". Think about it... hours in another world, staring at arcane little symbols with no real awareness of the outside world. Ahh... my whole life is pursuit of these zen-states. Games, music, programming (although I suck as a coder) are all excellent paths.
Hej,
gribbly
maybe
I definately agree. It seems that the author was so zened out on his keyboard that he forgot to use basic good writing practices. I think that if the author had taken the time to go back and read his article he would feel the same way. Just goes to show you that no matter how good you feel your position is, if you don't present it correctly NOBODY will listen to you. (and I happen to agree with the idea that the author is TRYING to get across)
What a bunch of goddamn whining. Oh, oh, the keys on my keyboard are the perfect size. Oh, they're in the wrong place, boohoo, I can't become a programming superbeing. Fucking lame.
uh-oh, I think I just swallowed my mouse.
I realize that on slashdot, the occasional IMHO, IMNSHO, IANAL, IANA, etc. are perversely likely to get comments moderated up. But please, take a step back from the monitor and look at how ludicrous they are. They seem, in my opinion, to have no other effect than to hide information.
mmm
I agree with most of Tom's article, but most of all with the point that GUI's should all have keyboard access. This is one of the things the MS folks got right. Under Windows, in *MOST* applications, I can quickly invoke any menu item, and I can also quickly navigate dialog boxes. When I'm doing an eval of a GUI program, if it doesn't have "Windows-style" menu access (ALT-x y), it generally doesn't last long on my system. X and Java programs seem to fail this test all too frequently.
David Corbin Promote Freedom - American Liberty Foundation
FIRST POST!!!!!!!!!!!!!!!!!
You are all losers.
First, put your name behind it or shut up, ladies.
Second, the overwhelming majority of the time when someone is kicked or devoiced it is because they are offtopic, rude, refusing to read documentation, or otherwise being generally disagreeable. The small portion of the time that someone gets kicked for no good reason ... well, we are all human. Get over it. If merlyn had a bad day and kicked you, deal.
Dollars to dipswitches you got kicked for being a KLB [ lyrics | mp3 ] though.
Third, merlyn may not be the best programmer in the world, and he is not perfect, but he is certainly a better programmer and a better person than most of the people who post on /. (though I realize that isn't saying much, unfortunately). And he has few "followers" on #perl. He has what people who know about life apart from computers call "friends."
Your comments are based on the illusions you have been conditioned to accept... for example, the most efficient possible keyboard has TEN KEYS. That's right, TEN KEYS. And all but ten characters are chorded, obviously, providing more possible unique characters than your old Sun piece of crap. If you never, ever have to move your hands, your keypads can be positioned for optimum ergonomics, your key-throw can be adjusted down to nearly nothing, and your typing speed can exceed any other keyboard type.
But, you need to free your mind from concepts like "penalty zones", "chords are bad/difficult", "key size matters" etc.
If you study assiduously you may achieve, but if you meet the Buddha you must kill her.
KWATZ!
Right on.
I have one more major nit to pick: What has this guy got against chords??? For someone using music analogies pretty darn freely, he seems remarkably clueless about the agility chords can provide.
The finest moment of zen keyboarding I ever witnessed was on the Mother of All Chordal Software: WordPerfect 5.0 for DOS. Once upon a time I did power word-processing for a living. On one contract, the supervisor of the manual writing team demonstrated the following viruosity: she was making corrections on the electronic document from the red-marked paper, hands flying, while I waited for her attention; she turned to me to take my question, and after I had been chatting with her a while, I noticed her monitor was still flickering, the cursor still dancing over the document, characters spilling out, getting sucked back in, other modes flashing across the screen, while she serenely talked to me. I was about to ask if it should be doing that, when I realized: She had out-typed the computer, which was doggedly catching up. And the program allowed her to do that - accurately and reliably.
Power typists will always use a combination chords and runs, for the same reasons pianists and lutenists: because it's powerful, and it can be done blindlingly fast.
----------------------------------------------
-*- Any technology indistinguishable from magic is insufficiently advanced -*-
That's pretty much why systems like Windows and MacOS, systems that look easy to get started with, have been so successful. As an added bonus, because those systems lack a lot of power out of the box, there is a thriving market for add-ons for power users.
If you want hardware that is designed for professionals and experienced users, you have to pay a premium. That's true for computers just like it is for cameras. And often, you end up paying more for getting less (but the right kind of less). Fortunately, for software, the "professional" versions are often open source and free.
C-v: move forward
M-v: move backward
C-l: turn left
C-r: turn right
C-x C-l: strafe left
C-x C-r: strafe right
C-M-n: change to weapon 'n' (1 n 9)
C-L u: look up
C-L d: look down
C-M-x C-f: fire
See! The keyboard *does* rule!!
Check this out! Nice pointing device placement.
My old Zenith NoteFlex has a trackball right below the spacebar, and the buttons are actually intelligently positioned. Also very easy to use, I point with my right thumb, click with my left, and never move my hands from home row. Try shift-click-drag-drop on a desktop, and you'll suddenly want a trackball under your thumbs, trust me.
I agree, tongues would be nice. I'm not dextrous enough with my foot to use a mouse, altho I did pretty well in Captain Skyhawk on the NES using a foot controller. I can imagine a tongue controller working really well. You could put a Breathalyzer(tm)-style interchangeable tip on the thing. The more I think about this, the less I want to use public phones. My cell phone might cook my brain, but at least it doesn't have someone else's spit on it. I wonder which is more dangerous?
Side-note on the tongue controller. Can we say misused? I thought we could. Then again, a surface covered densely with Trackpoint-style sensors could digitize a backrub. How to reproduce it tho? Throw in some vibrations and things could get positively interesting.
Posting as AC while I'm feeling perverted.
I'm of the opinion that making a good thing better is a Good Thing (c, R, and tm). That's what OSS and computing in general is all about. People change things to fit their needs, and everyone has a personal preferance. Thus there are different camps of users: vi(m) vs. emacs vs. nedit, licq vs. kicq vs. icqnix, etc. Just because one person dislikes something doesn't mean someone else will. One of the key advantages of OSS is that there are many options; the same should be true for other aspects of life, like a keyboard setup. What is functional and productive for one may not be for another. You can't expect everyone to go straight to a posix variant right off the bad - even though it could be done. Some people just don't pine stuff like that. They prefer the "nice, pretty GUI of windows." Bleh. I don't, and many others don't, but that doesn't make it wrong.
There are so many aspects that make a program personally user friendly that it's not even funny - you'd have to custom build a kb in order to get Just Like You Want It. (I'll touch on that later!) Multiple people have posted with reasons why they do/don't like the "extra" keys. For all of the bad points, there's always a way to remap em. (For those using windows, there's a little shareware program called HotKeys! that can be downloaded from download.com that allows some nice one-hit acess to progs/locals/etc)
Although I've not owned many keyboards, I've used a lot in labs that I do/don't like. Since I go to a private school, I have the ability to acess a lot of old kbs in the lab. (I'm a young tike, yes. Not even out of HS... foo.) Some features that I find that I have liked a lot are the function keys all on the left side in two even rows instead of along the top, a freaking big enter key (one of the keys that is eq to the surface area of about 5 normal keys), and a "two button wide" backspace/remove key. It is nice having the 12 function keys available for customization, a result of having the row on top and the 2 columns on the side available. Even two rows of 12 keys on top would be nice, for going on those config binges. It would make for a lot quicker interfacing than, say, an Epplet to mount a disk or connect to the net (for those of us that still have crappy dialup).
A possible idea is making the buttons on the top "E" (extra) keys on a new elitist keyboard. For all those idiot keyboards out there, you'd think that they'd at least be able to make one for those who know what they're doing. (to some extent). That CapsLock is a pain. And I do enjoy where the L-Ctrl is - given that my pinky is shorter than my index finger, it makes the (somewhat) standard ctrl-C ,ctrl-v, ctrl-x, etc, fairly easy.
I would personally take out all of the commonly used nonalpha-numeric "shift" characters, many of which are frequently used in programming, and rebind them to one of my 12-key rows. Sure, it's just "Shift 2", "Shift 1", "Shift [", etc, but it's that much more typing involved - you get tired after 6 or 7 hours of it.
I'd also make the "outer" kets (the ones farthest from the center of the kb) more sensitive than the ones in the center. I enjoy firm, responsive keys (a cross between membrane and mechanical extremes - click but nothing to the point of a gun fire), but I don't like sore hands. having to "stretch and tap" with my pinky extensively isn't too fun, and this would make typing a lore less strenuous (for me). And I have big/wide hands. (Makes good for back rubs. :))
From my personal experience, you could completely remove the R-Shift key and the caps lock since I don't use either. Everything is w/ the l-shift. (Hold it down when I want to "yell" or do some other programming spiff to differentiate). In their place, I'd probably put multiple keys for other mundane tasks. (maybe switching virtual desktups?)
I'd like my space bar only on the left, since that is the only finger I use for it. the rest would be replaced with extra keys. :) (What can I say, I like extra keys! It increases my options!)
I am always switching between my mouse and my keyboard, and I don't see what the problem is. I keep my left hand with my index finger over F and my pinky over. From there, it's a breeze to go anywhere - I don't have to look at the keyboard. the "nipples" or whatever you want to call 'em are a Godsend.
Things like Escape and cntrl-F# aren't problems for me either. Thumb on cntrl/alt/shift (or combo) and index on the other.One learns how to feel over their keyboard - keys are seperated for that reason. (see, they are looking out for us geeks!) touch-typing would be much more difficult if it wasn't for those spaces between the keypad, the keyboard, the number pad, and the other key-groups.
As far as actually aquiring such a keyboard, that's another story. It probably couldn't be easily bought (anyone know of such a company??), but it could be made. Keyboards are probably one of the least complicated devices on the computer - right up there with your mouse. You could get some sheet metal and make your own case, and the actual hardware application of the matter would not be too hard - just some cut/slice and rudamentary knowledge of what chips do. I mean, ppl like Woz and the engineers and IBM did this in the early days... why can't we? (privided we aren't lazy about it or dont' really care about it)
And then there's the mouse. I like em. :) But moving from kb and mouse and back and forth does slow one down. (Although I never have to look or anything. Strange... seems that's how it's supposed to be. It's really nto all that bad for me. And what about Quake?) Why not integrate the two? Put a ball on the underside of a keyboard and maybe put mouse-like buttons on the sides of the keyboard? it would make it more like you're actually in a game, (when you're actually playing a game...) IMO. Granted, you'd need more space... but who cares. Ok, you may go now. :) I feel bad that I don't get to post in the day - school sucks. I'd be really appreciative to know that my stuff actually gets read, since it's posted so much later than the article is posted.
-------
CAIMLAS
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
-------
CAIMLAS
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
-------
CAIMLAS
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
This content of this article sent and eerie chill down my spine while I read it. Not the simple complaining about "where did my big control key go" or the superiority of the keyboard over the mouse, but just the whole idea of ahieving a Zen state with your computer. It seemed far too reminiscent of Neuromancer and other Cyberpunk stories of people plugging their brain into a computer. Okay, I'm sure there are many slashdot users reading this who say "so what" and would love to have their brain plugged into their machine... Why use a keyboard when you can just send commands from your brain to your CPU, right? The possibility of this is still Scifi, but just the thought of achieving a "oneness" with an inanimate object sounds either too good to be true or too dangerous to even consider. If you could achieve a Zen state with your computer whenever you wanted, I'm sure there would be people out there who would go into that state and never come out... missing out on all other god things life has to offer. -Zaerik- "War is your common cry. Take up your sword and fly." --LZ
Well, if you have some kind of genetic inability to attain a Zen state, we all feel for you. If you choose to believe that, since you cannot attain one, such states do not exist, well, we all feel for you.
Feel the love, man. Feel the moderation.
"Be nice, veer left, and never stop thinking" Iain Banks - Walking On Glass
Get this: The ROM Setup program on my laptop has an option for "exchange Caps/Ctrl keys" as well as a "keyclick on/off" which of course just triggers the sound chip every time you hit a key.
Of course the keycaps are identially sized and removable (unusual on a notebook) and the clicking happens at a near-hardware level, so it doesn't even slow things down.
Zenith did a lot of things right in their portables. A DEBUG-like Rom monitor on the early ones, EEPROM-stored bootup/setup passwords on later models, user-swappable screens (with an extension cable(!)) on one line, etc. Too bad their marketing sucked. Even the Fn+Esc "Lock while on" password protection was uniquely useful.
*sniff* Bring back intelligent design, someone, please?
...weren't they by Northgate or some company like that?
;)
I forget who made them, but I had one once...JESUS did that thing fly. I'd kill for one now, but even used ones can fetch $100 + because all the nutball hoarder freaks drived up the value...sort of like old starwars toys. They sure as hell don't make em new anymore.
The main 'distinguishing mark' was the function keys of the LEFT side, placed VERTICALLY, though some other keyboards did that too. It was the total experience, from key layout to key pressure and 'feel' that made it 'god's keyboard'.
A million ways to say the one same thing...sums up this article
Yo GO, Girlfriend!
Being kicked from an IRC channel is about as important as a bicycle is to a fish.
I see at least one large thread on quake, which of course makes perfect sense: What else could you do with a computer to get into a zen state faster then play an immersive, exhilerating (sp?) game?
,alt...) As an added bonus, all of the "character" keys are not bound to anything, making it very easy to chat in the game.
I'd just like to mention _my_ favorite computer game, SubSpace. No one has ever heard of it, so I'll describe it briefly: It's like Asteroids, but there's a huge map with hundreds of people, real people, playing at the same time. There's a full array of weapons and special items. Now, subspace is played by just about everyone with the keyboard only. The keyboard configuration is not changable, but it is so well designed that it doesn't matter. You play with your hands in one position: right hand placed over arrow keys, left hand with thumb on control (bullet firing key) and one or two fingers on tab (bomb firing key). Almost all of the special items are placed on the keyboard so that your two hands never have to move far from those positions. (They use ins, del, home, end, shift
I've entered a zen state playing subspace many times, and just like Tom said, I belive the key is in the keyboard/mouse interface. A game needs inteligently designed keyboard and mouse bindings in order for a player to enter that state. Games are bit different than vi because you aren't just trying to save time, you _need_ to react as quickly as possible. A layout where your hands (almost) never move is essential. What were the designers of TA thinking when they made the group selecting keys alt+number? That's a nasty combination to have to type for something you use so much. (They did fix it in a later patch though.) In games, it's simply essential to have the kind of interface that Tom is talking about.
(Oh, and if anyone wants to try subspace, the greatest computer game ever, try http://subspace.ds98.com/)
I'd have to say the best keyboard I've used is the one hooked up to my NeXTstation. It has a massive spacebar, no capslock key, escape key not in limbo, etc, etc. Plus, it has the best feel of any keyboard I've ever used - just clicky enough. It would be perfect if it had Fkeys and pgup/pgdn or keys shiftable to these. But it's as close as I've found to perfection.
-- Veni, vidi, dormivi
WE WANT THE CURRENT VERSION OF THE SLASHDOT SOURCE CODE!!!
--- Just focus on scrapping Windows, 'kay?
...And frankly, forget it!!
I'm very used to a Microsoft Natural Keyboard. Yes, it sounds like heresy, but if you plan to type for long periods of time, the current Microsoft Natural Keyboard Elite was actually more comfortable for this purpose than the PFU keyboard Mr. Christensen likes. This is because on the MS Natural Keyboard, you don't have to turn your wrists in an unnatural manner to put your fingers on the home row of keys, and this means the wrists don't hurt as much when you have long typing sessions on a MS Natural KB versus a standard KB.
I have news for you, Mr. Christensen: most of the world's desktop users are running Windows 95, 98, NT and soon 2000. In that case, the "Windows" keys are extremely useful, because they have actual functions.
Raymond in Mountain View, CA
Ahhh, bullshit. With an audience that's almost certain to recognize their meaning instantly (and don't tell me this one isn't), they serve to increase information density and conserve visual space.
That, and they're faster to type.
I work much the same in AutoCAD. I type 1 or 2 letter aliases with my left hand for most commands and keep my right hand on the mouse. At a previous job, I used a CalComp Digitizer with a puck that had macros in all 16 buttons for my frequently used commands.
I don't consider myself a hacker, and the only code I write is HTML, but I have found a keyboard that seems to work quite well for me.Check it out It's the one in the top left. This is an ergonomic keyboard on steroids. It looks really difficult to get used to, but I will never go back to a straight keyboard again. It took about one week to get used to. The arrow keys are arranged in a circle, below the gap in the space bar. Which brings up another question, when I learned how to type, we were only supposed to press the space bar with the right thumb, so I don't get why they'd take up so much room with it on the left half of the keyboard. The ESCAPE key is all by itself in the corner, very difficult to get it confused with any other key. However, the banished keys, insert, end, home, etc. are radicly differently placed and will take a lot of adjusting.
The more expensive version of this keyboard comes with a touch pad inside the arrow keys, which could be controlled with the left thumb rather easily. I find this arrow setup to be ideal for gaming, as there is absolutely no way to get the arrows confused, and while you're holding one of the arrows down, the entire left half of the keyboard is easily accessible.
Another of the really noticeable features of this keyboard is that the numeric pad is completely separate from the letters, this means that if space is at a premium, you can unplug it, or tuck it towar the back of your keyboard tray then slide it forward to crunch some numbers.
Every byte counts when you're loading 150 messages at once. Maybe you could set up some kind of filter that would expand acronyms on a web page for you if they're really annoying.
Not only that, those abbreviations require you to use the caps lock or shift.
Mr Christensen doesn't wish to have a keyboard for most people. He wishes a keyboad for himself. He wishes that is good for him and people like him.
You perfectly illustrate my argument against #perl. Hell, you even started out your message with "You are all loosers". Well done.
Thanks for playing, biggot.
I thought I was alone out here.....it's a shame how many people have never experienced the true power of brief....
redundant can be repeating cmdr taco.
Vovida, OS VoIP
Beer recipe: free! #Source
Cold pints: $2 #Product
This is pretty much on the fucking mark. Why isn't this moderated up?
Heheheh... Hi TimeCop! ;-)
I just wanted to say that this is a very good point brought by Mr. C (i couldn't resist). It's also one of the few articles by him that I've read without dismissing it almost immediately as a flame. (exception of anything perl, of course)
:)
To elaborate, it would be REALLY beneficial if the GUI programmer crowd got together, put together a complete interface design (with help from psychologists trained in interface design), or at least some guidelines that could be posted publicly for ALL to adhere to.
Or, even better yet, it would be nice to see an ORB put to good use and help create a pluggable abstraction layer so that the toolkits (and windowmanagers and environments) can be truly written seperate of the programs. This is what's really needed for the GUI to advance.
Doing this with toolkits would allow for "standard" actions within a program to have a pre-defined keybinding, such as save, open, etc. Then, someone running KDE or GNOME or just standalone WM knows that everytime that they run "super-gnu-toolkit-extremely-lucid-emacs" that control-s (or whatever it's bound to) equals save and overwrite without thinking.
That's my beef with 99% of (especially unix GUI)programs out there, once I get a new one I have to spend at least 30 minutes figuring out all the god damned keybindings/methods for things that appear in every other program.
If extended, this would also allow for things like user-defined UNIFORM widget placement (E on crack) and it would most likely make things like internationalization easier (ie, not having to reinvent the wheel for each different toolkit), and of course, it'll mean that I can use GTK Licq
-Erik-
I'd love to get my hands on a Type 5, or even a Type 3, but I don't know where to look. Can you get them as spares from Sun? And is there a convertor I could use to plug it into a PS/2?
thanks.
this is exactly why i just ebayed myself an oldschool ibm clicker keyboard. ill have to wedge some loose change under the caps lock key but other than that its the ultimate keyboard!
//Insert Meaningfull Quote Here
Is your girlfriend in the military or something? Most normal people typing normal documents type three capital letters in a row far less often than programmers do. People in the military, though, tend to have a jargon laced with many abbreviations that are typed in all-caps. If you should only use the caps lock key when typing three or more caps characters in a row, then normal people have far less use for the key than programmers.
No, she's not in the military. She's a student, studying some business stuff (which I know about nothing about..). Anyway, she writes lot's of e.g. bills. Check the last bill you got, and count the uppercase words in it. My last phonebill has 23 uppercase words. (Yes, I know, phone bills are not written manually, but I just used it as an example)
Also, I disagree with the statement that you should use the Caps Lock if you're going to write more than three letters in caps.
This would be a good place for discussion, but I don't really know much about the matter. I only know that they teach typing that way, and when you really know how to type and you don't think about the Caps Lock key any more, using it when writing 3+ letters is faster.
--
It has to work - rfc1925
dear /.ers,
/.er mentioned that RS didn't like Perl, Tom C used this opportunity and flexed his literary muscle that peddles perl and bashing others in disguise as some kinda eulogy for Richard Steven. (somebody dig up the url!))
/. kids reading this) understand that all violences between us exists digitally only.
let me tell the Tom's story. he is a dimwit who can't make it in computer science nor literature. have you ever seen an publication by Tom C published in some respectable computer science or math journals? or have you ever read a respectable literature piece by Tommy C? That's why you often see him kissing Larry's ass and peddle Perl, and writing ostentatious flames and things on comp.lang.perl.misc and elsewhere.
he is also a fervant critic of GNU, and hates emacs. he has plans to make a movement on writing a linux without GNU (so as to stifle RMS's complaint about naming of GNU/Linux), and started a project that build all unix tools in Perl. (let someone else supply the url, since I don't really want it seen.) Meanwhile, this negatively selfish guy sells his perl docs (the shittily written camel book are almost a verbatim of on-line perldocs, containing many mistakes and extremely badly written in the unix style). the ram book is very useful, as well as the llamma perl book) He also makes money in his $300 or so half-day Perl conferences/toturial in linux expos.
i don't know if it's intentional or just in Tom C's bones, it seems Tom C is just againt every REAL movements that pushes unix forward.
(PS I didn't have time before... but when Richard Stevens dies and the news showed up here, and some
Tom, shut the fuck up! We don't like you.
Btw, I hope you (and any
Xah
xah@best.com
http://www.best.com/~xah/PageTwo_dir/more.html
Whatever the ergonomic argument for having
nips on the d & k instead of the f & j, surely
the most important factor is consistency with
established practice.
Now if there was no established practice on
terminal / typewriter keyboards before the first
Mac then fine, use d & k. But if the convention
was already to use f & j then it is arrogant and
unhelpful to try and break with that convention.
Why not go the whole hog and ditch QWERTY in
favour of Dvorjak or some entirely new scheme?
I'd be interested to know if anyone can remember
what the situation with keyboards was when the
first Mac came out.
Toby
I know I'm killing my karma...but I admit I have the same keyboard from my IIx. About the size of a flat panel monitor, keys respond to the proper pressure, inane amounts of coffee and MtDew spilled inside. I _will_ buy an ADB adapter when I upgrade to a USB-only box (or laptop)
As for chords, I've hacked Photoshop away with ResEdit to the point that I type with the control key down (CTRL-CN(enter)V+LZZZZ)...but now they're scripting in PS so it's not as much fun, I just hit the Print Screen key.
...Time is the best teacher, unfortunately it kills all of its students.
Check this: I have two hands and in the physical world I need them both. If a mouse is a good metaphor for a person reaching out with one hand, then there must surely be a way of using two mice like two hands. Anybody know of any research in this field?
I have great admiration for people who overcome physical disabilities but I really don't think that computers should put everybody to that test.
The author refers to the relative size and location of various modifier keys (shift, control, meta etc.) applying Fitt's law that the further away they are the larger they need to be for constant ease of use/access. But, does anyone have hard stats on how often the various modifier keys are actually used?
The obvious approach I suppose would then be to have some module that records the frequency of all key strokes. Does anyone know of such?
Those who do not learn from Dilbert are doomed to repeat it.
For keyboard free programming, except when actually writing code (not editing, issuing cmmands, etc) have a look at wily: http://www.cs.su.oz.au/~gary/wily/
The standard Cut, Copy and Paste keys for Windows apps have some method in their madness:
1) XCV are adjcacent on the keyboard
2) They're in the same order as on the Edit menu
3) Mnemonic :
X looks like scissors for Cut.
C stands for Copy
V is a downwards pointing arrow for Paste.
Maybe Linux should standardise on these combinations.
In future keyboards, I would like to see the tactile CapsLock key. It could have electronic grab and release so that it could be programmable and duplicated to a number of positions on the keyboard.
"We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
I disagree with you on one point, however. In the article, you state that the vi command set is superior to that of EMACS because it allows the use of unadorned keys rather than chords.
Personally, as a keyboardist, I have no trouble with chords; in fact, I love 'em. They add great power to muscle memory: there's more that you can call forth, without thinking, with one gesture.
vi, on the other hand, is modal, and for me this is much more painful. Realizing that the command one wants is not available in the current mode, exiting the current mode, and entering the correct one breaks one's stride and concentration. There's always that extra brain cell or two that has to be devoted to remembering what mode you're in instead of holding other valuable information in short-term memory. And trying to do something when you are in the wrong mode -- a common error that the best of us make -- is a real Zen zapper. Especially as you back out, with much annoyance, the damage you did to your work.
I would fault not EMACS (or WordStar) for using chords, but rather the keyboard for making them hard to grab and adding so many gratuitous, single purpose keys.
--Brett Glass
The basic idea was that the keys are placed due to the fact of how the original type hammers were placed in the rack of typewriters. The hammers had to be mechanically balanced to minimize wear so they keys were evenly distributed across the keyboard area based on usage in the english language. This allowed the type heads to move faster and more efficiently, and reduced typewriter jams (I happen to be old enough to remember those...). The keyboard layout also had the effect of slowing human typing to a mechanical rate that the typewriter could handle.
Problem today is that the keyboard has retained the same basic layout, even though the mechanical design reasoning no longer exists.
Dworvak came up with what he called a 'natural language' keyboard for the english language, where the letter keys are placed in order of the alphabet. Sounds tough to learn, especially from a touch typist as myself (still can't climb that 45 wpm count...). The studies that have been done comparing equally trained people on the standard layout and the Dworvak layout actually showed a 30-40% speed improvement on the Dworvak.
I'm not sure why the Dworvak layout has not become as popular as I think it should. For me it's the price (they're expensive!) and also tailored to the english language. But I can imagine the Zen Zoning that could take place if you combined Dworvak with the ideas from this article.
Guess I'll be surfing for a reasonably priced portable Dworvak keyboard...
some studies:
http://www.santafe.edu/sfi/publications/Abstracts/ 98-05-041Eabs.html
Old Slashdot discussion:
http://slashdot.org/askslashdot/99/09/26/1841254.s html
I can no longer read Dilbert. It's too depressing, because it is too real. -- Hyperhaplo
you mean, you really type
glEnable(gl_whatever)~bA
That's four different keystrokes instead of two times hitting caps lock. Btw. anyone knows how
to do that with Emacs?
Believe it or not, MS has a good, quick, simple scripting tool for automating keyboard-only tasks like the one you describe under Win32. Details at http://technet.microsoft.com/cdonline/Content/Comp lete/windows/winnt/Winntas/tools/scripti t.htm, but you may have to find someone with a technet account.
I read about an experiment (sorry, no references - too long ago) that studied these mental states. It involved three groups, on of untranced subjects, one of Zen-tranced subjects and one of yoga-tranced subjects.
... And they too did not acclimate to the stimuli.
:)
Hmm. I heard about the same (or a similar) experiment except that it involved 4 groups - the three you mentioned plus vipissana, or insight, meditators. With the insight meditators there was an EEG spike at the beginning of the noise, then baseline, then another spike at the end of the noise. mmm Arising.... mmm Passing Away
The humorous part according to the meditation teacher who related the story to me was the study organizers concluded the trancendental meditators were the "most advanced" because they showed no reaction at all.
As for "...altered states DO happen. Mystical? Bullshit!". Well what's in a name? Anything is mystical when you don't understand how it comes about. (btw, I'm not arguing with your sentiment, I agree, just casting a different shade on it).
-matt
This article has attracted a large amount of comments and flames and this, and that, and the other, and discussions on 'foot mice'. /and/ keyboard to give him 'ultimate access'.
Even the sanity of the author has come into question.
Well, I'm going to say this, instead of attacking what he wrote and how he wrote it, look at the fundamental idea of WHY he wrote it. He wrote it because the interfaces he's kept to don't work for him. Many(most(all)) of us could have written a similar article(mechanics of writing aside) though skewed towards our needs and preferences. From reading his article, I'd say he wants some kind of weird 'layered' keyboard with the arrow keys arranged in concentric quarter circles to represent different kinds of movement.
I, personally, think that sounds cool. And, if TC reads this, I hope he'll think it sounds cool too.
The fact of the matter is, is that there is no progression further than vi for him. No one has written a better program for him, and no one has made a better keyboard to help him better access his old program. And no one has gone on and made a program
He's moving onto some kind of exciting 'Star Trek' console that only exists in Sci-Fi! And everyone else wants 'foot mice'.
I think his overall point was this: We need more options, both hardware and software when it comes to interfaces.
And if anyone makes an input device with the arrow keys changed into concentric quarter circles(imagine a bullseye cut into quarters and turned so it opens forward at 90 degrees, maybe some height difference and twisting action so you can use multiple fingers, or being cut and spread out or something) I want one, and that's that. And he'll probably want one too.
Maybe some people want a capslock the size of their space bar because they won't type any other way. They deserve this. What we need is full customatizable keyboards and workable mouse alternatives. Maybe a keyboard that is just a grid of touch sensors that you attach your keys to anyway you please and then map them would work. The 'idea' is great, 'ideas' are always great. But someone needs to get up and make that 'idea' a reality.
I, personally, may tinker with the idea some and maybe try to cobble together a prototype, but what people need to do instead of getting 'ideas' and ranting about them is to present the product of these ideas or a plan for achieving them to the masses.
I think, that if the author had unveiled some amazing VI keyboard he constructed in the middle of his article, even the VI-haters would applaud him. What people are flaming is that the 'idea' is only an 'idea' and that the 'idea' is tailored for the thinker's way of thinking alone.
*shrug* Hell if I know.
...That's my rant.
--Nimbus Qrygg, The One True Qrygg
OS > Religion;
--Nimbus Qrygg, The One True Qrygg
OS > Religion;
Come dance with the