2010-04-26 3 views
125

Bevor Sie zu den Schlussfolgerungen springen, ja, das ist Programmierung bezogen. Es umfasst eine Situation, die unter der Überschrift steht: "Dort, aber für die Gnade Gottes, geh du oder ich." Das ist brandneues Gebiet für mich, deshalb bitte ich um ernsthafte Hilfe hier.Die besten Programmierhilfen für einen quadriplegischen Programmierer

Ein junger Mann, Honza Ripa, in einer nahe gelegenen Stadt machte das klassische Dumb Thing zwei Wochen nach dem Abschluss der High School - er tauchte in seichtes Wasser im russischen Fluss und hatte eine C-4/C-5 break, manchmal auch als Swimming Pool Break bezeichnet. In wenigen Sekunden ging er von einem Ausnahmegolfer und Wrestler zu einem Tetraplegiker. (Lies die Geschichte ... wir alle hätten so viel Glück gehabt, eine Freundin wie Brianna zu haben.) Das war vor 10 Monaten und er hat nur winzige Mengen an Kontrolle über seinen rechten Zeigefinger und ein paar andere Hände zurückbekommen. Fußbewegungen, keine von ihnen feinkörnig.

Seine vollständige Kontrolle über seinen Computer (derzeit läuft Win7, aber wir können das je nach Bedarf ändern) ist per Sprachbefehl. Honza ist nicht dumm. Er hatte einen 3,7 GPA mit AP Mathematik und Physik.

Die Probleme:

  1. Da alle seine Eingabe über Sprachbefehl, er befürchtet, dass die Dominanz von Sonderzeichen in der Programmierung große Menge an ausführlichen Befehle benötigen. Kennt jemand von gut gemacht Spracheingabesystem speziell für Programmierer entwickelt? Ich denke über etwas nach, das modal sein könnte - z. Sie sagen "Python-Eingabe" und es geht in einen Makro-Modus für Klassen-Definitionen, etc. Gegeben alle RSI im Programmierer-Land muss es etwas da draußen sein. Auf welchen OS (es) läuft es?

  2. Ich plane, ihm Python beizubringen, was meine bevorzugte Programmier- und Lehrsprache ist. Gibt es irgendwelche Anwendungen/Whatevers, die in Python geschrieben sind und eine besonders gute Ergänzung sind, um ihn geistig zu beschäftigen und gleichzeitig seine Behinderung zu unterstützen? Eines seiner ausdrücklichen Interessen ist das Investieren in Aktien, aber das ist vielleicht kein guter Ausgangspunkt für einen brandneuen Programmierer.

  3. Es gibt eine Los Umgebungen (Flash, JavaScript, etc), die nicht besonders freundlich zu Menschen mit Barrierefreiheitsherausforderungen sind. Ich erinnere mich vage an ein Forschungsprojekt (kann es aber nicht finden), das im Grunde genommen ein Overlay-System auf einer Bildschirmumgebung erstellte und dann die Erstellung von Makrobefehlen über dem Bildschirmbild zuließ. Wenn wir dieses System erhalten/trainieren können, sind wir möglicherweise in der Lage, viele Hindernisse für die Nutzung des Netzes zu beseitigen.

  4. Ich bin besonders daran interessiert, Open Source Python-basierte Robotik- und Roboterprothesen-Projekte zu finden, so dass er gleichzeitig fortgeschrittene Programmierkonzepte lernen und dabei lernen kann, einige seiner unmittelbaren Probleme zu lösen.

Ich habe eine Tonne googeln auf das getan, aber ich wissen gibt es Dinge, die ich vermisst habe. Ich bitte die SO-Community, hier auf den Teller zu steigen. Ich wissen diese Gruppe hat die Antworten, also lass mich sie hören! Overwhelm Ich mit den Möglichkeiten, die jeder von uns nach einem solchen lebensverändernden Ereignis noch programmieren kann/muss.

Update: Ich habe gerade computingforquads.org registriert und ich werde Seiten für alle Arten von Lösungen für alle Arten von Problemen erstellen.Danke für deine Hilfe bis jetzt und halte diese Antworten bereit!

+4

Vielleicht haben die Guten bei superuser.com einen guten Einblick in die Barrierefreiheits-Software. Ich kann jedoch nicht für mehr Programmierwerkzeuge sagen. Entschuldigung, dass ich nicht helfen kann. – zneak

+3

Hmm, ich würde vorschlagen, lieber eine benutzerdefinierte Buildsprache zu verwenden, als zu versuchen, etwas zu bauen, das perfekt für Honza funktioniert. Es gibt Sprachen wie COBOL, die wirklich keyword-basiert und "menschenlesbar" sind (und ausgesprochen werden können). Wie mit Robotik, warum nicht mit LEGO beginnen? IMHO eine Sprache mit Schildkröten (Roboter - etwas, das sich durch den Bildschirm bewegt und Linien zeichnen kann) und einfache Syntax kann ziemlich gut sein. Ich habe einige Schwierigkeiten, mich selbst zu programmieren, und ich verstehe, dass "anders" nicht viel ist, aber in diesem Fall sieht es für mich vernünftig aus. –

+7

Wir haben vorher die Programmierung per Stimme besprochen (im Grunde ist es immer noch grob, experimentell und weitgehend nicht unterstützt).Siehe http://stackoverflow.com/questions/1408874/speech-recognition-programming und http://stackoverflow.com/questions/87999/voice-recognition-software-for-developers. – dmckee

Antwort

92

Ich habe Sportverletzungen, und ich kann nicht mehr als ein paar Zeichen ohne schwere Schmerzen geben.

Stattdessen verwende ich Emacs zusammen mit Dragon Naturallyspeaking. Ich habe Makros und Skripte geschrieben, um es zu verstehen. Das System ist nicht perfekt, aber es funktioniert. Ich programmiere meistens in C++, aber ich benutze auch Python.

Wenn Sie wollen, werde ich Ihnen helfen, mit diesem. Ich muss Sie warnen, es dauert ein paar Monate, um sich an Sprache zu gewöhnen, Text-Software zu programmieren und zu trainieren. Außerdem bin ich nicht englischen Muttersprachler, bin sicher, dass

Sie in die Quere kommt nicht verzweifeln, gibt es Lösungen. wenn Sie mehr Informationen benötigen, meine Nummer ist 515 230 9363 (USA

hier ein Link zu Emacs and Dragon-Dateien (leider noch nicht dokumentiert)

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

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

auch, , Iowa). Ich bin froh, Ihnen zu helfen, wenn ich kann

+1

Bitte lassen Sie dies nicht überprüfen, da die "Antwort" Sie davon abhält, mehr Möglichkeiten zu veröffentlichen. Ich füge hinzu, dass (keuchen) ich seit 1980 ein vi (und jetzt vim) Typ bin, also muss ich ein "vi Makro-Set" erstellen, um die Arbeit zu ergänzen, die Andre schon gemacht hat, und wahrscheinlich auch ein Notepad ++ - Set oder ein Aptana-Set (Eclipse + PyDev). –

+0

Wow, aaa, das wusste ich nicht, bis ich deinen Beitrag gelesen habe. Alle deine Posts, die ich bisher gesehen habe, zeigen es nicht ... zumindest weiß ich, dass Dragon NaturallySpeaking gut für dich funktioniert. –

19

Es lohnt sich am Dasher Project suchen, die es möglich, Text recht schnell auch für die severly deaktiviert einzugeben macht. Dasher basiert auf einem probabilistischen Modell von Sprachen, sodass wahrscheinliche Äußerungen einfacher in das System eingegeben werden können. Das Demonstrationssystem verfügt über eine beeindruckende Sammlung natürlicher Sprachen. Es sollte einfach sein, ein großes Korpus von Programmen in Python zu finden, Dasher mit dem Korpus zu laden und eine spezielle Version für die Eingabe von Python-Programmen zu erstellen.

+0

Hervorragender Vorschlag! Ich bin ein alter Neuronaler Netzjock aus den 80ern und das klingt sehr vielversprechend. –

5

Ich kenne jemanden in einem Dorf in Indien, die ein Paraplegiker ist, der Dragon Speech to Text Software verwendet, um auf ihrem Computer zu schreiben. Ich weiß nicht, wie gut es für einen Programmierer geeignet ist (sie ist kein Programmierer), aber es ist ein Anfang.

Sie könnten auch in Natural Point suchen. Es ist ein Auge kontrolliert Maus, die

Honza helfen könnte

this helps

+0

Honza benutzt Dragon momentan ziemlich gut. Wir konzentrierten uns besonders auf die ausführliche Art und Weise, wie Sie die Sonderzeichen eingeben, die überall in der Programmierung vorkommen. –

8

Dies ist nicht Teil einer professionellen Software, aber als ich das sah, habe ich gedacht, es wäre für die Texteingabe gut sein Auge mit Bewegungsverfolgung oder minimale Mausbewegung. Siehe Ken Perlin's Processing page, und sehen Sie sich die Applets für "Stifteingabe" an.

+0

Danke! Gute Verbindung! Dies kann besonders nützlich sein bei der Cursorsteuerung, was meiner Meinung nach immer noch eine Herausforderung für ihn ist. Erst wenn man diese Art von Problemen angehen muss, beginnt man zu verstehen, dass einige dieser Leute den Berg besteigen. Everest * jeden Tag * nur um zu tun, worüber wir nichts denken. –

3

ipython mit Fertigstellung

Auf der Python Seite zeigt ipython Parameter, Funktionen, usw. und Befehlsabschluss hat. Vielleicht könnte es auch angepasst werden, um auf die verschiedenen Eingabegeräte zu reagieren?

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

1

Eine Sache, die helfen kann (ich habe es von this question) ist http://shorttalk-emacs.sourceforge.net/. Es scheint eine Schnittstelle zwischen Emacs und Spracherkennung zu sein. Und in Bezug auf Sprachen würde ich empfehlen, Lua über Python zu verwenden. Es hat einen natürlicheren Englischfluss.

1

Ich weiß, dass diese Frage jetzt ziemlich alt ist. Ich frage mich, wie es mit Honza in Sachen Programmierung läuft. Es wäre schön, das wieder zu hören.

Für was es wert ist, leide ich an RSI und jetzt versuchen, die Verwendung der Tastatur und vor allem die Maus zu minimieren.

Meine eigene Erfahrung mit der Spracherkennung ist, dass dieses Zeug funktioniert. Ich verwende Windows eingebaute Spracherkennungssoftware für Windows 7 (WSR). Ich habe auch Sprachfinger (http://voicefinger.cozendey.com/) verwendet, um den Mauszeiger zu bewegen. Einige wichtige Punkte, die ich erwähnen möchte, sind:

Lernen Sie die Verknüpfungen. Sie können mit Tastaturkürzeln fast alles machen, und wenn Sie sprechen, funktioniert die Spracherkennung im "Tippmodus" (siehe unten) hervorragend.

Verwenden Sie den Eingabemodus. Wenn Sie nicht gerade Text diktieren, ist dies eine großartige Möglichkeit, kurze Abkürzungen am Computer zu sprechen oder komische Wörter zu buchstabieren. Interessanterweise ist es keine eindeutig "beworbene" Funktion von WSR.

Phonetisches Alphabet. Um den Tippmodus gut zu nutzen, lernen Sie das phonetische Alphabet: http://en.wikipedia.org/wiki/NATO_phonetic_alphabet Sie können nicht realistisch ohne dies auskommen, wenn Sie irgendeine Form der Spracherkennung verwenden.

VIM. (oder Emacs ich denke - nicht sicher). Vim eignet sich hervorragend zum Bearbeiten von Text, ohne die Maus zu berühren - je. Dies macht es großartig, Texte mit WSR zu bearbeiten. Ich bin selbst nur ein VIM-Anfänger, finde es aber unglaublich hilfreich.

Web durchsuchen. Nach meiner Erfahrung ist das Surfen im Internet immer noch extrem schwierig ohne eine Maus. Es gibt einfach zu viele Situationen, in denen Sie mit der Maus schweben müssen, um zu den zugrunde liegenden Befehlen zu gelangen. Das ist eine große Schande. Trotzdem gibt es einige wirklich gute Firefox-Plugins, die das Browsen ohne Maus erleichtern.

  1. Mauslose Browsing: https://addons.mozilla.org/en-us/firefox/addon/mouseless-browsing/ Dies ist ein nettes kleines Werkzeug mit vielen Konfigurationsoptionen für das Setzen von Zahlen neben allen Links. Sie können dann diese Zahlen eingeben, um den Link zu aktivieren
  2. Vimperator: http://vimperator.org/ Dies geht viel weiter als mausloses Browsing. Es gibt Ihnen im Grunde vollständige vim wie Kontrolle von Firefox. Ich finde, dass dies besser funktioniert als mausloses Browsen, aber es kann nervig sein in Fällen, in denen das Standard-Firefox-Verhalten geändert wird.

Dies sind nur meine eigenen persönlichen Erfahrungen. Es wäre großartig, wieder zu hören, wie es Honza geht.