Reducing Craigslist Flakes

Ever try to give something away on Craigslist and had to deal with people flaking out on you? You’ll get the initial ‘Is it still available?’ barrage of emails and you never hear from them again. Or you’ll agree to a time and place for them to pick up the item and they don’t show up. It’s so frustrating I came to dread what should have been an easy act, giving something away.

At least part of the reason that this happens is that the other person has nothing at ‘risk’. It’s easy to send an initial email. It’s easy to agree to a place and time. If they don’t show up, it’s no skin off their back. After this happened to me a couple times, I came up with a potential solution. Make the other person demonstrate their commitment to picking up the item by having them donate a token amount of money to a charity and then sending you the receipt. Here’s an email I used recently when giving away a piece of furniture:


Thank you for your interest in the furniture. It’s still available! I’m flexible with dates and times; I’m sure we can agree on something soon.

Have you ever sold or given anything away on Craigslist? If so, you know that many people will flake out and never show up. I’m running an experiment with this listing. To show that you’re serious in these end tables, I’d like you to make a small donation to a charity. You get to pick which charity; PayPal makes it easy to do so:

Just pick a charity, make a $5 donation, and then email me some proof of that. The proof could be the email receipt you received from PayPal, or it could be the charity receipt from them. Anything that proves you made the donation. Once you do that, we’ll set up a time for you to pick up the end tables. You get to feel good about helping a charity, and I know that you’re serious about picking up these end tables.

If you are not interested in doing this, please let me know and I’ll move on to the next person who’s interested in the end tables. Also, if I don’t hear back from you one way or the other within the next 1 hour, I’ll assume you’re not interested and will move on to the next person.

Regardless, any feedback you have about this idea of making a charitable donation to show interest in this listing would be greatly appreciated.



It worked for me. If you try it, please let me know how it goes!

Multi-User Lightroom

My wife and I take a lot of photos and we’ve been searching for a system where we could combine and manage our various pictures. I had been using Adobe Lightroom to manage my photos and she had been using Apple’s Aperture. We wanted one system where we could access, catalog, manage, develop and print our photos. We decided to standardize on Lightroom, but Lightroom is currently single-user only. We needed to be able to access our Lightroom catalog from multiple computers and Lightroom’s SQLite-based database is not designed for that. So after some research, I put together the following system. It allows us to use one Lightroom catalog on multiple computers. The caveat is that only one of us can be running Lightroom at a time. Other than that, it solves our problem.

WARNING: This is a hack. While it works for us, I do not guarantee that this will not trash your Lightroom catalog. Make backups and proceed carefully.

SECOND WARNING: These directions and the script are not polished. This post assumes some technical savvy.

There are a couple parts to my solution. It requires a network share on a NAS and it requires a service like Dropbox, that syncs a set of files across multiple computers. Some NAS devices come with software that provides Dropbox-like functionality. The NAS I have, a Synology DS412+, has software, called CloudStation, which provides this functionality. Also, we’re a Apple Mac-based household. This solution should work for Windows as well, but you will have to customize the shell script.

In short, we store our photos on the NAS and we store the Lightroom catalog on the Dropbox folder. We invoke Lightroom using a shell script that ensures that only one person can run Lightroom at a time. The reason we put the Lightroom catalog in a Dropbox folder is for speed; the catalog and previews are stored locally.

Many people already store their photos on a NAS. If you are not currently doing so, there are several tutorials to help you migrate your photos, such as this one.

To begin, make sure you’re not running Lightroom. Locate the Lightroom catalog, which is usually stored in your Pictures folder. You’re looking for the ‘Lightroom 5 Catalog.lrcat’ and ‘Lightroom 5 Catalog Previews.lrdata’  files. Copy these to a folder in your Dropbox, and then rename the old ones so that Lightroom doesn’t try to use them in the future. When you next launch Lightroom, it will ask you for the catalog file; point it to the one in your Dropbox folder.

The ‘Lightroom 5 Catalog Previews.lrdata’ file is a cache of previews of your photos. It can be large, but can be regenerated at any time. I choose to not have Dropbox/CloudStation sync that across the various computers, and let each computer generate it when Lightroom is run. Dropbox and CloudStation both have selective sync functions that allow you to exclude files/folders from syncing; that’s how I do that.

Now you should have a normally working Lightroom installation, with your photos on the network share on the NAS and your catalog in the Dropbox folder. The last bit of the solution is to only run Lightroom through the use of the following shell script, which I’ll explain.




if [ ! -d "${MOUNTDIR}" ]; then
 mkdir "${MOUNTDIR}"
 mount_afp afp://${USER}:${PASSWORD}@${NAS}/home ${MOUNTDIR}

# Want to delay at least N seconds since last instance was closed to
# allow for CloudStation propagation
if [ -f "${TIMEFILE}" ]; then

if test `find "${TIMEFILE}" -atime +15s`; then
 echo "ok"
 osascript -e 'tell app "System Events" to display alert "Need to sleep, Lightroom will start momentarily"'
 sleep 15

if mkdir "${LOCKDIR}"; then

echo "Locking succeeded" >&2
 open -W /Applications/Adobe\ Photoshop\ Lightroom\
 touch "${TIMEFILE}"
 rmdir "${LOCKDIR}"


osascript -e 'tell app "System Events" to display alert "Someone else is currently using Lightroom"'
 echo "Lock failed - exit" >&2
 exit 1


What the shell script does is as follows:

  1. It makes sure the network share containing the photos is mounted.
  2. On the network share, it looks for a time file that was created by a previous instance of running the shell script, and indicates the last time the script (and Lightroom) were run.
  3. If the file exists, it checks the time and makes sure it’s been at least 15 seconds since the last run. This is to allow Dropbox time to synchronize the catalog from any other computer. The 15 seconds is a guess on my part; you may want to make it longer.
  4. Once it’s been at least 15 seconds, the script attempts to create a lock directory on the network share. This only succeeds if the lock directory doesn’t already exist. If it exists, the script assumes that someone else is running Lightroom and displays an error message.
  5. One the lock directory is created, it launches Lightroom and then waits for Lightroom to close.
  6. Once Lightroom closes, it removes the lock directory and updates/creates the time file.

Things you have to customize in the script:

  • The USER, PASSWORD and NAS variables lines 3,4,5
  • The script assumes your network share is mounted at /Volumes/home and that there is a Lightroom directory there. This does not have to be where your photos are stored.

To run the script, I used Platypus to create a Mac application out of the shell script. I placed the resulting app, which I call ‘RunLightroom’, on the network share, and then on each computer I dragged that to the Dock, to make it easy to run.

Hopefully this helps someone else out. Family photo sharing/management is a huge opportunity that Adobe should probably own (for better or worse). This post only addresses part of the problem; another issue is access to your photos on all your devices. Synology has a solution for that and I’m working on integrating that with Lightroom. I’ll put up another post when/if I have that figured out.

Please let me know if you have suggestions for improving this post; this is just a first draft and these instructions are admittedly pretty rough.

Photo – Norwegian Boat Houses

Photo & Video Sharing by SmugMug

This past summer we vacationed in Scandinavia, visiting Norway, Sweden and Russia. This photo was taken as we travelled by ferry from Oslo to Balestrand, Norway.

Backup and Dropbox Strategy

The hard drive on my iMac is making a funny noise, which is a good excuse to review my current backup strategy. It’s fairly simple these days. All of my data is on a 3TB iMac fusion drive. That gets backed up 3 ways. It’s backed up to an Apple Time Capsule, which also serves as my main WiFi router. I also use CrashPlan to back up to their cloud service, CrashPlan Central. And as a third backup, I use CrashPlan to back up to a USB drive every couple of weeks. The USB drive is otherwise stored in a (hopefully) fireproof safe. This gives me the safety of an off-site backup as well as the speediness of two different on-site backups. I’ve had occasion to use the Time Capsule to recover some files, but I have not yet had to rely on any of the CrashPlan backups.

CrashPlan provides the software to do local backups for free; they make their money on CrashPlan Central. I signed up for the 4 year CrashPlan+ Family unlimited plan, because we have several computers to back up. When I first set up the CrashPlan cloud backup, I used their ‘seed service’, in which a hard drive is mailed to you, you use it to do a local backup, and then you mail the drive back to them. This is much faster than doing the initial backup entirely over the net.

These days, a discussion of backups wouldn’t be complete without talking about Dropbox. My wife and I share a Dropbox account. It’s a great way to share family-related information, and it’s automatically backed up. But we wanted some extra security on the files we share, so we encrypt our Dropbox account using BoxCryptor. BoxCryptor creates an encrypted volume on top of a Dropbox directory. This shows up on Windows as another drive; on Mac it shows up as a volume. It encrypts files on a per-file basis, instead of creating a monolithic encrypted filesystem. This allows DropBox to continue to sync on a file-by-file basis when something changes. BoxCryptor is free for individuals; the paid version has extra features.

One feature to consider is encryption of file names. It provides an extra level of security; if someone were able to look at your DropBox account, they’d only see a bunch of files with gibberish for file names. In the end, I decided against enabling that feature. We’re giving up a little bit of security (the file data itself is still encrypted). The advantage of not encrypting file names comes up in the case of recovering deleted files, should you have to do that. You’ll be able to locate the files to recover because the file names are still readable. That wouldn’t be possible with encrypted file names.

Yahoo Groups

I read with interest Marissa Mayer’s comments today at the Goldman Sachs Technology conference, specifically her mention of Yahoo Groups:

One of our strongholds has been Yahoo Groups, as it moves to the phone it opens up all kinds of possibilities. The phone is a much better place to do group communication.

My first startup was ONElist, which was renamed Yahoo Groups after we were acquired in August 2000. Over the past 12 plus years, I’ve watched as Yahoo did basically nothing with Groups. It’s still almost the same as when it was acquired. Yahoo has devoted only enough resources to keep it going all these years. In fact, if you try to use the site now, it often times out and is generally extremely sluggish. I don’t have current numbers, but I’ve been told that even with all the neglect, Groups still has over 100 million users. The group archives make up many petabytes of data. It is not a small service.

Email groups are great ways to communicate. As numerous people have told me over the years, Yahoo Groups have affected people’s lives in significant and profound ways. As my friends will attest, I’m at least as cynical as the next software engineer. But I think group communication is one of the most important aspects of the Internet and I truly believe that it has and continues to make the world a better, safer, more inclusive place. But Y! Groups has stagnated for 12 years.

Several months ago, I got fed up with the state of (neglect of) Groups and decided to start working on a next generation Groups service. It’s not ready yet, but it’s not too far out.

With all that, ever since Mayer took over as CEO, I’ve been watching for signs that she’d devote resources to Groups, and this is the first sign I’ve seen that they may be working on an update. They have a lot of challenges in doing so. With a service that hasn’t changed in 12 years, people have become accustomed to the interface and I believe there will be a lot of resistance from long time Groups users (which is the subject of an essay for another day). But I know that Groups can be so much more than what Y! Groups are right now. It’s only a matter of time. Whether Yahoo, or I, or someone else launches the next generation of groups, it will happen, and people will be better for it.

Book Review: The Centre Cannot Hold

I’ve been on safari in Africa twice; the first time was our honeymoon in 2011. We had such an amazing time that we decided our next trip would be another safari, and so we went again this past June. And we knew even before we returned, that it won’t be our last safari. I’ve posted some of the photos I took on those trips here on the blog and several adorn our house.

For Christmas, my in-laws got me The Centre Cannot Hold, a book by David Gulden, of black and white images taken in Africa of (mostly) animals. David’s goal was to take photos that no one else had been able to capture. This entailed using such devices as an infrared-triggered camera, and going to such lengths as using a cross-bow to mount a camera near an eagle’s nest. His effort was worth it. The images are stunning, and not just because of his MacGyver ways. The man clearly has a talent. The result is a great coffee-table book. And for this newbie photographer, the photos are an inspiration.

ONElist Office

Sam Rushing recently came across some old photos he took, including this one, which is a panorama of the old ONElist building in Redwood City. It was taken in February, 2000, which was after we merged with eGroups and before we were acquired by Yahoo (and became Yahoo Groups). The office was a converted warehouse and had about 50 people in it. This photo doesn’t show all the cubicles behind the photographer, nor does it show the offices underneath. During the whirlwind that was ONElist, to my lasting regret, I never took any photos, so I especially appreciate Sam’s rediscovery.

The cardboard cutout, btw, is Sarah Michelle Geller, during her Buffy The Vampire Days. I never knew the story behind why that cutout was in the office.

Stitched Panorama

Shuttle Endeavor Flyover

The Space Shuttle Endeavor did a flyover of the bay area this morning. I headed out to KPAO, the Palo Alto Airport, to see if I could get a good view. It was impressive as it passed overhead at 1500′.
Photo & Video Sharing by SmugMug

Tanzania Safari Report – Final Day

Lee suggested that we’d have time for a brief drive before our flight this morning. We jumped at the opportunity to do so, calling it our bonus drive, and we were immediately rewarded. Lee mentioned that he had heard some lion calls near our lodge in the night, so we went looking for them, and 10 minutes later came across a pair of lions mating. Out of respect for the delicate readers of this blog, this first photo is post-coitus. The male lion is walking away to find something to read while the female lion rolls on her back, pawing the air and says “Wait, can’t we talk about feelings now?”

The mating process takes around 3 days, during which they will have sex approximately every 20 minutes. I got tired just typing that sentence. Each, umm, event, only takes about 10 seconds. Feel free to insert your own jokes here. At the point of climax, both lions roar. It’s quite impressive. Especially when you’re just 20 feet away.

At the end of our bonus drive we came across a pair of jackals. They’re small, canine scavengers. These guys were definitely less shy than the other jackals we saw on the trip.

Thus ends our safari adventure. I hope that both of you reading this enjoyed it!

Tanzania Safari Report – Day 8 / Serengeti

As mentioned previously, we set out this morning to see hippos and crocs. The section of the Grumeti river where the hippos and crocs were located is a two hour drive from our camp, so we left the lodge early. On the way there, we came across three cheetah, a mother and her two one year old sons. We found them in a tree, and followed them for half an hour as they stalked some Thomson’s Gazelle. The gazelle caught wind of them (literally, the cheetah were upwind of them), and so the hunt was soon over, and we continued on our drive.

The rest of the drive was uneventful and we eventually came upon the crocs and hippos. This next photo is of a large pod of hippo that we watched for awhile. Hippo apparently taste pretty good (my go to question to our driver Lee when seeing any particular species of animal was “So, how do they taste?”), and so I have decided that hippos should be referred to from now on as ‘river pigs’. That’s a lot of bacon! Fun fact: apparently one cup of Hippo fat can feed 8 people.

We thought tonight’s drive was to be our final drive before our flight to Dar es Salaam tomorrow morning. It was fairly uneventful with the exception of seeing a large herd of elephant by another section of the Grumeti. We were hoping that we’d get some pictures of elephants frolicking in the river, but they did not cooperate.

%d bloggers like this: