selberg.org Home Home

Archive for June, 2005
6/28/05
1:04 am
Crappiest. Real. Commercial. Ever.

So, I was watching The Daily Show, and this commercial came on for Rhapsody, Real’s subscription music service. It was a cheeseball talking head commercial akin to the 30-second infomercial, telling you to call some 800 number or go to www.103.freerhapsody.com — boy, that’s safe looking site — to get Rhapsody. What was interesting was that “Real” was not mentioned at all!

Perhaps Real is giving up on their brand… or perhaps they’re letting any random schmo advertise and get bounties for Rhapsody sign-ups (wouldn’t be the first time). But man…. it’s like giving away your branding to anyone. Perhaps not a bad thing given Real’s steller stock price, but hey, not like Microsoft has done anything with its price for a couple years either…

6/24/05
1:11 am
Done!

Well, today I finally finished the scanning and hopefully the photoshopping of the black and white weddings. Some 500 black and whites… each scanned and photoshopped. I’ve been learning a bit about PhotoShop. Mostly, I start with the Polaroid Dust & Scratches plugin I mentioned below. I used to use the PhotoShop Dust and Noise for the early photos, which is kinda like a self-adjusting color fill. It works well for white dust blots, but horrible on scratches. I then started using the Clone tool (looks like a blotter) and then the Healing tool (looks like a band-aid)… the clone tool is good for big patterns, like skin or clothing. The Healing tool is OK, and sometimes does OK on scratches across big areas (again, clothing and swatches of skin or background). Nothing really helps scratches across detail.

The other thing I’m trying to determine is what caused the scratches I kept seeing on the pics… I wasn’t sure if it was the rollers on the Nikon Scanner or rollers from where they were developed when we had the prints done. I’m thinking it’s from previous developing, as I cleaned the rollers and sometimes see them, sometimes don’t. This also indicates it’s not likely dust on the scanning lens itself, and the parallel streaks just yell roller. Hmmm… frustrating. What I don’t know is if it’s a scratch (meaning film loss) or rubber residue (so cleaning would cure it). It probably doesn’t matter…. if we ever get more pictures done, we’ll let the developer deal with that. I suspect we will shortly… the nice thing about getting all these done is MK and I can now look at them and see if there are any we’d like to see blown up.

Oh, and yes, they’ll be turned into an album shortly. ;)

6/21/05
11:56 pm
We shipped a new MSN Search!

Read all about it on the MSN Search Blog!

It’s got a lot of things I’m really proud of. The biggest is that we shipped Japanese search, which, as anyone who has ever done anything related to search in Japanese will tell you, is extremely hard. It’s great to see the team nail this one.

The other cool thing are a number of new language operators. These just make it easier to find things on the web. My favorite? A new experimental one called “contains:.” What “contains:” does is make it easier to find files that contain links to other file types. For example, “contains:mp3” will find you about 2.5 million pages that contain an mp3. Looking for that Debian BitTorrent file? Try “debian contains:torrent.”

Give it a whirl, you might just find something!

6/21/05
11:45 pm
Which cold symptom do you hate the most?

And no, this question doesn’t mean I’m trying to state that my cold symptoms are worse than yours.

Honest question… you have a cold, flu, whatever. It has the normal symptoms… runny nose, sore throat, cough, chill, dizziness, sneezing, maybe a rash, evil head growth, whatever. Which one is the worst?

Me, it’s the sore throat. I hate those. Mostly because everything else can be handled with some kind of medicine, or copious amounts of alcohol. But I have yet to find anything that takes the edge off a sore throat. Lozenges? Nope. Vicks? Try again. Advil Cold & Sinus? Don’t think so.

Nothing. Absolutely nothing.

So maybe in my next life I’ll start a bio-med company to make a medicine that actually works on a sore throat… not sure how, but something that actually frickin’ works.

6/20/05
1:26 am
Photo management (opportunities abound!)

So, a Nikon scanner and a couple digital cameras (Canon S500 point-and-shoot and the Nikon D70 SLR), and before I know it I have 10G worth of photos — not including thumbnails and all that rot. So, photo management has become rather interesting.

File storage
Right now, I have all my albums in a “pics” directory with various folders. This folder is on a RAID-1 (mirrored) 75G partition, and is backed up using a script I’ve hacked a bit called “snapback” that effectively uses rsync and cp -l to create backups on another box I have. The backup partition is also RAID-1, although I’ve been thinking that’s just overkill. The right thing to do would be take that second disk, stick it in an el-cheapo box, and take it to work so I have a remote backup in case of a fire or some such.

I spent a lot of time getting this set up, but it’s been working really well now so I don’t fret too much about it. I gotta say, I really enjoy the freedom of having all my files backed up every 6 hours, and only using disk space for files that change!

Album organization
I name my folders YYYY-MM-DD_Event_string. This is mostly because album, the primary program I use to generate photo albums, parses that string in a pretty way — it separates out the date and turns underscores into spaces. I’ve since started putting them under year-labelled directories, for example, “2005/2005-05-21_Great_Wall_Eriks_picks.”

One of the things album doesn’t do well is leave originals “alone.” It’s a simple script that sticks a “tn” directory in each album directory, along with an index.html file. Well, I’d rather have a pristine directory tree to work with. I also don’t want to waste 10G and deal with changes. Well, hard links to the rescue! Under pics, I have three folders:

  • pics/__ORIGINALS__
  • pics/GalleryMirror2
  • pics/By_Date_and_Topic

I created By_Date_and_Topic and GalleryMirror2 via cp -l. I use album’s .hide_album magic file to have it ignore __ORIGINALS__ and GalleryMirror2, and thus album just leaves things in By_Date_and_Topic (and a few other files we’ll get to in a second).

Something I haven’t quite solved is keeping the three in sync… what I want to do is dump pictures into a folder, and then run some script or web page wizard that automatically creates the folders (after asking me for the event name), and copies them out. Right now I’m doing that manually, and it’s a drag.

Album and Gallery2
The reason for the separate directories is I’m playing with both album and Gallery2. Gallery2 is another photo-album generator. However, instead of being the “simple script with templates” model that album is, it’s more of a full-fledged beastie with database requirements and everything. The good news is it has a ton of additional features. The bad news is that it’s slower and a bit more of a pain to operate. I’m still trying to figure out which I like, thus I want to be able to deal with both for a while.

Process
Here’s what I want to do:

  1. Upload pics from my camera somewhere.
  2. Have some wizard automatically segment the photos into “shoots” - e.g. folders that group pictures taken about the same time into the same folder. Presumably, this is done by assuming photos taken within N seconds of each other are part of the same shoot, where N is something like 30 minutes and is adjustable.
  3. Prompt me to name the shoots, and modify the contents if needed.
  4. Save ‘em to an album, calculate thumbnails, and be done with it.
  5. Oh, while it’s saving, it should auto-rotate the pics (in a lossless way for jpegs)

Optionally, there may be a sub-wizard that prompts me to write captions about a picture, or write a detailed description of an album. Or perhaps it has plug-ins so I can just auto-blog it or some such.

Oh, and what I really want is for all this to not be on my server. It’s reasonably fast enough when I’m sitting next to it, but DSL upload is pretty crappy. So, I need on the order of 20G starting to dump all these photos on.

Tags / Searches
One of the things I do with album is create directories and use symlinks to link albums from the By_Date_and_Topic directory into other special directories, such as Latest or Vacations. It’s easy enough, and as long as I don’t change the names of folders (which I rarely do), it works great. The problem is that it’s a bit of a pain to do this after I’ve done through all the work to do it. Perhaps things like auto-searches (Latest within N days) or Flickr-like tags would be a better solution… certainly symlinks are a kludge.

How close we are
We’re pretty close, but there’s still too much manual process all around. Importing new pics is the biggest issue… once they’re into an album or a gallery, we’re just talking about more features on the scripts. And they’re all perl or php, so that’s easy to do. But it’s still going to be tough to get this all working smoothly… and that’s the big issue, I think. Once you have lots of pictures, you want to move to a “deliver and dump” kind of model, as you have to deal in bulk.

Wonder who will come up with the right solution first. :)

6/16/05
12:57 am
I frickin’ hate Photoshop…

