“Hey, pop quiz! Which of these languages is the best Lisp dialect?

  1. Java
  2. Objective C
  3. Perl
  4. PHP
  5. Emacs

“The answer, of course, is Perl, because it’s the only one of those languages that has both lexical closures and first class anonymous functions.”

— JWZ speaks in tongues

Faces, collected


So after all that work identifying H!P women in pictures, what does it look like in iPhoto?

(large JPEG below the fold)

more...

Dear Youtube users,


Please stop upscaling VHS-quality video and labeling it “HD”.

Faces


I don’t really use iPhoto. Its casual-user focus makes it poorly suited to what I want in a photo-management app, and it’s not particularly useful as a general-purpose image catalog tool, either.

There’s some interesting technology in it, however, including Faces, which attempts to detect and recognize human faces in photos, allowing you to (potentially) organize your pictures by who’s in them. It’s not integrated into the app very well yet, and there are some odd bugs, but it turns out to be surprisingly accurate and useful.

Since I was home sick yesterday and not up to much else, I imported a collection of 1,421 scanned photos of attractive young women and told it to look for faces. On the first pass, it found faces in about 80% of the pictures, and only a few of those were false positives (jewelry, plaids, etc). A second recognition pass got it up above 90%, out of a total of 95% that really did have at least one human face. Most of its failures involved faces that were tilted at roughly 45 degree angles, as well as profiles and low-contrast images. It did surprisingly well at finding low-resolution faces, and even did a fair job of auto-naming them correctly, once I had a good sample size.

[Bug note: There are a few images that I simply cannot manually add a face to, and I don’t know why. I draw out the rectangle, add a name, hit Done, and it deletes my work. It thinks there’s something there, because it will offer them as options in the “person X might be in this picture” section, but it never accepts the face.]

It takes a little while to figure out a decent workflow for adding names to pictures, but it does work. If you select a few good matches for each major face, the name-guesser will perform a lot better, and save you a lot of manual selection. I’d like to see it offer the top three choices instead of just the best one, and the UI needs some work (especially in keyboard navigation consistency and false-positive handling), but it works, and in normal usage, most people won’t be tagging a thousand images at once.

As far as integration goes, the names you tag a picture with aren’t keywords, don’t show up in the Get Info page, can’t be searched via Spotlight, can’t be displayed or printed as captions, can’t be used to sort, etc, etc. There’s a Faces-specific browser, and you can click the Names button on a full-sized image to view all the tagged Faces present, but that’s it. It’s not useful as a general “person X is in photo Y” tagging system yet.

[Update: I was just reminded of another missing feature that I really want: a “faceless” rule for Smart Albums, so I can say “all pictures from Album X that have no faces in them”. After 80% of the 1400+ images in my album had names, I only wanted to sort through the ones that didn’t, and the only way I could find to do it was to create a smart album Y as “pictures from Album X that have faces, none of which are unnamed”, manually copy its contents to another non-smart album Z, then define a new smart album as “pictures from X that aren’t in Z”, and remember to keep Z up to date. (the app won’t let me say “pictures from X that aren’t in Y”)]

Now for the amusing picture. This is what happens when all of the faces you’ve identified come from professionally shot photos of young Japanese women in full makeup:

more...

Words of wisdom...


"Just load the tapes, kid"


Many years ago, my college roommate had a job in the Physics department as a tape monkey. The department had a Large Grant to process data from Fermilab. Each run filled a 9-track tape, and the analysis required roughly 11 hours of uninterrupted runtime on their Vaxen. The average uptime on the server was a hair over 11 hours, and with very little slack in their schedule, someone had to be available any time day or night to make sure their delivery date didn’t slip.

My friend was a biochemistry major, and appreciated the importance of delivering high-quality analysis of experimental data, so he was a bit concerned by the fact that the programs used to perform that analysis were in a constant state of flux, a mess of Fortran hacked on by an ever-changing team of grad students. Not wanting to waste precious time, he got into the habit of running it on a small test dataset each day, to make sure it still worked before kicking off an 11-hour run.

The test output was frequently different, in ways that it shouldn’t have been. Ways that very well could have made all of their analysis completely useless to Fermilab. Ways that no one planned, expected, or kept track of. When he raised his concerns, well, their exact words are lost to time, but I remember them sounding an awful lot like, “just load the tapes, kid”.

I think of those words whenever I hear about a computer model that proves something significant that’s tied to the modeler’s funding. And I think that’s all that I need to say about the rapidly-unfolding saga of ClimateGate.

No pictures yet,


… but I have uncled. Matthew Marion Greely was born this morning, making my brother Mike and his wife Polina into very happy, very tired, parents.

Welcome to Earth, little guy. You share a birthday with Poul Anderson, Ricardo Montalbán, Joe DiMaggio, Andrew Carnegie, Amy Grant, and the Bush twins, so we expect great things from you.

Shock the Monkey


In this well-linked news, a team of researchers has reported success at curing erectile dysfunction with shockwaves. When describing how much force is being applied to the penis, they chose a very revealing comparison:

"These are very, very low energy shock waves," Vardi said. Each shockwave applied roughly 100 bar of pressure — some 20 times the air pressure in a bottle of champagne, but less than the pressure exerted by a woman in stiletto heels who weighs 132 lbs. (60 kg).

Apparently medical research is now being performed in full dominatrix gear. Who knew?

Dear Blizzard,


Today I finally converted my World of Warcraft account into your new, one-ring-to-rule-them-all Battle.net account system. Let’s assume, for the sake of argument, that the email address I gave for my new, unified login name is “nospam@jgreely.com”. You sent me a confirmation email that my account had been converted, and that my new login name would be “n***@jgreely.com”.

This would be a nice little touch of security, except for the fact that you sent the email to nospam@jgreely.com, making it pure theater. Next you’ll be asking me to take off my shoes and empty my water bottle…

[to be clear: the problem is not that they sent email. That was expected and desired. The problem is that the body of the message pretends to “protect” my login name by masking it, in a message sent to the email address that is identical to that login name]

“Need a clue, take a clue,
 got a clue, leave a clue”