Las mejores ayudas de programación para un programador cuadripléjico


125

Antes de llegar a conclusiones, sí, esto está relacionado con la programación. Cubre una situación que viene bajo el título de "Ahí, pero por la gracia de Dios, ve tú o yo". Este es un territorio completamente nuevo para mí, así que estoy pidiendo ayuda seria aquí.

Un joven, Honza Ripa , en un pueblo cercano hizo la clásica Cosa tonta dos semanas después de graduarse de la escuela secundaria: se zambulló en aguas poco profundas en el río ruso y tuvo un descanso C-4 / C-5 , a veces llamado Natación Descanso en la piscina. En cuestión de segundos pasó de ser un golfista y luchador excepcional a un tetrapléjico. (Lea la historia ... todos deberíamos haber tenido la suerte de tener una novia como Brianna). Eso fue hace 10 meses y él recuperó solo una pequeña cantidad de control de su dedo índice derecho y un par de otras manos. movimientos del pie, ninguno de ellos de grano fino.

Su control total de su computadora (actualmente ejecuta Win7, pero podemos cambiar eso según sea necesario) es a través del comando de voz. Honza no es tonta. Tenía un promedio de calificaciones de 3.7 con matemáticas y física AP.

Los problemas:

  1. Dado que toda su entrada es a través de un comando de voz, le preocupa que el predominio de caracteres especiales en la programación requiera una gran cantidad de comandos detallados. ¿Alguien sabe de algún sistema de entrada de voz bien diseñado específicamente para programadores? Estoy pensando en algo que podría ser modal, por ejemplo, dices "entrada de Python" y entra en un modo macro para hacer definiciones de clase, etc. Dado todo el RSI en la tierra del programador, debe haber algo ahí fuera. ¿En qué sistema operativo se ejecuta?

  2. Estoy planeando enseñarle Python, que es mi lenguaje preferido para la programación y la enseñanza. ¿Hay aplicaciones / lo que sea que esté escrito en Python y sería una combinación particularmente buena para involucrarlo mentalmente mientras apoya su discapacidad? Uno de sus intereses expresados ​​es la inversión en acciones, pero ese podría no ser un buen punto de partida para un programador completamente nuevo.

  3. Hay muchos entornos (Flash, JavaScript, etc.) que no son particularmente amigables para las personas con problemas de accesibilidad. Recuerdo vagamente (pero no puedo encontrar) un proyecto de investigación que básicamente creó un sistema de superposición en la parte superior de un entorno de pantalla y luego permitió la construcción de comandos macro en la parte superior de la imagen de la pantalla. Si podemos obtener / entrenar este sistema, podremos eliminar muchos obstáculos para usar la red.

  4. Estoy particularmente interesado en encontrar proyectos de robótica y prótesis robótica basados ​​en Python de código abierto para que pueda aprender simultáneamente conceptos avanzados de programación mientras aprende a resolver algunos de sus propios problemas inmediatos.

He buscado mucho en Google sobre esto, pero que me faltan cosas. Le pido a la comunidad SO que se ponga de pie aquí. Yo que este grupo tiene las respuestas, así que me las escucho! Abrumarme con las oportunidades que cualquiera de nosotros podría tener / necesitar para programar después de un evento que cambiará su vida.

Actualización: acabo de registrar computingforquads.org y crearé páginas para todo tipo de soluciones a todo tipo de problemas. ¡Gracias por su ayuda hasta ahora y que sigan recibiendo esas respuestas!


44
Quizás los buenos en superuser.com tengan una buena idea sobre los softwares de accesibilidad. Sin embargo, no puedo decir más herramientas relacionadas con la programación. Lo siento, no puedo ayudar.
zneak

