Fixing Cmd-T

Have you ever hit ⌘T and had the worthless “Fonts” dialog popup instead of what you intended to happen? To me “T” means “Tab” or “tags” depending on the application.

World's most unwanted dialog.

One example where I wanted “tags” instead of looking at the above dialog, is Evernote. So finally being fed up with the expected result of what ⌘T should do and what it was doing by default, I edited the keyboard shortcut.

This tip works across all OSX applications and it can really help out when an application doesn’t allow a shortcut to be defined.

Go into “Preferences” then “Keyboard”. At the top, click “Shortcuts”. On the left side, click “App Shortcuts”. Then click the “+” at the bottom of the right pane and add something that looks like this:

Keyboard shortcut for Evernote

One caveat here is that you must match the menu command exactly as it appears in the application. If it is a subcommand, you just enter the menu item (i.e. no prefixes are needed if it’s in “Edit > Styles”).

Yasiin Gaye: The Departure

I found this album through a co-worker a few weeks ago. It’s really quite good. The “Soul Mates Project” has a few other albums that are worth checking out if you like this as well.

If you’re curious what this is about, here’s a description from that site.

Amerigo Gazaway’s *Soul Mates* series continues the theme of his previous work in creating collaborations that never were. On the series’ latest installment, Amerigo unites Brooklyn rapper Yasiin Bey (Mos Def) and soul legend Marvin Gaye for a dream collaboration aptly titled “Yasiin Gaye”. Building the album’s foundation from deconstructed samples of Gaye’s Motown classics, Gazaway re-purposes the instrumentation into new productions within a similar framework. Carefully weaving Bey’s tangled raps and Gaye’s soulful vocals over his new arrangements, the producer delivers a quality much closer to an authentic collaboration than a lukewarm “mashup” album.

Project filters in OmniFocus

working-better-with-omnifocus-feature-img@2x

It’s a rare occasion when I change my project filter to something other than “Remaining.” Earlier this week, I had such a rare occasion. I guess I have never noticed the other filters beyond “Remaining” and “Active.”

Project filters in OmniFocus

After toggling between “Stalled” and “Pending” a few times and not seeing any projects appear, I got curious as to what those filters do. The answer was in the manual but I didn’t find it as obvious as I would have thought it’d be.

The criteria each selection filters on are:

  • Active – not on hold, completed or with future start date
  • Remaining – not completed or not dropped
  • Stalled – without any available actions
  • Pending – all with future start dates
  • On hold – status of “on hold”
  • Completed – status of completed

From the OmniFocus manual:

You’ll probably want this to be Active most of the time, so you can see only the projects you’re working on now. You can also choose Remaining (projects that haven’t been completed or dropped), Stalled (projects without any available actions), Pending (projects with start dates in the future), On Hold, Dropped, Completed (projects you have marked with these statuses), or All.

Gists are Awesome

After an esteemed colleague sent an article about someone using gists as task lists, I thought it was about time that I publicly profess my love for the gist.

Gists are more or less limited Github repositories. According to GitHub, a gist is:

Gist is a simple way to share snippets and pastes with others. All gists are Git repositories, so they are automatically versioned, forkable and usable from Git.

A gist really excels when you need to share code with someone else. You pick up a lot of the benefits of normal repositories in addition to having it be highly disposable.

Creating a gist is as simple as going to gist.github.com and adding your content.

Forking

One of the differences between a gist and a full repository is that a gist that I create cannot be pushed to by you. Of course, you can clone it and commit locally, but when you try to push you’ll receive an error. This is regardless of whether the gist is private or public.

If you want to alter another persons gist, you must fork it and then clone & push to a gist that you own.

Clone, Pull, Push

In addition to the web interface, you can interact with gists through the command line.

# Clone a gist via SSH
git clone [email protected]:db53f70d54055e3fe5f3.git gists_are_awesome

Now if we change anything in that gist, we can push it back to GitHub.

# Commit the change
git commit -a -m "Updating post."

# Update gist
git push

Branches

You can also create branches (and push them to back to Github). I did a little bit of experimenting for this post and it doesn’t appear that you can view any branch other than master on the web interface. With that said, those branches are still available when cloning the gist.

# Make the branch
git checkout -b test-branch

# Push it
git push

Further usage

While I like the ubiquity of the web interface, I find having to open a web page an unnecessary step if the right tools are close at hand.

IDE

If you use Sublime (2 or 3) another wise move is to grab the gist plugin. Once it is setup, you can create a gist from a file or selected text in 2 keystrokes. The gist URL is copied to your past buffer automatically too. I find this makes sharing code a life saver.

Command line

I highly recommend grabbing the gist Ruby gem. It works both on the command line and in Ruby programs. I’m not a Rubyist – so I use it primarily on the command line.

Do you have any interesting ways of using gists? I’d love to hear about it.