Wednesday, December 3, 2014

The Cumulative Effect of Of, The, And, and To

A brief but notable gem from ellispratt on the Aviary:
Peter Norvig has some interesting statistics on word frequency in the English language Four words - the of and to - account for 16.94% of the words we write. If you include the need to press the space bar, these four common words require an average 3.5 key presses on a QWERTY keyboard. Steno requires one. In the field I work in, technical communication, a Technical Writer spends 50% of their time writing (the rest on researching, planning etc). Adjusting for the fact that these four common words are half the length of an average word in English, that means they spend an average of 19 minutes every day (1 hr 35 mins in a 37.5 hr week) typing those four words on a QWERTY keyboard! With Steno, I estimate it would take just under 5 and a half minutes/day (27 mins a week).

Monday, December 1, 2014

Stenomatic 9000

New Plover learning tool: The Stenomatic 9000, courtesy of ezyang from The Aviary. Looks pretty dang nice!

Monday, November 24, 2014

Two Quick Links

First, a fantastic post on the Plover Aviary by ezyang, detailing the ups and downs of just beginning in steno.

Second, a new dictionary generated by Ted, which allows you to use the "EU" inversion flag on numbers of more than two digits.


Tuesday, November 11, 2014

Captioning With Plover and Vim

As promised, here's my video of using Plover to enter and edit text in Vim!

And in case you're interested, here are the steno definitions of the commands I use in the video:

"STPAO*EUL": "{#Escape}:w c:/proj/.txt{#Left}{#Left}{#Left}{#Left}{^}",

"STPHA*EUF": "{#Escape}:silent w{#Return}:{#Return}{#Control_L(End)A}",

"SPO*EL": "{#Escape}:set nospell{#Return}:{#Escape}{#Control_L(End)}A",

