Streamed Template Processing for Data Binding in Silverlight

This is a sample of doing streamed template processing to perform Data Binding in Silverlight.  I had to edit out the description, since MS Word + WordPress was generating invalid XML (how hard can it be?) which was causing feed validation errors.

The full template processor, with the MiniCache and PullMePushYou helpers, is less than 300 lines of code.  You can download the working project (VS Orcas) here.

Eating Chinese Making you Ill?

Every few months, a Chinese employee will send an alarming e-mail to the thousands of Chinese employees at Microsoft, saying “I got sick at restaurant ‘X’, and they had 4 critical red health violations at their last inspection, so STAY AWAY!”  These people usually mean well, but tend to shout “fire” without looking line-by-line at the health inspection reports for all of the other restaurants they visit.

Here is some news for my readers: nearly every good asian restaurant in the Seattle area that I review and recommend gets multiple critical red violations in health inspections!  You can look up health violations here, and even subscribe to get notified of health-related shutdowns here.

Before reacting too quickly to the score on a health inspection, you should look at the report and make your own judgment.  A “temperature violation” at a Sichuan restauarant that scores 85 (100 is the worst) is different from “toxic materials” at a German restaurant that scores a 40.  The whole point of Sichuan food is that it’s spicy and kills the bacteria.  It’s really absurd to think of a single restaurant in Sichuan that keeps its food at 39 degrees all the time.  As another example, take a “temperature violation” at a Korean place that serves Kimchee and spicy Tofu.  Kimchee is just spoiled vegatables, and requires lots of bacteria to make.  It is not even possible to make Kimchee at the “safe” temperatures of the health inspectors.

And if you get sick at a restaurant and they scored a 75 two months ago, the score is probably not related to your getting sick.  A 75 two months ago could be a good explanation why you got sick two months ago, but odds are that the restauarant is one of the cleanest in town for the next couple of months after that score.  If you’re going to worry about a high score, worry about the restaurant that’s going to get the high score next week, not the one that got it two months ago.

Finally, if you hear someone smearing your favorite authentic asian place in Seattle, take it with a big grain of salt, do your own research, and check again in a couple of months.  Many of these people in the restaurant business here have rivalries and histories that resemble a soap opera.  Every month someone is leaving one to go to the other for some really dramatic reason, and rumors swirl about love affairs, shady dealings, financial ruin, and anything else that might get people to stop going to one restaurant or the other.  As long as the restaurant hasn’t been shut down, you shouldn’t care who the proprieter’s bitter ex-wife is scheming with, nor whether they got a couple of “temperature violations”.

Henry’s Hunan, San Francisco

Today for lunch, I decided to try Henry’s Hunan near SF MOMA. I wish I hadn’t.

Seattle doesn’t have any authentic Hunan food, and I love spicy, so I try to get Hunan food when I’m in cities that have it. San Francisco has plenty of options in Chinatown, so I assumed that this place wouldn’t be bad.

For starters, there were no Hunan choices on the menu. The menu was standard American-Chinese food that you would get at any generic “Chinese” restaurant in suburban America. It is not the kind of Chinese food you would expect in the city with the highest percentage Chinese population in the country. I overheard conversations at a couple of tables with people regaling their coworkers with stories about “You’ve never had Hunan food?! It’s sooooo spicy!” But from the bland stir-fries on every plate, I think their definition of “spicy” is not what I think when I think of Hunan food.

Now, I exaggerated a bit when I said there were no Hunan choices. There were exactly two menu choices that seemed like authentic Hunan food. One was an appetizer, “Cold sliced 5 spices beef”, and the other was the “Extra spicy cod fish” entrée. I ordered both.

After a long wait, the appetizer and entrée arrived at the same time. The fish is shown on the left, cold sliced beef on right:


Now, the fish was nothing at all like I expected. It was chunks of battered and fried cod, American-style, in some nasty sticky salty sauce. It was not even the slightest bit hot or spicy. This dish can be delicious, but I have no idea what they were thinking when they made this.

