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.