43 Folders

Back to Work

Merlin’s weekly podcast with Dan Benjamin. We talk about creativity, independence, and making things you love.

Join us via RSS, iTunes, or at 5by5.tv.

”What’s 43 Folders?”
43Folders.com is Merlin Mann’s website about finding the time and attention to do your best creative work.

GeekTool's new Tiger compatibility (and using it to build your own _Batcave_)

Mac Geekery - Geektool and Bash One-Liners

I’m an old-school fan of GeekTool, a smart little PreferencePane that lets you trick out your Mac’s Desktop background with a variety of customizable stats, photos, and status info. Most folks’ favorite use is to display the output of shell scripts and simple CLI commands (e.g. “cat ~/todo.txt” or “tail -n 10 /var/log/crashreporter.log”)

To be honest, I hadn’t used GeekTool in a while, but apparently there were some Tiger compatibility issues that were vexing fans. Now Mac Geekery’s rupa deadwyler points to a branched version (2nd item) that provides fixes for Tiger.

He also writes up a good post on a few of his favorite uses for GeekTool:


There’s a few ways to run this. Right now, I like:

ps -cm -U username | awk '/:/ && $5!~/Dashboard/'

c omits the full path of each process, m orders the processes by memory and -U username shows all processes owned by that user. Plain ps only shows processes run through the terminal, ps -A gives me more than I want to see, ps -U was pretty good, I thought. Replacing the m with r orders the processes by CPU usage, I haven’t really decided which one I like better.

My own favorite feature? Probably the least tech-y thing you can do with it: GeekTool can pull photos from the web on a regular schedule, which makes it easy to see weather, traffic, and web cam output right on your desktop (my Desktop, ca. 2004-11).

With a little bit of creativity, experimentation, and poking around, GeekTool can help you put together your own Information Batcave.

Oli Young's picture

This is one of my...

This is one of my setups for my iBook. I have three rules 1 - Display my current Airport IP address echo "A:" ipconfig getifaddr en1 which comes out like A:

2 - Display my current Ethernet IP Address echo "E:" ipconfig getifaddr en0

3 - Display the current route data is travelling out ( so i can be assured ethernet kicks in when available ) echo /usr/bin/currentroute

/usr/bin/currentroute contains


scutil_query() { key=$1

get $key


SERVICE_GUID=scutil_query State:/Network/Global/IPv4 | grep "PrimaryService" | awk '{print $3}'

SERVICE_NAME=scutil_query Setup:/Network/Service/$SERVICE_GUID | grep "UserDefinedName" | awk -F': ' '{print $2}'


which is then chmod +x (executable)




An Oblique Strategy:
Honor thy error as a hidden intention


Subscribe with Google Reader

Subscribe on Netvibes

Add to Technorati Favorites

Subscribe on Pageflakes

Add RSS feed

The Podcast Feed


Merlin used to crank. He’s not cranking any more.

This is an essay about family, priorities, and Shakey’s Pizza, and it’s probably the best thing he’s written. »

Scared Shitless

Merlin’s scared. You’re scared. Everybody is scared.

This is the video of Merlin’s keynote at Webstock 2011. The one where he cried. You should watch it. »