Cubs Game!
Friday, June 6th, 2008
The suites are P.I.M.P.

The suites are P.I.M.P.
As most of you know, despite bearing four children who worth with computers, my mom doesn’t really ride the cutting edge of technology. To give you a hint, she still sometimes searches for old emails that have a link for websites she wants to return to. She uses IM, but only because it’s already setup for her.
Last night mom IM’ed me, mentioning it was raining pretty bad back in the Midwest, and wondered what the weather would be like that weekend. You can’t really say “google it” to mom, and since my My Yahoo includes the weather for hometown, I simply got the Yahoo weather page for Joliet & sent it to her.
In a very mom way, mom replied she already knew it was raining & didn’t need the computer to tell her that. I replied it had the forecast. She replied that she was wondering what it was in Rochester, MN, where she’s traveling this weekend for a conference. (Something she had told me on several previous phone calls. Bad son, I know.)
I tell her Yahoo can find the weather for any city, and all she has to do is search for it. After trying, she says it doesn’t work. So I re-open my browser, and search yahoo for “rochester, mn weather”, it shows up as expected, and I send her another link. In mom fashion, she thanks me.
A bit later, a thought popped into my question. Was it mom? Or was it Yahoo?
I returned to yahoo.com and repeated my search.
As expected and as before, I got the weather. Good.
But what if I click through & try to search for weather on Yahoo! weather?
Yep, that’s right. I was too quick to blame mom.
Using defaults, if you search for weather on the Yahoo homepage it works.
Do the same on Yahoo! weather — i.e., search for weather on Yahoo! weather — and it doesn’t.
And that, my friends, is stupid.
For reasons I’ll put aside, a good friend recently reminded that it’s a good security practice to filter in what you know what you want, rather than filtering out what you know is bad.
This comes up a lot in web apps, as you need to make sure data passed in by the user isn’t doing anything nasty. Rather than saying “let’s remove quotes, ampersands, etc. and leave the rest”, you should say “let’s keep in letters, numbers, commas, periods, etc. and filter out the rest.” That way, if you didn’t know something like semicolons can do a bad thing, the latter covers you, but not the former.
This morning, setting up a new playlist in iTunes, I realized the same principle could be applied. And not only that, but help you find music you already own and may even like, just you’ve never listened to it.
My typical playlist is of the pattern “Play me songs from Artist X whose rating I’ve given 3 stars or more.”
This certainly gets me the music I know I like, but it keeps hidden songs I might.
So this morning, I started to flip it: “Play me songs from Arist X, but leave out songs I’ve rated 1 or 2 stars.”
I always knew Green Day was awesome, but, man, I didn’t realize so many other songs were so good as well.
After the Olympic onsale, Rick & I decided to hit Tokyo for a few days instead of heading straight back. Before I started traveling more, I used to think I like living in America. After traveling, I know I like living in America and there are few exceptions on anyplace else I’d rather live. Rome was the first. Tokyo is now this second.
I don’t know how to put this into context other than if I wasn’t walking wookie, I would suspect that my parents had stolen a Japanese baby at birth & raised him as their own. It’s like a special city was made just for me.
You can see all my photos from the trip, or Rick’s, but I thought I’d pull out some highlights.
It’s funny — when I asked a few friends about their travels to Tokyo via email, days went by & none responded. When I pinged each one again, all came back with the same response: There’s just so much to write, we haven’t finished yet! Not only do I now understand, but a similar phenomenon happened with this blog entry. But, without further delay, let’s get started…
My hat’s off to Rick for selecting an excellent hotel location. We stayed at the Shibuya Excel Tokyo, right in the middle of Shibuya. You may recognize its famous intersection, allegedly one of the busiest in the world.
I also made a small movie of the scramble crossing in action, as viewed from my hotel room, and uploaded it to YouTube:
On our first full day, we decided to start off by visiting Akihabara, aka “Electric Town.” AMAZING. Aside from storefronts reminiscent of a puking Radio Shack, it was also home to the wonderful, wonderful Yodobashi Akiba. I’m not sure, but if you live a good life, I think when you die you get to live in Akiba. For CA residents, the closest I could compare it to would be Fry’s. Only imagine nine Fry’s staked vertically on top of each other. And with no suck. (Okay, well, sense I can’t speak Japanese, I don’t know if Akiba sales folks are more helpful than useless dolts at Fry’s, but it sure looked like they were helping people.)
Sadly, I was too busy shitting myself to take any pictures. Sadly for you that is.
One the other hand, I did get a picture of a kid playing the original Super Mario Brothers, with his cosplay girlfriend dutifully watching.
Eventually we wandered into the first of many Sega & Taito Stations, home of multi-floor arcade splendor.
Each floor had a theme of sorts — e.g., crane games were often on the first, fighters on the 2nd, and so on.
It was really interesting to see gaming in Japan. Group-play & social interaction seem to be much more prevalent. It wasn’t uncommon to see a young couple on a date. Each station had at least a few machines that 8-12 people could all play at once. I also saw some crazy game that involved moving trading cards (a la Magic) around a horizontal screen while the game played out on a 2nd vertical one. It looked like some variation of an RTS, but I couldn’t make heads or tails of it & players didn’t seem to like observers.
On Sunday, we headed over to the RyĆgoku Kokugikan arena, for the first day of the Summer Grand Sumo Tournament. It was cute watching little japanese kids run into the aisle to get a good view & cheer on their favorite wrestler.
Apparently the final match was a bit of an upset, after which the crowd went crazy, flinging their seat mats towards the center arena.
I captured another video of one of the earlier matches.
So far the million question question everyone has asked me was “Did you eat Sushi!?” First off, I’m not as picky an eater as a lot of you think. Second, I’ve already tried sushi a million times. I already know it sucks. Third, for the love of God, YES, I tried sushi in Tokyo. And not just once but twice. On the final night, we visited what quickly became Rick’s favorite restaurant, the Standing Sushi Bar, close to our hotel. I’ve included the menu just to make all you sushi lovers jealous. Rick basically emptied a fish tank for $10.
I still prefer a good steak, but fresh salmon sushi ain’t bad.
On the final night of the trip, I went over to the rub the head of Hachiko. Hachiko was a real life dog, the pet of a Tokyo professor. Hachiko would accompany the master on his commute, walking with him to the train station in the morning and awaiting his return in the evening. Even after the professor passed, Hachiko continued to show up each evening to wait for his master. He followed this pattern for 11 years, until Hachiko himself passed on. There’s a bronze statue dedicated to him by the train station, a popular meeting place today, and rubbing his head is supposed to bring good luck.
Tokyo must have sensed it was our last day as well, and decided to hug us.
Goodbye, Tokyo. I kiss you.
In late April, a small cadre of LA tech folks traveled to Beijing, to be on-hand for the start of real-time Olympic ticket sales.
On prior trips, terminal 3 of Beijing International was still under construction. Now complete, we got a chance to see it first day. It’s a night & day difference; impressive by any standard, especially in size. (It’s now the world’s largest.)
Game day was May 5th, and we headed into the Gehua-Ticketmaster office bright & early.
If you travel to China, one of the cultural differences you’ll likely first encounter is the temperature of your drink. Ask for a glass of water in the US & it’ll be cold, likely even with with ice. Ask for the same in China, and it’ll be warm, likely hot enough for a glass of tea. (After a prior trip, I mentioned it to a Chinese-American coworker & she remarked her Grandmother had always yelled at her for drinking cold drinks, telling her it would shock her system & make her sick.)
Now anyone in tech can tell you it’s not really electricity that powers technology, but caffeine. In particular cold soda. So one of the locals in the office was kind enough to get us a few bags of ice. Somehow, however, a “few bags” translated into a small army of men showing up with about 18 bags.
Fully caffeinated, the team was ready.
We suspected demand would be high. This was confirmed when another local employee of the office showed up. He’d passed by his local Bank of China (BOCs are acting as outlets for Olympics ticket sales) on his way in. Folks had been lining up since midnight & numbered into the hundreds. It’s not the best quality, but tried to snap a few photos with his camera phone.
How’d we do?
Well, folks got tickets. Scratch that. Folks got a lot of tickets — we sold over 320,000 that first day alone. As GLaDOS would say, huge success.
And, of course, what’s huge success without a few drinks?
A few days after the start of the onsale, I had a chance to travel down to one of the banks & pick up some tickets myself.
Earlier in the week, I needed to extract some performance data from our apache logs. Nothing too crazy, so I whipped it together in Perl.
The log files I needed were placed nightly on a server, so I whipped up a shell script to snag them & bring them locally as well. I need to delete files non-error logs (containing my metrics), and decompress things, but overall it worked well.
Only it required me typing in four commands.
Each day.
Being a geek, I was offended by this & decided to take the five minutes to automate all that as well. After all, I’m smart.
Only that part were I delete files that aren’t error logs?
Well, that included my script.
I had to run ls a few times before I could believe it.
D’oh. So much for smart.
Licking my wounds, a few hours later, I decide to suck it up & just set about writing it again. I fire up emacs and then remember — emacs automatically makes backups! I head over to my autosave-dir directory and — YES! — there is my file!
I think I need to fire-up doctor mode & say thank you.
I hate zombies.
It’s rare you’ll hear me use the word “hate”, but I use it here. I hate zombies.
I don’t like the concept, I don’t like that guttural noise they make, and I certainly don’t like zombie movies.
As a kid, like all kids, I had to watch Thriller, but man. It freaked the beejezus out of me.
I later saw Night of the Living Dead and had nightmares for two weeks. Two weeks!
So working the weekend to get ready for the Beijing Olympic ticket sales, what do I see walking down the street?
Why a pack of 200 zombies.
I don’t know if having a desk with a view of the the Sunset Strip is a good thing, but I do know I need a shotgun.
UPDATE: Explained.
When I took my first Spanish class in high school, the most interesting bits were the unexpected differences. It was just learning a different set of words for nouns, but nouns had gender? There’s a plural form of “you?” As well as an informal vs formal?
It’s been a similar experience learning how live entertainment & ticketing works throughout the world. Along those lines, a bit ago I set off for a business trip to Germany, Spain, Ireland, and the U.K.
In Germany, it’s fairly common to give someone a set of tickets for a gift. And despite being such a modern country, people don’t like to buy their tickets online. Instead, they’ll visit a ticket shop like Theaterkasse Schumacher.
The agents are friendly & helpful, and have an intimate knowledge of local venues. Tickets are extremely popular as Christmas gifts and around that time of year, lines will often be out door.
In Spain, our first visit was to fnac — similar to an upscale Best Buy in the States. Tickets are sold from a special counter in the lobby, and that Friday afternoon the line ran somewhat deep.
What caught me the most off guard was the popularity of pro wrestling — or as it’s called in Spain “Pressing Catch.”
It’s hugely popular with families and sells out quickly.
So where are the pics from Ireland & London?
Well, there, my friend, is the rub.
When you read the history books, you get the feeling the Black Death was something in the past, and the plague is gone now. Not so.
I picked up a fairly awful bug. I’d swear it was ebola or bubonic, but my doctor says it’s more likely it’s just the flu.
I really didn’t even get much of a chance to see Barcelona. Instead, any time out of my hotel room was spent at various farmacias, searching for orange juice, and trying to find a store that sold humidifiers — all in a place were I only spoke broken Spanish. There was a lot of “Excuse me, Sir, do you have the machine that puts more moisture in the air?”
So sadly I ended up having to fly back a big early. But there I learned a very valuable life-lesson I’ll share tomorrow.
UPDATE: Fixed link, this time hosted on nbc.com. Thanks for the pointer, Chris!
Be sure to watch the leading ad, people. This is what the writers went on strike for!
Like a lot of folks, I use a ‘toread’ tag on del.icio.us to keep track of things I want to read, but just don’t have the time.
The other day I noticed I currently had 270 items to read, the oldest going back to ~2005.
Clearly my eyes were bigger than my stomach. Er, than my eyes. Wait… nevermind.
Anyway.
Oddly the best time to catch is up on Online reading is when I’m offline. Specifically, when I’m on a long plane ride.
Instead of waiting for the airlines to figure out the whole Internet-on-a-plane thing, and since I have some pretty long flights coming up myself, I decided to hack something together using Perl & wget. After all, wget does a lot of the heavy lifting already, so really it should be just a matter of gluing wget together with delicious.
With that, I give you mirror-toread.pl.
You can run it as
./mirror-toread.pl <username> <password>
It’ll take a while to run the first time, as it throttles requests to 1/second.
Afterwards, you should have an index.html & a ‘Toread’ directory containing whatever you’ve tagged with ‘toread’.
I should mention a pretty gnarly hack, done in an hour or so. It ain’t pretty. And it ain’t perfect.
I had wanted to find the “next” link for articles paginated, but I realized it’s be easier to bookmark the “print” version in the future. Video and the like isn’t handled well. And so on.
But hopefully it’s good enough. We’ll find out next week when I head to Europe (where the history comes from).