I'm going to get an offer from Company A this week, as soon as I get them my references and salary expectations. I'm expecting Company B to bring me back for another round of interviews, and I think eventually they'll make me an offer. It's a tough choice, and it's really down to the level of "gee, Company B has a nicer office". Naturally, I'm going to be really dorky about this.

  Company A Company B
Location San Francisco Palo Alto
Public Transit office is ~1.2mi from Caltrain; 44-57 minute ride one-way 7 blocks from Caltrain; 8-10 minute ride one-way
Driving not a reasonable option short drive, lots of free parking
languages I'd be working in (I want to move from Java to Perl) mainly Perl, with some possible Java transition in the coming years.
Challenge pretty serious; possibility of working on a relational database. slightly less hardcore, but still brain-teasing fun.
Problem Domains I Want To Work In yes, exactly the stuff I wanted to transition to: from small Java webapps to large-scale server applications, preferably in Perl.
Cultural Hipness Factor nonexistent. pretty high.
Money unknownunknown
Stock Options unknownunknown
Office most of one floor of a generic south-of-Market San Francisco office building; funky computer tables; low lights; low ceilings kickin' 3-story dotcom building; high ceilings; lots of color; reasonable lights that could be tinkered with.
Couches yes unconfirmed, but highly likely
Kitchen fully-equipped kitchenette six-burner stove, full fridge, lots of counterspace and comfy seating
Espresso Machine nice one nicer one

You see my problem. A nice problem to have, though. And, in fact, Company B is technically still up in the air, so I may not need to choose (though that would be sad). Either way, I'm going to have a new job lined up before the end of the year, which is pretty rad.