3
Hmm, sugeriría usar un lenguaje de compilación personalizado en lugar de intentar construir algo que funcione perfectamente para Honza. Hay lenguajes como COBOL que están realmente basados ​​en palabras clave y son "legibles para los humanos" (y se pueden hablar). Al igual que con la robótica, ¿por qué no comenzar con LEGO? En mi humilde opinión, un lenguaje con tortugas (robots, algo que se mueve a través de la pantalla y puede dibujar líneas) y una sintaxis simple puede ser bastante bueno. Tengo algunas dificultades para programarme y entiendo que ser "diferente" no es mucho, pero en este caso me parece razonable.
Gabriel Ščerbák

77
Hemos discutido la programación por voz antes (básicamente, sigue siendo aproximada, experimental y en gran medida sin soporte). Consulte stackoverflow.com/questions/1408874/… y stackoverflow.com/questions/87999/… .
dmckee --- ex-gatito moderador

44
Lamentablemente, no tengo una buena respuesta para la mayoría de esto. Sin embargo, noto en el artículo que el movimiento del dedo índice es suficiente para que pueda controlar el pequeño joystick en su silla de ruedas. Es posible que desee buscar un pequeño mouse USB estilo joystick. He visto algunos por ahí antes. Aunque no es particularmente barato (un artículo de muy bajo volumen), puede resultar útil como dispositivo de entrada adicional.
Nicholas Knight el

2
@RCIX: Entiendo y aprecio tu entusiasmo. Los malentendidos en línea como este se remontan al menos a las Notas de PLATO IV en 1973, donde aprendimos que escribir no transmite lenguaje corporal y tono de voz importantes. Hubo una FlameWar en 1974 (que surgió de un malentendido) que fue la base de lo que probablemente fue la primera tesis de maestría sobre interacción interpersonal en un entorno social basado en computadora. Los días 2 y 3 de junio habrá una conferencia PLATO @ 50 en el Museo de Historia de la Computación en el monte. Ver, CA. Habrá muchas barbas grises cojeando. :-)
Peter Rowell

Respuestas:


92

Tengo lesiones deportivas y no puedo escribir más que unos pocos caracteres sin un dolor grave.

En cambio, uso emacs junto con Dragon NaturallySpeaking. He escrito macros y scripts para ayudarlo a salir adelante. El sistema no es perfecto, pero funciona. Programo principalmente en C ++, pero también uso Python.

Si quieres, te ayudaré con eso. Tengo que advertirte, lleva unos meses acostumbrarse al software de voz a texto y entrenarlo. Además, no soy hablante nativo de inglés, estoy seguro de que eso se interpone en el camino

No te desesperes, hay soluciones.

aquí un enlace a los archivos emacs y Dragon (desafortunadamente aún no se ha documentado)

http://code.google.com/p/asadchev/source/browse/#svn/trunk/home/Dragon

http://code.google.com/p/asadchev/source/browse/#svn/trunk/emacs/elisp

Además, si necesita más información, mi número es 515 230 9363 (Estados Unidos, Iowa). Estaré encantado de ayudarte si puedo


1
No permita que esto se compruebe ya que la "respuesta" le impide publicar más posibilidades. También agregaré que (jadeo) he sido un tipo vi (y ahora vim) desde 1980, así que tendré que crear un "conjunto macro vi" para complementar el trabajo que Andre ya ha hecho, y probablemente también un conjunto Notepad ++ o un conjunto Aptana (Eclipse + PyDev).
Peter Rowell el

Wow, aaa, no lo supe hasta que leí tu publicación. Todas sus publicaciones que he visto hasta ahora no lo muestran ... al menos sé que Dragon NaturallySpeaking funciona bien para usted.
Xavier Ho

19

Vale la pena mirar el Proyecto Dasher , que hace posible ingresar texto razonablemente rápido incluso para personas con discapacidades graves. Dasher se basa en un modelo probabilístico de idiomas, de modo que las expresiones más probables son más fáciles de ingresar al sistema. El sistema de demostración viene con una colección bastante impresionante de lenguajes naturales. Debería ser fácil obtener un gran corpus de programas escritos en Python, cargar Dasher con el corpus y crear una versión de propósito especial para ingresar a los programas de Python.


Excelente sugerencia! Soy un viejo deportista de redes neuronales de los años 80 y esto suena muy prometedor.
Peter Rowell el

8

Esto no es parte de ningún software profesional, pero cuando vi esto, pensé que sería bueno para la entrada de texto usando el seguimiento del movimiento de los ojos o el mínimo movimiento del mouse. Vea la página de Procesamiento de Ken Perlin y mire los applets para "entrada de lápiz".


¡Gracias! Gran enlace! Esto puede ser particularmente útil con el control del cursor, que creo que todavía es un desafío para él. No es hasta que realmente tiene que abordar este tipo de problemas que comienza a comprender que algunas de estas personas están escalando el monte. Everest todos los días solo para hacer lo que no pensamos nada.
Peter Rowell el

5

Conozco a alguien en una aldea en India que es parapléjico, que usa el software Dragon Speech to Text para escribir en su computadora. No sé qué tan adecuado es para un programador (ella no es programadora), pero es un comienzo.

También es posible que desee ver en Natural Point . Es un mouse controlado por los ojos, que podría ayudar a Honza

Espero que esto ayude


Honza actualmente está usando Dragon bastante bien. Nos centramos especialmente en tratar la forma detallada en que ingresas los caracteres especiales que están por todas partes en la programación.
Peter Rowell el

3

iPython con finalización

En el lado de Python, iPython muestra parámetros, funciones, etc., y tiene finalización de comando. ¿Quizás también podría personalizarse para responder a los distintos dispositivos de entrada?

http://ipython.scipy.org/moin/



1

Sé que esta pregunta es bastante antigua ahora. Me pregunto cómo van las cosas para Honza con respecto a la programación. Sería bueno escuchar de nuevo.

Por lo que vale, sufro de RSI y ahora trato de minimizar el uso del teclado y especialmente del mouse.

Mi propia experiencia de reconocimiento de voz es que esto funciona. Uso el software de reconocimiento de voz incorporado de Windows para Windows 7 (WSR). También he usado el dedo de voz (http://voicefinger.cozendey.com/) para ayudar a mover el puntero del mouse. Algunos puntos clave que mencionaría son:

Aprende los atajos. Puedes hacer casi cualquier cosa usando atajos y hablarlos funciona muy bien usando el reconocimiento de voz cuando estás en "modo de escritura" (ver más abajo).

Utiliza el modo de escritura. A menos que esté dictando texto, esto es excelente para hablar atajos a la computadora o para deletrear palabras raras. Curiosamente, no es una función claramente "anunciada" de WSR.

Alfabeto fonetico. Para hacer un buen uso del modo de mecanografía, aprenda el alfabeto fonético: http://en.wikipedia.org/wiki/NATO_phonetic_alphabet No puede pasar de manera realista sin esto cuando usa cualquier forma de reconocimiento de voz.

EMPUJE. (o emacs, supongo, no estoy seguro). Vim es ideal para editar texto sin tocar el mouse. Esto lo hace ideal para editar textos usando WSR. Yo solo soy un principiante de VIM, pero lo encuentro increíblemente útil.

Buscando en la web. En mi experiencia, la navegación web sigue siendo algo extremadamente difícil de hacer sin un mouse. Simplemente hay demasiadas situaciones que requieren que pase el mouse para acceder a los comandos subyacentes. Esta es una gran pena. Sin embargo, hay algunos complementos de Firefox realmente buenos para ayudar a navegar sin un mouse.

  1. Navegación sin mouse: https://addons.mozilla.org/en-us/firefox/addon/mouseless-browsing/ Esta es una pequeña herramienta ordenada con muchas opciones de configuración para poner números al lado de todos los enlaces. Luego puede escribir estos números para activar el enlace
  2. Vimperator: http://vimperator.org/ Esto va mucho más allá de la navegación sin mouse. Básicamente te da vim completo como control de firefox. Creo que esto funciona mejor que la navegación sin mouse, pero puede ser molesto en los casos en que cambia el comportamiento predeterminado de Firefox.

Estas son solo mis propias experiencias personales. Sería genial saber cómo se está desempeñando Honza.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.