Well, I’m trying out to see what it’s like firing up my own little servers, instead of paying extra for a managed VPS that isn’t as fast as I’d like. So far, there is a big learning curve. Droplets and snapshots aren’t as user-friend as I’d like.


DigitalOcean Notes


To Create a New Server

  1. Install new droplet
  • Centos 7
  • IPv6
  • Monitoring
  • With SSH key (id_rsa)


  1. Reset root password to get the root password (if none emailed, seems not!)
    • Login via SSH, you’ll have to change to a new password
    • Easiest with Terminal because you can copy/paste passwords
  1. Install Vesta:
# Connect to your server as root via SSH

ssh root@your.server

# Download installation script

curl -O
  1. Run Vesta Installer to get LAMP, email, etc.
    • Vesta Installer using default settings ( ):
    • Fill in the hostname which is the droplet name, e.g. “centos-512mb-sfo”
    • Fill in email
    • Fill desired admin password for Vesta
    • Sample command created by the Vesta website:
bash --nginx yes --apache yes --phpfpm no --vsftpd yes --proftpd no --exim yes --dovecot yes --spamassassin yes --clamav yes --named yes --iptables yes --fail2ban yes --mysql yes --postgresql no --remi yes --quota no --hostname MYSERVERHOSTNAMEHERE --email MYEMAILHERE@MOI.COM--password MYPASSWORDHERE
  • Look for results after this runs:
Congratulations, you have just successfully installed Vesta Control Panel

    username: admin

    password: MYPASSWORDHERE

Make a Snapshot


Make a snapshot of a server setup so you don’t have to build from scratch.


  1. Power down the droplet from command line:

Login to your Droplet as root and execute the “shutdown -h now”(or “poweroff”?) command. This will shut down your operating system, flush any pending changes to the disk, and then terminate power to your server.

  1. When the droplet shows as “off”, make a snapshot
  2. When finished, turn the droplet back on if you wish.


Domain Names

  • Set your DNS servers:


Add User with the new domain name

  • Use the “admin” user for a single-user server (?)
  • Best to wait for DNS to propagate!
  • Add a new user for the new domain
  • Login as the new user (directly from Vesta, there is a link to login as the user)
  • Create a new domain under the “Web” menu
    • Advanced: add SSL support using Lets Encrypt! Might fail if DNS isn’t live yet.


It’s the end of the year, and that means it’s time to copyright your photography. Every time I do this, I forget how it is done, and I have to look it up. Here is what I did this year.

PhotoShelter has a good guide on how to use the US Copyright Office’s online “ECO” system:

Sure, it’s old, but I still works. However, it is unclear about two issues: how do you handle a large group of images at once, and what can you submit in a single copyright submission.

As far as I can tell, you can upload a year’s worth of your unpublished images in one go, and you can upload a year’s worth of published images, but you can’t mix published and unpublished in a submission.

And, while I submitted only once this year, those of you who are a busier will want to submit more often! That’s when the record keeping — a collection in Lightroom, for example, and metadata taggin — becomes important so you don’t double-submit, or fail to submit, photos.

Unpublished Photos

I gathered all my significant unpublished images, added my name to the metadata if it was missing, and exported them from Lightroom to fit 600×600 pixels, JPG 65. I compressed them into a “zip” file (on the Mac, that’s in the Finder menu File:Compress). Your file must be under 500MB, and mine was. Those small JPG’s are about 55 kb each.

My zip file, containing the small JPG files, is named “2016 Copyrighted”. I will hold onto it — it’s less than 500MB — just in case I need it some day.

After entering all the registration info and paying my $55, I was able to upload the zip file of photos to the copyright office.

Published Photos

I did the same with my published photos, having gathered them together into one group. I chose the date of the first publication of the first image in the set as the publication date. I think I can do this because of Peter Krogh’s notes and other commentators.

Then, I made a collection in Lightroom called “Copyrighted 2016” and added them to that collection. And, I marked their metadata as “Copyrighted.” That way, I know I’ve submitted them, and I don’t try to do it a second time (which apparently can be bad if a lawyer finds out).


