Finally, Geoencoding in Lightroom! Announcing my GPS-Support Plugin

The screenshot above shows how I geoencoded the images in yesterday's post about a train and boat ride.

Update: both Lightroom and the plugin mentioned in this post have grown and matured considerably since this post was written. See the plugin's home page for a more-current presentation of this plugin's many powerful features.

Introduction

Today I'm releasing a beta version of a new plugin for Adobe Lightroom, “Jeffrey's GPS Support”, that adds support for Geoencoding photos from within Lightroom. There are more features yet to add, but it's already polished enough for daily use, offering even the ability to geoencode speed and bearing.

Sadly, Lightroom does not allow for a plugin to easily update the “real” per-image GPS information in the Lightroom database, but this plugin takes an approach that should allow geoencoding to be seamless for many. The plugin itself maintains its own set of “shadow” GPS data for each image, allowing you to view and change the data as you like. On export, the plugin inserts the GPS data into the image (into the copies of the images made during the export), so that your exported images are properly geoencoded as well.

Geoencoding

The plugin is simple to use: after installing it (you can download it from the plugin's home page; install instructions are there as well), select the images that you'd like to geoencode, then invoke the “Geoencode” item from the File > Plugin Extras menu....

This brings up the screen shown at the top of this post. You can encode from a tracklog (a GPX file), or you can specify a static location to assign to each image. You can also geoencode between two endpoints.

It's easiest to geoencode from a GPS unit's tracklog, and when done that way, speed and bearing are also calculated. When the tracklog datapoint granularity is not to the second, the plugin interpolates between the two nearest datapoints. (Personally, I use a GPS unit that allows me to keep a tracklog updated at one-second intervals.)

If you don't have a tracklog, you can specify locations by pinpointing them in Yahoo! Maps or Google Maps, then cut-n-pasting the url. You can also specify a GeoHash, or a latitude/longitude pair in one of a variety of formats, such as:

    35.011065, 135.782201
    35° 0' 39.83" N,  135° 46' 55.92" E
    35 0 40, 135 46 56

See the “Help:Locations” tab in the Geoencoding dialog for more examples.

Viewing Geodata

After geoencoding, you can view the results using the “Geoencoding” metadata view preset, as highlighted in this screenshot showing an image taken on a train...

In the screenshot, the lack of data below the “Real EXIF GPS Data” header means that the image was not geoencoded prior to being loaded into Lightroom, and so Lightroom's library has no GPS data. If you only ever geoencode with this plugin, that section will always be empty. I place it there, though, so that those who previously geoencoded their images with other methods (prior to loading into Lightroom) will be able to use the same metadata preset to view an image's geoencoded data.

NOTE: There seems to be a bug in Lightroom that causes the shadow data in the “Geoencoding...” section to sometimes not appear. Sometimes it does. It's very frustrating. (See this comment). If it's not showing up, try switching to the “All Plug-in Metadata” view.

Exporting, Etc.

Because the GPS data is kept as “shadow GPS data” by the plugin, it's not included in files on export unless you turn on the “Shadow GPS Injector” post-process export action. It's enabled turning on the checkmark highlighted in red below, which then includes the section highlighted in green....

Once turned on, it is active for every export, including my “Export to...” plugins for Flickr, Zenfolio, SmugMug, Facebook, and PicasaWeb (all available on my Lightroom Goodies page).

Note: if you have export presets, you'll want to rewrite them with this post-process action turned on. That means selecting the preset, clicking the checkmark as highlighted in red above, then right-clicking (or option-clicking on the Mac) the preset name and selecting “Update with Current Settings”.

This plugin's geoencoding is understood by my GPS Proximity Search plugin, as of version 20081029.3. It still understands “real” geoencoding as well, but gives preference to the shadow data when an image has both.

Also, note that I removed the “View location in...” menu items from the proximity-search plugin and brought them here, as well as added a bunch of new ones: Yahoo! Maps, Google Maps, Google Earth, Flickr, Panoramio, and GeoHash.org. These, too, now understand both kinds of GPS data.

Yet to Do...

In the near future I plan on adding some things, including....

  • The ability to convert the shadow GPS data into “real” GPS data. (UPDATE: this was added in version .9)
  • The ability to read a tracklog directly from a GPS unit.

I'd love to hear more ideas as well, if you have them.


The 30 most-recent comments (out of 107; see all), most recent last...

Hello, I love the plugin. I tried the reverse geocoding also and it works like a charm 😉

Only one point: When you use the ‘Copy from above’ or ‘Copy from below’ buttons not only the locationfields are copied but also the coordinates. That’s not always wanted (not by me anyway). Can’t you provide a checkbox or so to include/exclude the coordinates when you copy the locationfields.

Thanks for the good work,

Filip

Up until recently it copied only the coordinates, until someone requested it copy the city/state/etc as well, so I added it. The UI is pretty cluttered as it is, so I’m not sure it would be worth trying to change it. I suggest getting the coordinates all set, then do a bulk reverse geocode on the whole thing…. —Jeffrey

— comment by Filip on February 5th, 2010 at 10:50pm JST (14 years, 10 months ago) comment permalink

Are there any plans to integrate Google Maps directly so that no copy paste is necessary?
Would be great to set just a pin on the map for a set of photos (like iPhoto or Aperture 3).
There’s some rudimentary Google Maps support in there now… “import location from Google Maps”, in both the static tab and the interactive tab. —Jeffrey

— comment by baszero on February 10th, 2010 at 6:45pm JST (14 years, 10 months ago) comment permalink

Where is the GPS shadow data stored if I do not export the image? It must be somewhere in the Lightroom database. If I have images stored as JPEG and export at 100% in order to write the GPS info, won’t that be a JPEG resave that will cost me some amount of quality?
It’s all described on the plugin’s page, linked from this one. —Jeffrey

— comment by Tim on March 11th, 2010 at 4:26am JST (14 years, 9 months ago) comment permalink

Thanks for a plugin that looks impressive and hopefully will deliver lots of joy still for me!

As for now, I’m getting the “Datapoints in that tracklog don’t have timestamps” error message that others have reported about in earlier versions — I’m running 2000317.115 on my Mac. I’ve tried GPX files created both by “Time Album v. 1.7.1”, a JAR app belonging to my GPS tracker Columbus V-900, and a GPX file created from GPSbabel+ 1.3.6.

Anything I should do differently?

Some units/apps that create GPX files don’t put timestamps… take a look at it in a text editor (TextEdit or Notepad) and see whether you see anything that looks like a timestamp. If you do, maybe my plugins isn’t reading it correctly, so send a small sample to me via email… —Jeffrey

— comment by Kaj Arnö on March 21st, 2010 at 11:51pm JST (14 years, 9 months ago) comment permalink

I have exactly the same problems than Kaj Arnö. I also use the Columbus V-900 and work on a mac.
When I look in the file with an text editor I think I see timestamps. Do you have a solution meanwhile for that problem?

If it doesn’t have timestamps, there’s nothing one can do. If it has timestamps but in a broken format, you can perhaps fix them in a text editor, or try something like GPSBabel to change the format to the GPX standard. —Jeffrey

— comment by Beate on April 10th, 2010 at 4:53pm JST (14 years, 8 months ago) comment permalink

Jeffrey,

I have discovered the delights of the preset section on page one of the Geoencode plugin.
I have a question on its behaviour.
I travel to several places and have saved waypoints for various places (streets where GPS does not work).
I have discovered the file format for the presets in Geoencoding and tried to make several sets so I could load individual sets (e.g. Spain, UK etc).
However, the presets are additive and I end up with a great big list.

Is there a way to “unload” the presets so I only load the ones I need?

By the way I am mostly using the LR3 Beta 2 with Geoencoding and have yet to have any issues.

Many thanks in advance for any pointers you have

Simon

I just pushed a new version (v120) that includes an option in the load-presets dialog that allows you to clear out the current presets when loading the new ones. —Jeffrey

— comment by Simon Leppard on April 14th, 2010 at 5:26am JST (14 years, 8 months ago) comment permalink

I may be the only that the could use this capability, but I think it’d be cool if the plugin could:

– Examine a series of GPS log files
– Using the filtering capability w/in select the set of images to which the date range of the log files would apply
– Perform the encoding as usual

The reason for this approach, is my photo GPS doesn’t work with Windows 7, so I have to book Ubunti, fetch the files off the device, and reboot. As a result, I end up with a giant folder of GPS log files which sometimes don’t get applied to the photos as contemporaneously as they ought.

Thanks for a fab plugin.

You can pretty much already do this…. just select all the photos and invoke the geoencoding plugin, then select all the tracklogs, and apply. —Jeffrey

— comment by Scott Blessley on April 23rd, 2010 at 2:15am JST (14 years, 8 months ago) comment permalink

Hi – firstly, thanks for great plugins. I donated to you for the Geoencoding in LR plugin and received an unlock code a long time ago. I recently upgraded to LR3 and it seems like I need the code again – do I need to make a new donation for the plugin to be active in LR3? If not, how can I get my unlock code again? Thanks.
Pieter

As described on the plugin page and the registration page, the Lr3 versions in Lr3 need new codes. You can generate one with a one-cent transaction. Sorry for the hassles. —Jeffrey

— comment by Pieter on June 16th, 2010 at 3:55am JST (14 years, 6 months ago) comment permalink

One comment from a Nikon/View NX user perspective. Nikon supports GPS in camera and writes coordinates into EXIF. Often enough however, GPS isn’t quick enough to lock and register before I push the shutter release. View NX allows to cut and paste GPS data from one image to a selection of other shots with two click action. This is probably the only feature I am missing from your otherwise excellent plugin.
Peter

The whole UI of my plugin is pretty bad, I know. But, this particular thing is easy enough to do in the Interactive dialog (“copy from above”, “copy from below”), though the whole interactive dialog got a lot less interesting with the loss of thumbnails in Lr3. )-: —Jeffrey

