Category Archives: Images

Still pictures, in whatever medium

Cheap passport photos using The Gimp and 10c printing

Australian Passport requirements are specified by Border Force.  The step that’s most avoidably expensive is the generation of compliant photographic representation of the individual (at $17-$20 per person).

The face size (the skin-visible bit of your head, so from your hairline down to your chin) needs to be between 32mm and 36mm; to allow for the vagueries of conversion we’re going to shoot for exactly 34mm.

Take your appropriately posed and positioned photograph. Don’t crop too aggressively: there’s plenty of pixels in modern photographs, and you can’t add “more person” if you got the ratios wrong.

Load the photo into the Gimp.

Find out how many pixels there are from the chin to forehead line by picking Tools | Measure and measuring as close to vertically as you can between these two features. I got 1573 on my image.

Whip out your calculator and divide this by 68% (34mm face height/50mm image height), getting you the number of pixels high your image needs to be to make 50mm – 2313 in my case. The width is 80% (40mm image width/50mm image height) of this number – I get 1850.

Now for the image we’re going to paste into. Standard photographs are 6″x4″, or about 152mm x 101mm – let’s call it 150×100. So select File | New, with a size double the height of the cutout, and a width of triple the height of the cutout – mine was 4626 x 6939.

Now we’ll put some guidelines on to help us place accurately. Select Image | Print Size... and put in 6″x4″ (Once you put in the 6″, the 4 should magically fill itself in). Pick View | Show Grid and View | Snap to Grid. Select Image | Configure Grid... and set up a 5mm x 5mm grid. There should be a lot of 5mm boxes on your image now.

Switch to your photograph.

Now check Windows | Dockable Dialogs | Tools Options has got a dialog up, and pick Tools | Selection Tools | Rectangular Select. On the options dialog (which may need resizing so you can see all the options), check Fixed and pick Size from the accompanying drop-down. Enter the dimensions you’ve calculated.

Now select your face, and copy it. Switch to the new image, and paste you image. Position it, and paste in your face. You ought to fit three across, and two down. Six passport photos for 10c! Yay!

Suppose you’re doing two different faces on the one photograph (or more!). Once you’ve gotten as far as doing the calculations for the second image (what are the chances you’ll get the same framing of the face?) and then copying the face, stop. Instead of pasting it into the printable image, pick Edit | Paste As | New Image. Pick Image | Scale Image, ensure Width and Height are locked with a chain symbol, then enter the Height of your original face (2313 in my case). If everything is going hunky-dory, the calculated width will match the new width in the dialog. Press the Scale button, Select | All, copy the image and paste it into your printable image, then position appropriately.

Now, to print out you’ll need a JPEG. Select File | Export, type in a filename ending in .jpg and you’re set. Take to your local Officeworks/Harvey Norman, and 10c later you’ve got your Australian passport photos.

Flickr’s new HTML code embedding – how to remove the header and footer

Flickr has altered its default embed HTML to include a header and footer, which includes Flickr branding and the title of the picture.

PT in the Sense8 titles 01

Sometimes I suppose this is okay, but sometimes I just want the picture.

Fortunately it seems to be relatively easy to get rid of. In the example above:

<a data-flickr-embed="true" data-header="true" data-footer="true" href="" title="PT in the Sense8 titles 01"><img src="" width="500" height="282" alt="PT in the Sense8 titles 01"></a><script async src="//" charset="utf-8"></script>

…remove the data-flickr-embed, data-header, and data-footer attributes of the a href, and remove the script tags, like this:

<a href="" title="PT in the Sense8 titles 01"><img src="" width="500" height="282" alt="PT in the Sense8 titles 01"></a>

The result should be just the photo, with the usual linking back to Flickr.

PT in the Sense8 titles 01

It’d be nice if they made this a built-in option when generating the HTML code.

Of course, it also makes me ponder if I should be finding another photo host.

Update 2015-07-20: They seem to have modified their default embedding code a bit so the branding and picture details now only appear over the photo when you mouse over it. Not so objectionable.

PT in the Sense8 titles 01

Flickr’s modified code now excludes data-header="true" data-footer="true" which presumably added the header and footer.

Unhelpful web help

Just… just… wrong. So wrong.

Firstly, note the error message “Enter a valid email addresss”. Where, pray tell, ought I do this?  Why do I need to upload any attachment again?  Why do I have to prove I’m a human time-after-time, when all I’m doing is wrestling with your completely broken attempt at a web form?

Have they noticed that no-one is submitting help requests via this form, what with its refusal to accept said requests?

Dear Flickr: stop sucking balls.

Where did I take that photo?

I couldn’t find anyone extracting out the geolocation geotagging EXIF data from their photographs so they could pull it up on something like Google Maps.  There are stand-alone programs with embedded maps, but the bits and bobs lying around on the average system ought to be enough to just generate a URL to a mapping website.  The following bash script echoes the  URL that geolocates your JPEG.  Because my camera doesn’t emit it, I couldn’t be bothered dealing with the seconds part of a location, but I did detect that you don’t have a camera the same as mine.  Drop a line if you’ve used this and fixed it.

