ADIF Parser - adding ADIX support

This is the second part of the post “ADIF Parser in Python“ - therefore, if you have not read that post you should start there. This picks up and adds ADIX support to our parser and does so in a manner that requires no change (but we make a few for convenience) to the original parser. It also does not require any change to the actual ADIF validation or importing processes.

The code presented here could greatly benefit from being a class or using nested functions as it would eliminate the horrible use of globals but I wanted to keep with using a simple procedural style to be easy to understand and follow along. Those who use OO or understand nested functions can easily alter this code to use those paradigms. The complete source for the resulting parser will be provided as a link at the end of this post.

Our goals for this post are:


  1. Add ADIX (XML-based ADIF) parsing to our existing parser

  2. Change no code (or as little as possible) of our original parser

  3. Share all validation and import processes between the two formats

Read More

ADIF Parser in Python

Right now the ADIF group is making one of it’s most important decisions ever, to extend ADIF to include a XML-based format to include new features and possibly leave the existing ADIF format unchanged (new features added only to the new format). The feature that triggered this change was the addition of Unicode to the ADIF format. A working proposal exists to simply add new field names to the existing ADIF format. This blog post goes over a simple ADIF parser written in Python and how to extend it to handle Unicode data.

Python is not my primary language. I choose to use it because it’s readily available on most platforms and easily understood. This parser was written for this blog post. It was not written for the purpose of being copy and pasted into a production environment. It has no error checking and no real validation. These topics are not necessary to show how to extend the parser for Unicode data thus they would just add to the complexity and the real meaning would be lost. I will not be explaining python constructs or methods. I am assuming the ability to read and understand this code.

Read More

Why I am not a PSK32 fan

I do not rag chew all the time, in fact less than more. However, I’m not
a “macro chatter” either. Here is one example I just had. Bear in mind,
this happens more than not. The callsign has been changed to QQ8QQQ and
the name to John as I do not want pick on any one individual since it’s
a global pandemic.

Read More

JT65 on HF

Did you ever wonder what those strange sounds are around 14.076MHz? That’s JT65 on HF! I was introduced June 8th, 2010. Since then I have worked 64 stations on JT65 ranging from Ohio (my home state) all the way to Japan, almost all with 30 watts of power. Pretty cool eh?

Read More

Relearning Morse Code

I passed my 5wpm CW code test to get my novice license in 1990. Then in 1997, by a miracle, I passed my 13wpm test for my General. I did not upgrade to Extra until the 20wpm requirement was dropped. Anyway, I was taught with flash cards first, then with a human sending morse code at a real 5wpm. I was taught if I miss a character, write it down and go back to fill it in. As you can expect, I’ve hit a cap at about 12wpm, which is pushing it. 10wpm is more comfortable.

I was into QRP for a while but gave it up as I became frustrated with CW, even though I really liked CW. I became frustrated because I couldn’t advance. Well, I have set a goal to bust through my cap and become comfortable with at least 20 wpm.

Read More

The Simple Things

Monday, while out doing errands, I had to stop for gas. For some reason, I just couldn’t stop laughing at the sign I found there. It was a Circle-K/Marathon station. The pump read “Please Prepay in Advanced”… Ha! I still get a chuckle out of it today. It really made my day.

Read More

My Apiary - Picture

Some pictures of my apiary.

My Apiary as of May 2009

Read More

Bee Stings and What to Do?

Bee Sting Well, when keeping bees you are going to get stung sometime. It is a rarity, however, not the norm like some people would think. I’ll start with my story of the first sting in my apiary and then let you know about bee stings and what to do when you are stung.

Read More

Anonymous Font - Programmers Joy

Thanks to a blogger post on Typographica: a journal of typography, I found a fantastic font for programmers who spend 30 hours in front of the computer a day. A programmer has unique requirements in a font:

Read More

My Salvation

When I was a child, my parents were very active in church and thus, I went to church as well. All of my life I was raised in a Christian home and a Christian Church, however, for some reason, I never really accepted Jesus Christ as my savior, nor really understood what he had done for me. I knew what the Bible said but it was not real to me. On my 18th birthday I decided that I was my own man and that I no longer had to attend church just because my parents did.

Read More