""SKHR*EBGS": "{#Escape}/zxzxz{#Return}:{#Escape}A",

"PHOEUFP": "{`^}

"SPWAO*UT": "{#Escape}:%s/{^}",

"KW*RPB": "{#Escape}{>}bvwy:split c:\\proj\\plovernotes.txt{#Return}o{#Escape}jp:silent w{#Return}:silent q{#Return}:{#Escape}{#Control_L(End)}A",

"SR-RS": "{#Escape}{#Control_L(End)}A",

"TKHREPBD": "^vG$xo",

And bonus definition which I use in the video to get rid of an extra space but don't mention specifically:

"TW*EUT": "{#Escape}:set textwidth=46{#Return}ggvG$gq:%s/  / /g{#Return}:%s/ \\n/{#Control_L(Q)}{#Control_L(M)}{^}/{#Return}:%s/\\n /{#Control_L(Q)}{#Control_L(M)}{^}/{#Return}:%s/\\n\\n\\n/{#Control_L(Q)}{#Control_L(M)}{#Control_L(Q)}{#Control_L(M)}/{#Return}:silent w{#Return}{#Escape}/zxzxz{#Return}:{#Escape}{#Control_L(End)}A",

Monday, November 10, 2014

Stenosaurus Update and Survey Results!

Check out Josh's latest update on the Stenosaurus Blog! He's almost done with the PCB layout, the key switches are in production, and the countdown to getting a solid crowdfunding launch date is so close I can taste it!

More Plover news:

* There's a new n-key rollover keyboard that's selling on Amazon for less than $20.

* There are also rumors of a new gaming laptop with a mechanical keyboard, though no solid word yet on whether or not it's nkro. If it is, though, I would be sorely tempted to shell out for one, even though I'm not much of a PC gamer. The idea of having an all-in-one laptop and steno machine sounds like absolute bliss to me.

* There's a new branch of Plover that includes support for snake_case, CamelCase, Title Case, and CAPS MODE. More details on the Google Group.

Also, here are the highlights from the Plover Community Survey results:

We got 64 responses in total, which is a nice increase from last year's count of 40.

What is your current steno level?

Absolute beginner - I'm very fresh. The very concept of steno is new to me, and I haven't tried it yet: 20%
Beginner - I know what steno is and have tried it: 41%
Intermediate - I'm fairly good, but steno isn't my best way to input text: 20%
Advanced - I prefer steno to qwerty for some tasks: 11%
Proficient - Steno is my primary mode of text input: 8%

What do you value in steno?

Speed: 84%
Fluency: 45%
Ergonomics: 59%
Wearability: 11%
Accessibility: 20%
Money: 20%
Cachet: 17%
Other: 14%

What do you use or plan on using steno for?

Nothing right now/just exploring: 22%
Writing prose/emails/journal/blog etc.: 66%
Conversation (IM, IRC, or text-to-speech): 44%
Writing software/code: 42%
Data entry: 14%
Offline (prerecorded) transcription/captioning: 27%
Realtime (live) transcription/captioning: 33%
Court reporting: 14%
Other: 8%

How long have you been learning or using steno?

0 - 2 months: 42%
2 - 6 months: 13%
6 months - 1 year: 11%
1 - 2 years: 14%
more than 2 years: 17%

Do you own a steno machine?

No - And I don't intend to get one: 5%
No - But I intend to get one: 20%
Yes - Sidewinder (n-key rollover keyboard): 23%
Yes - Ergodox (n-key rollover keyboard): 11%
Yes - Filco Majestouch (n-key rollover keyboard): 5%
Yes - Other n-key rollover keyboard: 25%
Yes - Stenoboard: 9%
Yes - Stentura Protocol machine: 17%
Yes - PR protocol machine: 3%
Yes - TX Protocol machine: 9%
Yes - Other commercial steno machine: 9%
Yes - Manual (non-electronic) steno machine: 6%
Other: 11%

Are you a professional stenographer OR intend on becoming one?

No: 69%
Yes - I am a professional stenographer: 6%
Yes - I intend to become a professional stenographer: 17%
Other: 8%

What steno learning tools have you used?

Learn Plover! (Online textbook): 67% 44%
Plover Dojo: 20%
Stenotutor: 16%
Steno Keyboard (on Android): 16%
Steno Learner: 3%
Steno Typer: 5%
Other: 13%

What operating system do you use for steno?

Windows: 50%
Mac: 27%
Unix/Linux: 39%
Android: 16%
Other: 0%

What have been your biggest frustrations in learning steno?

Steno theory is confusing: 14%
Too much memorization of briefs: 11%
Not enough practice material: 22%
Too tedious/repetitive: 13%
Plover dictionary is incomplete/inconsistent: 13%
Lack of free structured learning modules: 22%
Fingers won't do what I tell them: 14%
Building speed happens too slowly: 39%
Other: 34%

Selected comments:

"Not sure who/what is at fault but there seems to be missing the theory of steno so I can work things out for myself. Things don't seem to make sense and I just have to learn them. I don't learn well like that."

"I love Plover, you've done a great job. I'd love to see more examples of you beating records on TypeRacer. We should also focus on documenting Plover better, making it more accessible to new developers."

"Thank you for Plover! I work as a live voice captioner, using Dragon software, and the stenos at our company always get the fast, challenging jobs that I enjoy but that few other voice captioners can handle. Hoping to add a new string to my bow with this."

"Such a nice idea. Not sure if qwerty keyboard is really practical. Thumb and wrist position with my poker 2 keyboard is very awkward and the gaps between the keys definitely need fixing. Sustaining a home row position is equally difficult without staring at the keyboard. Nice for learning but I'm not sure it's ever going to be comfortable without a dedicated keyboard. Of course I could be entirely wrong. Will have to do a little key cap mangling and give it some time. It creates an entry point that didn't exist before but by the same token it may create a barrier with people quitting simply because the tool is awkward even though the system is logical. Thanks for the nice work."

"Would love Plover-centric typing games; I play Cargo Crisis occasionally but would like something a little less repetitive, especially if it let me 'level up' over time and ramped up speed and vocabulary range."

"Fantastic work. I'm brand new to this, but it looks incredibly exciting. I'm a software developer with a heavily customized keyboard layout. I had started developing my own chords, for common word prefixes and suffixes, but Plover is clearly infinitely better. Look forward to seeing the next developments of the Stenosaurus."

"It has been two years since I dropped out of court reporting school. I learned the theory pretty fast and was able to achieve 180 wpm within a year and a half. I started briefing everything like crazy as well as trying to implement aspects of Magnum Steno theory. This caused me to have a major burnout where I couldn't stand it any longer. I packed up my steno machine and haven't looked at it for two years. I am a stay at home mom and so I have kept busy with that since then. I hate to waste what talent I had with steno as I have been recently considering getting back into that world and dusting off the machine. The court reporting school I went to cost so much money that I do not want to get even more in debt than I am so I am looking for free options. I am also going to go back to my StenEd theory instead of trying to brief everything so I do not burn out again."

"It’s been about a year now since I first learned of Plover and stenography. I’m typing at 25 wpm after about 10 months of hobby dabbling. That’s slower than I expected to type after that long, but I’m still excited by steno and want to stick at it."

"I'd really like if there was some kind of game, with absolute beginner mode, that also presented the keys onscreen, and didn't force 100% accuracy."

Thanks to everyone for answering! It's given us some really useful things to think about.

Tuesday, October 28, 2014

Recent News Roundup

Just a hodgepodge of new stuff in the world of open source steno:

* I built my Stenoboard 1.1 a few nights ago, and I'm really happy with it! It writes smooth as butter, and it turns out it's slim enough to fit in the laptop sleeve of my backpack underneath my laptop, which means I now carry two steno machines with me at all times. Great for peace of mind. Emanuele has also just released a brief user manual, which explains how to switch it into different protocols, in case you want to use it with non-Plover steno software.

* Since I had my Stenoboard with me during my break yesterday, I also got to try out Brent's new Android app for steno training: Speed Drill. It's really fun. Great if you only have a few minutes with your phone or tablet and want to get some training in.

* For Linux users who are frustrated with Plover's handling of keyboard events (particularly ruinous in applications like Vim), there's a new fork that solves the problem. This also allows you to assign one qwerty keyboard as a Plover device and keep your regular keyboard mapped to qwerty, which is another feature people have been clamoring for. Of course we're hoping to roll this change into the main branch at some point, but I thought I should offer it as an option for now.

* We now have a Wikipedia page, thanks to our recent publicity from Hacker News. It's just a stub so far, but it's a start. Feel free to flesh it out as you see fit!

* Here's an ingenious method of making your own steno-friendly qwerty keyboard without laser-cut keytoppers from ArchZombie1y. Use coins and superglue!

* If you're looking to make your own DIY keyboard and coins aren't your thing, new Plover ally Robert points out that these flat square keys from Signature Plastics look pretty ideal.

* Finally, longtime Plover user Mark is going to take the National Court Reporter Association's Certified CART Provider test this November -- using Plover! They require submission of steno notes, so this is what he plans to do:

"In Plover: Configure (opens Plover Configuration box), Logging, Browse (click on it), there is a file called plover with the current date and time (saves everything in that instance of Plover); right click and SAVE AS to the flash-drive memory stick being used (or CD); that's it. It gives more info than required by the testing folks at NCRA, but does give what they want.

I also save the actual text file transcript to the memory stick, so there are two files on the drive."

Good luck, Mark!

Coming soon on the Plover Blog: Results from the Plover Community Survey, a short essay on where I see amateur steno going over the next few years, and a video of me using my favorite one-stroke Plover Vim commands to make my daily captioning work a million times easier.

Sunday, October 26, 2014

Longer Plover Coding Snippet in Python

New Video!

I've been meaning to do this for a while, but our delightfully inexplicable appearance on Hacker News this morning finally gave me the buttkick I needed to just sit down and do it. The previous Python coding snippet I recorded with Plover was only 25 seconds long, and I realized I needed something more substantial to show programmers how easily it can be done. For some reason, people often assume that writing punctuation and special characters in steno is harder than writing words or phrases. Obviously that's not the case (and I don't understand why people think it would be), but this seemed like the simplest way to demonstrate that.

From my video description:

This is me transcribing some of the code from Plover's codebase, using Plover and a steno machine. I didn't write this code, since I'm only a Python novice. It was originally written by Plover's awesome developers. But I transcribed it from a text file into Vim to demonstrate how easily and fluently code can be written with steno. It's not primarily about speed, but about chunking commands and words into single strokes, as opposed to breaking them down into individual letters and typing each letter out one by one as in qwerty. Also notice how simple error correction is; an incorrect word is deleted with a single stroke. For more information, visit:

There is no audio in this demonstration, so no captions are needed.
RUND for _
PL*US for +
KLN for :
TROETS for """
PRENZ for ()
PRE*NS for () and then move the cursor left so it's inside the parentheses
L*EN for len() and then move the cursor left
KWA*LS for =
SR-RS for move cursor to the end of the line
SR*RS for move cursor to the end of the line and press enter

Monday, October 20, 2014

Open Steno Project Community Survey 2.0

Last year we conducted a survey on the Plover community.

Since then, we've added hundreds of new people to the mailing list, shown that Plover is now mature enough to be used professionally, added several new hardware options such as the Stenoboard and the Ergodox, formed the Open Steno Project, and written a free online interactive textbook. It's been quite a year, to say the least! I'm very curious to see how our demographics have shifted as we've grown.

Take the Open Steno Project Community Survey 2.0 today, and please feel free to share it around to anyone who might be interested!

Thursday, September 11, 2014

Metakey Kludge

I'll let Ted from the Google Group describe his ingenious new solution for Plover's lack of arbitrarily stackable metakeys. (You can explicitly define a metakey+key combination in the dictionary, but you can't map a stroke to, say, Control and then be able to simulate holding it down while choosing another key in realtime to be activated along with it.)

Hello PloverSteno!


I've seen complaints in the past about the lack of a "sticky modifier" function in Plover. The idea being that you could define a stroke for Shift, one for Control, then using these strokes write something like "Control/Shift/p" or any other stroke.

Well, today I'd like to announce my workaround!

It's a Python script that takes a list of modifiers (Control, Super, Alt, Shift, by default) and a list of hotkeys (alphanumeric, enter, backspace, delete, and arrow keys, by default) and then generates every *possible* combination in order to give you one-off hotkeys. The output is a dictionary that you load into Plover and you're ready to go.

Of course, I recommend a single stroke for something common like "Ctrl-v" for paste, but sometimes you just need a one-off "Control-alt-shift-Left arrow" and that's what this script aims to let you do.

As a little bonus, there's a definition in there that has 100 strokes in order to increase Plover's buffer length.


If you don't like my default strokes, you can go into the script and change the "modifiers" or "hotkeys" lists in the main method. But these are the defaults, as per the script:

- Alt/Option: TLA* (THRA*)
- Command: KM* (KPL*)
- Control: KL* (KHR*)
- Shift: SF* (STP*)

Otherwise all the letters, numbers, return, and backspace are all Plover default.

Of note, if you want to just "press" the combination without a key, for example in Windows you can use "Ctrl+Shift" to change keyboard layouts, use the blank stroke:

- "SP*S"

I also had to add an entry for the delete key, which is just:



Download it from the GitHub repo. "modifiers.json" is the dictionary with all my defaults, "" is the Python script to run to make the dictionary.

Please, feedback is welcome. Also think of this as a workaround, not a permanent solution to the problem.

Many thanks to Ted for this! I have a feeling it'll come in extremely handy.

Sunday, September 7, 2014

Plover Learn Integrated Into Learn Plover!

Erika has just finished adding all the drills in Learn Plover! to Plover Learn, her interactive training site, and Zack in turn has linked to each lesson within the corresponding chapter of his book. Between the two of them, the steno learning curve just got a whole lot flatter.

Wednesday, September 3, 2014

Giant Monster Catch-Up Post

Manual steno machine, Sidewinders, and Infinity Ergonomic laid out at PyGotham 2014

Gah! It's been absolute ages! Amazing things have been happening in the Plover world, but I've been too wrapped up in my day job to document them all as they've occurred. I'm going to try to get back on top of blogging everything that's going on, starting now, but as ever if you want the latest breaking Plover news, you should probably join the Google Group, which is always the most direct source of information from Plover's developers, users, and contributors.

Speaking of which, Plover is no longer just its own thing. Hesky, Josh, and I have decided to fold it into a more general overarching organization, The Open Steno Project. Plover will continue to be the name of the software, but in addition to Plover itself, The Open Steno Project will serve as a catchall for various efforts to produce open source steno hardware and steno learning systems. The URL that used to go to the Plover Wiki,, now links directly to the Open Steno Project's website, (designed by longtime Plover supporter, captioning user, and user experience designer Sveta Kouznetsova of, but you can also link to, which will send you to the same place, and which has a link to the Plover Wiki (still a great resource for all sorts of information on Plover) prominently displayed at the top left of the page.

Okay, on with all that's been springing up these many months since I last blogged:

Most importantly for me (if not for anyone else), I've been using Plover exclusively in my captioning work since January! I'll probably make a post (possibly here, possibly on my StenoKnight blog, which has also been lying shamefully fallow for far too long) dedicated to all the various Vim settings and handy command strokes I've been using, but just briefly, I have to say it's been an absolute dream. I'm able to accommodate a client who uses a webinar system that forces captioners to type into a tiny text entry box and manually press return every 50 characters. With my old steno system, (the $4,000 proprietary court reporting software, Eclipse), the delay between when I pressed enter and when I saw the command go through in the text box would have been extremely frustrating. With Plover, it's as easy as anything. I'm also able to help out a client who wants me to caption directly into Google Docs, which might also merit a blog post of its own, since it's a fascinating project. In my daily work, I'm able to use the power and simplicity of Vim to edit my captions in realtime, just like I dreamed of back in 2008. Plus Plover's dictionary definition window is so much simpler and more efficient than the convoluted technique I had to use with Eclipse. I've got the Eclipse installation file in my new computer's downloads folder just in case I ever have to install it, and I've paid the annual $600 support and upgrade fee for 2014, but if I'm really able to go another year using Plover for absolutely all my CART and captioning work, I think I'll finally be confident enough to cast Eclipse completely loose, which will feel wonderful.

But I'm not the only one who's been living and breathing open source steno!

New low-cost key interface for Stenosaurus

The Stenosaurus is well on its way to production. Josh is aiming for October to open the crowdfunding campaign on Crowd Supply, and has been doing all sorts of fantastic work, from being interviewed on Slashdot (though please don't read the comments unless you urgently need to raise your blood pressure), to giving an Ignite talk at a tech conference (link to captioned video coming soon), to negotiating with illustrious keyboard manufacturers to produce a Stenosaurus-specific key switch!

StenoBoard, Printed and Assembled

In other steno hardware news, The Stenoboard is now in its second iteration. Emanuele Caruso, a new member of the Open Steno Project, has released OpenSCAD plans for his 3D-printed steno keyboard, so if you have access to a 3D printer and don't mind purchasing and assembling the electronics, you can download and print one yourself. If you'd rather buy the parts for the StenoBoard pre-printed but unsoldered, you can buy all the components for about $197 (plus shipping from Italy), or if you'd like to buy everything put together except for a few boards you need to screw in and wires you need to slot into place, you can get the easy-assemble kit for $263. I ordered one of those when the StenoBoard was still 1.0 (it's now 1.1) and somehow messed up the assembly so that it would occasionally block a stroke when too many keys were pressed at a time, but I tried out the one Hesky bought and assembled himself, and it worked perfectly. I've ordered a 1.1 kit and will be extremely punctilious while following the assembly instructions, so stay tuned for for my review! Meanwhile, if you don't mind putting together a fairly simple kit yourself, I think the StenoBoard is probably the best medium-priced steno solution for amateurs and hobbyists -- at least 'til the Stenosaurus comes along. The Stenosaurus will probably be a bit more expensive, but it'll be made out of bamboo and aluminum rather than 3D-printed resin, and won't require any assembly. On the other hand, the StenoBoard is lightweight, has a very small footprint, and is more ergonomically designed, so there's definitely a place for both within the Open Steno hardware ecosystem.

Also momentous is Brent's StenoKeyboard app for Android. It's more of a clone than a port of Plover, and a really fine piece of work. This too probably deserves its own post, and I'll do my damnedest to make one fairly soon, but I strongly encourage anyone with an Android phone or tablet to try it out. A huge number of bugfixes and UI improvements have been made on it since its first release, and I've been using it myself on a regular basis. You can equip it to write steno with your finger on your phone, Swype-style, as shown in the picture above, or you can use an USB-OTG adapter to write into your phone or tablet with a Sidewinder or StenoBoard. I bought one for a few bucks off Amazon, and so far it's been working brilliantly!

A few other quick links:

Me and Plover at !!Con

I captioned !!Con using Plover and got a whole bunch of programmers excited about steno when they came over to play with my machine during breaks. Woohoo! Hesky and I also got to give a talk at the Google Developer Group Meetup and I got to caption for him when he did a lecture on steno for Nerd Nite, but sadly neither of those were recorded.

Our presentation at the Accessibility NYC Meetup was, though, and I finally (finally!) finished captioning it last week:

If you'd like an accessibility-focused presentation on what Plover can do (including the opportunities for stenographic employment among blind and low vision screen reader users, a theme I intend to develop in my CSUN 2015 talk proposal), feel free to check it out. Or if you don't have the time to watch a 36-minute video, just glance through the transcript. One big error I should correct, though: In the talk, I say that Stan Sakai, CCP, of Superlative Realtime, dropped out of college when he discovered steno. That's not true at all! He finished up his BA in Linguistics, but decided not to pursue a Pharmacy degree, as he'd previously planned, and became a professional CART provider instead. He captioned for a few years in Seattle, then moved out here to NYC and has been an indescribable asset to the captioning scene here ever since. He's the one using Text on Top to caption me and Hesky at the Meetup. He also gave a live demo of Plover for PyGotham 2014 a few weeks ago (that's his Infinity Ergonomic in the picture at the top of the post), though we're not yet sure whether it was caught on video.

For those who like to live on the cutting edge, the inimitable Mike Neale of has released an experimental version of Plover (currently for Windows only) that incorporates a dictionary manager, retroactive formatting commands, and two realtime training tools called Stroke Helper and Brief Helper. Use at your own risk, but feel free to offer feedback at the Google Group if you do! Hopefully a stable release incorporating these features will be coming along fairly soon.

Learn Plover! has been fairly stable since my last update here, though we're still making minor adjustments and revisions as we get more input on it. Longtime friend and recent Plover fledgling Erika has put together an interactive browser-based drilling trainer using the one-syllable words found in the early lessons. She's working on expanding it, but it's already pretty useful even just in its early form.

Phew. Like I said, a ton of stuff has been going on, all of it pretty dang exciting. I pledge to do my absolute best to keep up with it from now on. In the mean time, check out all the stuff I've linked to in this enormous unwieldy behemoth of a post, and stay tuned for more news coming soon! I feel like Open Steno as a movement is poised on the edge of something big, and I can't wait to see what happens next.

Thursday, March 13, 2014

Two New Steno Tools

Two great new tools posted today to the Ploververse:

First, Russell offers StenoLearner, a beautiful little browser-based steno parser in the style of PloverDemo. What's great about it is that it offers suggestions (a la StenoTray) of shorter ways to stroke words after you've written or fingerspelled something, and those suggestions remain on the screen persistently (though you can also toggle them on and off). Also, there's a WPM graph, a "retractions" toggle to show words you've struggled with, plus it supports Qwerty, Dvorak, and Colemak. What a marvelous piece of work.

Second, Mike of the legendary has introduced a new application on his site: Text-to-Speech dictation. Just paste in any text you want, set the speed, and steno away. Definitely helpful for anyone who sees transcription, captioning, or other dictation-based work in their future.

Guest Post: Charles's DIY Steno Keyboard!

Recently Charles emailed me about the fantastic steno keyboard he's rigged up from scratch. It looked so amazing, I thought I'd ask him to write a guest post about the process. So here it is!

My Homemade DIY Steno Keyboard

Not having enough patience to wait for the Stenosaurus, I decided to make my own Steno keyboard. I was pretty happy with my modified Quickfire TK in most ways, but the offset between the upper and lower rows of keys was disorienting. Here is what that keyboard looked like just before I made my own.

Note that I removed unused keys because they were distracting. I found the pairs of keys that matched in height the best and placed them upside down in the top row to get them closer to their mates in the bottom row. Chords are easier to hit this way, but I still wanted the rows to line up.

I started by removing some mechanical keys from an old Kinesis keyboard that doesn’t work anymore. I experimented with drilling holes in a Radio Shack prototyping board and placing the keys. Then I bought a bargain bag of Cherry MX clears (white?) and after drilling the appropriate holes I hot-melt glued them to the board. I decided to wire each key to as separate IO pin on a micro-controller instead of using a matrix. It seemed simpler and it was only 23 pins. Here’s what the wiring looks like. It’s soldered, point to point, using wire-wrap wire.

I also bought key caps in two colors, black and dark gray, all the same size and shape. I installed the thumb keys sideways so that the AO and EU pairs would make comfortable chords same as the keys in the upper and lower rows. I also ended up placing the DZ keycaps sideways to get them closer to T and S. In  the next version I would probably use roughly the same spacing except to place the * and the DZ keys sideways and slightly closer to their neighbors.

I used an Arduino Mega as the micro-controller. I normally program only in Forth, but this project is so simple that I decided to try the Arduino IDE instead. I believe it took less than an hour for me to code and debug the application, which surprised me.

Here’s a picture of the finished board:

I used my understanding of the TX Bolt protocol, since I knew how to use a serial port but not so much about emulating a USB keyboard. Also I hoped that using a serial protocol would bypass the problems with the NKRO keyboard in Linux that were preventing me from using VIM. It turned out that I was able to use both the standard keyboard (in Dvorak layout for me) and the steno keyboard using TX Bolt at the same time without any trouble.

I tried simplifying the TX Bolt protocol in hopes that it would not confuse Plover and make my program easier to write and debug. Instead of using a variable length packet, sending only the keys that are pressed, I sent all four bytes in order every time, even if some of them are zero. The top two bits of each byte identify the other six bits. Always sending byte number four lets Plover know immediately that the stroke is finished, I reasoned, and this seems to be the case. I never bother sending any other bytes.

I’ve been very happy with this keyboard.  I would love to move on the next one. I would make it more compact, getting the micro-controller out of the way. It should have a case, both for protection and to make it more sturdy. I did bolt it to a piece of clear plastic from Tap Plastics, but I’d like to do better.

Finally, here’s a picture of the keyboard in action, editing a file with VIM in Linux on my laptop.

Tuesday, March 4, 2014

See Hesky Present on Steno at Nerd Nite, 3/14!

Long-time NYC Nerds might know that Nerd Nite is one of the best places to go for lectures, libations, and likeminded geekwads, with presentations focusing on all sorts of eclectic and intriguing topics. I've been to several, and always enjoyed myself enormously. Well, I guess steno is now officially interesting enough for nerds, because Hesky is going to be giving a presentation on how steno works, with me as his open captioner!

On Friday, March 14th, 2014, at 9:00 pm, there will be three lectures, and the third of them will be:

Presentation #3 Stenography: Thought-to-Text at 240 Words-per-Minute by Hesky Fisher & Mirabai Knight Description: Have you ever seen closed captioning and wondered how anybody can type that fast? Have you ever wanted to be able to type that fast yourself? If so, then you’ll want to learn about stenography. Join us for a tour of the surprisingly colorful history of stenography and get a crash course in how you too can learn to type at 240 words per minute! Also, as a demonstration of the topic, this talk will be live captioned. Bios: Hesky Fisher is a computer programmer working at Google. In his spare time he is the lead developer for Plover, the first open source stenography application. Mirabai Knight, CCP is a Certified CART Provider in NYC. she is the sole proprietor of StenoKnight CART Services and the founder of Plover and its parent organization, The Open Steno Project. Fun!

(The other two lectures are on brains and number distributions, which look fascinating in their own right.)

Buy tickets here! $14 for lectures plus trivia; $10 for lectures only.

Monday, February 24, 2014

Plover Presentation at NYC Accessibility Meetup

If you follow me on Twitter, you already know about this, but I figured I should post it here too: Hesky and I will be presenting on Plover at the NYC Accessibility Meetup today from 7:00 to 9:00 pm at Pivotal Labs, along with DIYAbility. I'll speak for 10 minutes on Plover's potential for various accessibility purposes, from conversational text to speech to captioning for Deaf and hard of hearing people, to the great potential in employing blind and low vision users of screen readers -- who have already honed their speech processing abilities to a very high degree -- as professional stenographers. So if you're in the city and free tonight, feel free to join the Meetup group and drop in tonight!

I'll also be demonstrating Plover with Vim, which I've been using exclusively in my day job for the past month and change (yep, quit the proprietary software cold turkey; nothing but Plover for weeks now, and not a single regret whatsoever! I love it, love it, love it.) There's a whole post in that, though, so I'll save it for later, perhaps with a video and a list of what-all I had to add to my vimrc. Stay tuned!

Thursday, February 13, 2014

Feedback Needed!

We've got three people asking for feedback from the Plover community!

First up, Josh is hard at work on the Stenosaurus, and in his most recent blog post, he gives us his working schematic of the design as it currently stands. He's definitely looking for comments from potential users before finalizing it, though, so if you've got any ideas, drop him a line.

The amazing Sveta from Audio Accessibility, a user experience expert, web designer, and accessibility consultant, is currently putting together a new consolidated website for The Open Steno Project, which should be much easier to navigate for potential users and contributors than the current sprawling tangle of links we have right now. She's put together a wireframe and is hoping for input from Plover users before refining it into HTML.

And finally, Boborama is working on a C-based sister/clone of Plover called StenoLite, and he's looking for feedback from testers, especially those with serial-based steno machines.

Any and all feedback welcome!

Tuesday, January 7, 2014

Plover v2.5.8 Released!

There's a new release of Plover, which improves CPU usage when in TX Bolt mode. Download it here!

Sunday, January 5, 2014

Gigantic Backlog Linkdump

As promised, here's a massive linkdump of Plover material that's accumulated over the past few months. Ideally I should have been parceling these out little by little, but I didn't, and that's that. In no particular order:

* A new version of Plover, v2.5.7. Feature and bugfix list here. Main exciting feature is that it's now possible to run Plover directly off a thumb drive, in "portable" mode!

* A version of Plover's default dict.json dictionary, but with Canadian spellings, thanks to the dauntless and multitalented Brent Nesbitt.

* Brent is also the man behind the amazing Android apps Steno Lookup and StenoIME. I've been playing with StenoIME (an Android keyboard replacement) quite a bit, and while it's still a little rough around the edges, it's an absolute joy to be able to use Swype-style steno on my phone and tablet. Steno Lookup allows you to search within the Plover dictionary from your phone, which is also quite useful, especially for beginners.

* Speaking of lookup apps, Brent's ridiculously handy StenoTray Java app has been given a bugfix and update from Marius van Voorden so that it's now able to match raw steno as well as translated steno.

* Stan Sakai's personal essay on how he became a professional captioner, including the role that Plover played in kindling his fascination with stenography.

* Plover Chord Cheat Sheet by Zack Brown (author of Learn Plover!), depicting all the chords and consonant clusters used in steno. Incidentally, Zack and I are still getting together on a regular basis to expand and refine Learn Plover! into a comprehensive guide for beginners. We're definitely in the home stretch now. Stay tuned!

* Take Four, a steno game by Kitlei RĂ³bert.

* Stenogogy, a new blog about the Plover learning process by Scott Johnson.

* Also a new Stenosaurus blog by Hesky, who's been helping to code the firmware for the Stenosaurus. Incidentally, while the Stenosaurus is still a ways away from starting its crowdfunding campaign, both Plover and the Stenosaurus together have amalgamated into The Open Steno Project. A new website with improved navigation design for new users is coming soon! The Github repository for both Plover and Stenosaurus can be found here.

Phew. I think that's finally everything. Enjoy the bounty of all this hard work from Plover's devs and users! The amount of awesomeness this community produces over the course of just a few months is nothing short of mindblowing. Thanks to everyone for a brilliant 2013! I can't wait to see what happens next.

Vim London Demo!

Yikes, it's been ages since I wrote on this blog. Many apologies; my day job wound up completely eating my life this fall, and everything else dropped by the wayside. I've got a huge backlog, so I'm going to post about this awesome Plover demo at Vim London on October 29th, and after that I'll post a massive linkdump of all the fantastic stuff that's been happening with Plover over the past few months. I'll do my damnedest not to let things pile up like this from now on.

Okay! Vim London!

The amazing Drew Neil and Emile Swarts were kind enough to show Plover off to the Vim London crowd.

First, Emile's demo:

(Transcript here)

A few comments:

Aren't chorded keys worse for RSI?

This is addressed a bit in Drew's talk, but the simple answer is this: When most people talk about chorded systems, they mean one-chord-per-letter systems such as the Twiddler. Obviously that's going to take more work than one-key-per-letter systems like qwerty. The difference is that steno is a one-chord-per-syllable system, which works out to about one chord per every six letters. Much more efficient. Also, problems like "emacs claw" happen when the hand is twisted into unnatural shapes on a repetitive basis. Steno keeps hands in a relaxed, neutral position by default, and doesn't require them to deviate more than a few millimeters from that home position.

And the way it's been engineered is -- mainly people with disabilities, who really can't type that fast.

That's not actually the case. The steno keyboard was originally designed for professional court reporters (who tend not to have manual disabilities, though there's a proud tradition of blind stenographers). However, I think there is definitely considerable potential in steno for people with various disabilities, which I address in my essay How To Speak With Your Fingers.

Next up, Drew's demo:

(Transcript here)

But you can type all of the alphabet with the right hand.

Drew meant left hand, not right hand. (':

Mirabai Knight, who's demonstrating here, she founded The Plover Project, and she can type at 240 words per minute.

Actually, I just got certified up to 260! Woo!

I absolutely loved watching these two videos. They make me incredibly happy. Many thanks to Drew, Emile, and Vim London! Be sure to check out Drew's Twitter account; he's been posting screenshots of his forays into writing with Plover, and they're all great fun.

For an extra dose of meta, here's a brief video of me using Plover in Amara to caption the videos above. Thanks to Mqrius for reconstructing the audio after the fact. You can see that this video is about 20 seconds off of true realtime, because I rewinded three times to correct errors while transcribing the audio, something that's extremely easy to do when using Plover with Amara; I just set KH-FG to {#Shift(Tab)}. It's great being able to do offline captioning without lugging a foot pedal around, the way I used to!

And here's an even briefer video of me using Plover to caption a lecture in Vim. The video quality is deliberately blurry, because this was actually taken at my day job and I don't own the content. But you can see how quickly the screen fills up when I'm actually writing in realtime.

The one thing that frustrates me when using Plover with Vim is that I can't seem to figure out how to keep it scrolling consistently; when the text gets to the bottom of the screen and I make a new paragraph, Vim wipes the whole thing and then starts the cursor again at the top of the screen. This isn't ideal for realtime captioning, because the client might want to consult the text in previous paragraphs. When I recorded this, I was writing to Eclipse (proprietary steno software) on my big laptop for my client, while simultaneously writing to Plover on my Surface Pro (thanks to my Infinity Ergonomic's dual Bluetooth outputs). I'd love to use Plover and Vim exclusively and retire Eclipse altogether, but unless I can figure out a way to get around that wiping/jumping issue, that might not be possible. Tips on hacking Vim to make it more steno-friendly are definitely welcome!