The cold-sliced beef, on the other hand, was pretty good. Considering that it’s a cold appetizer, and they probably just by it from Chinatown and stick it in their refrigerator, this isn’t a reflection on the quality of the restaurant.

From the picture, it looks like they give a big pile of beef (which you don’t want). But it’s just because the beef slices are piled on top of cucumber slices. It’s all soaked in nice Hunan-style hot oil. Here is a picture of the hot oil and cucumbers after I ate most of the beef. The color on my camera phone stinks; that hot oil is redder than it shows here:

What they lack in selection of good Hunan food, they make up for in volume of rice. Here is the large bowl of rice they gave me. I guess the rice is to cool the taste buds of all the laowai panting from the “sooooo spicy” stir-fry:

My total bill, sans tip, came to $20. Four people could have gotten Pho in Chinatown for that much money.

Scoble’s Ex-Girlfriend is Mad?

This morning, my wife woke me up to tell me that some woman was talking out of my computer, about “you f-ing the girl next door” uncensored. When I went down to check it out, I found that my computer was playing the full version of Lily Allen’s “Smile”. While it was a relief to find that it wasn’t actually a bitter woman talking directly to me, I naturally wanted to be able to explain to my wife how someone had managed to wake us with a song about a bitter ex-girlfriend.

After eliminating Messenger as a possibility (whew!), I started eliminating open tabs on IE. It turns out the music was coming from FaceReviews.com. Some more investigation showed that it was actually coming from Robert Scoble’s Kyte.tv channel, which was embedded in FaceReviews.com. Navigating to his channel on Kyte.tv shows what happened:

Now, who would do such a thing? Whoever it was is not very ladylike, since it’s not nice to send the “f” word to random unsuspecting people’s computers, nor is it ladylike to use “jack” as a verb.

How Many Clicks?

I clicked on this ad without being fully conscious of making the decision. When I realized what I had done, I paused to think through the semi-conscious motivations that would make me click on something that had absolutely no interest to me (I have no interest in sports, scoreboards, champions, or “certified for”).

The ad was displayed on news.com, which has clear and crisp contrast with white background. Conversely, this ad looks gray and fuzzy. It’s annoying and jarring, and makes me want to “see it clearly”. The beam of light gives the impression that if you just get closer, you’ll be able to see more clearly. I wonder how many clicks they got for that?

Seoul Hot Pot Korean Restaurant

Yesterday we decided to try the newest restaurant close to Microsoft campus. The restaurant is a Korean place called “Seoul Hot Pot”, just down 152nd Avenue from building 42. (2560 152nd Ave NE, Redmond WA) Until last week, it was known as “Bar Shu”, and the sign hasn’t yet been changed. You can find it by looking for the big banner, or the “Bar Shu” sign until they replace it.

“Seoul Hot Pot” is the new restaurant owned by the former chef of Hosoonyi in Edmonds. For the past 8 years or so, it has been impossible to get good Korean food close to campus. The only restaurant was Olympic, which I thought was pretty bad, and so the only Korean places I visited were in Lynnwood or Edmonds. About a year ago, “Blue Ginger” came to Bellevue, and we finally have great Korean food. Blue Ginger is awesome, and stays packed, so it proved there is a market for good Korean food here. Hosoonyi was always one of my favorite Korean places, and I had high expectations.

The restaurant is reportedly packed at lunchtime; we went at dinner and the place was full by the time we left.

For starters, they bring out the Kimchee. They didn’t bring a lot, but it’s very good quality. The egg kimchee (picture on the left) is fried egg instead of custard.


One of the specialties of Hosoonyi was the pancakes. We normally get the seafood pancake, but decided to try the kimchee and pork pancake this time. The pancakes passed the test: delicious!

For my main dish, I ordered the spicy cod fish (the curry-looking dish above left). They were missing the fish head, so they charged only half. The fish was pretty good ? a very spicy sauce, with whole fish (minus head) atop turnips and tofu. If you’re not used to spitting fish bones, you might prefer the Corvina fish instead.

