Wednesday, July 23, 2008
Quick Sleep
But I recently ran across a better combination: Apple-Alt-Eject provides instant sleep (the Eject key is the one that ejects CD's, just above the delete key). One keyboard chord, and I have a sleeping laptop. I love it when I can cut a 2-step process down to a single keychord!
Thursday, July 3, 2008
Mmmmmmmm...Fresh Apps

AppFresh helps you to keep all applications, widgets, preference panes and application plugins installed on your Mac up to date. All from one place, easy to use and fully integrated into Mac OS X. AppFresh works by checking the excellent osx.iusethis.com for new versions and lets you download and install available updates easily.
Not only does it find the applications you need to update (which they mostly do themselves...mostly), AppFresh also handles the chore of downloading the DMG file, extracting it, mounting it, installing the application, and unmounting. No muss, no fuss. You just tell it to update an application and Voila...it's updated.
Saturday, June 28, 2008
Pimp my shell
When I switched over to Ruby development, I said goodbye to Eclipse and IDEA. I was never one to shy away from a terminal so the transition back to a text editor (I tend to use TextMate and ViM) and iTerm was an easy one.
At ThoughtWorks I worked on one client project at a time, and maybe one or two open source ones. Now at Relevance there are weeks when I work on four client projects and a half dozen open source projects (thanks to open source Fridays). To make things more difficult, I've got a mix of Subversion and Git projects.
To ease the transition back and forth between projects I:
- Got scm information in the bash prompt. This is something the git folks have been doing for long time.
- Abstracted out the scm commands I use most frequently. In other words, I can now type
up
orcommit
instead ofsvn up / git pull
vssvn commit / git commit && git push
.
- Created an alias that takes me back to the root of my project by guessing it from the SCM structure.
- Showed the current project in iTerm's tab title.
- Displayed the previously executed command in the tab title (next to the project).
- Rounded out the tab title by alternatively showing the currently running command if one was currently running.
- Made it notice new projects as I checked them by implementing automatic aliases to project directories.
None of these was especially difficult but each of them has improved my shell environment. Thanks to Alan Cooper and Edward Tufte, I am beginning to understand that good usability doesn't necessarily require difficult technical solutions. Indeed, coming up with each idea and a seamless UI for it was harder than implementing it.
The features described above came down to making my shell environment:
- Tell me about my current context.
- Adjust based on the context.
I think that part of the reason we use MacOS is because it does some of this for us. It changes the menus based on which app is in focus. CoverFlow gives us a visual indication of where we are in the stack of files we're looking at. Maximizing a Safari.app window only maximizes it as far as it needs to in order to horizontally fit the content.
What else do you think your shell environment should do for you? Why?
Wednesday, June 25, 2008
Opening emailed Office documents
* Download MisFox, then double-click on "MisFox.prefPane" to install
* In the MisFox system preferences pane pick the File Mappings tab
* Scroll down the list till you find "Word Document" and the .doc file extension
* Double click on that line to open the editor
* Set the Creator Code to MSWD and the File Type to W8BN
* Check "Resource Fork is Significant"
* Repeat last steps for Excel, setting the code to XCEL and the type XLS8
* Repeat for Powerpoint, setting the code to PPT3 and the type to SLD8
Thanks to my colleagues at ThoughtWorks for figuring this out.
Wednesday, June 18, 2008
Unexpected utilities
One of these areas is unarchiving. You just double-click the archive file in Finder and something runs in the background that opens it. What else would you want? Turns out you want The Unarchiver. Not only does is support more archive formats, including the dreaded StuffIt ones, but it also deals with the already supported ones better.
Another area is software update. Apple's Software Update works well, the big packages from Adobe and Microsoft have decent updaters, and, more surprisingly, most application written by indie developers have good and consistent update functionality. The latter is actually thanks to the excellent Sparkle framework. If you are a developer check it out. That said, what else could you ask for? Download and use AppFresh for a while and you'll know.
Friday, June 6, 2008
Widening Columns
Going one step further, you can right-click on the abraded area and get a pop-up menu that lets you choose one of three options: Right Size This Column, Right Size All Columns Individually, and Right Size All Columns Equally, as shown here:

Try as I might, I couldn't get a keyboard shortcut to stick for this (normal keyboard shortcuts don't seem to work in Open and Save dialogs). If anyone can, I'll be grateful. But this is good enough: rather than resizing by hand with the mouse, I can let if figure out the correct size (alas, still with the mouse).
Saturday, May 24, 2008
Scrial Consistency

Fast forward to today. I don't use the Covey system any more because it does not match my work habits well. I've struggled for a while putting together an effective way to handle my increasingly complex ToDo lists. I keep finding some applications that handle parts of what I need well, but fall down on other parts. For example, I've been using TaskPaper for a while, which I like because it's very simple, text based, and lightweight. But the thing that TaskPaper doesn't do well is handle the semi-recurring stuff, like haircut or dentist appointments: recurring appointments that fall into the "I need to do this 6 weeks after the last time I completed it" category. For that, I've been using a special purpose tool called Sciral Consistency (commercial, with a "try before you buy" option). It's not really a ToDo list manager so much as way to handle that specialized relationship between semi-recurring tasks and calendars. The Sciral Consistency site says that it handles the following types of conditions:
- They don't have deadlines or rigid time intervals associated with them.
- In order to gain and retain their benefits, you must perform them on a regular basis over a long period of time.
- The ideal amount of time that elapses between completions of a particular task are unique to that task. To gain the maximum benefit you shouldn't do them too frequently or infrequently.
- They can be carried out by you with minimal or no coordination with other people.
- They are often “routine” tasks for which you have not firmly established a habit of carrying them out as second nature.
- They are (in the words of Stephen Covey) “important, but not urgent.”
Sciral Consistency handles these things using a unique calendar view, which looks like this (also from their site):

You create tasks with threshold values: after I finish this task, I need to do it again between 10 and 14 days from the finish date. You can have a bunch of these calendars. Like the last bullet point says, it is great for handling recurring "important but not urgent" tasks. I've been using Sciral Consistency for a while, and it serves me well.
I'm still on the lookout for a comprehensive solution. Recently, I've become mostly addicted to OmniFocus, a great GTD inspired task manager, which somewhat handles this special case. I haven't succumbed to the GTD religion, but like the Covey stuff before, I've assimilatedwhat I consider the good parts and made them part of my routine. I'll say more about OmniFocus once it has sunk into my work habit.