How Windows ate my EXIF data (and how I mostly fixed it)

The background

As we’ve already estab­lished, I love to take pho­tos, and I have a strong bias toward dig­i­tal. While I received my first dig­i­tal cam­era (the afore­men­tioned Game Boy Cam­era) on my birth­day in 2000, it wasn’t until the fol­low­ing sum­mer that I got my first “real” digi­cam, a Nikon Coolpix 775.

From there, the flood of dig­i­tal pho­tos began. Ini­tial­ly, I just dumped every pho­to into a sin­gle fold­er on my shiny, new, gonna-help-me-do-well-in-college-this-fall lap­top, and let their sequen­tial file­names (DSCN0001.JPG, 0002, etc.) do the “sort­ing.”

This worked for a while, until it became clear that hav­ing all of my pho­tos in one fold­er was poor for both orga­ni­za­tion and per­for­mance, so I start­ed orga­niz­ing my pho­tos using dat­ed sub­fold­ers (e.g. photos/2001/2001 – 08-12/). This was all the orga­ni­za­tion I did for my pho­tos, and was also how  I viewed them, up until I began using pho­to man­ag­ing soft­ware (first Picasa on Win­dows, lat­er F-Spot under Ubun­tu).

The problem

While these apps excel at tak­ing pho­tos and turn­ing them into a well-organized stream based on date tak­en, I noticed that a small hand­ful of pho­tos were out-of-place in the time­line.1

After spend­ing some time puz­zled by this, it occurred to me that:

  1. none of these pho­tos had EXIF data
  2. all of these were tak­en in 2001
  3. all of these had been tak­en in “por­trait” mode (when you turn the cam­era side­ways), as opposed to “land­scape”

In an exam­ple of clear­ly mis­guid­ed, youth­ful indis­cre­tion, I had man­u­al­ly rotat­ed these pho­tos — remem­ber, cam­eras didn’t have ori­en­ta­tion sen­sors back then — using Win­dows Pic­ture & Fax View­er (Win­dows ME/XP’s default), and it ate my pho­tos’ EXIF data! From then on, I start­ed using the camera’s built-in rotate func­tion­al­i­ty.

But, ugh, I still had a bunch of old, messed up pho­tos. For­tu­nate­ly, I wasn’t total­ly in the dark about these pho­tos’ chronol­o­gy, as I knew the cor­rect dates that these pho­tos were tak­en, thanks to the sur­round­ing sequen­tial pho­tos still hav­ing their EXIF data.

The solution

For the last few years, I let these few pho­tos just be, annoyed that they would always show up in the wrong places. So today, I final­ly did some­thing about this: I gave them new EXIF data using the best infor­ma­tion I had at my dis­pos­al.

While I didn’t know the pre­cise time tak­en, I did have dates for these pho­tos, so I fig­ured giv­ing them EXIF with the right date and wrong time was bet­ter than no date at all. I accom­plished this using a pair of Lin­ux pro­grams: jhead and touch. Here’s how:

First, I cre­at­ed an EXIF tag for a giv­en pho­to using jhead:

$ jhead -mkexif DSCN1282.JPG

Then, I touched the file (in Unix-y par­lance, change the file’s “mod­i­fied” time­stamp) to mid­night (00:00:00) on the appro­pri­ate date (e.g. August 12, 2001):

$ touch -t 200108120000.00 DSCN1228.JPG

Final­ly, I used jhead to change the file’s EXIF time­stamp to the newly-fixed mod­i­fied date:

$ jhead -dsft DSCN1282.JPG

Hav­ing re-added the prob­lem images to my F-Spot library, the pho­tos now appear more-or-less in the place they should. They’re now good enough that I’ll nev­er again have to see those pho­tos mixed in with the wrong year!

  1. I know what you’re think­ing: that there were times when I for­got to set the date on my cam­era. Nope. No way. I nev­er for­get to set the date on my cam­era, because mak­ing sure my pho­tos have the cor­rect date and time is some­thing that I’m a bit obses­sive about, and the first thing I do after charg­ing my camera’s bat­tery is always check the date.

Warmth, fuzz at 60 MPH

Last Fri­day evening I was alone, dri­ving south on one of South Florida’s fine express­ways, when I had the strangest moment of, for lack of a bet­ter term, empa­thy.

(This is notable because the word with which I would expect myself to have end­ed that sen­tence is “con­tempt.”)

The dri­ver in front of me, pilot­ing a Mit­subishi that was either sil­ver or gold (dif­fi­cult to tell which in the half-light of the expressway’s over­heard street­lights), wasn’t dri­ving at a pace that was to my lik­ing, so I decid­ed I would pass them. I engaged my turn sig­nal and began merg­ing over to the next lane. They must have sensed, from the amount of time I had spent behind them, that they were not dri­ving at a pace that was to my lik­ing, so at the exact moment I start­ed mov­ing over, they too start­ed mov­ing over in the same direc­tion I was. (Of course, they did so with­out sig­nal­ing, which is the South Flori­da Stan­dard.) Just as simul­ta­ne­ous­ly as we began them, we abort­ed our lane changes, as we each noticed the other’s attempt.

It was at this moment that I felt a warm, fuzzy feel­ing, the likes of which I almost nev­er expe­ri­ence while dri­ving down here. In that moment, I became quite aware that there was a per­son dri­ving that Mit­subishi. It’s easy to for­get that the oth­er cars on the road are dri­ven by peo­ple, espe­cial­ly at night when it’s not so easy to see them through their win­dows. But in that driver’s moment of obvi­ous self-correction, it could not be clear­er.

Also, I will not let it go unsaid: the events that unfold­ed made it clear that the per­son in front of me actu­al­ly looked in their mir­ror before attempt­ing to change lanes! Their care­ful con­sid­er­a­tion only makes me aware that they were at least a bit like me.

Around here, that’s say­ing some­thing.

  1. That’s fine, real­ly. Had they sig­naled and done the oth­er not­ed things, I would not be writ­ing this post, because I would have died that night, from some sort of shock.

It’s fear, mostly.

Inc. Mag­a­zine: Why Is Busi­ness Writ­ing So Awful?

When you write like every­one else and sound like every­one else and act like every­one else, you’re say­ing, “Our prod­ucts are like every­one else’s, too.” Or think of it this way: Would you go to a din­ner par­ty and just repeat what the per­son to the right of you is say­ing all night long? Would that be inter­est­ing to any­body? So why are so many busi­ness­es say­ing the same things at the biggest par­ty on the plan­et —  the mar­ket­place?

Fear, most­ly.

(via Ryan)

Why doesn’t my phone have a thermometer?

It’s get­ting pret­ty warm again (did it ever stop?) in South Flori­da, so today when I had the mis­for­tune of being out­doors, I got to won­der­ing why with all the sen­sors found in most mod­ern smart­phones, they don’t usu­al­ly include a ther­mome­ter.

It’s com­mon to find sen­sors for ori­en­ta­tion, screen contact/pressure, video, sound and even loca­tion. How­ev­er, for some rea­son, the task of telling me about the cli­mate sur­round­ing me gets out­sourced to a third-party that is some­where com­plete­ly dif­fer­ent.

Just think about that for a sec­ond.

What we’re miss­ing is the abil­i­ty to know the actu­al con­di­tions we’re expe­ri­enc­ing. If one hap­pens to be indoors, in the shade, or some­where else entire­ly, all they’ll get from their phone is the typ­i­cal out­door tem­per­a­ture for their gen­er­al area. Even if they hap­pen to be inside of, and get recep­tion in, a walk-in freez­er. (“It’s cer­tain­ly not 90° F in here…”)

On the oth­er hand, I can think of rea­sons why our phones tend not to han­dle their own tem­per­a­ture read­ings. Wire­less car­ri­ers obvi­ous­ly pre­fer that cus­tomers pay for data plans to use as many phone fea­tures as pos­si­ble. There’s also the mat­ter of expec­ta­tions: nobody (but me!) seems to demand the fea­ture, so why include it, even if the hard­ware couldn’t be all that pricey?

But most impor­tant­ly, the sen­sor would like­ly be undu­ly influ­enced by the tem­per­a­ture of our hand, the atmos­pher­ic con­di­tions in our pock­et, the heat gen­er­at­ed by the phone itself, and so on. Heck, I dis­tinct­ly remem­ber how wild­ly inac­cu­rate my circa-mid-90s Casio G-Shock ther­mome­ter watch (same mod­el pic­tured at right) was.

But gosh, was it ever enter­tain­ing to watch that dial spin! I also used to watch that bar graph scroll through the last few hours of record­ed tem­per­a­tures and pre­tend I was in a boat watch­ing waves go by. Ah, child­hood…

I can’t quite place my fin­ger on what I would do with the abil­i­ty to keep a read­ing of my own sur­round­ings’ tem­per­a­ture over time… but I know I want it.