Service was attentive. The tea and water never ran out, and the instant the guy at the table next to us dropped his chopsticks the waiter brought new chopsticks without being asked.

Since it’s the first visit, I can’t comment on many dishes. But I think they will do well and coexist with Blue Ginger. They don’t have in-table grills for kalbi or frying plates for pork stomach like Blue Ginger does. The name “Seoul Hot Pot” implies that they want to specialize in Hot Pot, but they do not have hot pots. Even without specializing in hot pot (which Blue Ginger does adequately), I think they will do a good business in just the pancakes, fish, and lunchtime soon doo bo.

~

Update 8/28: They still haven’t changed the sign.  Have eaten at this place 5+ more times and taken more pictures with my camera phone.  Great place!

img103 img097 img096

Pork and pickled cabbage wrap.  This is a specialty.  Freekin’ amazing.  That is pickled cabbage; you stick pork and kimchee on it and eat.  The kimchee is hot, with raw (!) oysters in it.  VERY tasty!

img095 img106

I asked for spicy soon doo bo.  You drop the egg and seaweed in as it boils at your table.  Those are huge chunks of jalapeno.  It lives up to the “spicy” label!

img109

Bee Bim Bop

A-Che Cuban Restaurant, Beijing

On any given day, there are usually a few people from my team, my wife’s team, or a team I work closely with visiting Beijing. When asked about good places to hang out and eat or drink, I always recommend A-Che Cuban Restaurant in Beijing’s embassy district. I have been several times, and go at least once on any trip there.

Now, I don’t normally eat at western places while in China. In fact, I eat mostly Chinese food here in the U.S., since that’s what my wife prefers. But sometimes I need something comfortable and familiar. There are plenty of western-themed restaurants and western chains in Beijing, but they are often so different in taste, presentation, and atmosphere that you don’t really feel at home. A-Che, on the other hand, gets all the details right.

This isn’t to say that A-Che is purely a restaurant for westerners. The restaurant is themed on Che Guevara, the Cuban revolutionary, who is a sort of cult hero in Beijing. One of the big photos on the wall shows Che looking at you down the barrel of a gun. On the streets of Beijing you can find images of Che being used in advertisements for China Mobile, T-Shirts and party fliers. Che is seen as a “non-American” western influence who is “safer” to the ruling class seeking westernizing influence. The elementary school in the government district where many officials send their kids has been known as the “China-Cuba Friendship School” for decades. Of course, it doesn’t hurt that the children of America’s ruling class also need a cult hero who is edgy and anti-conservative. So you see plenty of ivy league white kids visiting Beijing proudly wearing their Che T-Shirts, too.

But it’s definitely not a “fake western food for Chinese people” restaurant. Chinese people who visit for the Che mania get authentic western food and western atmosphere. Since it’s located in the district with all of the embassies, about 50% of the customers are foreigners; and the Chinese who seem to be regulars are generally people who deal with foreigners or travel a lot. There is always staff on hand who speak Chinese, English, and Spanish. Only the bartender and chef speak Spanish, the waitstaff speak English and Chinese. The other foreigners who come usually speak English.

Food:

Proper western food in Beijing can be hard to find. My daughter is a finicky eater, so I have spent countless hours in random grocery stores looking for milk that tastes the same as here, or sliced cheese singles that taste right, and so on. One of the more faithful chains in China is Pizza Hut (there is one across from A-Che), but even there the food is wrong. She’ll eat the cheese pizza, but only if she’s starved. The chefs at A-Che are Cuban, but the food tastes like any that you’d get at a nice beachside restaurant in Miami or any other Caribbean place in the U.S.

I’ve had the chicken, pork, and lamb chops. It’s good, safe comfort food. I’ve also had the Rapa Vieja and Paella, both good safe choices if you like Cuban food. And as silly as it sounds, my daughter likes A-Che because they have a wide range of foreign staples including the sliced cheese singles.

