Najlepsze pomoce programowe dla programisty z porażeniem czterokończynowym


125

Zanim przejdziesz do wniosków, tak, jest to związane z programowaniem. Obejmuje sytuację, która jest zatytułowana „Tam, ale z łaski Bożej idź ty lub ja”. To dla mnie zupełnie nowe terytorium, więc proszę o poważną pomoc.

Młody człowiek Honza Ripa w pobliskim mieście wykonał klasyczną Głupią rzecz dwa tygodnie po ukończeniu szkoły średniej - zanurkował w płytkiej wodzie w rosyjskiej rzece i miał przerwę na C-4 / C-5 , czasami nazywaną pływaniem Przerwa na basenie. W ciągu kilku sekund przeszedł od wyjątkowego golfisty i zapaśnika do quadriplegic. (Przeczytaj historię ... wszyscy powinniśmy mieć tyle szczęścia, że ​​mieliśmy taką dziewczynę jak Brianna.) To było 10 miesięcy temu, a on odzyskał tylko niewielką kontrolę nad prawym palcem wskazującym i kilkoma innymi rękami / ruchy stóp, żaden z nich nie był drobnoziarnisty.

Jego całkowita kontrola nad komputerem (obecnie z systemem Win7, ale możemy to zmienić w razie potrzeby) odbywa się za pomocą poleceń głosowych. Honza nie jest głupi. Miał 3,7 GPA z matematyką AP i fizyką.

Problemy:

  1. Ponieważ wszystkie informacje wprowadzane są za pomocą poleceń głosowych, obawia się, że dominacja znaków specjalnych w programowaniu będzie wymagała ogromnej ilości pełnych poleceń. Czy ktoś zna jakiś dobrze wykonany system wprowadzania głosowego zaprojektowany specjalnie dla programistów? Myślę o czymś, co mogłoby być modalne - np. Mówisz „wejście w Pythonie” i przechodzi w tryb makro do tworzenia definicji klas, itp. Biorąc pod uwagę wszystkie RSI w krainie programisty, musi coś tam być. Na jakich systemach operacyjnych to działa?

  2. Planuję nauczyć go Pythona, który jest moim ulubionym językiem programowania i nauczania. Czy są jakieś aplikacje / cokolwiek, które są napisane w Pythonie i które byłyby szczególnie dobre do angażowania go psychicznie, jednocześnie wspierając jego niepełnosprawność? Jednym z jego wyrażonych zainteresowań jest inwestowanie w akcje, ale to może nie być dobry punkt wyjścia dla zupełnie nowego programisty.

  3. Istnieje wiele środowisk (Flash, JavaScript itp.), Które nie są szczególnie przyjazne dla osób z problemami z dostępnością. Niewyraźnie pamiętam (ale nie mogę znaleźć) projektu badawczego, który zasadniczo stworzył system nakładek na górze środowiska ekranu, a następnie pozwolił na tworzenie makropoleceń na górze obrazu ekranu. Jeśli uda nam się zdobyć / wyszkolić ten system, być może uda nam się usunąć wiele przeszkód w korzystaniu z sieci.

  4. Szczególnie interesuje mnie znalezienie projektów z zakresu robotyki i protez robotów opartych na języku Python, aby mógł on jednocześnie uczyć się zaawansowanych koncepcji programowania, ucząc się rozwiązywania niektórych własnych, bezpośrednich problemów.

Zrobiłem masę googlowania na ten temat, ale wiem , że brakuje mi pewnych rzeczy. Proszę społeczność SO, aby stanęła na wysokości zadania. Wiem, że ta grupa zna odpowiedzi, więc pozwól mi je usłyszeć! Ogarnij mnie możliwościami, które każdy z nas może mieć / potrzebować nadal programować po tak zmieniającym życie wydarzeniu.

Aktualizacja: Właśnie zarejestrowałem się na computingforquads.org i będę tworzył strony z różnego rodzaju rozwiązaniami dla różnego rodzaju problemów. Dzięki za dotychczasową pomoc i nie przestawaj otrzymywać odpowiedzi!


4
Może dobrzy ludzie z superuser.com mają dobry wgląd w oprogramowanie ułatwiające dostęp. Nie mogę jednak powiedzieć o więcej narzędzi związanych z programowaniem. Przepraszam, że nie mogę pomóc.
zneak