Actually, I don’t. I love it. It’s great.

However, when you have to touch up 500+ black and whites, it gets old very, very, very fast.

As I mentioned earlier, I’ve been scanning in photos from our wedding. The photos were taken by Stephanie Cristalli, who does weddings in a photo-journalist style and is good with both color and black & whites. We hired her for I want to say 4 hours… maybe 5, and did roughly 50-50 color and black & white (although we had them printed in sepia).

The negatives (she returns the negatives… a must with any wedding photographer. The ones that want to keep the negatives and then sell you prints are a bit scammy IMHO) are in a number of these PrintFile polypropylene negative holders. Each slide holds one 36-print roll (6 strips of 6 frame negatives plus a seventh the leading bit of film that has a roll number on it). How many do we have? Color goes up to letter “O.” Quick, what number is O? …… 15. 15 rolls of 36 prints. However, that’s not too bad, as the Digital ICE on the Nikon Super Coolscan 5000 does most of what we want, and we can just take the JPEG that it makes.

On to black and whites… well, the last PrintFile is labelled BB. So quick… 28 - 15 is…. yes, 13. 13 rolls of black and white… and 13 * 36 is…. 468. Granted, some didn’t come out at all, so maybe we’re looking at 450 here. Oh, and the Digital ICE won’t remove the dust and scratches, and Stephanie used Kodak TMAX 100, TMAX 400, and TMAX 3200 film. That’s professional black & white film, but sadly when scanned in infrared to detect dust and scratches (as the Digital ICE does), the silver on the film causes the dark portions to come up as dust — so Digital ICE just turns all gray to dark-gray portions of the frame black. So, you have to scan the photo as a TIFF file (20M each), pop it into Photoshop, run an initial pass using a dust & scratch removal filter (I’m using Polaroid’s now unsupported Dust and Scratch Removal Plug-in for Photoshop, but it’s also available stand-alone), and then look to see what gaping dust holes (big white dots) or scratches (long white streaks) were missed. Then, select an area around them and apply a darker filter (I typically use the built-in Photoshop Dust and Scratches filter @ radius of 25). Then, save it… I made an Action (a macro) that saves files as both a Black and White as well as a Sepia JPEG.

For scanning, I’m mid-way through Roll X… so only Y, Z, AA, and BB to go. Yay! However, for running through Photoshop, I’m only through S… so I’m behind by 4 and a half letters from where I’m scanning. And while scanning is slow (about 2 hours for 6 frames), it’s automated. You set up the scan, and then go do something else, like write a blog post or find new RSS feeds to read. With touch-up work, it’s a lot of load the frame, clean it up, look for defects, fix them, then save. It’s fast enough that it requires your complete attention, but slow enough when running the image through the filters that it sucks up time.

Blarg. Luckily, AFAIK this is the only B&W film I have, so I doubt I’ll have this problem again. But it’s still takin’ freakin’ forever!

Oh - huge shout-out to my brother for having a friend who works at Adobe and getting me Photoshop CS (well, the entire Adobe Creative Suite) for Christmas on the ol’ employee discount. I think this is one of the most used Christmas presents in years! (Although surprisingly enough, the most used Christmas present I’ve ever received is a set of 4 Pyrex bowls that my folks got for both myself and my brother over a decade ago… they’ve held up great to constant use. Go figure!)

6/15/05
1:14 am
Microsoft and China

Horsey China cartoon

There’s been a ton of talk in the blogosphere about Microsoft censoring certain terms in spaces.msn.com.cn, the Chinese version of Spaces, MSN’s blog service. Shelley of Burningbird has the best writeup of posts and her thoughts I’ve seen so far, and I think her points are dead on. Read the post, it’s worth it.

While I’m at it, while I agree with Microsoft for reasons that Shelley outlines much clearer than I, I’d also like to make a point about language that I’ve observed from the search world. But first, a brief digression.

At one point in MSN Search’s history, searches for adult terms brought up a page that said something like, “This is an adult term, we aren’t providing any results for it you naughty person!” Actually, it was probably a bit more customer-friendly and polished, but you get my meaning. The list was just a text file of a number of naughty terms that had been editorially found or in some cases automatically mined. The problem with this is that people are very, very creative when it comes to smut.

