July 2008 Archives
The demise of Scrabulous on Facebook this evening has raised in me the issue of intellectual property rights. In my opinion the debate has centred too much on what the authors deserve, not the purpose of this construct. This is wrong-headed. The debate ought to start with what is the purpose of copy rights, and then move onto how that purpose can be best met.
We agree to copy rights to create resources for the benefit of mankind (or, ourselves) by invention. It is a reward system. It takes time and other resources to create a medicine, a song, a piece of software. Without substantial reward many substantial inventions would not happen. We do not agree to copy rights to reward inventors any more than our employers agree to pay us to make sure we have a good living. Just like our employers pay us to induce us to work, we agree to IP to induce authors to create.
Unlike our employers, we have let the debate on how much reward be centred on what's right. That was how employers operated in the 1970s, and the unions took advantage of that; to our cost. What should determine how much reward we give should be how little we can offer to induce invention.
So back to Scrabulous: Hasbro would have invented and sold Scrabble boards all those years ago if they only had 20 years copy right. Paul McCartney would have been a member of the Beetles and writting his songs if he only had 20 years copy right. Hasbro are making use of the overly generous terms of employment that we give them. McCartney pleaded for longer copy rights for artists, and was taken seriously in some quarters. He's part of the delusion that copy right is about the author. It's not: it's about the us, the consumer, and should be as little as possible to get him, Hasbro, Glaxo, to make us stuff that we like, and as little as possible is certainly less than the current copy right and patent rights give. We need to fine tune these instruments of ours to increase our yield.
Imagine the scenario: you have a hash of arguments you want to send as a CGI query string to somewhere on the web. Or you might, for instance, need to create an unsubscribe URL to include in your newsletter emails so that people can click a link to stop getting your newsletter.
Here's a one line solution:
my %args = (
id => 102546,
key => 'kljdlasjd3289290mkdlmca',
list => 12,
action => 'unsubcribe',
);
my $query_string = join '&', map { "$_=$args{$_}" } keys %args;
my $url = "http://example.com/newsletter?$query_string";
That should create your query string out of all the elements of your hash.
Okay, so I needed a list of countries and their ISO codes. I've needed this before, and each time had to resort to reformatting a HTML table I found on the web somewhere such that it could be imported into a database. No big deal but a waste of time to keep repeating the task every so often. So, anyway, I've exported the latest version in a variety of formats for future use. Might be of use to you too, so here you go:
I got the list from Wikipedia so it should be up to date as of today. It includes the country name and ISO 3166-1 codes. Enjoy.