— comment by Peter on June 23rd, 2010 at 9:48am JST (14 years, 6 months ago) comment permalink

Thanks for that Jeffrey, I missed it first time. Anyway, having done a bunch of images I would like to make a suggestion:

To provide a box next to each image so we could tick those that we want the Google Earth import to be applied to. One extra box would be for “select all”

Again as an option being able to automatically write to XMP sidecars, so I don’t have to click another tab and another button.

I guess refresh of metadata being outside of the plugin would need to remain a separate activity…
Peter

— comment by Peter on June 23rd, 2010 at 2:26pm JST (14 years, 6 months ago) comment permalink

Hi,
Some dummy questions:
– any difference if using Nikon own GP-1 or some external device?
– if using Nikon GP-1 it writes gps info to the image files so is this plugin needed?

If something writes gps info directly into the file in camera, you don’t need this plugin unless you want to correct some of the data, or use the extra features such as the various “View in…” functions, or the reverse geocoding, etc. —

— comment by Hannu on August 9th, 2010 at 5:34pm JST (14 years, 4 months ago) comment permalink

Jeffrey, I just tried doing this using a tracklog from my iPhone and it seems to be pretty cool! However, a fairly large subset of the images taken along the track show up in the log with something like the following:

Tracklog has datapoints 6 minutes (380 seconds) earlier, at: 30.595763, -98.101750
and 3 minutes (186 seconds) later, at: 30.595906, -98.101764
The two points are separated by 16 meters (17 yards).

