Kung Fu Hustle is Great

Stephen Chow’s Kung Fu Hustle or Gong Fu is great. I like the movie. I even went to theatre twice – once in the Super Brand Mall with Chen and Xia, the other time in the theatre in Metro City by myself – since I happen to win one free ticket.

I would recommend people to go to movie to see it. It is better than Shi Mian Mai Fu, better than Hero. It is just funny and I LOL many times in the theatre with others.

screen-kung.fu.hustle.jpg

Image in courtesy of the official website

It is the most interesting movie I saw in 2004.

Its official website is slow, BTW.

P.S. Eric continued to post on the business work. Claire just returned to Shanghai from her trip to Cambodia, and Vietnam. Xiao Gao still kept his very slow pace to post onto his blog while Wendy seems completed stopped.

Picture News of Shanghai 2005

When Spring Festival is near, the city shows some interesting details to me.

Commercial Spring Festival Celebration

The Huang Pi South Road near Xintiandi section was decorated to celebrate the Spring Festival. The Xintiandi group made the celebration banners. It costs some money but it is nothing for so successful real estate company.

shanghai-spring.festival.log-xintiandi.jpg

On New Buildings

The twin towers of the Grand Gateway are approaching the end of construction. Glasses were installed to this new tallest building in Xujiahui. It seems the construction will continue during the holiday and the workers won’t have their holiday this year, as the previous years.

shanghai-grand.gateway-window.jpg

Farmer Workers

The picture below is the farmer workers statue group at the corner of the Shanghai Art Museum. The statue group vividly reveal the expression of the specific group of people in this city. Now, as Spring Festival is near, the majority of them are leaving Shanghai back to their hometown. Construction site starts to lack of workers. Ayi’s price is rising and more often, people cannot find an Ayi (people who comes to your house to do the cleaning work, babysitting, or cooking) recently. Labor-intensive positions like pure water delivery, garbage collection, that were filled by farmer workers are lack of hands. With their leaving, it shows the same appearance as a severe strike.

shanghai-farmer.workder.jpg

Spring Festival can also be called the Farmer Worker’s Days – it is the time for everyone who enjoys the benefit of their hard work to think of them by suffering their short absence.

shanghai-farmer.worker-sitting.jpg

Destroy!

Shanghai continue to pull down old houses near the Xintiandi area to build new residence or entertainment areas there. More and more walls were painted with large red character: 拆 or Destroy in English.

shanghai-destroy-bike.jpg

Farmers in the City

At the Nanjing West Road at the People’s Square, around 9:00 PM, when banks closed its door, farmers from nearby area came to the street to sell their fresh fruit, in the heart of this large metropolitan. She still needs to collect enough money to prepare for the Spring Festival. People passed in a hurry and not many were in the mood to buy fruits at street.

shanghai-farmer-selling.jpg

P.S. Pictures were taken in the previous week. (May not be taken today)

Keep Doing, and Doing, and Doing

“If something is meaningful, go ahead to do it. If time is not the key factor, just keep doing, and doing, and doing… The result is just there.”

This is the experience I got in my last two years and a quarter of blogging. The nights I wrote helped me to form a habit to keep doing something for really long time. :-D

It doesn’t matter how well you are doing today or tomorrow, it does matter if you keep doing something right, for a pretty long time.

He keeps doing, and doing, and doing… When someone gives up, he keeps doing, and… doing, and doing… When many others give up, he still keeps doing, and doing, and doing… Sooner or later, there is a time that someone will notice what he archived. You call it behavior art? You bet it.

I am very happy to share a piece of behavior art I created in a party. I am very excited about it and proud of it.

The Party

I attended a new year party in the Shanghai Science and Technology Museum last Saturday night. It is the site where the APEC meeting leaders took pictures. There were many people there and it was a looo0ng party from 6:00 PM to 10:00 PM. There were many things to do in the first one hour or two – eating, drinking, and chatting. For the rest two hours, to be honest, there were not much to do besides watching the performance on the stage – it was interesting anyway, but I found something more exciting for myself.

The Hall

The party was held in a hallway of the museum. It is the highest hall in the building. Look at the picture below. I wasn’t able to put the roof into the viewfinder. You may have some idea about how high the roof is. Actually, I took the picture at a viaduct that goes across the hall at the second floor. :D

shanghai-stm-hall.jpg

The hall of the party

The Balloons

To add the holiday atmosphere, balloons were placed on each table. They all floated in the air.

The string

There are strings of about half meter long attaching the balloons to the tables. The good thing is, the string was made of plastic and I can break the string in the middle along the string to get two identical strings with equal length but half thick. You can work on any of the resulting string to extend the total length. You got the idea?

The Dream

Since there was nothing to do, why not create something? Why not try something new? I thought of a crazy idea.

IF, I mean if, I kept breaking the string and it will result many strings with identical length. If I connect them, and it will be very long. Does it make sense?

OK. Let me continue. After I had a long enough string, I can put it under the balloons so the balloons can reach the roof.

Everything is so reasonable, isn’t it? Why not have a try?

So I started to do it.

The Work

The work is not that easy. The first problem I had was about the string. It was hard to break it just in the middle. If you start to split, one piece of the string got thicker and thicker while the other one get thinner, so it broke at lengths about 20 cm to 30 cm. I changed the plan and broke one original string into up to three thinner string. To do that, I had to work very, very carefully. Otherwise, it broke faster.

Anyway, I combine the thinner strings into a longer one and kept attaching the smaller piece to the end of the string.

Gradually, the balloons of my table, out of the 40 tables, rose. It rose so slowly that no body noticed that. Even I couldn’t observe its moving in short time period.

Soon all the original strings were used up and I started to find some shorter strings on the table to continue the work. Sometimes a short string that was not longer than a finger was also used. Since after 3 split, it could be significantly long. Some part of the resulting long string was so thin and weak that if you had pulled the string a little bit quicker, the string might break.

The Most Difficult Time

After working on this project for one hour, I still didn’t think anyone noticed what I was doing. The balloon rose higher, but only at about 1/5 of the height of the roof. The worse thing is, all the strings on my table had been used up, including those very short one. Well. Since I started, since there was nothing else that made me so exciting and ambitious, why stop?

Others Noticed and Helped

The good things, at this time, someone would notice what you were doing if the work was getting its shape. Although it was still far away from the goal I set, the balloon on the table was about 4 – 5 times higher than the other tables. This raised interest of people sitting at the same table of me. Wendy, Xiao Gao and Qiang were among them.

They offered help and I welcomed them to join the Balloons Hit the Roof Project. With three more pairs of hands, the work went on much faster. Gao helped to gather strings from other tables while Wendy soon became a experienced string breaker. New longer strings were handed to me continuously and the balloons rose at a faster than any time in the pass hour. That was great!

New Ideas

With the rising of the balloon, we had new ideas. Xiao Gao suggested to attach a small flashing object at the bottom of the balloons so everyone could see the balloons more clearly. It was a great idea and we tried that. The downside of this idea was, the flashing toy was made of steel and had battery in it. It was heavy. To give enough lifting power to float into the sky again, I needed more balloons. A boy around 10 in age joined the project and volunteered to get more balloons for us. I know it was not easy because not many people want to give away the balloons on their table. The little boy finally got it and ran back and forth until he collected 5 more balloons. Cool boy! We finally had a large spacecraft with electronic power attached at the bottom. It was very cool.

New Problems

Balloons reached 3/4 of the height of the roof for the first time

None of us would expect the air above the closed hall like that in Shanghai Science and Technology Museum was circulating. Some times, it went from one direction and later, it went another. The balloon was not directly above our table after it reached about 2/3 of the hall’s height. It either floated this way or the other, causing the string below it to be a 45 degree angle with the horizon line. We obviously need to add more lifting power to fight again it. Otherwise, some one who stood at the viaduct, where my first picture was taken, may be able to touch and destroy our work. :-D The boy helped us to accomplish this again. We also replaced the thinnest part of the old string I made to make sure it didn’t break in the middle.

Finally, We Made It

After another hour and a half, with everyone’s participation and well coordination, the string went long enough and the balloons were powerful enough (to provide enough lifting power). The new version of the balloon craft started its journey. It finally reached the roof! I didn’t need to hold the string and it just floated there at the roof. When I pulled the string, it could come down and return to face of our table. We had several times of “launching” and “withdraw”. It worked like a skate. Everybody involved was happy. In my eyes, they were shining.

This is the final result – the balloons reached the roof with long enough string and enough balloons.

Many People Noticed

Many balloons escaped the string by accident and floated to the top of the roof. You can see those balloons in the previous pictures. People were so surprised to see a huge balloon group with something flashing at the bottom rising from one of the table SLOWLY, like the Sun. They found out the longest string in that hall under the balloons too. I have to say, it was quite impressive for everyone. More and more people noticed it, pointed the balloons to others and talked about it. I was happy that after several days, when I happened to meet an attendant and asked about the balloons, they said: “Oh. Yes. I surelly noticed that. It was among the best performance of that night. We wondered who made it?”…

shanghai-jianshuo-balloon.capitain.jpg

I was certainly very happy with the final result we created together. In the photo, my balloon craft and me. Please note the flashing part at the bottom of the balloons. It is flashing and when looked upward, it was brighter.

Credit

This Balloons Hit the Roof Project was made possible with the following persons: Wendy, Xiao Gao, Qiang, Chen, and the boy (I didn’t know his name). I hope they don’t have trouble for participating this project at a party after I disclose it.

Strings under the balloons. You may notice that it was made of many pieces

The Conclusion

Well. Thanks for reading through the long story. What I really learnt from this exciting project is, no matter how far or near a dream is, you can reach it by keeping doing, and doing, and doing… as long as you manage the risks well, and you are absolutely confident about what you do contributes to the final goal. This is often not as easy to see as “adding strings and the balloons will float higher”, we need also learn to give up when something out of control happens. BTW, I learnt the later from my last incomplete visit to 30N119E.

Featured in That’s Shanghai

I finally got a copy of That’s Shanghai. As Christopher put it, the editor of That’s Shanghai, their copies went away as quick as gold in Shanghai.

screen-thatsshanghai-cover.JPG

Cover of the Jan 2005 issue of That’s Shanghai. The cover story is Siteswapping. Image in courtesy of That’s Shanghai.

The cover story of this issue is called Siteswapping – the infinite links to Virtual Shanghai. Written by Christopher Cottrell, it is an article on how blogs and other English websites are helping foreign people in Shanghai. My blog was featured in this article. I quote part of the article here. Follow the link to read the complete story.

Philippine-born JM couldn’t take it any more. Her new job as manager of an events company was high-pressure personified. But getting to the office and back home – a nerve-racking hour and a half bus ride through Shanghai’s mean streets – left her ragged and worn before the day’s work had even begun. She needed help, and she found it online. At wangjianshuo.com, she clicked on a link that discussed the city’s transport system, which led to a quicker bus route, which in the end cut her commute in half. Another link, to shanghai-ed.com, provided info on the city’s restaurants, which led to another site, which …

Well, you get the idea.

Welcome to virtual Shanghai, where new and long-term residents alike can instantly find information on just about anything. Where one link leads to another in a seemingly infinite series of combinations. Where communities connect.

That such combinations are possible is entirely due to a small and dedicated band of tech-minded wizards. Like Wang Jian Shuo, founder of the eponymous site, wangjianshuo.com, one of the most visited blogs (websites with personal commentary) in Asia.

Originally from Henan, Wang works as a consultant for Microsoft. He launched the site four years ago with a story about the opening of the Pudong International Airport. In a short time the site became Google’s number one hit for searches on the airport. Over the next two years, Wang expanded the site to include in-depth information on Shanghai’s metro, trains, taxis and airports, making it the most reliable source for local transportation advice. Today, the sites averages one million hits each month and has been lauded by BBC, MSNBC and Salon.com. “The original idea,” says Wang, “was to help foreigners understand how to get around Shanghai…the streets can be very chaotic and lifestyle very different from their home countries.”

That idea has grown to include information on everything from finding a room to rent to help wanted ads for fly-fisherman. In addition, the site provides links to personalized Mandarin language sites – wangchen.com; pgao2003.com; Lijia.biz; 9718.net; and run2me.com – and interesting personalities in Shanghai, including Wang, who lists his hand phone number for those who want personal assistance.

Given the sophistication of Wang’s portal and its time-consuming upkeep, one might wonder why he doesn’t seek reward for his hard work by seeking site sponsors or advertising.

“My philosophy is not to make money but to be respected and be considered a good guide…helping other people is my deeper reward and the satisfaction that brings,” says Wang.

To read the full story, visit That’s Shanghai’s website

I’d like to thank Jelly for participation the interview of That’s Shanghai. Thanks Christopher for creating the article. That’s Shanghai is the No. 1 magazine published in English in Shanghai. Other interesting English language magazines are Time Out, Shanghai Talk and CityWeekend. The only one you can read in all Starbucks is CityWeekend though.

Wei renmin fuwu?

At the Website Review section of this issue, John Pasden reviewed Wangjianshuo’s Blog and claimed that “… It’s almost as if he’s being paid by the city to produce the website. Why else would he create an awesome (Chinese only) interactive online map of SHanghai? Why else would he write up detailed descriptions of what you can find outside each subway stop? Wei renmin fuwu (Serve the People) seems to be his credo.” Pretty correct guess on the second part, John! For the first page, I hope the government sponsor me and make the city more accessible for people from outside China.

screen-wangjianshuos.blog-thatsshanghai.JPG

That’s Shanghai reviews Wangjianshuo’s blog

Maglev Extends 2 Hours?

When I drive back from my customer’s site to Xujiahui, I turned to a radio station. I don’t remember the name now. I guess it is the audio channel for Shanghai TV News Program. They mentioned that to handle the large transportation population, the Maglev has extended 2 hours of its operation time. But the news didn’t tell the exact start and ending time.

The only news I can get from Google is this. It didn’t specific the new time yet.

I called 114 and asked for the ticket office telephone number. They played a piece of pre-recorded audio:

Maglev operates from 8:30 – 17:30 at interval of 15 minutes. Call 62556655 for tickets. 50 RMB for single trip. Discount available for passengers with air ticket of the same day….For F1 ticket, call 62558858…

I called the number they gave: 62556655 and heard another piece of pre-recorded message that differs from the one provided by 114.

Maglev leaves Long Yang Road from 8:20 – 17:40 and leaves from Pudong Airport from 8:30 – 17:30 at interval of 20 minutes. Call 62556655 for tickets. 50 RMB for single trip. Discount available for passengers with air ticket of the same day….For F1 ticket, call 62558858…

At 19:00, their ticket office has been closed and no one answer the phone.

So does Maglev really extends their service time? You judge by yourself. If it does, it is a great news. As I mentioned before, for a frequent flyer like me, I will take every oppotunity to take Maglev if it is possible. However, up to now, I was only able to take it once since it started to operate, because my flight either leave around 8:00 – 9:00 AM or later than 5:00 PM.

P.S. Cody complained that the site is boring to read without pictures. Let me try to add some. :D

Got Cold Again

I am feeling terrible today. I got cold yesterday. Today, I felt weak. The temperature of Shanghai changed dramatically these days. It will get colder in the next few days with lowest temperature from 4°C, 0°C, -1°C, to -3°C of next Monday. So my buddies, if you are also in Shanghai, take care and keep warm! Cold or flu in China is not so serious as in U.S. In U.S., flu kills. In China, it is the less impacting illness.

I had three caplets of Tylenol Cold in the last 18 hours already. I hope it will help relief of cold symptoms. When I was in U.S., I was so cautious not to get cold since I had no idea about how hospitals work there. I guess many foreigners do the same in China.

Go to Drug Store for Cure

The easiest way to get medicine in China is go to the drugs store. There are OTC icons on these medicines that you don’t need a doctor’s Rx to buy them. It is definitely the cheapest way to fight against normal diseases if you know which medicine works for you.

Hospital? Oh. No. Thanks. I avoid going to hospital as much as possible. I believe there are problems with the current health care system. The hospitals rely on the medicine reselling as an important revenue source, so the doctors tend to give Rx and ask patients to get the most expensive medicine. They even give more than needed.

Whenever I go to hospital for fever or cold, it is guaranteed that I got the bill of 120 – 200 RMB for normal cold. Before they talk with you, the doctors will ask for blood check first. It is expensive. They gave many types of medicines that serve for more than three days. Do they really think only the combination of all those expensive medicines and three or more days can cure me?

Wendy Does Not Believe in Hospital

Wendy got cold in last October, went to hospital for many times and got injection for two days. One month later, she is just getting worse and worse. She recorded the experience on her blog (First several days, one week later, the worst day). During her illness, I was in Guangzhou. I wrote “Wendy has been ill for some days. She caught cold and didn’t show any sign of recover after the injection. I hope the statues bring some good luck to her. I have my finger crossed for her recovery soon.”

Finally, about one month later, we didn’t believe in those doctors in hospitals any more. We went to a small drug store and asked for more medicines they suggested. The apothecary said: “The medicine is not useful at all. Listen, your lungs have been infected already. Take these.” We didn’t believe in her either, but we finally paid for the cheaper medicine. Two days later, Wendy recovered fully. Later, when we got ill, we’d like to go to the small drug store first.

The Medical Insurance

The good thing is, I can use my Medical Insurance Card 医保卡to pay the bill. It works like a credit card. The difference is, I don’t have to deposit to it. The insurance does. It is the SOCIAL medicine insurance. Meanwhile, with the receipt, I can also reimburse the money from the commercial insurance company.

For those who don’t have either of the insurance, they are in big trouble. In Zhan’s case, he wasn’t able to raise the enough fund to liver transplant, and his insurance didn’t cover that. Wendy and I bought additional commerical insurance before to cover these high-cost diseases. The percentage of people who buy those insurances like us is small but rising these years.

In China, His Pay is Hers to Spend?

Fei forwarded the message from Straits Times Interactive and asked me if it is true.

Jan 25, 2005

In China, his pay is hers to spend

BEIJING – CHINESE women, although not the main bread-winner in most households, have a big say over how the pay cheque is spent in the world’s most dynamic economy, a survey has found.

Nine out of 10 Chinese women who are married or living with a partner claimed in the survey that they have at least an equal say over big purchases such as property and cars.

Although 74 per cent of the respondents said they earned less than their partners, 75 per cent disagreed that whoever holds the money holds the power in the relationship.

Half of them subscribed to the philosophy that ‘my partner’s money is my money, my money is mine’.

These findings were presented by market research company Synovate after polling 314 women aged 15 to 64 in China last month.

It was part of a worldwide study of 4,000 women in nine countries including the United States and Japan on women’s attitudes towards financial issues.

‘Socially, Chinese women would always claim that their men held final sway over big purchases – it’s part of giving ‘face’ to the man – but it’s a different story at home,’ said Mr Larry Wu, director of Synovate’s China office.

The Chinese respondents answered differently than women in Japan, where marriage often means the end of financial independence. \– AGENCE FRANCE-PRESSE

I cannot claim it is the situation in the whole China, but I guess it is pretty much close to the truth in Shanghai. The percentage of the wife controling the family expense in Beijing should be a little bit lower than in Shanghai, I guess.

Chengdu Impression

PC asked for my impression about Chengdu. I’d be happy to share. Before I write about Chengdu, I want to talk about the other important cities in China.

Three Most Important Cities

If you ask people in China about the top three cities in China, you are very likely to get a list like this: Beijing, Shanghai and Guangzhou in the same order.

Beijing = the capital (with huge economic power) of China

Shanghai = municipality directly under the Central Government, the largest city in China

Guangzhou = capital of Guangzhou Guangdong Province, one of the most energetic area in the economy

The Forth Most Important City is Uncertain

If you ask for the forth most important cities, the answers are not as unified as the first three.

Some say Tianjin, which is another important municipality directly under the Central Government; some nominates Dalian, Wuhan; others say Chongqing. The question is not easy to answer.

When I asked Wendy, Suzhou was her immediate answer (note: I was very surprised). Later she added Chongqing and Hangzhou… Later, I understood why Wendy mentioned Suzhou – the recent development of the city impressed her a lot. Many investor from Taiwan and Singapore chose Suzhou as the top place to do business in China.

If you ask me about the standard of the rank, my standard is the “feeling” you have about their overall power – politics, economy, location… everything

Anyway, no matter what people would say, most people may agree that Chengdu is a strong candidate as the answer of the question. Yes. Chengdu is important and Chengdu is the rising star of the country. Located at the southwest part of the country, it is the capital of Sichuan Province, the province with the second largest population. It is an very important entrance for the west part of the country – Tibet area. It is the first stop of most travelers or hikers. I arrived in Chengdu before we entered the wild vast area of Daocheng.

Here is all the four articles I mentioned Chengdu:

Impression of this Time

Located in the bottom of the Sichuan Basin, there is no Sun light most of the year. It is either cloudy or rainy. When I was in Chengdu last week, on Friday, before we left Chengdu, the Sun came out. It is the breaking news. My friends told me: “Hey. The Sun comes out. It means today is holiday. We don’t need to go to work.” I thouht he was kidding. I was totally wrong. They went to drink tea in the Sun that afternoon. When my car past a large square in Chengdu, I saw the entire square was occupied by chairs and tables. I guess there are at least 200 people there, drinking their teas and chat. The pace of people is slow. Everything indicates it was a holiday. :D

There are very nice mountains and rivers near Chengdu. Check these pictures by my friend Maphis. They were taken at Jiuzaigou near Chengdu. Below are two of my favorite pictures.

Chengdu preserves the Chinese tradition better than most other cities. There are historical buildings and temples there. The paces of people are slow and the life is easy. During my talk, most of them care about the quality of life instead of the money they get. Well. Let me try to explain this. I mean they’d rather sit in the Sun and chat for days instead of rushing to the marketplace and work harder to get more money. The current minute seems to be more important than the future minutes. It seemed to the typical Chinese culture – the passion for the peace of mind is more important than the financial benefits.

What I don’t like Chengdu is, it is far from Shanghai. I can arrive in Beijing from Shanghai for 50 minutes, Guangzhou for one hour and a half, but for Chengdu, it takes 2 and half hours. If it was nearer, I guess I will visit Chengdu very frequently.

BlueZone’s Xinjiang Impression

Eric sent me a link early morning to ask me check a photo website on Xinjiang. The pictures are very good – I especially love the photos in Shanghai which reveals exactly the feeling I have on Shanghai. The story is quite long, as Eric “complained”, and I didn’t go into the Xinjiang scene part yet. If the author want to provide a thumbnail view, it would be very nice.

In Xinjiang, there are scenes like this. China has a diversed culture: The

Bar, the cups, the musical instrument, the people, the road, the house, the field… It is all so different.

BlueZone, very nice job!

I planned the Kanas trip but still cannot fullfil the plan. Eric and Dan went there with very nice pictures. Now, I feel my passion to go to the wild and far areas is not as strong as before. Why?

Chun Lian Started to Appear

