
The big splash in the Mac community--and the rest of the world--last week was obviously the iPhone. For Mac users, though, the iPhone announcement may have distracted from the really big news: Amit Singh's release of a
MacFUSE beta, his port of the Linux FUSE API to OS X. If you're wondering what, exactly, that means, FUSE stands for Filesystem in USErland, and it provides a generic interface that lets the operating system see virtually anything as a filesystem. Historically, adding new filesystem recognition to an operating system has meant modifying the kernel for each new FS. FUSE, though, provides a single interface that filesystem modules use to interface with the OS. Best of all, anything that provides the correct interface can be interpreted as a filesystem. One enterprising Python programmer even developed a script to let users mount their GMail accounts and use the extra space in their accounts to save files.
What does this mean for Mac users? A lot. First and foremost, the FUSE NTFS driver seems to work with MacFUSE, so we can finally use NTFS volumes as well as FAT volumes. Web developers and anyone else who manages files via SFTP should rejoice, too. SSHFS (included with the MacFUSE binary) allows users to mount a remote SSH/SFTP directory as if it were a local disk. That means no more synchronizing files with an SFTP client. And while the
GMailFS python bindings need a little work, the fixes look trivial, and soon we should all be able to put our extra GMail space to better use.
Amit doesn't think that MacFUSE is ready for production use yet, hence the "b" after the version number, so if you're using it for anything important, make sure you've got backups. If you do run into trouble with it, updates are being released almost daily at the moment. That said, though, my trials of it seem pretty stable. The only issues I've seen have been network related. If the system doesn't get a response to a remote query, it will hang. That can mean the dreaded "Spinning Beachball" in the Finder. In most cases, the problem eventually clears itself. If you're navigating via the shell, a simple Ctrl-C cancels the hanging action.
So how do you get MacFUSE up and running for yourself? Glad you asked.