Log It! Version 1.30 School Club Roundup Logging Software Programmer: Nicholas Radtke (KC7MOD) Table of Contents License Agreement ------------------------- 1 System Requirements ----------------------- 2 What is JAVA? ----------------------------- 3 Overview ---------------------------------- 4 Running the Server ------------------------ 5 Running the Client ------------------------ 6 Using the Program ------------------------- 7 1. License Agreement This is free software. No responsibility is accepted for any damage that may be inflicted (directly or indirectly) to your system. Comments, questions, etc. are encouraged and may be sent to the author, Nicholas Radtke (KC7MOD) at radtken@aztec.asu.edu. 2. System Requirements -TCP/IP network protocol -JAVA Virtual Machine version 1.2 or later -1 Meg free drive space (program only) Recommended software/hardware -Mouse -QRZ callsign database Note: Since this software was written in JAVA, it is able to be run on just about any platform (i.e. PC, UNIX, Mac, etc.). As long as there is a JAVA Virtual Machine available for the platform, this software should run. 3. What is JAVA? JAVA is a new programming language designed by Sun Microsystems. JAVA programs are compiled into a binary form that may then be interpreted by a JAVA Virtual Machine (JVM). JAVA Virtual Machines are available for most platforms. In this way, JAVA programs become portable to any JAVA environment. A JAVA Virtual Machine for MSWindows '95 is included in the MSWindows 95 JAVA Runtime Environment (JRE) that can be freely downloaded from http://java.sun.com. JRE's for other platforms are also available through this site. The installation instructions must be followed carefully to ensure that the correct PATHs are set. 4. Overview This software is intended for the mid-February School Club Roundup Amateur Radio Contest. One objective of the contest is to get students talking on the radio by exchanging information in a low-pressure situation. Stations participating in the contest must exchange their callsign, signal report, class (individual, club, or school station), and state/Canadian province/country. The features of this software include: - Full network support so that more than one computer can monitor the progress of the contest. - Dupe (duplicate) checking. - Chat window for talking to other client users connected to the same server. - State/province identification by callsign if the QRZ callsign database is available. - Country identification by callsign. - Automatic scoring. New features in version 1.30 include: - A bug with Microsoft operating systems resulted in the file allocation table (FAT) not being updated when a file buffer was flushed. As a result, a power interruption to a computer running Log It! would result in lost data. A work-around has been implemented. - In accordance with a rule change, Canadian provinces now count as multipliers. When contacting a Canadian province, the standard postal abbreviation for the province should be entered in the State field. For countries other than the United States and Canada, the State field should contain the string "DX". - The Statistics window contains a progress bar indicating the amount of time elapsed since the prior QSO. This is handy in determining when to take 30 minute breaks from operating. - The client may now be run in safe mode. Safe mode disables the user from logging QSOs or editing the log. This is useful if a person wishes to monitor the progress of the contest from a remote location without risk of interfering. Chat may still be sent from a client running in safe mode. - The Operators window now includes the amount of time each operator has worked, the percentage of the total contest time, and the average QSO rate for each operator. New features in version 1.20 include: -Statistic window displays QSO rates, TIME ON during the last 24 hours (restriction in the contest rules), and QSO band distribution. -Partial Callsign Match window searches for partial callsign matches already in the log based on the text entered in the main window's callsign textbox. New features in version 1.12 include: -Operators window displays number and percentage of QSOs per operator. -Automatically inserts DX into the State field when callsign is not from the United States. -Notifies user when callsign is from a state/country that is a needed multiplier. -Double clicking on a log entry brings up an Edit window. -Hitting in the Edit window is the same as pressing the Change button. Hitting is the same as pressing the Cancel button. -Multiple Edit windows are no longer allowed. -+ is a shortcut for the Send button in the Chat window. 5. Running the Server To start the server, change to the server directory and type: Server [QRZ database] Where: is the name of the JAVA Virtual Machine (probably "java"). is the pathname of the log file. is the pathname to a backup copy of the log file. (If possible, and should be on different physical drives to protect the data from a drive crash.) [QRZ database] is the optional pathname to the QRZ database file sorted by callsign. For example to keep a log file on the hard drive at "c:\contest\KC7MOD.LOG", a backup copy on floppy at "a:\KC7MOD.BAK", and incorporate the QRZ database at "d:\callbk\callbkc.dat" type: java Server c:\contest\KC7MOD.LOG a:\KC7MOD.BAK d:\callbk\callbkc.dat Or, to do the same, but not use the QRZ database type: java Server c:\contest\KC7MOD.LOG a:\KC7MOD.BAK If everything is OK, the server displays "Server running..." There is no specific provision to stop the server. On MSWindows 95, or UNIX, the server may be stopped by entering +C. After being interrupted, the server may be re-started in the same way it was originally started. The log files are automatically validated and re-synchronized, even if only one still exists. Clients still connected at the time of a server interruption must be restarted. 6. Running the Client Once the server is up and running, the client may be started from the client directory by typing: Client [-s] Where: is the name of the JAVA Virtual Machine (probably "java"). is the actual hostname or IP address of the server machine. If the client is run on the same machine as the server, "127.0.0.1" or "localhost" may be used. [-s] optional flag indicating the client should be run in safe mode. In safe mode, the client is unable to submit information to the log. The ability to edit existing log entries is also disabled. The Client should be run in safe mode when a person only wishes to monitor the progress of the contest. For example, to run the client on a machine already running the server type: java Client 127.0.0.1 Or, to run the client but use the server on a remote machine at 197.104.210.4 type: java Client 197.104.210.4 Note: Multiple copies of the client may be run on multiple machines. Once a client is launched and it makes a successful connection, a window will pop up. Clients may be stopped (File pull down menu) and re-started at any time. 7. Using the Program When a copy of the client is run, the main window titled "Log It!" appears. The cursor starts in the textfield labeled "Callsign". When a callsign is entered in this textfield followed by a , the cursor automatically moves to the textfield labeled "RST". If a QRZ database is being used by the server and the callsign exists, the textfield labeled "State" is filled in. Also, if the QRZ database reports the callsign to be either a club or a school, the "Class" field is updated and a message is displayed at the bottom of the window. Finally, the textfield named "Country" is initialized with the correct country. If the callsign is a duplicate already contained in the log, the program will display a warning message. If this is not the case and all the information is correct, or the "Log It" button may be pressed to log the data. Otherwise, may be used to navigate through the "RST", "Class", "State", and "Callsign" fields. The mouse or will move the focus through the remaining menus, textfields, and listboxes. Note that after entering a callsign in the callsign textfield and hitting , the program will not perform a QRZ database lookup nor will it fill in the country textfield. In order to use this feature, the must be pressed instead. Every time the "Log it" button is pushed, or the key pressed, all the information is logged. Each new state or country is marked with an asterisk. The "State" field should contain the standard postal abbreviations for United States and Canadian callsigns. For all other countries, the string "DX" should be entered. A warning is displayed for duplicate callsign entries. Please be sure that the "Operator" field is supplied and that the band and mode are correct. A log entry may be corrected by selecting it and clicking the "Edit" button. Changes may then be made in the edit window and accepted with the "Change" button, or rejected with the "Cancel" button. Every time 30 minutes elapses without a contact, a blank line is appended to the log. This represents a "TIME OFF" and is not calculated into the elapsed time. The "File" pull down menu contains the exit option. The "Edit" pull down menu contains the "Clear Fields" option which may be selected to reset the fields on the bottom of the main window. The "Callsign", "State", and "Country" fields are cleared, "RST" is reset to either "59" or "599", and the "Class" is reset to "I". The "Window" pull down menu presents seven choices. "Contacts" brings up a summary of state, province, and country QSO's. "Score" reports the current score. "Lookup" displays the name, class of license, and address of the last callsign entered in the "Callsign" field of the main window if the QRZ Database is being used. The "Operators" window displays the name of the operators along with the number and percentage of QSOs obtained during the contest. It also contains the amount of time each operator has worked, the percentage of the contest elapsed time this represents, and the average QSO rate. (NOTE: Operators are extracted from the names entered in the Operator textfield in the main window.) Other windows include "Chat", "Rates and Statistics", and "Partial Callsign Match". The "Rates and Statistics" window contains two panels. The first panel displays the current rate of QSOs based on the last 20 and 60 minute intervals. It also displays the average rate for the entire period operated during the contest. Next, the first panel displays the TIME ON (ie time operated) during the last 24 hours. This is useful because the official rules prohibit operating more than six hours in a 24 hour period. Finally, the first panel contains a progress bar indicating the amount of elapsed time since the prior QSO. This is useful for deciding when to take a 30 minute break. The second panel of this window simply displays the number of QSOs per band. The "Partial Callsign Match" window helps accelerate the "hunt and pounce" method of contest operating. When a character is entered in the callsign textfield in the main window, the "Partial Callsign Match" window immediately searches through the contest log, looking for callsigns that contain the pattern in the textfield. It then displays up to 50 matches. For example, if the pattern "MO" were entered in callsign textfield, the "Partial Callsign Match" might display the callsigns "KC7MOD" and "KC7MOC", assuming both these stations were already in the log. It would not find "WA7ZPU", since this callsign does not contain the pattern "MO". The "Chat" window may be used to communicate with other clients. It contains a conversation log, a list of client operators, and a box to enter new text. Clicking the "send" button will broadcast the entered text to all attached clients. When chat is received, it is added to the conversation log and displayed at the bottom of the main window. An audio alert is also sounded. The key remains active and may be used to navigate through the various controls. The chat text is also logged to the file "server\chat.txt". Please report any bugs and send suggestions, comments, etc. to: KC7MOD Nicholas Radtke radtken@aztec.asu.edu This software is available for download at: http://www.asu.edu/clubs/amateur_radio_society http://www.hayden.edu/~ham Happy contesting!