Planet Tao and photos back online

First off, Planet Tao is back online. Apologies to the, er… 300 people or so who read it, and to the authors as well. Took me a while longer than I expected to move things around, and eventually I settled upon making the whole thing a lot simpler by going fully static (with batch updates on crontab) and moving its FAQ here.

I will eventually roll it into Snakelets, but not just now. Which kind of leads me to my next topic:

After and doing a bit of soul-searching, shuffling calendars to and fro and pondering perfection versus real-life, I realized that the likelihood of my having enough time to code a working photo album within the next month or so would be approximately nil (besides work, there’s also some home renovations and other stuff going on).

So even though I loathe the prospect of having to manage my photo gallery with (which crashes on average once every three updates to the gallery), I decided to bite the bullet and make earn at least part of its exorbitant US$99 fee1.

Yeah, I know, it doesn’t really do what I want. Maybe will fix the metadata issues and the web front-end to make tags and searching a reality. Right now, I don’t really care – I just want to have my photo album back online again so that I can scratch my photography itch (I sorely miss going out with no other purpose than shooting things – with a Canon, of course).

Anyway, I quickly whipped up some voodoo to watermark all my photos2, re-imported them into , ran them through a couple of “AppleScripts”:“dev/AppleScript to “reset the dates”“:dev/AppleScript/Photo_Dates in case there was any or data amiss and fix other things, and started re-publishing the whole lot.

I am about halfway through right now (still have to go through 1635 photos), but am taking this opportunity to:

  • Re-tag and add titles to the whole thing (if humanly possible)
  • Remove uninteresting stuff (although I kept a bunch of really old mobile snapshots for nostalgia reasons)
  • Group things into more coherent albums (stuff like vacations, my seemingly never-ending flower snapshots, architecture, nostalgia pieces, etc.)

I miss having a coherent timeline of all my photos, but that cannot be helped right now. Moving forward, I will have to re-work my usual photo workflow around this, but I’m already settled on the broad outline:

  1. Import photos from camera to hard disk, running a variation of on them to ensure I have canonical filenames (YYYYMMDDHHMMSS.jpg)
  2. Use whatever photo management tool I eventually settle on to cull, tweak and tag them
  3. Export the few I deem suitable for public viewing to a folder (the rest eventually ends up on a DVD archive)
  4. Batch resize them to 800 pixels (makes for faster overall processing inside )
  5. Watermark them
  6. Import them into a standalone library that contains only the photos destined for public consumption (and nothing else)
  7. Drop them into the appropriate web gallery
  8. (Optionally, at random) wait until crashes and loop back to step 7.

Update: a few hours after I wrote this, rolled out an update that “addresses stability and web gallery issues”. Nice to know they care…

As always, we’ll see how it goes.

And now, if you’ll excuse me, I’m going to tweak various aspects of this site’s CSS that have been annoying me for ages. Those I can fix with the limited time I have. :)

1 Bruno already accused me of selling out, so I might as well admit it.

2 Here’s the command-line voodoo, which relies heavily on and a “TrueType”:Wikipedia:TrueType file of Lucida Sans. The script creates the PNG watermark itself (white with a fuzzy black outline) and the end line does the compositing work proper – make sure you run it on a copy of your photos:

if [ ! -a $WATERMARK ]; then
  convert -size 128x16 xc:transparent -font $FONT -pointsize 12 -gravity southwest -stroke black -strokewidth 2 -annotate 0 ' © 2008 Rui Carmo' -blur 065 -fill white -stroke none -annotate 0 ' © 2008 Rui Carmo' $WATERMARK
 ls -1 ~/Pictures/Watermark/*.jpg | xargs -I{} composite -gravity southwest ~/Scripts/watermark.png {} {}

This page is referenced in: