Saturday, April 13, 2013

Plover Lookup!

An extremely useful new tool has arrived on the Plover scene:

Plover Lookup!

It's a new tool by longtime Plover friend Zerk, brought about by this Aviary thread discussing how to decide which of the many steno outlines matched to a given word in Plover's default dictionary should be used by a novice steno learner. I made a canonical dictionary for Fly, Plover's Linux-only tutorial and drilling tool, but Zerk has upped the ante by including not only the canonical dictionary but also an automatically generated phonetic dictionary as well. It also lists strokes that aren't defined as canonical, alternate, brief, or phonetic, since none of us are patient enough to dig through and categorize the entire 160,000-word dictionary, and it's pretty impossible to write an automatic algorithm that can cover every intricacy of steno. I think this tool will help save a lot of new Plover users a whole lot of frustration. Thanks, Zerk!

Saturday, March 30, 2013

PyCon Video

Here's the captioned video of my PyCon talk.

Here's the page with the slides and the uncaptioned YouTube version of the video. Hopefully when I give the caption file to the people in charge of the videos, they'll upload it to the YouTube version so that'll have captioning too.

Saturday, March 16, 2013

Status of Current Tasks Page is Back

In preparation for my talk tomorrow, I've resurrected the Status of Current Tasks page on the Plover Wiki, which was pulled when the wiki went down a few months ago and which had fallen disgracefully out of date. It contains some of the top priority bugs and issues from the Github, plus ideas to improve and expand the Plover community in the categories of hardware, steno pedagogy, and general promotion of all things open source and stenographic. Go check it out, and if anything appeals to you, contribute!

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.

Thursday, February 28, 2013

Vote for Mel Chua and Help Plover Win $1,000!

Mel Chua has been an ally of Plover since pretty much the very beginning. She wrote a fantastic article on Plover for opensource.com, helped me with steno pedagogical theory, came up with the idea of using lasers to manufacture the keytoppers, and has just generally been an unending source of inspiration and awe. She's an engineer, hacker, teacher, dancer, writer, open source advocate, and visionary.

She's currently a finalist in Oticon's Focus on People Awards:


Click here to vote for Mel!

She writes:

"If I win the first place award, here’s what I’m planning on doing:

1. Using the $1k given to me to offset cochlear implant medical costs.

2. Giving the other $1k to Plover, an open source software project that brings the cost of live transcription (Communication Access Realtime Transcription, or CART – think “closed captioning for real life”) from $4000 down to $40. Making this capability cheaper and more widespread (it’s very rare right now) would open up a ton of accessibility doors to people who struggle to understand spoken English (maybe they have hearing loss, or they’re still learning English, or have auditory processing disorders, or need to multitask and watch kids or cook dinner and are floating in and out of the conversation). It’s being developed by a tiny, tiny group of very excited volunteers and needs all the help it can get!

3. Working with the audiology department at Purdue University, where I’m a PhD student (in engineering), to use the hearing instruments for labs and demos to educate more students about hearing technologies."


So if she wins this contest, not only will she get $1,000 to help her pay for cochlear implants, but she'll give $1,000 to go towards development of Plover! Please vote and boost the signal. Mel is one of the most amazing people I've ever met. The Plover Project is incredibly lucky to have her on its side.

Please click here to vote for Mel!

Thursday, January 31, 2013

TX Protocol Splitting Fix?

I don't know how many people have tried using Plover with the TX Protocol, but at least a few have reported that strokes get split apart. (It's a registered issue on our Github).

Hesky's attempted to write a fixed version, which can be downloaded here.

He writes: "Unfortunately, I haven't been able to reproduce the bug on my own but I've made a change that may fix the problem. If you've been experiencing splitting while using txbolt protocol with your machine, then it would be a great help if you would try this version of Plover and let me know if it fixes this problem."

If you've got a TX protocol machine, please give it a try, and let us know whether it fixed the problem. If not, more details on exactly how the splitting is happening would be very helpful.

Saturday, January 26, 2013

Steno 101 Lesson Four

Steno 101: How to Do It
Steno 101: Lesson Zero
Steno 101: Lesson One
Steno 101: Lesson Two
Steno 101: Lesson Three
Steno 101: Lesson Four

Sorry this is so overdue. I've been waiting for the just-in-time dictionary entry feature to be coded, because there's not much more Steno 101 stuff I can write without it in place. Pretty much all the rest of the stuff I want to teach you about steno involves defining your own entries, and currently the text editor-based method of doing that is just too slow and clunky. Hopefully the wait won't be too much longer. But I realized that there was one last little thing I could teach you before we're really gonna need that feature: Numbers.
You'll notice that if you press both the number bar and another key on the top row of the steno machine (for Sidewinder users, that's any of qweruiop (plus c and v; more about that later) combined with any of 1234567890), you get a single digit number. Here's the map of how that works:

STPH AO FPLT
1234 50 6789

You don't have to hit the number bar key directly above the letter you want, though that’s usually the easiest way to make it work. If you're using a Sidewinder (with or without laser keytoppers), you just sort of rock the flat pads of your finger down so you're hitting both keys at once with a single finger. The thing with the number bar is that it's basically a toggle switch. All of the number bar keys are identical, and you can press as many of them as you want at a time, but all that matters is that at least one of them is pressed at the same time as one of the top row letters. What about A = 5? And O = 0? Yeah, that seems a little strange, but it actually works quite well. See, steno lets you write as many numbers in one stroke as you like, but it always renders them in steno order. So in a single chord you can write:

123456789 (Number bar, which is usually rendered # in steno code, plus STPHAFPLT)
14578 (#SHAPL)
3569 (#PAFT)

Et cetera. Using the thumb for 5 gives you a finger for all 9 digits. O for 0 comes in surprisingly handy too; it means you can do any two digit multiple of 10 in a single stroke:

10 (#SO)
30 (#PO)
50 (#AO)

But wait -- what happens if you do O plus a number on the right side? Huh. Instead of multiples of 10, you get...

06 (#OF)
08 (#OL)
09 (#OT)

So how do we do multiples of 10 between 60 and 90? Using our friend the inversion toggle. That's EU. Now, this isn't built into Plover; it's a dictionary hack. All the necessary definitions are in the Plover dictionary, but if you're using a different dictionary, you'll have to paste in the entries from that file I mentioned above to make it work. When you add EU to any number, it reverses their order.

60 (#OEUF)
80 (#OEUL)
90 (#OEUT)

It works for all two-digit numbers; not just multiples of 10.

45 (#HA)
54 (#HAEU)

37 (#PP)
73 (#PEUP)

29 (#TT)
92 (#TEUT)


Okay, what about if you want to do numbers longer than two digits? Numbers have a special property in steno. Like the letters you use for fingerspelling (A*, PW*, KR*, etc.), they're what's known as "glue strokes", meaning that when they're written next to another glue stroke, they stick together, but when they're written next to a non-glue stroke, a space is added between them as if they were ordinary words. So if you write:

EU/AEUT/#H/#TF/TPHRABGS/SAOEDZ/TP-PL

It comes out:

I ate 426 flaxseeds.

That will work for any combination of letters or numbers written in a row. If you want to write numbers or letters that don't stick together, you'll have to insert a space manually.

U/K-/SR/ELG/#S/S-P/#S/OEU/#L/PAOEFS/-F/PAOEU/TP-PL

You can have exactly 1 1/8 pieces of pie.

S-P corresponds to "insert a space", and OEU is the stroke for {^/^}, which is not a glue stroke, but a conventional delete space stroke, meaning that anything you write to the left and right of it will be joined to it without a space. Similarly, you can use P-P for {^.^}, which works as a decimal point (it's also useful for adding the ".com" to URLs), *RBGS {^,^} for commas in numbers, and H-PB for {^-^}, which gives you a hyphen. And you can use TK-PL for {$^}, which will insert a space before the dollar sign but stick it without a space to anything following.

There are a few other cool things you can do wit h numbers. Adding a -D to a single digit will double it:

33 (#P-D)
55 (#AD)
66 (#FD)

Adding -Z will tack on two zeroes:

300 (#P-Z)
500 (#AZ)
600 (#FZ)

And adding -DZ will tack on two zeroes plus a dollar sign:

$300 (#P-DZ)
$500 (#ADZ)
$600 (#FDZ)

Examples:

406-549-0734 (#HOF/H-PB/#A/#HT/H-PB/#OP/#PH)
3,218,106 (#P/*RBGS/#T/#SL/*RBGS/#SOF)
$48.86 (TK-PL/#HL/P-P/#FEUL)
33/8 (#P-D/OEU/#L)

I've also recently started doing Roman Numerals by adding R to single digits.

IX (#R-T)
VIII (#R-L)
XII (#ST-R)

And you can use "TWOUPB" to add {200^} to single digit numbers when you want to write years.

2006 (TWOUPB/#F)

Now, some steno schools don't teach the number bar at all. Instead they teach students to write everything out in words:

one (WUPB)
two (TWO)
three (THRAOE)
four (TPOUR)
five (TPAOEUF)
six (SEUBGS)
seven (SEFPB)
eight (AET)
nine (TPHAOEUPB)
ten (TEPB)
hundred (HOEUPB)
thousand (THOEUPB)
million (PHOEUPB)
billion (PWOEUPB)
trillion (TROEUPB)

And use their proprietary steno software to automatically translate, for example,
One hundred twenty-eight (WUPB/HOEPB/TWEPBT/AET) into 128

I'm afraid that Plover doesn't support this capability, and it's not a high priority for our developers to implement it, so don't hold your breath. You can write the words; most style guides suggest using words rather than numerals for one digit numbers in speech. But if you want the digits, you'll have to write the digits manually using the number bar.

So that's about all I've got to teach you about numbers. It takes a bit of practice to internalize them, but once you do, you'll find that the number bar is an incredibly useful addition to your steno arsenal.