The Spring Festival of 2005 is coming! I started to see Chun Lian in my client’s office and in the restaurant I visited today. Chun Lian can be translated into New Year’s Couplet. It is one of the most obvious parts of the Spring Festival celebration.

I hope the Chinese tradition continue to come back to families in China. I like it. I am obviously more happen to see the Spring Festival decoration than those for Christmas. I don’t mean to offense Christmas, but for people in China, Chun Lian has much tigher culture connection with people here In the previous years, people seem to celebrate Christmas more seriously than the New Year’s Day (Jan 1).

I like the city of Chengdu very much because the Chinese traditions are preserved much better than other cities. Regarding the folk tradition, it seems to be that it is even better than Beijing. There are even newly built pure traditional houses developed by modern real estate companies. It is very impressive.

I decide to celebrate the Spring Festival with the Chinese tradition and take the Spring Festival of 2005 more seriously than ever. I believe that returning to the tradition is part of the way to cure the ethical problem.

On Ethic

To be part of the current society is not easy, if you still bear ethic in mind. Because it is not easy, the easiest way to handle the conflicts is to forget about ethic. Astonishing, isn’t it?

Check about Bozzetoo’s Yes & No and see how to obey the traffic rules in Italy. I don’t mean to offense people in Italy. I like this flash because it is exactly how traffic works in Shanghai.

I tried to stop at STOP signs, but the cars behind me may hit me, because no one stops and no one would expect a car before them to stop when there are no cars passing by.

When I yield for pedestrians, drivers behind me horn crazily and flash their lights.

I talked about it before. Recently, I was filled out with courage to do the right thing, according to ethic conduct, no matter what others do. It has been very painful in the last few days. I am so sad that people in this city has been so rude and show no sympathy to others, who is also part of the members in the city. Why there are no smiles on people’s face when they meet? If Shanghai is moving toward to be a city like New York, I hope at least people should not be as faceless as in New York, if you still think Shanghai is a little bit better than Wall Street now.

I fell in big trouble these days and I kept thinking and thinking everyday about ethic stuff. Do we still respect people telling the truth? Do we still respect people who take other’s benefit, and the general public’s benefit as a factor to consider to make choices? The ethical level of the society has reached to a new level these years, despite of the rocket-rising economic development in some specific cities. I am not surprised of anything terrible in the news at all – we have got used to it.

“Ethic? Hahaha. Ethic! Do you still believe in ethic?” These are the responses on this topic…

I am confused and feeling bad. The question is in my brain these days even after I fell asleep…

Seoul Changes Chinese Name

The city of Seuol changed its Chinese name from Hancheng 汉城 to Shouer 首尔. It is interesting to me. Personally, I don’t think the new name looks nicer than the previous one. Maybe it is because I didn’t get used to it yet. Meawhile, I think it is their own choice and everyone should respect their choices. People in China also has the right to call it either Hancheng or Shou’er, depending on how it is more comfortable for them. Anyway, I don’t understand the real reason behind the name change – why?

Rainy Crazy Friday Night in Shanghai

Mao and I met today and we wanted to go to Starbucks and chat. The large Starbucks store at Metro City was full of people, and there were no seats. We went to another coffee shop inside Metro City and there are only two seats at the door. We didn’t like it because many people passed by the table and it seemed we were drinking coffee at the platform of Metro Station. We went to Chatea in Metro City, a Taiwanese tea house. It was fully packed of people. Anyway, we finally settled down. People are competing with each other to get a seat in cafe shop. When we left, more than 10 persons were lining up to wait for those inside to finish their tea or dinner quicker so they can get in.

Outside the Metro City, at the exit 10 o Metro Xujiahui Station, Mao couldn’t find a taxi. It is impossible to hire a taxi during the two rush hours in Shanghai. Empty taxis are rarer when it rains, like today. Finally, Mao has to take bus although he well affords taxi expense.

I called Wendy to have dinner with Jin and Peng. Wendy asked me to go to the restaurant one stop away to occupy a table for them first. I argued that there are thousands of restaurants in Shanghai and why I need to go to this specific restaurant. “Just because we can book there?”. Wendy confirmed my guess. She told me it had been the first restaurant that offered four seats when she booked. She had failed on other five. It turned out Wendy was right again. I happened to step into the wrong restaurant on the opposite of the Hua Shan Road, and they said “Sorry. We are full tonight.” to me. Well, well. No matter good or bad, expensive or cheap, as long as it offers something to eat, it is full on Friday night.

On Friday night, Shanghai seems to be a city with too much demands and too few resources.

Disclaimer: Please note that this is my limited observation in Xujiahui area – the most crowded regions in Shanghai. I hope I didn’t mislead you and help you form an impression that everywhere in Shanghai is the same; or every city in China is the same or it is more wrong to claim it is the general life in China. I have to put a disclaimer anywhere when I can think of. Otherwise, I may be challenged to describe only a small part of life in China. It is true, that I am only one person and I can only experience a very small sample of the world at a time.

P.S. Claire, one of the most-frequent-travellers I know, arrived in Saigon. BTW, where is Saigon? In which country? I know I can easily find out the answer by typing it Google, or even select it and right click and choose Google Search (after I installed the Google Toolbar), I want to record my first impression here. How poor is my geographic knowledge? And how about you?

Spring Festival in 2005

The Chinese New Year, Spring Festival, starts from Feb 9 to Feb 15, 2005. There will be a long vacation for people in China. Here is how this works:

  • Feb 9, Feb 10, and Feb 11 are public holiday.
  • Feb 12 and Feb 13 are Saturday and Sunday.
  • Feb 14 (Mon) and Feb 15 (Tue) are not holiday, but exchange with the weekend of Feb 5 (Sat) and Feb 6 (Sun).

That means, in exchange of the continuous holiday, people need to work 9 days continuously from Jan 31 (Mon) to Feb 8 (Tue). This is very similar to the arrangement of the last year. My friend in New York heard people in China have much more holidays than they do in New York. It is not true.

My Spring Festival of 2005

Wendy and I will stay in Shanghai this year. This is the second year we stayed in Shanghai. (2004)

To return home for family reunion is the tradition of China. No matter where you are and no matter how poor you are, you have to appear at the New Year Eve dinner table. This was THE rule for many centuries. Meanwhile, the estimated 1.79 billion person * trip will stress test the railway, airlines, and long distance bus business. To travel at during this time is not a good idea.

There are hot debates on whether the national wide railway should raise their price by about 20%. The “pro-” side says the price is made by the market instead of government. The “anti-” side says it is rubbery to raise the price of something people have no other choices. I haven’t decided which side to support yet.

Stay Instead of Fight

After fighting for a ticket back home and back to Shanghai for 8 years (1996 – 2003), we decided to stay in Shanghai and invite our parents to Shanghai before or during the Spring Festival for reunion. They have more flexibility of travel time. Every time I returned home in Henan Province, I suffered a lot. I had to get up as early as 4:00 AM exactly 7 days before the departure date (when the ticket hit the market) and to line up before the ticket office. It opened at 8:00 AM. Standing in the cold winter for at least 4 hours, a ticket is still not garenteed. I got “sorry” more often than “yes”.

The Most Memorable Trip Back to Luoyang

I still remember the Spring Festival of 2002. I couldn’t get a train ticket anyway and I finally chose to fly to Zhengzhou, the capital of Henan Province and take bus to Luoyang. There are about 1 and a half hour’s bus ride between the cities.

After delaying at the Hong Qiao Airport for 6 hours (Yes. I Expect the Flight Delay), we finally left Shanghai around 6:00 PM of the Lunar New Year Eve. I had no hope to get back home that night. There should be no bus or taxi when we arrived at Zhengzhou Airport around 9:00 PM. With the strong reunion tradition, who will work in the New Year’s Eve? It turned out to be a quite good guess.

Then I thought of the idea to try something special. “How about gathering some people with same destination and hiring a bus (if we were lucky) at Zheng Zhou airport?” I was sure I was not the only person facing the problem. I asked the flight attendant to broadcast on the flight and asked for all passengers who want to transit to Luoyang to come to me. Unexpectedly, about 20 persons signed up quickly. I asked everyone to hand in 50 RMB and contacted a bus driver in Zhengzhou and offered 1000 RMB for the trip – it is much higher than their normal price. BTW, I got the driver’s phone by calling my friends in Shanghai to Google “Bus Zhengzhou” to get the mobile numbers. Haha. It worked!

The rest of the story was simple – we waited for the bus and took it to Luoyang. I was the person in charge and sent almost everyone to their door. When I arrived my home in Luoyang as the last passenger, my family was welcoming me at the door – it was about 11:30 PM of the New Year’s Eve. Thank God! I finally showed up at the dinner table. To be home for Spring Festival was well worth the trouble.

BTW, the other passengers were so kind that they asked me to keep my part of the bus fee for the organizing work. They said it is much better than spending hundreds of Yuan in a hotel in Zhengzhou, on the New Year’s Eve.

Daily Build Script Sample

These days, I still get query about my article 7 steps of daily build process I posted at the end of 2002. I have not posted to devmanclub.com for a long time. I feel guilty that lots of people are asking for the daily build script I mentioned. I’d like to post the article I wrote two years ago here and share with my readers who are interested in development management processes.

Seven steps of build and release process

1. The builder (part of development team) is primarily responsible for managing the build release.

2. A build is made after the check-in deadline. Typically build will be made at mid-night.

3. The builder creates a share point on a well-known server for releasing the builds. The share point to be used will be \\servername\builds [1]

4. Under this share point, each build is released. The process of release would be a copy of all the relevant binaries, files and necessary setup scripts from the build machine to a corresponding directory under the share point. The build release directories would be named as the build number. \\servername\builds\buildnumber.[2]

5. The most recent build will always be mapped to the release point of \\servername\builds\current [3]. This enables easy location of the current release and also helps in the development of automated scripts by the development and testing community to install the most current build on their test machines etc.

6. At any time, the last 20 will be kept on the build release server. As new builds are released, the old ones falling outside this range will be archived.

7. All key milestone builds will be kept on the release machines until the product is released. The release directories would be appropriately named. For example, \\servername\builds\beta1 would contain the Beta1 of the application.

================================================================================

[1] This is a typical file share. Right click a folder in Windows Explorer and select Share…

[2] The folder will be created by build script.

[3] You can archive this using DFS (Distributed File System) that comes with Windows 2000

作者:王建硕

声明:本脚本及注释仅代表个人观点,不代表任何组织或公司。

它以”现状”提供且没有任何担保,同时也没有授予任何权利

Author: Jian Shuo Wang

Disclaimer: This scripts and comments only represent personal opinion and do not represent any organization or company. This post is provided as-is with no warranties and confers no rights.

整体上讲,这个编译脚本做了几件事情:

拿到最新的版本

通过更改配置文件把版本号加到DLL中

编译

把结果拷贝到发布服务器中指定编译版本号的目录中

Basically, the build script did the following things:

Get the latest version of the source code

Add the version number into the DLL by modifying the configuration files

Build

Copy the build result to the folder for the specified build on the release server

我尝试加入中文注解,并补充行号,以便引用

I added Chinese comment (and English translation) and line numbers, for sake of easy reference

1 @REM ===============================================================================

2 @REM Build script

3 @REM Author: Jian Shuo Wang

4 @REM Created: 12:04 PM 3/12/2002

5 @REM Modified:

6 @REM 1.1 SD Label added at 12:04 PM 3/12/2002

7 @REM 1.2 Fix the bug to delete .css file from release server

8 @REM 1.3 Add version numbers to both DLLs and web page

9 @REM 1.4 Added facade server and moved all webclient

10 @REM to web folder.

11 @REM 1.5 Fixed bug 258 [Build] Build script doesn’t provide label description

12 @REM 1.6 Reorged the folder and added WinUI to builds]

13 @REM 1.7 Add build number to all EXEs and DLLs

14 @REM 1.8 Depress prompt by echo D to web.config.

15 @REM

16 @REM

17 @REM ===============================================================================

18

编译脚本的变化有可能产生编译结果的变化或产生新的Bug,编译脚本也可能产生Bug,所以编译脚本的也要有版本号

Changes of build script may affect the compile result or cause new bug. There may be bugs in the build script itself. So we need to give a version to the build script.

19 @SET BuildScriptVersion=1.8

20

21 @REM ===============================================================================

22 @REM Usage:

23 @REM copybuilds.bat

24 @REM is the revision number. In case you need

25 @REM to create a build with revision number other

26 @REM then 0, you can use

27 @REM copybuilds.bat 1

28 @REM to create builds like 2295.1

29 @REM ===============================================================================

30

建议Build号的格式:

a.b.cccc.d, 如2.0.2533.0

a – 主版本号

b – 副版本号

cccc – 每日编译号

d – 更新号

