You're successful when someone tries to get a cheap clone of your site done on a cheap-labor code monkey site.
I'm flattered, I think. (Although I'd be more flattered if it were a good code monkey site.)
You're successful when someone tries to get a cheap clone of your site done on a cheap-labor code monkey site.
I'm flattered, I think. (Although I'd be more flattered if it were a good code monkey site.)
I ended up buying four pieces of equipment to help deal with being temporarily one-handed: the Matias half keyboard, the X-keys foot pedal (cheaper than the Kinesis pedals, which got lukewarm reviews on Amazon), the Keyspan PR-US2 Presentation Remote, and the Pacific Outdoors 17-LC100 Folding Recliner.
The good: I'm very pleased with the recliner and modestly happy with the remote. I got the recliner to take naps in; the brace on my arm didn't really accomodate lying down. This $80 recliner compares well with zero gravity recliners costing over 10x as much. (I've used two of the expensive variety; a BackSaver and one whose brand I don't recall.) The only downside is you can either sit up, or recline fully; there is supposedly a way to adjust the recline angle, but it doesn't really work. Expensive zero gravity recliners can all reliably lock at any angle you like.
The remote mostly worked as a mouse substitute that I could use with my immobilized right hand, reducing the need to slow down my left hand even more by switching from keyboard to mouse and back. Unfortunately, the mouse control pad is not nearly as good as one of the IBM "pointing sticks;" it appears to have four control points, like an old Nintendo D-pad, which gives only 8 possible directions to move in. This and a poorly quantized pressure sensitivity sometimes made things frustrating. If I were to do this again I would try a handheld trackball instead, even though I could not find any wireless models.
The bad: the half keyboard did not help programming speed with one hand, and the foot pedal didn't improve things. I've returned both.
The half keyboard gives you the left hand side of the keyboard, which toggles to the right side when the space bar is held down. So "a" becomes ";", "f" becomes "j", snd so on. For alphabetical keys, I found that it was true that I did not have to re-learn to touch type; I did not have to look at the keyboard, although I did have to pause and think, "does this one require the space toggle or not." I got up to about 20 wpm before giving up, compared to 25 with one hand on a full keyboard. I think I could have easily doubled that to 40+ wpm with enough practice to eliminate that pause and recognize "runs" of letters that can be typed without releasing the space, like "you," without thinking. But that kind of investment wasn't worth it because of a serious flaw.
The half keyboard is really more like a "1/4 keyboard." It only gives you the alphabetical keys and a couple punctuation marks. No number keys with their !@#$ counterparts. No F keys. No arrow keys. On a mac, you can have cmd or control but not both.
To allow these keys to be typed, there is a "numeric toggle" key that switches to keypad mode, and two other modes that you access by hitting "shift shift" and "shift shift shift." Almost any line of code you might want to type is going to run into this. Typing [0] for instance is shift shift s numerictoggle b numerictoggle shift shift a. Even the symbol-averse Java will need parentheses for method calls, and yes, parens require mode switching too. (As do braces. Shudder!)
So I lost in the non-alphabetical and modifier access much more than I could see myself gaining on the pure alphabetical side.
Finally, the modifier keys were on the right hand side of the keyboard where they very difficult to combine with shift. I tried to ameliorate the modifier key problems with the X-Keys pedal, mapping the pedals to cmd/ctrl/option, but that didn't really work either. (The included ikeys software wouldn't work at all. At least ControllerMate worked in non-X applications, but since Wing is the only IDE that does locals completion well, using a non-X IDE temporarily was a non-starter. Locals completion is nice with two hands, but absolutely essential with one.) Note that this is more of an OS X issue than a problem with these pedals; apparently mapping pedals (x-keys or kinesis) to modifier keys works fine on windows.
So, the half-keyboard is not useful for programmers. If it (a) were wireless and (b) had a non-skid backing -- it slid all over the place because the back side was just smooth plastic -- I could see it being useful for heavy smartphone users. But it fails there too. Good luck with this one, Matias.
Postscript: I considered trying the Frogpad as well as the half keyboard, but with users reporting that they got "up to 20 wpm after 2 weeks," it didn't sound worth the trouble. So if I ever had to spend another three weeks one handed I am not sure what is left to try. Probably I would try to use ControllerMate (os x) or xmodmap (linux) to make make a "half keyboard" in software that didn't suck so much, as suggested by one of the commenters in my first post.
I separated my right shoulder so that arm is going to be out of commission for a while. (I am right-handed.) I'm managing about 25 wpm with one hand, or about 1/4 my normal speed. This is frustrating. The Handkey Twiddler has been out of production for a while. The BAT is not OS X compatible. Anyone tried the Half Qwerty keyboard? Are there other good options for under, say, $300? (I found several very niche products for significantly more.)
I do plan to try voice recognition for email and IM but I can't see that working very well for code.
Currently, Jython ships with the pdb debugger module from Python 2.3. Unfortunately the 2.3 pdb is primitive even by command-line debugger standards. (For instance, if the program you are debugging throws an exception, it will take pdb down with it. Seriously. Did anyone actually use this thing?)
Fortunately all you have to do to get a much better experience is grab pdb.py, bdb.py, and cmd.py (for good measure) from a 2.5 CPython installation and run against that instead.
I've only tested this with Jython trunk but I think it should Just Work with the 2.2 release, too.
Update: Ryan McGuire blogged about his Emacs presentation in more detail.
Update 2: John Anderson blogged about setting up ViM
Google is off to a good (bad?) start with both of these in its management of the App Engine release.
Of the 120+ issues logged by beta testers, a few have been closed as wontfix or duplicate; most have no response at all from the App Engine team. I can't think of any other company that I've filed an issue with that took that long to get back to me. The good ones get back within hours.
The one exception I have seen is for the urllib issue, where gu...@python.org, presumably Guido, wrote
Providing a urllib replacement implemented on top of urlfetch shouldn't be particularly hard. If someone is willing to produce one, I'd be happy to review it and, if it passes muster, try to get it added.
Paraphrased: "maybe if you do our work for us we'll consider it."
WTF!
This isn't OSS, where "if you want something, do it yourself" is at least a semi-valid response. App Engine developers are all currently beta testing a product that Google hopes to eventually charge for. We're doing google a favor. (Context: the replacement Guido wants is a piece of code that will only ever be useful on app engine, and is something Google should have done in the first place instead of making urlfetch a public API. This is not code with a use case outside of App Engine.)
Maybe I'm over-sensitive, but this really rubs me the wrong way.
I hope Google can (a) put enough engineers on this that they can actually respond to issues, and maybe start closing some, and (b) remember that when you're selling a product, "why don't you fix it if it bothers you" is a poor response.