Argentina Recommendations, Before I Forget

Keeping it short and sweet. If it's here, it's because it rocked.

 

Buenos Aires

Stay in Palermo. More shopping, restaurants & bars than you have time for. Catch a Radio Taxi anywhere else. Hop on the subway at least once. Rent a bike in San Telmo and cycle your way into Puerto Madera. If you're lucky, you will bike by the Choripan stand and you must must must stop and get one.  Folkman spent the rest of our time in BA trying to find the perfect Choripan but nothing could top his sweet memory of that one.

Sissi Haz - Awesome boutique hotel in Palermo Soho, booked on Expedia.

Cluny - Eat here. Drink Malbec. Repeat.

 

El Calafate

If you're here, you're probably going to the glacier. Do the Mini Trek or Big Ice tour to walk on the glacier, it's worth it. And you drink whiskey with glacier ice at the end, so really, why wouldn't you? I rented a bike and went around Lago Argentina - awesome awesome awesome.  If you want more hiking, head to El Chalten.

Casa de Grillos - Cute B&B, nice owners, thin walls.

 

Mendoza

Stay at Tikaykilla. It's the equivalent of staying out amongst the wineries in Napa County instead of in the town of Napa. In other words, so much better.  Francisco the owner is the BEST. He'll hook you up with anything.  In a single night, we ate a private dinner with other people at his friend's restaurant and then traipsed over to the absinthe distillery owner's house/shop next door and partied until the wee hours.  The next day, we went horseback riding with Diego of Chaqnapi and had the best asado (meat cooked outdoors in oven) of our lives.  Rent bikes and head out to as many wineries as you have time for, ending at the Biergarden.

Tikaykilla - the only place you need to stay

Security issue in Website Optimizer

Received this email today from the GWO team.  The short summary is that if you have any GWO code on your site today, you need to update it.  


 


Google Website Optimizer
 

Dear Website Optimizer user,

We are writing to inform you of a potential security issue with Website Optimizer. By exploiting a vulnerability in the Website Optimizer Control Script, an attacker might be able to execute malicious code on your site using a Cross-Site Scripting (XSS) attack. This attack can only take place if a website or browser has already been compromised by a separate attack. While the immediate probability of this attack is low, we urge you to take action to protect your site.

We have fixed the bug, and all new experiments are not susceptible. However, any experiments you are currently running need to be updated to fix the bug on your site. Additionally, if you have any Website Optimizer scripts from paused or stopped experiments created before December 3, 2010, you will need to remove or update that code as well.

There are two ways to update your code. You can either stop current experiments, remove the old scripts, and create a new experiment, or you can update the code on your site directly. We strongly recommend creating a new experiment as it is the simpler method.

Creating a New Experiment

  1. Stop any currently running Website Optimizer experiments
  2. Remove all the Website Optimizer scripts from your site
  3. Create a new experiment as normal. New experiments are not vulnerable.

 

Updating the Website Optimizer Control Script Directly

  1. Locate the Control Script on your site. It looks like this:

 

A/B Test Control Script
<!-- Google Website Optimizer Control Script -->
<script>
function utmx_section(){}function utmx(){}
(function(){var k='XXXXXXXXXX',d=document,l=d.location,c=d.cookie;function f(n){
if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);return c.substring(i+n.
length+1,j<0?c.length:j)}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;
d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
</script><script>utmx("url",'A/B');</script>
<!-- End of Google Website Optimizer Control Script -->

 

 

Multivariate Test Control Script
<!-- Google Website Optimizer Control Script -->
<script>
function utmx_section(){}function utmx(){}
(function(){var k='XXXXXXXXXX',d=document,l=d.location,c=d.cookie;function f(n){
if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);return c.substring(i+n.
length+1,j<0?c.length:j)}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;
d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
</script>
<!-- End of Google Website Optimizer Control Script -->

 

  1. Locate the following in the Control Script: return c.substring(...
  2. Modify the following line as shown:
    BEFORE: return c.substring(i+n.length+1,j<0?c.length:j)
    FIXED: return escape(c.substring(i+n.length+1,j<0?c.length:j))
    Make sure to include the final closing parenthesis “)”

 

 

Fixed A/B Control Script
<!-- Google Website Optimizer Control Script -->
<script>
function utmx_section(){}function utmx(){} (function(){var k='XXXXXXXXXX',d=document,l=d.location,c=d.cookie;function f(n){ if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);
return escape(c.substring(i+n.length+1,j<0?c.length:j))}}}
var x=f('__utmx'),xx=f('__utmxx'),h=l.hash; d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
</script><script>utmx("url",'A/B');
</script>
<!-- End of Google Website Optimizer Control Script -->

 

Fixed Multivariate Control Script
<!-- Google Website Optimizer Control Script -->
<script>
function utmx_section(){}function utmx(){}
(function(){var k='XXXXXXXXXX',d=document,l=d.location,c=d.cookie;function f(n){
if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c.indexOf(';',i);
return escape(c.substring(i+n.length+1,j<0?c.length:j))}}}
var x=f('__utmx'),xx=f('__utmxx'),h=l.hash; d.write('<sc'+'ript src="'+
'http'+(l.protocol=='https:'?'s://ssl':'://www')+'.google-analytics.com'
+'/siteopt.js?v=1&utmxkey='+k+'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='
+new Date().valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+
'" type="text/javascript" charset="utf-8"></sc'+'ript>')})();
</script>
<!-- End of Google Website Optimizer Control Script -->