I’m wondering what would cause this? Is the GPS unit getting confused, or is it just not creating datapoints often enough?

It’s giving you that message because the photo time is during a 9-minute gap…. perhaps you were in a building (and the two points represent readings just going into and out of the door), or perhaps because it’s set up not to log points unless you move “enough”. Check the logger settings… —Jeffrey

— comment by Bill Ledbetter on August 14th, 2010 at 5:21am JST (14 years, 4 months ago) comment permalink

Hallo, i’m coming from germany and my englisch is not good. Today i have installed this great plugin, but i have a problem. I can see the gps data, gps shadow says yes, but i dont see the region, town , country.
What can i do??
My camera: Panasonic Lumix DMC TZ10

Town, country, and such are filled in only if you do the reverse geocoding, via the dialog that opens in the Interactive tab. The UI design is horrible, sorry. —Jeffrey

— comment by buemic on September 9th, 2010 at 11:50pm JST (14 years, 3 months ago) comment permalink

I would also like the ability to tie a Sublocation/City/StateProvince/Country to a GPS coordinate. I agree that it will not be accurate, but at least, when I export images from LR into a photo-application (like on the iPad) that supports showing photo locations on a map, those images would be included.

I would like to have both an automatic mode (i.e. download from internet) and a manual mode (i.e. all my images with the same Sublocation/etc. should have the same GPS coordinates. Well – not those that have real GPS coordinates already, of course

You can do all this via the “Interactive” tab in the geoencoding dialog. —Jeffrey

— comment by Henrik on October 24th, 2010 at 2:34am JST (14 years, 2 months ago) comment permalink

Great PlugIn!

But I have one problem:

When I try to open the location with Google Maps, Yahoo or whatever, I get an error-message telling me, that the application could not be found…
How to fix that? Am I doing something wrong?

Regards from Germany,
Tom

Sounds like an install issue with Lightroom or your system browser. Does the “Lightroom Exchange” button in the lower-left of the plugin manager yield the same error? If so, perhaps try reinstalling Lightroom or your browser, or asking Adobe… —Jeffrey

— comment by Tom on January 5th, 2011 at 10:23pm JST (13 years, 11 months ago) comment permalink

Thanks, it was – surprise surprise – yet another windows-problem.

Tom

— comment by Tom on January 6th, 2011 at 10:45pm JST (13 years, 11 months ago) comment permalink

Hi Jeffrey,

Thank you for this great plugin, works great! Are you planning to support Gisteq loggers as well?
And further more do you any good layouts / templates for creating web galleries that show a (google) alongside the photo’s? At the moment I’m using JetPhoto for this. But would be nice to be able to do this all inside Lightroom.

Kind regards,

Roy

The plugin works with GPX files, which any modern unit should be able to create or convert to. I don’t understand your second question (“shows a google?”), but I have no experience with web-gallery tools, so I doubt I’d be able to offer anything useful. —Jeffrey

— comment by Roy on January 10th, 2011 at 5:23pm JST (13 years, 11 months ago) comment permalink

Would be awesome if this plugin allowed functionality like Picassa for tagging – just select the photos then click Geo-Tag, it opens google earth with a set of crosshairs – just pick the location and click done and it returns to picassa with the photo(s) tagged

You can essentially do the same thing with the plugin’s “Geoencode selected photos from Google Earth” feature. On a Mac you can even set a keyboard shortcut for it so that simply tapping one key combo and the currently-selected image is geoencoded with the current location from Earth. It’s about as seemless an integration as Lightroom allows. —Jeffrey

— comment by Markus on January 11th, 2011 at 7:56am JST (13 years, 11 months ago) comment permalink

Jeffrey,
I apologize if this has been covered in the multiple pages of comments, but I have been checking out your GPS encoder, which I absolutely love. (I have been using Geosetter, so I still don’t know what is different between yours and it, but I love your other plugins) Anyway, what I was wondering is how to Reverse Geoencode multiple images (without producing a bulk reverse geoencode) For instance if I’ve been out shooting and come back I’d like to select all photos, and then go to the “Interactive” tab and click on “Open Interactive One-by-one Geoencoding and Reverse Geoencoding Dialog” and then I wish there was a “Click all City, Etc…from GPS” button, instead of having to click through each photo to reverse Geoencode. Obviously, if I click “Bulk Reverse Geoencode” it will mark all of my photos as if they are in the same location, which may not be the case. Any help or future time saving tips are welcome.

“Bulk Reverse Geoencode” treats each photo individually.

The second suggestion has to do with once you have clicked the “City, Etc… from GPS” button within the “Interactive” tab, I wish that the address that typically populates above the “Location” block would automatically fill in the “Location” block. Right now I am having to manually highlight the address, and then copy and paste it into the “Location”block. Any help or future time saving tips are welcome….

Thanks again for all your help and plugins…..you truly have a passion that is inspiring to many across the world. Keep it up!

Google’s data is very fuzzy for the address/location, so it’s hard to be consistent… sometimes the plugin does fill in the location data, but it all depends on how the data is returned by Google. I’ve made some adjustments and so the next version of the plugin will be a bit more aggressive about filling in the location field with something. —Jeffrey

— comment by Hans on February 4th, 2011 at 7:29am JST (13 years, 10 months ago) comment permalink

Hi – I am looking in to various options for adding geotagging to my photos in LR3. I see that there are several iPhone apps for this in addition to your LR plug- in. What are the pros/cons or differences of your plug in vs GPS4cam or Geoagphotos apps? I am just looking for easiest way to do this as part of my LR3 workflow. Thanks.

Ideally you’d want to use the plugin with a tracklog made while you took the photos, and so an iPhone app might be used to create the tracklog (though I’m not familiar with those apps in particular). Personally I use a dedicated GPS unit, but plenty use iPhone-created tracklogs successfully. —Jeffrey

— comment by Gary K on May 14th, 2011 at 3:59pm JST (13 years, 7 months ago) comment permalink

Wow! I’ve been thinking about something like this for a while! I have no coding experience, but what I do have is tens of thousands of photos that i have taken on hikes and the corresponding GPX data from my Garmin! I love you! I can’t wait to try this!!!!

— comment by Meestermole on June 4th, 2011 at 10:04am JST (13 years, 6 months ago) comment permalink

Hi Jeffrey
I have been using both your GPS-Support and Proximity search plugins, I love them, they are so useful, I just have one question. Is it possible to clear the GPS shadow data? some how I seem to have added the same location to all the images in my LR catalogue and now I can’t export the locations to google earth.
thanks
Andrew

I don’t quite understand the reference to Google Earth, but you can clear the shadow data from the Geoencoding Dialog’s “Un-Encode’ tab. —Jeffrey

— comment by Andrew on June 15th, 2011 at 3:23pm JST (13 years, 6 months ago) comment permalink

I tried using GPSBabel on my Mac using the Config option.
I installed the GPSbabel.dmg successfully.
However when I select the GPSBabel file, the plugin rejects it saying it’s not the valid executable.
How to solve this?

I don’t know what gets installed with your dmg, but if it’s an app, you’d need to point the plugin at the actual executable within it. —Jeffrey

— comment by Marc on June 16th, 2011 at 2:28am JST (13 years, 6 months ago) comment permalink

Dear Jeffrey,
thanks for yet another great plugin!
As far as I understand, you match a photo’s timestamp to the trackpoint with the “closest” timestamp.
Well sometimes you don’t have a gps reading or something else happened (run through a tunnel, ride a train whose windows dont allow gps reception, …) and you might end up having hours without trackpoints.
Thus my feature suggestion: Add an “interpolation threshold it”, if the timely distance to the nearest trackpoint is larger than it, find the next trackpoint with negative sign (i.e. find past+future) and interpolate the current coordinate as a fraction between the two. (Of course if user wants the old behaviour he/she can switch the new one off)
what do you think?
Cheers Gernot

The plugin has always done exactly that. I use the term “fuzziness” for what you call “interpolation threshold”. —Jeffrey

— comment by Nose on October 2nd, 2011 at 6:26pm JST (13 years, 2 months ago) comment permalink

Hi Jeffrey,

Thank you for a great plug-in!
I read the docu and screens and wonder about the following:
a) Why is the image taken time stamp not adjusted to the GPS track log? I did not see it changing when geo-coding the selected images. What am I missing? And in case the plug-in does not do it, are you planning to implement this feature? — I feel silly overlooking something :o)
b) Is there a way to get the location info (populated via reverse Google geo server) into the keywords?
c) Maybe b) can be expanded with a config dialog, as in which field goes where in the keyword tree. Example: I use Word location | Continent | Australia | Far-North Queensland | Cairns, compared to AU| Australia | Cairns.

To come back to this great plug-in… it demonstrates how some simple lon / lat information can become so much more with all the linkages you have established. Simply great work!!

Cheers,
MaxG, Brisbane, Australia

I don’t know what you mean in item “a)”… why should the image’s time be adjusted by the plugin? If the image’s time is incorrect, it’s probably a good idea to correct it whether you’re going to geoencode or not, but geoencoding will be wrong if your camera clock was incorrect and you don’t fix it. (The “compensate…” option in the tracklog tab is for people too lazy to do it the right way.) As for “b)” and “c)”, there’s no interaction with keywords. —Jeffrey

— comment by MaxG on October 12th, 2011 at 8:43pm JST (13 years, 2 months ago) comment permalink

Thanks Jeffrey,

Thank you for your speedy reply.

As for a) I thought the GPS log contains the right time; when adding the GPS coordinates it could update the time stamp at the same time, based on the “Compensate for the camera’s clock” value (not the fuzziness value).
More detailed: I already know the compensation value; why use LR to adjust, when I geo-encode and know the difference that need to be applied.

When you say: “The “compensate…” option in the tracklog tab is for people too lazy to do it the right way.” Are you implying that I should change the time of the images first (after I have established the time difference), and then use your plug-in to add the lon/lat?

Yes. Better still would be to just set your camer’s clock properly, but if you hadn’t and realize the mistake while in Lightroom, use Lightroom’s normal facilities to fix the time. Lightroom doesn’t let a plugin update the time. —Jeffrey

Hence, where I am coming from: I tell the plug-in the time difference, and it updates the lat/lon as well as corrects the time stamp in one go 🙂

It seems a workflow thing; I am an automation guy 🙂 let the computer do whatever it can LOL

No worries, just a thought and bouncing ideas…

Keep up the good work!

Cheers,
MaxG, Brisbane, Australia

— comment by MaxG on October 13th, 2011 at 6:26am JST (13 years, 2 months ago) comment permalink

Re: GPS Support

I am a refugee from Microsoft Pro Photo Tools which has recently stopped providing reverse GPS (at least for me). I used it because it was the only product I could find that provided street level information.

After a mostly fruitless search, I found your LR plugin. Wonderful!

However, I have a suggestion. You fill out the sublocation field as the entire “address”. What I want and need is only the street level address part, like Pro Photo Tools did. Geosetter also only puts the lowest level information there (sometimes useful but mostly just a repeat of the city).

but I would really prefer the sublocation to be the sublocation as I understand it should be. Here is the IPTC description:

“Enter the name of the location shown in the image. This sublocation name could be the name of a specific area within a city (Manhattan) or the name of a well-known location (Pyramids of Giza) or (natural) monument outside a city (Grand Canyon). Sublocation is the most specific term, at the fourth level of a top-down geographical hierarchy if it is inside a city or at the third level if outside a city.”

