Archives / Search ›

UIUC’s G5 cluster, in pictures

Bonus link: the CSE/CSAR 640-node Xserve G5 cluster, under construction across the street, is undergoing final assembly. It’s a smaller version of the Virginia Tech cluster, with Myrinet interconnection, though using plain old dual 2 GHz nodes with 4 GB RAM each. Photo album, Webcam, and some descriptions are here; you can often see people working on it during the day.

Software to check out

I haven’t written too much about the software I use here in quite a while, so I’ll take this opportunity to mention some of it.

Aside from working in Terminal and Emacs, I spend the most time every day keeping my to-do lists and project plans up to date in OmniOutliner. I take notes during and after meetings, write down ideas as I think of them, paste in my research results, and generally just make sure what I need to do is staring me in the face all the time. Religious use of OmniOutliner has made a huge difference to my productivity over the past year.

The public beta of OmniOutliner 3 Professional was released yesterday; I’ve been testing it for a few months now. Overall, it’s heading in the right direction, with Omni’s typical attention to detail. My favorite new feature, by far, is the batch find; it’s terrific for searching through my archived status outlines. I’ve tried other outliners like TAO which have a lot more features, but they just feel so clunky that I couldn’t imagine using them all day, every day.

While it’s pretty well suited for to-do lists now, OmniOutliner Pro still has a way to go before it can approach MORE’s feature set for document preparation. OmniOutliner’s keyboard navigation is still a little clumsy, and I miss the removal of Command-UDLR to rearrange headlines (the defaults are now Control-Command-arrows, and somehow I can’t reassign the “Move Left” command to command-L). While the style support is much improved, with some great visual indicators of what’s going on, MORE’s rules still seem a bit more elegant. The ability to embed links and graphics (PDF!) in a collapsable fashion is much appreciated, though, since I finally had to give up embedding graphics in MORE because of some Classic display glitches and the difficulty of getting MORE-compatible high-resolution images out of OS X applications.

I’ve been reading about textSOAP for many years, but it took some prodding before I started using it recently. The software is easy to use and well-documented, and its author is extremely responsive and downright nice. I had wanted to add some features to ICeCoffEE to clean up text copied from Terminal, mainly stripping leading and trailing spaces. I was able to find a way to perform the appropriate cleanups with the then-current version of textSOAP, but a few days after I requested it, a new version was released which has the appropriate cleaners built in. Being able to put your custom cleaners into contextual menus (ICeCoffEE or not) makes them very convenient to use.

Today Ranchero’s MarsEdit weblog editor was released. I’ve been using alpha and beta versions of MarsEdit to edit this weblog for several months, and find it very easy to use; the image uploading stuff doesn’t work because of some PyDS failings, but otherwise it’s great. Once again, there are some competitors with lots more features, but I find polished software a lot more compelling than that of the “everything but the kitchen sink” variety.

A screen shot of me using as many of the tools above as I could get to work at once is here.

Finally, I got my flights and schedule for Australia nailed down this morning. I’ll be in Brisbane from December 27th to January 3rd, in Sydney on the 4th, visiting my mother’s family until the 9th, and in Melbourne until the 13th. Still need to figure out how I’m going to get to Indianapolis (or where to park such that I won’t be paying for three weeks) for my flight out on the 25th…

Do not use adhesive labels on recordable CDs

If there’s a moral I can derive from the past week, it’s above. I’ve been archiving my old data on CD-R since 1998; for the archives I made during 2001 and 2002, I printed carefully constructed labels from Illustrator using a Memorex brand CD label kit, and affixed the labels to the CDs. Thereafter, I got lazy and stopped doing that: for once, I am thankful for my laziness.

The whole story: in the last week, I’ve been setting up my mother’s new PowerBook, which has a DVD writer in it. I’ve had access to DVD writers at school for many years (even a Pioneer DVR-S201 in my old lab, which took rather expensive blanks), but the combination of an easily accessible writer at home and cheap DVD-R blanks made it seem like time to start transferring my archives to newer media.

I never expected all the CDs to be readable, but so far, there’s been a 100% correlation between the archive CDs with labels on them and lack of readability. There still remain five CDs from 2002 to try, but I don’t have much confidence in my luck with them.

If you’re looking to salvage what you can off CDs with adhesive labels, I recommend using Retrospect’s Duplicate option—Retrospect constructs a catalog of the disk first, then tries to read each file in turn, so as long as the catalog is readable, it will do a good (though time-consuming) job. The most recent CD I tried took five hours to read, and I managed to get all but 100 MB of data off it. My initial attempts to use Finder copies ditto were much less effective, aborting at the first I/O error they encountered.

Also, use a desktop, tray-loading CD-ROM drive, not a laptop or slot-loading drive, to read your old CDs; they tend to be more tolerant of discs which are unevenly balanced. The only CD with a label I’ve been able to successfully read, albeit with difficulty, in the new PowerBook’s drive is the MacHack 2003 CD; the older MacHack CDs and my archive CDs just caused the drive to stop the disc from spinning, after emitting a bunch of odd noises, and generate I/O errors thereafter.

