Best way to control your Linux Cluster on a Mac
The Mac programming world is abuzz with a new app that's making jaws drop and drool dribble, in a way not seen since er... TextMate. It's Panic's new app Coda. What is it? Here's the blurb from their web-site:
So, we code web sites by hand. And one day, it hit us: our web workflow was wonky. We'd have our text editor open, with Transmit open to save files to the server. We'd be previewing in Safari, running queries in Terminal, using a CSS editor, and reading references on the web. "This could be easier," we realized. "And much cooler."
Coda is designed to hit that sweet spot for people who put stuff on web-sites, and that's why I tried it out. After playing with it for a little while, I had the moment of realization that the writers of Coda talked about: I saw the pain involved in switching between ftp, terminal, textmate, quicktime, and firefox, just to make the smallest change on my website. To wit, I became a convert to Coda, at least for web-programming.
A day later, a funny thing happened, I realized that the workflow in my scientific programming life, between my iMac and the Linux cluster that runs my molecular-dynamic simulations, was virtually the same.
I think a lot of you scientific programming types out there are like me. We have a cheap-skate Linux cluster that chugs away in the back room doing nasty calculations, while we sweat out most of our programming on those lovely Macs in the front room, whilst sipping a cappaccino made on that \$1000 coffee maker in the tea-room.
So we end up writing our scripts on the mac using textmate, running it our terminal, transferring files with scp, and running the scripts on the cluster with ssh. We switch madly between these apps, which, looking back, seems a little too polyamorous for my liking.
Editing files is the biggest pain of all. There is always that annoying choice between (a) editing the file remotely on Emacs and suffering the crippling loss of a gui, or (b) editing the file locally with our favourite text editor, but needing to copy the file back-and-forth with ftp.
Coda cuts the gordian knot of this dilemna. Once you log on to your cluster in Coda, you see a similar directory sidebar to Textmate, but with the monumental difference being that the files are actually on a remote server. Call it Textmate on Remote. And with just a click of the mouse, your files pop up in the built-in editor in Coda (licensed from SubEthaEdit), whilst Coda handles the pain of transferring files transparently in the background. You can even drag-and-drop files from your cluster straight onto your Mac desktop. I've even used the ftp sidebar to check the status of files during a job.
But the killer feature for me is the Terminal. One click gets me into the remote cluster. And Coda remembers all your settings, including which files you had opened on the sidebar. It allows you to open more than one terminal in well-organized tabs. And since Coda keeps track of sessions, you use Coda as a souped-up terminal manager.
I've been using Coda exclusively the last few days, and indeed, I've found that my work-flow flows better. Before I would have a cluster-fuck of apps running just to get my jobs to run. Now my screen is clear of clutter, as I only have one app running, dedicated to serving all my needs. It might even make one believe in monogamy again.
comments powered by Disqus