JavaVis for the Macintosh Runtime for Java
(formerly known as "RC5graph")
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
- process logfiles of the latest versions of dnetc (after version v2.8010.463)
- See the history for the other (smaller) changes!
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).
- the Program:
- 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/RC5Gwith this little AppleScript droplet.
You will need Aladdin's Stuffit Expander version 5 or higher to uncompress the archives.
- 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
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
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.javato enable the MacOs toolbox features!
- Dragged the file
RC5graph.javaon the program 'javac', then dragged
RC5graph.classon '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.
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 <email@example.com> ========== - 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.
- 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...
- 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.