Monthly Archives: June 2010

Growl for president

It is fun talking to geeks who have recently converted to Macintosh coming from a career with Windows. They are excited about the possibilities of using all those Unix tools from the command-line (and who wouldn’t be excited about that?) and are disoriented by the differences.

I tell them that a lot of things are the same, that their new computer will still go wrong in frustrating ways and that the Finder is the way it is for historical reasons. The most productive part of the conversation is suggesting bits of software that make your computing career on Macintosh less painful…

[Growl!][growl] What a fantastic piece of software. [Mac OS 9][macos9] introduced modeless notifications and it was immediately obvious why it was a good thing. Before then you could bring a Mac server to a halt just by holding down the mouse button for too long, and many Mac applications wanted to get your attention by throwing up a global dialog box to let you know when something had happened. Due to the classic Mac relying on co-operative multi-tasking a modal dialog box could not only interrupt the front-most application but also stop all background applications until the dialog box was dismissed. So Mac OS 9’s mode-less notifications were a great thing.

On [Mac OS X][macosx] there is no built-in API for posting global mode-less notifications. Growl fills that gap. Growl provides [an API for Mac applications to post notifications][growlapi] and it presents those notifications in an unobtrusive manner, floating small windows on the top of your desktop that can be easily dismissed or ignored.

The truly great thing about Growl is how it has been adopted by developers. [BBEdit][bbedit] uses Growl; [Cyberduck][cyberduck] uses Growl; [pretty][transmit] [much][fontexplorerx] [every][adium] [great][colloquy] [Mac][netnewswire] [application][transmission] supports Growl because it is such an excellent way to post notifications.

An example of Cyberduck's upload complete Growl notification

And so it seems to me that Mac OS X itself should support a Growl-like API for notifications. Either the operating system should take advantage of Growl when a user has installed it or Apple should just ship Growl as part of the system to provide its functionality as a standard API for any application to post notifications.

I believe there is a need for such an API. Witness the [Google Notifier][gnotify] application which does _not_ use Growl for notifications but instead chooses to post floating mode-less notification windows that look an awful lot like Growl’s notifications but which behave in a subtly different manner. Annoying.

[growl]: http://growl.info/
[macos9]: http://www.apple.com/support/macos9/
[macosx]: http://www.apple.com/macosx/
[growlapi]: http://growl.info/documentation/developer/
[bbedit]: http://www.barebones.com/support/bbedit/arch_bbedit92.html
[cyberduck]: http://trac.cyberduck.ch/wiki/help/en/howto/growl
[adium]: http://adiumx.com/
[colloquy]: http://colloquy.info/
[netnewswire]: http://netnewswireapp.com/
[transmission]: http://www.transmissionbt.com/
[transmit]: http://panic.com/transmit/
[fontexplorerx]: http://www.linotype.com/fontexplorerX
[gnotify]: http://toolbar.google.com/gmail-helper/notifier_mac.html

Station To Station

I am pretty sure my favourite [David Bowie][bowie] album is [Station To Station][s2s]. I am pretty sure my favourite Bowie track is *Station To Station* off that same album.

When I am invited to appear on [Desert Island Discs][desert] I will choose *Station To Station* as the one song I can take with me – it is flipping ten minutes long, and on a desert island I will want a song that takes a long time to understand and doesn’t repeat too often on my walkman.

*Station To Station* is great because it is at least two songs in one, if not three. The opening section has the discordant stop / start rhythm of a steam train getting up to speed and Bowie’s lyrics are intelligible while being sufficiently dense that I can’t sing along without a dictionary.

And then the song breaks into the second section with a solid disco rhythm interrupted by Bowie expressing the joy and uncertainty of a new love affair before we finally hit the chorus which takes the rest of the song to the end.

> It’s not the side-effects of the cocaine, I’m thinking that it must be love.

Oh my gosh it is fantastic.

It is likely that if I can’t take *Station To Station* to my desert island I will take the prelude from [*Tristan Und Isolde*][tristan], also about 10 minutes. Failing that maybe *Something Against You* by [Pixies][pixies].

[I am one happy prick][something].

[bowie]: http://www.davidbowie.com/
[s2s]: http://www.teenagewildlife.com/Albums/STS/Title.html
[desert]: http://www.bbc.co.uk/programmes/b006qnmr
[tristan]: http://en.wikipedia.org/wiki/Tristan_und_Isolde
[pixies]: http://www.pixiesmusic.com/
[something]: http://www.youtube.com/watch?v=jNrtSWup_Tg

Office 2008 update includes Entourage EWS

Not that the [release notes have any mention of it][1], but the [Microsoft Office 2008 12.2.5][2] update will also install the latest [Entourage EWS 13.0.5][3] if you had it on your hard disk already (else you get vanilla Entourage updated). You only need to install the stand-alone update if this is the first time you are installing the Exchange Web Services version of Entourage.

Microsoft’s Mac installers are good, but unnecessarily complicated. And the design of the [Mactopia website][4] drives me up the wall – tiny little scrolling `

` blocks and javascript hyperlinks makes it difficult to read the information and difficult to link straight to an update.

[1]: http://support.microsoft.com/kb/2028864
[2]: http://www.microsoft.com/mac/downloads.mspx?pid=Mactopia_Office2008&fid=D46255BD-6470-4106-9FE2-EA67ACD3F1BD
[3]: http://www.microsoft.com/mac/downloads.mspx?pid=Mactopia_Office2008&fid=EC991D3B-6B25-41C3-9119-D0E6985F2FC1
[4]: http://www.microsoft.com/mac/

Xcode and Mercurial .hgignore

For future reference, culled from [Peter Hosey][1] and [Ben Clark-Robinson][2], a mostly useful `.hgignore` definition for use with an [Xcode][xcode] project stored in the [Mercurial version control system][mercurial].

syntax: glob
*.pyc
.DS_Store
._*
*.xcodeproj/*.pbxuser
*.xcodeproj/*.perspective*
*.xcodeproj/*.mode*

syntax: regexp
^build/

*Ugh* to `.DS_Store` files and *gaaaaaah* to resource forks wedged into dot-underscore files. *Yay!* to regular expressions.

[1]: http://boredzo.org/blog/archives/2008-03-20/hgignore-for-mac-os-x-applications
[2]: http://mozketo.com/mercurial-hgignore-for-xcodecocoa/
[mercurial]: http://mercurial.selenic.com/
[xcode]: http://developer.apple.com/technologies/tools/xcode.html