About handsfreecoding.org

Hi, I’m James, and I created handsfreecoding.org to share techniques and software that allow me to code and enjoy my computer without using my hands. There are a lot of powerful tools and libraries out there, but it can be overwhelming to learn how to put all the pieces together. I’ve been at it for over two years and I’m still discovering new ideas, so I hope this blog will be useful to newcomers and experts alike. To read more about my story, check out my first post, Adventures in Hands-Free Coding.

In order to allow the posts on this blog to become usable for open source speech recognition training data, I am using the CC0 license. Please attribute/link to my posts when using them.

To the extent possible under law, the author of this blog (James) has waived all copyright and related or neighboring rights to his posts and pages within this blog, unless noted otherwise. This work is published from the United States.

If you want to send me private feedback, please fill out the following form. If you want to share public feedback that others can comment on, please fill out the form at the bottom of this page.

6 thoughts on “About handsfreecoding.org”

  1. Hi James,

    Thank you so much for this resource.

    My little sister is 15 and I started teaching her to code in python last year. However, she has since had chronic pain and cannot type.

    I installed dragon for her and tried to use the software you recommend, but ran into issues because I am not familiar with it. She really wants to learn to code because I started teaching her about generative art (she had a successful blog, 6ftaboveground.com but has had to stop due to hand pain).

    She’s been trying to use your guide but is having difficulty because she is new to python.

    Would you be open to one or two skype sessions with my little sister and/or me to show us the ropes? We would pay you for consulting. If you know anyone else who has emailed you over the years who would be interested in this please let me know.

    Thanking you in advance,


    PhD student, Princeton

    1. Absolutely I would be happy to chat with you and your sister. This is the reason I have the blog, to help people like you and your sister!

      Thank you for the offer to pay, but no need for that.

      I will reach out to you directly via email on next steps.

  2. Hi,

    What would you recommend for only java programming on Eclipse or Intellij? As far as I know it is VoiceCommand?

    Has anyone tried a pen tablet eg wacom or handwriting recognition on surface?

    1. I would still personally recommend my own setup to someone who wants to do Java programming. It is designed to work with a wide range of applications. You will just need to set up commands for the various keyboard shortcuts available in Eclipse and IntelliJ.

      Lots of folks use pen tablets as an alternative to mouse. It’s not hands-free, though πŸ™‚

  3. Man, your blog is awesome! As a non-programmer thats diving in to dragonfly and subsequently Python, this information is invaluable.

    Although trying to understand dragonfly grammars is and has been a daunting task! Right now im trying to set up a grammar for writing the latex markup language using Vim. Looking to do mathematics and because of RSI I’m not able to use a pen for very long. Doing mathematics by voice seems to be a viable alternative.

    I’m experimenting with existing dragonfly scripts in some of the github repositories and getting some very inconsistent results. For example i spent a good few hours yesterday trying to get the multiedit grammar in the main dragonfly github repo to work. The format_functions were working fine but the key bindings saved in the comfig.cmd.map were not. And no error was being thrown in the Natlink message window. Anyway I finally got key bindings working using an alternative template script that utilised MappingRule. It’s not ideal though as it seems you need to pause to activate the key binding commands rather than using continuous speech. Anyway I’ve got a lot to learn!

    I wonder if you have no of any grammar that would be suitable for working with latex in vim? I’m looking for a template that would make it fairly straightforward to build up my own grammar because as you can guess, my programming skills are limited πŸ™‚ Cheers for the blog!

    1. Thanks for the kind words! I don’t personally have a LaTeX grammar, but I do think you were on the right track starting with multi-edit. My first guess for why your configuration might not be working is that the file is not named correctly. You need your configuration file to have the same name as your grammar file, except with the extension “.txt”. In other words, if your grammar is _multiedit.py, then your configuration should be _multiedit.txt.

      If anyone else has a good grammar for LaTeX, please share.

Leave a Reply

Your email address will not be published. Required fields are marked *

Markdown is supported. Make sure raw < and > are wrapped in code blocks. You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A hacker's guide to ditching the keyboard and mouse