主副版本号在一个产品大的发布之前不变,每日编译号每天加一 (注意,开始值不一定为1,建议为一个随机的4位数,这样保证它的位数一直是4位,方便引用。

Suggested Build Number Format:

a.b.cccc.d, eg: 2.0.2533.0

a – Major Build Number

b – Minor Build Number

cccc – Daily Build Number

d – Revision number

每日编译脚本每天自动运行,不过有时当出现Build break (自动运行/编译失败),或BVT测试没有通过, 可能会临时产生新的版本,这很少见,但一旦发生,可以手动运行编译脚本,并指派更新号。如果一天有多个build, 他们会有不同的更新号,比如 2.0.2533.1, 2.0.2533.2….

Daily build runs daily automatically. However, when Build Break (auto run/build failure) happens, or BVT (Build Verification Test) does not pass, it is possible to create some temporary new build. This is rare. But when it does happen, we can run the build script manually and assign a new revision number. If there are more than one build on the same day, they have different revision number, for example, 2.0.2533.1, 2.0.2533.2….

31 @SET BuildRev=0

32

33 @REM ===============================================================================

34 @REM This script is extended to be used on sha-jswang-02 exclusively

35 @REM ===============================================================================

36

37 @REM ===============================================================================

38 @REM Define variables

39 @REM ===============================================================================

40

定义一些变量,因为编译脚本基本上只会在编译服务器上运行,所以很多东西直接写到Code里了。编译服务器可以使团队中配置最差的机器,或利用率最低的机器,最好保证没有人在上面编程,否则不小心更改了设置就会产生Build环境改变,就可能会改变最终的编译结果。

Define some variables. Since the daily build script generally only runs on the build machine, we can hard code a lot of places into the script. It is OK to use the most poorly configured machine in the team, or a computer with lowest utilization. It is important that nobody develops on it. Otherwise, the developer may change the configuration that causes Build environment change, so to change the final result of the daily build.

41 @PATH=c:\program files\Microsoft Visual Studio .NET\Common7\IDE;%PATH%;

42 @SET SCRIPTROOT=C:\WebRaid

43 @SET SDROOT=C:\webraid\workplace

44

45 @SET SLNROOT=C:\webraid\workplace\src\RAID

46 @SET WEBUIROOT=C:\webraid\workplace\src\RAID\RAID_WEBUI

47 @SET WINUIROOTDEBUG=C:\webraid\workplace\src\RAID\WinUI\bin\Debug

48 @SET WINUIROOTRELEASE=C:\webraid\workplace\src\RAID\WinUI\bin\Release

49 @SET RELEASESERVER=\\sha-calvin\WebRAID\builds\

50 @SET WINUIROOTRELEASE=C:\webraid\workplace\src\RAID\WinUI\bin\Release

51 @SET BUILDREPORT=%SCRIPTROOT%\BuildReport.txt

52

53 @REM ===============================================================================

54 @REM Database related variables

55 @REM ===============================================================================

56

57 @SET MASTER_DB_SERVER=steven02

58 @SET MASTER_DB_SA=sa

59 @SET MASTER_DB_PASSWORD=123

60 @SET BCPCMD=-U”%MASTER_DB_SA%” -P”%MASTER_DB_PASSWORD%” -S “%MASTER_DB_SERVER%”

61

62 @REM ===============================================================================

63 @REM Generate build numbers, SD Labels.

64 @REM ===============================================================================

65

66 @CSCRIPT //NoLogo %SCRIPTROOT%\GenBuildNo.vbs > %SCRIPTROOT%\SetBuildNo.bat

67 @CALL %SCRIPTROOT%\SetBuildNo.Bat

68

69 @SET SDLABEL=build%BuildNo%

70 @SET BuildName=%BuildNo%

71

72 @REM ===============================================================================

73 @REM Check whether is is parameter for this script

74 @REM ===============================================================================

就在这里加更新号

Add build revision number here.

75

76 @If A%1A==AA goto :Continue

77 @SET BUILDRev=%1

78 @SET SDLABEL=build%BuildNo%.%BuildRev%

79 @SET BuildName=%BuildNo%.%BuildRev%

80 :Continue

81

82

准备编译报告。编译报告要存放到该Build所在的目录,以便以后了解Build时的情况

Prepare compile report. Compile report should be saved into the folder of the build, so you know the situation when the build was created.

83

84 @ECHO ===============================================================================

85 @ECHO P E C K E R B U I L D S C R I P T V %BuildScriptVersion%

86 @ECHO ===============================================================================

87 @ECHO.

88 @ECHO Build Number: %BuildName%

89 @ECHO.

90

91 @REM ===============================================================================

92 @REM BUILD REPORT

93 @REM ===============================================================================

94

95 @ECHO ======================================== > %BuildReport%

96 @ECHO Build Report for Build %BuildName% >> %BuildReport%

97 @ECHO Build Script Version: %BuildScriptVersion% >> %BUILDREPORT%

98 @ECHO Builder: Jian Shuo Wang (jswang) >> %BUILDREPORT%

99 @ECHO Start Build: >> %BUILDREPORT%

100 @Date /T >> %SCRIPTROOT%\buildreport.txt

101 @TIME /T >> %SCRIPTROOT%\buildreport.txt

102

103 @REM ===============================================================================

104 @REM Get the latest source

105 @REM ===============================================================================

106

107 @C:

108 @CD %SDROOT%

109

我的这个例子中用的是自己的一个工具,VSS有自己的命令行参数

I am using our own tool in this sample. Visual SourceSafe has its own command line parameter.

110

111 @ECHO ===============================================================================

112 @ECHO Retrieving source code from SD Server

113 @ECHO ===============================================================================

114 @ECHO Please wait …

115

116 SD sync -f src… > NUL

117 @ECHO.

118

建立Label,就是把产生这个版本的所有文件的当前版本记录下来,一旦以后某天需要恢复到这个版本,只需把代码同步到这个标签就可以了,然后我们就能保证从源代码树中编译出来任何制定的版本。

Create Label, which is a record of all the version numbers of the used files that generates this build, in case one day, we need to restore this build from the source code. We can do a label synchronization to make sure we can build out the certain build from the source code tree.

119 @REM ===============================================================================

120 @REM Create label

121 @REM ===============================================================================

122

123 @REM Create Labels

124 @ECHO OFF

125 @ECHO Label: %SDLABEL% >%WEBUIROOT%\Temp.txt

126 @ECHO Owner: FAREAST\jswang >>%WEBUIROOT%\Temp.txt

127 @ECHO Description: >>%WEBUIROOT%\Temp.txt

128 @ECHO Build Number %BuildName% >>%WEBUIROOT%\Temp.txt

129 @ECHO Options: unlocked >>%WEBUIROOT%\Temp.txt

130 @ECHO View: >>%WEBUIROOT%\Temp.txt

131 @ECHO //depot/… >>%WEBUIROOT%\Temp.txt

132

133 Type %WEBUIROOT%\Temp.txt | SD label -i

134

135 @ECHO ===============================================================================

136 @ECHO Synchronizing label

137 @ECHO ===============================================================================

138 @ECHO Please wait …

139

140 SD labelsync -l %SDLABEL%

141

142 DEL %WEBUIROOT%\Temp.txt

143

144

正式开始编译。 我会产生一个release版,一个Debug版

Finally, starts to compile. I will generate a RELEASE version a DEBUG version.

145

146

147

148

149

150

151 @REM ===============================================================================

152 @REM Begin to build

153 @REM ===============================================================================

154

155 @REM ===============================================================================

156 @REM Change the version number for DLLs

157 @REM ===============================================================================

158

159 @ECHO ===============================================================================

160 @ECHO Adding build number to DLLs

161 @ECHO ===============================================================================

162

163 Call %SCRIPTROOT%\AddBuildNumber.bat %SLNROOT%\SystemFrameworks\AssemblyInfo.cs

164 Call %SCRIPTROOT%\AddBuildNumber.Bat %SLNROOT%\Common\AssemblyInfo.cs

165 Call %SCRIPTROOT%\AddBuildNumber.Bat %SLNROOT%\DataAccess\AssemblyInfo.cs

166 Call %SCRIPTROOT%\AddBuildNumber.Bat %SLNROOT%\RAID_WebUI\AssemblyInfo.cs

167 Call %SCRIPTROOT%\AddBuildNumber.Bat %SLNROOT%\BusinessFacade\AssemblyInfo.cs

168 Call %SCRIPTROOT%\AddBuildNumber.Bat %SLNROOT%\WindowsControl\AssemblyInfo.cs

169 Call %SCRIPTROOT%\AddBuildNumber.Bat %SLNROOT%\WinUI\AssemblyInfo.cs

170

171

172 @REM ===============================================================================

173 @REM Add Version Number to Default.aspx

174 @REM ===============================================================================

175

176 Attrib -R %WEBUIROOT%\Default.aspx

177 Type %SCRIPTROOT%\VersionSpanStart.txt >> %WEBUIROOT%\Default.aspx

178 @ECHO Build %BuildName% >> %WEBUIROOT%\Default.aspx

179 Type %SCRIPTROOT%\VersionSpanEnd.txt >> %WEBUIROOT%\Default.aspx

180

181 @REM ===============================================================================

182 @REM Build debug version

183 @REM ===============================================================================

184

185 @ECHO ===============================================================================

186 @ECHO Begin to Build Debug Version %BuildName%

187 @ECHO ===============================================================================

188 @ECHO It may take 1-2 minutes. Please wait …

189

190 DEVENV %SLNROOT%\RAID.SLN /rebuild “debug” >> %BUILDREPORT%

191

192 @ECHO Build completed

193 @ECHO.

194

195 @ECHO ===============================================================================

196 @ECHO Begin to Build Release Version %BuildName%

197 @ECHO ===============================================================================

198 @ECHO It may take 1-2 minutes. Please wait …

199

200 DEVENV %SLNROOT%\RAID.SLN /rebuild “release” >> %BUILDREPORT%

201

202 @ECHO Build completed

203 @ECHO.

204

205

206 @ECHO ===============================================================================

207 @ECHO Begin to Build Release Version of WindowsControl %BuildName%

208 @ECHO ===============================================================================

209 @ECHO It may take 1-2 minutes. Please wait …

210

211 DEVENV %SDROOT%\src\WindowsControl.T\WindowsControl.sln /rebuild “release” >> %BUILDREPORT%

212

213 @ECHO Build completed

214 @ECHO.

215

把开发现状的数据库结构Dump成SQL语句, 以便安装程序可以完整的复原开发现状

Dump the existing database structure into SQL scripts, so that setup program can restore the database

216

217 @REM ===============================================================================

218 @REM D A T A B A S E S E T U P

219 @REM

220 @REM The following script is provide by Jian Wu. It uses bcp tool to get all the

221 @REM data in the SQL Database and put it in files with .db.txt extension.

222 @REM ===============================================================================

223

224 @ECHO ===============================================================================

225 @ECHO Dumping databases

226 @ECHO ===============================================================================

227

228 bcp “GTECRAID.dbo.Alias” out “%SCRIPTROOT%\Alias.db.txt” -c %BCPCMD%

229 bcp “GTECRAID.dbo.BugStore” out “%SCRIPTROOT%\BugStore.db.txt” -c %BCPCMD%

230 bcp “GTECRAID.dbo.FldItems” out “%SCRIPTROOT%\FldItems.db.txt” -c %BCPCMD%

231 bcp “GTECRAID.dbo.Flds” out “%SCRIPTROOT%\Flds.db.txt” -c %BCPCMD%

232 bcp “GTECRAID.dbo.Links” out “%SCRIPTROOT%\Links.db.txt” -c %BCPCMD%

233 bcp “GTECRAID.dbo.LinkTokens” out “%SCRIPTROOT%\LinkTokens.db.txt” -c %BCPCMD%

234 bcp “GTECRAID.dbo.NotificationRules” out “%SCRIPTROOT%\NotificationRules.db.txt” -c %BCPCMD%

235 bcp “GTECRAID.dbo.StaticWebPart” out “%SCRIPTROOT%\StaticWebPart.db.txt” -c %BCPCMD%

236 bcp “GTECRAID.dbo.Tabs” out “%SCRIPTROOT%\Tabs.db.txt” -c %BCPCMD%

237 bcp “GTECRAID.dbo.TabWebParts” out “%SCRIPTROOT%\TabWebParts.db.txt” -c %BCPCMD%

238 bcp “GTECRAID.dbo.[User]” out “%SCRIPTROOT%\User.db.txt” -c %BCPCMD%

239 bcp “GTECRAID.dbo.UserAlias” out “%SCRIPTROOT%\UserAlias.db.txt” -c %BCPCMD%

240 bcp “GTECRAID.dbo.UserQueryStore” out “%SCRIPTROOT%\UserQueryStore.db.txt” -c %BCPCMD%

241 bcp “GTECRAID.dbo.WebParts” out “%SCRIPTROOT%\WebParts.db.txt” -c %BCPCMD%

242

编译完成,开始拷贝编译出来的二进制文件

Compile completed. Start to copy the binary outcome of the compilation

243

244 @REM ===============================================================================

245 @REM Begin to copy files to release server

246 @REM ===============================================================================

247

248

249 @REM ===============================================================================

250 @REM A T T E N T I O N ON A P P S E R V E R S E T U P

251 @REM

252 @REM The builder moved the file web.config from Pecker_Facade folder to

253 @REM setup folder and rename it to server.web.config during the setup.

254 @REM This helps to reduce the complexity

255 @REM of the code by reducing the number of folder needed. The setup script

256 @REM will re-build the server folder and move the web.config file there.

257 @REM

258 @REM C H A N G E S

259 @REM

260 @REM THE NOTE ABOVE IS NOT LONG VALID. I have setup a new folder named

261 @REM “Sever” in the root folder of the distribution disk that holds all server

262 @REM DLLs and configuration information

263 @REM ===============================================================================

264

265 @ECHO ===============================================================================

266 @ECHO Copying AppServer Debug Version

267 @ECHO ===============================================================================

268

269 ECHO D | XCOPY %WEBUIROOT%\..\PECKER_FACADE\web.config %RELEASESERVER%%BUILDName%\Debug\Server /I /S /Y

270 XCOPY %WEBUIROOT%\bin %RELEASESERVER%%BUILDName%\Debug\Server\Bin /S /Y /I

271

272 @ECHO ===============================================================================

273 @ECHO Copying AppServer Release Version

274 @ECHO ===============================================================================

275

276 ECHO D | XCOPY %WEBUIROOT%\..\PECKER_FACADE\web.config %RELEASESERVER%%BUILDName%\Release\Server /I /S /Y

277 XCOPY %WINUIROOTRELEASE%\*.DLL %RELEASESERVER%%BUILDName%\Release\Server\Bin /S /Y /I

278

279

280 @ECHO ===============================================================================

281 @ECHO Copying Database Data

282 @ECHO ===============================================================================

283

284 XCOPY %SCRIPTROOT%\*.db.txt %RELEASESERVER%%BUILDName%\Debug\Database /S /Y /I

285 XCOPY %SCRIPTROOT%\*.db.txt %RELEASESERVER%%BUILDName%\Release\Database /S /Y /I

286 Del %SCRIPTROOT%\*.db.txt

287

288 XCOPY %WEBUIROOT%\..\PECKER_FACADE\database.sql %RELEASESERVER%%BUILDName%\Release\Database /I /S /Y

289 XCOPY %WEBUIROOT%\..\PECKER_FACADE\database.sql %RELEASESERVER%%BUILDName%\Debug\Database /I /S /Y

290

291 @ECHO ===============================================================================

292 @ECHO Copying WebUI Debug Version

293 @ECHO ===============================================================================

294

295 XCOPY %WEBUIROOT% %RELEASESERVER%%BUILDName%\Debug\Web /S /EXCLUDE:%SCRIPTROOT%\Excludelist.txt /Y /I

296 COPY %WEBUIROOT%\*.css %RELEASESERVER%%BUILDName%\Debug\Web

297

298 @ECHO ======================================== >> %BUILDREPORT%

299 @ECHO Copy WebUI Debug Ends: >> %BUILDREPORT%

300 Date /T >> %BUILDREPORT%

301 TIME /T >> %BUILDREPORT%

302

303 @ECHO ===============================================================================

304 @ECHO Copying WebUI Release Version

305 @ECHO ===============================================================================

306

307 XCOPY %WEBUIROOT% %RELEASESERVER%%BUILDName%\Release\Web /S /EXCLUDE:%SCRIPTROOT%\Excludelist.txt /Y /I

308 COPY %WEBUIROOT%\*.css %RELEASESERVER%%BUILDName%\Release\Web

309

310 @ECHO ======================================== >> %BUILDREPORT%

311 @ECHO Copy WebUI Release Ends: >> %BUILDREPORT%

312 Date /T >> %BUILDREPORT%

313 TIME /T >> %BUILDREPORT%

314

315

316 @ECHO ===============================================================================

317 @ECHO Copying WinUI Debug Version

318 @ECHO ===============================================================================

319

320 XCOPY %WINUIROOTDEBUG% %RELEASESERVER%%BUILDName%\Debug\Win /S /EXCLUDE:%SCRIPTROOT%\Excludelist.txt /Y /I

321 COPY %WINUIROOTDEBUG%\..\..\help\*.chm %RELEASESERVER%%BUILDName%\Debug\Win /Y

322

323 @ECHO ======================================== >> %BUILDREPORT%

324 @ECHO Copy WinUI Debug Ends: >> %BUILDREPORT%

325 Date /T >> %BUILDREPORT%

326 TIME /T >> %BUILDREPORT%

327

328 @ECHO ===============================================================================

329 @ECHO Copying WinUI Release Version

330 @ECHO ===============================================================================

331

332 XCOPY %WINUIROOTRELEASE% %RELEASESERVER%%BUILDName%\Release\Win /S /Y /I

333 XCOPY %WINUIROOTDEBUG%\WinUI.exe.xml %RELEASESERVER%%BUILDName%\Release\Win /I /S /Y

334 COPY %WINUIROOTRELEASE%\..\..\help\*.chm %RELEASESERVER%%BUILDName%\Release\Win /Y

335

336 Copy %SDROOT%\src\WindowsControl.T\bin\Release\WindowsControl.dll %RELEASESERVER%%BUILDName%\Release\Win\WindowsControl.dll /Y

337

338 @ECHO ======================================== >> %BUILDREPORT%

339 @ECHO Copy WinUI Release Ends: >> %BUILDREPORT%

340 Date /T >> %BUILDREPORT%

341 TIME /T >> %BUILDREPORT%

342

343

开发过程中有简易的Setup.bat保证可以在一个崭新的机器上安装最终程序,这保证了测试的起点是一样的

Simple setup.bat to install the compiled build onto a new machine. This ensures the starting point of the test is identical every time you setup.

344

345

346

347 @ECHO ===============================================================================

348 @ECHO Moving the setup.bat script

349 @ECHO ===============================================================================

350

351 Move %RELEASESERVER%%BUILDName%\Debug\Web\Setup.bat %RELEASESERVER%%BUILDName%\Debug

352 Move %RELEASESERVER%%BUILDName%\Release\Web\Setup.bat %RELEASESERVER%%BUILDName%\Release

353

354

355 @ECHO ===============================================================================

356 @ECHO Copy the build report to release server

357 @ECHO ===============================================================================

358

359 Copy %BUILDREPORT% %RELEASESERVER%%BUILDName%

360

大功告成

Mission completed

361

362 @ECHO ===============================================================================

363 @ECHO Build completed successfully

364 @ECHO ===============================================================================

如有任何疑问,欢迎跟贴

Comments are welcome.

王建硕[微软]

本贴子以”现状”提供且没有任何担保,同时也没有授予任何权利

Jian Shuo Wang [Microsoft]

This post is provided as-is with no warranties and confers no rights.

Is the Real Estate Cooling Down? – Part III

Is the Real Estate Cooling Down? – Part II got responses. I posted the following comments to the thread that is already hot. Please forgive me to abuse the right of more control on this blog so I can post at the top of the page while others who holds different oppinion can only argue at the end of the page. :-)

