[MacLoggerContest] Journalling
Jack Brindle
jackbrindle at earthlink.net
Sat Mar 12 14:25:27 EST 2005
Before I go on to the next topic, let me report my research on the
journalling issue. I sent a previous email on this, but it somehow got
lost.
I spent some time going over the operation of several PC-based contest
programs, including TRLog, WriteLog and N1MM. Several of the programs
(very notably WriteLog) keep their log information in RAM, writing it
to storage only when requested. This provides for fast access to all
data, but also leaves that data open to loss on a power failure or
other computer calamity (faulty pointers, etc). The reason for this is
that in the early days of PCs, especially under DOS, mass storage
consisted of some hard disks, but mainly floppies. Neither were that
reliable, and all were very slow (especially floppies). Thus for fast
access to data, you really needed to have that data in RAM. The
solution was to keep a journal file for all data written into the log,
and only write out the entire log when needed (or requested by the
user). If there was a problem, the log could be rebuilt with the
journal file. Of course, since the media was slow, the journal file
writes were also slow, but at least you didn't have to write the entire
log. The authors went to a lot of trouble to make this system work in
light of the hardware/OS facilities at hand.
Newer programs have tended to require more reliable hardware / OS, and
have moved to different techniques to handle reliability issues. It is
interesting that N1MM does not use an explicit journal file, although
it may be built in to the Access database.
At the risk of getting into implementation, I would suggest a better
scenario is to keep the log on disk, with an in-memory log tree
maintaining rudimentary information (callsign) along with an index into
the log file for the QSO entry. You then get the best of both worlds,
with the immediately-written log file eliminating the need for a
journal and fast access to commonly needed information. There are some
problems with this scenario, such as how to handle multiple QSOs with a
single station for contests that allow it, but those can easily be
taken care of by intelligent software design.
There are big advantages to using contemporary MacOS X systems. Not
having to pull tricks to help out old, slow systems is definitely a
plus!
-Jack Brindle, W6FB
=======================================================================
More information about the MacLoggerContest
mailing list