title: Best programming aids for a quadriplegic programmer
body: <p>Before you jump to conclusions, yes, this is programming related. It covers a situation that comes under the heading of, "There, but for the grace of God, go you or I." This is brand new territory for me so I'm asking for some serious help here.</p>
  
  <p>A young man, <a href="http://www.pressdemocrat.com/article/20100418/articles/100419536" rel="noreferrer">Honza Ripa</a>, in a nearby town did the classic Dumb Thing two weeks after graduating from High School -- he dove into shallow water in the Russian River and had a <a href="http://en.wikipedia.org/wiki/Spinal_cord_injury#Cervical_injuries" rel="noreferrer">C-4/C-5 break</a>, sometimes called a Swimming Pool break. In a matter of seconds he went from an exceptional golfer and wrestler to a quadriplegic. (Read the story ... all of us should have been so lucky as to have a girlfriend like Brianna.) That was 10 months ago and he has regained only tiny amounts of control of his right index finger and a couple of other hand/foot motions, none of them fine-grained.</p>
  
  <p>His total control of his computer (currently running Win7, but we can change that as needed) is via voice command. Honza's not dumb. He had a 3.7 GPA with AP math and physics.</p>
  
  <p><strong>The Problems:</strong></p>
  
  <ol>
  <li><p>Since all of his input is via voice command, he is concerned that the predominance of special characters in programming will require vast amount of verbose commands. Does anyone know of any <em>well done</em> voice input system specifically designed for programmers? I'm thinking about something that might be modal--e.g. you say "Python input" and it goes into a macro mode for doing class definitions, etc. Given all of the RSI in programmer-land there's got to be <em>something</em> out there. What OS(es) does it run on?</p></li>
  <li><p>I am planning on teaching him Python, which is my preferred language for programming and teaching. Are there any applications / whatevers that are written in Python and would be a particularly good match for engaging him mentally while supporting his disability? One of his expressed interests is in stock investing, but that not might be a good starting point for a brand-new programmer.</p></li>
  <li><p>There are a <em>lot</em> of environments (Flash, JavaScript, etc) that are not particularly friendly to people with accessibility challenges. I vaguely remember (but cannot find) a research project that basically created an overlay system on top of a screen environment and then allowed macro command construction on top of the screen image. If we can get/train this system, we may be able to remove many hurdles to using the net.</p></li>
  <li><p>I am particularly interested in finding open source Python-based robotics and robotic prostheses projects so that he can simultaneously learn advanced programming concepts while learning to solve some of his own immediate problems.</p></li>
  </ol>
  
  <p>I've done a ton of googling on this, but I <em>know</em> there are things I'm missing. I'm asking the SO community to step up to the plate here. I <em>know</em> this group has the answers, so let me hear them! <em>Overwhelm</em> me with the opportunities that any of us might have/need to still program after such a life-changing event.</p>
  
  <p><strong>Update:</strong> I just registered computingforquads.org and I'll be creating pages for all sorts of solutions to all sorts of problems. Thanks for you help so far and keep those answers coming!</p>