21 January 2008
a creativecommons-licensed interesting photo findr for flickr
The more I play with making fake CD covers from flickr photos, the more I get frustrated by the sheer number of interesting photos that are unusable because of their creators’ chosen license. I realize that if I emailed them, many wouldn’t mind me using their photos for something like this, but that seemed like it would be so much trouble.
So instead I programmed a little script to find only the usable shots, and made a page for it. Took me a couple hours, give or take, to get it working.
To be more specific, here’s what you might want to know about what I did.
Flickr photos can be licensed in a number of ways, either through the default “© All rights reserved” that regular copyright protection grants, or through the more flexible and friendly creative commons licensing with its many permutations, including requirements for attribution, non-commercial and commercial use, and even the licensing of derivative works. So what I needed to do was take the five hundred photos flickr picks each day for their “interestingness”, and filter out anything that was marked “all rights reserved” or “no derivative works”. Fortunately those happened to map to the integers 0,3, and 6, which meant filtering them out was a simple modulus test*. Calculations aside, the rest was a matter of a few hours’ work and the phpFlickr documentation to get a working script that wouldn’t hammer my server, nor get me banned from flickr’s.
So all it does is check 3,500 of the last seven days of interesting photos, and from those, screens out the usable ones. From my quick observations, the percentage of correctly-licensed photos chosen for their interestingness is under ten percent. Which means that hopefully I can save people some time. The one that it picks, at random, is ready to use.
Click here to try it for yourself.
Go ahead and put your comments and questions below. I’m releasing this as a 0.1 version - I know there is much more I’d like to do with it, but since it works, I figured I’d get it out there for people to play with. My source code is messy, but eventually I’ll get the relevant bits of it posted too.
* At the risk of sounding too nerdy, modulus is, and has been, one of my favorite mathematical operations. It’s just a fancy name for “the remainder”, but since that sounds like something out of elementary school, I think everybody calls it the much more impressive “modulus”. It’s wildly useful (or at least, I’ve used it a lot), and, well, I’ve used it a lot, probably more than multiplication and division combined, in my programs over the years.

