Marc Rochkind's Apps, Books, and Opinions

Updated "Verifying and Uploading Large Archives of Photos"

I've been on Windows for a while, and now it's time to put a few folders of photos onto Amazon S3 Glacier for permanent archiving. So, I had to come up with a way to verify large archives on Windows, and I've updated the article accordingly. There's a new utility described there (MD5Multipart) to calculate the multipart ETag (accumulation of MD5 sums).

Comment on the SmugMug 2.0 API

A post I put on the SmugMug forum, called Digital Grin:

I just converted my app SmugMugBrowser to the 2.0 API, and the result is OK, even an improvement in performance, because I can now access the folder/album hierarchy level-by-level. Before, I had to retrieve all the albums and then compute the hierarchy from the categories and subcategories. So, that part is good.

But the documentation is terrible. Someone, perhaps several people, think that the live API screens are a replacement for documentation, but they are wrong. Not that the live screens aren't useful, but they are not documentation.

As a result, I'm forced to do a lot of guesswork and run a lot of experiments to determine the rules. This is silly! The rules should be stated explicitly.

For example, I determined that I could pass a "count" parameter when I'm getting nodes, but nowhere that I can see is this documented. There were lots of little examples like that. As a result, my work took longer, was frustrating, and may not be using the API in the best way.

Here's a question I can't answer: Is there a replacement for the CustomSize parameter that is in the 1.3 API? (I know that I can construct a custom-size URL--this is different.) I have a lot of questions like that. What parameters can I use to speed things up or produce a better app? No idea.

If SmugMug wants to continue to progress with apps and websites that work with it, it will have to do much better. This on-the-cheap approach just isn't good enough.

SmugMug isn't alone here--I see this lack of documentation all over, because API providers know they can get away from it. But it's stupid: If you want developers, and every platform company does, why make it so difficult? In my experience, the best API documentation ever, by a wide margin, comes from Apple. SmugMug goes in that group at the bottom, the very worst.

This is only about the documentation. Near as I can tell, SmugMug's API itself is really well implemented, and I didn't find any bugs, either. No one is saying they're not good programmers.

My SmugMug Digital Photo Frame

digital photo frame

For a few years I've had a home-made digital photo frame on the wall in the breakfast room, composed of an 24-inch monitor and a Western Digital media player. I described it in an article I wrote back in 2012 but forgot to blog about.

Recently, as I've done a few times already, I uploaded a bunch of vacation photos to SmugMug, and then put the identical photos on a USB stick for the photo frame. Why am I doing this? I asked myself. It would be great if the photo frame just ran off of SmugMug.

But, neither the Western Digital media player nor Apple TV had a browser. That's what I really wanted. All those media-player features (e.g., Netflix, YouTube) were irrelevant. I had a spare Intel NUC running Linux, but the NUC is too much for photo frame, and I liked having the Linux computer around. I tried a Raspberry Pi, but it was was under-powered.

Then I discovered a Chromebit, essentially ChromeOS on a dongle. That is, a Chromebook without the keyboard, touchpad, or screen. A Chromebox, but much smaller and cheaper ($83 or so).

Perfect! It tucks behind the TV even better that the media player did, and, as it runs ChromeOS, I'm totally familiar with it. I just browsed to SmugMug, started a slideshow, and I was in business. (The photo shows it un-tucked.)


I didn't want a browser logged into my Google account in such a public place, so I created a new Google account just for the slideshows.

The Chromebit worked OK, but not as well as I would have liked. It seemed that the images didn't always fill the screen, I couldn't vary the time as much as I wanted, and I didn't want all that web traffic, as the photo frame runs all the time. (The browser caches images, but I'm not sure to what extent. Some of my slideshows have over a thousand images.)

So, I took a Chrome App I already had, SmugMugBrowser (in the Chrome Web Store), and added a slideshow feature. As a bonus, it's much easier to navigate to the show you want than it is on the SmugMug site. It caches the whole show, so the only internet traffic is for the first trip through the slides.

Now all my SmugMug galleries are instantly available to show, not just the few I had on the USB stick. From time-to-time the media player seemed to corrupt sticks, and that's gone, too.

With a monitor and a Chromebit, you're not limited to SmugMug, of course. If you have some other site that provides slideshows, you can go there just as well.

Click here for the whole blog.

Mac/Windows Apps

Apps for serious photographers: Exif­Changer, Ingest­amatic, Image­Ingester, Image­Verifier, Proof­Sheet, and Exif­Extreme.

Verifying and Uploading Large Archives of Photos

ZipVerifier and S3BigUpload are for preparing large image archives and uploading them to Amazon S3 and Glacier. Designed for the backup of last resort, to be retrieved only if all other backups have been destroyed. The emphasis is on verifying that the archive is absolutely correct and that the upload, which could take days, completes and is correct.


The first Chrome App for SmugMug. You can browse galleries, organized by category and subcategory, view thumbnails for a gallery, and view larger images, annotated with EXIF data. As it runs under Chrome, it works on Mac OS X, Windows, Linux, and Chromebooks.

Classic Cameras

The web version of the iOS Classic Cameras app, now free. Features high-resolution photos of over 100 classic cameras, along with reviews, ads, and lots more. A treat for anyone who's ever shot with a classic film camera.

Wright Brothers Photographs

Photographs taken by the Wright Brothers themselves, digitized by the Library of Congress from the original glass plates. Contains 183 photographs with captions. Includes many taken at Kitty Hawk, including early gliding experiments and the first flight.

Programming Chrome Apps

Also available from Amazon.

Expert PHP and MySQL

My latest book, capturing what I've learned building apps, both the few successes and the many failures. Advanced material, too, such as two-factor authentication and data conversion.

Published by Apress in 2013 and available from Amazon.

Generating PDFs with PHP and FPDF

How to use the free FPDF library to generate PDFs directly from your PHP app.

Published in 2013 and available as an eBook from Amazon.

Advanced UNIX Programming

The first book on UNIX programming, updated in 2004.

Published by Addison-Wesley and available from Amazon.

More Books

All of my books (16 or so), available from Amazon.

Bernie's Bar & Girll

My first (and only) novel, which would be a romance, except that the main character is a man. It's got everything: humor, sex, a car chase, a bar fight, a trial, an exposé of Big Oil, and some endearing Creationists.

Published in 2012 and available from Amazon as a $1 eBook.


Various articles I've written over the years, ranging from mind-numbingly serious to ridiculously silly. Most are in-between.

Contact Me

Click this box for support on any of my apps or to contact me generally.

Entire site ©2006-2015 Marc Rochkind, unless otherwise noted. All rights reserved. Books image courtesy of ddpavumba at