I have a number of scripts that rely on these all being parts of the total address, which of course could be rewritten with some effort. But mostly I don’t believe this concatenation is what sublocation should contain.

Thanks for all your work to provide much-needed tools for Lightroom!

Judy

I don’t think I’ll be able to make that change… the code is very fragile, owning to the really vague nature of reverse geocoding to begin with, a compounded by the wide variety of location types throughout the world, all mixed in with a healthy dose of randomness from Google that can’t be easily explained. The plugin is using an old Google API, and perhaps it’ll be more regular when I upgrade, but for now I’m reticent to touch that code. —Jeffrey

— comment by Judith Nicholls on December 23rd, 2011 at 11:35am JST (13 years ago) comment permalink

Hello Jeffrey,

I just installed your plugin in LR4.Then I was able to transfer GPS data from my “i-GotU” to my shots (NEF files) in LR4.
You have done a great job, and I want to thank you a lot.

Feel well
Bernard

— comment by Bernard on September 19th, 2012 at 10:34pm JST (12 years, 3 months ago) comment permalink

Hi Jeffrey,

I have a iPhone App called Geotag Photos Pro by tappytaps.com. The software is supposed to work with Lightroom 4.3., but I haven’t been able to test it yet. Do you, or anyone else, have any experience of the software working with your plug-in?

Greetings from Rotterdam, Netherlands.
Martin.

— comment by Martin Nillesen on January 22nd, 2013 at 10:15pm JST (11 years, 11 months ago) comment permalink

Hi Jeffrey, first thank you very much for your great plugins.

One question regarding Lightroom 5 with GeoTagging and Committing:
I am using LR5 and enabled reverse geocoding. The images that have the GPS coordinates automatically get the city, state and country. They are in italic gray. When selecting Metadata->Save Metadata to File it is actually NOT written to the file. In order for this to work I first need to click on the label for City and select the city, click on the label for State/Province to select the State/Province, click on the label for Country and select the country, click on the label ISO Country Code and select the ISO Country Code and THEN select “Save Metadata to File”.

I tried to get this automized by using your GEO plugin but so far without any success. Is it possoble anyway? If yes, I was grateful to get a hint or a short advise. It’s also appreciated if someone else answers on this as I can imagine that Jeffrey must be very busy with reading and answering those questions…

Thanks in advance!
Chris

I don’t use Lightroom’s built-in reverse geocoding because my plugin is so much better, so I’m not sure whether you can do it in bulk, but check out the “Lightroom > Catalog Settings…” dialog for some options that may be related. —Jeffrey

— comment by Chris on February 17th, 2014 at 4:13am JST (10 years, 10 months ago) comment permalink
Leave a comment...


All comments are invisible to others until Jeffrey approves them.

Please mention what part of the world you're writing from, if you don't mind. It's always interesting to see where people are visiting from.

IMPORTANT:I'm mostly retired, so I don't check comments often anymore, sorry.


You can use basic HTML; be sure to close tags properly.

Subscribe without commenting