Ecoute

Ecoute is a very minimal media player for Mac. It bases its library on your iTunes library, can play back anything in iTunes (including videos), and includes some really awesome visual elements. I really like its Grooveshark style media browser:

Check it out at http://ecouteapp.com/. Ecoute is free to download and try out, and $10 to register.

I really like the simple character counter in Birdfeed

Teaching Kids To Be A Bit Too Helpful

"Gobble!" said the turkey. "As well as I am able, I'll decorate his Thanksgiving table."
 
C'mon, turkey. You've got to set some boundaries.
 
from The Jolly Barnyard, a Little Golden Book

Notepods (via @squaredeye)


Notepods are cool little notebooks for sketching iPhone app ideas.

Why So Many Options Google Reader?

I've never understood why Google Reader lets me do so many things the items I'm reading. I star them, like them, share them, share them with a note, and tag them? It all starts to feel a lot like hash browns at Waffle House.

How I Got My Ruby Development Environment Working After Installing Snow Leopard

I've spent the past day on and off while here in Nashville at the Ruby Hoedown getting Snow Leopard installed and working on my computer, and it was big enough a pain that I figured I should share what I did.
 
First, I installed Xcode from your Snow Leopard disk. It's necessary to build other applications.
 
Ruby Enterprise Edition 
 
After I got Xcode installed, I installed Ruby Enterprise Edition, because Snow Leopard ships with Ruby 1.8.7, and we use 1.8.6 at Gnoso. Installing Ruby Enterprise Edition is a piece of cake. I just followed the directions on their download page, with the addition of adding the addition of the --no-tmalloc flag on the installer:

 
tar xzvf ruby-enterprise-X.X.X.tar.gz 
./ruby-enterprise-X.X.X/installer --no-tmalloc

The Ruby Enterprise Edition installer installs the runtime and several default gems, including Phusion Passenger.
 
I also added Ruby Enterprise Edition to my path by adding the following line to my .bash_profile:
 
export PATH=/opt/ruby-enterprise-1.8.6-20090610/bin:$PATH 

MySQL
 
After a few hours of banging my head against the wall, Shay Arnett pointed me to a great article on installing MySQL in Snow Leopard. There's no reason for me to retype it here, so go check it out at http://www.icoretech.org/2009/08/install-mysql-and-mysql-ruby-gem-on-snow-leopard-64-bit/. Before I followed those directions I ran a mysqldump of my old MySQL database, and afterward I loaded the database into my new server. You could prob ably just copy the files, but I had a hard time with that, and dumping turned out to be easier. I installed both MySQL and the MySQL gem.
 
Phusion Passenger
 
I ran passenger-install-apache2-module to install an updated copy of Phusion Passenger, and then replaced my old module load configuration with the one that the installer told me to use. Then I restarted Apache:
 
sudo apachectl restart 

Basically Done
 
At this point, I just had to go through and make sure I had all of my old gems installed. The Passenger Pref Pane doesn't work in Snow Leopard yet, so everyone will have to resort to adding vhost configurations to Apache and hostnames to /etc/hosts by hand. Beyond that, I haven't experienced any more difficulties. I've been impressed with Snow Leopard overall, but it is definitely a stability release, and not a feature release. There are some really fun additions, though, like the improved stacks on the dock and the cleaner Expose interface.

Update: Chris Moore commented below that you can in fact get the Passenger Pref pane working. You simply need to install RubyCocoa 0.13.2. You can find more information about that whole process here: http://josefernandez.tumblr.com/post/174433056/install-rubycocoa-on-snow-leopard.

Wall Street Journal Lacks Contrast

There are two different items in the legend for the bar graph, but one color. Oh, yes, the top of the orange bars represents something different from the bottom of the orange bars.

Adding GMail Style Archive To Mail.app

I love composing email in Mail.app, but I love processing email in GMail because of its terrific one click archiving of messages. So tonight I set out to see if there is a way to get Mail.app to archive messages similar to how GMail does. After looking at a few code samples using AppleScript with Mail.app (like this one), I settled on using AppleScript and came up with the following bit of code:

 
tell application "Mail" 
  set selectedMails to the selection 
  if the length of selectedMails is greater than 0 then 
  	repeat with theMessage in selectedMails 
  		 
  		move theMessage to mailbox "All Mail" in the account of the mailbox of theMessage 
  	end repeat 
  end if 
end tell 

This basically looks at what emails are selected in Mail and moves them to the All Mail folder of whatever account they belong to. I use IMAP with GMail, so if you're using POP you may need to tweak this a bit.
 
Open up AppleScript Editor, paste the above code in, and save it somewhere memorable. Now, we need to come up with some way to cause the code to be executed. I settled on QuickSilver triggers. To create a new trigger for archiving your email, go to the Triggers settings in QuickSilver and add a new trigger by clicking the plus sign and choosing HotKey.

You'll want QuickSilver to execute your script. You can set the hotkey for your trigger by clicking on the info button in the triggers window and choosing settings. I chose the keyboard com bination Shift-Cmd-A, but of course you can make it whatever you want it to be. You can also go to the scope tab and type "Mail.app" in to have it only pay attention to the keyboard combination you chose when you are in Mail.app.

Update: I don't actually typically use QuickSilver, so I came up with another technique that I like a little more. Save the AppleScript from AppleScript Editor as an application (just save it and choose the Application file format from the dropdown), and then in a few seconds Spotlight will index it and you can run it pretty quickly with Cmd-Space or whatever your keyboard combo for Spotlight is.