3
Hmm, sugerowałbym raczej użycie niestandardowego języka kompilacji niż próbowanie zbudowania czegoś, co będzie idealnie działać dla Honzy. Istnieją języki, takie jak COBOL, które są w rzeczywistości oparte na słowach kluczowych i „czytelne dla człowieka” (i można nimi mówić). Podobnie jak w przypadku robotyki, dlaczego nie zacząć od LEGO? IMHO jakiś język z żółwiami (roboty - coś, co porusza się po ekranie i może rysować linie) i prosta składnia może być całkiem niezła. Mam pewne trudności z programowaniem się i rozumiem, że bycie „innym” to nic wielkiego, ale w tym przypadku wydaje mi się to rozsądne.
Gabriel Ščerbák

7
Omawialiśmy już programowanie głosowe (w zasadzie jest to nadal surowe, eksperymentalne iw dużej mierze niewspierane). Zobacz stackoverflow.com/questions/1408874/… i stackoverflow.com/questions/87999/… .
dmckee --- ex-moderator kitten

4
Niestety na większość z nich nie mam dobrej odpowiedzi. W artykule zauważam jednak, że wystarczy ruch palcem wskazującym, aby mógł sterować małym joystickiem na swoim wózku inwalidzkim. Możesz chcieć poszukać małej myszy USB w stylu joysticka. Kilka tam już widziałem. Choć niezbyt tani (przedmiot o zbyt małej objętości), może okazać się pomocny jako dodatkowe urządzenie wejściowe.
Nicholas Knight

2
@RCIX: Rozumiem i doceniam twój entuzjazm. Takie nieporozumienia online sięgają przynajmniej PLATO IV Notes w 1973 roku, gdzie dowiedzieliśmy się, że pisanie na maszynie nie przekazuje ważnej mowy ciała i tonu głosu. Był jeden FlameWar w 1974 roku (który wyrósł z nieporozumienia), który był podstawą prawdopodobnie pierwszej pracy magisterskiej na temat interakcji międzyludzkich w komputerowym środowisku społecznym. 2 i 3 czerwca odbędzie się konferencja PLATO @ 50 w Muzeum Historii Komputerów w Mt. View, CA. Wokół będzie kręcić się dużo siwobrodych. :-)
Peter Rowell

Odpowiedzi:


92

Mam kontuzje sportowe i nie mogę pisać więcej niż kilku znaków bez poważnego bólu.

Zamiast tego używam emacsa razem z Dragon NaturallySpeaking. Napisałem makra i skrypty, które mają mu pomóc. System nie jest doskonały, ale działa. Programuję głównie w C ++, ale używam też Pythona.

Jeśli chcesz, pomogę ci w tym. Muszę cię ostrzec, potrzeba kilku miesięcy, aby przyzwyczaić się do mowy do oprogramowania tekstowego i nauczyć go. ponadto nie jestem ojczystym językiem angielskim, jestem pewien, że to przeszkadza

Nie rozpaczaj, są rozwiązania.

tutaj link do plików emacsa i smoka (niestety jeszcze nie udokumentowane)

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

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

jeśli potrzebujesz więcej informacji, mój numer to 515 230 9363 (Stany Zjednoczone, Iowa). Chętnie Ci pomogę, jeśli tylko będę mógł


1
Nie pozwól, aby zaznaczenie tego faktu uniemożliwiło Ci publikowanie dalszych możliwości. Dodam również, że (wzdycha) Jestem facetem od vi (a teraz vim) od 1980 roku, więc będę musiał stworzyć „zestaw makr vi”, aby uzupełnić pracę, którą Andre już wykonał, i prawdopodobnie także zestaw Notepad ++ lub zestaw Aptana (Eclipse + PyDev).
Peter Rowell

Wow, aaa, nie wiedziałem tego, dopóki nie przeczytałem twojego postu. Wszystkie twoje posty, które widziałem do tej pory, nie pokazują tego ... przynajmniej wiem, że Dragon NaturallySpeaking działa dobrze dla ciebie.
Xavier Ho

19

Warto przyjrzeć się Projektowi Dasher , który umożliwia dość szybkie wpisywanie tekstu nawet osobom poważnie niepełnosprawnym. Dasher jest zbudowany na probabilistycznym modelu języków, dzięki czemu bardziej prawdopodobne wypowiedzi są łatwiejsze do wprowadzenia do systemu. System demonstracyjny zawiera dość imponującą kolekcję języków naturalnych. Powinno być łatwo uzyskać duży zbiór programów napisanych w Pythonie, załadować Dasher z korpusem i utworzyć specjalną wersję do wprowadzania programów w Pythonie.


Doskonała sugestia! Jestem starym wzmacniaczem sieci neuronowych z lat 80-tych i brzmi to bardzo obiecująco.
Peter Rowell

8

