Friend’s Dog Killed

Look at this cute dog:

Its name is Ahuang, or Little Yellow. It is my friend’s dog. Early this week, it was robbed from his home and was killed. What a sad little thing. According to him, someone jumped into his house in suburb areas at 4:00 in early morning, and was killed and brought away. The guess is, they are going to sell the dog to meat market.

I have pictures of the little dog when it was just born one year ago, and feel sad about it. He was angry and of cause very sad. In his last 10 years, he had more than 10 dogs. The longest, he had the dog for 6 years, and shortest one only stayed for months. All of the dogs were robbed, or killed this way.

In this case, it is believed that the man robbed the dog for its meat. They can sell the dog to meat stores, and dog meat is served in many restaurants in the city.

Dogs. Poor Dogs

Talking about dogs, I am very concerned. The government is running campaign to kill dogs. Teams were setup with single mission – kill the dogs. People just don’t honor the value of life.

The dog adoption policy is, you have to pay the government for a dog adoption license. I don’t have a dog, so I don’t have first hand experience. According to my friends and verified on the Internet, the price is 2000 RMB for downtown, and 1000 RMB for places outside inner ring. What does it mean? It means you have to pay 1.4 month of the city’s average montly salary to get a license for your dog. In Guangzhou, the price is 10,000 RMB for the first year, and 6,000 RMB for every year after that.

Recently, the government is strength the policy. On both gate of the residential area I am living in, there are huge red banner saying: “If you love your dog, get a license for it”.

What I Interpretation is, “If you don’t want your dog killed, pay us”.

Dogs without License Must be Killed

Many police stations in cities and villages across the country have formed up “Dog-Killing Team” to go out (sometimes go into people’s house) to identify dogs without license. The owner either need to pay the money, or have their dogs killed.

The recent astonishing news about Douding’s event is just part of the story. They killed 50,000 dogs in 6 days. I read about some news (Disclaimer: I cannot verify whether its true or not), that the policemen are required to kill the dog before the face of the owner “as punishment”.

In Shanghai, the policy is, you have to bring the license with you all the time. If you are caught with a dog and without a license, the dog will be taken away, and you have to get your license to get the dog. Sad.

I don’t want to have a dog

I don’t know if I will adopt a dog or not in the future. I don’t have an idea about how I can protect it. What should I do when someone jump into my house and kill the dog before me, or come back home one day and found my dog dead. I just don’t want to have a dog at home when the terrible situation does not change.

Dogs are human’s friends. When the lives of millions of dogs can be taken away in just few days, how about people’s life?

Wangjianshuo.com Inaccessible

Wangjianshuo.com was not accessible since the last time I posted. The cable was completely cut off, and I am using a proxy to get very slow access to the site. Just want to post a note to let people know I am still OK, but I am not able to update the blog since I cannot access the site from China now.

Hope the Internet cable between China and the rest of the world is repaired soon. Optimistic opinion is, it will be OK within 2 or three weeks.

Today, very limited Internet access to outside China was recovered. Many sites are still not accessible. People in U.S. should have no problem to visit this site.

Some technical background: This site is hosted in U.S., and updated from Shanghai, daily.

24 Hours Internet without U.S.

It is exactly 24 hours after the earthquake in Taiwan. The earthquake caused 6 major fiber cable between China and U.S., between Korea and Hong Kong, and between Hong Kong and Shanghai were broken.

This is according to local news:

20:25 China-U.S. Cable broke

20:25 Asia-Europe #3 Cable broke

00:06 Asia-Pacific #2 S7 broke

02:00 Asia-Pacfic $2 S3 broke

20:43 Flag from Korea to Hong Kong broke

04:56 Flag from Hongkong to Shanghai broke

For the whole day, servers outside China (in U.S. or Europe) were not accessible. From my personal experience, this is a list:

home.wangjianshuo.com (very slow. It takes 5 minutes to open this editing page).

Gmail.com – very very slow, and almost not accessible

MSN Messenger – completely unable to logon

Skype – it still works

All other sites in US, very slow.

In China, the Internet experienced 24 hours without connection to U.S.

Local v.s. International Sites

In the morning, friends started to spread out QQ numbers, and I know many people have to turn on QQ or register QQ.

Gmail is not working, and hotmail.com is not accessible. To send a file to my friends who uses @163.com email address, I registered a new @163.com email address to ensure delivery.

eBay.com.cn is not accessible for many hours, and I don’t know how many users switch to Taobao.

This time, not 1 cable was cut off – it was 6 cables that was cut off. It is said it takes at least one month to recover. It takes only 21 days to form a habit. To get used to a new site takes much less time. This must be a huge opportunity for local web sites.

@Wangjianshuo.com Email as Gift

Happy New Year!

Every year, I am thinking of a special gift to send out to my friends. I have ever tried gift like a Google AdWords advertisement (to VeryCD), and tried to use Link as a gift. How about this year?

@wangjianshuo.com

As time passes by, we have new applications every year. This year, I am sending out email address like yourname@wangjianshuo.com as new year gift to my friends.

Examples are:

chedong @ wangjianshuo.com (and Chedong was so kind to promise me to give me a jianshuo@chedong.com email address)

isaacman @ wangjianshuo.com

fanfan @ wangjianshuo.com (for Wendy, and an alias wife @ wangjianshuo.com also works).

I then created mom @ wangjianshuo.com, dad @ wangjianshuo.com and many other emails addresses.

Then I sent the user name and password to my friends and family members so they have 2G of storage. I even setup email distribution like family @ wangjianshuo.com and added all my family members to it.

With the user name and password I gave away, people can login at http://mail.wangjianshuo.com

to check and send their email address. As you may found out, it is powered by Google Apps.

Happy New Year!

This is to my readers who didn’t get the gift yet. In the Christmas spirit (or the Santa Claus spirit), I’d like to share the gift to anyone who want it. If you want an email address like yourname @ wangjianshuo.com, I am more than happy to provide one. Please send your first name, last name, and your current email address (for sharing the initial password) to gift @ wangjianshuo.com, and I will give you want. I appreciate your request because it is flattery for me that you value an email address at wangjianshuo.com. This offer is valid until the end of Jan, 2007, because I don’t want to promise to offer it for too long that I have to process the request after 30 days.

Happy New Year to my Friends

This is to my friend who received the invitation. Below is the user guide for the gift I sent to you.

    What is It?

    It is an email address. It is not only an email address (the address), but also a full Gmail email service, includes 2G of mailbox storage, POP access, email forwarding and almost all other features an email service provider typically provides.

    How about the Stability of the Service

    This is a New Year Gift (2007) for you. This shows the connection between you and wangjianshuo.com, just like a T-Shirt with Wangjianshuo.com logo, or a mug with the logo. But neither T-Shirt nor mug shows such a strong connection and intimacy than an email address.

    I have long term plan to use Google Apps or other services like (Microsoft Live for Domains) to host the email address. However, as the nature of an armature email provider, there is no guarantee of service. So DO use the email when you feel you want to show your connection with wangjianshuo.com, and do NOT use it for critical communication.

    I personally have confidence in the service provided by Google, and believe it is pretty safe to use it as a regular email address, but again, there is no guarantee.

    I Already Have Too Many Email Addresses, So What Should I Do

    Easy. Configure email forward from the @wangjianshuo.com to your regular email address, no matter it is @hotmail.com, @gmail.com or @yourcompany.com. Here are the steps:

    1. Login your account at http://mail.wangjianshuo.com with your email address (just the part before @), and password. You may be promoted to change password at the first login.

    2. Click Setting on the right top corner of the page.

    3. Navigate to “Forwarding and POP” tab, and check “Forward a copy of incoming mail to” option box under Forwarding section.

    4. Enter an email address you wan to forward to in the text box.

    5. Click Save Changes button. You should be prompted “Your preferences have been saved.”.

    (Does the above instruction clear? With a background of support engine4 in the first 2 years of my career, I wrote thousands of steps like this for Microsoft product. Some of them even can be found at Microsoft.com website).

    After that, you can safely spread your name@wangjianshuo.com email address without worrying about checking emails in different locations. For the expected very low email volume to this new email address, you actually don’t have to check it from time to time.

    Do I have to Use it?

    No. Don’t feel that you have to use it, or at least login once. You can just treat it as a funny idea. But if you use it, I am very confident for now that it is a full service email box.

    What Else Should I Know?

    No. Just remember your account name (write it down, because it is not your day-to-day email address, and you may forget), and remember you have a friend who cares about you.

    Happy New Year!

Future of Email Addresses?

I believe in the future, email addresses can be collectable. Just like a logo on T-Shirt, or a logo on mug, it is not the good itself that matters. What matters is the logo.

Besides the use of email address, it can also be something fun. Just now, I got one more email address: jianshuo@verycd.com. Dash was kind enough to give it to me.

Now I have collected:

jianshuo at hotmail.com

jianshuo at gmail.com

jianshuo at chedong.com (waiting)

jianshuo at verycd.com

jianshuo at wangjianshuo.com

jianshuo at keso.cn (Dec 27, 2006, thanks Keso)

Anyone else want to provide more email addresses to me at the “dream domain name”? If you manage a domain (like chedong.com, verycd.com, or other yyyyy.com), I will appreciate if you create a jianshuo @ your domain.com email address for me, and send me the user name and password. Please drop it to gift @ wangjianshuo.com. Thanks!

P.S. As you may find out, I recovered from the previous exteremely crazy two weeks. You can imagine how busy the weeks were if you read my blog for four years and 3 month. I had never been so brief in blog entries as the previous weeks (even for the Merry Christmas post).

Backup of Individual Entry Archive Template

<html>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />

<title><$MTEntryTitle$></title>

<link rel=”stylesheet” href=”http://home.wangjianshuo.com/jianshuowangstyle.css” type=”text/css” />

<meta name=”keywords” content=”<MTIfNonEmpty tag=”MTEntryKeywords”><$MTEntryKeywords encode_html=”1″$><MTElse><$MTEntryTitle encode_html=1$></MTElse></MTIfNonEmpty>” />

<meta name=”description” content=”<$MTEntryExcerpt encode_html=”1″$>” />

<meta name=”robots” content=”index,follow” />

<$MTEntryTrackbackData$>

<link rel=”alternate” type=”application/rss+xml” title=”RSS 2.0″ href=”<$MTBlogURL$>index.xml” />

<MTEntryPrevious><link rel=”prev” href=”<$MTEntryPermalink$>” title=”<$MTEntryTitle encode_html=”1″$>” /></MTEntryPrevious>

<MTEntryNext><link rel=”next” href=”<$MTEntryPermalink$>” title=”<$MTEntryTitle encode_html=”1″$>” /></MTEntryNext>

<script type=”text/javascript” src=”http://home.wangjianshuo.com/archives/2006/10/13/prototype.js”></script>

<script type=”text/javascript” src=”http://home.wangjianshuo.com/archives/2006/10/13/rico.js”></script>

</head>

<body>

<$MTInclude module=”Header”$>

<span class=Adsense style=”padding-top:35px; background-color:transparent;”>

<p><a href=http://home.wangjianshuo.com/archives/20060422_welcome_to_wangjianshuos_blog.htm><img border=0 src=http://home.wangjianshuo.com/cn/2005/05/08/sanjose-jianshuo-standard.JPG></a></p>

<script type=”text/javascript”><!–

google_ad_client = “pub-8513779941474461″;

google_alternate_ad_url = “http://home.wangjianshuo.com/archives/2006/07/13/google_alternative_ad.htm”;

google_ad_width = 120;

google_ad_height = 600;

google_ad_format = “120x600_as”;

google_ad_type = “text_image”;

//2006-11-25: 120×600 Open Air

google_ad_channel = “9775971810″;

google_color_border = “FFFFFF”;

google_color_bg = “FFFFFF”;

google_color_link = “0000FF”;

google_color_text = “000000″;

google_color_url = “008000″;

//–></script>

<script type=”text/javascript”

src=”http://pagead2.googlesyndication.com/pagead/show_ads.js”>

</script>

</span>

<h1><$MTEntryTitle$></h1>

<p><small>Author: <a href=”<$MTEntryAuthorURL$>”><$MTEntryAuthorDisplayName$></a>.

Published: <a href=”http://home.wangjianshuo.com/archives/<$MTEntryDate format=”%Y_%m.htm”$>”><$MTEntryDate format=”%B %e”$></a>, <$MTEntryDate format=”%Y”$>.

Tag: <MTEntryCategories glue=” “>

<a href=”<$MTCategoryArchiveLink$>” rel=”tag”><$MTCategoryLabel$></a> (<$MTCategoryCount$>)

</MTEntryCategories><br>

Copyright: You are free to redistribute this work, as long as you keep this <a href=http://creativecommons.org/licenses/by-sa/2.5/>disclaimer</a> and <a href=”<$MTEntryPermalink$>#”>link</a>.<br>

Permlink: <a href=”<$MTEntryPermalink$>#”><$MTEntryPermalink$></a></small></p>

<script type=”text/javascript”>

var ref = document.referrer.toLowerCase();

if (ref.indexOf(‘wangjianshuo.com’) == -1 && location.href.indexOf(’2007′) == -1) {

document.write(“<IFRAME style=’margin:10px;’ src=’http://home.wangjianshuo.com/archives/2006/07/13/google_adsense_300x250.htm’ width=605 height=250 frameborder=0 marginwidth=0 marginheight=0 scrolling=0></IFRAME>”);

}

</script>

<$MTEntryBody$>

<br>

<a name=”more”></a>

<$MTEntryMore$>

<p><small><MTEntryPrevious>

<br>« Prev: <a href=”<$MTEntryPermalink$>”><$MTEntryTitle$></a>

</MTEntryPrevious>

<MTEntryNext>

<br>Next »: <a href=”<$MTEntryPermalink$>”><$MTEntryTitle$></a>

</MTEntryNext>

</small></p>

<span class=”posted”>Posted by <$MTEntryAuthor$> at <$MTEntryDate$>

<MTEntryIfAllowPings>

| <a href=”#trackback”>TrackBack (<$MTEntryTrackbackCount$>)</a>

</MTEntryIfAllowPings> </span>

</div>

<script src=”http://www.google-analytics.com/urchin.js” type=”text/javascript”>

</script>

<script type=”text/javascript”>

_uacct = “UA-52458-1″;

urchinTracker();

</script>

<div class=”comments-head”>More to do on this site</div>

<ul>

<li><a onclick=”javascript:urchinTracker(‘/go/mail_to_friend’);” href=”mailto:?subject=<$MTEntryTitle encode_url=”1″$>&body=<$MTEntryLink encode_url=”1″$>”>Mail this entry</a> to your friend using your own email client (such as Microsoft Outlook).

<li>Welcome to link this entry: <input size=40 onfocus=”this.select();urchinTracker(‘/go/copy’);” value=”<a href=’<$MTEntryPermalink encode_url=”1″$>’><$MTEntryTitle encode_url=”1″$></a>”> (HTML Code)

<li><a href=http://home.wangjianshuo.com/archives/20040211_newsletter_switched_to_yahoo_groups.htm#subscribe>Subscribe to Wangjianshuo’s Blog Update</a>.

</ul>

<div class=”comments-head”><a name=”comments”></a>Comments</div>

<MTComments>

<div class=”comments-body”>

<a name=”<$MTCommentDate format=”%I%M”$>”></a>

<$MTCommentBody$>

<span class=”comments-post”>Posted by: <b><$MTCommentAuthor show_email=”0″$></b> <a href=”http://user.wangjianshuo.com/<$MTCommentAuthor encode_url=”1″$>.htm”><img src=”http://home.wangjianshuo.com/nav-commenters.gif” align=absmiddle border=0></a> on <$MTCommentDate$></span>

</div>

</MTComments>

<div class=”comments-head”>Post a comment</div>

<script type=”text/javascript” language=”javascript”>

<!–

function OpenTrackback (c) {

window.open(c,

‘trackback’,

‘width=480,height=480,scrollbars=yes,status=yes’);

}

var HOST = ‘home.wangjianshuo.com’;

// Copyright (c) 1996-1997 Athenia Associates.

// http://www.webreference.com/js/

// License is granted if and only if this entire

// copyright notice is included. By Tomer Shiran.

function setCookie (name, value, expires, path, domain, secure) {

var curCookie = name + “=” + escape(value) + ((expires) ? “; expires=” + expires.toGMTString() : “”) + ((path) ? “; path=” + path : “”) + ((domain) ? “; domain=” + domain : “”) + ((secure) ? “; secure” : “”);

document.cookie = curCookie;

}

function getCookie (name) {

var prefix = name + ‘=’;

var c = document.cookie;

var nullstring = ”;

var cookieStartIndex = c.indexOf(prefix);

if (cookieStartIndex == -1)

return nullstring;

var cookieEndIndex = c.indexOf(“;”, cookieStartIndex + prefix.length);

if (cookieEndIndex == -1)

cookieEndIndex = c.length;

return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));

}

function deleteCookie (name, path, domain) {

if (getCookie(name))

document.cookie = name + “=” + ((path) ? “; path=” + path : “”) + ((domain) ? “; domain=” + domain : “”) + “; expires=Thu, 01-Jan-70 00:00:01 GMT”;

}

function fixDate (date) {

var base = new Date(0);

var skew = base.getTime();

if (skew > 0)

date.setTime(date.getTime() – skew);

}

function rememberMe (f) {

var now = new Date();

fixDate(now);

now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);

setCookie(‘mtcmtauth’, f.author.value, now, ‘/’, HOST, ”);

setCookie(‘mtcmtmail’, f.email.value, now, ‘/’, HOST, ”);

setCookie(‘mtcmthome’, f.url.value, now, ‘/’, HOST, ”);

}

function forgetMe (f) {

deleteCookie(‘mtcmtmail’, ”, HOST);

deleteCookie(‘mtcmthome’, ”, HOST);

deleteCookie(‘mtcmtauth’, ”, HOST);

f.email.value = ”;

f.author.value = ”;

f.url.value = ”;

}

__utmSetVar( getCookie(“mtcmtauth”) + ” (” + getCookie(“mtcmtmail”) + “)”);

//–>

</script>

<div class=”comments-body”>

<form method=”post” action=”http://home.wangjianshuo.com/cgi-bin/mt/mt-comments.cgi”

name=”comments_form”

onsubmit=”if (this.bakecookie.checked) rememberMe(this); s1=’http://home.wangjia’; s2=’nshuo.com/cgi-bin/mt/mt-’; s3=’comments-ifuleuiycfi.cgi’; this.action = s1+s2+s3;”>

<input_HIDDEN type=”hidden” name=”static” value=”http://home.wangjianshuo.com/scripts/thanksforcomment/thankyou.htm” />

<input type=”hidden” name=”static” value=”1″>

<input type=”hidden” name=”entry_id” value=”<$MTEntryID$>” />

<input type=”hidden” name=”src” value=”home.wangjianshuo.com” />

<input type=”hidden” name=”spammer” value=”goaway” />

<input type=”hidden” name=”spamming” value=”gotohell” />

Name: <br />

<input name=”author” /><br />

Email Address: (will not show)<br />

<input name=”email” /><br />

<input name=”url” /><br />

Comments:<br />

<textarea name=”text” rows=”12″ cols=”60″ style=”width:80%”></textarea><br /><br />

It may take up to <b>30 seconds</b> before the server returns a result. IP address recorded. <br>

Your post will appear on the homepage of this site – feel free to post on old entries to re-active the discussion. Please do NOT ask me to contact you by email or mobile. You can also <a href=http://home.wangjianshuo.com/archives/20061024_suggest_a_topic.htm>suggest a new topic</a><br>

<input type=”checkbox” name=”bakecookie” />Remember info?

<br /><br />

<input type=”submit” name=”post” value=” POST ” style=”font-weight: bold;” onclick=”urchinTracker(‘/go/post_comment’)” /> <– Please click POST only once<br />

<input type=”button” onclick=”forgetMe(this.form)” value=”FORGET PERSONAL INFORMATION” />

</form>

<script type=”text/javascript” language=”javascript”>

<!–

document.comments_form.email.value = getCookie(“mtcmtmail”);

document.comments_form.author.value = getCookie(“mtcmtauth”);

document.comments_form.url.value = getCookie(“mtcmthome”);

//–>

</script>

<MTInclude module=”RelatedEntries”>

<p align=center>© 2002 – 2006 Jian Shuo Wang. All right reserved. </p>

<script language=”JavaScript” src=http://home.wangjianshuo.com/archives/2006/07/13/public_javascript.js></script>

<center><small><a href=”http://home.wangjianshuo.com/cgi-bin/mt/mt.cgi?__mode=view&_type=entry&id=<$MTEntryID$>&blog_id=1″>E</a></small></center>

<script language=”VBScript” src=”http://www.wangjianshuo.com/include/pubs.vbs”>

</script>

</body>

</html>

Update January 23, 2009

Here is an updated backup of one of the most important template of this blog.

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<title><$MTEntryTitle$></title>

<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />

<link rel=”stylesheet” href=”http://home.wangjianshuo.com/jianshuowangstyle.css” type=”text/css” />

<link rel=”alternate” type=”application/rss+xml” title=”RSS 2.0″ href=”<$MTBlogURL$>index.xml” />

<style>h1 {margin-top:5px;}</style>

</head>

<body>

<div id=”header”>

<div id=”banner”><a href=”http://home.wangjianshuo.com”>Wangjianshuo’s blog<br />

<span class=”description”>Events (in Shanghai) that affect my life (and others’)</span></a>

</div>

<div id=”globalMenu”><div id=”nav”><ul id=”nav_menu”><li class=”top”><a class=”top” href=”http://home.wangjianshuo.com/”>Home  </a></ul></div></div>

</div>

<table width=100% id=”bread”><tr><td width=”70%”>

<div id=”navigation”><a href=”<$MTBlogURL$>”>Home</a> »

<MTParentCategories glue=” » “><a href=”<$MTCategoryArchiveLink$>”><$MTCategoryLabel$></a></MTParentCategories></div>

</td>

<td align=right nowrap>« <mt:EntryPrevious><a href=”<MTEntryLink>”>prev</a></mt:EntryPrevious> <mt:EntryNext><a href=”<MTEntryLink>”>next</a> »</mt:EntryNext>

</td><td align=right nowrap><form name=g style=”margin:0″ method=”get” action=”http://home.wangjianshuo.com/archives/20060120_search_this_site.htm” target=”_top”><input type=”hidden” name=”domains” value=”home.wangjianshuo.com”></input>

<input type=”text” name=”q” size=”20″ maxlength=”255″ value=”"></input>

<input type=”submit” name=”sa” value=”Search”></input>

<input type=”hidden” name=”sitesearch” value=”home.wangjianshuo.com”></input>

<input type=”hidden” name=”client” value=”pub-8513779941474461″></input>

<input type=”hidden” name=”forid” value=”1″></input>

<input type=”hidden” name=”channel” value=”6801625507″></input>

<input type=”hidden” name=”ie” value=”ISO-8859-1″></input><input type=”hidden” name=”oe” value=”ISO-8859-1″></input><input type=”hidden” name=”safe” value=”active”></input><input type=”hidden” name=”flav” value=”0000″></input><input type=”hidden” name=”sig” value=”NdyQdGFpJnNH_B3d”></input><input type=”hidden” name=”cof” value=”GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:11″></input><input type=”hidden” name=”hl” value=”en”></input></form><script language=”JavaScript”>document.g.q.focus();</script>

</td><tr></table>

<h1><$MTEntryTitle$></h1>

<!– Start of Google AdSense Section –><div id=”AdSenseSquare”><script type=”text/javascript”>var ref = document.referrer.toLowerCase();if (ref.indexOf(‘wangjianshuo.com’) == -1 ) {

document.write(“<IFRAME src=’http://home.wangjianshuo.com/archives/2006/07/13/google_adsense_300x250.htm’ width=350 height=250 frameborder=0 marginwidth=0 marginheight=0 scrolling=0></IFRAME>”);

document.getElementById(“header”).style.display=”none”;

}</script></div>

<mt:include module=”AdSense”/>

<p><$MTEntryBody$></p>

<a name=”more”></a><$MTEntryMore$>

<p><span class=”post”><small>Posted by <a href=”http://home.wangjianshuo.com/archives/20040218_about_jian_shuo_wang.htm”><$MTEntryAuthor$></a> at <$MTEntryDate$><br />

Copyright: You are free to redistribute this work, as long as you keep this <a

href=http://creativecommons.org/licenses/by-sa/2.5/>disclaimer</a>

and this <a

href=”<mt:EntryLink/>#”>link</a>: <a href=”<mt:EntryLink/>#”><mt:EntryLink/></a></small></span></p>

<div class=”comments-head”>Related Entries: <$MTEntryCategory$></div>

<MTSetVarBlock name=”category”><MTEntryCategory></MTSetVarBlock>

<ol><MTEntries category=”$category” lastn=”9″> <li><a href=”<MTEntryLink>”><MTEntryTitle></a> <i><$MTEntryDate format=”%x”$></i></li> </MTEntries> </ol>

<div class=”comments-head”><a name=”comments”></a>Comments</div> <MTComments> <div class=”comments-body” id=”<$MTCommentDate format=”%I%M”$>”> <a name=”<$MTCommentDate format=”%I%M”$>”></a> <$MTCommentBody$> <span class=”comments-post”>Posted by: <a href=”http://user.wangjianshuo.com/<$MTCommentAuthor encode_html=”1″>.htm”><$MTCommentAuthor$></a>

<MTIfNonEmpty tag=”MTCommentURL”>

(<a href=”<$MTCommentURL$>” rel=”nofollow”>external link</a>)

</MTIfNonEmpty> on <$MTCommentDate$></span>

</div>

</MTComments>

</div>

<MTEntryIfCommentsOpen>

<div class=”comments-head”>Post a comment</div>

<script type=”text/javascript” language=”javascript”>

<!–

var HOST = ‘home.wangjianshuo.com’;

// Copyright (c) 1996-1997 Athenia Associates.

// http://www.webreference.com/js/

// License is granted if and only if this entire

// copyright notice is included. By Tomer Shiran.

function setCookie (name, value, expires, path, domain, secure) {

var curCookie = name + “=” + escape(value) + ((expires) ? “; expires=” + expires.toGMTString() : “”) + ((path) ? “; path=” + path : “”) + ((domain) ? “; domain=” + domain : “”) + ((secure) ? “; secure” : “”);

document.cookie = curCookie;

}

function getCookie (name) {

var prefix = name + ‘=’;

var c = document.cookie;

var nullstring = ”;

var cookieStartIndex = c.indexOf(prefix);

if (cookieStartIndex == -1)

return nullstring;

var cookieEndIndex = c.indexOf(“;”, cookieStartIndex + prefix.length);

if (cookieEndIndex == -1)

cookieEndIndex = c.length;

return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));

}

function deleteCookie (name, path, domain) {

if (getCookie(name))

document.cookie = name + “=” + ((path) ? “; path=” + path : “”) + ((domain) ? “; domain=” + domain : “”) + “; expires=Thu, 01-Jan-70 00:00:01 GMT”;

}

function fixDate (date) {

var base = new Date(0);

var skew = base.getTime();

if (skew > 0)

date.setTime(date.getTime() – skew);

}

function rememberMe (f) {

var now = new Date();

fixDate(now);

now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);

setCookie(‘mtcmtauth’, f.author.value, now, ‘/’, HOST, ”);

setCookie(‘mtcmtmail’, f.email.value, now, ‘/’, HOST, ”);

setCookie(‘mtcmthome’, f.url.value, now, ‘/’, HOST, ”);

}

function forgetMe (f) {

deleteCookie(‘mtcmtmail’, ”, HOST);

deleteCookie(‘mtcmthome’, ”, HOST);

deleteCookie(‘mtcmtauth’, ”, HOST);

f.email.value = ”;

f.author.value = ”;

f.url.value = ”;

}

//–>

</script>

<form method=”post” action=”http://home.wangjianshuo.com/cgi-bin/mt/mt-comments.cgi”

name=”comments_form”

onsubmit=”if (this.bakecookie.checked) rememberMe(this); s1=’http://home.wangjia’; s2=’nshuo.com/cgi-bin/mt/mt-’; s3=’comments-ifuleuiycfi.cgi’; this.action = s1+s2+s3;”>

<input_HIDDEN type=”hidden” name=”static” value=”http://home.wangjianshuo.com/scripts/thanksforcomment/thankyou.htm” />

<input type=”hidden” name=”static” value=”1″>

<input type=”hidden” name=”entry_id” value=”<$MTEntryID$>” />

<input type=”hidden” name=”src” value=”home.wangjianshuo.com” />

<input type=”hidden” name=”spammer” value=”goaway” />

<input type=”hidden” name=”spamming” value=”gotohell” />

Name: <br />

<input name=”author” /><br />

Email Address: (will not show)<br />

<input name=”email” /><br />

<input name=”url” /><br />

Comments:<br />

<textarea name=”text” rows=”12″ cols=”60″ style=”width:80%”></textarea><br /><br />

It may take up to <b>30 seconds</b> before the server returns a result. IP address recorded. <br>

<input type=”checkbox” name=”bakecookie” />Remember my information?<br/>

<input type=”checkbox” name=”subscribe” value=”1″ /><label for=”subscribe”>Subscribe to this entry</label><br />

<input type=”submit” name=”post” value=” POST ” style=”font-weight: bold;” onclick=”urchinTracker(‘/go/post_comment’)” /> <– Please click POST only once<br />

<input type=”button” onclick=”forgetMe(this.form)” value=”FORGET PERSONAL INFORMATION” />

</form>

<script type=”text/javascript” language=”javascript”>

<!–

document.comments_form.email.value = getCookie(“mtcmtmail”);

document.comments_form.author.value = getCookie(“mtcmtauth”);

document.comments_form.url.value = getCookie(“mtcmthome”);

//–>

</script>

</MTEntryIfCommentsOpen>

<!– Footer –>

<style>td.bd {border-left:#aaaaaa solid 1px;padding-left:20px;}</style><table bgcolor=”#EAEFF4″ id=”footer” width=”100%”><tr>

<td valign=top><dl><dt>Archives</dt><MTArchiveList archive_type=”Monthly”><dd><a href=”<$MTArchiveLink$>”><$MTArchiveTitle$></a> (<$MTArchiveCount$>)</dd></MTArchiveList></dl></td><td valign=”top” class=”bd”><MTTopLevelCategories><dl><dt>

<$MTCategoryLabel$><MTSubCategories><dd><a href=”<$MTCategoryArchiveLink$>”><$MTCategoryLabel$></a></dd></MTSubCategories></dl></MTTopLevelCategories></td>

<td valign=”top” class=”bd”>

<dl><dt>Related Entries</dt>

<MTSetVarBlock name=”category”><MTEntryCategory></MTSetVarBlock>

<MTEntries category=”$category” lastn=”900″>

<dd><a href=”<MTEntryLink>”><MTEntryTitle></a></dd>

</MTEntries>

</dl>

<dl><dt>Other Languages</a></dt>

<dd><a href=”http://<mt:BlogHost/>/zh-CN/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Chinese</a></dd>

<dd><a href=”http://<mt:BlogHost/>/ja/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Japanese</a></dd>

<dd><a href=”http://<mt:BlogHost/>/fr/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>French</a></dd>

<dd><a href=”http://<mt:BlogHost/>/de/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>German</a></dd>

<dd><a href=”http://<mt:BlogHost/>/it/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Italian</a></dd>

<dd><a href=”http://<mt:BlogHost/>/ko/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Korean</a></dd>

<dd><a href=”http://<mt:BlogHost/>/pt/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Portuguese</a></dd>

<dd><a href=”http://<mt:BlogHost/>/ru/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Russian</a></dd>

<dd><a href=”http://<mt:BlogHost/>/ar/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Arabic</a></dd>

<dd><a href=”http://<mt:BlogHost/>/es/<mt:EntryDate format=”%Y%m%d”>_<mt:EntryTitle dirify=”1″/>.htm”>Spanish</a></dd>

</dl>

<!– SiteSearch Google –><form method=”get” action=”http://www.google.com/custom” target=”_top”><table border=”0″><tr><td nowrap=”nowrap” valign=”top” align=”left” height=”32″><a href=”http://www.google.com/”><img src=”http://www.google.com/logos/Logo_25wht.gif” border=”0″ alt=”Google” align=”middle”></img></a><br/><input type=”hidden” name=”domains” value=”wangjianshuo.com”></input><label for=”sbi” style=”display: none”>Enter your search terms</label><input type=”text” name=”q” size=”24″ maxlength=”255″ value=”" id=”sbi”></input></td></tr><tr><td nowrap=”nowrap”><table><tr><td><input type=”radio” name=”sitesearch” value=”" checked id=”ss0″></input><label for=”ss0″ title=”Search the Web”><font size=”-1″ color=”#000000″>Web</font></label></td><td><input type=”radio” name=”sitesearch” value=”wangjianshuo.com” id=”ss1″></input><label for=”ss1″ title=”Search wangjianshuo.com”><font size=”-1″ color=”#000000″>wangjianshuo.com</font></label></td></tr></table><label for=”sbb” style=”display: none”>Submit search form</label><input type=”submit” name=”sa” value=”Search” id=”sbb”></input><input type=”hidden” name=”client” value=”pub-8513779941474461″></input><input type=”hidden” name=”forid” value=”1″></input><input type=”hidden” name=”ie” value=”ISO-8859-1″></input><input type=”hidden” name=”oe” value=”ISO-8859-1″></input><input type=”hidden” name=”safe” value=”active”></input><input type=”hidden” name=”cof” value=”GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:FFFFFF;ALC:000000;LC:000000;T:0000FF;GFNT:0000FF;GIMP:0000FF;LH:0;LW:0;L:http://home.wangjianshuo.com/archives/2003/04/13/screen-home.wangjianshuo.com-logo.PNG;S:http://home.wangjianshuo.com;FORID:1″></input><input type=”hidden” name=”hl” value=”en”></input></td></tr></table></form><!– SiteSearch Google –></td></tr></table>

<center>© 2001 – 2008 Jian Shuo Wang. All right reserved<a href=http://home.wangjianshuo.com/cgi-bin/mt/mt.cgi?__mode=view&_type=entry&id=<MTEntryID>&blog_id=1&saved_changes=1>.</a> </center>

<script type=”text/javascript” src=”http://home.wangjianshuo.com/archives/2006/07/13/public_javascript.js”></script>

<script src=”http://www.google-analytics.com/urchin.js” type=”text/javascript”>

</script>

<script type=”text/javascript”>

_uacct = “UA-52458-1″;

urchinTracker();

</script>

</body>

</html>

Update May 6, 2009

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml”>

<head>

<title><$MTEntryTitle$></title>

<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />

<link rel=”stylesheet” href=”http://home.wangjianshuo.com/jianshuowangstyle.css” type=”text/css” />

<link rel=”alternate” type=”application/rss+xml” title=”RSS 2.0″ href=”<$MTBlogURL$>index.xml” />

<style>h1 {margin-top:5px;}</style>

</head>

<body>

<script>var t_start = Number(new Date());</script>

<div id=”header”>

<div id=”banner”><a href=”http://home.wangjianshuo.com”>Wangjianshuo’s blog<br />

<span class=”description”>Events (in Shanghai) that affect my life (and others’)</span></a>

</div>

<div id=”globalMenu”><div id=”nav”><ul id=”nav_menu”><li class=”top”><a class=”top” href=”http://home.wangjianshuo.com/”>Home  </a></ul></div></div>

</div>

<table width=100% id=”bread”><tr><td width=”70%”>

<div id=”navigation”><a href=”<$MTBlogURL$>”>Home</a> »

<MTParentCategories glue=” » “><a href=”<$MTCategoryArchiveLink$>”><$MTCategoryLabel$></a></MTParentCategories></div>

</td>

<td align=right nowrap>« <mt:EntryPrevious><a href=”<MTEntryLink>”>prev</a></mt:EntryPrevious> <mt:EntryNext><a href=”<MTEntryLink>”>next</a> »</mt:EntryNext>

</td><td align=right nowrap><form name=g style=”margin:0″ method=”get” action=”http://home.wangjianshuo.com/archives/20060120_search_this_site.htm” target=”_top”><input type=”hidden” name=”domains” value=”home.wangjianshuo.com”></input>

<input type=”text” name=”q” size=”20″ maxlength=”255″ value=”"></input>

<input type=”submit” name=”sa” value=”Search”></input>

<input type=”hidden” name=”sitesearch” value=”home.wangjianshuo.com”></input>

<input type=”hidden” name=”client” value=”pub-8513779941474461″></input>

<input type=”hidden” name=”forid” value=”1″></input>

<input type=”hidden” name=”channel” value=”6801625507″></input>

<input type=”hidden” name=”ie” value=”ISO-8859-1″></input><input type=”hidden” name=”oe” value=”ISO-8859-1″></input><input type=”hidden” name=”safe” value=”active”></input><input type=”hidden” name=”flav” value=”0000″></input><input type=”hidden” name=”sig” value=”NdyQdGFpJnNH_B3d”></input><input type=”hidden” name=”cof” value=”GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:11″></input><input type=”hidden” name=”hl” value=”en”></input></form><script language=”JavaScript”>document.g.q.focus();</script>

</td><tr></table>

<h1><$MTEntryTitle$></h1>

<!– Start of Google AdSense Section –><div id=”AdSenseSquare”><script type=”text/javascript”>var ref = document.referrer.toLowerCase();if (ref.indexOf(‘wangjianshuo.com’) == -1 ) {

document.write(“<IFRAME src=’http://home.wangjianshuo.com/archives/2006/07/13/google_adsense_300x250.htm’ width=350 height=250 frameborder=0 marginwidth=0 marginheight=0 scrolling=0></IFRAME><p> </p>”);

//document.getElementById(“header”).style.display=”none”;

}</script></div>

<mt:include module=”AdSense”/>

<p><$MTEntryBody$></p>

<p>by <a href=”http://home.wangjianshuo.com/archives/20040218_about_jian_shuo_wang.htm”><$MTEntryAuthor$></a>

on <a href=”http://home.wangjianshuo.com/archives/<$MTEntryDate format=”%Y_%m”$>.htm”><$MTEntryDate format=”%B %e”$></a>, <$MTEntryDate format=”%Y”$>

under <mt:EntryCategories><a href=”<$MTCategoryArchiveLink$>”><$MTCategoryLabel$></a></mt:EntryCategories>

<a name=”more”></a><$MTEntryMore$>

<div class=”comments-head”>Do you like this article?</div>

<p id=”welcome”>I wrote an article everyday in the last 7 years with a simple goal: to help people. I will be happy if you share this article to people who may need it.</p>

<ol>

<li><a href=”http://twitter.com/home/?status=Reading @jianshuo%20<$MTEntryTitle encode_url=”1″$>%20<$MTEntryLink$>”>Tweet this post</a></li>

<li>Share this article via Email, Fackebook, Digg or others <!– AddThis Button BEGIN –><script type=”text/javascript”>var addthis_pub=”jianshuo”;</script><a href=”http://www.addthis.com/bookmark.php?v=20″ onmouseover=”return addthis_open(this, ”, ‘[URL]‘, ‘[TITLE]‘)” onmouseout=”addthis_close()” onclick=”return addthis_sendto()”><img src=”http://s7.addthis.com/static/btn/lg-share-en.gif” width=”125″ height=”16″ alt=”Bookmark and Share” style=”border:0″ align=”absmiddle”/></a><script type=”text/javascript” src=”http://s7.addthis.com/js/200/addthis_widget.js”></script><!– AddThis Button END –></li>

<li>Link use this HTML: <input type=”text” size=”40″ onclick=”this.select();” value=”<a href="<$MTEntryLink$>"><$MTEntryTitle encode_html=”1″$></a>”/></li>

<li>Follow <a href=”http://twitter.com/jianshuo”>@jianshuo</a> on Twitter to get new article notification. I write daily (Yes, every day since 2002)</li>

<li><form method=”GET” action=”http://groups.yahoo.com/subscribe/wangjianshuo” target=_blank>

Subscribe to free newsletter <input type=hidden name=”action” value=”subscribe”>

<input type=”text” name=”user” value=”enter email address” onclick=”this.select()” size=”30″ style=”font-family: Verdana”>

<input type=”submit” name=”Submit” value=”Subscribe”> <i>Powered by Yahoo! Groups (<a href=”http://home.wangjianshuo.com/archives/20030508_emails_and_privacy_policies.htm#privacy”>Privacy Policy</a>)</i></form>

<li>Other Languages: <a

href=”http://<mt:BlogHost/>/zh-CN/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Chinese</a> | <a href=”http://<mt:BlogHost/>/ja/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Japanese</a> | <a href=”http://<mt:BlogHost/>/fr/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>French</a> | <a href=”http://<mt:BlogHost/>/de/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>German</a> | <a href=”http://<mt:BlogHost/>/it/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Italian</a> | <a href=”http://<mt:BlogHost/>/ko/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Korean</a> | <a href=”http://<mt:BlogHost/>/pt/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Portuguese</a> | <a href=”http://<mt:BlogHost/>/ru/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Russian</a> | <a href=”http://<mt:BlogHost/>/ar/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Arabic</a> | <a href=”http://<mt:BlogHost/>/es/<mt:EntryDate

format=”%Y%m%d”>_<mt:EntryTitle

dirify=”1″/>.htm”>Spanish</a></li>

</ol>

<div class=”comments-head”>Related Entries: <$MTEntryCategory$></div>

<MTSetVarBlock name=”category”><MTEntryCategory></MTSetVarBlock>

<ol><MTEntries category=”$category” lastn=”9″> <li><a href=”<MTEntryLink>”><MTEntryTitle></a> <i><$MTEntryDate format=”%x”$></i></li> </MTEntries>

</ol>

<div class=”comments-head”>Related Categories</div>

<p><mt:ParentCategories>

<mt:SubCategories>

<a href=”<$MTCategoryArchiveLink$>”><$MTCategoryLabel$></a> (<$MTCategoryCount$>)|

</mt:SubCategories>

</mt:ParentCategories>

</p>

<div class=”comments-head”><a name=”comments”></a>Comments</div> <MTComments> <div class=”comments-body” id=”<$MTCommentDate format=”%I%M”$>”> <a name=”<$MTCommentDate format=”%I%M”$>”></a> <$MTCommentBody$> <span class=”comments-post”>Posted by:

<a href=”http://user.wangjianshuo.com/<$MTCommentAuthor dirify=”-”>.htm”><$MTCommentAuthor$></a>

<MTIfNonEmpty tag=”MTCommentURL”>

(<a href=”<$MTCommentURL$>” rel=”nofollow”>external link</a>)

</MTIfNonEmpty> on <$MTCommentDate$></span>

</div>

</MTComments>

</div>

<MTEntryIfCommentsOpen>

<div class=”comments-head”>Post a comment</div>

<script type=”text/javascript” language=”javascript”>

<!–

var HOST = ‘home.wangjianshuo.com’;

// Copyright (c) 1996-1997 Athenia Associates.

// http://www.webreference.com/js/

// License is granted if and only if this entire

// copyright notice is included. By Tomer Shiran.

function setCookie (name, value, expires, path, domain, secure) {

var curCookie = name + “=” + escape(value) + ((expires) ? “; expires=” + expires.toGMTString() : “”) + ((path) ? “; path=” + path : “”) + ((domain) ? “; domain=” + domain : “”) + ((secure) ? “; secure” : “”);

document.cookie = curCookie;

}

function getCookie (name) {

var prefix = name + ‘=’;

var c = document.cookie;

var nullstring = ”;

var cookieStartIndex = c.indexOf(prefix);

if (cookieStartIndex == -1)

return nullstring;

var cookieEndIndex = c.indexOf(“;”, cookieStartIndex + prefix.length);

if (cookieEndIndex == -1)

cookieEndIndex = c.length;

return unescape(c.substring(cookieStartIndex + prefix.length, cookieEndIndex));

}

function deleteCookie (name, path, domain) {

if (getCookie(name))

document.cookie = name + “=” + ((path) ? “; path=” + path : “”) + ((domain) ? “; domain=” + domain : “”) + “; expires=Thu, 01-Jan-70 00:00:01 GMT”;

}

function fixDate (date) {

var base = new Date(0);

var skew = base.getTime();

if (skew > 0)

date.setTime(date.getTime() – skew);

}

function rememberMe (f) {

var now = new Date();

fixDate(now);

now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);

setCookie(‘mtcmtauth’, f.author.value, now, ‘/’, HOST, ”);

setCookie(‘mtcmtmail’, f.email.value, now, ‘/’, HOST, ”);

setCookie(‘mtcmthome’, f.url.value, now, ‘/’, HOST, ”);

}

function forgetMe (f) {

deleteCookie(‘mtcmtmail’, ”, HOST);

deleteCookie(‘mtcmthome’, ”, HOST);

deleteCookie(‘mtcmtauth’, ”, HOST);

f.email.value = ”;

f.author.value = ”;

f.url.value = ”;

}

//–>

</script>

<form method=”post” action=”http://home.wangjianshuo.com/cgi-bin/mt/mt-comments.cgi”

name=”comments_form”

onsubmit=”if (this.bakecookie.checked) rememberMe(this); s1=’http://home.wangjia’; s2=’nshuo.com/cgi-bin/mt/mt-’; s3=’comments-ifuleuiycfi.cgi’; this.action = s1+s2+s3;”>

<input_HIDDEN type=”hidden” name=”static” value=”http://home.wangjianshuo.com/scripts/thanksforcomment/thankyou.htm” />

<input type=”hidden” name=”static” value=”1″>

<input type=”hidden” name=”entry_id” value=”<$MTEntryID$>” />

<input type=”hidden” name=”src” value=”home.wangjianshuo.com” />

<input type=”hidden” name=”spammer” value=”goaway” />

<input type=”hidden” name=”spamming” value=”gotohell” />

Name: <br />

<input name=”author” /><br />

Email Address: (will not show)<br />

<input name=”email” /><br />

<input name=”url” /><br />

Comments:<br />

<textarea name=”text” rows=”12″ cols=”60″ style=”width:80%”></textarea><br /><br />

It may take up to <b>30 seconds</b> before the server returns a result. IP address recorded. <br>

<input type=”checkbox” name=”bakecookie” />Remember my information?<br/>

<input type=”submit” name=”post” value=” POST ” style=”font-weight: bold;” onclick=”urchinTracker(‘/go/post_comment’)” /> <– Please click POST only once<br />

<input type=”button” onclick=”forgetMe(this.form)” value=”FORGET PERSONAL INFORMATION” />

</form>

<script type=”text/javascript” language=”javascript”>

<!–

document.comments_form.email.value = getCookie(“mtcmtmail”);

document.comments_form.author.value = getCookie(“mtcmtauth”);

document.comments_form.url.value = getCookie(“mtcmthome”);

//–>

</script>

</MTEntryIfCommentsOpen>

<center>© 2001 – 2009 Jian Shuo Wang. All right reserved<a href=http://home.wangjianshuo.com/cgi-bin/mt/mt.cgi?__mode=view&_type=entry&id=<MTEntryID>&blog_id=1&saved_changes=1>.</a> </center>

<script type=”text/javascript” src=”http://home.wangjianshuo.com/archives/2006/07/13/public_javascript.js”></script>

<script type=”text/javascript”>

var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);

document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));

</script>

<script type=”text/javascript”>

try {

var pageTracker = _gat._getTracker(“UA-52458-1″);

pageTracker._trackPageview();

} catch(err) {}</script>

<script type=”text/javascript”>

window.onload = function() {

var t_end = Number(new Date());

var t_duration = t_end – t_start;

var lc1 = Math.floor(t_duration/1000);

var lc2 = Math.floor((t_duration % 1000)/100);

var lc3 = Math.floor((t_duration % 100)/10);

var lc4 = t_duration % 10;

try {

var pageTracker2 = _gat._getTracker(“UA-52458-3″);

pageTracker2._trackPageview(“/speed/” + “/” + lc1 + “/” + lc2 + “/” + lc3 + “/” + lc4);

} catch(err) {}

}

</script>

</body>

</html>

Busy Recently

I am busy recently, and may be slow (or no) response to your comments, or write more “qualified” blog posts. I hope I can get back to it in several days.

If I could change my MSN display name, I may change it to “rumors and rumors”. More and more rumor appears around Kijiji and around me. :-) The price to be a public person is, there is always rumors, and personal attack everywhere. One of the essential skill to survive is, always separate the name in media from yourself, as if they are talking about another person – actually they ARE talking about another person who happen to be with the same name. :-) This kind of seperation is key

40 Minutes for a Taxi at Hongqiao

It took me 90 minutes to fly from Shanghai to Beijing, but it cost more than 40 minutes to walk from the end of the line to the door of a taxi. That is the increasing problem for Hongqiao Airport.

Long Long Lines!

I hesitate to choose Hong Qiao Airport now, especially for the night flights. The public transportation does not really work – there is no metro to Hong Qiao, and there are not many bus route. Taxis seem to be the major transportation for the island of the airport (the airport seems to be an island for me).

Last time I am back from Beijing, I arrived at 9:00 PM, and I waited in the several hundred people line. The line was horrible. When I arrived at the door of a taxi, it was already 9:40 PM. That was almost half way from Shanghai to Beijing.

Improvement? Yes

There WERE some improvement. I observed the management changed lots of approaches on the parking spot to allow more effective pick-up. Now, there are 6 lanes to pick up passengers concurrently. That is much more effective than the 4 lanes in the past, but the demand for taxi increased dramatically. Many flights arrived at the same time, and the airport was like a train station. Hopefully the extension of Shanghai Metro #2 will solve the problem.