Start | News | Requirements | Download | Credits | FAQ | Release Notes | History | Links
last updated 2001-08-20

JavaVis for the Macintosh Runtime for Java

(formerly known as "RC5graph")

Screenshots
[link to screenshot site]

Quickstart

JavaVis is a small Java program that graphs the contents of a distributed.net client's log file.

To use it just launch the program and go to the File menu to open a log file or drag&drop a logfile to the progam icon. Up to 4 recent logfiles will be remembered in the file menu.

Zooming in is accomplished by drag-selecting part of the graph with your mouse. To zoom out, control-click on the graph and choose 'complete' from the one-item popup menu.

New in release 1.5

Requirements

A distributed.net client's logfile

If you have not set up the dnetc to write one you should do that now. You may find some help on configuring the dnetc on my dnetc configuration page (German).

RC5graph must see at least one entry in your log file in order for the graph to be successful.

Macintosh Runtime for Java

Macintosh Runtime for Java (MRJ) 2.0 or higher (including MacOSX Java aka. MRJ 3) needs to be installed.

MRJ is a Java virtual machine for the Mac OS - put simply, it runs Java programs.

For MacOs (classic) Version 2.0 may work but version 2.2 or higher is strongly recommended.
Get it from Apple: http://www.info.apple.com/support/downloads.html

MRJ will work on any PowerMac or compatible computer running Mac OS 8.1 or higher.
You can check the installed version by scoping the 'Mac OS Runtime For Java' folder inside the 'Apple Extras' folder on your hard disk (assuming, of course, that you haven't moved, deleted, or otherwise played with that 'Apple Extras' folder).

Download

the Program:
JavaVis15-1.sit
Addon:
Change Creator to JavaVis - if you want to start JavaVis by simply doubleclicking the logfile you may change its TYPE and CREATOR code to TEXT/RC5G with this little AppleScript droplet.

You will need Aladdin's Stuffit Expander version 5 or higher to uncompress the archives.

Credits

programed by:
Jeff "Bovine" Lawson, William Goo, Yves Hetzer, Greg Hewgill, Jason Townsend, Andy Hedges, Stanley Appel
Mac adaption:
Michael Feiri, Michael Nahrath
thanks to:
Melanie Sinning for her help with the logo
Evan Vetere for rewriting the 'Read Me'
Paul Hink, Erich Kick, Jochen Lippert and a lot more people in news:de.comp.sys.mac for discussion, ApleScript help and testing

FAQ

See also the Release Notes for the current version!

There is another LogViewer for MacOs-computers. What is the advantage of RC5graph?
I like Dakidd's dnetc grapher as well. It has some nice features that RC5graph does not have (yet).
There are some reasons why we work on RC5graph anyway:
  • It is free and it is OpenSource.
  • I find JAVA is a fascinating technique that needed more support on the Macintosh platform.
  • It has some nice features that Dakidd's 'dnetc grapher' does not have (yet) :)
Why is there a special MacOs-Version? Isn't JAVA is the same for all platforms?
It is (allmost...).
On other platforms JAVA programs are started with several parameters from the commandline (more exactly: the JAVA runtime is started and the JAVA-program to execute is given to it as parameter).
On MacOs there is no commandline but there is a GUI-interface called JBindery. It can run JAVA-programs, but it can also wrap them with a small starter application and some resources. That is what we did.
The Help menu contains extra entries for 'Contextual Menus' and 'About JavaVis...'
First seems to be an incompatibility of the MRJ with non-English MacOs-versions.
Second is a result of the straight JAVA port.
Can I build the MacOs-application out of the common JAVA-code on my own?
Yes, whereas it will be not identical with the version that is distributed here (which was built using CodeWarrier and some MacOs-X tools).
Downloaded the sources from distributed.net!
A live mirror of the CVS reposirory can be found at http://cvs.distributed.net/
Downloaded the MRJ SDK (MRJ Software Developper Kit) from Apple and install it!
Uncommented 5 (allready existing) lines in RC5graph.java to enable the MacOs toolbox features!
Dragged the file RC5graph.java on the program 'javac', then dragged RC5graph.class on 'JBindery' and save as an application. That's it!
There was some more finetuning for this distribution, but if you want to add new features to the Java-code the described way should be sufficient.
What should I do, if I find bugs/ if I have ideas for enhancements?
You can download the sources at http://distributed.net/source/ and work with it on your own.
You can extract all MacOs-specific resources from the application-file with ResEdit or another resource editor.
Please send questions about the JAVA-code to Jeff "Bovine" Lawson, we didn't change that stuff.
The MacOs port of the current version was mainly done by Michael Feiri, but you may ask me as well.
Should I increase the application's memory if my log file is very big?
No. MRJ dynamically uses system-memory.
RC5graph is just the wrapped .class-files with a small starter application.
There is a one-year gap in the middle of the graph
The log file contains no information about the year. If there are entries that don't follow to the prior ones logically, RC5graph assumes that a new year has begun.
This usually happens if your Mac looses the correct time by a weak PRAM-batery or hardware reset.
What does the version number "1.3.1 (MRJ 1.2)" mean?
The first number "1.3.1" is the version of the Java code (I changed the 1.3-code by uncommenting the MRJ-specific lines). The number in brackets "1.2.2" means the work I did on the MacOs resources.
Note: this was changed in version 1.4 which carries only the source's version number.

Release Notes

Michael Feiri's notes about the Mac port

(...)
The main new features are multiproject support and the fact that this
application is now doubleclickable from MacOS 8.0 on a 68k machine up to
MacOSX PB on a G4 MP using only one single copy of the JAR file internally
accessed by different wrapper apps. [Read: I think this is cool :-)]