Your yearly submission is going to cost at least $110, because each submission (of a group of pictures) costs $55.

PhotoShelter & Pixsy

Finally, I uploaded all my copyrighted images to a special gallery on PhotoShelter (in a small size). This way, I can use Pixsy ( to automatically scour the internet to discover violations of my registered photos!


Here’s my guest blog post at Ansca Mobile’s Corona SDK blog:

I am a reluctant member of the app-making business, a recovering programmer/designer who has fallen off the wagon. This matters, because when I chose to base my ebook platform on Corona SDK, I chose it to minimize the programming involved.

See, if I were a rich man, I’d be in the jungles of Borneo reporting on the environmental and social destruction, gathering the sounds and photography and video and stories to make a book app. That’s where my passion is — shooting great pictures and telling important stories that have the chance to move people and change the world. Nice work if you can get it!

After a life of programming and design, I switched to photojournalism. I moved to Istanbul, Turkey, in 2001 and spent twelve years photographing in the mass graves of Kosovo, the wars in Macedonia and Iraq, the tsunami in Thailand, and the insurgency in eastern Turkey. I came back to the US in 2007 and photographed stories about wrongfully convicted people (see “Innocence Project”) and wildfires. Frankly, it’s been a lot of fun.

Here’s what I’m talking about:

So, if were a rich man, I’d hire a team of programmers and designers, some fancy San Francisco shop with an in-house pogo stick parking lot and a stuffed cow on the scrubbed, red-brick wall.

However, when you’re not rich, you just have to do things yourself. So, I built that ebook app myself. It’s been a long journey, but the platform is up and running. The latest apps built on the platform are “GG Bridge” (out now!) and “Ed Kashi” (out as soon as Apple finishes review). Even my book on Borneo is in progress because I was able to demonstrate to potential funders a working prototype.

It’s been a long slog.

About two years ago I started looking for a tool to build ebook apps. It took quite a while to find a system that worked for me. Adobe InDesign had some beta tools that looked promising — when they didn’t crash — but Adobe had prohibitively high publication fees. Apple’s Xcode looked great for an objective-C programmer, but years of PHP and CSS and Javascript work, I really didn’t want to learn another language and library, along with whatever huge set of quirks and bugs that would entail. Appcelerator and the other Javascript-based tools looked promising, but they turned out to be too slow (and often buggy) for the smooth user interaction a good ebook’s needs. I even tried the Baker Framework; in its early days, I successfully programmed sliding, cached pages in Javascript, inside of HTML 5, which was put into web-views. It almost worked, but was simply too unstable.

Many believe Corona is just a game platform, but I don’t agree. It turns out that if you want a smooth, fast, realistic user experience, you need a platform designed for speed. If you want clean graphics and animations, smooth and subtle, the kind that allow an ebook reader to NOT notice that she’s using a computer, then you need a platform which focuses on graphics and sound functionality.

I ended up reprogramming my Javascript ebook into Corona, and I had a working prototype in a week.

Lua is a bit of a joke on the other languages — compared even to PHP, it’s so easy to work with that you just want to laugh at the other guys. I can work PHP and Javascript and Perl, so I didn’t need to “learn” Lua. I just did it.

A year later, here’s what I’ve built: an ebook platform that lets you create an interactive ebook using XML code. I can export pictures and captions from Adobe Lightroom (using LR/Transporter) and create a photo ebook, with slide-up captions, in under 15 minutes.

My demo book is called “3 Stories,” built using InDesign for the layout, Lightroom for exporting, and the Corona platform for the app (free in the iTunes App Store).

For Ed Kashi, one of the world’s great photographers, I’ve built a book with text and zooming images, audio commentary, zooming contact sheets, and an interactive map (out soon, see “Ed Kashi” in the iTunes App Store).

For the California Historical Society, I used Corona to build “GG Bridge,” a visual history of the Golden Gate Bridge, just in time for the 75th Anniversary (this one is free on iTunes).

Now, I’m a step closer to spending less time programming, and more time making great ebooks. I’ve even turned apps into a side-business, making ebooks for other people.

Not bad for a platform commonly mistaken for a “game” system, right?

-David Gross