Asian Club Sandwiches

May 16th, 2015, 12:04 am PDT by Greg

[I know this is not the way one is supposed to blog about a vacation. I choose to ignore that.]

Club sandwiches have rules. As Mitch Hedberg would say, if you don’t follow them, you’re not part of the club.

The rules are: bread, chicken and lettuce, bread, tomato and bacon, optional american cheese, bread. All bread toasted. Mayonnaise. Cut in four. It comes with french fries and poorly constructed coleslaw.

Simple. Do that, and you’re part of the club.

A friend who has spent time in food services used to interview potential cooks by asking them to make a club sandwich. Acceptable variation is certainly allowed, but it seems like a good test of “can you just make some decent food?”

There are often things labeled “club sandwich” on menus in Asia. I occasionally order them hoping for some taste of home. After all, how hard could it be? There are rules.

It turns out that these rules have not been effectively transmitted to Asia.

The first example is actually a favourite of mine. It is from the Vineyard in Hangzhou, an expat place near the Yuquan campus where I lived while teaching there: (click through on any of the images for detail)

Vineyard club

It’s moderately club-sandwich-like. There are three pieces of bread. Ham is substituted for chicken. Cut in two instead of four. It doesn’t taste entirely like a club sandwich but it’s good. This is the high point of our journey.

The next example is from a cafe in the Shanghai Pudong airport and is much more typical of Chinese club sandwiches:

Pudong club

Three slices of bread, but crusts cut off. An egg for some reason, which I don’t mind since I believe an egg can be added to any savory dish to enhance it. There is some chicken salad like substance serving as a poor substitute for chicken. Ham substituted for bacon. One forlorn little piece of lettuce is split between the four quarters. An irritating amount of mayo. Only the innermost bite of each piece really has any filling. After that bite, it’s vaguely sweet Chinese “toast bread” with mayo. Four pringles act poorly as fries.

This happened at a resort in the Philippines. There was a picture on the menu, but I thought “no… they couldn’t legally serve that as a club sandwich. It’ll be different.” It wasn’t.

Resort club

Four (four!) slices of bread with the crusts cut off. A crumbled bacon and chicken salad melange. Lettuce, cucumber and tomato. A scrambled egg and thick slab of weak cheddar. Cut in two.

That kind of thing should get a cook sent to the Hague.

A final entry from a random western-ish restaurant in a mall in Cebu. I knew it wasn’t going to be good, but I ordered it anyway:

Cebu club

Three slices of bread toasted in a panini press. Ham, chicken salad with some egg in there somewhere. Roast beef, lettuce tomato, cheese. A poor entry overall.

I have developed a real love of the Philippines, but this is a serious deficiency in the culture.

There is no real conclusion to this post, other than perhaps “get your club sandwiches from diners in North America.”

CMPT 165: the revisening

September 28th, 2014, 3:15 pm PDT by Greg

I have recently been reviewing introductory web textbooks for CMPT 165. They seem to all show signs of having been written in 1999, and revised, and revised, and revised. This leads to weird anachronisms where things haven’t been revised exactly perfectly. I end up seeing a lot of things that would leave students confused about the “right” way to do things, how to approach designing a page, etc.

Then I look at my own CMPT 165 (Introduction to the Internet and WWW) materials. And I see the same things in a course that has been revised and updated several times since 1999.

So I have decided that it’s time. Time to start with a blank page and rebuild the course from scratch.

I have decided on a backbone that emphasizes the underlying structure of the web: HTML for content, CSS for appearance, and JavaScript for behaviour. For at least the HTML and CSS, I’m staying with a familiar formula: introduce structural markup and content/presentation separation without falling into the trap of explaining every tag/property.

On the programming part: (1) I want to start as soon as possible so students have as long as possible to get their heads around the idea of what programming is. (2) I want the JavaScript introduction to (as much as possible) have the flavour of real JavaScript client-side programming: most beginner tutorials are basically old-fashioned console I/O programming introductions shoehorned into the browser. I don’t think that’s compelling.

That lead me to a structure that involves introducing the Big Three (HTML, CSS, JS) as early as possible, and then building on the basic concepts of the three together. Also, it has to be a thirteen week course, accessible to people who have never opened a text editor before, teach some basic ideas of how computer science people see the world, hopefully contain a moderately-coherent chunk of material at the end: all the usual restrictions on such a course.

This is, of course, scary. You know that “fear of the blank page” thing? Imagine the fear of the blank textbook… that you have to fill… and you have already promised you’ll actually produce.

So to make it even scarier, I’m baring my soul and putting the whole thing on Github.

At this point, I’d be happy to get feedback on the course: what belongs, what’s important, how to actually do these things I have proposed? What is this “flavour of real JavaScript client-side programming” thing that I proposed to do a few paragraphs ago and how does it translate to a first-time programmer?

Restaurant Suggestions, and responsible instruction

April 4th, 2014, 12:39 am PDT by Greg

This semester in my CMPT 165 class, I was faced with a problem: it was a one/two hour split. A two hour lecture is too long to talk straight through, but too short to take a real break (since 200 people can’t go get a coffee and come back in 10 minutes). So, I decided to just take a “no learning” break in the middle of lecture.

For hard to understand reasons, I decided that the right thing to do was to give a restaurant suggestion every week (and then give them five minutes or so to talk amongst themselves). It had the take-a-mental-break feeling without having them all run out of the room.

My weekly restaurant recommendations were somewhat random: kind of whatever I felt like talking about that week. I recorded the recommendations on the class discussion forum, so I would remember (mostly for myself). Below is my discussion records, along with some editorial additions. I also tried to give a tip or two on what to order, since it can be intimidating to go into a place where you have no idea what’s going on.

Maybe this is a followup to my North Burnaby Food post, since I did have an “accessible from Burnaby campus” bias.

  • Week 1: didn’t have the rhythm of the semester down yet, so no recommendation.
  • Week 2: Indian Wok, especially the chili dumpling appetizer. [This is by far my favourite place to eat at the moment. Where has Indian-style Chinese been all my life? My usual description: “it’s like Chinese food, but a little bit better.”]
  • Week 3: Burgers Etc, especially the pattyless veggie burger. [I maintain that their off-menu pattyless veggie burger is the best vegetatian “burger” I can direct you to. Everything else on their menu is also pretty solid.]
  • Week 4: Alvin Garden or 湘緣湖南食府. Possibly order things from the “Xiang’s specials” page of the menu? I’m always a fan of Hand-Torn Cabbage (手撕包菜 or “Hunan style cabbage” on their menu), but I’m not sure it’s any better there than anywhere else you find it. Just spicier. [This was part one of my “annoyingly vague English names of Chinese restaurants” rant. “Alvin Garden” is meaningless. The Chinese name translates to something like “Xiang River Hunan Restaurant”, which is wonderfully meaningful.]
  • Week 5: Kulinarya, a Filipino place behind Coquitlam Centre. My suggestions: breakfast (Tapsilog or longsilog), crispy pata, lechon. [I really don’t think Filipino food gets the recognition it deserves. I blame the Filipino tendancy to assimilate. I claim that Filipinos are the best at breakfast: definitely in the Asian division, and likely worldwide to my tastes.]
  • Week 6: Cotto Enoteca in north Burnaby for some excellent Italian food. Nothing on the menu is bad. [Although I may admit that the food quality is slipping a little under the new owners/chef.]
  • Week 7: Hog Shack in Steveston. Again, no way to go wrong. The combo platters are a good start. [It’s a little out of the way for SFU students to get to, but there isn’t much good BBQ in Vancouver. It’s also a uniquely American cuisine, which hadn’t made the list so far.]
  • Week 8: midterm day.
  • Week 9: Perfect Taste Restaurant/老東北風味餐廳 in Crystal Mall in Burnaby. No useful ordering tips since I didn’t order there. There’s always the option of asking “what are the most famous dishes” or something. [This is part 2 of the “useless English names” rant. The Chinese name is “Old North-East Flavour Restaurant”: it’s the cuisine from around north-eastern China, around Liaoning and Harbin.]
  • Week 10: In honour of Nowruz, a Persian recommendation of Cazba in North Vancouver. One ordering tip: a lot of the dishes have a choice of rice or salad or a mix for $1 more: pay the extra dollar and get the mix. [I don’t have great depth of experience with Persian food, but this seems to be the one that gets recommended by the Persians in my life. I feel that given the size of the population, there should be more restaurants to choose from.]
  • Week 11: Coffee shops! Caffe Divano in the North Burnaby neighbourhood (and a couple of other locations); Prado Cafe on Commercial; Revolver in Gastown. See also an excellent list of Top 10 Independent Coffee Shops in Vancouver. [I feel like I have a whole blog post about coffee shops. For now, let’s say I haven’t found the exactly perfect drink, but Divano is close to both my house and a perfect drink. I feel like 49th Parallel also needs some exploration on my part.]
  • Week 12: Soho Tea Room on Cambie at 19th. Order the french toast (which isn’t much like french toast as I know it) or the Macau sawdust pudding, or any of the bubble teas, or any of the wacky variety of food. Other Taiwanese cafes: Corner 23, Copa Cafe. And there’s kind of a fuzzy line between those and bubble tea places like Dragon Ball Tea House and Bubble World. [I described the Taiwanese cafes as “it’s like the not-really-Chinese Chinese food that we get everywhere but Vancouver went back to China as “Canadian food”, but in reverse. Sandwiches and spaghetti went to Taiwan and Hong Kong, mutated, and have come back. With bubble tea.]
  • Week 13: are we slightly short this semester? I don’t have a Thursday lecture in week 13.

I left the discussion forum with this question, that I’ll also invite answers to here: imagine your grandma/grandpa/auntie/whatever was visiting Vancouver and you wanted to show him/her that “it’s okay, I can get real food here, just like back home.” Where would you take them to get the old fashioned food that they want (and where are you from)?

You will notice that I have a real bias to that kind of “grandma approved” food in the above list. Fusion and high-end food are fine, but not where my heart lies.

Hong Kong vs Vatican City

March 30th, 2014, 7:06 pm PDT by Greg

In CGP Grey‘s excellent video How Many Countries Are There?, he refers to Vatican City as “the least country-like country that’s still a country” and to Hong Kong as “the most country-like country that isn’t.”

I have been rolling this around in my head for a while. He’s right about the basics: nobody would argue that at the moment, the Vatican isn’t a country, or that Hong Kong is. But how country-like are they, really?

Certainly as I remember visiting both, it’s very clear that Hong Kong is a separate country from mainland China, but Vatican City is more of a notable tourist attraction in Rome.

I made a table to highlight the issues. Is Vatican City really a part of Italy? Is Hong Kong really a part of China. Even though the answers are clearly “no” and “yes”, let’s look at the facts…

[I’m using the term “surrounding nation” for brevity below to refer to China and Italy as the nations that physically encasulate Hong Kong and Vatican City, respectively.]

Criteria Hong Kong Vatican City More Country-like
Citizens 7.2M 839 Hong Kong
Land area 1104 km2 0.44 km2 Hong Kong
Controls is own borders? yes no Hong Kong
Issues its own passports? yes yes tie
Has its own currency? yes no Hong Kong
Different government than surrounding nation? yes [1] yes [2] tie
Has an army? no sort of Vatican
Competes in the Olympics yes no Hong Kong
Surrounding nation citizens can visit without a visa? no [3] yes Hong Kong

[1] Elected Legislative Council vs single-party socialist republic.

[2] Absolute non-hereditary monarchy vs unitary parliamentary constitutional republic

[3] Call it an “entry permit” if you want, but if people have to apply for it ahead of time, and then present it with their passport at border control for entry, then that’s a visa in my books.

So there you go. Hong Kong is clearly an independant nation and the situation is much fuzzier for the Vatican.

Except it isn’t. What defines a country is that other countries think it’s a country. Other countries think the Vatican is a county, and agree that Hong Kong isn’t.

Edit 2014-04-09 Apparently this blog post both takes inspiration from and predicts CGP Grey.

The Chinese Life Plan

September 2nd, 2013, 10:21 am PDT by Greg

One of the biggest realizations from my time in China was that there is a shockingly-uniform life plan that is followed by Mainland Chinese kids. (Those who emigrated are generally excluded.) This is what I inferred from many conversations that a kid is supposed to do:

  1. Study hard, get into a good middle school.
  2. Study hard, get into a good high school.
  3. Study hard, do well on the university entrance exam (gaokao/高考).
  4. Go to the highest-ranked university you get in to with your gaokao score.
    • Edit thanks to Corbett: choose your major based on your gaokao score or aptitude test results. Interest in the major is not relevant.
  5. Study hard. Take the cohort-based set curriculum in your program.
  6. At some point, meet a nice Chinese boy/girl to be your boyfriend/girlfriend.
  7. Graduate in exactly four years from that highly-ranked university.
  8. If possible, do a masters or PhD at a maximally-ranked school. A high-status foreign school may be acceptable as long as you come back to China and…
  9. Get a job at a state-owned enterprise, or in the government, or other large stable company.
    • Edit thanks to Chao: Buy a two bedroom condo and car as a prerequisite to …
  10. Within the year, marry the boyfriend/girlfriend. There has been no other boyfriend/girlfriend in the interim.
    • Edit thanks to Elissa: If there was no boy/girl, or the boy/girl was not deemed acceptable by your mother, she will find one who you will marry.
  11. Within another year, have your One Child.
  12. At this point, either your parents or in-laws will move in and help raise the One Child.
  13. Continue to work at the large stable employer, in approximately the same job.
  14. Raise the One Child to start back at step #1 and continue The Plan.
  15. Support your parents in their old age. (The stability of the employer was necessary for this.)
  16. Die.

For a while in China, I would ask students “why did you come to Zhejiang U?” Eventually, I stopped asking because the answer was literally the same every time: “I didn’t get into Beijing or Tsinghua,” which are the two higher-ranked schools.

How relevant what the best-ranked university does is o your goals: irrelevant. Whether or not you wanted to work for a large stable employer: irrelevant. Whether or not you were interesting in having children: irrelevant. Resistance: futile.

I’m not so bothered that there is a “perfect Chinese life plan” as much as I am that in that list, there are basically no options. Chinese kids can literally never make a real life choice, and are not conditioned to make them. (Students who have come to Canada earlier than the plan dictates have confirmed that they really had no idea how to respond to questions like “what courses do you want to take?”)

On Accuracy

At this point, I suspect there are Chinese people reading this and thinking “no, that’s not really true.” (But they’re actually thinking “I didn’t do 9 and only half of 12.”) My experience was that most in-China Chinese kids I talked to diverged from that plan somewhere. The amount of divergence often depended on how “worldly” their parents are (because I can’t think of a better word). To some extent, a particularly willful child could diverge unilaterally.

To be fair, I was getting a biased sample at ZU. In order to get into ZU at all, you had to be on the plan perfectly up to step 4. Maybe at a lower-ranked institution, I would have found a more bohemian population.

Let me contrast with a life place for western kids that I think is followed with about the same precision:

  1. Finish high school, doing as well as possible under the circumstances.
  2. Do some post-secondary education. University is preferred (but the trades are an excellent option as well).
  3. Get a job of some kind (or start a company: that might be good). If possible, it should be a job you enjoy.
  4. Get married and have kids (or don’t).

The biggest difference: we have to make choices.

North Burnaby Food

August 23rd, 2013, 12:51 pm PDT by Greg

Some friends just moved into North Burnaby and asked what the good restaurants are. This is an area of expertise in which I take some pride. It seemed like a good idea to post my list here.

I have opined many times: the food in the suburbs is better than downtown. There is excellent food in both places, but when downtown, a lot of the money you’re paying is going to high rents. In the burbs, the rents are lower, so the money you pay goes to the food, which is where I want it. On the other hand, I also think there are a lot more bad restaurants the farther out you go. If you know the good ones, life is good.

Meta-site: Sherman’s Food Adventures. Sherman blogs daily about a restaurant somewhere in Greater Vancouver. He lives in North Burnaby, so the places around here are pretty well covered.

And my list, in approximately-decreasing order of how exciting I think they are…

Pear Tree: Probably the best example of money going into the food, not the rent. Very nice food made by a very skilled chef, who has carved out a niche in North Burnaby somehow.

Cotto Enoteca: Super good pizza and pasta.

Burgers etc: If not the best burger in the city, it’s close. Good BBQ too. There’s an off-menu pattyless veggie burger that’s awesome.

El Comal: Good Mexican on the Production station side of Burnaby Mountain. Only open for lunch Mon-Sat.

Chez Meme: French bistro food. Also only lunch Mon-Sat.

Chad Thai: Solidly good Thai, getting a lot of blog attention.

Glenburnn Soda Fountain: A cool old-fashioned soda shop (recreation). Excellent dessert after dinner at one of the other places.

Caffé Divano: Excellent coffee shop, where serious coffee geeks make your drinks.

Caffé Artigiano: Good coffee shop, but if we’re honest, their quality has slipped in the last few years.

Chez Christophe: A stupidly-good bakery. Why put such a place out of the way int he suburbs? Who knows.

Saigon Bistro: It struck me as carefully-make Vietnamese food, but I’m no expert.

Domineco’s: Not as well made as the food at Cotto, but good utility Italian. The place to send people that wanted to go to Anton’s. Also cheap for big groups: order 1/2 as many dishes and serve family style.

X-Site: Cheap decent eats, full of students.

Cockney Kings fish and chips: A one-trick-pony, but good at it.

Lotus cafe: A quirky little sandwich place that’s only open for lunch. I always describe them as “Nothing outstanding, but if your mom made you a sandwich for lunch, it would have been the best sandwich you could have hoped for.”

Wah Lun: Decently-good Cantonese. Better Chinese is a notable omission from the neighbourhood.

Sushi Town: Good utility sushi.

Countless little sushi places, that are all reasonable everyday sushi.

I’m back!

July 12th, 2013, 11:12 am PDT by Greg

It is with great pleasure I announce my permanent return to Vancouver. I haven’t seen many of you for some time, and I wish to remedy the situation.

This is a general distribution invitation: if you would like to spend some time hearing about China and telling me what I missed while there, I am interested in that.

Acceptable venues include any local bar, pub, tavern, alehouse, watering hole, or saloon. (Sitting on a patio and having a drink is not a Chinese thing, and has been sorely missed.) Restaurants, coffee shops, my place, or your place would also be acceptable. I won’t be teaching until September, so am fairly free for the next little while.

Phone, email, or message in any other fashion if you’re interested.

ZJU Technology

June 12th, 2013, 10:59 pm PDT by Greg

I have been taking my own laptop to lecture. There are computers in every room, but I haven’t had any use for them. I decided to have a look at one the other day. I took this screenshot (click through for the full-size version):


What you see there is:

  • Windows XP SP2, as released in 2004.
  • Internet Explorer 6, the most hated browser in the world, which even Microsoft thinks should be long dead.
  • Old school Active Desktop, long-since retired.
  • Acrobat Reader 8, from 2006 and three versions out of date.
  • MS Office 2003, three versions out of ate.
  • Adobe CS3 from 2007, three versions out of date.
  • R 2.15 from 2012.

To get the screenshot off, I inserted a clean USB key. When I got the key back to my computer, a clamav virus scan had this to say:

----------- SCAN SUMMARY -----------
Known viruses: 2381770
Engine version: 0.97.8
Scanned directories: 1
Scanned files: 14
Infected files: 11
Data scanned: 0.95 MB
Data read: 6.05 MB (ratio 0.16:1)
Time: 5.086 sec (0 m 5 s)

It looks like there are four distinct viral infections on the key.

My best guess is that they imaged the machines when they installed them, possibly when the building was built. Since then, everyone has logged in as an administrator (one installing his own version of R, which explains the one piece of new software), and whatever has happened has happened. Even though there is a learning technology office 20 metres from the classroom, they can’t seem to be bothered with the computers.

So why does IE6 have such a huge market share in China? There is a Chinese expression “随遇而安” which Google translates as “go with the flow”. I blame too much 随遇而安.

T-Shirts in China

May 31st, 2013, 4:22 am PDT by Greg

Poor English translations are nothing new to me, even as a Vancouverite. They kind of just roll off me without notice by now. “Fish is to eating”… I think “I guess they serve fish,” but nothing else.

But as a service my friends Kym and Mark at Herrohachi, I decided to watch for T-shirts with odd English. When I saw one, I jotted it down in my phone.

What follows is a two-week supply. Spelling and punctuation is as close as I could get it. I have made no real attempt to preserve design, formatting, or even line breaks. The slash indicates a line break where I recorded it.


These just don’t make sense…


These are perfectly reasonable English, but not-quite-right on a T-shirt

  • I only sleep with the best
  • Bed and breakfast
  • I’m a real sketch fan! [below line-art sketches of random plants]
  • Nice tag line
  • FART (in 6 inch glittery letters)
  • Hurry up
  • It’s your turn / I like rugby it’s so fun [on a girl that I could have picked up and thrown with one hand]

The Starbucks Heuristic

May 18th, 2013, 5:07 am PDT by Greg

The algorithm I propose here starts with a city where you are unsure of the geography, and attempts to find the part of the city where there are things going on for a traveller to see and/or a neighbourhood where a western traveller will be safe and welcome. It is only a heuristic: I’m sure it can fail in some cases, but it’s pretty solid in my experience.

The method is this: (1) find the city you’re wondering about in Google Maps; (2) search for “Starbucks”; (3) look at the neighbourhoods with the greatest concentration of dots (not just the teardrop-shaped placemarks, but all of the little “here’s one” dots); (4) decide that those neighbourhoods are safe/interesting/happening.

I first applied the Starbucks Heuristic in Kota Kinabalu Malaysia. We went there knowing it wasn’t much on the beaten path for tourists. It guided us to a part of town where we found a nice hotel near the water, a food market, and some nice local shops.

Applying the heuristic in Shanghai finds the business area in Pudong, a strip along Nanjing Road, and somewhat smearing south into Xuhui. That’s probably right, based on my limited experience. I just checked this when advising a friend where to stay during an extended business trip to Shanghai. I think it verifies my initial advice.

Doing it with Manila finds Makati (the business district), another cluster around Ortigas (the other business district), and another around Fort Bonifacio. As I recall, those are pretty good bets for a foreign traveller in a city where not everywhere is particularly safe.

In Hangzhou you find the tourist/shopping area to the east of the Lake, moving north into a neighbourhood I should maybe explore more. In Vancouver, you find downtown and Kitsilano. In Portland you find downtown.

The algorithm fails for Barcelona where such things probably aren’t allowed in the old city, but it does find what I think is the business district to the north. In Rome, you find a very well-defined ring around the “tourist stuff”, which is probably what I’d expect.

My conclusion seems to be that the heuristic finds the business district in highly developed western cities. It finds westerner-friendly neighbourhoods elsewhere.

Please don’t confuse what I’m saying here with “I think you should go to Starbucks a lot on vacation.” Go to Starbucks however much you want: that’s none of my business. The Starbucks Heuristic simply finds the most foreigner-friendly part of a city. Whether or not you want to stay in that part of the city is also up to you.

Does anybody see any examples where this fails spectacularly, from the point of view of a slightly-ignorant traveller trying to find a neighbourhood for a hotel? Barcelona is the worst I could find.

« Previous Entries