Disclaimer: Don’t treat me as an expert on real estate. I am not. I just copy what I heard from the 91facai.com conference, which I think is reasonable analysis.

After collecting some information, I think it is the time we pay attention to the following factors:

It is true that when all investors withdraw money from real estate market, the bubble will crash. But in a closed economy, people have not many choices other than putting the money into real estate and will continue to put in more money. In LA or HK, people can easily and quickly move the money from one country/region to another. It is not the case in mainland.

If you want to withdraw your money from real estate, tell me, where you put your money? You cannot put it into any investment abroad. Maybe you can, but majority investors cannot. You may not consider putting it to stock market in China – fewer people believe in the stock market in China now. Do you want to put it into investment like REITS? There is no such investment channel in China yet. It seems you only have to put it into bank and enjoy your 2-3% interest.

One day, the foreign investment channel will open to Chinese investors. When it happens, money will flow away as quick as possible and the bubble will crash. Before that, so many people with millions of dollars on hand have no where to invest. That is part of the reason why the real estate price raises so quickly – it is an indicator of the lack of other investment channel.

We do compare from apple to apple. The income v.s. apartment ratio is a key theory foundation for the argument that we should not compare Shanghai and NYC. The annual family income to average house price ratio is around 1:6 worldwide. It is 1:12 in Shanghai. That means, 12 persons working for year can get a house in U.S. (considering two persons with income per family) or 24 persons working for one year can buy a house in Shanghai. It reflects the ratio of the price of labor and the price of resources. Now the price of resources can be traded – all the goods that flows between China and U.S back and forth, so the price is comparable, but the labor price in China is much lower. Which means, it is quite reasonable that if the household income v.s. house raise from current 1:12 to 1:20 or even higher. The secret behind it is, labor is over supplied in big cities like Shanghai and capital is also over supplied (with huge amount of money flow in from around the country) but the construction of real estate properties does not catch the speed. So the price will continue to rise.

I don’t mean the price will continue to raise forever. I agree there is bubble, serious bubble. But who cares. People only care about the bubble before and after it crashes. The most important factor for the bubble to crash is:

More investment channel is open so people have more choices to move the money out of real estate.

The ratio of household annual income v.s. properties price will drop below current 1:12 only when the labor cost of China increase dramatically.

Nice Shanghai Blogger Meetup

It is very nice to attend the Shanghai Blogger Meetup organized by Fons. This meetup is held monthly on every third Wednesday @ 7:00 PM. This time, Trombly kindly hosted us in thier home. I am not sure about whether I should disclose the full name of other participants yet. I had a great time. K and M came from the film industry. They make real films. I am very interested in joining their next film effort and see how a film is created. Matthew and others shared very interesting topics regarding blogging. I would like to recommend other bloggers to join the meetup. It is a very nice place to discuss about interesting stuff.

Kabb in Xintiandi

KABB Bar and Grill is famous. I remember when I first join Michael Conolly’s Shanghaiexpat.com meetup party, it was in KABB in Xintiandi. I called my new friend tonight, and we decide to meet at Xintiandi, he asked: “Where to meet up in Xintiandi? How about KABB?”. He pronounced it as Cab which misled me to imagine it as a meetup in a taxi.

There are two or three places I’d propose to meet besides Starbucks. Starbucks is always the first choice if it is a casual meetup. Beside that, one is the KABB in Xintiandi and the other is the Height at Three on the Bund. Not surpisingly, KABB is full of foreign visitors or expats but seldom do I see local customers. The price on their menu is, of cause, not friendly to local customers. A can of Pepsi is 30 RMB and coffee starts from 45 RMB. But it is rated as a restaurant and bar with reasonable price and good by my foreign friends. You know the gap. Of cause, with the experience in New York, Kabb is the best restaurant with reasonable price – I agree that.

shanghai-kabb-inside.jpg

Image in courtesy of Kabb bar.

KABB is at the north part of Xintiandi. Coming out of Metro Huang Pi South Rd. Station and walk southward along the Huang Pi South Road. When you see the area of Xintiandi, enter at the Huan Pi South Rd. and Tai Cang Rd. entrance, the first bar you see will be Kabb.

Converting RMB to USD?

How to convert Renminbi to USD, Canada dollar or other currency is a FAQ. The simple answer is, it is not easy.

Renminbi is not a free trading currency. That means, you cannot convert between Renminbi and free trading currency like USD freely.

Exchanging for RMB

Now, it is pretty easy to convert free-trading currency like USD into RMB. Just to go to a bank branch and ask for the exchange. Not all bank branches provide this service. At least those in Pudong Airport and Hong Qiao Airport can help you on the conversion. After you get Renminbi, be sure to keep the receipt with you. You will need the receipt to exchange RMB back to USD, or other currency.

Exchanging for USD, CAN, YEN…

If you want to exchange Renminbi for other currency, limitation applies. If you just exchanged it from other currency before, provide the receipt and they can exchange RMB for other currency up to the amount you exchanged that time.

If you just want to exchange, I am not sure about the policy for foreigners. For local resident, there are many regulations. I remember you have to provide a reason for exchange. The most common reason is to visiting other countries. With the passport, valid visa and sometimes flight ticket, you can exchange USD from Renminbi up to 2000 USD. They will stamp on the passport visa page that states: “Foreign currency supplied.” so you cannot use the 2000 USD allowrence twice for the same travel.

For foreign investment to China, there are also some limitation to move the money back since the exchange of currency will be an issue. Other countries does not accept Renminbi yet.

Disclaimer: The information provided may be inaccurate because I am not an expert in this field.

Update April 10, 2008

Look at how RMB is doing in the last few years. When I first know foreign exchange, my memory of USD to RMB is 1 to 8. Today, the exchange rate is as low as 6.9924. The exchange rate changed so quickly in the last few years. Imagine what it means to the industry related to outsourcing in China.