The NIST has some useful advice on the care and feeding of recordable discs—including, of course, the admonition not to use adhesive labels. I’m also burning two copies of each DVD now—hopefully at least one copy will last until my next media changeover.

A pax on the OS X Installer

One of the worst parts of Mac OS X is its installer. “Primitive” is being generous, especially when coming from the Mac OS 9 installer, which was wonderfully elegant in operation, if a bit confusing in both authoring and licensing from a developer standpoint. It’s been three major releases and there’s still no “uninstall” or “remove” option—both the former NeXT and Apple installers had one, so they really had no excuse. Worse, the package format isn’t designed for supporting package removal, so even if some hypothetical future installer were to support it, all the existing packages couldn’t be touched. We are left with rooting around on our filesystems ourselves, or using incomplete third-party solutions like DesInstaller. The installer is getting some major revisions for Tiger, from what I hear, so I hope the uninstallation problem is solved.

At the root of the installer problems is the use of pax as an archiving utility. Given that most installations do a lot more than just unpack some files in the filesystem, it is responsible for clobbering symlinks, corrupting permissions, disrespecting users’ moving and renaming of applications, and lots more. Everyone else in the Unix world uses tar instead of pax, but for some odd reason Apple had to be different. The pax tool is a pain to use, but I’ve discovered some convenient workarounds, to follow.

Sometimes I want to see what’s inside an installer package, or extract the files from it without running the installer proper. On Mac OS 9, Apple provided the convenient TomeViewer utility; OS X’s equivalent is lsbom and pax, or the $20 shareware Pacifist. But Pacifist isn’t much help if you’re just ssh’d into a machine, or if I’m on a computer without Pacifist installed. While trying to figure out pax’s obtuse syntax for the 3000th time last week, I noticed something interesting:

% gunzip Archive.pax.gz
% file Archive.pax
Archive.pax: ASCII cpio archive (pre-SVR4 or odc)

Hmm, cpio. I wonder…

% ditto -x Archive.pax.gz Archive
% ls -l Archive
total 0
drwxrwxr-x    4 nicholas admin         136 Nov  2 18:53 Library/
drwxr-xr-x    3 nicholas wheel         102 Nov  2 18:53 private/
drwxr-xr-x    4 nicholas wheel         136 Nov  2 18:54 usr/

Make sure to use sudo if you want ditto to preserve the installer creator’s intended permissions.

A lesser-known feature of Panther’s ditto is that it can produce and unpack cpio and ZIP-format archives. In the case of ZIP, it can even include the Mac metadata in the format the Finder (really BOMArchiveHelper)’s “Create Archive” command uses, with the --sequesterRsrc option. There’s lots of useful information about using ditto for archiving in this Mac OS X Hints article.

ditto has the -z option to indicate that the cpio archive is compressed, but it seems optional (as above); you can just use -x. ditto’s option parsing is brain dead anyway; despite its use of GNU-style long options it won’t take -zx; it wants -z -x.

From the Finder, you can pick “Show Package Contents” from the package’s contextual menu, navigate into the Contents folder, and invoke BOMArchiveHelper to extract the archive; just rename the .pax.gz file to .cpgz, acknowledge the stupid alert if necessary, and double-click. You can also rename .pax to .cpio if you uncompressed it first.

So, there you have it: two considerably more convenient ways to extract .pax.gz files. You still need to use pax or Pacifist (or cpio, I guess) if you’re dealing with a huge package and don’t want to extract every file in it.

By the way, if you’re still writing installers using Apple’s pitiful PackageMaker, go get Iceberg. It’s free, and terrific—what PackageMaker should have been.

Starting the OS X screen saver

A friend of mine, and recent first-time Mac purchaser, asked whether there was a way to trigger the screen saver from the keyboard, perhaps from LaunchBar. Of course there are the hot corners, and the lesser-known menu extra (part of Keychain Access), but for whatever reason, they didn’t work for him.

If you don’t have OS X set to lock the screen when the screen saver activates, then just start ScreenSaverEngine, conveniently located in /System/Library/Frameworks/ScreenSaver.framework/Resources. Don’t do this if you have screen locking turned on in Security System Preferences; your Mac will hang on exit from the screen saver and won’t let you do anything until you reboot or log in remotely and kill loginwindow.

So, I set out to produce a tiny app that just starts the screen saver, in the same way the menu extra does, free of the above unfortunate side effect. Download StartScreenSaver here. Thanks as usual go to Can Combine Icons for the cheesy knock-off icon that took 2 minutes to make, because I have no artistic talent whatsoever.

And yeah, I know I promised I’d write some more; been real busy cleaning, doing errands, and spending too much money (plane tickets to Australia, new digital camera to document trip, non-exorbitantly-priced spare battery for camera, CompactFlash card for camera, annoying StuffIt Deluxe upgrade which doesn’t let you “custom install” and crashes installer when you try to uninstall the Archive-via-Rename functionality by itself…)

‹ Newer Posts  •  Older Posts ›