1.4.x Release Notes

1.4.15 2012.05.18

Misfeatures fixed

Something about the Apple LLVM 4.0 compiler leads to a SkookumLogger crash at startup, only on Snow Leopard. This release is the same as 1.4.14 except that it is compiled with LLVM GCC 4.2 and does not crash on Snow Leopard.

NOTE: In the not-too-distant future, SkookumLogger will require at least OS X 1.7 (Lion).

1.4.14 2012.05.08

New features

Added a contextual menu to Activity tables. The menu lists actions that can be applied to the selected activity, along with their double-click shortcuts.

Added a new Activity table action: Blacklist (control-double-click). The activity’s call is added to a list of calls that will subsequently be ignored in spots received from the internet. The list is temporary; it is initially empty each time you start SkookumLogger. Use this feature to filter out uninteresting spots for the current contest, such as an HB9 calling CQ DX in the Helvetia contest. Or, use the feature to suppress common busted spots like LW3LPL.

Added Contest Rules Web Site item to Help menu.

Added Normalize P3 and Focus P3 to the Radio menu. These commands are enabled only if you are connected to a K3 radio, and have no effect if that connection does not pass through a P3. Normalize sets the P3 SPAN to 50 and the P3 CENTER to 25 kHz up from the lower edge of the current K3 band. Focus sets SPAN to 5 and CENTER to 2 kHz above the current K3 main receiver frequency. At present, these changes to P3 settings are lost when you change bands, due to a bug in the P3 firmware. Use these  commands with P3 FixTrack set to Fixed-tune mode.


Updated the SkookumLogger User Guide, available via the Help menu item. Thanks GØDVJ.

Revived the ability to choose receive antenna by clicking on the great circle map.

Changed certificates used for code-signing to conform to Apple security features to be introduced in Mountain Lion. This should have no effect on users; please let me know if you encounter difficulties.

Changed exchange-guessing behavior as follows: do not guess info field content when the call appears to be a mobile station. As a consequence, the call is no longer decorated as worked before in activity tables. Mobile stations are identified by the presence of "/M" in the call. So, this small adjustment works nicely for WA1Z/M in NEQP, but not for the case where a county abbreviation is appended to a call.

1.4.13 2012.04.14

Misfeatures fixed

SkookumLogger 1.4.12 crashes if you haven't defined a special key for Keyboard Mode in your Logging preferences. Thanks NE1RD.

1.4.12 2012.04.11

New features

Added support for: RSGB 2m Trophy Contest, RSGB 70cm Trophy Contest, RSGB 2m Marconi Contest, RSGB 4m Contest, RSGB 80m & 40m Low Power Contest. Testing by GØDVJ.


Morse Keyboard behavior has been modified to accommodate a power user who = customizes keyboard bindings to accomplish text editing commands. The change reduces the cases where keyboard sending stalls after deleting the content of the text entry field. A known border case remains: if you select the field content and begin typing, the first character that you type will not be sent. I'm not going to fix this issue. Instead, either press delete before you begin typing, or press escape to select and delete the field content in one keystroke. Thanks JH5GHM.

When you begin editing a QSO, it is removed from the log. If you began editing another QSO without saving an existing edit, the QSO was permanently lost. Now, SkookumLogger save an existing edit before beginning a new one. Note that each save may take several seconds depending on the number of QSOs in your log, and SkookumLogger will become confused if you ask it to perform this cycle too quickly. That is, do not hammer on the Edit Selected QSO shortcut key. Thanks, JH5GHM.

Misfeatures Fixed

The RSGB 2m AFS contest was triggering a fatal internal check in attempting to ask the contest rules object for the grid square of a QSO; the contest doesn't have grid square multipliers.

The change in Name QSO entry field update behavior in the previous release was a regression that caused any typing in that entry field to be lost when the QSO was saved. If the field was initially empty, then SkookumLogger would complain about an incomplete QSO, even though it appeared that all fields were properly filled-in. Thanks W2RU.

1.4.11 2012.03.30


White spaces are now trimmed around fields read from the CWops database, to remove spurious blank characters surrounding some names.

Clear QSO (F11) now always clears the Info QSO entry field; previously the content wasn’t cleared if you changed the content and did not navigate out before wiping. 

The Name QSO entry field now updates the internal value used by the Morse message name token (+) on every keystroke, instead of only when navigating out of the name field. So, you don’t have to leave the field before triggering a message containing the name token. Thanks W2RU.

The F5 + F2 message now waits until the F5 component (his call) is sent before constructing the F2 message. So now you don’t have to get the complete call entered (to look up the name) before triggering the message. Thanks W2RU.

SkookumLogger does not pre-fill the Serial QSO entry field. However, it does pre-fill the Info QSO entry field by matching the call against QSOs in the current log. For some QSOs in some contests, the value of the Info field may be a serial, causing inconsistent behavior. Now, for those contests, if the Info value from the previous QSO looks like a serial (technically, the string value converts to an integer), then the pre-fill step is skipped. The contests affected by this change are: ARRL 10, Helvetia, Hungarian, RAC, RDXC, Ukrainian, Romanian. Thanks JH5GHM.

1.4.10 2012.03.28


The terminator contour is drawn by computing a table of points on the contour and “connecting the dots.” Near local sunrise and sunset, points on the outer edge of the contour are widely spaced, and connecting them with straight lines yields an ugly graphic. SkookumLogger now detects this case and draws a filled semi-circle instead. You won't see this effect unless you happen to trigger a great circle map redraw within a few minutes of your local sunrise or sunset.

1.4.9 2012.03.17


Reduced the Green Heron rotator polling rate from 10 Hz to 5 Hz, which seems to improve display tracking for W2RU.

The Great Circle Map window no longer hides when SkookumLogger becomes inactive.

Misfeatures fixed

Fixed event dates list for CWT. The 03Z event dates were in the previous week for months with first day on Thursday.

Fixed nasty bug. Symptom was sent serial did not advance in RDXC, but source was more pernicious. Thanks W2RU.

1.4.8 2012.03.15

New features

The Name and Club Name QSO entry fields now accept mixed-case input, rather than forcing all entry to uppercase.

The Morse Messages editor recoginizes a new token, the + character. When encountered in a CW message, SkookumLogger substitutes the current content of the active Name QSO entry field. If that field is empty or doesn't exist, SkookumLogger looks for a name in your Exchange Database. 


Increased the Green Heron rotator polling rate by a factor of 100. Apparently, newer models than mine do not automatically send a message when bearing changes, probably to accommodate stupid software that barfs on unexpected messages. Thanks W2RU.

1.4.7 2012.03.13

New features

Logging preferences has a new checkbox, Confirm Close Log. When not checked, SkookumLogger won't bother you with an alert when you close your log. Thanks GØDVJ.


The File ▶ Download CWops Database command now uses an updated URL that will not change in the future. Previously, the URL contained the file version date, so that SkookumLogger had to be updated each time a new database was released. The new URL is http://cwops.org/software/call_name_id.csv. Thanks K6MM.

System-provided text entry completions are now disabled in all QSO data entry fields. SkookumLogger-provided completions remain in effect for the Club Name and Info fields. This may prevent an obscure crash reported by JH5GHM.

USB-serial port port names are now sorted alphabetically in the popup lists in Serial preferences.

Misfeatures fixed

The Time Tracker now saves settings and recomputes derived values when you change any of the four editable fields. Thanks GØDVJ.

Corrected the official prefix for Gibraltar and added 5B, for the RSGB Commonwealth (BERU) contest. Thanks GØDVJ.

The background image for the Great Circle Map window vanished as a side-effect of my adding a second kind of Switch device in the Serial panel. Thanks GØDVJ.

1.4.6 2012.03.03

Misfeatures fixed

The Call field in Me preferences and the Contest Call field in Exchange preferences were accepting lowercase characters instead of converting them to uppercase. Now they do the Right Thing. A lowercase contest call in the ARRL DX contest caused the determination of country for that call to fail, leading to many suspect calls. Now the country determination algorithm upcases the call being tested. Thanks waØbnx.

Corrected several careless bugs in BERU support. Thanks GØDVJ.

1.4.5 2012.03.02

New features

Added Database Versions… item to the File menu, opening a utility window listing the modification dates for each of the five databases listed in the File menu. For the Countries and SCP databases, the date is extracted from within the respective file and presented verbatim. For the other databases, the date is extracted from the OS X file system and presented in yyyy.mm.dd format.

When the File ▶ Update Exchange Database command is run, SkookumLogger now writes an additional file in JSON format: ~/Library/Application Support/SkookumLogger/ExchangeDatabase.json. Currently SkookumLogger does not read this file.

1.4.4 2012.02.28

New features

Added limited support for the RSGB Commonwealth contest (aka BERU). The limits are that the entrant must be in UK, and the score computation excludes bonus points for HQ QSOs. Requested by GØDVJ.


The Great Circle Map menu item has moved from the View menu to the Antenna menu. The associated preferences pane is gone; the items from that pane now appear directly in the map window. Other changes associated with antenna switching have been made, but shouldn’t affect any users except me since nobody else has (as far as I know) the requisite USB switching hardware. For information: I am replacing an external band decoder and a Green Heron Everyware remote switch with a YCCC MOAS (Mother Of All Switches).

1.4.3 2012.02.20

New features

All Checksheets now show the number of multipliers worked instead of simple checkmarks. This might be helpful during a contest like Sweepstakes, where it can be prudent to work more than one of each multiplier. It is also interesting to examine what you worked after the contest, by sorting on the table columns. Thanks W2CS.

A new perference with no user interface sets the initial content for the Soapbox field that is exported for Cabrillo logs. The preference key is InitialSoapbox. If you don’t know how to edit preference files, then you don’t care about this feature.


The code for detecting and listing partial call sign matches has been revamped, again. The list is updated each time the call entry field is changed, with no effect on CW sending. As before, no matches are listed unless the call field has at least 3 characters, and the matching algorithm allows any number of characters before and after the partial call being matched.

The algorithm for applying adornments (font/color) to the list of partial call matches now tests each matched call in this order: is dupe, is multiplier, is needed, otherwise.

The antenna switch controller now notices radio band changes and updates the antenna pattern displays.

Deleting a QSO from your log now removes the call from the list of known calls if that call isn’t in the Super-Check-Partial database.

Deleting the last QSO from your log now updates the Score window.

Score computation is now performed in a background thread so that it doesn’t affect UI responsiveness or CW sending.

Adding a QSO to your log now updates the Pass Information window.

Logging a QSO or wiping a QSO entry no longer removes the locator dots on the Great Circle Map and antenna pattern displays. Requested by W2RU.

Misfeatures fixed

Cabrillo export for ARRL DX contests was filling the power field with “(null)”. Reported by KH6CW.

Correct mode wasn’t. Thanks, KH6CW.

1.4.2 2012.01.29

New features

Revived support for Dutch PACC contest, for entrants outside the Netherlands.

Misfeatures fixed

Eliminated a variable-length delay that occurred in the His Call + Exchange Morse message, between the end of his call and the beginning of the exchange.

In CQ 160, no longer prefill K and VE exchange with CQ zone when nothing is found in the exchange archive.

Modified automatic antenna switching for W1FV array so that changes are made when navigating out the call entry field, rather than on every character entry in the call field. Switching transients and signal level changes were causing too many busted calls.

1.4.1 2012.01.18

New features

Jim, AD1C, supplied a database of IOTA reference numbers for prefixes that have one and only one IOTA. SkookumLogger now uses that database to guess IOTAs when your Exchange Archive doesn't contain one.