To nie jest część żadnego profesjonalnego oprogramowania, ale kiedy to zobaczyłem, pomyślałem, że będzie dobre do wprowadzania tekstu przy użyciu śledzenia ruchu oczu lub minimalnego ruchu myszy. Zobacz stronę Przetwarzanie Kena Perlina i spójrz na aplety pod kątem „wprowadzania piórem”.


Dzięki! Świetny link! Może to być szczególnie przydatne przy sterowaniu kursorem, co moim zdaniem nadal stanowi dla niego wyzwanie. Dopiero gdy naprawdę będziesz musiał rozwiązać tego typu problemy, zaczniesz rozumieć, że niektórzy z tych ludzi wspinają się na Mt. Everest każdego dnia tylko po to, aby robić to, o czym nic nie myślimy.
Peter Rowell

5

Znam kogoś z wioski w Indiach, który jest paraplegikiem i używa oprogramowania Dragon Speech to Text do pisania na swoim komputerze. Nie wiem, jak dobrze nadaje się dla programisty (ona nie jest programistką), ale to początek.

Możesz również zajrzeć do Natural Point . To mysz sterowana wzrokiem, która może pomóc Honzie

Mam nadzieję że to pomoże


Honza obecnie dość dobrze używa Smoka. Skoncentrowaliśmy się szczególnie na rozwlekłym sposobie wprowadzania znaków specjalnych, które są wszechobecne w programowaniu.
Peter Rowell

3

iPython z uzupełnieniem

Po stronie Pythona iPython pokazuje parametry, funkcje itp. I ma uzupełnianie poleceń. Być może można go również dostosować, aby reagował również na różne urządzenia wejściowe?

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



1

Wiem, że to pytanie jest teraz dość stare. Zastanawiam się, jak sprawy mają się z firmą Honza w zakresie programowania. Byłoby miło usłyszeć odpowiedź.

Cóż, cierpię na RSI i teraz staram się zminimalizować użycie klawiatury, a zwłaszcza myszy.

Moje własne doświadczenie z rozpoznawaniem głosu jest takie, że to działa. Używam wbudowanego oprogramowania do rozpoznawania mowy systemu Windows 7 (WSR). Użyłem również palca głosowego (http://voicefinger.cozendey.com/) do poruszania wskaźnikiem myszy. Kilka kluczowych punktów, o których wspomniałem, to:

Poznaj skróty. Za pomocą skrótów możesz zrobić prawie wszystko, a mówienie nimi działa świetnie przy użyciu Rozpoznawania głosu w „trybie pisania” (patrz poniżej).

Użyj trybu pisania. Jeśli nie dyktujesz tekstu, jest to świetne do mówienia na skróty do komputera lub do pisania dziwnych słów. Co ciekawe, nie jest to wyraźnie „reklamowana” funkcja WSR.

Alfabet fonetyczny. Aby dobrze wykorzystać tryb pisania, naucz się alfabetu fonetycznego: http://en.wikipedia.org/wiki/NATO_phonetic_alphabet Nie da się bez tego realistycznie obejść, korzystając z jakiejkolwiek formy rozpoznawania mowy.

WIGOR. (lub chyba emacs - nie jestem pewien). Vim doskonale nadaje się do edycji tekstu bez dotykania myszy - zawsze. Dzięki temu świetnie nadaje się do edycji tekstów za pomocą WSR. Sam jestem tylko początkującym VIM-em, ale uważam to za niezwykle pomocne.

Przeglądanie sieci. Z mojego doświadczenia wynika, że ​​przeglądanie stron internetowych bez myszy jest nadal niezwykle trudne. Jest po prostu zbyt wiele sytuacji, które wymagają najechania kursorem myszy, aby dostać się do poleceń bazowych. To wielki wstyd. Niemniej jednak istnieje kilka naprawdę dobrych wtyczek do Firefoksa, które pomagają w przeglądaniu bez myszy.

  1. Przeglądanie bez myszy: https://addons.mozilla.org/en-us/firefox/addon/mouseless-browsing/ To zgrabne małe narzędzie z wieloma opcjami konfiguracji do umieszczania liczb obok wszystkich linków. Następnie możesz wpisać te numery, aby aktywować łącze
  2. Vimperator: http://vimperator.org/ To idzie o wiele dalej niż przeglądanie bez myszy. Zasadniczo zapewnia pełną kontrolę nad przeglądarką Firefox. Uważam, że działa to lepiej niż przeglądanie bez myszy, ale może być denerwujące w przypadkach, gdy zmienia domyślne zachowanie Firefoksa.

To tylko moje osobiste doświadczenia. Byłoby wspaniale usłyszeć, jak radzi sobie Honza.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.