Note that the k=XXXXXXXXX line in the above Control Script examples is a placeholder.

Your experiment will continue as normal after you’ve made this update. There’s no need to pause or restart the experiment.

We’re committed to keeping Website Optimizer secure, and we’re deeply sorry for this issue. We will continue to work hard to prevent future vulnerabilities.


Sincerely,
Trevor
Google Website Optimizer Team


Email Preferences: You have received this mandatory email service announcement to update you about important changes to your Google Website Optimizer product or account.

Copyright 2010. Google is a trademark of Google Inc. All other company and product names may be trademarks of the respective companies with which they are associated.

iPhone 4, T+24 hours

Initial thoughts, after having the cluster that is the 3G for the last year and a half:

1) Having a phone that responds to actions in less than 500ms again is a revelation.  

2) New earbuds, oh so nice.

3) Apple hates lefties. No change from the 3G, but really, it'd be nice if they cared a tiny bit more about what it's like from a leftie's experience.  I mean, we are more creative and intelligent.

4) Received my first phone call while still at the Apple store in downtown SF.  Pretty sure you know the punchline already. Yep, call failed.  

 

 

Choose Your Own Adventure

"Chickity check yo self before you wreck yo self.

- Ice Cube

A) Motorcycle begins to sputter and run out of power. Pull over on Mission Street and think.  Switch to reserve tank and ride off in triumph.

B) Motorcycle begins to sputter and run out of power. Pull over and call California Choppers. Dude says he'll walk over and help you push the bike to his shop. While waiting for dude, a homeless man yells at you to check the gas. Switch to reserve tank. Tell nice Harley dude that you're an idiot when he arrives. Ride off in shame.

A Little Special

"He wanted to tell her, from the greater perspective he had, that to own only a little talent, like his, was an awful, plaguing thing; that being only a little special meant you expected too much, most of the time, and liked yourself too little. He wanted to assure her that she had missed nothing."

- From Yours, by Mary Robison

Art Is Just Absolutely Magic

I recently finished reading "Although Of Course You End Up Becoming Yourself," the transcription of a road trip David Lipsky took with David Foster Wallace. I was slightly underwhelmed by how resolutely Lipsky stuck to the dialogue, with all its ums, you knows, and likes.  But, I'd still recommend the book for anyone interested in getting to understand who David Foster Wallace was as a person behind the writer persona.  There were a lot of really great quotes, but here's the one that really stuck out for me:

I have this -- here's the thing where it's going to sound sappy to you. I have this unbelievably like five-year-old's belief that art is just absolutely magic.

And that good art can do things that nothing else in the solar system can do. And that the good stuff will survive, and get read, and that in the great winnowing process, the shit will sink and the good stuff will rise.

- David Foster Wallace

 

Without Comedy, It's Tragedy

You may be aware that I've had some vehicular difficulties lately.  My car started dying a not-so-slow death about a year ago.  A long, long, long story short: car overheated in Oakland, I had it towed back, I mistakenly put water in the engine instead of the radiator, I decided to donate the car instead of repairing the many expensive problems, I ended up "selling" it to the mechanic.  Here's pictures from our last day together:

(download)

Fast forward a couple weeks.  I start thinking about getting a motorcycle.  They look fun, but really, I feel like my scooter and I can't exist in our current relationship alone.  We're better in a threesome.  I mention my interest to my coworker who is a motorcycle fanatic, and he sends me some encouraging links to bikes on sale on Craigslist.  I find a Ninja EX500 in santa rosa that seems like a good deal and start thinking about heading up there.  This Wednesday, I decide to do another search for bikes in the city, and I find a sweet-looking Buell Blast that just got posted the day before.  This bike feels like the one.  It's matte black, low to the ground, upright rider style.  By Thursday at around 5pm, I am the proud owner of a Buell Blast.  Behold the joy:

(download)
Today is Friday, as in the day after the Thursday when I bought the bike. I get home from work and decide it's time to figure out this whole motorcycle riding thing again.  (I've had a motorcycle license for the last 4 years, but haven't ridden one since taking my motorcycle safety class to get the license.)  I'm stalling out over and over on the block but it's okay, I expected it.  I finally get into first and start riding a few blocks. Get to a stop sign, stall out a bunch, then finally on my way again. Repeat over and over.  I do that for about 30 minutes and call it a day.

But then I think, I can do better than that.  So I decide to get back out there at 8pm and ride some more.  Miraculously, getting into 1st gear is much easier now!  I'm balancing the clutch and throttle way better, and I'm shifting up into 4th in the middle of the block and downshifting back to 1st at stop signs with ease.  I go around the neighborhood a few times, and as I approach the stop sign, I move to downshift.  There's something odd about the lack of resistance against my left foot.  I look down, and it appears the shifter is nowhere to be found.  The shifter that switches gears.  The shifter that gives you the ability to be in neutral vs. 4th gear or 1st gear.  The shifter that makes the block of metal a vehicle instead of a stationary object.  I pull the clutch in, get onto my block and pull over to the side.  I mean, seriously, where can a shifter go?  And really, that's the essential question.  Please laugh with me.

No_shifter_lol

 

Update 10/2/2010: Shifter was located in the brush by the fantastic Charles M. Now I need to figure out how to get it back on and operating properly.

Photo_23