anchor.diff:  	  (server-id flickr-photo-list-xml)
   	  (photo-id flickr-photo-list-xml)
   	  (secret-id flickr-photo-list-xml)))
  +
  +(defun photo-page-url (flickr-photo-list-xml)
  +  "Construct the page url for a single photo from its xml"
  +  (format nil "http://www.flickr.com/photos/~a/~a"
  +	  (owner-id flickr-photo-list-xml)
  +	  (photo-id flickr-photo-list-xml)))
   
   (defun photo-title (flickr-photo-xml)
     "Get the photo's title from a single photo's xml"
  
positive.code: (defun parse-photo-user (photouserxml photourl description colours)
    "Parse the photo user then go on to local stuff or bail"
    (format t "Parsing photo owner info~%")
    (let ((username (person-username photouserxml)))
      (if username
  	(process-data-locally photourl
  			      (format nil "~a ~a" 
  				      description
  				      (photo-user-description username))
  			      colours)
  	(progn
  	  (incf *tries*)
  
negative.code: 				    flickr-photo-xml)
       id))
  
  (defun owner-id (flickr-photo-xml)
    "Get the owner id from a single photo's xml"
    (ppcre:register-groups-bind (id) ("owner=\\\"([^\\\"]+)\\\"" 
  				    flickr-photo-xml)
       id))
  
  (defun server-id (flickr-photo-xml)
    "Get the server id from a single photo's xml"
    (ppcre:register-groups-bind (id) ("server=\\\"([^\\\"]+)\\\"" 
  