Feeds:
Posts
Comments

mi-tea

Today, a new cinema producer has started off: Sunday Morning :-P

Just kidding, I saw four films this week and felt like making a short of my own.

Apart from trying out video with a good lens, I had long wanted to talk about real green tea and this video will make it easier when I eventually sit down and write about it –not today. Yesterday, I got a cool mug to show off in the video too, so I decided to make it this morning. The mug changes when gets hot, watch it! A friend of mine got it in a scientific conference but she didn’t like what you’ll see at the end of the video :-D

… so deadly she might kill you dead dead when she finds out :D

Just kidding, I didn’t really upset her that much, but I had plenty of fun while awaiting for her (and my family and friends) to learn that I bought a Nikon D90 when a great opportunity came to me.

A colleague of mine visited California and asked me for advise on getting a DSLR. Our Canon guy was not around so I persuaded him to by a Nikon D80 because I was so happy with it. Some people would argue that I should have recommended him a Nikon D40, but I already have friends frustrated with the D40’s inability to use pre-digital (non-G) lenses like the $100 AF Nikkor 50mm f/1.8D –the new $440 AF-S Nikkor 50mm f/1.4G is way out of budget.

Then I suddenly realized that a brand new the Nikon D90 would cost me only about €640, little more than the €600 I paid for my Nikon D80 and starting considering getting one and selling my D80 to him. We reached an agreement and now we are both very happy :-)

I got the new camera on Monday and didn’t tell anyone in fear that my girlfriend would kill me, but then I realize she would rather not notice and probably not even care much.

On Wednesday, I used the camera to take photos from the apartment we just left. She was there but didn’t notice anything. The same day, I submitted this photo to the Self Portrait challenge from DP Review after my father told me about this on Tuesday.

Geek@home

On Thursday, I showed the photo to my mother but I wasn’t expecting her to notice anything about the camera. On Friday evening, I told my father “I submitted a photo to a challenge” to make him curious, but surely not curious enough to make him use his 3G modem to look it over the weekend.

On Saturday morning, I wrote on my main blog (in Spanish) about the new apartment we just moved in, with photos using Vivid +3 Saturation to make a visually clear difference. In the afternoon, we attended a big friend’s party and took photos with the D90. One or two friends even took the camera from me and shot a few photos (why would I buy a good camera if miguev is always around with his and I can take it from him?) but nobody noticed any difference. Amazing.

On Sunday morning, I uploaded 52 photos from the party, available only to my friends and family, after having some trouble with Picasa 3 for Linux not auto-rotating the photos :-(

Next Monday afternoon, as I predicted, my father (rethorically) asked me Have you got a D90, bad boy? and I thought no way to hide from him but he believed me when I sed my finger slipped from D80 to D90 and I couldn’t fix it afterward –phew! That was close. Of course I wouldn’t get away with this so easily, not my father, who pointed out that Flickr insists you got a D90. Only then he claimed not to have believed me the day before :-D

Having him found out, I started making it more obvious. Starting with twitting it:

first one to find it out: my father, as expected. It’s been “public” since my last post on miguev.net ;-)

This produced a pretty quick reaction from a friend:

@miguev now my question is: what the are you talking about?

@friend the answer is out there… just follow the pointers ;-)

@miguev yeah, whatever, congratulations to your father for finding whatever it is out

Of course nobody will search for it, I’m just curious about how long it’ll take to different people to just find it accidentally. If I wanted all to know fast I would have told them! :-)

Although it has been working very well for me, the way I was adding EXIF tags to my film photos would probably not work for many people due to a single point of failure: it depends on using digiKam. Besides, it ignores standard IPTC tags that many others use, including Picasa and Adobe Photoshop Elements.

Google has recently released Picasa for Mac OS X, filling the missing gap for Picasa to be mostly cross-platform. You can now run Picasa on Linux, Mac OS X and Windows to use the same photo library with all of them.

Storing tags inside the JPEG file themselves as standard IPTC tags will also eliminate dependency on any application’s database, something that was driving me mad lately with digiKam. First, external storage uses case insensitive FAT32 file system, which changes all-uppercase filenames into all-lowercase and breaks references within digiKam database. Second, even though digiKam supposedly uses Sqlite format, latest digiKam versions changed its database format and broke my exif-film-tags script. Enough.

I think I will be switching to Picasa and will try to convert all digiKam tags into IPTC tags, someday. EXIF tags for film photos are now even easier than before, only you need a little trick to add tags with special characters –anything other than letter, numbers, blanks and little more. Picasa even auto-completes tags, something I’ve been missing in digiKam since always. Leave alone hierarchy.

So I rewrote the exif-film-tags script to read IPTC tags as Picasa writes them, which is multiple values for the tag Iptc.Application2.Keywords like this:

Iptc.Application2.Keywords String 7 1/125 s
Iptc.Application2.Keywords String 3 1:1
Iptc.Application2.Keywords String 4 f/11
Iptc.Application2.Keywords String 19 Fujifilm Sensia 100
Iptc.Application2.Keywords String 12 Olympus OM-1
Iptc.Application2.Keywords String 22 Zuiko Micro 50mm 1:3.5

Exiv2 is an awesome tool that lets you read and write metadata on JPEG files, including EXIF and IPTC tags. It’s available as Free Software and runs on Linux, Mac OS X and Windows as well. Just get it! ;-)

Even better: Exiv2 library is accessible from Python, thanks to pyexiv2 bindings. That makes the new exif-film-tags-iptc.py script 60 55 (code) lines shorter –and me 6055 times happier with it :-)

I wanted to post this ever since I came up with a fairly automated solution to add EXIF data to my film photos, but never found the moment to write about it. Now that two people have showed interest in it, I can’t hold it any more.

The short answer that everybody gives to this question is use software X to edit the EXIF, but there is more to talk about when it comes to automate the process, thus saving (a lot of) time. No matter how fancy and user-friendly the GUI is, there is always a few hundred (or thousands) photos to start with and you don’t want to spend endless hours tagging photos in small lots, you want it snapping. That is what this post is about.

Well, it all depends on how do you keep your photos organized, but in a nutshell all you need is some sort of tagging system that lets you pull the tags for any photo in an automated fashion, so that you can run a random, customizable action on every photo, depending on each photo’s tags. An example follows.

I use digiKam for organizing my photos, all the tags and other information digiKam keeps about the photos is stored in a single file. This file is a SQLite database that I can read using any software, including a simple Python script.

I wrote exif-film-tags for this purpose, along with a few other EXIF scripts for simpler, tag-independent modifications. The exif-film-tags script gets a list of photos (JPEG files) and search them in digiKam’s database, extracts the tags that matter (e.g. “Nikon FM-2n”) and runs exiv2 to insert EXIF tags in each photo. I could possibly use ExifTool instead, but I found exiv2 first.

If you use digiKam and have exiv2 installed, all you need to do is modify mapping from digiKam tags to EXIF tags in exif-film-tags is the only bit you need to reflect your own digiKam tags and how do you want them to translate into EXIF tags. Many of my EXIF tags are Nikon3, pretty useless for Canon users but I use Nikon

That is pretty much it: add tags to the photos in your favorite desktop (even possibly on-line) photo organizing software, then run a script that translates each photo’s tags into EXIF tags to write in the JPEG file and insert them.

There are innumerable possible ways to achieve this running on the same principles, so if you want more (gory) details read on to learn the bits you need to put together to build your own automated solution.

Continue Reading »

How I geotag my photos

There are many posts with this title but no one like this one –this one is mine ;-)

Seriously, I found valuable help in pieces of many posts regarding geotagging tools but I want to put it all together here because I know I won’t remember this all after a time. I found two approaches: the one that works beautifully every time (Linux) and the one that works beautifully when it works (Mac OS X). The latter will probably work fine for everybody else, I’m just too demanding to Mac OS X :D

The common factor in both are the GPS device Royaltek RGM-3800, the rgm3800.py script from Petersen Karsten (thank you!) and Flickr.

I got my GPS device for just $50 from Semsons –half its price, probably because it’s not the bleeding edge any more, who cares?– after a good reference from Petersen, who wrote the script to get the data out of it. This device doesn’t need a specific driver from its manufactor, any PL2303 USB driver will do. This driver is included in most Linux kernels and it works great, just plug it and power it on.</p

For Mac OS X you need a driver like this one. It works beautifully when it does, but when it doesn’t I end up having to reboot the laptop once or twice to get it working. In case it helps you, this is how you unload and reload the driver:

sudo kextunload /System/Library/Extensions/osx-pl2303.kext/
sudo kextload /System/Library/Extensions/osx-pl2303.kext/

