Karabiner for Mac

Found this powerful little free app a while back called Karabiner, formerly KeyRemap4MacBook. Since I replaced my MacBook Pro’s DVD drive with an SSD last year (and breathed new life into my aging MBP by installing the OS and applications on the SSD, with data on the original HDD), I no longer had a use for the MacBook’s eject button and decided to remap it to display the Notifications sidebar instead, which Karabiner allows me to do – very convenient.

I also spend a lot of time in Microsoft Remote Desktop for Mac, and I’m frequently frustrated by the whole Command/Control modifier key issue – Command+C in OS X is Control+C in Windows, etc. Karabiner allows you to remap the Mac Command key to the Windows Control key, but their settings are universal (within RDC), which means you can’t use Command+Q to quit RDC or Command+Tab to use the Mac app switcher (to name just a couple of keystrokes that become unavailable). I only wanted to remap a handful of keystrokes, such as Command + A, X, C, or V, to their Windows equivalents.

Fortunately, Karabiner has a private.xml file where you can define your own remaps. The app’s website already has instructions on how to edit this file (https://pqrs.org/osx/karabiner/xml.html.en), so I won’t repeat them here. Instead, I’ll just post my current private.xml below. It has only the limited keystrokes above, and apply only to RDC. I may add more later if I find another way to make doing my job easier. (I have 73 remote desktop connections configured, and that’s only on the Mac. I have at least a dozen more I can only access via my Windows virtual machine because the VPN software the client uses isn’t available for Mac. I spend a LOT of time in remote desktop.)

~/Libaray/Application Support/Karabiner/private.xml:

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>RDC</appname>
    <equal>com.microsoft.rdc.mac</equal>
  </appdef>
  <item>
    <name>Remote Desktop Copy/Paste (RDC only)</name>
    <appendix>Change Command + A, V, X, and C to Ctrl + A, V, X, and C</appendix>
    <identifier>rdcfkeys</identifier>
    <only>RDC</only>
    <autogen>__KeyToKey__ KeyCode::C, ModifierFlag::COMMAND_L, KeyCode::C, ModifierFlag::CONTROL_L</autogen>
    <autogen>__KeyToKey__ KeyCode::V, ModifierFlag::COMMAND_L, KeyCode::V, ModifierFlag::CONTROL_L</autogen>
    <autogen>__KeyToKey__ KeyCode::A, ModifierFlag::COMMAND_L, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
    <autogen>__KeyToKey__ KeyCode::X, ModifierFlag::COMMAND_L, KeyCode::X, ModifierFlag::CONTROL_L</autogen>
  </item>
</root>

Once you make changes to private.xml and click Reload XML, your custom settings show up at the top of the list:

Karbiner

Outfoxing Firefox

fooling-firefoxI don’t like automatic updates, and I especially hate forced updates. Recently, Firefox started disabling all but the current version of Flash. I understand the reasoning: Flash is buggy and insecure. I’ve never been a fan of Flash; I actually hate Flash, and I use a Flash blocker extension to keep it from loading automatically. But I upgraded on January 15 because Firefox insisted, and now Firefox is insisting again.

That was the last straw. If it were as simple as clicking a button – like upgrading an extension – then I wouldn’t have a problem with it. But with Flash, you have to go through this tedious update process: Go to their website, download a 15 megabyte installer, quit all your browsers, mount the disk image, launch the installer, unmount the disk image, trash the disk image, restart your browsers. And this is every. single. time. they release an update. I went through this two weeks ago – I’m not doing it again right now.

So I went in search of an alternative. With every other plugin, Firefox allows you to use outdated versions. Flash is the only one where you’re not allowed to override this behavior anymore – they’ve taken that option away from power users. (Mozilla’s recent populist attitude is prompting me to seriously consider ditching Firefox, but that’s a post for another time.)

In this time, there’s a workaround to fool Firefox into thinking you have a newer version of Flash installed. The instructions below are for Mac OS X 10.10 Yosemite and should be similar on other versions of Mac OS X. I have absolutely no idea how to do something comparable on Windows, nor am I inclined to look. (Also, if you can’t follow the instructions as written below, then you’re not a power user – you’re the type of person who should be forced to update.)

  1. Browse to /Library/Internet Plug-Ins/.
  2. Right-click “Flash Player.plugin” and choose Show Package Contents.
  3. In the Contents folder, open Info.plist in the plain text editor of your choice.
  4. Find the key/value pair below, and change the version to something higher:
    <key>CFBundleShortVersionString</key>
    <string>16.0.0.257</string>
  5. Save your changes and restart Firefox. (You’ll need administrator access to save the file.)

As you can see in the screenshot at the beginning of this post, Firefox now thinks I have version 25 installed. It’ll be years before Firefox automatically prompts me to upgrade (unless their developers decide to work around this, in which case I’ll look for another alternative – up to and including dumping Firefox). That doesn’t mean I’ll never upgrade Flash again; it just means I’ll upgrade on my own schedule – not Firefox’s and not Adobe’s.

 

Capitalism at work

breatheI’m frequently disappointed by the greed that American-style capitalism breeds. A woman in Waukegan – a far-north suburb of Chicago – wants to make money off the recent choking death of Eric Garner by a New York cop. She’s filed a trademark claim with the USPTO for exclusive use of the phrase on clothing.

Does she realize how embarrassing this is, not just for her but for all of us? Commercialism is the antithesis of all these equality movements happening in the US right now. To behave like this is…shameful. And sad.

Nik Wallenda walks the…rope

Since I live in the building he started both his walks from, there was a reserved area for residents to watch from AMA Plaza right across the street. I stood out in the cold for two hours, woefully under dressed and in desperate need of a toilet – for a walk that took barely 5 minutes. My video clip – taken with my iPhone 6 – sucks, but at least it proves I was there.

I think it was a stupid stunt, not to mention selfish (if he had fallen, thousands of people, including young children, would have had permanent memories of watching him die). But it was still exciting to see, and it put Chicago – and my building – in a good light.

Look at this beauty

Bell-pepper-ripe

I planted one bell pepper plant this year, and it produced a single fruit. With the mild, dark summer we had, it took almost three months for it to ripen. It was worth the wait, though. I sliced it up and ate it raw on a bed of baby spinach with some mushrooms and fresh peaches I picked up from the farmers market this morning, plus the last of the tomatoes from my own plants, all tossed with a lite vinaigrette of mustard, balsamic vinegar, and olive oil.

The tastiest dinner I’ve had in a while. It’s very satisfying eating food you’ve grown yourself.

And that’s pretty much the end of my edible garden this year. The parsley and thyme plants are still thriving, but I’ve now uprooted the tomato and bell pepper plants for the winter. The ornamentals won’t be far behind – autumn has been relatively mild so far this year, but we’re fast approaching winter.

Depending on what the weather looks like in the spring, I may forgo the edibles next year and stick to flowers and herbs. My balcony gets a maximum of six hours of sunlight a day, and that’s on a clear day – we don’t get many of those in Chicago. I’ve been frustrated all season by clear mornings – when the sun’s on the other side of the building – and cloudy afternoons, when it should be hitting my balcony.

If I could just figure out how to cover the concrete floor of my balcony with grass, I’d be okay with buying all my food from the farmers market.

We didn’t start the fire

nofireChicago had it’s first “fire festival” last night, commemorating the Chicago Fire of 1871. I don’t really get it, but I’m all for anything that can be used as an excuse to have a party – especially when there’s a big fire involved.

Only, there wasn’t. The “house” above was one of three on barges in the middle of the river that were supposed to be reduced to ashes during the ceremony. I took that picture this morning. The other two look pretty much the same.

I was watching with my neighbors up on the roof of my building. It was supposed to start at 8 p.m. After an hour of waiting, we all gave up. Yesterday’s high was only 46 degrees and we had snow flurries the night before. Some idiot in city government decided October was a good time to drag people outside and make them stand around in the cold for hours to see…something that never happened.

What went wrong? My guess is three days of rain. The barges have been sitting on the river since Tuesday (I watched them pass my building from my balcony). Apparently, when it started raining on Wednesday (enough that the riverwalk construction flooded yet again), no one thought to cover the barges with tarps to prevent the wood from becoming saturated with water. I know 8-year-olds who could tell you that wet wood doesn’t burn.

You’d think, with Chicago’s previous fire experience, we could a pile of wood to burn. If nothing else, douse the damn thing with gasoline – this is arson, after all. They want to make this an annual “cultural event.” I don’t see that happening after this year’s fiasco. I certainly won’t be standing on the roof in bitter winds on a near-record-breaking-cold night to give them a second chance.

Finally

 

bell pepperThe one bell pepper my plant has produced this year is finally turning red. It’s taken 2 months to reach this point. When it finishes ripening, I’m eating the damned thing raw!

Hope I don’t have to pick it before it ripens. Supposed to drop into the 30s tonight with a “slight chance of snow.”