Undocking from an Apple Thunderbolt Display

Posted by: on Sep 23, 2011 | 6 Comments

Apple finally has a “dock” for its notebook computers. That dock is the Thunderbolt display. The Thunderbolt display has its own power cable for charging your Apple notebook, as well as a Thunderbolt cable to serve as the single connection for display, ethernet, sound, USB, and Firewire connectivity. This means you can connect your Firewire, USB, and Thunderbolt drives into the back of the display and have them all “dock” when you plug in the single Thunderbolt cable.

Unfortunately, unplugging the monitor may not be so easy if you have several external drives. By using Applescript, you can basically create an “undock” application that you can simply open when you want to unplug the display. I’ve also provided the app for you: Undock.app

  1. Open “AppleScript Editor.app” found in the Applications -> Utilities folder
  2. Paste the following code into “Untitled” applescript window:
    tell the application "Finder"
    	eject (every disk whose ejectable is true)
    end tell
  3. Go to File -> Save. Name the file “Undock” and choose “Application” as the file format. You can now run this from Spotlight or create a shortcut in your dock if you prefer; just as with any other application. Your external drives will be ejected after running this script.

Agile iPad Part I: Taskpaper and User Stories

Posted by: on Sep 14, 2010 | One Comment

When I recently purchased an iPad, I thought it would be something that I could use to poke around the web from the couch in the evenings. I’m finding that I use it just as much at work and it is becoming an integral part of my toolkit.

One of the most heavily used apps on my iPad is Taskpaper from HogBay Software. I previously dabbled with TaskPaper on my Mac, but I had to drop it because it didn’t have any type of cloud based syncing with the iPhone. HogBay recently added support for syncing via a Google App Engine based app called SimpleText.

Neat, but how does Taskpaper and an iPad help me be more Agile? A picture is worth a thousand words here:


As you can see, I have an Inbox project for tracking incoming tasks. I borrowed this from the GTD methodology. I also have an “ABC Company” project for my client. I have a high level task for the current story I’m working on and underneath it I break down underlying tasks that I need to get done in order to complete the story.

The nice thing about TaskPaper is that it has become ubiquitous. My list is with me on my mac, on my iPhone, on the web, and on my iPad. All are kept in sync.

You’ll notice in order to complete the “Add ORM to Villian table” task, I need to ask Captain Caveman a question. Captain Caveman doesn’t always come through clearly, so I capture exactly what he said just in case there is any question later. I capture this as a note shown in light grey.

I also add other questions as I think of them to the underlying tasks. As soon as I save the document on my Mac, the SimpleText client syncs with the web site and the notes are available on my iPad. When I need to correspond with the users, I can simply pickup my iPad and take my list with me. I can even add notes on the iPad and I’ll have them when I’m back at my computer, pounding out code.

Each day during the daily scrum meeting, I take my iPad and bring up my list. I’m able to see exactly what I completed the day before, so it makes it a bit easier to keep track and burn items off of our sprint planning wall. I also add tasks I’m planning to work on today, so that I’ll have those available to mention as well.

Taskpaper is simple. It mimics paper and lets one organize lists however he pleases. If you have an iPad, I encourage you to try it on your Mac and if you like it, then buy it for your iPad/iPhone. It has greatly simplified my day to day task tracking and helps me stay focused when things get hectic.


Mail Archiving With Snow Leopard Services

Posted by: on Sep 13, 2009 | No Comments

After upgrading to Snow Leopard, I quickly learned that I had been using a free beta version of Mail Act On. Mail Act On basically allows you to trigger rules based on keyboard shortcuts. I used it for one task, moving emails to an archive folder using a keyboard shortcut. This feature is crucial to my implementation of David Allen’s Getting Things Done personal productivity methodology.

Mail Act-On costs $25.95, which seems steep to me for what it does. I had no luck fishing around on onmacupdate.com for alternatives, so I decided to replace this program with a Snow Leopard contextual service and keyboard shortcut.

Step 1: Creating a Service in Automator

Starting in Snow Leopard, a new template for Automator workflows exists called “Service.”


After selecting this template, you’ll notice that you can select the context for the service at the top of the Automator workflow. You don’t need to specify any input since we’ll be using Applescript to do all of the work. You do need to select Mail.app as the context so that this service doesn’t appear in other applications.


Your service only needs one action, Run Applescript. Drag a Run Applescript action to the workflow. Assuming you have a single archive mailbox, your script will be similar to below. The script takes the selected items and moves them to an Archive mailbox of a MobileMe account.


Save the script. Automator automatically saves it in the ~/Library/Services folder.

Step 2: Assigning a Keyboard Shortcut

Next, you need to assign a keyboard shortcut to this service. Just open System Preferences, clickKeyboard, and then select the Keyboard Shortcuts tab. Under the Services category, you should have aGeneral section and the script should appear. My script is highlighted below. Now, just click on the area right of the script and you can add a keyboard shortcut.


