Author Archives: kenny

ArgumentException: The string must be at least XXX characters long

I hit this obtuse exception the other day. The stack had System.Configuration code on it, which is the only way I managed to track it down to a StringValidator attribute. A few things that would have been helpful:

  1. Having the name of the culprit in the exception string (i.e. The string ‘foo’ must be at least 24 characters long.)
  2. Including the configuration element of which string ‘foo’ is a property of (i.e. The string ‘foo’ must be at least 24 characters long to be used for property ‘bar’ on element ‘baz’.)

Turns out that this was not actually a .config file error. After subclassing StringValidator and creating a ConfigurationValidatorAttribute to bridge into the declarative system, I discovered that the exception was being thrown while validating the default value.

I had naively thought that if you have a required ConfigurationProperty, then you do not need to setup a default value. I was wrong. I discovered that this is a known bug in the .Net Configuration validation framework that has been resolved “By Design”.

I completely understand why they want to run the validators on default values, but the framework really should check if a property is required and suppress default value validation in that case. As it is, the default value is never used, and the framework properly throws an exception if the required property isn’t explicitly set by the user.

As a result, the following is the “correct” way to have a required property that works with the config validation framework:

[ConfigurationProperty(namePropertyName, IsRequired = true,
   // We need to set a default value for our string validator to work 
  
DefaultValue = "dummy")] 
[StringValidator(MinLength = 1)]
public string Name { … }

Si Phen (Chiang Mai, Thailand)

Rating:

This morning we moved locations to Ping Buri Hotel for our AJWS orientation, near Wat Phra Singh. One of the places I remember from the last time we were in Chiang Mai is Si Phen, just across the street from Wat Phra Singh and a short walk from our new hotel. I remembered the pomelo salad being particularly delicious.

We found Si Phen easily, and the open garage setting was just as we remember from last year. However, I must have had my wires crossed on what food we had where since they don’t have a pomelo salad available. We pressed on, and ordered a green papaya salad and khao soi gai (which is probably what we actually ate last time).

The papaya salad was delicious, one of the better ones we’ve had in Thailand. It’s a mix of green papaya, napa cabbage, peanuts and green beans, tossed with a clean lime/fish sauce dressing. There was no hint of the dried shrimp taste usually keeps me away from Thai papaya salad, and I find that peanuts are always a good addition.

Khao soi is a classic northern Thai dish that consists of yellow noodles in a curry soup. The one at Si Phen is topped with crispy noodles and napa cabbage. It was well-spiced and the meat on the chicken leg was tender and fell right off the bone. If you’ve never tried khao soi before, this is a great place to get your introduction.

Overall, a delicious and cheap (~2USD total) meal served by a friendly Thai chef. If you get hungry near Wat Phra Singh you should check out Si Phen to take care of the problem.

UPDATE (2/15/2010): Turns out that my memory isn’t faulty and they used to have pomelo salad. Courtesy of the interwebs, here’s the review from the previous Lonely Planet edition (in our version the pomelo reference has been removed):

This inexpensive stopover specialises in both northern- and northeastern-style dishes. The kitchen prepares some of the best sôm-tam (spicy papaya salad) in the city, including a variation made with pomelo fruit.

Green papaya salad
Green papaya salad

Khao soi
Khao soi

Si Phen chef
Thai chef de cuisine

Si Phen Si Phen menu

Si Phen
103 Th Inthawarorot
Chiang Mai, Thailand
0 5331 5328

Chill (Phnom Penh, Cambodia)

Rating:

While in Kampot, the owner of Rikitikitavi gave us a copy of AsiaLIFE Cambodia, a local expat magazine. In it was an article, Cometh the Ice Cream,  about ice cream in Phnom Penh. We hadn’t seen any compelling ice cream since Romy’s in Nha Trang, but there was a good-looking option in the article called Chill. It also happens to be located a few blocks down the street from our hotel.

We first stopped by Chill on the way to dinner yesterday. Originally we were just going to take a look, but looking led to a tasting of chocolate, green tea, vanilla, and passion fruit. Tasting led to a pre-dinner treat of chocolate and coconut. The article had in particular raved about Chill’s chocolate, and with good reason. It had a good, creamy texture and was in the dark chocolate camp, which I love. It also did not taste like cocoa powder as can often be the case. Certainly the best chocolate I’ve had in southeast Asia. The coconut was a nice complement, but it could have been creamier and was inferior to Romy’s coconut.