(...)
The new packaging approach and such MacOSX support in general are quite new
and rather uncommon. For that reason I have some notes about the behavior
and some caveats. (...)

* The logfile format will change in version 464 of dnetc you will have to
wait for an updated version of this application to see information generated
by dnetc 464 or higher.

* Stability issues sem to plague this application when stared under MacOSX
by doubleclicking it. For example I experienced frequent crashes in the open
dialogue (which gets provided by the system not by this application).
Strangely JavaVis seems to run perfectly when started through the
commandline via the Terminal application. Ergo, this is most likely a bug in
MacOSX PB.

* This application was wrapped for MacOS 7/8/9 using JBindery 2.2 and could
theoretically even run with MRJ 1.x. But because Apple doesnt support MRJ
1.x anymore and because I didnt have a chance to test this I wrote that
JavaVis 1.4 requires MRJ 2.0 or higher.

* MacOS 7 and 8 doesnt support packages. Users will see a strange subfolder
hierarchy that normally makes up the package behind the scenes. A small text
clip explaining whats going on and the alias to the main application file at
the top level of the hierarchy should easily guide users to do the right
thing.

* You may not use special characters like the curled "f" anywhere in the
pathname of JavaVis because Java will not be able to find its main class.
Bug in MacOSX PB.

* There is no splashscreen and no drag&drop for JavaVis under MacOSX.

Have fun!

Ciao, Michael d:-)

Readme.txt from the source distribution

This is a Java Application (not Applet) that attempts to provide
functionality that is similar to the distributed.net Win32 Log
Visualizer, but in a Java implementation that should be equally usable
on many other platforms that have full Java implementations. It allows
you to load the text log file that are produced by the distributed.net
client and graphically view trends in actual keyrate produced by the
client.

This application uses AWT and should be runnable on all Java 1.1 virtual
machine implementations. It is being distributed as a JAR archive file
containing all of the pre-compiled Java class files.


If you have the Sun JAVA SDK installed, execute this JAR with:
    java -jar JavaVis.jar

If you have the Microsoft Java VM installed, execute this JAR with:
    jview /cp:a JavaVis.jar RC5graph.class


The Java source code is available in the enclosed zip file.

For more information about distributed.net and how to become a part of
the largest computer on earth, please visit http://www.distributed.net/

TODO.txt from the source distribution

The following is a list of items that are open for development by
others. If you would like to do one of these items, or something else
that you have thought of that is not listed, please let your intentions
be known to Jeff Lawson <bovine@distributed.net>

==========

- graph performance on several contests at the same time with a different 
color for each.

- add a "Status bar" and display the progress/notification messages
there, instead of painting them within the graph window.

History

2000-01-06
downloaded JavaVis 1.0. Betatesting the code with Yves untill JavaVis 1.1 is ready and working with MRJ
...
several versions and learning how to work with ResEdit and JBindey...
2000-02-01
upgrade to MRJ 2.2
2000-05-07   1.1 (MRJ 1.0)
first public release
2000-05-21   1.3 (MRJ 1.1)
based on new sources, new Icons
2000-07-10   1.3.1 (MRJ 1.2)
finally found the code in RC5graph.java to activate the MRJ-Toolbox interface. Drag&drop and opening logfiles by doubleclicking works.
Added an AppleScript droplet to adapt type and creator of log files.
2000-07-12   1.3.1 (MRJ 1.2.2)
Removed the superfluous 'Quit...' entry in the Apple menu.
Drag&drop works with log files of the original file type 'RC5P'.
2000-11-26   1.4
Updated to version 1.4 of the common Java codebase.
Renamed to JavaVis because we support multiple contests now.
Built with CodeWarrior, wrapped using JBindery and MRJAppBuilderX.
The application file is now a package and doubleclickable under MacOSX.
Under MacOS the preference file “LogFileHistory.bin” gets hidden inside the package.
2001-08-08   1.5
Updated to version 1.5 of the common Java codebase.
This version should be able to correctly process logfiles of the latest versions of dnetc.
Tiny cosmetic changes in the application and the "Read Me" file.
MRJ specifics are now much better integrated into the common codebase.

distributed.net | Michi's dnet-site | Michi's Homepage | e-mail