Ask HN: Anyone using a “no hands” setup for programming?
It sometimes happens that programmers lose the ability to use their hands due to accidents/illness. Has anyone here used / seen an efficient setup for programming (i.e. entering code in various languages) that works with voice recognition, perhaps combined with eye movement? Please share info (hardware/software/effective "typing" speed). I'm sure it can be implemented better than using standard voice recognition software and text editors.
47 comments
[ 3.2 ms ] story [ 118 ms ] threadI don't think that Dragon Naturaly Speaking is the best NLP tool out there, it appears to me that Stanford's CoreNLP is much more accurate, albeit being a little slower and more ressource hungry due to Java I think.
EDIT OT: I've found this blog which might be helpful for people who try to keep up with assistive technology. http://www.assistivetechnologyblog.com/
I wish I knew what advancements they[1] made since 2012: http://www.sciencedaily.com/releases/2012/06/120628164426.ht...
Journal Reference: [1] Bettina Sorger, Joel Reithler, Brigitte Dahmen, Rainer Goebel. A Real-Time fMRI-Based Spelling Device Immediately Enabling Robust Motor-Independent Communication. Current Biology, 2012; DOI: 10.1016/j.cub.2012.05.022
Not entirely a no-hands approach, but I can't seem to remember the developer who made his first app in the hospital by typing with one/two fingers. He wrote a blogpost about his process that was really inspiring.
Works well for me, but with some friction from reliance on a Windows VM.
http://thespanishsite.com/public_html/org/ergo/programming_b...
It's been developed for people only having a "one dimensional" possibility for doing inputs, i.e. only can move an eye or one muscle.
Given a custom dictionary you can write quite fast, though I don't know how practical this would be for programming.
Intellisense in most modern IDEs already does most of the custom dictionary work.
I've been playing guitar for longer than I've been seriously typing and guitar places a heavy emphasis on efficiency of the movement of your hands and fingers. There are multiple ways to form a chord and multiple places on the fretboard to play a note, so you find the one way that is easiest to switch to quickly from your previous note/chord. I wonder if that influence has changed the way I type as I tend to slide my hands left and right along the keyboard depending on where I will be hitting the keys next.
Useful packages include brltty (for Braille terminals), emacspeak, and orca.
http://raphaelhertzog.com/2011/06/24/people-behin-debian-sam...
A sophisticated multi-monitor setup would help.
Code is really just a seraliazed AST. That tree structure should be modifiable with gestures / voice as much as any other tree structure.
You could take steps to make it look closer to the original serial data (eg, the DOM doesn't have opening and closing tags, but DevTools shows it that way because developers expect it). Or you could come up with a more efficient but less familiar form.
The DOM in DevTools to a lesser extent.
Intellij has this feature called "smart complete".. it just types whatever is required at that moment. Must work on this sort of principle.
Seems that you could put voice input into some sort of low-gear mode of just one letter at a time. And that could work well inside IntelliJ with its auto-complete / code gen / refactoring sort of commands.
http://thespanishsite.com/public_html/org/ergo/programming_b...
I haven't gotten around to setting up the Window's VM on my Mac and trying.