# emit a hyperlink to google maps for the location of a photograph
declare Seconds=""
Seconds=`exif -m --ifd=GPS --tag=0x02 $1 | grep -oP "[\d|\d\.]+$"`
if (( $Seconds=='0' ))
  Seconds=`exif -m --ifd=GPS --tag=0x04 $1 | grep -oP "[\d|\d\.]+$"`
if (( $Seconds!='0' ))
  echo "Script does not support seconds being specified"
echo -n ""
declare NorthSouth=`exif -m --ifd=GPS --tag=0x01 $1`
if [ "$NorthSouth" == "S" ] 
  echo -n "-"
echo -n `exif -m --ifd=GPS --tag=0x02 $1 | grep -oP "^[\d|\d\.]+"`
echo -n "%20"
echo -n `exif -m --ifd=GPS --tag=0x02 $1 | grep -oP "(?<= )[\d|\d\.]+,"`
declare EastWest=`exif -m --ifd=GPS --tag=0x03 $1`
if [ "$EastWest" == "W" ]
  echo -n "-"
echo -n `exif -m --ifd=GPS --tag=0x04 $1 | grep -oP "^[\d|\d\.]+"`
echo -n "%20"
echo -n `exif -m --ifd=GPS --tag=0x04 $1 | grep -oP "(?<= )[\d|\d\.]+(?=,)"`

Please allow approximately 10 working days…

For school work young Owen needed a photo of his family celebrating something, so a suitable photo from a recent birthday party was selected.

I figured I’d upload the photo to BigW photos the night before, to give them a chance to print them out before I arrived the next day.  I noticed the disclaimer “Delivery Times: Please allow approximately 10 working days for your order to arrive in the mail or to be ready to be picked up in store” but figured this was just legalese arse-covering, applicable to weird things like coffee mugs etc.

I fully expected to get an email five minutes after submission.

I wondered to myself how it is that they can make any money from a single 10c photo, paid for via PayPal.  I figure my order must be costing a buck or two in direct and indirect costs; the PayPal fees alone would be the entirety of the payment.

I didn’t get an email.  It’s been four days now, and the order is still “In production” leading me to believe that the order is going to be printed somewhere that isn’t my local BigW, and is then being shipped there.  Needless to say, I shan’t be collecting it; the day after the photo upload I went to Bunnings for a hinge and some storage boxes, and popped into Officeworks beforehand anticipating some delay in printing – alas, there was a sixty second delay, so that prudence wasn’t required.  Of course, I could have gone to Harvey Norman for the photos but it was an extra 100m walk and another 5c, even if their printing seems to be of a higher quality, a classroom of Prep students isn’t going to appreciate the difference.

Riddle me this: if my photos aren’t printed out at my local BigW, why would I upload them to BigW photos when I could drag myself there in person and collect them within the hour?

Read/write Photoshop PSD files in Paint.Net

Pondering switching from expen$ive Photoshop to free Paint.Net, but want to be able to read all your Photoshop files?

Just download this plugin, unzip and copy the DLL into the Paint.Net Filetypes folder. Easy.

Caveat: it doesn’t support absolutely everything in PSD files flawlessly. Discussion here. But the files I’ve been dabbling with (actually converted from CPT to PSD using an ancient copy of Corel Photopaint) work fine.

OpenID – the next big thing?

Over the years, as new web services have come into prominence, there’s been a rush to get hold of the best IDs. Most people would chase something resembling their name, with those with popular names too late to the game being left with the lame IDs: nicknames, real name + licence plate number, or hackerz sp34k versions.

Some of the defunct web sites I got good IDs for include Excite and Some I still use include Gmail (and all the other Google properties), Hotmail and Yahoo.

With the news that Microsoft will be supporting OpenId, I reckon the next big rush could be for this, particularly if Google and Yahoo are sensible and decide to jump on the bandwagon.

OpenID identifies you by a URL/URI, so it’s marginally less user-friendly than a conventional logon, but if it takes off (*if*) and gets widespread use around the web, from a user point of view, it could go a long way towards cutting down on the zillions of passwords people currently have to remember… and thus have to write them all down.

So I’ve got my OpenID already. Have you? Now, since Flickr are pissing everybody off with new limitations, maybe I’ll go over to Zooomr and take a look around there.

Elevator illusion

The missing elevator floor illusion – now here’s a business idea: sell this illusion to cash-rich, time-poor pranksters. Just make them measure the dimensions of the elevator in question, then print up a massive sticker for them to use.

Escher + Legoâ„¢

Sweet merciful mind-melting God! Photos of Lego implementations of Escher drawings are back on the web.

People People People: the pural of Lego is Lego. Like with sheep. In fact, I think Lego likes their bricks to be called “LEGO bricks” (yelling and all), to distinguish from the company.