Room to Read
I just finished the book "Leaving Microsoft to Change the World" [amazon.com link], written by John Wood, founder of Room to Read. It's an amazing read, and a phenomenal story of what can be achieved by smart, ambitious people who refuse to watch the children of our world suffer because of lack of education, and refuse to hear the words "no" when asking others to help change that. I eagerly recommend this book to anyone who's ever thought the world could be a better place.
Not able to Geotag for the moment
(Written Monday April 30, 13:56 Kenya time) Unfortunately I'm not able to geotag my images as hoped at the moment. HoudahGeo, the awesome software I've been talking about, has a memory leak and is crapping out after about 30 images. Since I'm trying to throw several thousand at it, it's simply not happening. And I don't have the time (or patience) to do 4,000 pictures in batches of 30. Pierre, the creator, has been in touch and is aware of the issue and trying to fix it. For now though, I can only feasibly tag images after export. So we'll see what I can accomplish here. I don't have much bandwidth to upload large galleries so it may be irrelevant anyway until I return home.
Battery power again!
(Written Saturday April 28, 22:08 Kenya time) Well this is unfortunate… since completing my last entry and wiping out both laptop batteries, I haven't been able to charge up again. My solar charger outputs only 75W; this MacBook Pro uses an 85W charger. The company that sold it to me insisted that it would still work but would just take longer to charge. This may be true, but the inverter screams a high pitched tone when it's being overdrawn, and so I can't plug this into it. In fact, the damn thing is screaming its song when I plug even half that wattage into it. I'm gonna make me some phone calls when I return stateside. It has at least been able to charge my camera batteries. I had expected that I might want to use the solar system that's here already, but unfortunately it seems I've been thwarted at every turn. The first day no one put the main battery on solar charger. Then the smaller batteries got used up for watching TV. Yesterday I got the large battery fully charged, only to find out the power inverted had a blown fuse. And of course, no spares to be found. Someone was coming to the village today from town so we called in a request for the fuses, but when he arrived this morning he hadn't had time to get them. Finally tonight I jerry rigged two batteries together to get enough power and after 5 hours of charging, got one battery up to 100%. I gotta make good use of this! Although tomorrow (Sunday) I'm heading back to Nakuru for the night as Carol has business Monday morning and it'll give me a chance to get online and post all of this. So now, to catch up on the last few days. (FYI I have backdated the posts written since this point so they are all in chronological order)
In Chicago now
The first part of the trip is over (ok the easiest part!); I'm in Chicago on a few hour layover now. I'd post a picture but, you know… it's just an airport.
I stayed up all night last night packing and generally getting ready. And working on that Pelican case, which unfortunately didn't come together quite like I planned – but I'm getting what I need out of it. Here's a picture of the lid, where I've either epoxied or velcro'd everything in place. On the right are four Lexar FireWire readers, mounted sideways. These are glued in place. On the left are three firewire drives; the top one is a backup drive for the OS and applications, so I can recover on the road if needed (all personal files are backed up on systems back home and I don't need recovery on the road for those if I lose them). The lower two drives are the G-RAID MINI's, as primary and backup. All master files to go to the one then are backed up to the other. In the middle you see the MacBook Pro power supply velcro'd to the lide, and under that the little white box is a Belkin FireWire hub. The coil of cables underneath are the two FireWire cables coming off the Lexar readers (for the FW400 port) and off the drives/hub (FW400 to 800 for the 800 port). The computer is living in the protective sleeve that came with the case, and the sunshade sits under that. I couldn't figure out a way of incorporating the shade into the lid with all the other stuff there, so I compromised and put a small velcro tab on the lid of my MacBook Pro to hold it when I want to use it. Not thrilled with the idea but at least it works.
So now to recharge the iPod and have a snack before the 8 hour flight to Brussels! I have a three hour layover there, so may try to go to the other side of customs to see the big Tintin rocket. I grew up on Tintin, and my friend Steve just sent me this picture from the airport there. Gotta see it ;-)
GPS logging in the air?
I flew to Las Vegas this morning, and I, er, accidentally forgot to turn off my Sony GPS-CS1. And I sorta accidentally left it on the windowsill of the plane. So I sorta got some data of the trip.
OK now can someone please tell me why you're supposed to turn GPS off in flight? It's not a transmitter, it's a receiver, right? Is it *pulling* data from the satellites, or is it just picking up data in the air, like FM radio? The pilots use GPS. Why on earth would GPS not be permitted to be used in flight?
So since I now, er, had the data, I figured I'd, you know, have a look at it. And here's the curious thing. I have some really cool data on the runway, take-off, and a few points after take-off, but then nada for most of the flight. I got one point somewhere about half-way, (bizarrely enough over a populated area) then once we got close to Vegas, it kicked back into gear again. What gives? Am I completely missing something about how GPS works at high altitudes, in airplanes, at high speeds, or ?? You can download the KMZ file for Google Earth here.
Epson P-5000 and Automator
The Epson P-5000 arrived today, and it's actually quite impressive on first look. The screen is gorgeous and huge. 4" doesn't sound like much but when you look at that after looking at the back of your dSLR, it's quite impressive. In (very minimal) tests, it seems to pull my CR2 files off the CF cards and display them on screen as advertised. Immediately of course I wanted to see how it would integrate with Aperture. As expected since it's basically just a hard drive, you have to point Aperture to the devices "Backup" folder to copy content off of it. But in thinking of a way to automate this process, I've created an Automator script that does all of the following automatically. First, I plug the P-5000 into my MacBook Pro, and then…
- An folder action detects the drive and kicks into gear.
- Content from the P-5000's "Backup" folder is copied to the external FW drive, which we'll call FW1. (The script does not overwrite existing files, so there's no duplicate copying going on)
- The P-5000 is ejected from the desktop
- The content just copied to FW1 is now copied again to FW2 (this is my backup drive).
That's it… I now have three copies of my images, and once I'm satisfied that the files on FW1 and FW2 are intact, I can delete them from the P-5000 (this could be automated too, but I never automate deletions). The next step, which is quite easy but I'll get to later, is importing (by reference!) these new images into Aperture, with metadata applied. Of course before doing that I need to do my geotagging, so we'll see what I can automate on that front later. That's pretty cool… I can simply plug in my P-5000 and walk away. When I come back, I have pictures in Aperture, and backups already made. Eventually I'll post details of how it's all done, once I get the rest of the puzzle in place.
Custom Pelican MacBook Pro case
The Pelican 1495CC1 that I ordered last week was suddenly unavailable, but fortunately I found another source. My friend at Pelican hooked me up with K C Specialty Products, who had the case in stock and shipped it immediately. Since the 1495 doesn't come with the riser/dividers that the 1490 does, I have some Peli Quick Mounts coming to help hold things in place, and the special 3M adhesive DP8010 to mount it with. Just like Chase Jarvis, I've ordered a shade from CompuShade to fashion over the laptop. I'm hoping to find a way to rig it to the case instead of to the laptop, as I have absolutely zero intention of putting velcro strips on the lid of my MacBook Pro!
My drives of choice are 100GB G-Tech G-DRIVE Mini's. I originally chose these as they have no fan, to reduce the chance of dirt being sucked into the drives. It's less of a concern now that these will live under the MacBook Pro in the case, but it's still, I think, a Good Idea™. Mine are FW400 drives so will have to use a small FireWire hub, which is unfortunate, but oh well. These drives will mirror each-other for backup, and are where my master RAW files will live. I'll have additional FW drives in another case in the event I exceed 100GB of RAW files. (100GB should hold about 7,000 Canon 5D RAW files)
I use the stackable Lexar FireWire Professional CompactFlash Readers, so I'm anxious to see how (and how many) I can arrange into the case. Of course when I have the pieces I'll show it off here!
I'm going to Kenya
I'm very fortunate to have been invited as a photographer on a trip to Kenya with the International Humanity Foundation, a true non-profit group who has been helping a tribe of people in Kenya called the Pokot (just one of many of their projects). I won't summarize here everything they've done and are doing; for that you can visit their website. However suffice it to say the generous work of everyone involved with IHF, from the founder Carol Sasaki to the volunteers who answer their phones, are greatly appreciated by the Pokot people and others around the world. I've been invited to document the culture of the Pokot people and the work of the IHF. My photographs will be used as preservation of their culture and heritage, as well as used by the IHF for fundraising for current and future projects.
I nearly went on this trip in January, but other obligations got in the way and I couldn't do it. Fortunately the opportunity came up again, and I leave on April 22, returning May 6. It's quite the journey out there; I fly from San Jose, CA to Chicago to Brussels to Nairobi, where I'll be met and driven to the final destination. The nearest city is Nakuru, and the location of the Pokot orphanage is approximately 0°50'16.00"N 36°1'14.00"E (the link will open Google maps). My return flight is Nairobi to London to Los Angeles to San Jose. I hope to visit friends on the 5 hour layover in London. This is a massively important project for me; since my return to photography I've dreamed of doing a project like this, and certainly didn't expect this to come along so soon. I'm scrambling to prepare for it, while of course maintaining my current work commitments. Those who know me and know my day job know that I'm extremely busy right now leading up to NAB, the big broadcast show in Las Vegas. I leave for that show in less than a week, and return two days before leaving for Kenya. So I'm trying to get everything together now. I'm going to blog about this trip, every step of the way, including preparation. Internet coverage is essentially nonexistent where I'll be (they don't even have electricity, so I guess asking for a broadband connection is a bit much!). I could of course connect via satphone but what I'm doing isn't urgent enough to require the expense, so all my writing and blogging will happen offline and get posted when I can. Since I'm currently two weeks out, I'll talk about some of the prep going into this. Of course I'm throwing every bit of technology I can at this, because, well, it's me ;-) ** TRAVEL ** I booked on American Airlines with expectations of using my miles to upgrade to business class, at least for the return flight. But of course there were no upgrade seats left, and... get this... American now charges a $300 co-pay each direction for a points upgrade! So, it's economy all the way. SJC-ORD-BRU-NBO, then home NBO-LHR-LAX-SJC. Thanks to seatguru I should have power points at each seat. ** SOLAR POWER ** For power, there is a solar supply out there and I'm also bringing a little one called, originally, the Portable Solar Power System from the informative and helpful folks at http://www.siliconsolar.com/ which will primarily be for charging camera batteries. I'll be relying on their power to charge the laptop. ** CAMERA GEAR ** My primary purpose in going is of course photography, so I'm bringing all the toys. I'll be carrying one each of a 5D, 20D and 30D bodies. My lenses include a 14mm Aspherical, 24-70mm f/2.8, 85mm f/1.2, 100mm macro, 70-200mm f/4, and a 400mm f/4. I'm hoping to do some kind of safari while there, but am not sure if that will or won't happen. I'll carry a Gitzo tripod with Manfrotto tracker joystick head, and my Gorillapod, and loads of little goodies to go with. In case I can't get my laptops charged, I'm brining an Epson P-5000 photo storage viewer to store digital photos on. ** COMPUTERS ** My primary computer is a MacBook Pro Core 2 Duo 17", with a 15" Core Duo as backup. The 17" will be in a custom built case (which I'm still working on) inspired by this Chase Jarvis blog entry. I'll post pics or video of it when it's done. All photo management will be done in Aperture (more on that below). ** GEOTAGGING ** One thing I really wanted to do on this trip was geotag my photos. All the pieces have come together for this trip (or are about to!) and I think this will really work. The workflow is a bit convoluted and tedious, but I think worth it in the end. So here's how that works... I have a Sony GPSCS1KA which logs GPS position every 15 seconds. Plug this into the Mac and you can copy off the GPS .log file. Then using LoadMyTracks, convert the .log to a .GPX file. Now the GPS data is ready to be merged with the photos. (Apparently this can be automated with a perl scrip in an Automator action, according to this website. I haven't tried it yet but definitely will) Whenever I'm ready to capture photos of the CF cards, instead of capturing straight to Aperture I'll first copy the files to the Finder. Then I'll add GPS data to the pictures using the HoudahGeo software. Basically it looks at the timestamp on the photo, looks for the closest time stamp from the GPS log file, and adds the appropriate coordinates to the image file. Then I import the geotagged images into Aperture, and proceed as normal. When I'm ready to put pictures on the web, I'll use the Connected Flow's flickr plug-in to upload to my flickr account (click here for a map test from Hawaii; these aren't properly geotagged, but the approximate data was added later). This plug-in passes through the GPS data, and then flickr automatically places them on a map. Cool, huh? ** MISC ** I'm bringing a Kata rain cover for one camera. I have it in my head that I'll set up the camera for some long term (i.e. all day) auto-triggered exposures, perhaps to catch animals at a watering hole, or a full-days excitement at the village. Should be fun. ** MOSQUITOS ** I'm already taking Neem tablets and have 34% Deet bug repellant, and a mosquito net to sleep in. Wish me luck. ** WEATHER ** It's been hard to get a picture of what to really expect. Currently it's only 85º in Nakuru, but I'm told it gets a lot hotter the 80 miles away in the Pokot village. We'll be in the Rift valley. I don't know about humidity, but I do know it's dusty and dirty. Should be fun. ** HYGIENE ** Those that know me will find this part shocking - I'll be shaving my head right before I go. Probably a tad unnecessary, but it's for the heat, to make it easier to keep clean(er), and frankly because it's a great excuse to do it. Don't worry, there will be pictures (and yes mom, I'll wear a hat and plenty of sunblock!) OK that's a good start to all this. Again I'll do video and text blogs, but not much will be posted in real-time.
An impressive use of Aperture and AppleScript
I recently worked on a project where I was asked to design an Aperture workflow for a live shoot. It worked out really well, so I wanted to share it here.
Setup
- Studio shoot; two simultaneous setups, cameras, photographers, etc.
- Two days, 11+ hours each, 150+ setups, thousands of photos
Objectives
- To photo-edit in near real-time… rating, tagging and keywording (aka “tag and bag”); cropping and white balancing; color or other image adjusting as needed
- Provide twice-daily web previews for remote client
Tech
- Two Canon 1Ds Mark II’s and an assortment of lenses and lights
- Two PowerMac G5’s and 23” displays, one Mac Pro Intel Quad with dual 30” displays, internal 1.5TB RAID, fast network, G-Tech G-RAID for backup
- All pictures shot RAW
The goods
All made possible with the power of AppleScript, Aperture, and the Mac.
First step was setting up a tethered shooting solution for the two cameras. Each Canon was USB tethered to a PowerMac G5. Canon’s EOS Utility was used to copy the images from the camera to the computer in real-time. The software was set to leave a copy of the image on the CF card as well as copy it to the computer, so an instant after the shutter was depressed, there were two copies of the image — one on the CF card and one in the watched destination folder on the Mac.
The destination folder on each Mac was being watched by Aperture Hot Folder. As each image was captured, it was immediately added to the Aperture library. The current version of Aperture Hot Folder allows Aperture to operate in full-screen mode, and still capture in the background, then automatically advance to the just-imported frame. While in full-screen, the photographers opted to have the HUD (Heads Up Display) open with the RGB histogram displayed, and the loupe loaded. This mean that seconds after each shot was taken, they could watch the screen for their image, check levels on the histo, and check sharpness in the loupe.
The destination folder on each Mac was simultaneously being watched by a second script as well. This script simply copied each image across the network to the Mac Pro, where they landed in one of two folders; Camera1 or Camera2. At this point, again only seconds after the shutter was depressed, three copies of the image existed.
Meanwhile on the Mac Pro, (where I sat), I had Camera1 and Camera2 folders opened in icon view, with previews on and the icons set to the largest size. This allowed me (and the producers watching over my shoulder) to monitor the progress of each camera simultaneously. Any image in question could be quickly opened in Preview for a fast check. As soon as either camera was finished with a particular setup, they would notify me that the setup was complete so I could import the batch into Aperture. At that point I simply clicked on either my Camera1_import or Camera2_import AppleScripts.
Each AppleScript would import the appropriate folder of content into Aperture, then move the images from the Camera1 or Camera2 folder into a Camera1_archive or Camera2_archive folder, as appropriate. These archive folders would later be backed up for a fourth and final copy of each image. Also, since Aperture maintains its links to its referenced images so well, even though the images had already been imported (by reference) into Aperture, they could still be moved to another folder on the drive and Aperture never lost track of a link. Additionally, the scripts did more than simply import the images; they also applied a series of metadata strings, including copyright data and a camera identifier. This allowed the images to be sorted by camera later on if needed.
Once each batch was imported, in Aperture I would use the Find command to isolate the most recent import session, therefore only looking at the most recent batch of photos. From there I would manually stack the pictures (an easy task to do manually with the studio setup, and not particularly suited to auto-stacking since time between shots varied so much). Once stacked I would select large groups of images and batch-apply keywords as needed. We had a series of about a dozen keywords across four categories; each image required one or more keyword from each category to be properly identified later. (I also set up smart albums to call out any images that had not yet been keyworded, meaning they were missed in the initial keyword run. This proved useful as occasionally images would get missed, and this process allowed those to be quickly identified and corrected.) Once stacked, I would select the reference color-chart image (one was shot for each studio setup), define a white balance point, and lift-and-stamp that white balance across all other images from the shoot. In a matter of seconds, Aperture could white balance hundreds of photos to the exact same specification.
At this point, I went to full-screen mode to compare stacked images and pick a best shot. For some stacks, it was as easy as picking the last or second-to-last photo. For others, Aperture’s Stack Mode was used extensively, comparing a current pick to the next shot in succession. And finally in yet others, all images in the stack were thrown across dual 30” displays and individually duck-hunted out of the stack selection until it was narrowed down to a final pick. The process used really depended on the individual content and quantity of each stack. The seamless flow between all picking methods in Aperture meant we were able to comb through hundreds, and ultimately thousands of photos in record time.
Once the images were tagged and bagged, some images required cropping or other image adjustments, and so were treated quickly and effectively. On a final pass through the current selection, favorites would be tagged with a 3-star rating. This would come in handy later.
Meanwhile, the next shoot for either camera setup would continue unabated. The instant we were notified of a setup completion, images would be imported via the two AppleScripts, regardless if ready for them or not in Aperture. As soon as one set was completely photo-edited, I would move on to the next set.
Earlier on, several smart web-gallery were set up to isolate particular keyword criteria and 3-star matches. This meant that publishing updates to the website was only one-click away, as each smart web gallery was auto-created with all the favorite choices.
Finally, twice a day (at lunch and at end-of-day), a Backup routine would be run, copying the master image files and Aperture Library to the G-RAID, providing a fourth and final version of each photo. At this point the original images on the CF-cards would be deleted.
That is how we shot thousands of pictures in two days… and picked out the best before we went home.