FrameMaker and the Kinesis Advantage Keyboard

Because of RSI, I use a Kinesis Advantage keyboard. I used the Microsoft ergonomic keyboards for a while, but I’d burn one out every year, and the membrane keys are a bit mushy. I went whole-hog and spent the money on the Kinesis, which I don’t regret at all, except for one thing: the function keys. The F-keys and Esc are little rubber chicklet keys reminiscent – I’m dating myself here – of the Atari 400. And when you’re in FrameMaker and doing some heavy formatting, those keys are essential.

You can remap keys in the Kinesis at the keyboard level, but I switch between Windows and Mac machines through a KVM switch, so I wanted to avoid that. Instead, I use AutoHotkey, a nifty little free Windows utility that enables you to easily remap keys at the OS level.

Head over to and grab a copy. My AutoHotkey.ahk has the following entries for FrameMaker:

Home & 5::Send, {F8}
Home & 6::Send, {F9}
End::Send, {Esc}

I don’t use the Home and End keys much, so I stole them for my own use. On the Kinesis, they are in my left thumb cluster, and great for frequently-used combo keystrokes. So I map:

  • Home-5 to F8. That opens the character designer.
  • Home-6 to F9. That opens the paragraph designer.
  • End to Esc. I use Esc constantly for Frame shortcuts, most notable Esc-j-j to repeat a paragraph assign, and Esc-c-c to repeat a character assign.

AHK can do a lot more stuff, like assigning keys to modify and paste the clipboard, run macros from DLLs, and more. If you have a highly repetitive text massage job you can’t tackle in a script, check out the advanced options. But it’s easy to use for a few quick remaps.


Adjusting Mic volume from the command line in Windows

I spend a lot of time in meetings on a USB headset. I have a Windows computer. So every day, multiple times a day, here’s the drill:

  1. Plug in headset.
  2. Mic volume is a random number.
  3. Right-click Sound.
  4. Wait for the right click to register, because half the time it doesn’t, and the lag is horrible.
  5. Select Recording Devices. See last step about lag.
  6. Click Microphone.
  7. Click Properties.
  8. One in ten times, this will cause the control panel to gray out and freeze, so wait five minutes and/or force quit it and start over.
  9. Click the Level Tab. (It’s not the first tab, so this takes ten seconds to scan.)
  10. Change the level back to 100.
  11. Click OK.
  12. Click OK.
  13. Feel the great joy in knowing you’ll have to do this three or four more times that day, which adds up to like 18 months of your life.

The same process on a Mac:

  1. Plug in the headset. It remembers what you had the level set to the last time it was plugged in.

There is a great way around this. It’s called NirCmd, and it’s a great little free Windows command-line executable that enables you to do all sorts of weird things from a command prompt or batch script.

Go grab a copy of it at the above link. The first time you click on the exe, it will ask to copy itself to your Windows directory, and then it’s in your path, ready to go. Create a .bat file like this:

nircmd setsysvolume 65535 Microphone

Each time you put in your headset, run that, and you’re good to go.

Nircmd also has some commands for shutdown/reboot/standby/logoff if you are sick of digging in the Windows menu for those commands.

REST API Doc article

I think the big problem with API docs is what to document. And it usually ends up with a comment per method, where you have “createFoo = creates a foo; deleteFoo = deletes a foo” and no real content. The question always becomes “well, what else?” And the real value of API docs is everything in between, the things you can’t infer by just looking at method signatures.

The following article is a good list of the other things you need to cover. It talks specifically about REST, but holds true for other API types, also. The TL;DR: what does a consumer need to know to actually use this API? How do you do auth? What are the business uses? What standards does it really follow? What are the other gotchas? What are the SLAs or other requirements for the service?

The hoarding of 25,000 manuals

I started tech writing right around the time print was dying. My first job involved writing software documentation as a manual and as WinHelp, and it all went electronic after that. I also briefly wrote for print books about Linux and Emacs. So I have a box with versions of those manuals, and that box has bounced across the country with me, and is currently sitting in a storage space I never visit. But I always think about that chunk of print in storage, and what the end game is there. As I get new pieces of electronic junk in my life, I try to save the PDF versions of the manuals and get rid of the paper, but there’s a certain something about the print versions, too.

Anyway – Jason Scott of the Textfiles web site recently ran into a seller of manuals who was going out of business and was going to junk an insanely large archive of print books. It’s an impressive collection of old print books going back to the 30s, apparently old radio equipment or parts manuals and whatnot. The owner gave him carte blanche to grab whatever he wanted, and he’s currently stuffing everything he can into a storage space for later dissemination.

Check out the photos of the effort – this is some real print manual pornography, if that’s your sort of thing:

There’s also a paypal to help him cover the costs of storage and shipping and whatnot, if you want to chip in a few bucks for this massive effort to save some classic dead trees.

Removing the Adobe Update Installer from the Mac menu bar

So at some point, Adobe Creative Cloud added a second notification to the menu bar on my Mac. There’s already one that opens the CC app, and always sits in the menu bar. And everyone else wants something in the menu bar. But Adobe started showing this second icon, with a perpetual 1 next to it, even if there were no updates, and all it does is open the first one. No combination of preference-toggling would make it go away, and neither would quitting CC.

Here’s what I had to do:

  1. Quit Creative Cloud.
  2. Rename Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud to Creative CloudX.
  3. Go to the new weird menu bar thing and select Open Updater.
  4. You’ll see the old Adobe Updater. If you see the new CC app, you did 1-3 wrong.
  5. Go to Preferences and and turn off Notifications.
  6. Un-rename the file you changed in step 2.
  7. Start the CC app.
  8. You probably have to repeat this every time Adobe issues an update, which will be in like five minutes.

Apple and google account with two-factor security not working

So you’ve done something, and the Notes app on the Mac won’t log in to Google anymore. It will sit and spin on a “logging in” forever.

Oh, and you’ve also just turned on two-factor auth in Google.  Well, that’s the problem.

Google considers Notes to be a “less secure” app, and it won’t work with two-factor. What you need to do is create an app password, and then it will.

See also

(Not saying two-factor auth is the problem. In fact, you should probably use it for everything.)

Making Yosemite Readable

I resisted the upgrade to Yosemite, even though I have a pretty new mid-2014 MacBook Pro, because I’d rather let someone else beta-test things before I upgrade. When I finally did upgrade, I noticed a problem: my eyes were killing me.  Granted, I’ve put a few hundred thousand miles on my eyeballs over the last few decades, but this was a sudden and marked problem.

I think there are a few things going on here, but the big two are the layout and the font. There’s a lot more brightness and transparency in the general look and feel of the layout. And Yosemite switched system fonts, from Lucida Grande to Helvetica Neue. They’re both sans serif fonts, but for whatever reason, the Helvetica taxes my eyes way too much.

I was reluctant to do anything. I hate customizing my system, because then when I change computers, I have to re-remember everything I configured, and I don’t want to be one of those people that has a freaky version of Windows 8 that’s customized to look like Windows for Workgroups 3.11 with a yellow on pink interface and the fonts in Papyrus, and if I can’t get that, I can’t work.

But, anyway, here are a few fixes I messed with:

  1. Select System Preferences > Accessibility > Reduce Transparency (This is true by default if #3 below is also true. This can also allegedly speed up UI lag.)
  2. Set System Preferences > General > Appearance to Graphite
  3. Select System Preferences > Accessibility > Increase contrast.
  4. I don’t do this, selecting System Preferences > General > Use dark menu bar and dock might be to your preference
  5. Change the system font back using this:


Photoshop CC Keyboard Shortcut Cheat Sheet

It seems like the days of cardboard key templates are over – they were a huge thing back in the old days when I started as a consultant in the computer labs back in college. Most of the cool kids would memorize everything, but more of the “returning” students would overlay the laminated cut-outs over the function keys for WordPerfect or Lotus 1-2-3.

Anyway, I’m only an occasional Photoshop user – touching up screenshots, and making dumb collages of friends’ heads I post on Facebook. So I never remember anything. Here’s a great download for Mac users of Photoshop CC. (There’s also a Windows version mentioned.)

Blank Markers in FrameMaker

Here’s a FrameMaker problem I had once on a 64-bit Windows machine. I don’t remember having it on my next Win7 machine, but I’ve seen it more than once.
The problem: the marker symbols were missing. These are the little “T” symbols you normally see when you insert a cross-reference or an index marker.
The solution: I did not have the fm5font.ttf font installed. I don’t know if the installer skipped it, or I did an install when I was supposed to upgrade, or I was just holding it wrong.
You can find this font in C:\Program Files (x86)\Adobe\AdobeFrameMaker10\fminit. Double-click it to install, then reboot.

Read the Docs

Here’s something neat I found recently, while looking for some api docs. It’s been around for a while, but you might not have seen it if you don’t work with Python much.

Check this out:

It’s a documentation repository, and you can find docs for a lot of Python projects there, in one searchable place. And you can host docs for your own project there, too.

But what’s neat about it is you can author your docs in reStructuredText or Markdown, and have them built for online reading, or as an ePub or PDF for download. You can import docs from source control systems like git or subversion, and use hooks to automatically rebuild every time you push code.

This is a pretty cool project with a lot of other features, and totally free, although you may want to help them out with a few bucks, too.