Steps to running Muffin on my Mac

Kurt Thams referred me to Muffin. Muffin is a Java application that you can situate to snitch on what your browser says to web sites and vice-versa. Muffin is under GPL and you can adapt the code to your special needs if you know Java.

I had not run real Java applications before so I expected this to be a small adventure. This is my log.

First I fetched the tar file which is just the sources. I should have known better. When I discovered that I would have to run the compiler I went back to the Muffin page and found the “.jar” file in plain sight which I have learned in other contexts is a platform neutral format for Java, something close to an executable. I got the jar file. Netscape put a file called “muffin.jar” on my disk.

Mac OS 8.6 comes with MRJ which is Apple’s way of running Java applications (and applets) for the Mac. As far as I can tell, however that does not suffice to run a .jar file.

When I double clicked on the .jar file no application would claim the file but Apple’s Finder referred me to JBindery and Stuffit Expander as applications that might be willing to take a look. A .jar file is much like a Unix .tar file and that is why Stuffit was nominated, but it would merely unpack the .jar files into many small .class files, which I suspected from other experience would not put me further ahead.

JBindery was part of “MRJ SDK 2.1” which is the package from Apple for those who would write Java, and also, I suppose, who would run .jar files. MRJ SDK does not come with Mac OS but it is freely available from Apple.

JBindery asked me the name of the class at which to begin execution. It suggested the name “muffin” which it took from the name of the file. Alas it soon discovered that there was no such class in the .jar file. I looked thru the source and noticed that there was a class named “Muffin”. JBindery was much happier with “Muffin”. At the same time I turned on the JBindery option (under security) to verify the byte codes, being a professional paranoid in this context.

At this point two windows appeared. The last line in the big window said: “Muffin 0.9.1 running on port 51966”, and so I tried the following URL with Netscape: I got the “Muffin: Remote Admin” page!

Upon launch Muffin said “Creating new configuration: default.conf”, but there was no such file. Perhaps it was because I had selected byte code verification. That seems wrong; It should have failed to verify or asked me if I wanted to allow file creation. I created such a file as a flat file and subsequent operations added log entries. Muffin could write even if it could not create the file.

I think that Java applications are still usable only by Java programmers. I once wrote and debugged Java applets, but not recently enough.