Chill's ice cream display

Tonight we were back for possibly our last ice cream in Southeast Asia (I’m not holding my breath for border town ice cream). After yesterday’s tastes we had already decided that we would have green tea and vanilla tonight. But since we were encouraged to try other flavors, we also tried mint chocolate chip, and cappuccino. The article had called the mint chocolate chip a “standout”, but I thought it was one of Chill’s weaker flavors, as was the cappuccino (not enough coffee flavor for my taste). We went ahead with our original green tea with vanilla plan, and it was a delicious combination. Overall, a good way to start our three month break from ice cream!

Lauren enjoying vanilla and green tea
Green tea + vanilla = happiness

Chill
219D Sisowath Quay
Phnom Penh, Cambodia
+855 092 547 534

Daily: 11AM-midnight

Ta Eou (Kampot, Cambodia)

Rating:

Kampot’s local specialties involve pepper and seafood. The best place to sample both is at Ta Eou, on the riverfront near the old bridge. Our first night in town we stopped by for dinner. The restaurant is a like a big covered back porch with an array of red tablecloth covered tables. The menu does not have any prices, and when we asked about this we were told “everything is $4.” Reasonable enough, even surprisingly low given how much seafood was on the menu. Unlimited rice is included with every dish, served out of large silver vessels by roaming wait staff.

While we were flipping through the extensive menu, we were given some lightly sweetened roasted peanuts to munch on. Our first dish was an easy decision: crab with Kampot peppercorns, Ta Eou’s most popular dish. We were served an entire crab which had been pre-cracked in targeted places for us. While it was difficult to get to all of the meat (which we expected), we were in pepper heaven. We dug for every crevice of crabmeat and used our rice to soak up every last drop of green onion/peppercorn sauce.

Our second dish was fried fish with ginger. While the Khmer name was probably more descriptive, ordering such an English description was a bit of a gamble as the “XXX with ginger” dishes can often be bland and boring. I needn’t have worried though. We were served freshly pan fried fish fillet pieces with lots of ginger and onions in a very well spiced sauce. Good thing we love ginger!

Today we returned to Ta Eou for our final lunch in Kampot. This time we ordered the shrimp with Kampot peppercorns along with a repeat of the ginger fish. As with our experience at Coconut Grove, the shrimp were a lot less work and tasty as well, though not as delicious as the crab.

Overall, the food at Ta Eou is fantastic, very cheap, and run by very friendly Cambodians. As a bonus, free extras are thrown in left and right, from the peanuts to the unlimited rice, to a plate of fresh bananas given to you with the check. If you’re near Kampot, definitely stop by Ta Eou!

Crab with peppercorns
Crab with Kampot pepper

Fish with ginger
Stir fried fish with ginger

Shrimp with peppercorns
Shrimp with Kampot pepper

peanuts bananas
Extra goodies included in each meal

Relaxing by the river
Chilling by the river

Ta Ou
River Road, Riverfront
Kampot, Cambodia
+855 33 932422

Daily: 10:00AM-2:00PM (Lunch), 6:00PM-10:00PM (Dinner)

Epic Arts Café (Kampot, Cambodia)

Rating:

This morning we had breakfast at Epic Arts Café, a warm, airy shop started by Epic Arts, a UK-based charity that works on helping the disabled through the arts. The staff is almost entirely deaf and the profits from the café go towards Epic Arts’ programs.

We enjoyed French press coffee (no Nescafe, yay!), oatmeal with fruit, and yogurt with fruit and muesli. It was all quite enjoyable. They make their own yogurt, as well as cookies and other freshly baked goods. I was curious about their “pepper bread,” and they offered me a free slice. It was about how you’d expect pepper bread to taste – a bit spicy and pretty good with jam.

After we finished eating, we browsed the items for sale. They have t-shirts available in a variety of colors and sizes, though the sizes are meaningless for the most part (large can be smaller than medium, medium can be closer to child-sized, etc.). They didn’t have any that were big enough for me, but Lauren procured herself a lovely pink t-shirt. Overall it was a refreshing start to the day, both gastronomically and philanthropically.

Epic Arts Cafe

Enjoying coffee and breakfast
Enjoying coffee and breakfast

Muesli with fruit and yogurt
Muesli with fruit and yogurt

Oatmeal
Oatmeal with bananas and raisins

Epic Arts Café
1st May Road (2 blocks east of the riverfront)
Kampot, Cambodia
+855 (0)12 350 824

Daily: 7:00AM-6:00PM

Seastar (Phu Quoc, Vietnam)

Rating:

Seastar is a resort on Long Beach about a 10-minute walk north along the beach from Mai House. They have a beachfront restaurant with open air seating and a good-sized Vietnamese menu. They also serve the best chili lemongrass shrimp I’ve ever had. We discovered it on our first night in Phu Quoc, and returned just almost every day for another hit. Yesterday we discovered you can order it on top of bun noodles instead of rice, which makes the arrangement very much like Tamarind Tree’s chili-lemongrass chicken bun.

Tonight we squeezed in a second 1/2-dinner just so that we could savor the chili lemongrass shrimp as our last bite of Phu Quoc (never mind that we had eaten at Seastar today already for lunch).

The rest of the food we had at Seastar was enjoyable, though not as mind-blowing. Salads were very fresh, with a spicy fish-sauce and lime dressing. The Seastar spring rolls were crispy and well-textured, though the seafood inside didn’t have much in the way of additional flavor.

Overall, Seastar has a nice view, good prices, friendly wait staff, and chili-lemongrass shrimp to die for. If you’re on Phu Quoc Island, take a stroll along the beach and check it out!

Chili lemongrass shrimp
Chili lemongrass shrimp from heaven

Papaya salad with seafood
Papaya salad with seafood

Practicing shrimp de-tailing
I had many chances to practice my shrimp de-tailing technique: spear bottom with fork, hold spoon face down, and wedge under the tail. Pull out tasty morsel.

Beach view
View from the restaurant. We never saw anyone actually playing volleyball here.

Seastar
Ba Keo, 7 ward, Tran Hung Dao Street
Duong Dong town, Phu Quoc, Vietnam
+84 (0)77-3982-161

Lunch, Dinner

Mai House Restaurant (Phu Quoc, Vietnam)

Rating:

In addition to offering fabulous lodging and a private beach, Mai House also  boasts one of the better restaurants on this stretch of the island. Along with the included breakfasts, we’ve had a few dinners here while overlooking the amazing sunsets.

Mai House is run by a French expatriate, but the menu is distinctly Vietnamese. Our favorite dish (which we had 3 times) was the pomelo salad. Sweet, tart, and spicy with fresh pomelo, lime juice, shrimp and a generous topping of sesame seeds. We also liked the fish in lot leaves, a variation of the classic beef in lot leaves that incorporated blackened fresh fish into a Vietnamese dolma.

Overall, we enjoyed every dish that we ordered at Mai House, including a few memorable dishes. Good food and a stunning view, it’s hard to ask for more!

Pomelo salad
Awesome pomelo salad – we ordered ours sans pork

Black cod in lot leaves
Fish in lot leaves

Tuna in clay pot
Tuna in clay pot – caramelized and tender

Shrimp curry
Goa-style shrimp curry. While not much to look at, it was so tasty I ordered it twice!

Mai House Restaurant
Long Beach
Phu Quoc, Vietnam
+84 (0)918123796

Daily: Lunch, Dinner

Romy’s Ice Cream and Coffee Bar (Nha Trang, Vietnam)

Rating:

We’ve been on the road for 3.5 weeks now and I have yet to find decent-looking ice cream. To be fair, there’s a Fanny’s in Hanoi, but the one day we were nearby we were hankering for a pear tart instead.

Our first night in Nha Trang, we stopped at Romy’s and checked out their ice cream case. Good visuals, so we had a sample of passion fruit and coconut. Both tastes were good, and we walked out with a scoop of coconut. It was very creamy, with fresh coconut and not too much sugar.

Ice cream case
Ice cream on display, just how I like it

Romy’s is named after the owner, Fridtjof Rommeley, a German chef who moved to Nha Trang after running a creamery in Germany for 16 years. He’s done a good job of bringing European skill to local flavors. There were amazing-looking sundaes filled with local tropical fruits and three scoops of ice cream. As we ate kilos of fruit on the beach, the most we indulged at Romy’s was a double scoop of mango and chocolate:

Enjoying a double scoop of mango and chocolate

Over the course of our five nights in Nha Trang we managed to at least get a free sample of just about every flavor in the case. My favorite two standouts were almond (I’d never had almond ice cream before but I’m definitely making some with almond milk when we’ve back in Seattle), and coconut. Make Romy’s a part of your Vietnam beach experience, the ice cream will make you happy. 🙂

Romy’s Ice Cream and Coffee Bar
1C Biet Thu St
Nha Trang, Vietnam
+84 (058) 3527-677

Daily: 9AM-11PM

Tamarind (Luang Prabang, Laos)

Rating:

In a quiet northeastern section of the old city, near Wat Nong, is Tamarind, a small restaurant that is famous for its Friday night fish feasts and cooking classes. We didn’t manage to make it to either of those events (they were catering a wedding so the weekend cooking classes were cancelled), but we did have a relaxing lunch there yesterday.

Tamarind specializes in Lao food. Though our first Lao restaurant experience was a complete bust, we decided to give Lao food another shot after reading the many raves about Tamarind. We ordered two of Tamarind’s specialties. The first was an assortment of dips, accompanied by an explanation sheet with pictures and descriptions of the dips. From the sheet we learned that the “purpose of the dips is to add flavor to the sticky rice that is the staple of Laos food.” The platter consisted of:

  • Jeow Mak Len – a tomato-based dip that tasted like a chunky salsa without the jalapenos.
  • Jeow Pak Hom – a coriander dip that was my favorite of the bunch. It had some chili-kick, and reminded me of a chunkier form of coriander chutney.
  • Jeow Mak Keua – a smoky eggplant dip that tasted like a good baba ghanoush
  • Jeow Bong – my least favorite, a garlic based dip where “buffalo skin adds texture”; for us the buffalo skin only added an icky flavor.
  • Khai Pene – sold all over the streets of Luang Prabang, Khai Pene is made from a vegetable that grows in the river (known as seaweed, river moss, or Mekong weed), is pounded flat, laid to dry, and topped with garlic, tomato, and sesame seeds. Tamarind’s house-made version was delicious.

Our sheet mentioned that the dips are very spicy when eaten in a private home, though at Tamarind they are unfortunately served tourist spicy. However, it’s in Laos that we have become enamored with sticky rice, and the dips were reasonably tasty and fun to scoop up with the rice.

We also ordered lemongrass stuffed with chicken. This was by far my favorite Lao dish to date. The lemongrass is stuffed with a mixture of herbs and chicken, then the entire ensemble is dipped in egg and pan fried. It would be worth taking Tamarind’s cooking class just to learn how to make this dish.

Tamarind has a cute, cafe-style atmosphere, and friendly staff. While I’m still not a huge fan of Lao food, if you’re in Luang Prabang it’s worth considering a stop at Tamarind to get a taste of the local cuisine. And while you’re there, definitely order the stuffed lemongrass.

Lao dips
Vegetarian dips that we shared with little Vid

Chicken stuffed with lemongrass
Lemongrass stuffed with chicken, kaffir lime, and coriander, with peanut sauce

Tamarind
Ban Wat Nong, Old Town
Luang Prabang, Laos
+856 20 7770484

Daily: Breakfast, Lunch, Dinner

Somchanh Restaurant (Luang Prabang, Laos)

Rating:

Sometimes the Lonely Planet steers you wrong, most often in the food department. Today’s lunch was one of those cases. We went to a Laos restaurant on the Mekong river, described as serving “the best choice of vegetarian Laos food in town.” Little did we realize how different “best choice of” is from “best". While there were indeed a lot of dishes without meat, the actual food was terrible. The fried yellow noodles with vegetables were only nominally better than cup o’ soup, and the “panang curry” was just coconut oil, coconut milk, chicken, and salt. No one should ever advertise this disappointing bland, white sauce as curry. I was too disappointed with the curry to even snap a photo. At least the view was nice.

Mekong river view
Lauren and the Mekong

Fried yellow noodles with vegetables
Fried yellow noodles with vegetables