Question:
I have Visual Studio 2005 Standard Edition and SQL Server 2005 Express installed on a Win XP Pro dev machine. (Note: I have previously uninstalled VS 2005 Express on this PC).
I am trying to open sample code from the book "ASP.NET 2.0 Website Programming, Problem - Design - Solution" by Marco Bellinaso. The sample is a complete (and substantial) C# application. I am following the exact directions given in the ReadMe.txt file, but receive the error message:
The application for project 'd:\
The book specifically recommends my application configuration. Do I have some registry settings messed up due to the previous install of VS Express? Other thoughts?
Answer:
You need Visual Studio's Web Deployment Projects
Scott Guthrie's Blog has a good introduction. http://weblogs.asp.net/scottgu/archive/2005/11/06/429723.aspx
For a more detailed explaination see, Using Web Deployment Projects with Visual Studio 2005.
You can also download the project directly at, http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a0e/WebDeploymentSetup.msi
If you need Support for Web Application Projects is now a feature of Visual Studio 2005 Service Pack 1. A separate add-on and update to Visual Studio is no longer needed. If you did install the Web Application Projects Add-on you must first uninstall it before installing Visual Studio Service Pack 1.
Steps for installing support for Web Application Projects:
1. If you have the “Microsoft Visual Studio Web Application Projects” add-on installed, uninstall it.
2. Install Microsoft® Visual Studio® 2005 Team Suite Service Pack 1
If you need the deprecated “Microsoft Visual Studio Web Application Projects” installer you can find it here.
Sunday, December 16, 2007
The application for .wdproj is not installed
Tuesday, November 27, 2007
Great web site for car How-To
here is a couple of video
How to add engine coolant
How to change car battery
here is another place to get user manual for my Alero
Oldsmobile Alero 2002 user manual download
Wednesday, October 31, 2007
Sunday, October 21, 2007
Friday, October 5, 2007
9 Common Buyer Traps for Buying a Home
"A systemized approach to the home buying process can help you steer clear of these common traps, allowing you to not only cut costs, but also secure the home that’s best for you."
No matter which way you look at it, buying a home is a major investment. But for many homebuyers, it can be an even more expensive process than it needs to be since they fall prey to at least a few of the many common and costly mistakes which trap them into either:
- paying too much for the home they want, or
- losing their dream home to another buyer or,
- (worse) buying the wrong home for their needs.
A systemized approach to the home buying process can help you steer clear of these common traps, allowing you to not only cut costs, but also secure the home that’s best for you.
9 Buyer Traps
This important report discusses the 9 most common and costly homebuyer traps, how to identify them, and what you can do to avoid them:
1. Bidding Blind
What price should you offer when you bid on a home? Is the seller’s asking price too high, or does it represent a great deal. If you fail to research the market in order to understand what comparable homes are selling for, making your offer would be like bidding blind. Without this knowledge of market value, you could easily bid too much, or fail to make a competitive offer at all on an excellent value.
2. Buying the Wrong Home
What are you looking for in a home? A simple enough question, but the answer can be quite complex. More often than not, buyers have been swept up in the emotion and excitement of the buying process only to find themselves the owner of a home that is either too big or too small. Maybe they’re stuck with a longer than desired commute to work, or a dozen more fix-ups than they really want to deal with now that the excitement has died down. Take the time upfront to clearly define your wants and needs. Put it in writing and then use it as a yard stick with which to measure every home you look at.
3. Unclear Title
Make sure very early on in the negotiation that you will own your new home free and clear by having a title search completed. The last thing you want to discover when you’re in the back stretch of a transaction is that there are encumbrances on the property such as tax liens, undisclosed owners, easements, leases or the like.
4. Inaccurate Survey
As part of your offer to purchase, make sure you request an updated property survey which clearly marks your boundaries. If the survey is not current, you may find that there are structural changes that are not shown (e.g. additions to the house, a new swimming pool, a neighbor’s new fence which is extending a boundary line, etc.). Be very clear on these issues.
5. Undisclosed Fix-ups
Don’t expect every seller to own up to every physical detail that will need to be attended to. Both you and the seller are out to maximize your investment. Ensure that you conduct a thorough inspection of the home early in the process. Consider hiring an independent inspector to objectively view the home inside and out, and make the final contract contingent upon this inspector’s report. This inspector should be able to give you a report of any item that needs to be fixed with associated, approximate cost.
6. Not Getting Mortgage Pre-approval
Pre-approval is fast, easy and free. When you have a pre-approved mortgage, you can shop for your home with a greater sense of freedom and security, knowing that the money will be there when you find the home of your dreams.
7. Contract Misses
If a seller fails to comply to the letter of the contract by neglecting to attend to some repair issues, or changing the spirit of the agreement in some way, this could delay the final closing and settlement. Agree ahead of time on a dollar amount for an escrow fund to cover items that the seller fails to follow through on. Prepare a list of agreed issues, walk through them, and check them off one by one.
8. Hidden Costs
Make sure you identify and uncover all costs - large and small - far enough ahead of time. When a transaction closes, you will sometimes find fees for this or that sneaking through after the “sub”-total fees such as loan disbursement charges, underwriting fees etc. Understand these in advance by having your lender project total charges for you in writing.
9. Rushing the Closing
Take your time during this critical part of the process, and insist on seeing all paperwork the day before you sign. Make sure this documentation perfectly reflects your understanding of the transaction, and that nothing has been added or subtracted. Is the interest rate right? Is everything covered? If you rush this process on the day of closing, you may run into a last minute snag that you can’t fix without compromising the terms of the deal, the financing, or even the sale itself.
Tuesday, September 18, 2007
Park visiting summary (2004-2007)
2006: wonderland, centreville
2005: east coast (Quebec, Nova scotia, PEI)
2004: sesame place (Philadelphia), safari zoo, wonderland, marineland, centreville
Monday, September 10, 2007
2007 Honda Odyssey
在Roadsport Honda, 很多salesmen都是中国人, 给我们推销的是来自广州的, 感觉不错, 先是带我们去看LX型号的车. 回来以后谈价钱, 开价是33300+1505(freight)+14%tax, 大概总价要接近4万. 很容易就给出37000的价, 老婆还了35000, 砍了一个多小时最后给出36250. 周三取车.
Sunday, August 26, 2007
ASP.NET on Godday.com
- For whatever reason, when try to access default.aspx, browser get XML parsing error. and the root directory is being set to 2.0. then set to 1.1, even worse, I got "Server not available" error. then change back to version 2.0, now the default.aspx can be accessed without any problem. Conclusion: no idea why.
Friday, August 24, 2007
教你如何砍价(新车)
What I am telling you is based on 7 years in the business and personal purchases.
------------------------------...
MSRP = Sticker(includes Dest. Charge)
Invoice = Can be found on Edmunds.com(include options) or kbb.com
Rebates = Vary by local dealership
Holdback (dealer's profit) = see below portion to calculate holdback
Estimate True invoice = Invoice - Rebates - Holdback
tax = ?% x True Invoice
Tags = whatever your states charges (typically $100 - $400)
Low ball offer = True Invoice + tax + tags - $2,000
Target Price = [ (MSRP - Rebate - Low ball offer) ] / 2 + low ball offer (this is basically the formula I use)
TRY TO GET YOUR PRICE AS CLOSE TO THE TARGET PRICE AS POSSIBLE!
------------------------------...
The car business is hurting right now. Dealers are happy with their "holdback". Its the salesman that are starving. STOP NEGOTIATING WITH THE SALESMAN! Its a fact that the average car salesman only sales 8-10 cars per month. Its also a fact that a "flat", the money a salesman is going to make on a new car sales with no profit(invoice) is $50-$100. So do the math thats only $800-$1000 in commission per month. Thats why dealer are always hiring salesman. Its also why salesman are constantly getting fired.
GET THE SALESMAN ON YOUR SIDE! Tell him up front he's not gonna make any money on you, this will be an invoice deal. Tell him you'll slip him a $100 after the deal if you get your price. So when he goes up to the "salesdesk", he's fighting for you. When the salesman comes back to you with numbers on the paper, they call it an "A" sheet. Cross it out with a big "X", flip it over right your number on the back, next to it write "T/T out the door", then underline it. The first number you write should be at least $2000k below invoice. His manager will either send someone over or come his self. This is a good sign it shows that you werent talking to a "closer". He might even write a note, asking where r you getting your numbers. If this happends, write "I was thinking the same thing about you numbers".
Typically his second number will be $2000 above invoice. If it is, you write," Split the difference, with T/T, out the door" They usually will jump at it.
Tips:
DONT BE SCARED TO WALK AWAY.
CONFIDENCE IS KEY.
DONT TEST DRIVE THE VEHICLE FROM THE DEALER YOU ARE BUYING FROM.
DONT DISCUSS CREDIT, FINANCE, INTEREST RATE, ETC BEFORE YOU GET INVOICE PRICING.
(THESE ARE BUYING SIGNALS, THEY WILL SMELL IT LIKE BLOOD TO A SHARK)
DONT LISTEN TO YOUR FRIENDS. EVERYBODY CLAIMS THE GOT A GOOD PRICE. MOST DONT KNOW WHAT INVOICE IS.
DONT ANSWER ANY QUESTIONS DURING NEGOTIATING FOR INVOICE.
(YOU MAY GIVE AWAY A BUYING SIGNAL WITHOUT KNOWING)
SHOPPING DURING THE LATTER PART OF THE MONTH CAN WORK TO YOUR ADAVNTAGE.
(DEALERS HAVE A PROJECTED SALES IN UNITS THEY NEED TO MEET, SO DO BANKS. THEY TYPICALLY WILL WORK BETTER DEALS AT THIS TIME TO MAKE THEIR MONTH)
IF YOU SUBMIT YOUR EMAIL ADDRESS TO A DEALERS WEBSITE LET THEM KNOW "NOT TO CALL YOU, NOT TO NEGOTIATE, YOU WILL ONLY ACCEPT INVOICE W/TAX&TAGS, IF THEY DO CALL YOU, YOU WILL NOT DEAL WITH THEIR DEALERSHIP, IF THE EMAIL YOU ANYTHING OTHER THAN INVOICE, YOU WILL NOT DEAL WITH THEIR DEALERSHIP" THIS IS THE MOST EFFECTIVE WAY TO NEGOTIATE, AS OPPOSE TO IN PERSON.
THEY KNOW IF YOU NEGOTIATING THIS WAY YOU ARE A SERIOUS BUYER.
THEY WANT YOU IN THE DEALERSHIP SO THEY PLAY THE "GAME" WITH YOU. ITS SET UP TO WORK AGAINST YOU. LIKE A CASINO THE HOUSE ALWAYS WINS.
MOST DEALERS HAVE THE "NEGOTIATING" TABLES IN THE MIDDLE OF THE DEALERSHIP OR OPEN OFFICES.
(THIS CREATES A "BUYING FRENZY")
IT HELPS TO HAVE YOUR FINANCING ALREADY DONE BEFORE YOU SHOP FOR THE CAR.
------------------------------...
Calculate Holdback
If a holdback is calculated from the:
Total MSRP: consumers must include the MSRP price of all options before figuring the holdback.
Base MSRP: consumers must figure the holdback before adding desired options.
Total Invoice: consumers must include the invoice price of all options before figuring the holdback.
Base Invoice: consumers must figure the holdback before adding desired options.
Acura 3% of the Base MSRP
Audi No holdback
BMW No holdback
Buick 3% of the Total MSRP
Cadillac 3% of the Total MSRP
Chevrolet 3% of the Total MSRP
Chrysler 3% of the Total MSRP
Dodge 3% of the Total MSRP
Ford 3% of the Total MSRP
GMC 3% of the Total MSRP
Honda 3% of the Base MSRP
HUMMER 3% of the Total MSRP
Hyundai 2% of the Total Invoice
Infiniti 1% of the Base MSRP
Isuzu 3% of the Total MSRP
Jaguar No Holdback
Jeep 3% of the Total MSRP
Kia 3% of the Base Invoice
Land Rover No Holdback
Lexus 2% of the Base MSRP
Lincoln 2% of the Total MSRP
Mazda 2% of the Base MSRP
Mercedes-Benz 3% of the Total MSRP
Mercury 3% of the Total MSRP
MINI No Holdback
Mitsubishi 2% of the Base MSRP
Nissan 2% of the Total Invoice
Pontiac 3% of the Total MSRP
Porsche No Holdback
Saab 2.2% of the Base MSRP
Saturn 3% of the Total MSRP
Scion No Holdback
Subaru 3% of the Total MSRP (Amount may differ in Northeastern U.S.)
Suzuki 3% of the Base MSRP
Toyota 2% of the Base MSRP (Amount may differ in Southern U.S.)
Volkswagen 2% of the Base MSRP
Volvo 1% of the Base MSRP
------------------------------...
EXAMPLE:
2007 Toyota Camry LE auto w/ minimum option needed (from edmunds.com)
MSRP: $20975
Invoice: $18771
Rebate: $0
Holdback: $420 (2% of MSRP)
Tru Inv: $18352
Tax in CA :$1514
Tag: 200 (est.)
Low ball: $18066
Target: [ ( 20975 - 0 - 18066 ) / 2 ] + 18066 = $19520 (out the door price, all fees included)
Source(s):
carbuyingtips.com
Wednesday, August 22, 2007
Godaddy.com MS SQL Server
the following is for MS SQL Server support for godaddy.com as of 2007-08-22
- Can only create SQL 2005 database
- in the query analyzer, it doesn't support '--' style comment, but it does support /* */ style
Tuesday, August 21, 2007
Install DNN on godaddy.com
- This instruction is for DotNetNuke 4.3.7
- try version 4.4.1, I got error during installation even thought I can still access the web site after installation
- try version 4.5.5, Cannot even install this build. from web, somebody complaint similar problem.
Here is the detail procedure for install on godaddy.com server
- .NET Framework 2.0 must be installed
- SQL Server 2000 or 2005, create database 'mydatabase'
- Modify web.config, set the connection string in TWO places, comment "Connection String for SQL Server 2005 Express" part, uncomment "Connection String for SQL Server 2000/2005" part,set correct connection string
- using FTP tools to create new folder "dnn".
- Create virtual folder, go to godaddy.com's control panel, go to "Content"/"Directory Management", click "Create directory", enter name "dnn", set flag "Read"/"Web"/"Browse"/"Write"/"Set Root", then click continue. (wait about half an hour)
- upload everything to "dnn" folder
- browse to "http://www.mydomain/dnn/
- select default "Typical"/"English", hit "Continue"
- click "Test Permissions", then click "Continue"
- click "Next" to start the installation procedure
- make sure you always backup your files/database before upgrading to a new version
- unzip the code over top of your existing application ( using the Overwrite and Use Folder Names options )
- rename release.config -> web.config
- merge any localized settings from your old web.config to the new web.config. These typically include:
- connection strings ( SiteSqlServer )
- machine keys ( validationKey and decryptionKey ) (if not changed, the password of user "host"/"admin" will be change to something unknown)
- objectQualifier - browse to localhost/DotNetNuke in your web browser
- the application will automatically upgrade to version 4.4.1
- same procedure as upgrading from 4.3.7 to 4.4.1
SMTP Server Settings:
- SMTP Server: smtpout.secureserver.net
- SMTP Authentication: Basic
- SMTP Username: xyz@mydomain.com
- SMTP Password: the password
To install 4.5.5 in the local machine is fine, here is how
- the {Server}/NetworkService user account must have Read, Write, and Change Control of the root website directory and subdirectories ( this allows the application to create files/folders )
- the [SERVER]\ASPNET User Account must have Read, Write, and Change Control of the virtual root of your website.
- browse to localhost/DotNetNuke in your web browser
- the application will automatically execute the necessary database scripts and provide feedback in the browser
Reference
Saturday, August 11, 2007
VPN
File Sharing with Microsoft Windows
File Sharing in Windows XP
Windows XP supports three different ways of sharing files:
· The Shared Documents folder
· Simple file sharing
· Advanced file sharing
These three different types are described in the following sections.
Shared Documents Folder
Windows XP Home Edition file sharing is simplified by using a special folder named the Shared Documents folder. This folder is available in My Computer and Windows Explorer. Any file or folder within the Shared Documents folder is automatically shared on the network. You do not have to configure file sharing on separate folders. You only have to either move or copy the file or folder you want to share on the network to the Shared Documents folder.
Simple File Sharing
Windows XP Home Edition supports a file sharing mode known as simple file sharing for folders other than the Shared Documents folder. A computer running Windows XP Professional when it is a member of a workgroup also supports simple file sharing. With simple file sharing, the act of enabling file sharing on a folder and specifying the type of access is simplified to the following choices:
· Whether to enable sharing for the folder
· The name of the share
· Whether to allow network users to change files in the folder
Advanced File Sharing
For a computer running Windows XP Professional (when it is a member of a workgroup), you can optionally disable simple file sharing and enable advanced file sharing, also known as classic file sharing. Advanced file sharing is the file sharing mode used by Windows 2000 and Windows NT 4.0. With advanced file sharing you can specify:
· Whether to enable sharing for the folder
· The share name
· A comment or description for the share
· The maximum number of computers that can connect to the share
· Permissions on the share, which include the list of user or group accounts and their level of access
· Offline folder settings
· If modifying the settings of an existing shared folder, whether to create a new share
If the computer is a member of a workgroup, then only the accounts on the local computer are available. If the computer is a member of a domain, then you can select domain accounts, accounts from domains that are trusted by the domain of the computer, and local computer accounts.
Hybrid cars
A hybrid is a vehicle powered by a combo of gasoline and electricity. The first hybrid introduced in Canada, was the Honda Insight in 2000. Since then we’ve seen the introduction of the Toyota Prius in 2001, the Honda Civic Hybrid in 2002, the Chevrolet Silverado Hybrid and the Ford Escape Hybrid in 2005, to name just a few. Although relatively new to the Canadian market there’s been a lot of buzz about how much these vehicles can save you in gas because of their fuel efficiency. But do savings appear anywhere else, like your insurance rate?
What other costs or savings are there with a hybrid?
Sure, hybrids are marketed as an environmentally-friendly way to save you money when it comes to the cost of gas, but what about other costs? Or better yet, savings? The following is a snapshot of the costs or savings you might find when buying a hybrid.
Insurance
After comparing online quotes at www.kanetix.ca, for the Honda Civic Hybrid, Chevrolet Silverado 1500 Hybrid, Ford Escape Hybrid and the Toyota Camry Hybrid it appears there is no one particular trend when it comes to the insurance rates for hybrids. When compared to their gas-powered alter-egos, the cost to insure a hybrid vehicle was neither consistently higher nor lower across the country.
Hybrids have not been around long—only since 2000. What this means to insurers is they have very little information on hand about the vehicles—like how often they are stolen, how much they cost to repair after an accident, their propensity to be in an accident or the frequency and severity of injuries if in an accident. If you take out a driver’s personal insurance and driving experience, when it comes to calculating the premium for the vehicle itself, insurers are making an educated guess.
This does not necessarily translate into bad news for hybrid consumers. Even though hybrids are still relatively new in the marketplace, a trend south of the border—where insurers are offering insurance discounts for drivers of hybrids usually around 10%—suggests that insurers like the drivers of hybrids as a group and believe they are low-risk. The good news for Canadians is that the idea of insurance discounts for hybrid drivers is getting some attention here as well. Although not yet widespread, drivers of hybrids will likely benefit from more activity by their insurers soon.
Ticket price
While fuel efficiency is certainly a bonus in your pocketbook, it comes at the expense of a slightly more expensive vehicle – anywhere from $5000 to $6350 more for the hybrid models we looked at compared to the non-hybrid version.*
Maintenance
There is a perception that hybrids cost more to maintain. To offset this perception—and to put their money where their mouth is so to speak—some hybrid manufactures offer warranties that extends beyond the basic coverage on their hybrids. Toyota for example, offers an 8-year (or 160,000 km) warranty coverage on their Prius and Highlander hybrid-related components. Warranty aside, it’s also been reported that a hybrid’s regular preventative maintenance costs are comparable to its gas-powered counterpart.
Government incentives
What about incentives from the Federal or Provincial governments to encourage consumers to buy green? On the provincial level, there is good news if you live in British Columbia, Manitoba, Ontario, Quebec or Prince Edward Island. These five provinces are the only ones to offer a tax rebate or credit (depending on the province) varying from $1,000 to $3,000. Federally, in March 2007 the government introduced in their budget, plans to introduce a ‘Vehicle Efficiency Incentive’ that will offer Canadians a rebate of up to $2,000 for the purchase of an eligible new fuel-efficient vehicle.
Looking out for future trends
While hybrids are still in their early days, interest in these vehicles continues to grow. Auto makers are coming out with more hybrids every year and Canadian consumers are buying them. The www.kanetix.ca snapshot of hybrid vehicles show there is also activity afoot among insurers. Recent announcements about insurance discounts for hybrid drivers suggests you’ll likely see more activity, and hopefully more savings, as insurers and the public learn more about hybrids. We’ll keep you posted as changes happen.~
Tuesday, August 7, 2007
Terminal services configuratoin for Win2K
2. Create another account to logon to terminal server: create another user, assign "Administrator" role (the default user role can't be used to logon to terminal server). the default setting for the new user is to "Allow logon to terminal server", so leave as is.
Found a good source for error "Terminal Services Client Error Message: You Do Not Have Access to Logon to This Session"
the following is the detail information:
Terminal Services Client Error Message: You Do Not Have Access to Logon to This Session
View products that this article applies to.
Article ID : 224395
Last Review : February 22, 2007
Revision : 2.3
This article was previously published under Q224395
SYMPTOMS
When you try to log on using the Terminal Services client, you may receive the following error message:
Logon Message: You do not have access to logon to this session.
CAUSE
Terminal Services has a default connection security setting allows only administrators to log on. If the security attributes on a specified connection have not been set, the connection inherits these default security settings. For additional information, please see the following article in the Microsoft Knowledge Base:
225038 (http://support.microsoft.com/kb/225038/EN-US/) Default Connection Changes Are No longer Applied
If the default connection security settings do not meet your needs, you can set custom security attributes.
RESOLUTION
To set custom Terminal Services connection permissions:
1. Click Start, point to Programs, point to Administrative Tools, and then click Terminal Services Configuration.
2. Open the Connections folder.
3. Right-click the connection (RDP-TCP), and then click Properties.
4. On the Permissions tab, add the group(s) that needs access to this connection.
5. Click OK.
STATUS
This behavior is by design.
APPLIES TO
• Microsoft Windows 2000 Server
• Microsoft Windows 2000 Advanced Server
• Microsoft Windows 2000 Datacenter Server
Saturday, July 7, 2007
学游泳
July 16, 2007: 已经学了6节课了, 还不会呼吸气. 常常都是抬头时大呼一口气, 来不及吸气头就下水了. 争取下次改过来.
July 24, 2007: 昨天学完所有的九节课, 终于学会了呼吸气。 要诀是 1. 动作要慢。 2. 在水下要尽量呼出所有的气, 这样头出水时就可以很自然的吸气了。
Tuesday, July 3, 2007
Marineland 2007
Saturday, June 30, 2007
Alero 2002
2007-07-31: drove to Arthur's house and he help me to fix the switches which control the brake light. also, found that all bulbs were broken, so went to Canadian Tire on the way home and bought 1 pairs of 3057 (for the side) and 2 pair of 921 (for the middle) and installed them.
Friday, June 29, 2007
人生寓言
上帝又造了一只猴子,对猴子说:“给你30年寿命,但在这30年里你必须给人耍玩才能获得食物。”猴子一听,心想:30年让人耍玩的感觉实在不好受。于是,它跟上帝说:“给我10年寿命好了。”上帝又同意了。
上帝又再造了一条狗,对狗说:“给你30年寿命,但是在这30年里你必须为你的主人看门。”狗一听,心想:给人看门多无聊,见谁不是摇摇尾巴就是“汪汪”直叫,30年的日子怎过呀!于是,它跟上帝说:“10年的寿命已足够。”上帝照样同意了。
上 帝看着他造出的牛、猴和狗,心中不由一阵悲叹,想:它们一定是受不了劳苦和忍辱而放弃20年寿命的,想到这,他觉得应造一个人来。于是,他造了一个人,对 人说:“给你20年寿命好了,在这20年里你不必有牛的劳碌、猴的忍辱和狗的无聊。”人一听,心想:这是多好的事啊,可惜就只有20年寿命。于是,他跟上 帝说:“能不能再加点寿命?20年太短了。”上帝很不情愿地同意了,对人说:“那就把牛余下的20年寿命、猴的余下的20年寿命和狗余下的20年寿命一并 给你吧!”人听完,很是高兴。
各位看到这,是否有所感悟?
我们从出生到死亡,虽说不一定能活到80岁又或者不止80岁,但在意义上所 要经历的路程都是一样的。上帝开始给人的那20年无忧无虑活着的寿命,这是我们在20岁前有父母依靠的结果。到了要独立自主时,我们不得不转向另一极;每 天忙碌于外在的生活,永远有做不完的事似的。这是我们用了牛的那20年寿命的结果。在不惑之年后,生活已把我们的棱角磨平了,这时,为了生存又不得不跌入 忍辱负重、右脸被打时左脸也迎上去的猴子的那20年寿命。知天命的日子来了,可是这时,生活的狂潮已在心中归于平静,我们就只能迈着蹒跚的脚步,透过门中 的猫眼看看是谁在敲门(也许不一定能看清),不时,还对那个正在院子里手握棍棒比划着的孙子喊着:小心点,别把腰闪着。就这样,狗的寿命也用上了。
人、牛、猴、狗,人生的经历就是这样排列的。先做人,为理想和目标做牛,为生存而做猴,最后,为了让另一些人感觉到自已是人而甘愿做狗。