Exchange guessing for the grid field was falling back to grid computed from geographic coordinates in the Countries database when no match was found in your Exchange Archive. GØDVJ didn't like that, so the fallback has been removed. The QSO Information line continues shows the computed grid value.

SkookumLogger now supports the Hungarian DX Contest, requested by Keith, G6NHU.

Misfeatures fixed

An unpublished scheme for importing previous text-file call histories was failing to save the updated archive after the import. Thanks GØDVJ.

A change made last October caused mysterious failures associated with special keys. Specifically, assigning a key with an extended character code didn't work because the change was treating the character code as char instead of unichar. For example, using § (section sign) as the Magic Message special key seemed to break Magic Message. Thanks GØDVJ.

1.4.0 2012.01.05

This is a major release for two reasons. First, the release notes page for 1.3.x was getting too long. Second, 1.4 introduces a major generalization of exchange-guessing.

New features

SkookumLogger exchange-guessing looks in various databases for information usable in prefilling exchange fields after you have entered a call sign. Some of these databases need only the call prefix, others need a complete call. For example, the cty.dat database can supply CQ and ITU zone given a prefix, while a complete call is needed for more specific data like names or political districts.

SkookumLogger now allows you to create and maintain a personal database of call-specific exchange information. You do this by choosing File ▶ Update Exchange Archive. SkookumLogger then creates or updates entries in your exchange archive database for each QSO in your current log. Information from the log unconditionally replaces existing information on a per-field basis. Each entry is associated with a specific complete call sign, and has a variable number of fields. Seven of those fields are directly associated with QSO data entry fields: check, club code, club status, grid, name, power, and precedence. An eighth field is a variable list associated with the info QSO data entry field. There are many contest-specific kinds of content for the info field; SkookumLogger presently tracks more than two dozen kinds of info.

For all contests, when you tab out of a call entry field, SkookumLogger first looks in the current log for a QSO with that station. If found, the previous QSO’s information is used to prefill exchange information. Otherwise, SkookumLogger looks in your exchange archive for a matching call and uses whatever appropriate information is found to pre-fill non-empty exchange entry fields.

In the world of Windows contest loggers, this feature is typically termed a call history file, invented I believe by N6TR. It has become common-place for contesters to share their call history files with other contesters, and even to merge many individual files to form a super-call-history-file. In my opinion that is a serious distortion of the original purpose of the feature: to support leveraging information that you copied yourself during a contest when participating in subsequent similar contests.

SkookumLogger discourages sharing archives. The Exchange Archive database is an opaque format that cannot be read by other applications. In the first release of this feature, you cannot see or edit the content. Some of these limitations may be addressed in future versions of SkookumLogger.

Note that you must not rely on pre-filled exchange values; you must listen! First, SkookumLogger does not attempt to validate entry field content, and particularly not the info field. When you update your exchange archive, SkookumLogger assumes that everything in your log is correct. Second, some kinds of info fields, such as "Canadian Provinces," are different from one contest to another, due to contest sponsor idiosyncrasies.

In addition to the exchange archive database, SkookumLogger can use sponsor-provided databases for exchange prefill in some contests. You obtain these databases via a Download item on the File menu. This release adds support for the CWops name and id database. Generally, after downloading a database, you should close and reopen the current log to update the data structures attached to that log.


Russian and Ukrainian oblasts are now guessed from information in the Countries file.

Partial call sign matching is performed after every character typed into a call entry field, except when your Winkeyer is sending the call. Now, when sending the call ends, SkookumLogger automatically runs the partial match function. Previously, you had to navigate out of the call field after sending ended to cause an update of the list of matches.

The Rebuild Checksheets function has been sped up quite a bit. This function is automatically run when you load a log or close a log, and was triggering the SPOD (spinning pizza of death cursor) for larger logs. For programming geeks: I located the bottleneck in -rebuildLog using Xcode Instruments, and changed the collection type of the knownCalls list from an array to a set.