Beyond Dvorak via Genetic Algorithm
ColonelPanic writes: "I switched my computer keyboard to the
Dvorak layout
about a year ago. But now I've gone and done
something really outlandish. I tried to discover the most efficient layout possible with a genetic
algorithm. It's weird-looking, but I am typing
with it now. I put the
gory details up on the Web."
Results:
left
right
left
right...
A friend does PC support (including telecommuter support) for a large retail company. A woman called in, to say that her home PC was acting stangely, and not typing the keys she pressed.
My friend went to her house with a new keyboard. When he looked at the old one, he saw that the keys were arranged alphabetically. with 'a' where the q is supposed to be, 'b' where the w is, etc.
She explained that she was having trouble finding the keys, so she rearranged them so she could find them easier.
IN the same line of thinking:
-could, for instance, parsing the kernel through his routine create a 'kernel-hacking' keyboard?
i.e. specialist keyboards to do a specific job?
(and I would have CTRL-ALT-DEL right in the middle of my MS-Win-biased keyboard: now that would speed up things =)
...it was a Ask slashdot submission, and read: "I swtchrd my computre keybord to teh Dvorka layoot bout a yaer ago. But nbw I've gonn nad donn somethng raelly ouhlnadsh. I trid to discovr teh most efffcinet layoot posibel wth a getetic algorthm. It's wetird-lokng, but I m typnig wth ti noow. I ptu teh gorry detials up on the Web. Wht I sak is hw teh ehll do I chnage ti bak?!
when there's a finite number of layouts? Yup, just 265,252,859,812,191,058,636,308,480,000,000 possibilities. I'm sure the guys at distributed.net would love to set up a project to figure this out.
- danboo
It sounds like the interesting possibility almost grasped here is the possibility of producing a self-customized layout on the fly.
hook the keyboard driver and tokenize input into words (corrections included where possible), feed through a spell-checker (to find what word was likely the target), and re-insert as input through the algorithm. Admittedly, this makes it more of a neural-net than a GA, but it is continuously evolving, and eventually, you should even out on the best keyboard layout for what you type on a daily basis
I expect my '_' key to end up somewhere on the home row in a couple of weeks (programming = bad typing habits)
I had the same idea for a perl-optimized keyboard layout. But I don't know if having the home keys as punctuation would be well-received.
Error: PANTS NOT FOUND. Press <F1> to continue.