About Me


I played drums in 5th-grade band, but if you're looking for the Jeff Friedl who plays drums for ASHES dIVIDE, that's not me.

What is me is...

Random data points about Jeffrey Friedl
  • I currently live in Kyoto, Japan.
  • Married to Fumie since 1998.
  • Son Anthony born October, 2002.
  • Have studied the following languages in school: English, Spanish, German, French.
  • Can actually speak the following languages: English, Japanese.
  • Languages I apparently wasted a lot of time on for nothing: Spanish, German, French.
  • Born in San Diego, California.
  • Raised in Rootstown, Ohio.
  • Bachelor of Science in Math / Applied Computer Science: Kent, 1987.
  • Master of Science in Computer Science: University of New Hampshire, 1988.
  • Have been in a couple of big earthquakes (Loma Prieta '89, Kobe '95).
  • Spent 2.5 painful years writing the first edition of Mastering Regular Expressions (O'Reilly Media, 1997).
  • Spent 2 more painful years writing the second edition (O'Reilly Media, 2002).
  • Spent only 9 months updating for the third edition (O'Reilly Media, 2006).
  • Catholic.
  • Have programmed in C since 1981, Perl since 1990. Don't know C++.
  • Have used jfriedl@yahoo.com as an email address since before there was Yahoo! Mail. Still use it.
  • Wrote these blog posts.
  • Took these pictures, and these, too.
  • I lurk on Google Plus and Facebook.
  • Adobe Systems, Inc 【アドビ システムズ】 (10/2007 — 8/2008, and again 12/2009 — 5/2010)
    I consulted on issues related to Lightroom.
  • Peak Web Consulting (2007 — 2008)
    I worked on back-end infrastructure tools for top-tier bandwidth users (big Big players on the Internet, whose names I'm not allowed to mention).
  • Yahoo! 【ヤフー(アメリカの本社)】
    Sunnyvale, CA, USA (1997 - 2005)
    Architecting and engineering on the Y! Finance site, using mostly Perl/MySQL to fold, spindle, and hopefully not mutilate reams of financial data. I was employee #192. When I left )-: I was the 30th most senior (by time, certainly not influence) employee.
  • Omron Tateishi Denki 【オムロン立石電機】
    Nagaokakyou, Japan (1989-1997)
    Mostly kernel work on a four-processor symmetric shared memory system that Omron was developing. While at Omron, spent about three years as a “visiting scientist” at Carnegie Mellon University (and was mostly unimpressive to the superbly smart people there).
  • Northeastern Ohio Universities College of Medicine (NEOUCOM)
    Rootstown, Ohio (1981 - 1986)
    Worked with a first-run IBM-PC with DOS 1.0. (Unfortunately, Microsoft has not improved on their software much since then). Washed a lot of lab equipment. Did a lot of programming, including some really advanced flow cytometer control software in FORTH.

I enjoy researching a subject of personal interest, and then, because I occasionally stumble across an ability to write well, sharing the results. Examples include my long writeup on digital image color spaces, the auto-focus test chart that I developed, and a detailed Analysis of Lightroom JPEG Export Quality Settings. (See all in my list of geeky photo-tech posts.)

I also seem to have become the main provider of plugins for Adobe Lightroom, such as my plugins that allow direct export to Zenfolio, Flickr, SmugMug, PicasaWeb, Facebook, and more: see my Lightroom Goodies page for current details. I develop these on my own time, as a hobby, which is perhaps a bit odd because I don't actually use most of them in my own photo workflow. In case it's of interest, I've written up a story on how I fell into this line of handiwork: “Road to Now: My Long Path To Lightroom Plugin Development

For comments specific to a blog post, feel free to leave a comment on the post. Otherwise, feel free to send email. (Plugin logs should be sent as per this FAQ.)

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

Hi Jeffery. I have registered for your Facebook, and Flickr plugins. Just wondering if you have any plans to make one for Googles Panoramio?

You do great work…..thank you

I’d love to, but no, they don’t want one. They were one of the first places I contacted (almost 10 years ago now!), and astounded me with their ignorance of geoencoding. They weren’t interested in a Lightroom plugin. —Jeffrey

— comment by Stephen Fralick on July 30th, 2016 at 10:30am JST (1 year, 3 months ago) comment permalink

Hi Jeffry. I used you http://regex.info/exif.cgi to see video file info. I has an “exif” for it an in exif there is some serrialized data, which contains video file descriptions, such as size, bit depth, coordinates and so on. (I saved this data in binary file and opened in your viewer). Can you tell me what data format is it? XMP or IPTC? Meybe you have binary structure description for this format? (I need deserialize this data)

I don’t know… I suppose it depends on the video-file format and, perhaps, on the type of metadata. (Some files allow different blocks of data to be in different formats.) Your best bet is to look at ExifTool, its docs and perhaps its source. —Jeffrey

— comment by Mikhail on August 18th, 2016 at 12:28am JST (1 year, 2 months ago) comment permalink

I have been using your plugin exporting images from Lightroom to Zenfolio. Thanks so much for creating it. I am wondering, is there any way to not have to export to a folder and just upload to zenfolio? Thanks! Lisa

I’m not quite sure what you’re asking. All photos at Zenfolio must live in an album, so when uploading you must supply a destination. On the Lightroomside, you don’t need to make a Publish Service, though… you can just select photos and “File > Export” directly. —Jeffrey

— comment by Lisa Cohen on September 7th, 2016 at 5:52am JST (1 year, 1 month ago) comment permalink

Hi Jeffrey,

Using your awesome People Support plugin, a thought popped into my head. Have you considered creating some sort of family lineage or relationship plugin? If there is more than one person in a photo, it would be cool to be able show the relationship, i.e. grandmother-grandson, etc. I sort of do this now using keyword hierarchies, but it’s rather clunky. I don’t know if a plugin is technically possible or how would it look, just a thought.


I’ve thought about it, but it’s more than I want to bite off now. It’d be interesting if someone did it…. —Jeffrey

— comment by Chris on September 11th, 2016 at 7:24am JST (1 year, 1 month ago) comment permalink

Good Day Jeffery, I am test driving the LR “Folder Watch” plugin. I have to enable the scan everytime I open LR. Is this by design or should the box “Enable Scan” supposed to stay checked once I click on the “Done” button in LR plugin manager?



Just below that option is a separate “Automatically restart scan every time Lightroom starts” option. —Jeffrey

— comment by Robert on September 21st, 2016 at 2:44am JST (1 year, 1 month ago) comment permalink

Dear Jeffrey,

Unfortunately we cannot neither donate nor buy anything on PayPal in Turkey.
Is there any other way for me to register your plug-ins?

Send me an email with your needs, and I’ll take care of it. —Jeffrey

— comment by Cem on October 17th, 2016 at 1:01am JST (1 year ago) comment permalink

Hi Jeffrey-

This is Alan from Salem, Oregon. Really love your work. Don’t know how you know so much but I’m glad you share. After 10 years your article on color spaces is still the best.

I’m wondering if any of your plugins or utilities can count and report the number of colors in an image? I understand .jpg has the capacity for up to 16.8M colors but usually there is a great deal less in any individual photo.

Thanks again for all your work.


Thanks for the kind words(!) I don’t know of any plugin that does that, but it wouldn’t surprise me if you could figure it out via Image Magick. —Jeffrey

— comment by Alan on December 2nd, 2016 at 12:09pm JST (10 months, 19 days ago) comment permalink


Your plug-ins are fantastic… I have several.

I have about 10,000 duplicates in Lightroom in various folders. I used your Duplicate plug-in to find and reject them. Now how can I export them to organized folders outside of my Lightroom home folders and remove them from the catalog?



I’m not familiar with the plugin you mention (whatever it is is not mine), but a quick way to get the originals out of your Lightroom hierarchy, yet still maintain the folder structure, is to select them all and “File > Export as Catalog”. If you check the “include negative files” option and deselect the various preview options, you’ll end up with a copy of the selected files rooted at wherever you told Lightroom to save them. You can then delete them all from your current catalog, and also delete the LRCAT catalog file that got created, leaving you with just the files you selected. Take care, though, not to accidentally delete something you don’t intend to. —Jeffrey

— comment by David on December 5th, 2016 at 2:23am JST (10 months, 16 days ago) comment permalink

Regexif is sorely missed. Might a little fund-raising bring its return? I’ve got $5 sitting here to toss in. Just sayin’, your fans are out here. Thanks for the many years of service to the puzzle-solving geocaching community! (yes, there is such a thing, and your site has become a critical tool in our solve-box.

Whatever you do, take care!

Give this version a try… —Jeffrey

— comment by Andy on December 19th, 2016 at 12:03am JST (10 months, 2 days ago) comment permalink

hi dear.

i m a regular user of your blog. last few weeks your blogs is down (Jeffrey’s Image Metadata Viewer).

today saw your blogs thank lot dear. very useful for me. but every time is asking i m not a robot. can u pls remove that option. i hope you dear. once again thanks

No, sorry, I have to limit robots because I have to pay for the bandwidth. A few people that abuse it make it more difficult for everyone. )-: —Jeffrey

— comment by raj on December 28th, 2016 at 3:08pm JST (9 months, 24 days ago) comment permalink

Hi Jeffery

I am from Cleveland Ohio USA, and stumbled upon your site from a post on Manual Lense Forum regarding vintage Mamiya Sekor lenses, which linked to a sample of your photo’s… which btw are beayoutiful and I just wanted to say Thank You for sharing your photographic vision with the rest of us..!


— comment by Steve Hong on December 31st, 2016 at 6:59am JST (9 months, 21 days ago) comment permalink

Any chance you will develop a plugin for 500px from Lightroom?

See “Saga of Frustration: Developing (and Abandoning) a Lightroom Plugin for 500px” for your answer. —Jeffrey

— comment by Michael on February 4th, 2017 at 5:16am JST (8 months, 17 days ago) comment permalink

Hi Jeffrey,

I’m having an issue with the export to Google Photos (Picasa) application. I get :

Unexpected HTTP status from Google: 501
Insert is no longer supported

I’m sure I’m doing something wrong, I’d appreciate any guidance here


Google is shutting PicasaWeb down. —Jeffrey

— comment by Garry Pycroft on February 12th, 2017 at 4:47am JST (8 months, 9 days ago) comment permalink

I’ve been using both your Smugmug uploader and EXiF checker for years, although mostly I used a Safari extension called EXIFEXT for that. EXIFEXT required only a right-click and select a menu item to bring up the most important data in a popup window, but recently it stopped working. The developer says he’s not going to pay $99 a year for a free plugin certificate from Apple (and I don’t blame him a bit for that), so an update to fix the problem is not in the cards.

So if you get a little free time and can’t find any snow to track up, there’s a hole in the needs of Safari users . . . .

— comment by Michael on February 12th, 2017 at 7:09am JST (8 months, 9 days ago) comment permalink

Hi Jeffrey,

Re PicasaWeb, yes I realise this is being shutdown but this App was being used to publish to Google Photos and no longer appears to work. You wrote “Uploads had suddenly stopped working, and it seemed like it was because Google had abandoned PicasaWeb, and that may still be the case, but thanks to Rob Jones over at Lightroom plugin provider New P Products for cluing me in on an upload method that still actually works.”, however I don’t see that it does work. Can you explain how we should configure the App.


Google seems to be dismantling things bit by bit. There is no information from them about it… things just stop working. The new way to upload worked when I posted that comment, but since then new things have stopped working. It’s ABUNDANTLY clear that PicasaWeb is being shut down, Google doesn’t care about those that had been using it, and Google has no interest in having photographers use Google products. This plugin is dead. Google Photos looks destined to follow the same left-to-die-on-the-vine path. —Jeffrey

— comment by Garry Pycroft on February 13th, 2017 at 4:34pm JST (8 months, 8 days ago) comment permalink

Hi Jeff,

Big fan of your photography on the interwebs.

Saw this video and immediately thought of you.




I’ve never been to the area, but that lovely video certainly makes me want to visit! Thanks for sharing it. —Jeffrey

— comment by Mark on March 5th, 2017 at 12:32am JST (7 months, 16 days ago) comment permalink

Hello Jeffrey! I traveled to Dubai (amazing!!) two weeks ago and since taking 1300+ photos, have decided to open a zenfolio account for sharing….and downloaded lightroom to start editing. I am having trouble downloading your plug-in to my Mac….I am following the specific instructions, have saved the plug-in to a desktop folder labeled plug-ins- but can’t unzip???

According to your instructions, I need to unzip before using plug-in manager? Geez….I must be missing something simple….any help would be appreciated!

Thanks so much-

Perhaps your browser unzips it automatically, leaving the plugin folder all ready to be moved to wherever you want it to live on your system? —Jeffrey

— comment by Chrysa on March 29th, 2017 at 12:13am JST (6 months, 23 days ago) comment permalink

User Chrysa asked about unzipping a Zip archive on a Mac. This is not done by the web browser either automatically or manually. UnZip on a Mac is done simply by double clicking the Zip archive, by the Mac OS X, which launches the unZip program upon double click.

— comment by Michael on March 29th, 2017 at 7:54am JST (6 months, 23 days ago) comment permalink

Hi Jeff,

I recently tried to reproduce the never-ending recursion of parsing CSV, that you so eloquently discussed in The Perl Journal. (Back in the day!) Despite my attempts, I could not get any regex engine to hang on the bad input. Does this imply that Larry Wall (and other wizards) have improved their algorithms to detect simple mega-recursion cases like this?

I was trying to illustrate to a CS class what could go wrong with recursion. I fell back on Fibonacci, but I really think that the students are much more likely to use a regex in the rest of their lives than calculate Fibonacci numbers.

P.S. We met way back at an ORA author’s signing thing. Mine was about Objective-C, so you know that I am now obsolete. Fortunately, all the best features of Obj-C were carried along into Swift, so in fact I love Swift.

I know that Perl eventually got quite good at it, but don’t recall other engines that were good at it (except of course DFA-based engines), but it’s been more than a decade since I really looked into this stuff. —Jeffrey

— comment by Andrew Duncan on April 4th, 2017 at 9:19am JST (6 months, 17 days ago) comment permalink

Hi Jeffry,
here is a suggestion for your “Find Next Photo Group” plugin (part of Bag-o-Goodies):
I assume the plugin is evaluating only the time information to build photo groups.
In my opinion it should stop grouping if file extension or image dimension or rotation change.
Images with different extension/dimension/rotation should never be grouped. They can’t belong to the same burst/panorama/….

— Greetings from Germany

You’re absolutely right…. I’ve just pushed an update with this. Thanks! —Jeffrey

— comment by Martin Schultheis on April 14th, 2017 at 7:02pm JST (6 months, 6 days ago) comment permalink

i tried the Metadata-Wrangler and intend to use it and give a reasonable donation to the program …because its great and your are generous.
unfortunately, I was unable to solve the main problem i have: i need the the original image size in the metadata and not the exported size. Is that somehow possible at all?
example: image ist 4500×3000 pixel orignal dimensions; it will be exported 1500×1000 pixel; but this exported image should have the original dimensions in the metadata.
would appreciate your help

You could use the OriginalWidth token to add the data to one of the fields that MetadataWrangler can write to, e.g. “original size: {OriginalWidth}x{OriginalHeight}“. —Jeffrey

— comment by philip on April 17th, 2017 at 4:45am JST (6 months, 4 days ago) comment permalink

I emailed awhile ago to ask for help with logging into tumblr, and I don’t know if you fixed something or tumblr did, but it works now! I’m back to posting from LR and I couldn’t be happier 🙂

— comment by Alan Paone on April 23rd, 2017 at 5:48am JST (5 months, 28 days ago) comment permalink

Hi Jeffrey,
I just downloaded your zenfolio plugin (thank you so much!) and am trying to match the existing galleries from zenfolio into LR galleries.
Looks like LR matches the images and I get “53 already-associated images were reconfirmed, but no new matchups were found.” but in the collecitons it shows “0” for images. I tried all galleries and one by one gallery.

I was able to create a new gallery from LR into zenfolio and it works fine, but not for the galleries already existed on zenfolio prior to the plugin.
thanks for your help!

It sounds like you’ve yet to do step #3 (Populate) mentioned here. —Jeffrey

— comment by Olya Gary on August 10th, 2017 at 8:24am JST (2 months, 11 days ago) comment permalink

Hi Jeffrey,
I’m interested to know if there is any possibility to get additional information when a photo is “around” (let’s say in a pre-defined range) a Point of Interest (in the specific, historical sites). I’ve seen that there are APIs able to look up at specific DBs and it could be nice to have this feature too…

Greetings from Italy

I’m not sure in what context you’re asking, but this doesn’t sound like something I’d work on. —Jeffrey

— comment by Lubiano on August 21st, 2017 at 10:43pm JST (1 month, 30 days ago) comment permalink

Bonjour Jeffrey.
Bravo pour votre site, votre travail, vos photos.
Je me permets de vous écrire en français, je suis sûr que vous apprécierez.
Mon problème:
J’ai installé votre module “Google Drive”, après installation, je le configure le module en validant authentification sur GDrive.
Apparaît ensuite la mention suivante :
“fetching folder list from Gdrive” et ensuite rien ne se passe, ça affiche “not enought memory”, puis ça plante.
J’ai 16GO de ram ^^
Merci pour votre aide Jeffrey.
PS: You can reply in English if you wish

I don’t read French, sorry. Perhaps use Google Translate in the future. Next time you see this error, please send a log. Since Lr is crashing, be sure to see the last paragraph of that FAQ entry. —Jeffrey

— comment by fred on August 24th, 2017 at 5:59am JST (1 month, 28 days ago) comment permalink

Hi, Jeffrey,
I’m still using LR 5.7, because I do not need most auf the CC stuff. But when I upgraded recently to the latest Google Earth version, the map module didn’show the map any more, just the markers. It seems Adobe tries to force its customers into subscription …. Have you got any solution for this problem?
Best regards,
Robert, Vienna

It’s my understanding that this problem was caused by Google changing something out from under Adobe. It broke everything. I might be wrong, but in any case it is fixed with the most recent version of Lr6. You can still get a standalone non-cloud version of Lightroom 6, but since you have an older version of Lightroom, you should be able to get an upgrade version for half the price. You might have to contact Adobe to ask how to do that. —Jeffrey

— comment by Robert on August 28th, 2017 at 8:59pm JST (1 month, 23 days ago) comment permalink

Raleigh, NC, thanks for all of your plugins. Do you have anything to make the stacking ability more controlled by my input rather than reading all of the metadata. I shoot real estate and I always shot brackets of 3 but auto stacking is hit or miss and it takes a while to scroll through and unstack/restack and inevitably I miss an incorrect stack or two. It would be nice to have something that I can tell LR to stack them by whatever number of brackets I have shot. Mostly, in my case, every three is a stack. I always make sure that I complete a full bracket even if my flash misfires or I see a change I want to make. It seems so simple. Enfuse offers it but I am having trouble getting Enfuse to work on my mac as a standalone. It works fine as a plugin if it would only offer to create stacks in 3s.

The only thing I can think of that’s even close is the Adkins on September 10th, 2017 at 9:10am JST (1 month, 11 days ago) comment permalink

Is there anyway to have your Zenfolio plugin remove all of the Metadata (in my case, the Copyright that my wire requires is over the 100 character limit)? I am trying to automate my archiving to Zenfolio and it’s failing with the plugin due to the copyright length. I want to be able to do this without manually removing metadata.

Thanks for any help you can provide!


The plugin sends the copyright directly to Zenfolio, overriding any that may or may not be in the image metadata. I suppose you have your reasons for having such a long name in the copyright field, but your best bet is to somehow squeeze it in (or ask Zenfolio to up the limit, and then let me know so I can update the plugin). —Jeffrey

— comment by Andrew on October 11th, 2017 at 3:28am JST (1 week, 3 days ago) comment permalink

FYI – I tried using the insert for Metadata Wrangler, but that seems to only strip after exported. I need it to strip before it uploads to Zenfolio otherwise it fails. Just curious if there was a quick way to do this. I am using the old rcPlugin that that lets you combine multiple export actions into 1. Right now I have it setup to FTP files to my vendor, then create master copy locally, then create a websized with copyright locally all within the single rcExport preset. My intention is to add export to Zenfolio as a 4th item to the rcExport preset.

Thank you again for your help.

— comment by Andrew on October 11th, 2017 at 4:09am JST (1 week, 3 days ago) comment permalink


Do you know a way to insert jpg keywords into the exported files so that MacOs can use them as MacOs keywords?

Would be super nice if you could help me.


I’m not familiar with “MacOS keywords”, but if you can find a command-line tool that adds these to a file, you can use my Run Any Command plugin to invoke that command. —Jeffrey

— comment by Martin on October 19th, 2017 at 11:27pm JST (1 day, 6 hours 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.

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

Subscribe without commenting