This was highlighted while perusing some of our customer feedback. We were treated to the quote: “How come I can’t get any results for ‘hentai‘, but ‘cocksucking felchers‘ works just fine?” Yeah, um… huh.

You see, the problem with a censorship list based on words is that this just causes people to get very creative about what words they use. “Hentai” which means “perverted” in Japanese typically refers to Japanese porn comics. OK, that’s easy to censor. Well, what about “Hachi?” Hachi is the way Japanese say the letter “H.” It’s also an abbreviation for hentai and in the vernacular means sex. But it’s not like you can easily censor hachi, as it does have some other meaning.

We routinely see this phenomenon in every language. Back last November, a clothing company ran a fun campaign on New York busses — “Read books. Get brain.” The Metro Transit Authority thought it was just a fun play on the “Got milk?” ads, so they ran it. Turns out that “get brain” is NY high-school slang for oral sex. And of course once they started ripping down the ads, the local news promptly made sure everyone knew what was going on.

The point of it is that censoring words doesn’t really do much. Yeah, it’s annoying, and it goes against one of the Big Things this country stands for. But it tends not to stop anything…. people will just pick different words, and once the powers that be discover that, they’ll pick different words again. “Freedom” and “democracy” being blocked? OK… how about “clean water” and “community cleanup.” There… we can now talk about how in China they don’t have nearly as much clean water as they should, and what’s needed is for a movement for a community cleanup to really ensure that everyone has a lifetime supply of clean water. How’s that?

Now, if only we could get a little bit more clean water around here…

6/08/05
11:50 pm
Fun with Photoshop…

So avid readers (hi Meg!) will recall that I’ve been mucking with the ol’ Nikon Coolscan 5000 ED scanning negatives. I’ve finished the near-600 color shots from our wedding, and now I’m working on the black and whites. They were taken using Kodak T-MAX 100, aka TMX 5052. Why does this matter? ‘cuz the Digital ICE that comes with the scanner won’t remove the dust and scratches, so after scanning the negatives look pretty crappy.

I wonder how the original prints came out so nice, given the condition of some of the negatives… but I digress.

I found a good link from Graf Photography: http://www.grafphoto.com/dust.htm, that helped out a ton. What I’ve ended up doing is using the Polaroid Dust & Scratch Remover as a plug-in to Photoshop, then manually touched up scratches and large dust points, mostly using the Photoshop CS Dust & Scratches filter. I’ve also made great use of the File Browser window, Actions (i.e. Macros), and the Automate feature of the File Browser window. It’s almost like a command line, just slower with more mouse clicks.

I’ll post up some of the results when done… some are still iffy (like those with lots of medium-sized scratches… drat), but a lot are turning out reasonably well. Yay!

6/04/05
7:20 pm
Dodger doing better

Just a quick note to say that Dodger is doing much better. He’s more or less back to being the beagle we love, save he has a shaved side and a couple big wounds. Most of the bruising, including the line that showed the pit bull’s jaw, has faded, leaving just the two main punctures and another minor scratch. The only problem we’ve had so far is to keep Dodger from scratching at the rear (and bigger) one.

So far, grand total for all this is about $500, but the pit’s owner has said she’d pay for it all, so at least she’s taking responsibility.

6/01/05
9:53 pm
Z-Pak and New Shoes!

Bad news / good news day. The cough I’ve had for a month has gotten worse of late, so I went into the doctor. Still have fluid in my ears and chest… maybe even some bronchitis. Drat. OK, time for the antibiotics. Amoxicillin or Z-Pak (that’s Zithromax)… amoxicillin or z-pak… Z-PAK! Yes, why take 30 pills when 6 will do? So I popped the first two and hope for quick weapon-of-mass-bacterial-destruction goodness.

Later on, MK, Laura, and I went to REI to get some cycling shoes… ended up with these Sila shoes that are some of the most comfortable shoes I have ever warn — not just comfy cycling shoes, comfortable ANY kind of shoes. And these were rigid bottom mountain biking shoes to boot! I got the Dominator 5 Loricas in a size 48 extra wide. Go go gadget feet!