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:

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:


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.


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)


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)

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)
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.

Monday, January 14, 2013

Steno Alphabet Posters

I linked to the final version of the steno alphabet diagram back in November, and now I've finally got a cleaned up version of the same information in alphabetical rather than pedagogical order:

As I mentioned in the other post, I'm currently working with In a Flash Laser, the company in charge of The Plover Store, to get nice printed posters available for sale, along with some nice new Plover swag like laser-engraved coffee mugs and flash drives preloaded with the latest source from Github. (A live portable version of Plover would be even better, so you could carry the flash drive and your n-key rollover keyboard around with you and use it from any terminal, but I'm afraid that hasn't been coded yet.)

So in order to figure out exactly what we should look for in terms of poster printing options, how many of you would want to purchase a professionally printed poster, as opposed to just downloading the jpgs and printing them yourself at home (which, of course, you're perfectly free to do). If you do want to buy a poster, what size would be most useful to you? And would you be more likely to get the one in pedagogical order, the one in alphabetical order, or both? Finally, what's the top end of what you'd be willing to pay for such a thing? Any and all opinions very welcome. And if you've got any other ideas for stuff to offer in the Plover Store, please feel free to mention them in the comments. The Store takes a small cut of items to fund Plover development, but its main purpose is to get Plover-relevant stuff out to interested people as quickly and simply as possible. I'm hoping that once we get that crucial just-in-time dictionary entry feature coded (currently under review by a new contributor to the project) and after we get a signal boost from PyCon, we'll be selling keysets and steno charts like so many efficient little ergonomic hotcakes.

Sunday, January 6, 2013

UK Spellings Dictionary

The fantastic hackers on the Plover Google Group have done it again. After a user in Australia requested a version of Plover's default dict.json file with UK/Australian/Canadian spellings, they came through in a matter of minutes:

So if you've been annoyed or frustrated by Plover's American-centric dictionary, or if you're just a shameful pretentious Anglophile (like me), now you can enjoy your open source steno* lexicon entirely Yank-free. Many thanks to Rob and Hesky for their lightning-quick delivery!

*No, we still don't support Palantype. Maybe someday. Then again, maybe not. (';