Senior’s Independent Programming Project Reaches Thousands

Editor’s note: This article was initially published in The Daily Gazette, Swarthmore’s online, daily newspaper founded in Fall 1996. As of Fall 2018, the DG has merged with The Phoenix. See the about page to read more about the DG.

macfusion.jpg

During winter break last year, Michael Gorbach ‘08 “went into an insane coding frenzy” and wrote a program for the Mac called MacFusion. He explained it as something that “takes any information, any information of any kind, and puts it on your screen as files and folders” — which is “useful because people are very comfortable with files and folders, especially Mac users.”

The latest version (released in July) has about 43,000 downloads. There is also a new version, “a complete rewrite to take advantage of cool new Leopard features,” on the way, which will probably be ready for public use within a month or so.

For those who know what this means, the program, called MacFusion, is a graphical interface for the FUSE mechanism, which has been around on Linux for years. Last winter break, Gorbach said he was thinking “Man, Macs really need FUSE, someone should do that”; because it’s open source, he downloaded the source code. After looking it over, he decided “I would have to be a crazy maniac…to port this; it’s a lot of work.” Luckily, Amit Singh, a Google employee, is apparently such a crazy maniac: during that break, he released his Mac OS X port.

There are a wide variety of plugins for FUSE, many of them dealing with various ways of editing files on another server as if they were on your own; other notable ones include transparent encryption of files on your hard drive and revision control systems. MacFusion aims to make it as easy as possible for people to use these filesystems on their Macs by providing a relatively simple graphical user interface for them. Right now, it only does remote file access (built-in) and encryption (with a plugin), but Gorbach says more are on the way.

Gorbach, a computer science and physics double-major, says that doing this kind of program “has a lot of value: you learn how to program, of course,” but also “you learn how to manage a team — I actually learned how to work with people.” His web designer is from Germany, his technical support person is from Britain, and a lot of users are from Russia or Sweden. “It’s not what you learn in class,” he said, but “it’s important.”

A small part of the online open source community has gathered around Gorbach’s work: the development mailing list has 234 members. Currently, the program’s homepage is hosted on SCCS’s servers, but it is in the process of being moved to a new server donated by a company that wants to help support open source projects, like MacFusion.

The program also helped him to land a coveted position at Apple. He got an internship there last summer largely because they could see his code in a publicly released, open source application; after his internship, he said, they offered him a development position after he graduates. (“Even if I knew any specifics about what I’m going to be doing,” he said, “I couldn’t tell you.”)

“It would be cool to see more Swat people doing this,” he says. “Go to MIT, ask their CS majors what they’re doing — you’ll find that a lot of them are doing this kind of stuff. It’s not that it’s hard, it’s not that people here don’t have the skills, because they do.” Rather, “it’s that people here are tied up with stuff.” Whenever he’s at school, Gorbach says “there’s a constant little conflict: ‘Do I do classwork or do I work on this stuff?’” That kind of conflict occurs with almost any extracurricular activity at Swarthmore, of course, but it seems that in the realm of computer programming very few Swatties have written something of this magnitude.

Get MacFusion here!

Gorbach isn’t Swarthmore’s only home-grown software developer. Last year, the Gazette caught up with David Rosen, the founder of Wolfire, a game development company.

Leave a Reply

Your email address will not be published. Required fields are marked *