In January 1995 when I began participating regularly in the NAC, I used a nice contest program for an ATARI computer, written by my son Arvin, DG3BCU. In autumn 1995, the ATARI was replaced by a LINUX system and Arvin rewrote the program in C++ (Tk user interface). Both programs could be used for various VHF/UHF contests, and they did everything from acquiring qso data to printing the log.

After having lost interest in these terrible 24-hour contests, I am only participating in the NAC, 144 MHz, so there is no need for a general-purpose contest program any more. On the other hand, the need arose for an electronic log to be mailed to the contest manager and to be placed on my web site. Thus, in spring 2002, Arvin wrote a Qt program (Tk was getting obsolete) for acquiring the qso data, and I wrote Perl and PHP scripts for processing the data. All programs are customized for the NAC.

Acquiring qso data

Screen shot Qt program

Here is a screen shot of the new Qt program’s user interface. As soon as I enter the callsign, I can see the station's locator, and a dial is telling me how to turn the antenna, provided the station and its locator can be found in a stations list (mentioned below). The program also checks for dupe qsos, allows editing of qso data and shows a preliminary result. For the equations used in this program (and result), see Distance and Azimuth.

Log file

The program produces the raw log, see example to the right. The header consists of an identifier, date, callsign and locator (callsign and locator may be set differently from default - useful while portable). The following lines contain the qso data, i.e. time, callsign, rprt tx, rprt rx and locator (no need to save the distance which can easily be re-calculated).

Processing qso data

Local processing is done by two Perl scripts which use the raw logs as input.
result generates the result log (to be sent to the contest manager).
stations generates the stations list to be used by the above mentioned Qt program.
Server-side processing is done by several PHP scripts which use the uploaded raw logs as input. Also on the web server are:
Find NAC QSOs, a search engine that will find all the NAC QSOs you had with DL6BCT,
Stations wkd in NAC, a lsit (generated on the fly) of all stations worked by DL6BCT and
Index of NAC Logs (generated on the fly).
The selected log is generated on the fly by the PHP equivalent to the above mentioned Perl script result. See 2002-07-02 for the output of the above example.
Two versions of the log can be selected:
In the text/HTML version, a formatted plain text file is sent to the browser.
In the XML version, the contest data are sent to the browser in XML (have a look at the source code), and an XSL stylesheet allows the browser to represent the data by performing a so-called XSLT (Extensible Stylesheet Language Transformation). This transformation generates an HTML document which is displayed by the browser, however, it is available only internally in your browser and you will usually have no way viewing this HTML source.
In both versions, a beam map is attached to the log. The background map is selected from 3 maps for my QTH JO43LD with radii 750 km, 1000 km and 1500 km, depending on the ODX. Two additional maps are provided for the 2 locator fields where I worked portable. Distance and azimuth are calculated for each station worked and a red dot is pasted upon the chosen beam map.

Placing my log on the Internet

Acquiring qso data and processing is done on different computers, connected by a local network. Transferring data and starting local processing is done by a bash script. Therefore, I am able to place my log on the Internet shortly after the NAC has ended.

Powered by Linux