You should now have a contextual based service under your Mail --> Services menu. Hitting the hotkey should invoke the automator action and execute the Applescript on the selected mail messages.


For some reason, the execution is a tad slow. It is manageable for me, but I’m hoping a future update to Snow Leopard will help speed the execution on Automator services.

Snow Leopard Upgrade Notes

Posted by: on Aug 29, 2009 | No Comments

Snow Leopard arrived at my door yesterday and I was chomping at the bit to get it installed. I had work to finish, so it was a few hours before I could get started.

Process

  1. backed up my current Leopard Java 1.5 directory.
  2. I created a compressed image of my current disk using Leopard install disk and an external drive. This is to ensure that I can quickly get back to business if Snow Leopard breaks something in my development environment.
  3. Went to the grocery store.
  4. Popped in the Snow Leopard disk and performed the upgrade.
  5. Fired up the Thursday’s epsiode of Big Brother from my DVR.
  6. Spent a couple of hours fixing issues.

Issues

My install didn’t go without a few issues. I got hungry, then sleepy, and then angry because Russell was being such a jerk to cute-as-a-bug Jordan on Big Brother. I pulled it together and managed to persevere. Overall, it was pretty painless and I have not regrets at this point. Below, I’ll summarize a few of the issues and resolutions.

Applescripts

I use Applescripts daily for task automation. I have several scripts saved as applications so that Spotlight can index them. When trying to run these scripts Snow Leopard prompted me to install Rosetta. To solve this issue I simply reopened the scripts and saved them again as applications.

DB2 Express-C 9.5.2 for OS X

Antonio Cangiano reported that DB2 on Snow Leopard was working without a hitch. This wasn’t completely true in my case.

I tried to start DB2 and received the following message: SQL5043N Support for one or more communications protocols failed to start successfully. However, core database manager functionality started successfully.

I checked my service name using the db2 command line utility:

MacGruber:~ shawn$ db2 get dbm cfg | grep SVCENAME
TCP/IP Service name                          (SVCENAME) = db2c_shawn

After opening /etc/services, I found that “db2c_shawn 50001/tcp” was missing. Added it to the end of the file, saved the file, then did a db2stop and db2start and the error was gone.

OmniFocus Clip-a-tron

After updating OmniFocus I had to remove and add the clip-a-tron from Omnifocus preferences and restart mail.

Mail Act-On

I somehow got the beta of this plugin many moons ago and have since used it to quickly archive read email to a separate folder. Mail complains and disables the plugin on startup. An update is available but at the cost of $24.95. I’m not feeling that generous so I’ll have to find another program to replace this functionality.

Various Programs

Many programs are being released with updates, so if you have trouble I would check the Mac OS X 10.6 Snow Leopard Compatibility List on wikidot. A few that I had to upgrade are OmniFocus, 1Password 3, OmniGraffle, Neatworks, Wiretap Studio, Speed Download.

I am happy to add that SpringSource Tool Suite 2.1.0SR1 Carbon is working just fine even though Java 5 no longer exists. So far, I have not restored Java 1.5 from Leopard. I have yet to try the Cocoa version of STS since upgrading. I doubt its memory leak issues have been fixed by the upgrade.

Finally, my Canon PIXMA MX860 WI-FI printer connects to my Mac only via USB now. Reports from various other owners mention that Canon will have a new driver in 2 to 3 weeks.

So, I’m up on Snow Leopard. Amazingly, I feel taller and more buff today.

Back up Java 5 on Leopard Prior to Snow Leopard Upgrade

Posted by: on Aug 29, 2009 | No Comments

One of my biggest concerns about Snow Leopard is that Java 5 would not be included. Reports from the Apple’s java-dev mailing list today confirm this. While most apps should work with Java 6 by now, there will always be a few stragglers.

tar -czvf Java15Leopard.tar.gz -C \
>/System/Library/Frameworks/JavaVM.framework/Versions/ 1.5.0

Now, put this file in a safe place and back it up before you upgrade. Once you have upgraded if you have an app that just won’t work on Java 1.6 then you can perform the following steps to hack in Java 1.5 on Snow Leopard.

Extract the file:

tar -xzvf Java15Leopard.tar.gz

Move it to your Java Frameworks folder.

sudo mv 1.5.0 \
>/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0-leopard

Recreate the symbolic link:

cd /System/Library/Frameworks/JavaVM.framework/Versions/
sudo rm 1.5.0
sudo ln -s 1.5.0-leopard 1.5.0

Now open Java Preferences.app and change the “J2SE 5.0 32-bit” to be the default Java Virtual Machine for the “Java Applications” section at the bottom of the screen. Alternatively, you can just change whatever app that needs Java 5 to point to /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0.

There you go, party like it’s 2004!