During session breaks at BFlex yesterday I put together an OS X Automator workflow that works with the URL shortener. I use all the time and I wanted an easier way to create shortened URLs in any application on OS X. Sure there are tools available but none of them span the entirety of applications on my computer.

After whipping up my Automator workflow I can now shorten URLs by copying them to my clipboard, activating the workflow from the menu bar, and then pasting the contents of my clipboard into e-mail, Tweetie or any other app. The Automator workflow simply uses the contents of my clipboard to send a curl-based HTTP call to the REST API, and replaces my clipboard contents with the returned API result.

Click the image below for a quick demo. It's pretty basic so far and some long URLs with unencoded URL parameters fail to create shortened results. I'd love your feedback and suggestions on the workflow, so feel free to download it and submit a comment on this post. You can be using it in less than a minute. NOTE: This requires a free account.

In case you missed the download link above, click here to grab the script.


This sounds totally crazy, but nearly five years ago I wrote a little AppleScript that allowed me preview an entire album on iTunes. I don't know the Apple Store didn't have this functionality from day one, but they didn't. Well, they've finally seen the light of day and created this in the latest edition of the store. Check it out.


This is one of those blog posts where 99% of you will say "Huh, he's actually blogging about this?" It's true this might be one of the easiest things in the world to figure out but for those who've asked me already, and for those who might in the future, here's how you activate Safari's developer tools.

Open Safari's preferences window (command + comma) and click on the Advanced tab in the upper right. At the bottom of the resulting screen there will be a checkbox you can click to activate the developer tools. This will allow a new "Develop" option to show in Safari's menu bar.

Now that you have the tools activated read this overview and this detailed article to ensure you're getting the most from the Safari 4.


This may come as a surprise but it's not that often that I have a need to compare entire folders or projects of code. Most of the time I'm using Subclipse's compare functionality to compare two different versions of the same file. When I do need to perform heavy code comparisons I typically rely on File Merge, a utility that comes with Xcode.

Realizing there are probably much better tools suited to this task I thought I'd reach out to my readers and ask what you use. So, if you're on OS X, fire away and offer up your best suggestion for the most rockin' code compare utility.

Incidentally, for those that are on Windows (I'm sorry), Beyond Compare and WinMerge are the best tools I've seen.


I was reading through the latest blog posts aggregated by ColdFusion Bloggers and noticed someone writing about the oldest file they had in their home directory. I switch laptops every three years, but thought it'd be an interesting exercise even if I don't typically respond to memes.

I thought it would be pretty easy to determine my oldest file using OS X's Spotlight. After a minute or two I realized Spotlight wasn't going to be much help so I dipped into my ninja command-line skills and attempted to use *nix's find, and ls commands. I was able to make some headway but wasn't too sure of my results so I followed links from Jehiah's post to Craig Rhodes' blog. Craig provides a Python script that seemed to do the trick (code and instructions on how to do this yourself are below). The absolute oldest file on my Macbook Pro is a font called Optim which was created on June 25, 1987. Yikes! Scrolling through the list of files (ordered by oldest first) there were tons of fonts which have probably been forgotten for ages.

Continue Reading


Adium Crash on Launch Bug

Posted by Aaron West at 4:12 PM in Mac Programming

Any of you running OS X and the Adium chat client may have noticed an incredibly odd issue with Adium crashing each time you attempted to launch it yesterday. Apparently, there were some issues with the way the new version of Adium (1.1) was released. You can read the full account of how the Adium team discovered and fixed the issue - which lends insight into how the team operates - here. It's a good read.


I've been adding to my overall programming skills recently, learning how to develop Mac specific software. I love Web development and spend the better part of 60 hours a week building applications professionally and personally. However, I've always had a small interest in learning how to build desktop applications and a recent idea of mine has spurred some new development.

Not knowing exactly how to do what I want to do, I've been learning the nuances of Xcode/Cocoa/Objective-C development through reading various tutorials and documentation. The first app I've built - a currency converter - is extremely simple but represents the core concepts of Cocoa development including Xcode, Interface Builder and the Objective-C language.

Xcode is Apple's suite of tools that allows you to build on the OS X foundation and the power of UNIX with high-performance development technologies. Included in Xcode is Interface Builder, a design environment used to create the UI of your applications as well as the class-based, object-oriented portions needed to wire up the communication between model, view, and controller. Objective-C is the language of choice for describing your classes, objects, and the messages that bring the two together. Xcode also includes the GCC compiler allowing you build and link your applications and create native installers for various versions of OS X (including 64-bit versions).

While I'm closer to learning what I need to bring my original idea to fruition, I still have much to learn. To download and try out my first application click the Currency Converter link in the Download pod to the right or just use the link provided below.

Download Currency Converter