20 Apr 2013

Increasing Productivity with Shortcuts

[caption id=“attachment_582” align=“alignleft” width=“500”] By: Dennis Hamilton[/caption] I’m writing this to the incessant tick-tock of a digital Pomodoro, which seems fitting as this post will discuss productivity hacks. We won’t be talking about run of the mill ones. I won’t berate my readers to modify their ‘/etc/hosts’ file in order to route Reddit or Twitter to localhost. No, these are real habits that help me be happier and more productive with the time that I spend on a computer.

Pre-Hack Step

Have a goal. Know where you’re heading and why. Act intentionally. This has been driven home to me by my own experiences in life. Recently, I’ve been reminded of this concept by the wonderful book, 7 Habits of Highly Effective People. In it, the author paints the picture of chopping through a forest without knowing what cardinal direction one is following. If you’re trying to learn a new technology, set actionable goals for yourself and talk about it with friends and colleagues. If you’re working on personal relationships, admit that to yourself and push yourself to be better.

Technological Hacks

  • Make everything a shortcut. I accomplished this by following Steve Losh’s article On the Cadet Keyboard. I configured my MacBook Air’s keyboard to use the right Alt key as a hyper key (a chord combination of 4 modifiers). This yields a unique key namespace for setting up non-conflicting keyboard shortcuts.
  • Use a program like Keyboard Maestro or BetterTouchTool to setup shortcuts for all of your regular programs. For me these are iTerm2, Chrome, Finder (or alternative), ThinkingRock, Email Client etc. My terminal is never further away than a HyperKey-T and possibly a Cmd-N to create a new window.
  • One keyboard shortcut that stands out on my system is a keybinding via Sparrow’s preferences. The combination alternately brings Sparrow to the front, or hides it. This is amazingly useful in order to not lose as much energy in context switching. In a matter of 4 seconds and by mashing the same key combination twice, I can check on a new email and then relegate Sparrow to the background.
  • Make great use of Alfred.app! Use custom searches for common items (ie Google search becomes “g searchterm”, note that this is built into Alfred). Add your own shell scripts for common tasks, ie checking for information on a public website via a prefilled URL. Use Alfred to execute regular shell commands by prefixing the command with a “>”. For example, I added a Ruby script to my ‘~/bin’ directory that sends an email to my dedicated GTD account. I access the script from Alfred, fire off a note for later, and am back to my current task without much distraction. This is a great way to keep your mind empty and receptive (just make sure to process the GTD tasks in a timely manner). Have more productivity hacks? I’d love to hear them in the comments below or via Twitter @_ZPH. I’ll post at some point about my experiences with the Pomodoro technique, but at this point it’s too early for me to comment.

03 Mar 2013

A Week with ThinkingRock GTD

[caption id=“attachment_529” align=“alignright” width=“300”] By: Thomas van de Weerd[/caption]

The Good

My first week with ThinkingRock has gone REALLY well for adding tasks. I sit at the computer for much of the day and when a GTD task comes to mind I dump it via Cmd-Space GTD "description of task".

The Bad

Having a very efficient system for adding tasks paired with a HORRIBLY inefficient method of processing tasks causes my GTD Inbox to overflow.It’s like having a firehose flowing at full strength and routing it into a gardenhose.

The Analysis

The method that I’m using for adding tasks is very well optimized and uses a decoupled system. Being able to send emails from any device and having the subject and content dropped into ThinkingRock as a pending task is GREAT. When I go to sort the tasks, I’m stuck with a system that very literally follows GTD principles, but doesn’t have sufficient keyboard shortcuts. Processing 35 items by tabbing through textboxes and radio boxes isn’t my idea of an efficient system. It also makes me wonder if other people are painstakingly mousing through the interface.

The Answer

Dig into the source files for ThinkingRock and add enough keyboard shortcuts to “get things done”. I started this yesterday on the plane to California and I’ll post back when I have a chance to work on it more. Given that I don’t know any Java (other than a session at the LeanDog CodeRetreat with Steve), this will be an interesting challenge :).

23 Feb 2013

Benchmarking GTD

[caption id=“attachment_533” align=“alignright” width=“300”] By: Rubbermaid Products[/caption] I’ve been working with RescueTime for the past week and I’m VERY happy. First off, I don’t have to change a thing to make use of the system. It’s a great way to benchmark my own time spending habits on the computer. It’s well setup to allow individual configuration of what you believe is productive and non-productive. During setup, I thought about all the facets of business and independent projects. I concluded that email is a neutral value of productivity, while programming is +2 and reading HackerNews is -2. I’m happy to share this chart for my first week of use: [caption id="" align=“aligncenter” width=“1035”] RescueTime - 1st Week[/caption] Notice that I tagged email and meetings as a productivity of 0 because so little useful action comes out of them. Frequently meetings would be best accomplished in short bursts and email involves _LOTS_ of needless repetition. Given that email accounted for 6 hours of my workweek, I decided to improve the efficiency of my email process. I setup my email account with OtherInbox. OtherInbox is an email sorting service that does awesome things with Google Labels. Next I added two key combinations for Sparrow.app. One key combination opens a new email from ANY application while the other key combo brings Sparrow to forefront or hides it again. These two changes have saved me lots of time so far and reduced the effort related to context switching. Share your tips for email hacks and productivity (GTD) hacks! I can be reached via the comments and as [@_ZPH] on Twitter.

20 Feb 2013

ThinkingRock GTD: Torn Apart


Why am I engaging in this hipster habit of using Covey’s ‘Getting Things Done’ methodology? Because there’s something very valuable to it!

The analogies that Stephen Covey uses in his book hit home for geeks. He describes the working memory we humans possess as Random Access Memory, which requires energy to sustain it. Furthermore, he reminds the reader that if the RAM is busy, other thoughts can’t percolate through that stage of consciousness?

Sound too esoteric?

Let’s get down to bare metal. Or brass tacks. Or any other colloquialism that suits.

Throughout the day I have ideas. Many of them are good ideas :). Many of these good ideas percolate to the surface at inopportune moments… like meetings, reviewing reports, or writing code. These ideas are GREAT but what’s their value if they disappear before I can act on them?

Nothing. That’s how much value these ideas have if they flit right back out of my consciousness. Might not be a big deal if it’s remembering a food item to pick-up on the way home. Might be a huge deal if it’s a programming or business idea that could be implemented and turned into a product!

What’s the solution?

I mentioned using ThinkingRock GTD system in this post. ThinkingRock v2.1 is an open-source project hosted on SourceForge.

ThinkingRock does the usual stuff that one would expect from a GTD program: * Collect Thoughts in an Inbox * Processing * Organization * Reviewing * Action

What’s the killer feature of this app for my workflow?

That ideas can be dumped into it using the universal communication currency of our age, EMAIL!

My goal is to reduce the friction in the GTD system so that I waste as little energy as possible on the process itself.

Email input is a very powerful feature. I’ve setup a dedicated email account for receiving GTD tasks and then configured ThinkingRock to import tasks from there every 15 minutes.

The next step in this process was writing a short commandline script that is prefilled with the GTD email address. The script combines all commandline input less the scriptname itself and uses that value as the subject line of the email. This makes for an incredibly fluid system of GTD task entry.

Here’s the simple Ruby script for this task (note that auth info is placed in ~/.gmailrc):

But wait, there’s more! If you keep reading this blog post, you’ll receive more time saving advice at no additional cost. That’s “#{SOME_MADE_UP_VALUE}”!

Back to the point, I integrated this script into Alfred.app. Now the tasks can be entered directly from Alfred!

I’ve only scratched the surface so far with getting back into the GTD methodology… but I’m excited! Having better programming chops this time when approaching GTD is certainly improving the process :).

Still to come:

I discussed in this post that I wanted to use the open-source version rather than the newer closed source version because of having the ability to dig into the code. In an upcoming post I’ll discuss how the open-source program allowed me to investigate the data structure used for ThinkingRock in a way that would be much more challenging if I lacked access to the project source-code!

Let me know in the comments or on Twitter (@_ZPH) if you have ideas on how to improve the process.

18 Feb 2013

Making Thinking Rock v2.1 Work on OSX 10.8

So, PRODUCTIVITY, GTD, BUZZWORDS HERE. I’ve used ThinkingRock before when on a GTD kick a few years back. I liked how strictly it followed GTD. I liked being able to email myself thoughts to act on later, since email is the universal currency. I liked the tickle feature. I’m certainly willing to pay for software, as evidenced even by my donations to VIM, but I like the flexibility that’s available with open source software. The older version, v2.1, of ThinkingRock is available on SourceForge along with the source files. Given that I know zero Java, I thought it would be fun to have the source available for any program that I’m regularly using. So that leaves me with installing v2.1 on OSX 10.8 rather than the newer version. Unfortunately, while the newer version installs quite nicely and opens as you’d expect, v2.1 throws an error :¬†unable to locate jdkhome, use –jdkhome switch. I Googled around and found this explanation of the JDK location and combined it with this explanation in order to come up with the following solution: hard code the bin/tr shell script to include the appropriate jdkhome location. Here’s the modified file:Note that line 21 is the modified line. Now on to revive my 3 year old GTD files, do some major deleting, get email dumps setup, and Get Things Done.