According to the ARRL’s story, there is a new IARU Region 2 award for amateur radio operators who have confirmed contacts with 20 entities or countries from a list of 43. There is more information and an application available from the IARU 2 website.
The Ruby script that process the map configuration information given in the map form is very particular about what information it will accept. For example, if you enter a Maidenhead grid as fn31 instead of FN31, the program will not produce a map because the first two letters are supposed to be upper case. Similarly, the title will be rejected if it has non-printable or non-ASCII characters.
I wrote the program to be very strict about checking its inputs to ensure that people cannot cause the program to generate a hostile PDF. Rather than trying to identify and detect all the bad things a malicious person might enter to generate malicious output, I have instead tried to ensure that only safe characters are allowed in the input.
Why do I use Ruby for ham related tools? First of all, Ruby is just a great language. To me, Ruby has the best balance of readability and concision. I’ve written in a lot of languages, and Ruby is the best of the lot unless performance is a big concern.
Ruby has the right libraries for the job. First, it’s a big web language, so it’s available from most internet hosting sites. It’s got a library to parse CGI arguments, so it can be configured from a web form. Ruby also has a PDF writer library that helps create PDF from scratch without any other tools. Generating PDF is convenient for everyone Windows, Mac, and Linux.