This past weekend I tried the 7QP contest for my first contest ever and had a lot of fun. This post is about how I used HRD for contesting and then N1MM for generation of the cabrillo upload file. As I found out after the contest, HRD does NOT correctly generate a cabrillo file or ADI files. My friends told me to use N1MM but after a day of frustration trying to get it set up and integrated with rig control and my digital software, I gave up on it and decided to use HRD which I like and am very comfortable with. Plus I am only a first time contester and a casual one at that! In HRD I set up a new log for the 7QP contest and during the contest all my activity was recorded to that log. It kept track of duplicates, bands worked, the required exchange info, call sign lookup, and proved to be a very efficient setup for me. But now I have the problem of generating the cabrillo file. After much experimentation I have landed on this solution which seems to work well. I use HRD to do my logging and then use its ADX export function to export the entire log in XML format. I then wrote a very simple Python script that converts the ADX to an ADI file that N1MM likes. I run N1MM with out any configurations except my station info and log settings for 7QP, import the ADI file, and then have N1MM generate the cabrillo file. This worked great. Please see the attach Python script which anyone is welcome to use and modify. Please send me any improvements to the script, I only spent a few hours on it, and it is very very simple and does not do any error checked etc.