Friday, March 8, 2013

Using Plover for Python

I gave a dry run of my PyCon presentation at the New York Python Meetup last night, and I think it went quite well! I think I've finalized my slide deck. Longtime followers will notice that I reused a few slides from my 2011 PyGotham presentation, but I've added and changed a fair amount of stuff. I think it's tighter and flows more smoothly than the old version. Anyway, as part of the presentation, I made a very quick video showing me using Plover to write a small snippet of code from my Codecademy Python Course. I also added a closed captioning track showing the pseudosteno for every stroke I was writing. It doesn't show me making new definitions or anything like that, since that feature is still being implemented (it's a little too buggy for release at the moment), but I think it gets across how easy it is to write quick, smooth, efficient Python code using steno. For some reason, when I tell people about steno, they often don't understand how a keyboard consisting of 22 letters can be used to write punctuation, meta keys, and commands, so I think this video is useful to demonstrate that it's as simple as defining PRENS as (), TA*B as the Tab command, RIPT as raw_input(", et cetera, and then just barreling on through your code without a second thought.


  1. How do you handle variable names? For example, some code in front of me has a variable called ProductionVersionId. I would think by default steno is going to put spaces in there.

  2. I'm actually going to make another video demonstrating this, now that we have a new (currently being tested) version of Plover that supports just-in-time dictionary definitions. I'd go like this:

    DUPT (to bring up the JIT window)
    PRIVD (steno stroke for the variable)
    TO*LG (to jump over to the English pane)
    KPA*/PROUX/KPA*/VERGS/KPA*/ID (which comes out as ProductionVersionId. The KPA* command deletes the space between the words and capitalizes the following letter)
    TRA*IT (to write the new definition to the dictionary)

    Then it'll put me back in the previous window, and from then on, every time I write "PRIVD", it'll come out as "ProductionVersionId".

  3. In fact, if you want to give me a snip of code that includes ProductionVersionId, I'll make a video showing how I'd write it.

  4. Cool! My code might not be the best demo, it's just a little sql. Whatever you were thinking of to show off would be great.