Azimuthal map does US cities now!

The azimuthal map form can now add labels for US cities. The database of latitude/longitude pairs for cities seems imprecise because some California cities are in the Pacific ocean. It might also mean that the coastal outlines are not precise enough.

If you notice a city out of place, please let me know. There are some errors in the database. For example, San Francisco was a few miles out to sea.

Update: I updated the list of cities to include ones from Alaska and Hawaii.

Why isn’t the map form working?

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 Ruby?

Ruby is wonderful.

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.