The script is pretty straight forward –unless you haven’t ever used Unix-like command line– and let’s you do about anything the GPS device can do: get the date from it, list all the tracks, download points in NMEA format, change the device settings (sample frecuency/interval, full-memory behavior, points format) and more stuff I don’t even know what it is for.

For geotagging photos, this is all I need: rgm3800.py -d /dev/ttyUSB0 list to list available tracks (positions recorded while the device is running) and rgm3800.py -d /dev/ttyUSB0 track 0 > 0.nmea to get first track’s points in NMEA format. Ideally I would reset the device before going out and ensure I have good batteries for the whole day (they last pretty close to the maximum 10 hours) so I would only need the first track #0. The -d /dev/ttyUSB0 option is only necessary in Linux.

Tracks in NMEA format are not accepted by photo geotagging software so they have to be translated to the GPX format. This is necessary for most photo geotagging software but gpsbabel translates GPS data across many formats.

Using the command line, just run gpsbabel -i nmea -o gpx 0.nmea 0.gpx to get data in GPX format. KML format (gpsbabel -i nmea -o kml 0.nmea 0.kml) can come in handy to preview the tracks in Google Earth to have an idea of how accurate the tracks are. There are some GUIs for the allergic to command line ;-)

Once you get GPS data in GPX format you can use any photo geotagging software you like, I just tried GPSPhotoLinker for Mac OS X but still prefer gpscorrelate on Linux –should be able to compile in Mac OS X but there is no binary. I just love command line and hate dragging photos all over the place. I hate iPhoto too.

Yet before running any of these cool tools there is an important thing to find out: the time difference between the photos and GPS data. The latter is in UTC time zone but photos are usually not –not even in places in GMT/BST time zones!

Assuming a time difference of -2 hours (photos are 2 hours behind UTC) I would run gpscorrelate -g 0.gpx -z -2 *.jpg to get EXIF GPS tags added to the photos. Most of them will have interpolated (time weighted) positions but I find it failry accurate in general having set the GPS device to log position every 5 seconds.

When it comes to upload the photos to the cloud most photo share websites already take GPS EXIF tags in consideration. Panoramio and Picasa web place photos in Google Maps, it just works. However, if you use Flickr there is an option you need to modify in Privacy & Permissions on your account to get the photos automatically added to the map, this is disabled by default for the sake of geoprivacy: Import EXIF location data. You may also want to tune Who will be able to see your stuff on a map.

And then you can share maps like this one :-)

Safety First!

I admit I take some risks not many are willing to take, but I love the results…

Riveira harbour

Nikon F90X, Nikkor 20mm f/2.8D, Fujifilm Reala 100 (more details)

Nikon D80However, I do be careful and try to get my equipment ready, always wear the camera strap on my neck and a UV or Skylight filter in all my lenses –only took it out for the photo. Thanks that 62mm UV filter I still have my lovely Nikkor 85mm f/1.8 in good condition. Now the filter is just a hood:

Broken filter

Thanksfully its a €12 filter, not a €450 lens :-)

A change in my Flickr life

Up to two months ago I was posting in Flickr a mix of good and not-so-good photos but didn’t want to post in Flickr all my photos, I had my own photo gallery for the bulk of them. However, that changed and now I have two Flickr photostreams: my main photostream for the photos I like most and my other photostream for the bulk of them all, where you might find photos you like more than me! — and this has happened already.

From now on, I will mostly follow a predictable flow of publication: whenever I get a photo I really like –or go to a place and want to link you to the bulk of photos I took there, even if no one are really good– I will post one or two photos in my main photostream, which will link to the bulk set of photos. Photos from friends and family will go to my other photostream –with appropriate access control– and only if I get a really good one –and permission to publish it– will I post it in my main photostream for the joy of everyone.

That said, you may want to visit or watch my other photostream to check for new photos even if there is no change in my main photostream. I will be happy with people adding me (private-miguev) as contact, but will rarely add people as contact from that account and very few will be marked as friend in that account. If you want to (social) network with me, please use my main (miguev) account.

There is yet something I’m not completely happy with about Flickr: their maps. Being used to Google Maps I find myself quite disappointed when I see how old Flickr maps are, quite inappropriate for accurately placing photos. This is why I am also using Panoramio, which lets me place photos very accurately and they may even get selected to be displayed in Google Earth. And you can always have a look at the map of all my photos in Panoramio.

The perfect moment

I wanted to wait until the end of this year, but in my last visit to Tenerife, my father scared me with this:

Nikon has stopped manufacturing the D80 and Maya knows about it, that’s why they are selling it so cheap. The D200 price dropped €200 a couple of days before the D300 was announced. Now the next DSLR must be about to be announced.

He told me that on June 26th and the new Nikon D700 was announced on July 1st, so he was right! Knowing how damn good he is for this kind of thing, I ran to Maya (Nikon’s representative in Tenerife) just before taking my flight back to Ireland but they didn’t have any D80 body left, all sold out! Luckily they had a kit without lenses and I could take its body, only because we have been regular customers for about 30 years :)

)

After having this camera (well, my father’s) for a couple of weeks (see some photos) I learned many things and took a few decisions. I already told you about one but that was only to be expected, probably everyone was just waiting for me to realize. The one no one would expect is that I intend to use my DSLR nearly as a film camera, but that will be another post… some day ;)

In the end…

Flickr is my winner. This is a bit of WTF, many –if not most– people use Flickr and they are pretty happy with it, why should I not?

Well, I had a few strong reasons to run my own gallery using Gallery on a Dreamhost hosted account:

  • store as much as Dreamhost lets me, which is over 20GB and increases every month!
  • keep granular control on what can each user do with each photo
  • upload photos using rsync
  • or just digiKam
  • have an album-tree hierarchy replicating the one in my hard drive
  • and I could use SSL at any time I wanted

I just want to put my pictures on the Internet as a backup, surely Dreamhost do backups better than me! But some pictures had to be restricted, so I needed users (accounts) and access control. This was both very important and a bad pain, specially because users are lazy and very few were willing to have yet another username and password, so they ended up not seeing the pictures.

So suddenly I realized that I don’t need too granular access control and Flickr’s private groups will do the trick nicely, Flickr no longer have storage or bandwidth limits on Pro accounts and I wouldn’t have to bother my friends with yet another username and password they would not use –because, I insist, they are lazy… me too :D

At first I wished to make Gallery use Gmail to authenticate users, but never had the time to implement this and neither did anybody else. Later on I realized, weird as it sounds, I had friends refusing to use Gmail :-O

Well, Internet is free (as free spech, not free beer… that made me thirsty, I miss the Guinness so much after two weeks on antiboitics…) but luckily they all use Flickr, at least just enough to login and see pictures. That’s fine, I don’t care where they upload their pictures (Picassaweb, SmugMug, Tuenti, … Whatever) as long as they can login in Flickr, and they do.

There is yet the problem of having a friend download all that weekend’s pictures in a zip with a few clicks, there is no free (of charge) way to do it yet. In exchange, I get a very nice bulk editing facility, the Organizer. For the zip download I can just zip them myself and post the zip in my blog, optionally password proteceted.

Yet I suddenly realize of how really good is having each picture in none or more sets, so that there is a nice and easy way to browse through photos from that weekend and that beatiful friend too. Of course you can use tags, but not for slideshows.

So why not any other? Dropshots looked good in the ad, but when I tried it out… no tags, not intended to publish and worst of all no fully-working link to web uploader. Atpic is soo simple that it’s a bit too simple for me, no AJAX, no bulk edit… imagine having to move 30 pictures without bulk editing! Phanfare has SSL for login (Atpic and Dropshot hasn’t) but requires Java 1.5+ or Flash 9.0+ or Windows or Mac and I’m not willing to use any plataform-dependent software for my pictures.

Actually I use digiKam, which I don’t know to be easy to install in Windows or Mac, but the databse is just SQLite 3 and it’s really easy to extract all information from it. Try that with iPhoto, Picassa or any other.

So in the end I user Flickr not only to post my best pictures but also all my pictures as a backup and an easy way to keep them reachable by authorized people only –which is everybody for public pictures.

For the pictures I have already uploaded to my primary Flickr account (miguev) I have two options: (a) delete it, if it has no comments, no notes and nobody call it a favorite (which means no body will miss it) or (b) redirect to it from the new copy in my secondary (backup) Flickr account (private miguev), like this.

So, let’s the show get started. I have just over 6000 photos, not including some trips!

Spot the difference

I took these two pictures in a visit to Luxembourg City, with just one minute difference, from the very same place, I didn’t move:

Fountain Face
Fountain Face

So, what’s the difference?

Hint: look at the EXIF properties from both pictures (top and bottom) but don’t get distracted by the fact that Nikon FM-2n is not supposed to write EXIF ;-)

Older Posts »