Drinks:

Again, I’ve gotten drunk on every kind of Chinese liquor, but sometimes you want something that feels like home. The wine choices in the local groceries stores can be truly nasty, and good luck getting anything stronger that tastes comfortable. A-Che has a good selection of western wines and hard liquor, including good tequila and port. They have all of the standard cocktails you’d expect at a Cuban place. They get an A+ for stocking good, familiar western alcohol. The mojitos are OK, but I like the pisco sours better. I don’t think they have a wide selection of western beers on tap.

Atmosphere:

Upscale restaurants in China often look like huge palaces or mausoleums (even the Pizza Hut looks ostentatiously grandiose) and make you feel like you can’t just kick back and relax. The other end of the spectrum is places that look like fast-food chains, or worse, dives. It’s really hard to find a place that looks like an American upscale restaurant. A-Che has a really warm feel, with bright earthy colors, stucco and tile interior, and solid wood furniture. The table tops are thick slabs of wood, polished glowing and smooth (unless you’ve been to Beijing, you won’t realize how American that feels). The walls are covered with pictures of Che and his friends being idyllic, and with artwork from various artists using bright Gaugin-esque colors and themes. It’s really refreshing to be in a place that isn’t red fabric, gold trim, and black lacquer.

They have music and dancing some nights (I’ve only been there one night during a dancing time, and only a few people were dancing). They sometimes run Cuban music videos and music as well. The atmosphere is usually a mix of large groups of people and couples getting dinner.

With larger groups, I’ve appreciated that they don’t rush us. Normally with large groups, the restaurants have a two-tier system. You either get a private room, and take as long as you want; or you get a big table and get rushed and harried. A-Che is more western, in that you can get 10 people around a big (square!) wood table and socialize while soaking in the environment and art. They have free wi-fi, though I’ve only used it once.

Getting There:

The restaurant is open from 11AM to 1AM. It’s near the embassy district, so I recommend going there if you’re planning to go shopping for foreign staples nearby. It’s also ideal if you’re in town with a large group of people who want to hang out in leisurely western-style comfort. To get there, you can print out the map and give it to the taxi driver.

~

This is my first review using hReview microformat. I’ll be posting more reviews using this format, so they can be repurposed in other places more easily.

Season of New Bamboo

A couple of weeks ago, my team was hanging out at The Tasting Room for lunch, and I was complaining about how my patch of timber bamboo was wiped out completely by the windstorms last year. Only one lone culm survived the winds, and since new growth gets nutrients from the previous year’s culms, I knew this year’s culms would be small. But none had popped up at that point, despite my vigorous fertilizing and watering.

Then, a few days later, up popped the first brave shoot! Here’s a picture of the growth after just a couple of days. There are at least 4 healthy culms, in the first growth, and though they are tiny diameter compared to the mature culms from last year, they mean that the patch will be back to full glory in a couple of years. My other bamboos are doing great, and I transplanted some of the nigra to some other areas during gardening the past two weekends.

Regular readers may remember about five and half years ago, when I gleefully reported that the brand-new landscaping at Building 35 contained some patches of bamboo which weren’t properly contained and would certainly spread. I was outside at building 35 for the Mashup Day last week and took some pictures.


You can see that the bamboo has filled right up to the sidewalk, destroying any other vegetation that used to be there. It’s a nice patch, and it’s just fine to have the sidewalks as barriers. The patch is still quite healthy. You can see a new shoot coming up here:

Yesterday, I was at Bellevue Place, where my first office used to be, and was pleased to see that they’re growing real bamboo indoors now. Indoor bamboo is sometimes fake (or dead), and Bellevue Place used to have some fake bamboo as well as pictures of bamboo. Here is the new setup, you can still see the bamboo mural in the background (that’s not real timber bamboo), but you can tell that the bamboo in the containers is real by the new growth shooting up between the rocks (as well as the old leaves and husks):


The divider between the Hyatt and Bellevue Place is also starting to fill with the bamboo: