Slashdot Mirror


Software Lets Programmers Code Hands-free

Yetihehe writes "New Scientist is reporting about a new speech recognition tool that promises to let programmers write clean code without ever having to lay a finger on their keyboard. 'The tool, called VoiceCode, has been developed to help programmers with repetitive strain injury (RSI). This is a common affliction for people who spend a lot of time using a keyboard or mouse and causes pain in muscles, tendons and nerves in a sufferer's arms and back. Some estimates suggest 22% of all US computer programmers, or 100,000 people, suffer from the condition.'"

42 of 261 comments (clear)

  1. Repetitive Strain Injury by foundme · · Score: 5, Insightful

    If a programer has to say if-then as many times as he types, no doubt his mouth is going to get RSI.

    Many people thought obesity is caused by junk food, but in reality is caused by having too much junk food.

    So the best way to prevent RSI is to work out a reasonable and healthy work schedule that prevents such excessive usage.

    --
    Please stop entering code 2,2,7,6,6,4
    1. Re:Repetitive Strain Injury by foundme · · Score: 2, Insightful

      So it's better off to work for the same work-hours at reduced productivity, than to have a 10-15min break every hour (reduced work-hours) with the normal productivity?

      Personally, I think it's still better off even to have reduced work-hours and reduced productivity, than having to stay in front of the mic all day.

      --
      Please stop entering code 2,2,7,6,6,4
    2. Re:Repetitive Strain Injury by networkBoy · · Score: 2, Funny

      #!/perl/bin/perl
      print "then\n";
      So fooey on you. Perl can use 'then'

      #define then else
      So fooey on you. C(++) can use 'then' too :-)
      -nB

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    3. Re:Repetitive Strain Injury by ultranova · · Score: 2, Funny

      #define then else
      So fooey on you. C(++) can use 'then' too :-)

      #define then <
      #define than >
      #define maybe(x, y) {if(x then -x) y;}
      #define minusmaybe(x,y) {if (x than -x) y;}
      #define perhaps(x, y) maybe(y, x)
      #define possibly(x, y, z) maybe(x, y) z;
      #define unlikely(x, y, z) {x; perhaps(z, y)}
      #define quantum(x,y,z) {while(y) {perhaps(y,x) minusmaybe(x,y)}}

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    4. Re:Repetitive Strain Injury by g00dn3ss · · Score: 3, Informative

      In fact, computer use has been shown in studies not to be a major risk factor for carpal tunnel. Here's one article from a quick google search.

      I can also personally confirm these claims. I worked in a bus factory for a couple summers and my hands would continually go to sleep at night after my 9 hours at the factory. Yet I have never had a problem from coding, even with weeks of 11-12 hour days.

      Also, beyond all the other problems people have pointed out with using speech as input, it also interferes with the cognitive tasks needed for coding. Check out the article, for example.

      --
      ... rice, rice, gravy ...
    5. Re:Repetitive Strain Injury by IAmTheDave · · Score: 2, Insightful
      So the best way to prevent RSI is to work out a reasonable and healthy work schedule that prevents such excessive usage.

      And where am I going to find a job that lets me work 2 days a week, 4 hours a day, and still pays me enough to cover the mortgage?

      --
      Excuse my speling.
      Making The Bar Project
    6. Re:Repetitive Strain Injury by ConceptJunkie · · Score: 2, Informative

      Just for the record, RSI != carpal tunnel syndrome

      I have occasional problems with RSI in my hands and wrists, but I do not have the symptoms of carpal tunnel syndrome. I found squeezing on one of those squeezie balls you can pick up at the sports store helps, as does varying the position of my hands (and using different pointing devices), and especially, not playing games too long at any time. In my experience, that's the worst cause of problems for me.

      Still even though my hands work fine, I'd love to check out the voice recognition software. I can think of times where that could be very useful.

      --
      You are in a maze of twisty little passages, all alike.
  2. Not _Exactly_ Hands Free by slashbob22 · · Score: 2, Funny

    *Computer, Close Browser*
    Nothing to see here, please move along.

    --
    Proof by very large bribes. QED.
    1. Re:Not _Exactly_ Hands Free by bcat24 · · Score: 5, Funny

      Heh, that reminds me of a UserFriendly strip. OK, here it is.

      Voice recognition software: Welcome to Naughty Wibbling Dot Com!

      Mike: Close browser, close browser, close browser, close browser, close browser, close browser, ...

  3. Alright! by TechnoGuyRob · · Score: 4, Funny

    Pound include less than -- unf -- io -- unf -- stream greater than character return new line feed -- unf -- pound include -- AW SHIT ALL OVER THE KEYBOA--NO MOM, I DIDN'T SAY ANYTHING!

  4. All talk. Little action. by Anonymous Coward · · Score: 5, Insightful

    "'The tool, called VoiceCode, has been developed to help programmers with repetitive strain injury (RSI). This is a common affliction for people who spend a lot of time using a keyboard or mouse and causes pain in muscles, tendons and nerves in a sufferer's arms and back."

    And now vocal cords. Now imagine this sytem in say a team environment. Everyone talking at once.

  5. Really bad idea. by serial_crusher · · Score: 5, Funny

    My workplace is constantly bombarded by the sound of several Indian guys arguing about mundane stuff such as coding conventions and color schemes. I really don't need my computer thinking that's me talking.

    1. Re:Really bad idea. by Bloke+down+the+pub · · Score: 5, Funny
      Problem with C++ and other case sensitive languages would be also how the upper and lower case letters are entered.
      For uppercase you just have to SHOUT.
      --
      It's true I tell you, feller at work's next door neighbour read it in the paper.
  6. AHEM, sir! by TechnoGuyRob · · Score: 2, Funny

    "It typically takes the better part of a day to get all the pieces installed and working properly," he says. "For someone who has trouble typing, that may seem insurmountable."

    I would like it if you did not use the term "has trouble typing," sir--and make such faulty assumptions about us. I prefer "typographically-challenged," thank you very much.

  7. failed compile by Khashishi · · Score: 5, Funny

    void calculate_offsets(Node *foo) {
          int dummy;
          double buffer[ Hey, Smith, what, are; you doing there;
          damn(it)->im.busy_coding.here;
    }

    E443 2:12 syntax error after [

  8. Is actually for... by x2A · · Score: 5, Funny

    ...finally being able to safely program whilst driving! Woot!

    Would finally mean that people learn the difference between brackets, braces, and parenthesis\

    --
    The revolution will not be televised... but it will have a page on Wikipedia
  9. For, four, fore! by StikyPad · · Score: 5, Funny

    "For x equals two two to"

    FOR X = 2 to 2

    "Erase word, erase word, erase word"

    FOR X =

    "Twentytwo to"

    FOR X = 222

    "Erase word"

    FOR X =

    "Open parenthesis eleven times two close parenthesis"

    FOR X = ((((((((((())

    "Son of a.."

    1. Re:For, four, fore! by DarkSarin · · Score: 3, Interesting

      I think this pretty much sums it all up. After all I recently played around with the voice recognition stuff built into MS office 2003 (that I didn't even know about until just recently), and found it to be amazingly useful, and rather limited.

      After all, the word recognition rate is limited, and as soon as you start getting away from dictionary words you run into all sorts of problems.

      how do you pronounce some of the function names for php (mssql_query? or maybe a nice bit of perl code? perl golf stuff would be insane!)

      It might work for languages like RUBY with loose syntax (near as I can tell it doesn't really matter what you do as long as you stick with same style for any given block of code), but i doubt C code will lend itself well to such a monstrosity.

      No, in the end, until we have a programming language that reads the way people talk, this won't work. Even then there will be issues.

      Now, if I could just think the structure (or even better, the results) and have it appear on the page, I would be excited about that. Of course, there are lots of times when that would be the opposite of what I wanted.

      Oh well.

      --
      "We don't know what we are doing, but we are doing it very carefully,..." Wherry, R.J. Personnel Psychology (1995)
  10. Repeatative Tongue Disorder by roman_mir · · Score: 3, Insightful

    Next thing you know, software development will be hazardous to your tongue and mouth in general.

    Seriously though, I noticed that when I type, I express my thoughts in a more clear fashion than when I talk. I think this is because I am not distracted by the sound of my own voice. I can think faster than I type but not necessarily faster than I talk :)

    1. Re:Repeatative Tongue Disorder by TechnoGuyRob · · Score: 4, Funny

      Next thing you know, software development will be hazardous to your tongue and mouth in general.

      As much as we like to hope for "getting risky with our tongues and mouths," we're programmers; we know that's never going to happen.

    2. Re:Repeatative Tongue Disorder by Tablizer · · Score: 2, Funny

      If there is such a disorder, I know some women who are looooooong due.

  11. Not the way I code by litewoheat · · Score: 3, Insightful

    I don't know about anyone else but my code never really gets translated in my head to English or any spoken form and doing so would seriously effect my coding. When I'm in groove, I'm thinking machine not human.

  12. Could be much improved... by Pedrito · · Score: 3, Insightful

    I've actually played around with this idea. What you really need is voice, combined with keyboard and mouse and you really could improve speed of coding. With the lookahead that most IDE editors support these days, it's pretty easy to do symbol lookups which could be adapted to voice.

    The real trick is with symbol names; variable names, method names, class names, etc. The problem is that these are not necessarily words that will be easily adapted to spoken voice, which is made significantly worse with hungarian notation.

    But if you dump hungarian notation and use descriptive variable, method and class names (which is probably a good programming practice anyway), then you can probably get by pretty well.

  13. Eat your own dogfood by SirSlud · · Score: 4, Insightful

    And the programmers of this software didnt get RSI why? Its easy to avoid RSI. It seems like voice recognition software to help sufferers of RSI get back to work is tantamount to putting an ambulance at the bottom of a cliff instead of a big sign at the top that says, "DONT WALK OFF THE CLIFF"

    --
    "Old man yells at systemd"
  14. Wizard of Oz can tell you how will this works by rufusdufus · · Score: 4, Interesting

    Imagine you not only have a really good speech recognition system with a good language parser but an actual AI to talk to when you are writing your code. How well would this work? You can find out by getting a human friend to play Oz by 'hiding behind a curtain' and typing what you say in natural language. Try it. Then decide if a system like this will ever be useful.

    1. Re:Wizard of Oz can tell you how will this works by cmeans · · Score: 2, Insightful

      Extreme Programming...for one.

  15. Acid test by marcosdumay · · Score: 2, Funny

    Does it work for Perl? If so, we can say it is done.

  16. Pen/Pencil/Marker & Paper by erbmjw · · Score: 3, Insightful

    Am I the only code monkey that advocates writing out at least most of your code with pen{pencil/marker} and paper? It doesn't seem to cause as many repetative injuries, but perhaps I am incorrect in that assumption.

    On a personal note: I've made my boss howl with laughter by informing him that I was on version 7 of the code related to one small project, but before I touched the keyboard I'd written out most of the changes on paper. It was even better when I showed him the scrap paper I'd been snagging from the recycling bins to do my design work on. I thought coffee was going to shoot out his nose; never had trouble getting a pay raise or vacation time from him since :)

    When I mentored a couple of young co-op programmers they, at first, thought this practice was very crazy, but after they saw the benefits of having to thinking your code through while writing it out they started to follow this practice though not as drastically as I do.

  17. How $` $] brilliant by DysenteryInTheRanks · · Score: 5, Funny
    I program in Perl, you insensitive clods!

    Try saying $|++; $@?@^W--:!s/$#_/$_/g while <>; for 3000 lines !

    My throat will never recover!

    1. Re:How $` $] brilliant by numbware · · Score: 5, Funny

      It's still possible to code Perl hands-free. Try using your forehead. Trust me, you'll hit the right keys.

      --
      I'm going to go create my own technology news site, with blackjack and hookers. You know what? Forget the news site.
  18. Stallman's Disease by drwho · · Score: 2, Interesting

    Some of you may know that RMS (Richard Stallman, GNU hero) suffers from bad RSI. He has to hire people to type the code he dictates. This could be really useful for him. Maybe he'll be a bit less angry when he can code again.

  19. Obligatory Picard by Davus · · Score: 2, Interesting

    Computer, go to red alert. Wonder if we'll be seeing issues like this?

    --
    The above is most likely humour. Slashdot foot icon goes here.
  20. ooh funnn by akhomerun · · Score: 2, Funny

    now we can all sound like trekkin' holideckkers...

    ***Computer! Run program "Picard1"***

  21. Re:Escape mode by x2A · · Score: 4, Funny

    ooo what about REGEX??!!

    Tha's gonna hurt!

    --
    The revolution will not be televised... but it will have a page on Wikipedia
  22. Re:Huh... by x2A · · Score: 2, Funny

    Many programmers aren't classed as people, at least not whole one's.

    --
    The revolution will not be televised... but it will have a page on Wikipedia
  23. This might work with a decent programming language by exp(pi*sqrt(163)) · · Score: 4, Insightful

    I'm not sure I'd trust a system like this for a language like C, C++ or Java with its icky grammar full of parentheses, braces, commas and other types of pointless noise. But it might be nice with languages from the ML family such as Haskell where the main bit of syntactic 'glue' is simply white space. Haskell code is pretty compact too, in the sense that there's less to type per 'concept' that you want to express, so it's ideal for coding when your input rate is less than optimal.

    --
    Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
  24. Re:Identifiers by The+Wicked+Priest · · Score: 3, Funny
    I can't wait to see people trying to pronounce some of the stdlib functions, not to mention some of the other goofy things that people generally use.
    It will give new meaning to the "curses" library.
    --
    Share and Enjoy: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
  25. BrainCode is better. by protich · · Score: 2, Funny

    VoiceCode will discriminate non-english speackers...due to accent..etc.Unless it can understand and process all languages. Can you imagine an Idian coder using it and the resulting code? Outsourcing Killer! But with all seriousness BrainCode will be much better...I code in my sleep. Infact I have re-writen google search engine five times.

  26. Finally by blair1q · · Score: 2, Funny

    Finally!

    Something to drown out the IM glissandos.

  27. Re:Sure... RSI from "Programming" ;0) by Paco103 · · Score: 2, Informative

    Yeah. . . and of course we ALL hold our wrists slightly elevated the entire time, and we ALL drive with our hands in the 10 and 2 positions and do hand over hand steering. Wait. . . . what do I shift with. . . . no matter how much I'd like to think so, I'm not *that* talented! I personally benefit from ergo devices. Keyboard, chair (probably a bit excessive for most, but don't use folding chairs for computer chairs), and mouse. As far as wrist braces, I found I never have to wear them during the day if I sleep with it at night when I have any tiny indication of trouble. I'll wear it at night for a couple of weeks and then not wear it for months. The brace completely immobilizes my wrist (it's actually a nice splint from when I broke my wrist a few years ago). I found myself to curl that particular wrist in my sleep when pain started, therefore sleeping on it that way and aggravating it even worse. This has been the best cure I've ever found in the past 6 years or so that I've dealt with problems, and I've never worn a day brace since I started this procedure.

  28. Re:Why code dictation is so hard by Hognoxious · · Score: 3, Funny
    "if current record number is less than max offset do the following"

    This is both shorter to utter and less cognitively demanding.

    And I bet it works, too. Now back to my code...
    for i = 1 to numOfPigs
      if pig[i].altitude > 0
    ...
    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  29. Its all about the dictionaries you use by 3seas · · Score: 2, Informative

    The following link describes a method of enabling your own vocabulary creation.

    http://groups.google.com/group/comp.sys.amiga.misc /msg/117d0698cecc0f46