Melhores ferramentas de programação para um programador tetraplégico


125

Antes de tirar conclusões, sim, isso está relacionado à programação. Ele cobre uma situação que aparece sob o título "Ali, mas pela graça de Deus, vá você ou eu". Este é um território totalmente novo para mim, então estou pedindo uma ajuda séria aqui.

Um jovem, Honza Ripa , em uma cidade vizinha fez o clássico Dumb Thing duas semanas depois de se formar no colegial - mergulhou em águas rasas no rio Russo e teve um intervalo C-4 / C-5 , às vezes chamado de natação Pausa para a piscina. Em questão de segundos, ele passou de um excepcional jogador de golfe e lutador a um tetraplégico. (Leia a história ... todos nós deveríamos ter tido a sorte de ter uma namorada como Brianna.) Isso foi há 10 meses e ele recuperou apenas pequenas quantidades de controle do dedo indicador direito e de algumas outras mãos / movimentos dos pés, nenhum deles de grão fino.

Seu controle total de seu computador (atualmente executando o Win7, mas podemos mudar isso conforme necessário) é via comando de voz. Honza não é burro. Ele tinha um GPA de 3,7 com AP e matemática.

Os problemas:

  1. Como toda a sua entrada é via comando de voz, ele está preocupado que a predominância de caracteres especiais na programação exija uma grande quantidade de comandos detalhados. Alguém conhece algum sistema de entrada de voz bem projetado especificamente para programadores? Estou pensando em algo que pode ser modal - por exemplo, você diz "entrada Python" e ela entra no modo macro para fazer definições de classe, etc. Dado todo o RSI na área de programação, deve haver algo por aí. Em quais SOs é executado?

  2. Estou pensando em ensiná-lo Python, que é minha linguagem preferida para programação e ensino. Existem aplicativos / whatevers que estão escritos em Python e seriam uma combinação particularmente boa para envolvê-lo mentalmente enquanto apoia sua deficiência? Um de seus interesses expressos é o investimento em ações, mas esse não pode ser um bom ponto de partida para um programador novinho em folha.

  3. Existem muitos ambientes (Flash, JavaScript etc.) que não são particularmente amigáveis ​​para pessoas com desafios de acessibilidade. Lembro-me vagamente (mas não consigo encontrar) de um projeto de pesquisa que basicamente criou um sistema de sobreposição no topo de um ambiente de tela e permitiu a construção de comandos de macro no topo da imagem da tela. Se conseguirmos / treinar esse sistema, poderemos remover muitos obstáculos ao uso da rede.

  4. Estou particularmente interessado em encontrar projetos de robótica e próteses robóticas baseadas em Python de código aberto para que ele possa aprender simultaneamente conceitos avançados de programação enquanto aprende a resolver alguns de seus próprios problemas imediatos.

Eu pesquisei bastante sobre isso, mas sei que há algumas coisas que estou perdendo. Estou pedindo à comunidade SO para avançar aqui. Eu sei que este grupo tem as respostas, então deixe-me ouvi-las! Me oprima com as oportunidades que qualquer um de nós pode ter / precisar ainda programar após um evento de mudança de vida.

Atualização: Acabei de registrar o computingforquads.org e criarei páginas para todos os tipos de soluções para todos os tipos de problemas. Obrigado por sua ajuda até agora e mantenha essas respostas por vir!


4
Talvez os mocinhos do superuser.com tenham uma boa visão sobre os softwares de acessibilidade. Não posso dizer para mais ferramentas relacionadas à programação. Desculpe por não poder ajudar.
zneak

3
Hmm, sugiro usar uma linguagem de compilação personalizada do que tentar criar algo que funcione perfeitamente para o Honza. Existem idiomas como o COBOL, que são realmente baseados em palavras-chave e "legíveis por humanos" (e podem ser falados). Como na robótica, por que não começar com LEGO? IMHO alguma linguagem com tartarugas (robôs - algo que se move pela tela e pode desenhar linhas) e sintaxe simples pode ser muito boa. Tenho algumas dificuldades em me programar e entendo que ser "diferente" não é nada demais, mas, neste caso, parece razoável para mim.
Gabriel Ščerbák

7
Já discutimos a programação por voz (basicamente, ainda é difícil, experimental e praticamente sem suporte). Consulte stackoverflow.com/questions/1408874/… e stackoverflow.com/questions/87999/… .
dmckee --- ex-moderador gatinho

4
Infelizmente, não tenho uma boa resposta para a maior parte disso. Percebo no artigo, no entanto, que o movimento do dedo indicador é suficiente para que ele possa controlar o pequeno joystick na cadeira de rodas. Você pode procurar um pequeno mouse USB no estilo de joystick. Eu já vi alguns lá fora antes. Embora não seja particularmente barato (item de volume muito baixo), pode ser útil como um dispositivo de entrada adicional.
26610 Nicholas Knight

2
@RCIX: Eu entendo e agradeço seu entusiasmo. Mal-entendidos on-line como esse remontam, pelo menos, às Notas PLATO IV em 1973, onde aprendemos que a digitação não transmite linguagem corporal importante e tom de voz. Houve um FlameWar em 1974 (que surgiu de um mal-entendido) que foi a base para o que provavelmente foi a primeira tese de mestrado sobre interação interpessoal em um ambiente social baseado em computador. 2 e 3 de junho, haverá uma conferência PLATO @ 50 no Museu de História do Computador no Monte. View, CA. Haverá muitos barbas cinzentas mancando por aí. :-) #
31410 Peter Rowell

Respostas:


92

Tenho lesões esportivas e não consigo digitar mais do que alguns caracteres sem dores graves.

Em vez disso, eu uso o emacs junto com o Dragon NaturallySpeaking. Escrevi macros e scripts para ajudá-lo a sobreviver. O sistema não é perfeito, mas funciona. Eu programa principalmente em C ++, mas também uso python.

Se você quiser, eu vou ajudá-lo com isso. Eu tenho que avisar você, leva alguns meses para se acostumar com o software de fala para texto e treiná-lo. além disso, eu não sou falante nativo de inglês, tenho certeza de que atrapalha

Não se desespere, existem soluções.

aqui um link para os arquivos emacs e Dragon (infelizmente ainda não documentados)

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

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

Além disso, se você precisar de mais informações, meu número é 515 230 9363 (Estados Unidos, Iowa). Ficarei feliz em ajudá-lo, se puder


1
Por favor, não deixe que isso seja verificado, pois a "resposta" impede você de postar mais possibilidades. Também vou acrescentar que (suspiro) sou um cara vi (e agora vim) desde 1980, então terei que criar um "conjunto de macros vi" para complementar o trabalho que Andre já fez e provavelmente também um conjunto de Notepad ++ ou um conjunto de Aptana (Eclipse + PyDev).
precisa

Uau, aaa, eu não sabia disso até ler seu post. Todas as suas postagens que eu vi até agora não mostram isso ... pelo menos eu sei que Dragon NaturallySpeaking funciona bem para você.
Xavier Ho

19

Vale a pena examinar o Projeto Dasher , que torna possível inserir texto razoavelmente rápido, mesmo para pessoas com deficiências graves. O Dasher baseia-se em um modelo probabilístico de linguagens, para que expressões mais prováveis ​​sejam mais fáceis de entrar no sistema. O sistema de demonstração vem com uma coleção bastante impressionante de idiomas naturais. Deve ser fácil obter um grande conjunto de programas escritos em Python, carregar o Dasher com o corpus e criar uma versão com finalidade especial para a entrada de programas em Python.


Excelente sugestão! Eu sou um velho atleta da rede neural dos anos 80 e isso parece muito promissor.
precisa

8

Isso não faz parte de nenhum software profissional, mas quando vi isso, achei que seria bom para a entrada de texto usando rastreamento de movimentos oculares ou mínimo movimento do mouse. Consulte a página Processamento de Ken Perlin e veja os applets para "entrada da caneta".


Obrigado! Ótimo link! Isso pode ser particularmente útil com o controle do cursor, que eu acredito que ainda é um desafio para ele. Não é até que você realmente precise resolver esses tipos de problemas que você começa a entender que algumas dessas pessoas estão escalando o Monte. Everest todos os dias apenas para fazer o que não pensamos.
precisa

5

Conheço alguém em uma vila na Índia que é paraplégico, que usa o software Dragon Speech to Text para escrever em seu computador. Não sei o quão adequado é para um programador (ela não é programadora), mas é um começo.

Você também pode querer examinar o Natural Point . É um mouse controlado pelos olhos, o que pode ajudar Honza

Espero que isto ajude


Honza está atualmente usando o Dragon razoavelmente bem. Estávamos especialmente focados em lidar com a maneira detalhada de inserir os caracteres especiais que estão por toda parte na programação.
precisa

3

iPython com conclusão

No lado do python, o iPython mostra parâmetros, funções, etc., e possui a conclusão de comandos. Talvez também pudesse ser personalizado para responder aos vários dispositivos de entrada?

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



1

Eu sei que esta questão é bastante antiga agora. Eu me pergunto como as coisas estão indo para Honza com relação à programação. Seria bom ouvir de volta.

Pelo que vale, sofro de RSI e agora tento minimizar o uso do teclado e, principalmente, do mouse.

Minha própria experiência de reconhecimento de voz é que essas coisas funcionam. Eu uso o software de reconhecimento de fala embutido do Windows para Windows 7 (WSR). Também usei o dedo de voz (http://voicefinger.cozendey.com/) para ajudar a mover o ponteiro do mouse. Alguns pontos-chave que eu mencionaria são:

Aprenda os atalhos. Você pode fazer quase qualquer coisa usando atalhos e falar com eles funciona muito bem usando o reconhecimento de voz quando estiver no "modo de digitação" (veja abaixo).

Use o modo Digitação. A menos que você esteja ditando texto, isso é ótimo para falar atalhos no computador ou para soletrar palavras estranhas. Curiosamente, não é uma função claramente "anunciada" do WSR.

Alfabeto fonético. Para fazer bom uso do modo de digitação, aprenda o alfabeto fonético: http://en.wikipedia.org/wiki/NATO_phonetic_alphabet Você não pode sobreviver realisticamente sem isso ao usar qualquer forma de reconhecimento de fala.

VIM. (ou emacs eu acho - não tenho certeza). O Vim é ótimo para editar texto sem nunca tocar no mouse. Isso o torna ótimo para editar textos usando o WSR. Eu sou apenas um iniciante no VIM, mas acho incrivelmente útil.

Navegação na Web. Na minha experiência, a navegação na web ainda é uma coisa extremamente difícil de fazer sem o mouse. Existem simplesmente situações demais que exigem que você passe o mouse com o mouse para acessar os comandos subjacentes. Isso é uma grande vergonha. No entanto, existem alguns plugins do Firefox realmente bons para ajudar a navegar sem o mouse.

  1. Navegação sem mouse: https://addons.mozilla.org/en-us/firefox/addon/mouseless-browsing/ Esta é uma pequena ferramenta interessante com muitas opções de configuração para colocar números ao lado de todos os links. Você pode digitar esses números para ativar o link
  2. Vimperator: http://vimperator.org/ Isso vai muito além da navegação sem mouse. Basicamente, você fornece um vim completo como o controle do firefox. Acho que isso funciona melhor do que a navegação sem mouse, mas pode ser irritante nos casos em que altera o comportamento padrão do Firefox.

Estas são apenas minhas próprias experiências pessoais. Seria ótimo saber como Honza está se saindo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.