One week after the UBA SSB contest, we’ve already received more logs than the 2009 total. I spent a lot of time processing the logs and trying to determine the right category for the logs. That isn’t always easy. My philosophy is to make the whole process as automated as possible. The less human intervention needed, the better. However there are some problems with this. Some are due to my code, some are caused by the operator who generated the log. And another small percentage of the problems is caused by the logging software not following the Cabrillo standards. Or that the operator messed it up afterwards.
The situation got a bit hectic up to the point that ON7SS took the list with received logs offline last week. A dramatic measure as a result of Belgium’s biggest wanker already writing a complaining email to the UBA for this incorrect list. I’ve known this guy since I got involved in the UBA and he’s known for his complaining and negative attitude. So screw him, I’m still waiting for his first positive note. Let alone constructive contribution. There was no need to start writing venomous mails. It was just another little bug where I was too naïve and relying on the right category in the log. It’s a learning process and we can only learn from constructive input. Not from pissing vinegar.
So the current glitches in the determination of the right category are a result of me trying to figure out this category. I tested this code with last year’s logs. And it worked. However I lost track of two things:
-
The categories in the logs were already corrected by the people handling the 2009 logs.
-
And if something went wrong after all, there weren’t any complaints coming in anymore. So now I have decided to take a step back and remove some of the automation in the category determination.
Let me give you an example. Let say an ON contester sends in his log with “CATEGORY: SINGLE-OP ALL HIGH SSB”. First question: is that 6, 12 or 24 hours? No way to tell from the Cabrillo header. Maybe it’s written as a note in the email? That cannot be processed automatically. Human intervention needed. Let’s assume it’s 6 hours. The right category name would then be ‘AH’. A for 6 hours, H for high power. I cannot write code that looks for “AH” because sometimes people type “A H” or “A-H” and all possible variations. These all look the same to the human mind but are totally different for a computer! So I need to guess. Better said: I need to write code that guesses. I was trying to outsmart myself by looking for category indications that *CONTAIN* the letters ‘AL’. The ‘ALL’ in “SINGLE-OP ALL HIGH” contains the sequence ‘AL’ so that would result in 6h Low Power. Wrong!
So I will take out this code. I have included a routine right from the start that prompts me to enter a valid UBA category if the code is not able to make up the right category with 100% certainty. You cannot assign a category if you’re not 100% sure. That’s why I have this code in place that forces the user (= me) to enter a category. I just removed some of the rules to automatically read the category and use the prompting code more often.
Another problem was the ON3 category. I tried to read the category but almost no one filled it in correctly. So now I only look at the used callsign in the log. If that is an ON3 prefix, it is automatically put in the ON3 category regardless of what is written in the log. And I just wrote some code that scans the ON logs for incomplete information. Apart from the dozen logs we had to return already, another two incomplete logs came in. It is now safe to say that DX operators cause far less problems than ON logs, both relative as in absolute numbers. I admit the DX categories are more standard and easier to ‘guess’, but still.
Bottom line is: as long as the input does not follow the format, there will be need for human intervention. There are some bugs in the process. But we’re working on it. We’ve started from scratch so we already have more now than ever before. Once the acceptance of the log with the category issue is done, things should calm down allowing me to focus on the checking code.